:root{--bg:#10141c;--surface:#171c26;--surface-2:#202836;--border:#2e3747;--ink:#f3f5f8;--ink-muted:#a9b3c4;--accent:#5b8def;--on-accent:#0b111c;--accent-warn:#e0a63b;--accent-danger:#ff6b5c;--accent-good:#4fc08d;--radius-sm:8px;--radius-md:12px}:root[data-theme=light]{--bg:#f4f6fa;--surface:#fff;--surface-2:#ecf0f7;--border:#d7deea;--ink:#131a26;--ink-muted:#566073;--accent:#2657c2;--on-accent:#fff;--accent-warn:#8a5a08;--accent-danger:#b3261e;--accent-good:#146c48}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root{flex-direction:column;min-height:100vh;display:flex}.app-main{-webkit-overflow-scrolling:touch;flex:1;padding:12px 14px 96px;overflow-y:auto}.app-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:20;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex;position:sticky;top:0}.app-header-main{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.app-header-main>div{min-width:0}.app-mark{color:var(--accent);flex-shrink:0;font-size:1.3rem;line-height:1}.app-title{font-size:.98rem;font-weight:700}.app-subtitle{color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.role-pill{background:var(--surface-2);border:1px solid var(--border);color:var(--ink);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:.72rem;font-weight:600}.theme-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex-shrink:0;width:36px;height:36px;font-size:1rem}.bottom-nav{border-top:1px solid var(--border);background:var(--surface);z-index:20;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-btn{color:var(--ink-muted);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 4px 14px;font-size:.68rem;display:flex}.nav-btn.active{color:var(--accent)}.nav-icon{font-size:1.1rem}.btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);padding:10px 14px;font-size:.85rem;font-weight:600}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.danger{border-color:var(--accent-danger);color:var(--accent-danger);background:0 0}.btn.danger.active{background:var(--accent-danger);color:#fff}.btn.ghost{background:0 0;border-color:#0000}.btn:disabled{opacity:.4}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);width:100%;padding:9px 10px;font-size:.9rem}.field-row{gap:8px;margin-bottom:10px;display:flex}.field-row>input,.field-row>select{flex:1;min-width:0;margin-bottom:0}.checkbox-field{flex:1;align-items:center;gap:6px;font-size:.85rem;display:flex}.checkbox-field input{width:auto}.error-text{color:var(--accent-danger);font-size:.85rem}.page-head{margin:14px 0}.page-head h2{margin:0 0 4px}.page-head p{color:var(--ink-muted);margin:0;font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:12px;padding:14px}.card h3{margin:0 0 8px;font-size:.95rem}.admin-card{border-left:3px solid var(--accent-warn)}.data-table{border-collapse:collapse;width:100%;font-size:.88rem}.data-table td{border-bottom:1px solid var(--border);padding:6px 0}.data-table td.num{text-align:right;color:var(--ink-muted)}.data-table .total-row td{color:var(--ink);border-bottom:none;font-weight:700}.edit-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:10px;overflow:hidden}.edit-group-head{width:100%;color:var(--ink);background:0 0;border:none;justify-content:space-between;align-items:center;padding:12px 14px;font-weight:600;display:flex}.edit-group-meta{color:var(--ink-muted);font-size:.85rem;font-weight:400}.edit-group-body{border-top:1px solid var(--border);padding:4px 14px 16px}.edit-row-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);margin:12px 0;padding:12px}.log-entry-meta{color:var(--ink-muted);justify-content:space-between;gap:8px;margin-bottom:6px;font-size:.75rem;display:flex}.log-entry-kind{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.log-entry-note{margin:4px 0;font-size:.9rem}.log-entry-actions{gap:8px;margin-top:8px;display:flex}.admin-gate{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.gate-card{text-align:center;width:100%;max-width:360px}.gate-card form{gap:8px;margin:12px 0;display:flex}.kill-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.kill-card{text-align:center;max-width:360px}.brand-badge.large{color:var(--accent);font-size:2.4rem}.app-footer{text-align:center;margin-top:24px;padding-top:16px}.footer-n3u-wrap{flex-direction:column;align-items:center;gap:4px;display:inline-flex}.footer-n3u{color:var(--ink-muted);align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.n3u-logo{width:auto;height:16px}.footer-tagline{color:var(--ink-muted);font-size:.68rem}@media (width<=380px){.field-row{flex-wrap:wrap}}
