:root{color:#14201d;background:#eef3f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{align-items:center;background:#fff;border:1px solid #ccd8d3;border-radius:7px;color:#1f302b;cursor:pointer;display:inline-flex;gap:8px;min-height:36px;padding:0 12px;transition:border-color .15s ease,background .15s ease,color .15s ease}button:hover{border-color:#719185}button:disabled{cursor:wait;opacity:.65}input,select,textarea{background:#fff;border:1px solid #cbd8d2;border-radius:7px;color:#14201d;min-height:38px;outline:none;padding:8px 10px;width:100%}input:focus,select:focus,textarea:focus{border-color:#167a67;box-shadow:0 0 0 3px #167a671f}label{color:#49655d;display:grid;gap:7px;font-size:13px}a{color:#136c61;overflow-wrap:anywhere;text-decoration:none}h1,h2,h3,p{margin:0}pre{background:#10221d;border-radius:7px;color:#dcefe8;font-size:12px;line-height:1.55;margin:0;max-height:420px;overflow:auto;padding:14px}textarea{font-family:SFMono-Regular,Consolas,monospace;min-height:360px;resize:vertical}.auth-screen{align-items:center;background:linear-gradient(135deg,rgba(22,122,103,.16),transparent 34%),linear-gradient(315deg,rgba(28,86,135,.13),transparent 32%),#eef3f0;display:flex;min-height:100vh;padding:28px}.auth-panel{background:#ffffffeb;border:1px solid #d9e4df;border-radius:8px;box-shadow:0 24px 70px #1c363024;display:grid;gap:18px;margin:auto;max-width:420px;padding:28px;position:relative;width:100%}.auth-panel h1{font-size:34px}.auth-panel p{color:#567069}.auth-panel form,.room-form,.token-form{display:grid;gap:14px}.password-field{display:grid;grid-template-columns:minmax(0,1fr) 38px;position:relative}.password-field input{border-bottom-right-radius:0;border-top-right-radius:0}.eye-button{border-bottom-left-radius:0;border-left:0;border-top-left-radius:0;color:#60766f;justify-content:center;min-height:38px;padding:0;width:38px}.auth-switch{align-self:end;background:transparent;border-color:transparent;color:#126e60;font-size:12px;min-height:28px;padding:0 2px}.auth-switch:hover{background:transparent;border-color:transparent;color:#0d594d;text-decoration:underline}.auth-remember{color:#506a62;font-size:13px;justify-self:start}.brand-mark,.logo{align-items:center;display:flex;gap:10px}.brand-mark{background:#103d35;border-radius:8px;color:#fff;height:46px;justify-content:center;width:46px}.segmented{background:#e4ece8;border:1px solid #d3ded9;border-radius:8px;display:grid;gap:4px;grid-template-columns:1fr 1fr;padding:4px}.segmented button{border-color:transparent;justify-content:center}.segmented button.active{background:#123f37;color:#fff}.compact{min-width:220px}.primary{background:#126e60;border-color:#126e60;color:#fff}.primary:hover{background:#0d594d;border-color:#0d594d}.wide{justify-content:center;width:100%}.danger{color:#a53232}.ghost{background:transparent;justify-content:flex-start}.icon-button{justify-content:center;padding:0;width:38px}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{background:#0f211d;color:#dfece7;display:flex;flex-direction:column;gap:24px;padding:20px 14px}.sidebar .logo{font-size:20px;font-weight:700;padding:4px 10px 14px}.sidebar nav{display:grid;gap:7px}.sidebar button{background:transparent;border-color:transparent;color:#dfece7;justify-content:flex-start}.sidebar button:hover,.sidebar button.active{background:#193831;border-color:#2b554b}.sidebar .ghost{margin-top:auto}.workspace{display:grid;gap:18px;grid-auto-rows:max-content;min-width:0;padding:24px}.topbar{align-items:center;display:flex;gap:16px;justify-content:space-between}.topbar h1{font-size:28px}.topbar p,.muted,.row span,.item-card p,.file-main p,.file-main small,.token-box span,.metric small{color:#667c75}.top-actions,.toolbar,.actions,.status-line{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.alert{border-radius:7px;padding:10px 12px}.alert.error{background:#fae9e7;color:#8d2e26}.alert.ok{background:#e4f5ea;color:#11683b}.metric-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.storage-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.storage-card{background:#f7fbf9;border:1px solid #dce7e2;border-radius:8px;display:grid;gap:6px;min-height:112px;padding:14px}.storage-card span,.volume-summary span,.volume-row small{color:#667c75;font-size:12px}.storage-card strong{color:#17342e;font-size:20px}.storage-card small{color:#667c75;overflow-wrap:anywhere}.storage-state{position:relative}.storage-state:before{background:#83958e;border-radius:999px;content:"";height:10px;position:absolute;right:14px;top:14px;width:10px}.storage-state.state-running{background:#f3fbf6;border-color:#a8ddbf}.storage-state.state-running:before{background:#1c9d52}.storage-state.state-running strong{color:#10743a}.storage-state.state-warning{background:#fffaf0;border-color:#e7d08d}.storage-state.state-warning:before{background:#b98112}.storage-state.state-warning strong{color:#8a5b08}.storage-state.state-down{background:#fff5f4;border-color:#e4aca5}.storage-state.state-down:before{background:#c33f32}.storage-state.state-down strong{color:#9c2e25}.bar{background:#e1ebe6;border-radius:999px;height:8px;overflow:hidden}.bar i{background:#126e60;display:block;height:100%}.volume-list{border-top:1px solid #edf2ef;display:grid;gap:8px;padding-top:12px}.volume-summary,.volume-row{align-items:center;display:grid;gap:10px;grid-template-columns:1fr auto 2fr}.volume-summary{grid-template-columns:auto 1fr}.volume-row{background:#f8fbfa;border:1px solid #edf2ef;border-radius:8px;padding:10px 12px}.volume-row strong{color:#126e60}.metric,.panel,.item-card,.file-row{background:#fff;border:1px solid #d9e4df;border-radius:8px}.metric{display:grid;gap:6px;min-height:112px;padding:18px;position:relative}.metric:before{background:#cbd8d2;border-radius:999px;content:"";height:10px;position:absolute;right:16px;top:16px;width:10px}.metric span{color:#5a746c;font-size:13px}.metric strong{font-size:28px}.metric.state-running{border-color:#a8ddbf;background:#f3fbf6}.metric.state-running:before{background:#1c9d52;box-shadow:0 0 0 4px #1c9d521f}.metric.state-running strong{color:#10743a}.metric.state-warning{border-color:#e7d08d;background:#fffaf0}.metric.state-warning:before{background:#b98112;box-shadow:0 0 0 4px #b981121f}.metric.state-warning strong{color:#8a5b08}.metric.state-down{border-color:#e4aca5;background:#fff5f4}.metric.state-down:before{background:#c33f32;box-shadow:0 0 0 4px #c33f321f}.metric.state-down strong{color:#9c2e25}.metric.state-unknown:before{background:#83958e}.two-col{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.panel{display:grid;gap:14px;padding:16px}.panel-title{align-items:center;display:flex;gap:12px;justify-content:space-between}.panel-title h2{font-size:18px}.list{display:grid;gap:8px}.row{align-items:center;border-top:1px solid #edf2ef;display:flex;gap:12px;justify-content:space-between;min-height:54px;padding-top:8px}.row:first-child{border-top:0;padding-top:0}.row div{display:grid;gap:4px;min-width:0}.row strong,.row span,.item-card h3,.file-main h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cards,.file-list{display:grid;gap:12px}.file-filters{align-items:end;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;margin-bottom:14px}.file-filters .filter-reset{min-width:74px}.cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.item-card{display:grid;gap:12px;padding:14px}.card-head{align-items:start;display:flex;gap:12px;justify-content:space-between}.status-pill{background:#eef1ef;border-radius:999px;color:#5c6f69;flex:0 0 auto;font-size:12px;padding:4px 9px}.status-pill.good{background:#def4e8;color:#0f6b3b}.state-tag{background:#eef1ef;border:1px solid #d8e0dc;border-radius:999px;color:#65736f;font-size:12px;font-weight:700;padding:4px 9px}.state-tag.active{background:#def4e8;border-color:#b7e2c8;color:#0f6b3b}.state-tag.rec.active{background:#e6f0fb;border-color:#bad4f0;color:#1d5f9f}.inline{align-items:center;display:inline-flex;gap:8px}.inline input{min-height:auto;width:auto}.room-form{align-items:end;grid-template-columns:auto minmax(240px,1fr) auto auto}.file-row{align-items:center;display:grid;gap:14px;grid-template-columns:44px minmax(0,1fr) auto;padding:14px}.file-icon{align-items:center;background:#e7f1ed;border-radius:8px;color:#126e60;display:flex;height:44px;justify-content:center;width:44px}.file-main{display:grid;gap:5px;min-width:0}.file-main .expiry{color:#8a5b08}.location-tag{border:1px solid #cfded8;border-radius:999px;display:inline-flex;font-size:11px;margin-left:8px;padding:1px 7px;vertical-align:1px}.location-archived{background:#e7f1ed;border-color:#b7d5cb;color:#126e60}.location-cache{background:#fff3cf;border-color:#efd27a;color:#875a05}.variant-list{align-items:center;display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.variant-chip{background:#f3f7f5;gap:5px;min-height:30px;padding:0 8px}.variant-chip span{background:#dfeae5;border-radius:999px;color:#38564e;font-size:11px;padding:2px 6px}.variant-chip strong{color:#263b35;font-size:12px}.variant-form{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid{display:grid;gap:10px 14px;grid-template-columns:auto minmax(0,1fr)}.detail-grid span{color:#667c75;font-size:13px}.detail-grid strong{min-width:0;overflow-wrap:anywhere}.token-form{grid-template-columns:repeat(2,minmax(0,220px))}.token-box{background:#f2f7f4;border:1px solid #d8e4df;border-radius:8px;display:grid;gap:8px;padding:12px}.token-box p{font-family:SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.table{display:grid;overflow-x:auto}.thead,.tr{display:grid;gap:12px;grid-template-columns:1.4fr 1.5fr .8fr .7fr;min-width:720px;padding:10px 0}.logs .thead,.logs .tr{grid-template-columns:1.4fr 1.6fr 1fr 1fr}.thead{border-bottom:1px solid #dce7e2;color:#60766f;font-size:12px;font-weight:700}.tr{border-bottom:1px solid #edf2ef}.tr span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{align-items:center;background:#f6faf8;border:1px dashed #cbd8d2;border-radius:8px;color:#6b827a;display:flex;justify-content:center;min-height:92px;padding:16px}.loading{align-items:center;background:#10221d;border-radius:8px;bottom:18px;box-shadow:0 12px 32px #10221d33;color:#fff;display:flex;gap:8px;min-height:42px;padding:0 14px;position:fixed;right:18px}.modal-backdrop{align-items:center;background:#0918146b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:18px;position:fixed;z-index:30}.modal{background:#fff;border:1px solid #d9e4df;border-radius:8px;box-shadow:0 24px 80px #0d201b47;display:grid;gap:16px;max-width:460px;padding:18px;width:100%}.wide-modal{max-width:920px}.modal-body{display:grid;gap:6px}.modal-body span{color:#667c75;overflow-wrap:anywhere}.modal-actions{display:flex;gap:10px;justify-content:flex-end}@media(max-width:960px){.shell{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:auto 1fr auto;position:sticky;top:0;z-index:10}.sidebar nav{display:flex;overflow-x:auto}.sidebar .logo{padding:0 8px}.metric-grid,.storage-grid,.file-filters,.variant-form,.two-col{grid-template-columns:1fr 1fr}.room-form,.file-row{grid-template-columns:1fr}}@media(max-width:640px){.auth-screen,.workspace{padding:14px}.topbar,.panel-title,.card-head{align-items:stretch;flex-direction:column}.metric-grid,.storage-grid,.file-filters,.variant-form,.two-col,.token-form{grid-template-columns:1fr}.volume-summary,.volume-row{align-items:start;grid-template-columns:1fr}.top-actions{align-items:stretch}}
