:root{--bg:#0c110e;--surface:#151c17;--surface2:#1b241e;--line:#2a372d;--text:#eef6ef;--muted:#91a195;--green:#72d572;--green2:#3e9d55;--amber:#efbd62;--red:#e66e6e;--shadow:0 20px 50px rgba(0,0,0,.3)}
*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% 0,rgba(51,119,65,.14),transparent 28%),var(--bg)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.eyebrow{margin:0 0 6px;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.14em}.fine-print{font-size:12px;color:var(--muted);margin:18px 0 0}
button,.quick-grid a{border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--text);padding:10px 15px;font-weight:700;cursor:pointer;transition:.18s;text-decoration:none;text-align:center}button:hover,.quick-grid a:hover{border-color:#49614f;transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary,.success{background:linear-gradient(180deg,#5ec769,#409c50);border-color:#66d274;color:#071108}.danger{background:#b84848;border-color:#d65f5f}.danger-soft{color:#ff9898}.wide{width:100%;padding:13px}.text-button{background:none;border:0;padding:4px;color:var(--muted)}.icon-button{width:40px;height:40px;padding:0;font-size:19px}
.passkey-button{margin:24px 0 0;background:#f4f7f4;color:#0b100c;border-color:#fff;font-size:15px}.passkey-button:hover{border-color:#fff;background:#fff}.passkey-icon{display:inline-grid;place-items:center;width:25px;height:25px;margin-right:6px;border:2px solid #111;border-radius:50%;font-size:18px}.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0 4px;color:#66766a;font-size:11px}.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--line)}.setup-disabled{opacity:.45;pointer-events:none}
.app{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;padding:25px 18px 20px;background:#101611;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 25px}.brand strong,.brand span{display:block}.brand strong{font-size:18px}.brand span{font-size:12px;color:var(--muted)}.brand-mark{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;font-size:27px;font-weight:900;color:#0b160d;background:linear-gradient(135deg,#83e383,#3b974e);box-shadow:0 8px 24px rgba(77,181,88,.25)}.brand-mark.small{width:38px;height:38px;border-radius:9px;font-size:18px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button,.sidebar nav a{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--muted);text-align:left;text-decoration:none;padding:11px 12px;border-radius:9px;font-weight:650;cursor:pointer}.sidebar nav button span,.sidebar nav a span{width:24px;text-align:center;color:#708478}.sidebar nav button.active,.sidebar nav button:hover,.sidebar nav a:hover{background:#1a241c;color:var(--text)}.sidebar nav button.active span{color:var(--green)}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:16px 9px 0;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}
main{grid-column:2;padding:34px clamp(22px,4vw,56px) 60px;max-width:1500px;width:100%}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}h1,h2,h3,p{margin-top:0}header h1{margin:0;font-size:30px;letter-spacing:-.03em}.header-actions{display:flex;gap:10px;align-items:center}.status-pill{border:1px solid var(--line);background:var(--surface);padding:8px 12px;border-radius:100px;color:var(--muted);font-weight:700;font-size:13px}.status-pill i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--amber);margin-right:7px}.status-pill.online i{background:var(--green);box-shadow:0 0 0 5px rgba(114,213,114,.1)}.status-pill.offline i{background:var(--red)}
.page{display:none}.page.active{display:block}.hero-card{background:linear-gradient(115deg,#17251a,#182019 60%,#122719);border:1px solid #2d4733;border-radius:17px;padding:26px 28px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);margin-bottom:18px}.hero-card h2{font-size:28px;margin:0 0 4px}.controls{display:flex;gap:9px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric,.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px}.metric{padding:20px}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{font-size:27px;display:block;margin:8px 0 3px;letter-spacing:-.03em}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.panel{padding:22px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.panel-head.standalone{margin-bottom:18px}.panel-head h3,.panel h3{margin:0}.badge{font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:5px 9px;border-radius:100px;font-weight:800}.badge.green{color:#94e79a;background:rgba(91,190,98,.12)}.badge.amber{color:var(--amber);background:rgba(239,189,98,.1)}.resource-row{display:grid;grid-template-columns:65px 1fr 120px;gap:12px;align-items:center;margin:15px 0;font-size:13px}.resource-row b{text-align:right}.bar{height:7px;border-radius:20px;background:#263128;overflow:hidden}.bar i{display:block;height:100%;background:var(--green);border-radius:20px}.bar.amber i{background:var(--amber)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid button,.quick-grid a{padding:18px 10px}
.console-panel{padding-bottom:14px}#console-log{height:53vh;min-height:380px;overflow:auto;background:#080c09;border:1px solid #263229;border-radius:10px;padding:16px;color:#b8c7ba;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.command-row{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;margin-top:12px}.command-row span{color:var(--green);font-size:20px}.command-row input,.inline-form input,.inline-form select,input,select,textarea{border:1px solid var(--line);background:#0d130f;color:var(--text);border-radius:9px;padding:10px 12px;outline:none}.command-row input:focus,input:focus,select:focus,textarea:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(69,157,82,.12)}.switch-label{color:var(--muted);font-size:13px}.inline-form{display:flex;gap:8px;flex-wrap:wrap}.people-list{display:flex;flex-direction:column;gap:8px;margin-top:15px}.person{display:flex;justify-content:space-between;align-items:center;background:var(--surface2);padding:10px 12px;border-radius:9px}.person small{color:var(--muted)}.empty{padding:20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px}
.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.settings-grid label,.auth-card label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:13px}.settings-grid label.full{grid-column:1/-1}.settings-grid input,.settings-grid select{width:100%}.check-row{flex-direction:row!important;align-items:center;background:var(--surface2);padding:12px;border-radius:9px;color:var(--text)!important}.check-row input{width:auto}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 10px}th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}td:last-child{text-align:right}.row-actions{display:flex;justify-content:flex-end;gap:6px}.row-actions button,.row-actions a{padding:7px 9px;font-size:12px}.row-actions a{color:var(--green)}
.update-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:15px;padding:16px 4px;border-bottom:1px solid var(--line)}.update-row h4{margin:0 0 3px}.update-row p{margin:0;color:var(--muted);font-size:13px}.update-row.unavailable{opacity:.52;cursor:not-allowed}.update-row.unavailable h4{color:var(--muted)}.version-pair{font-family:ui-monospace,monospace;font-size:12px;color:var(--muted)}.update-check{appearance:none;width:20px;height:20px;border:2px solid #637568;border-radius:5px;background:#0d130f;display:grid;place-items:center;cursor:pointer}.update-check:checked{background:var(--green2);border-color:var(--green)}.update-check:checked::after{content:'✓';color:#071108;font-size:15px;font-weight:900;line-height:1}.update-check:disabled{background:#252c27;border-color:#3a443d;opacity:.5;cursor:not-allowed}.update-error{color:#ff9292!important}.file-layout{display:grid;grid-template-columns:340px 1fr;gap:18px}.file-list{height:64vh;overflow:auto;padding:10px}.file-item{display:grid;grid-template-columns:24px 1fr auto;gap:9px;align-items:center;width:100%;background:transparent;border:0;text-align:left;padding:9px 10px;color:var(--text);font-weight:500}.file-item:hover{background:var(--surface2);transform:none}.file-item small{color:var(--muted)}.editor-panel{height:64vh;display:flex;flex-direction:column}.editor-panel textarea{width:100%;flex:1;resize:none;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.editor-panel textarea:disabled{opacity:.5}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:22px}.auth-card{width:min(420px,100%);background:rgba(21,28,23,.94);border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:var(--shadow)}.auth-card .brand-mark{margin-bottom:25px}.auth-card h1{font-size:29px;margin-bottom:6px}.auth-card form{display:flex;flex-direction:column;gap:15px;margin-top:25px}.auth-card input{width:100%;font-size:16px}.security-note{font-size:11px;text-align:center;color:#66766a;margin:20px 0 0}.form-error{min-height:20px;color:#ff9292;margin:0;font-size:13px}.toast{position:fixed;right:25px;bottom:25px;max-width:430px;padding:13px 17px;background:#253329;border:1px solid #44604b;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:none}.toast.error{background:#422524;border-color:#81403f}dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:24px;max-width:500px;width:calc(100% - 32px);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(0,0,0,.7)}dialog input{width:100%;margin:10px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
@media(max-width:900px){.app{display:block}.sidebar{position:fixed;inset:auto 0 0;width:auto;height:72px;padding:8px;background:rgba(16,22,17,.96);border:0;border-top:1px solid var(--line);backdrop-filter:blur(12px)}.brand,.sidebar-foot{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(7,1fr);gap:0}.sidebar nav button,.sidebar nav a{display:flex;flex-direction:column;gap:1px;align-items:center;justify-content:center;padding:7px 2px;font-size:9px}.sidebar nav button span,.sidebar nav a span{font-size:19px}.sidebar nav button:nth-child(7){display:none}main{padding:22px 16px 95px}.metric-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.hero-card{align-items:flex-start;gap:20px}.controls{flex-wrap:wrap;justify-content:flex-end}.file-layout{grid-template-columns:1fr}.file-list{height:280px}.editor-panel{height:55vh}.panel-head.standalone{flex-direction:column}.inline-form{width:100%}.inline-form input{flex:1}.settings-grid{grid-template-columns:1fr}.settings-grid label.full{grid-column:auto}}
@media(max-width:560px){header{margin-bottom:20px}.header-actions .status-pill{font-size:0}.header-actions .status-pill i{margin:0}header h1{font-size:25px}.hero-card{display:block;padding:22px}.hero-card h2{font-size:24px}.controls{margin-top:18px;justify-content:flex-start}.metric-grid{gap:9px}.metric{padding:15px}.metric strong{font-size:22px}.panel{padding:16px}.resource-row{grid-template-columns:55px 1fr}.resource-row b{grid-column:2;text-align:left}.update-row{grid-template-columns:1fr auto}.version-pair{grid-column:1}.quick-grid{grid-template-columns:1fr 1fr}.sidebar nav{grid-template-columns:repeat(6,1fr)}.sidebar nav a{display:none}}
