:root{color-scheme:dark;--bg:#0c111b;--side:#101722;--panel:#141d2a;--panel2:#111a27;--line:#253143;--text:#edf3fb;--muted:#9caec3;--aqua:#63e5cf;--blue:#78aaff;--amber:#f0c576;--red:#ff969a;font:14px/1.45 Inter,ui-sans-serif,system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);display:grid;grid-template-columns:238px minmax(0,1fr)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sidebar{height:100dvh;position:sticky;top:0;display:flex;flex-direction:column;background:var(--side);border-right:1px solid var(--line);padding:24px 16px 17px}.brand{display:flex;gap:12px;align-items:center;margin:0 5px 33px;font-weight:760;font-size:19px;letter-spacing:-.4px}.brand-icon,.metric-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#163836;color:var(--aqua);border:1px solid #245451}.brand-icon svg{width:23px;height:23px}.brand small,.sidebar-footer small{display:block;color:var(--muted);font-size:9px;letter-spacing:1.35px;margin-top:3px}.nav-heading{margin:0 12px 10px;color:var(--muted);font-size:10px;letter-spacing:1.6px;font-weight:700}.config-heading{margin-top:30px}nav{display:grid;gap:5px}nav a{display:flex;align-items:center;gap:11px;padding:11px 10px;border:1px solid transparent;border-radius:8px;color:#acbbcf;font-weight:600;white-space:nowrap}nav a:hover{background:#192333}nav a.active{background:#183037;border-color:#25504f;color:#80ead9}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:10px;padding:15px 4px 0;border-top:1px solid var(--line);font-size:12px;font-weight:650}.sidebar-footer small{letter-spacing:0;font-size:11px;font-weight:450}.mini-icon{font:700 10px ui-monospace,monospace;border:1px solid #354254;background:#1d2735;padding:7px 5px;border-radius:7px;color:var(--muted)}
main{min-width:0}.top{height:65px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 32px;background:#101722;gap:12px;font-size:13px}.top-actions{display:flex;align-items:center;gap:12px}.crumb{margin:0 12px;color:#687d94}.muted,.subtitle{color:var(--muted)}.workspace{max-width:1500px;margin:auto;padding:34px 32px}.hero{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:26px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2.4px;color:var(--aqua);margin:0 0 9px;display:flex;align-items:center;gap:8px}.eyebrow span,.badge i{display:inline-block;width:7px;height:7px;background:currentColor;border-radius:50%;flex:none}h1{font-size:clamp(30px,4vw,44px);letter-spacing:-1.55px;line-height:1.1;margin:0}h2{font-size:17px;margin:0;letter-spacing:-.25px}h3{margin:0 0 8px;font-size:15px}.subtitle{margin:8px 0 0}.btn,.icon-btn{display:inline-flex;justify-content:center;align-items:center;gap:6px;border:1px solid #34465b;background:#1a2637;color:var(--text);padding:8px 12px;border-radius:8px;font-weight:650;cursor:pointer;white-space:nowrap;min-height:36px}.btn:hover,.icon-btn:hover{border-color:#7194a9;background:#223449}.primary{background:var(--aqua);border-color:var(--aqua);color:#062824;min-height:40px;padding-inline:15px}.primary:hover{background:#a2f4e5;border-color:#a2f4e5}.danger{color:#ffd3d3;border-color:#75444b;background:#462930}.icon-btn{width:34px;min-height:34px;padding:0;font-size:20px}.btn:disabled{opacity:.45;cursor:not-allowed}.badge{display:inline-flex;align-items:center;gap:7px;padding:4px 8px;border-radius:20px;border:1px solid #354254;font-size:11px;font-weight:700;white-space:nowrap}.badge i{width:6px;height:6px}.green{color:#7aebbd;background:#13332b;border-color:#255745}.amber{color:var(--amber);background:#352b1d;border-color:#554327}.red{color:var(--red);background:#39242b;border-color:#603640}.neutral{color:#aabbd0;background:#202a38}.blue{color:#a7c8ff;background:#1d304a;border-color:#31496c}
.banner{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#151f30;border:1px solid #32435b;border-radius:10px;margin:0 0 20px;padding:13px 15px;color:#b9c9dc}.banner strong{color:#e4ecf8;margin-right:6px}.banner .actions{flex:none}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric,.card{background:var(--panel);border:1px solid var(--line);border-radius:12px}.metric{padding:15px 16px;min-width:0}.metric-top{display:flex;gap:10px;align-items:center;color:#b7c6d8;font-size:12px;font-weight:650}.metric-icon{width:30px;height:30px;border-radius:8px;font-size:15px}.metric-icon.blue{background:#1d304a;color:#a7c8ff;border-color:#31496c}.metric-icon.amber{background:#352b1d;color:var(--amber);border-color:#554327}.metric-icon.red{background:#39242b;color:var(--red);border-color:#603640}.value{font-size:32px;line-height:1.2;font-weight:760;margin:9px 0 2px;letter-spacing:-1px}.metric small,.section-note,.cell-note{font-size:11px;color:var(--muted)}.card{overflow:hidden;margin-bottom:18px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px;border-bottom:1px solid var(--line)}.section-note,.cell-note{display:block;margin-top:3px}.controls,.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}input,select{background:#101925;border:1px solid #35465a;border-radius:7px;color:var(--text);padding:8px 9px;min-width:0}input::placeholder{color:#92a2b7}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:750;color:var(--muted);background:var(--panel2)}th,td{padding:11px 15px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}td{font-size:12px}td strong{font-size:13px}.mono,code,pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.table-btn{padding:4px 8px;font-size:11px;min-height:29px}.empty{padding:33px 20px;text-align:center;color:var(--muted);white-space:normal}.empty strong{display:block;color:var(--text);font-size:15px;margin-bottom:5px}.activity{display:grid}.activity-row{display:flex;gap:10px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--line)}.activity-row:last-child{border:0}.activity-row>div:first-child{flex:1;min-width:0}.activity-row .cell-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body-pad{padding:18px}.body-pad p{color:#b7c6d8}.steps{margin:0;padding-left:20px;color:#b7c6d8}.steps li+li{margin-top:10px}code{color:#a7e4dc;overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#0b111b;border:1px solid var(--line);padding:13px;border-radius:8px;font-size:12px;color:#c0d5e5;max-height:52vh;overflow:auto}footer{padding:10px 0 0;color:#8fa0b6;font-size:9px;letter-spacing:1.6px}footer span{margin:0 6px}
dialog{color:var(--text);background:var(--panel);border:1px solid #3d5169;border-radius:13px;width:min(610px,calc(100% - 24px));padding:0;box-shadow:0 25px 75px #0008}dialog::backdrop{background:#05090dc9}.modal-header{padding:15px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-body{padding:17px}.modal-body p:first-child{margin-top:0}.modal-body label{display:grid;gap:5px;margin-bottom:12px;font-size:12px;color:#bdccdf}.modal-body input{width:100%}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:9px}.form-error{color:var(--red);margin:9px 0}.modal-actions{justify-content:flex-end;margin-top:15px}#toast{position:fixed;bottom:18px;right:18px;max-width:min(420px,calc(100% - 36px));z-index:5;background:#213345;border:1px solid #466581;border-radius:8px;padding:10px 14px;color:var(--text)}
@media(max-width:1050px){body{grid-template-columns:196px minmax(0,1fr)}.workspace,.top{padding-inline:22px}.metric{padding:12px}.metric-top{gap:6px}}
@media(max-width:760px){body{display:block}.sidebar{position:static;height:auto;padding:12px;display:grid;gap:9px;grid-template-columns:1fr;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0 2px}.brand-icon{width:34px;height:34px}.brand small,.sidebar-footer,.nav-heading{display:none}.sidebar nav{display:flex;gap:3px;overflow:auto}.sidebar nav a{padding:6px 7px;font-size:12px}.sidebar nav svg{width:14px;height:14px}.sidebar nav:last-of-type{position:absolute;top:11px;right:12px}.top{height:45px;padding-inline:12px}.workspace{padding:20px 12px}.hero{margin-bottom:18px}.hero .btn{padding-inline:8px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}.banner,.card-header{flex-wrap:wrap}.card-header{padding:12px}.banner{padding:9px}.top-actions{gap:5px}}

fieldset{border:0;margin:0;padding:0;min-width:0}
.column-picker{display:grid;gap:12px;max-height:52vh;overflow:auto;padding:2px}
.column-picker fieldset{border:1px solid var(--line);border-radius:8px;padding:9px 10px}
.column-picker legend{padding:0 6px;color:var(--muted);font-size:12px;font-weight:700}
.column-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:5px 10px}
.column-options label{display:flex;align-items:center;gap:7px;margin:0;min-height:27px;overflow-wrap:anywhere}
.column-options input{width:auto;accent-color:#78aaff}
.login-only{display:block}
.login-only .sidebar,.login-only main{display:none}
.login-screen{min-height:100dvh;display:grid;place-items:center;padding:20px}
.login-card{width:min(100%,445px);padding:28px;margin:0}
.login-card h1{font-size:28px;line-height:1.2;margin:12px 0 6px}
.login-card label{display:grid;gap:5px;margin:14px 0;color:var(--muted)}
.login-card input{width:100%}
.login-card form>.btn{width:100%;margin-top:4px}
.login-actions{margin-top:14px}

.bulk-updates{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:13px 17px;border-bottom:1px solid var(--line)}
.bulk-result{flex-basis:100%;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.bulk-result:empty{display:none}.bulk-result a{color:#a7c8ff;margin-left:4px}.bulk-result summary{cursor:pointer}
.update-select{width:1%;text-align:center}.update-select input{width:16px;height:16px;margin:0;vertical-align:middle;accent-color:#81b6ff}
