:root{color-scheme:dark;--bg:#0c111b;--panel:#131b29;--line:#253043;--text:#e9edf5;--muted:#93a0b5;--accent:#53d8b1;--danger:#ff939f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{touch-action:manipulation}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#101722;border-right:1px solid var(--line);padding:32px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:21px;letter-spacing:-.7px}.brand b{font-weight:400;color:#abb7cc}.brand small{display:block;font-size:9px;font-weight:600;letter-spacing:2px;color:#76869e;margin-top:2px}.brand-icon{display:grid;place-items:center;border:1px solid #448b78;border-radius:11px;background:#183c35;color:#8beaca;width:42px;height:42px;font-size:25px;font-weight:800}.nav-label,.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:#8393ad}.nav-label{margin:58px 13px 15px}nav a{display:flex;gap:13px;padding:12px 15px;border-radius:8px;color:var(--muted);margin:5px 0}nav a span{font-size:19px;line-height:20px}nav a.selected{background:#1d3332;color:#91efd0;border:1px solid #295148}nav a:hover{background:#1c2636}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:22px;display:flex;gap:10px;align-items:center}.sidebar-bottom b{font-size:12px}.sidebar-bottom small{display:block;color:var(--muted);font-size:10px}.sidebar-bottom form{margin-left:auto}.avatar{border-radius:50%;background:#29364b;width:32px;height:32px;display:grid;place-items:center}.icon-button{background:none;border:0;color:var(--muted);font-size:23px;cursor:pointer}.main{margin-left:238px;padding:42px 48px;max-width:1660px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:15px}h1{margin:7px 0;font-weight:650;font-size:32px;letter-spacing:-1px}h2{font-size:16px;font-weight:600;margin:0 0 10px}.page-intro{color:var(--muted);margin:0 0 32px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:#202b3c;border:1px solid #344156;border-radius:7px;padding:10px 16px;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.button:hover{filter:brightness(1.15)}.button.primary{background:var(--accent);border-color:var(--accent);color:#09261e}.button.small{padding:5px 10px;font-size:11px}.button.danger{color:var(--danger);border-color:#754451;background:#2b1e2b}.full{width:100%}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0}.stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px 23px}.stat>span{color:#aab6ca;font-size:12px}.stat strong{display:block;font-size:35px;font-weight:600;margin:8px 0 1px;letter-spacing:-1px}.stat small{font-size:10px;color:#7d8da6}.panel{background:var(--panel);border:1px solid var(--line);border-radius:11px;margin:23px 0;overflow:hidden}.panel-head{padding:22px 24px 8px;display:flex;justify-content:space-between;align-items:center}.panel-head h2{display:flex;align-items:center;gap:10px}.count{border:1px solid #354258;padding:0 7px;border-radius:5px;font-size:10px;color:#9daec6}.filters{display:flex;gap:12px;padding:13px 24px 23px}.filters input{flex:1;min-width:100px}.filters select{width:160px}input,select,textarea{display:block;background:#0e1622;border:1px solid #344157;border-radius:6px;padding:10px 12px;color:var(--text);width:100%}input:focus,select:focus,textarea:focus{border-color:#52b79e;outline:2px solid #21473e}input::placeholder,textarea::placeholder{color:#62728a}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7f90aa;background:#111927;padding:12px 22px;font-weight:600}td{padding:17px 22px;border-top:1px solid #222d40;font-size:12px}tbody tr:hover{background:#172232}.row-title{font-weight:600}.row-title:hover,.table-action:hover{color:var(--accent)}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.3px}.subline{display:block;margin-top:4px;font-size:10px}.muted{color:var(--muted)}.badge{border-radius:20px;padding:4px 9px;font-size:10px;font-weight:600;display:inline-flex;align-items:center;gap:5px;border:1px solid #3e4b62;background:#263245;color:#bdc8dc}.badge:before{content:"";height:5px;width:5px;background:currentColor;border-radius:50%}.badge.active{background:#17382e;border-color:#2c5d4a;color:#83dfb7}.badge.pending{background:#30311c;border-color:#5a5632;color:#e2cb7d}.badge.expired,.badge.revoked{background:#35212a;border-color:#5f3447;color:#ee9caa}.badge.disabled{background:#252c3b;color:#96a1b5}.table-action{font-size:11px;color:#a4b5cf}.panel-footer{display:flex;justify-content:space-between;padding:16px 24px;color:#71839e;font-size:10px;border-top:1px solid var(--line)}.panel-footer div{display:flex;gap:8px}.empty{text-align:center;padding:55px 25px;color:var(--muted)}.empty strong{color:#c5cfdf;font-size:15px}.empty p{margin:8px 0 20px}.form-panel{padding:26px}.form-panel>h2{margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.form-grid .wide{grid-column:1/-1}label{display:block;font-size:12px;font-weight:600;color:#becbdd;margin-bottom:20px}label input,label select,label textarea{margin-top:8px;font-weight:400}label small{display:block;color:#7d8fa9;font-size:11px;font-weight:400;margin-top:7px}.form-grid label{margin:0}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:25px;margin-top:25px;border-top:1px solid var(--line)}.checkbox{display:flex;gap:10px;align-items:center}.checkbox input{width:16px;height:16px;margin:0}.detail-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:24px}.detail-grid>.panel{margin-top:0}.detail-grid>div>.panel:first-child{margin-top:0}.key-panel{display:flex;gap:20px;align-items:center;padding:23px 26px}.key-panel>.badge{margin-left:auto}.key-value{font-size:18px;margin-top:8px;overflow-wrap:anywhere}.meta-line{font-size:10px;color:#7a8ca7;border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.notice{padding:13px 17px;border:1px solid #3e6357;background:#17372b;border-radius:8px;color:#a7e7cc;margin:20px 0}.notice.error{background:#38232c;border-color:#6e3c50;color:#ffc1cc}.success-panel{border-color:#315e4d;padding:0 23px 23px}.success-panel .panel-head{padding-left:0}.generated-keys>div{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0;padding:12px;background:#101c22;border-radius:6px}.generated-keys a{overflow-wrap:anywhere}.site-footer{margin-top:35px;color:#677b97;font-size:10px;display:flex;justify-content:space-between;gap:10px}.narrow{max-width:600px}.login-main{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(ellipse at 50% 0,#142c32 0,transparent 55%)}.login-card{width:100%;max-width:425px;background:#121c2a;border:1px solid #2b3a4f;border-radius:17px;padding:38px;box-shadow:0 20px 80px #0004}.login-brand{margin-bottom:40px}.login-card h1{font-size:30px;margin:8px 0}.login-card .muted{font-size:12px;margin-bottom:28px}.login-card label{margin-top:20px}.login-card .button{margin-top:10px}.login-foot{text-align:center;color:#627590;font-size:10px;margin:24px 0 0}#toast{position:fixed;bottom:25px;right:25px;background:#2a4c40;color:#cff8e7;padding:12px 20px;border-radius:9px;opacity:0;pointer-events:none;transition:opacity .15s}#toast.visible{opacity:1}@media(max-width:1050px){.main{padding:30px 25px}.sidebar{width:200px;padding:25px 16px}.main{margin-left:200px}.stats{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.key-panel{flex-wrap:wrap}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:15px 20px;display:block;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{font-size:17px}.brand small,.nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:10px;margin-top:14px}.sidebar nav a{padding:7px 12px;margin:0}.main{margin:0;padding:25px 16px}.page-header{align-items:flex-start}h1{font-size:25px}.stats{gap:10px}.stat{padding:15px}.stat strong{font-size:29px}.filters{flex-wrap:wrap;padding:15px}.filters select{width:130px}.form-grid{grid-template-columns:1fr}.key-value{font-size:14px}.form-panel{padding:20px}.site-footer{display:block}.site-footer span{display:block;margin-top:5px}.panel-footer{padding:15px}.generated-keys .mono{font-size:11px}.login-card{padding:28px}.page-intro{font-size:12px}}
