:root{color:#e7edf5;background:#0b111c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#0b111c}button,input,textarea{font:inherit}button{cursor:pointer}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(340px,.9fr) minmax(320px,1.1fr);background:#0f1827}.auth-panel{padding:clamp(40px,9vw,120px);display:flex;flex-direction:column;justify-content:center;background:#101a2a}.auth-aside{display:flex;flex-direction:column;justify-content:end;padding:clamp(32px,7vw,100px);background:linear-gradient(145deg,#173b46,#1c594f 52%,#c4a85b 180%);color:#f5f7f0}.auth-aside span,.eyebrow{letter-spacing:.12em;font-size:11px;font-weight:800;color:#76d8c4}.auth-aside strong{margin-top:18px;font-size:clamp(31px,5vw,64px);line-height:1.06;letter-spacing:-1px}.auth-aside p{max-width:360px;margin:26px 0 0;color:#d9eee7;line-height:1.7}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:#78d8c4;color:#0e1b28;font-size:13px;font-weight:900;letter-spacing:.05em}.brand-mark.small{width:32px;height:32px;font-size:10px}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(34px,5vw,56px);letter-spacing:-1.2px}h2{margin-bottom:6px;font-size:20px}.muted{color:#91a2b7;line-height:1.6}.stack-form{max-width:380px;display:grid;gap:18px;margin-top:40px}label{display:grid;gap:8px;color:#aebdcd;font-size:13px;font-weight:650}input,textarea{width:100%;border:1px solid #2a394d;border-radius:4px;padding:12px 13px;color:#edf3f9;background:#0d1624;outline:none}input:focus,textarea:focus{border-color:#78d8c4;box-shadow:0 0 0 3px #78d8c422}.primary-button,.ghost-button,.text-button,.danger-button,.icon-button,.copy-button,.close-button{border:0;border-radius:4px}.primary-button{padding:12px 17px;background:#78d8c4;color:#0d1a22;font-weight:800}.primary-button:hover{background:#94e8d5}.ghost-button{padding:9px 13px;color:#afbdcc;background:transparent;border:1px solid #2d3d51}.ghost-button:hover,.icon-button:hover{color:#f4f8fb;border-color:#6a7e94}.form-error{min-height:20px;margin:0;color:#ff9b91;font-size:13px}.app-shell{min-height:100vh;background:#0b111c}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid #1f2b3a;background:#0d1624}.brand{display:flex;align-items:center;gap:11px}.brand strong,.brand span{display:block}.brand strong{font-size:14px}.brand span{margin-top:3px;color:#788ba1;font-size:11px}.content{max-width:1240px;margin:0 auto;padding:clamp(32px,6vw,78px) clamp(20px,5vw,72px)}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:36px}.page-heading .primary-button{white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.stats>div{padding:20px;border:1px solid #233144;background:#101a29}.stats span{display:block;color:#8292a7;font-size:12px}.stats strong{display:block;margin-top:9px;font-size:28px}.table-panel{border:1px solid #233144;background:#101a29}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #233144}.panel-heading p{margin:0;color:#788ba1;font-size:12px}.icon-button{width:34px;height:34px;border:1px solid #2d3d51;color:#9eb0c3;background:transparent;font-size:19px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:15px 22px;border-bottom:1px solid #202e40;white-space:nowrap}th{color:#718399;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}td{color:#bdc9d7;font-size:13px}td strong{display:block;color:#f1f5f8}td small{display:block;margin-top:4px;color:#677a90;font-family:ui-monospace,monospace}.actions{text-align:right}.text-button,.danger-button{padding:6px 7px;color:#78d8c4;background:transparent}.danger-button{color:#ff9b91}.text-button:hover,.danger-button:hover{text-decoration:underline}.status{display:inline-flex;align-items:center;gap:7px}.status i{width:7px;height:7px;display:inline-block;border-radius:50%;background:#788ba1}.status.active{color:#77d9bd}.status.active i{background:#77d9bd}.empty-state{display:grid;gap:8px;place-items:center;padding:90px 20px;color:#aab9c9}.empty-state span{color:#72849a;font-size:13px}.notice{position:fixed;top:87px;right:24px;z-index:10;max-width:360px;padding:12px 15px;border:1px solid transparent;border-radius:4px;opacity:0;transform:translateY(-8px);transition:.2s;pointer-events:none}.notice.success,.notice.error{opacity:1;transform:translateY(0)}.notice.success{color:#b9f2e0;background:#14372f;border-color:#286552}.notice.error{color:#ffc3bd;background:#3b201f;border-color:#71413d}dialog{width:min(510px,calc(100% - 32px));padding:0;color:#e7edf5;border:1px solid #35465c;border-radius:5px;background:#111c2b;box-shadow:0 26px 80px #0009}dialog::backdrop{background:#05101acc;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog form{padding:26px;display:grid;gap:17px}.dialog-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:5px}.dialog-heading h2{font-size:24px}.close-button{width:30px;height:30px;color:#91a2b7;background:transparent;font-size:24px}.dialog-actions{display:flex;justify-content:end;gap:10px;margin-top:8px}.hint{color:#71849b;font-weight:400}.config-dialog textarea{min-height:84px;resize:vertical;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.copy-button{justify-self:start;margin-top:-1px;padding:7px 10px;color:#8fe3d0;background:#17372f;border:1px solid #286552;font-size:12px}.credential-note{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid #6d5e30;color:#e7cc7e;background:#2e2817}.credential-note code{overflow-wrap:anywhere;color:#fff0b0;font-family:ui-monospace,monospace}@media(max-width:700px){.auth-shell{display:block}.auth-panel{min-height:100vh;padding:42px 24px}.auth-aside{display:none}.page-heading{align-items:start;flex-direction:column}.stats{grid-template-columns:1fr}.topbar{padding:0 20px}.content{padding:32px 20px}th,td{padding:13px 14px}}
