:root{--bg:#09090b;--panel:#111114;--panel2:#18181c;--panel3:#1f1f24;--border:rgba(255,255,255,.07);--border2:rgba(255,255,255,.12);--text:#ececf1;--muted:#8b8b98;--accent:#10a37f;--accent2:#0d8a6b;--danger:#ef4444;--warn:#f59e0b;--blue:#3b82f6;--font:"Inter",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--card:var(--panel);--card2:var(--panel2)}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14px}a{color:var(--accent);text-decoration:none}button{font-family:inherit}button:disabled{opacity:.55;cursor:not-allowed!important}input,select,textarea{font-family:inherit}input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(16,163,127,.15)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:8px}::-webkit-scrollbar-track{background:transparent}.adm{display:flex;min-height:100vh}.adm-side{width:248px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 12px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.adm-brand{gap:10px;padding:6px 10px 22px}.adm-brand,.adm-logo{display:flex;align-items:center}.adm-logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#10a37f,#0b6e56);justify-content:center;box-shadow:0 6px 20px rgba(16,163,127,.35)}.adm-brand b{display:block;font-size:14px;font-weight:700;letter-spacing:-.01em}.adm-brand span{display:block;font-size:11px;color:var(--muted)}.adm-section{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#5f5f6b;padding:10px 12px 6px;font-weight:600}.adm-nav{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:var(--muted);font-size:13.5px;font-weight:500;margin-bottom:2px;transition:background .15s,color .15s}.adm-nav:hover{background:var(--panel2);color:var(--text)}.adm-nav.active{background:rgba(16,163,127,.12);color:#34d399}.adm-nav svg{flex-shrink:0}.adm-foot{margin-top:auto;border-top:1px solid var(--border);padding-top:12px;gap:10px;padding-left:8px}.adm-avatar,.adm-foot{display:flex;align-items:center}.adm-avatar{width:32px;height:32px;border-radius:50%;background:var(--panel3);justify-content:center;font-weight:700;font-size:13px;color:#34d399;border:1px solid var(--border2)}.adm-foot .who{flex:1 1;min-width:0}.adm-foot .who b{display:block;font-size:13px}.adm-foot .who span{display:block;font-size:11px;color:var(--muted)}.adm-icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.adm-icon-btn:hover{color:#f87171;border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.08)}.adm-main{flex:1 1;min-width:0;padding:32px 36px 48px}.adm-main>*{max-width:1400px}.pg-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px}.pg-head h1{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.pg-head p{color:var(--muted);font-size:14px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:14px;gap:14px;margin-bottom:26px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px 20px;position:relative;overflow:hidden}.stat:after{content:"";position:absolute;inset:auto -40px -60px auto;width:140px;height:140px;border-radius:50%;background:var(--glow,rgba(16,163,127,.1));filter:blur(10px)}.stat .lbl{font-size:12px;color:var(--muted);font-weight:500;display:flex;align-items:center;gap:8px;margin-bottom:10px}.stat .val{font-size:30px;font-weight:700;letter-spacing:-.02em}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:auto}.panel-title{padding:16px 20px;font-weight:600;font-size:14.5px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{padding:11px 16px;text-align:left;color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;background:var(--panel2);white-space:nowrap}.tbl td,.tbl th{border-bottom:1px solid var(--border)}.tbl td{padding:14px 16px;vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr:hover td{background:rgba(255,255,255,.015)}.empty{text-align:center;color:var(--muted);padding:36px!important}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.plain:before{display:none}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;border:1px solid transparent;background:var(--accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,transform .05s}.btn:hover{background:var(--accent2)}.btn:active{transform:translateY(1px)}.btn.ghost{background:var(--panel2);border-color:var(--border);color:var(--text)}.btn.ghost:hover{background:var(--panel3)}.btn.sm{padding:6px 11px;font-size:12px;border-radius:8px}.btn.danger{background:rgba(239,68,68,.08);color:#f87171;border-color:rgba(239,68,68,.35)}.btn.danger:hover{background:rgba(239,68,68,.16)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.btn:disabled{opacity:.6;cursor:default}.pg-actions{display:flex;gap:10px;flex-wrap:wrap}.pg-actions,.upd{align-items:center}.upd{display:inline-flex;gap:7px;font-size:12px;color:var(--muted);margin-right:4px}.upd i{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px rgba(16,185,129,.18)}.upd.err i{background:#f87171;box-shadow:0 0 0 3px rgba(239,68,68,.18)}.alerts{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.alert{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:12px;font-size:13px;line-height:1.45;border:1px solid}.alert.danger{color:#fca5a5;background:rgba(239,68,68,.07);border-color:rgba(239,68,68,.28)}.alert.warn{color:#fcd34d;background:rgba(245,158,11,.07);border-color:rgba(245,158,11,.28)}.alert a{margin-left:auto;padding-left:12px;white-space:nowrap;font-weight:600;color:inherit}.alert a:hover{text-decoration:underline}.stats.six{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:18px}.stats.six .val{font-size:27px}.stat .val small{font-size:15px;color:var(--muted);font-weight:600}.stat .sub{position:relative;z-index:1;font-size:12px;color:var(--muted);margin-top:6px;line-height:1.4}.delta{font-weight:600}.delta span{color:var(--muted);font-weight:400}.delta.up{color:#34d399}.delta.down{color:#f87171}.online{display:inline-flex;align-items:center;gap:6px}.online i{width:6px;height:6px;border-radius:50%;background:#34d399}.meter{position:relative;z-index:1;height:5px;background:var(--panel3);overflow:hidden}.meter,.meter>i{border-radius:3px}.meter>i{display:block;height:100%;transition:width .4s}.panel-meta{font-size:12px;font-weight:400;color:var(--muted)}a.panel-meta:hover{color:var(--text)}.dash-row{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);grid-gap:18px;gap:18px;margin-bottom:18px}.dash-row>.panel:first-child{overflow:visible}.chart{padding:26px 20px 14px}.bars{position:relative;display:flex;align-items:stretch;gap:8px;height:190px;border-bottom:1px solid var(--border2)}.grid-max{position:absolute;left:0;right:0;bottom:85%;border-top:1px dashed var(--border);pointer-events:none}.grid-max span{position:absolute;left:0;top:-17px;font-size:10.5px;color:#5f5f6b}.bar-col{flex:1 1;position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.bar-col .b{width:100%;max-width:48px;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px;transition:height .4s,filter .15s}.bar-col:hover .b{filter:brightness(1.2)}.bar-col .lv{font-size:12px;font-weight:600;margin-bottom:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bar-col .tip{position:absolute;left:50%;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;gap:2px;padding:8px 11px;white-space:nowrap;font-size:12px;color:var(--muted);background:var(--panel3);border:1px solid var(--border2);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .12s}.bar-col .tip b{color:var(--text);font-weight:600;text-transform:capitalize}.bar-col.first .tip{left:0;transform:none}.bar-col.last .tip{left:auto;right:0;transform:none}.bar-col:hover .tip{opacity:1}.bar-x{display:flex;gap:8px;margin-top:8px}.bar-x span{flex:1 1;text-align:center;font-size:11.5px;color:var(--muted);text-transform:capitalize}.bar-x em{display:block;font-style:normal;font-size:10.5px;color:#5f5f6b}.bar-x span.today{color:var(--text);font-weight:600}.chart-empty{margin:auto;color:var(--muted);font-size:13px}.rank{list-style:none;padding:6px 0 8px}.rank li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;grid-column-gap:10px;column-gap:10px;grid-row-gap:6px;row-gap:6px;align-items:center;padding:9px 20px}.rank .n{color:#5f5f6b;font-size:12px;font-weight:600}.rank .nm{display:flex;align-items:center;gap:8px;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden}.rank .ct{font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rank .ct small{color:var(--muted);font-weight:400;font-size:11.5px}.rank .meter{grid-column:2/4;height:4px}.cell-sub{font-size:11.5px;color:var(--muted);margin-top:5px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-row span:last-child{color:var(--muted)}.due-filters{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.due-filter{text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,transform .05s}.due-filter:hover{border-color:var(--border2)}.due-filter.on{border-color:var(--tone);box-shadow:0 0 0 1px var(--tone) inset}.due-filter .val{font-size:27px}.link-btn{background:none;border:none;padding:0;color:#60a5fa;font:inherit;font-size:12px;cursor:pointer}.link-btn:hover{text-decoration:underline}.renew-title{padding:6px 10px 7px;margin-bottom:3px;font-size:12px;font-weight:700;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.renew-menu{position:fixed;z-index:9999;display:flex;flex-direction:column;width:150px;padding:5px;background:#17171c;border:1px solid var(--border2);border-radius:10px;box-shadow:0 16px 40px rgba(0,0,0,.55)}.renew-menu button{text-align:left;padding:8px 10px;background:none;border:none;border-radius:7px;color:var(--text);font:inherit;font-size:13px;cursor:pointer}.renew-menu button:hover{background:var(--panel3)}.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:rgba(245,158,11,.16);color:#fbbf24;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}@media (max-width:1000px){.due-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.due-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1280px){.stats.six{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1000px){.dash-row{grid-template-columns:1fr}}@media (max-width:640px){.stats.six{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats.six .stat{padding:14px}.stats.six .val{font-size:22px}.bar-x,.bars{gap:4px}.bar-x em{display:none}}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(900px 500px at 50% -10%,rgba(16,163,127,.18),transparent 60%),var(--bg)}.login-card{width:380px;max-width:100%;background:rgba(17,17,20,.85);border:1px solid var(--border2);border-radius:20px;padding:34px 30px 28px;box-shadow:0 30px 80px rgba(0,0,0,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-card .adm-logo{width:48px;height:48px;border-radius:14px;margin:0 auto 18px}.login-card h1{text-align:center;font-size:22px;font-weight:700;letter-spacing:-.02em}.login-card p.sub{text-align:center;color:var(--muted);font-size:13.5px;margin:6px 0 24px}.field{margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-bottom:6px}.field input{padding:0 14px;background:var(--panel2);border:1px solid var(--border2);border-radius:11px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.field input,.login-card .btn{width:100%;height:44px;font-size:14px}.login-card .btn{justify-content:center;margin-top:6px}.login-err{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.3);color:#f87171;font-size:13px;padding:10px 12px;border-radius:10px;margin-bottom:14px}.login-foot{text-align:center;color:#5f5f6b;font-size:11.5px;margin-top:18px}@media (max-width:860px){.adm{flex-direction:column}.adm-side{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px}.adm-brand{padding:4px 10px}.adm-section{display:none}.adm-foot{margin:0 0 0 auto;border:none;padding:0}.adm-foot .who{display:none}.adm-main{padding:22px 16px}}