:root{--bg: #0d0f12;--surface: #161a20;--border: #2a313c;--text: #e8eaed;--muted: #8b949e;--accent: #3dff8a;--accent-dim: #1a5c32;--danger: #f87171;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{padding-bottom:env(safe-area-inset-bottom,0)}a{color:var(--accent)}#root{min-height:100vh}.app-shell{max-width:28rem;margin:0 auto;padding:1rem 1.1rem 2rem}h1{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .35rem}.sub{color:var(--muted);font-size:.9rem;margin:0 0 1.25rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem;margin-bottom:.75rem}label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.35rem}input{width:100%;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:1rem}input:focus{outline:none;border-color:var(--accent-dim);box-shadow:0 0 0 3px #3dff8a1f}button,.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.75rem 1rem;border:none;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;background:linear-gradient(135deg,#3dff8a,#1ec96a);color:#041208;text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.err{color:var(--danger);font-size:.88rem;margin:.5rem 0 0}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.stat{padding:.65rem .75rem;border-radius:10px;background:var(--bg);border:1px solid var(--border)}.stat .v{font-size:1.15rem;font-weight:700}.stat .k{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.nav-bottom{position:fixed;bottom:0;left:0;right:0;display:flex;gap:0;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0)}.nav-bottom a{flex:1;text-align:center;padding:.75rem;font-size:.8rem;color:var(--muted);text-decoration:none}.nav-bottom a.active{color:var(--accent);font-weight:600}.nav-bottom--admin a{font-size:.72rem;padding:.65rem .35rem}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.admin-tabs button{flex:1;width:auto;padding:.55rem .5rem;font-size:.85rem;background:var(--surface);color:var(--muted);border:1px solid var(--border)}.admin-tabs button.active{color:var(--accent);border-color:var(--accent-dim);background:#3dff8a14}.admin-user-card{font-size:.88rem;margin-bottom:.65rem}.admin-user-card .row{display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center;margin-top:.5rem}.admin-user-card .badge{font-size:.68rem;padding:.15rem .45rem;border-radius:6px;background:var(--bg);border:1px solid var(--border);color:var(--muted)}.admin-user-card .badge.on{color:var(--accent);border-color:var(--accent-dim)}.admin-user-card button.row-btn{width:auto;flex:1;min-width:5.5rem;padding:.45rem .5rem;font-size:.78rem}.admin-list-plain{list-style:none;margin:0;padding:0}.admin-list-plain li{padding:.55rem 0;border-bottom:1px solid var(--border);font-size:.88rem}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:1rem}.admin-modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1rem;width:100%;max-width:24rem;max-height:85vh;overflow:auto}.admin-modal h2{font-size:1.05rem;margin:0 0 .75rem}.admin-modal select{width:100%;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:1rem;margin-bottom:.75rem}.logo{font-weight:800;letter-spacing:.04em;font-size:.85rem;color:var(--accent);margin-bottom:.25rem}
