:root{--bg:#fff;--bg-2:#f7f8fa;--surface:#fff;--surface-2:#f2f3f6;--text:#111418;--text-2:#4b5563;--muted:#6b7280;--border:#e7e9ee;--border-soft:#1114180e;--accent:#2a62d4;--accent-hover:#234fac;--accent-soft:#eaf1fd;--success:#1e8e3e;--success-soft:#e8f4ec;--warning:#b56b00;--warning-soft:#f7efe0;--danger:#cf3b28;--danger-soft:#fceae7;--shadow-sm:0 1px 2px #1018280d;--shadow-md:0 6px 20px -10px #10182824;--shadow-lg:0 24px 56px -28px #141e3c47;--ring:#2a62d429;--radius:11px;--radius-lg:14px;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--display:"Sora", "Inter", sans-serif}[data-theme=dark]{--bg:#0c1116;--bg-2:#0c1116;--surface:#151b22;--surface-2:#1b222b;--text:#f2f4f7;--text-2:#aeb6c1;--muted:#7b8494;--border:#262e38;--border-soft:#ffffff0f;--accent:#5b8df7;--accent-hover:#79a2f9;--accent-soft:#17233c;--success:#35c65a;--success-soft:#14301e;--warning:#e7b93c;--warning-soft:#33290f;--danger:#f2705f;--danger-soft:#331812;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 10px 28px -14px #000000a6;--shadow-lg:0 30px 70px -30px #000000b3;--ring:#5b8df73d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--sans);background:var(--bg-2);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.55;transition:background .3s,color .3s}h1,h2,h3{font-family:var(--display);letter-spacing:-.015em;margin:0 0 12px}h2{font-size:24px;font-weight:700}h3{font-size:15px;font-weight:700}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--ring)}.app{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg);border-right:1px solid var(--border);flex-direction:column;gap:6px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.side-brand{align-items:center;gap:11px;padding:4px 10px 16px;display:flex}.side-logo{object-fit:contain;border-radius:9px;width:34px;height:34px}.side-name{font-family:var(--display);font-size:16px;font-weight:700;line-height:1.1}.side-sub{color:var(--muted);font-size:12px}.side-nav{flex-direction:column;gap:2px;display:flex}.side-nav a{border-radius:var(--radius);color:var(--text-2);align-items:center;gap:11px;padding:10px 12px;font-size:14.5px;font-weight:500;transition:background .15s,color .15s;display:flex}.side-nav a:hover{background:var(--surface-2);color:var(--text)}.side-nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-ico{opacity:.9;flex:none;width:19px;height:19px}.side-foot{border-top:1px solid var(--border-soft);flex-direction:column;gap:2px;margin-top:auto;padding-top:10px;display:flex}.side-action{border-radius:var(--radius);color:var(--text-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.side-action:hover{background:var(--surface-2);color:var(--text)}.side-action.danger:hover{background:var(--danger-soft);color:var(--danger)}.main{min-width:0}.content{max-width:1120px;margin:0 auto;padding:36px 32px 56px}.page{flex-direction:column;gap:20px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:22px;display:flex}.card>h3{color:var(--text);margin-bottom:2px}label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}label.checkbox{color:var(--text-2);flex-direction:row;align-items:center;gap:10px}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:9px 12px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);cursor:pointer}input[type=file]{color:var(--text-2);padding:8px 12px;font-size:13px}textarea{resize:vertical;min-height:88px}.row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.actions .label{color:var(--muted);font-size:13px}.filters{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}button{cursor:pointer;font:inherit}button.primary,.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}[data-theme=dark] button.primary,[data-theme=dark] .btn-primary{color:#0b0f14}button.primary:hover,.btn-primary:hover{background:var(--accent-hover)}button.primary:disabled,.btn-primary:disabled{opacity:.5;cursor:default}.btn-block{width:100%}.linkbtn{color:var(--accent);background:0 0;border:none;border-radius:8px;padding:6px 8px;font-weight:500;transition:background .15s}.linkbtn:hover{background:var(--accent-soft)}.linkbtn.danger{color:var(--danger)}.linkbtn.danger:hover{background:var(--danger-soft)}.error{color:var(--danger);background:var(--danger-soft);border-radius:9px;margin:0;padding:9px 12px;font-size:14px}.muted{color:var(--muted)}.table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--border-soft);padding:11px 16px;font-size:14px}.table th{background:var(--surface-2);color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:12px;font-weight:600}.table tbody tr{transition:background .12s}.table tbody tr:hover td{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:none}.rowactions{gap:8px;display:flex}.table.subs{box-shadow:none;margin-top:4px}.users .split{grid-template-columns:minmax(260px,1fr) 1.5fr;align-items:start;gap:20px;display:grid}.users .table tbody tr{cursor:pointer}.users .table tbody tr.selected td{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}[data-theme=dark] .users .table tbody tr.selected td{color:var(--text)}.detail dl{grid-template-columns:max-content 1fr;gap:8px 18px;margin:0 0 6px;font-size:14px;display:grid}.detail dt{color:var(--muted)}.detail dd{margin:0}.field{margin:2px 0}.stats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:5px;padding:16px 16px 14px;display:flex}.stat-value{font-family:var(--display);letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;font-size:27px;font-weight:700;line-height:1.1}.stat-label{color:var(--muted);font-size:12.5px}.badge{background:var(--surface-2);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.5;display:inline-flex}.badge.ok{background:var(--success-soft);color:var(--success)}.badge.warn{background:var(--warning-soft);color:var(--warning)}.badge.bad{background:var(--danger-soft);color:var(--danger)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.login{place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.login-theme{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text-2);cursor:pointer;border-radius:11px;place-items:center;transition:color .15s,border-color .15s;display:inline-grid;position:absolute;top:22px;right:22px}.login-theme:hover{color:var(--text);border-color:var(--accent)}.login-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:384px;box-shadow:var(--shadow-lg);border-radius:18px;flex-direction:column;gap:14px;padding:38px 32px 28px;display:flex;position:relative}.login-accent{display:none}.login-logo{object-fit:contain;border-radius:13px;width:52px;height:52px;margin:2px auto 4px}.login-title{text-align:center;margin:0;font-size:22px;font-weight:700}.login-sub{text-align:center;color:var(--muted);margin:0 0 8px;font-size:14px}.login-field{gap:8px}.input-wrap{align-items:center;display:flex;position:relative}.input-ico{color:var(--muted);pointer-events:none;position:absolute;left:12px}.input-wrap input{width:100%;padding-left:40px}.login-card .btn-primary{margin-top:4px;padding:11px 16px;font-size:15px}.login-foot{text-align:center;color:var(--muted);margin:6px 0 0;font-size:12.5px}@media (width<=900px){.app{grid-template-columns:1fr}.sidebar{z-index:40;flex-direction:row;align-items:center;gap:6px;height:auto;padding:10px 12px;position:sticky;top:0;overflow-x:auto}.side-brand{padding:4px 8px}.side-sub{display:none}.side-nav{flex-direction:row;gap:4px}.side-nav a span{display:none}.side-nav a{padding:10px}.side-foot{border-top:none;flex-direction:row;margin:0 0 0 auto;padding-top:0}.side-action span{display:none}.content{padding:24px 18px 44px}.users .split{grid-template-columns:1fr}}
