:root{ --bg:#0b1220; --card:#111827; --text:#f9fafb; --muted:#9ca3af; --accent:#34d399; --warn:#fbbf24; --danger:#f87171; }
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{ margin:0; background:var(--bg); color:var(--text); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Hiragino Kaku Gothic ProN','Hiragino Sans','Noto Sans JP',sans-serif; }
.container{ max-width:640px; margin:0 auto; padding:24px; }
.header{ text-align:center; margin: 8px 0 16px; }
.header h1{ margin:0 0 4px; font-size: clamp(20px, 4vw, 28px); }
.header .sub{ margin:0; color:var(--muted); font-size: 14px; }
.card{ background:var(--card); border:1px solid rgba(255,255,255,.06); border-radius:14px; padding:16px; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.status-line{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.badge{ display:inline-flex; align-items:center; gap:8px; font-weight:700; padding:6px 10px; border-radius:999px; background:#374151; }
.badge.open{ background: rgba(52,211,153,.2); color:#a7f3d0; }
.badge.full{ background: rgba(248,113,113,.2); color:#fecaca; }
.badge.closed{ background: rgba(156,163,175,.2); color:#e5e7eb; }
.updated{ color:var(--muted); font-size:12px; }
.count{ display:flex; align-items:baseline; justify-content:center; gap:8px; font-size: clamp(28px, 8vw, 42px); margin:12px 0; }
.count.big{ font-size: clamp(32px, 10vw, 56px); }
.slash{ color:var(--muted); }
.progress{ height:14px; border-radius:999px; background:#1f2937; overflow:hidden; border:1px solid rgba(255,255,255,.08); }
.bar{ height:100%; background:linear-gradient(90deg, #34d399, #10b981); transition:width .2s ease; }
.bar.warn{ background:linear-gradient(90deg, #fbbf24, #f59e0b); }
.bar.danger{ background:linear-gradient(90deg, #f87171, #ef4444); }
.message{ text-align:center; color:#e5e7eb; margin:12px 0 0; }
.footer{ color:var(--muted); text-align:center; margin-top:16px; font-size:12px; }

.admin .form-row{ display:flex; flex-direction:column; gap:6px; margin:8px 0; }
.admin input[type="email"], .admin input[type="password"], .admin input[type="number"]{ width:100%; padding:10px 12px; border-radius:10px; border:1px solid rgba(255,255,255,.1); background:#0b1020; color:var(--text); }
.buttons{ display:flex; gap:12px; margin-top:8px; }
.btn{ appearance:none; border:none; background:#374151; color:#fff; padding:10px 14px; border-radius:10px; cursor:pointer; font-weight:600; }
.btn.primary{ background:#10b981; color:#0b1220; }
.btn.circle{ width:52px; height:52px; border-radius:999px; font-size:22px; }
.btn:disabled{ opacity:.6; cursor:not-allowed; }
.hidden{ display:none; }
.grid{ display:grid; grid-template-columns:1fr; gap:12px; margin:12px 0; }
.switch{ display:flex; align-items:center; gap:10px; }
@media (min-width:560px){ .grid{ grid-template-columns:1fr 1fr; } }
