*{box-sizing:border-box}:root{--bg:#f6f7f8;--text:#202124;--sidebar:#17191c;--sidebar-text:#eee;--sidebar-link:#d8dce2;--sidebar-hover:#292d32;--panel:#fff;--panel-border:#ddd;--line:#eee;--muted:#70757a;--input:#fff;--button:#fff;--button-text:#202124;--button-border:#bbb;--accent:#3b6675;--accent-soft:#eef3f5;--danger:#8b1d1d;--shadow:rgba(0,0,0,.08)}body.theme-dark-violet{--bg:#100d18;--text:#f3efff;--sidebar:#090710;--sidebar-text:#f6f1ff;--sidebar-link:#c5b8dd;--sidebar-hover:#211a31;--panel:#171222;--panel-border:#3a2d52;--line:#302641;--muted:#aa9abb;--input:#110d19;--button:#221a31;--button-text:#f6f1ff;--button-border:#55446f;--accent:#b58cff;--accent-soft:#2c1f42;--danger:#ff929e;--shadow:rgba(0,0,0,.35)}body.theme-dark-amber{--bg:#17120a;--text:#fff4dd;--sidebar:#0e0b06;--sidebar-text:#fff6e7;--sidebar-link:#d7c19a;--sidebar-hover:#2b2112;--panel:#21190d;--panel-border:#554225;--line:#40331e;--muted:#b9a47e;--input:#181106;--button:#302311;--button-text:#fff6e7;--button-border:#6d542d;--accent:#ffbd45;--accent-soft:#38280e;--danger:#ff9393;--shadow:rgba(0,0,0,.35)}body.theme-light-teal{--bg:#f1f8f7;--text:#17302d;--sidebar:#123b37;--sidebar-text:#effffd;--sidebar-link:#c1e2dc;--sidebar-hover:#1c524c;--panel:#fff;--panel-border:#c9dedb;--line:#deebe9;--muted:#607976;--input:#fff;--button:#fff;--button-text:#17302d;--button-border:#9ebdb8;--accent:#087f73;--accent-soft:#dff1ee;--danger:#9b2525;--shadow:rgba(15,70,65,.10)}body.theme-light-blue{--bg:#f3f6fb;--text:#1c2d45;--sidebar:#183552;--sidebar-text:#f5f9ff;--sidebar-link:#c5d7eb;--sidebar-hover:#24496d;--panel:#fff;--panel-border:#ccd9e8;--line:#e0e8f2;--muted:#65768a;--input:#fff;--button:#fff;--button-text:#1c2d45;--button-border:#a9bcd1;--accent:#256fbd;--accent-soft:#e1edf9;--danger:#982828;--shadow:rgba(30,70,115,.10)}body.theme-dark-cyan{--bg:#081116;--text:#e9f6fa;--sidebar:#050b0f;--sidebar-text:#ecfbff;--sidebar-link:#a9c8d2;--sidebar-hover:#102631;--panel:#0d1a20;--panel-border:#203944;--line:#1b3039;--muted:#8eabb5;--input:#0a151a;--button:#11242c;--button-text:#ecfbff;--button-border:#31515d;--accent:#27d7f2;--accent-soft:#0c2b34;--danger:#ff8d95;--shadow:rgba(0,0,0,.35)}body{margin:0;font:15px system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);display:grid;grid-template-columns:220px 1fr;min-height:100vh}aside{background:var(--sidebar);color:var(--sidebar-text);padding:24px 18px;position:sticky;top:0;height:100vh}.brand{font-size:20px;font-weight:700;margin-bottom:24px;display:grid;gap:2px}.brand small{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:750}.theme-dark-cyan aside{border-right:1px solid #12303b;box-shadow:8px 0 30px rgba(0,0,0,.18)}nav{display:grid;gap:4px}nav a{color:var(--sidebar-link);text-decoration:none;padding:9px 10px;border-radius:6px;border-left:2px solid transparent}nav a:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}nav a:active{transform:translateY(1px);background:var(--accent-soft);border-left-color:var(--accent)}.logout{margin-top:30px;background:transparent;color:var(--sidebar-link);border:1px solid var(--button-border);padding:8px 10px;border-radius:6px}main{padding:32px;max-width:1200px;width:100%}h1{font-size:26px;margin:0 0 24px}h2{font-size:17px;margin:0 0 16px}section{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:20px;margin-bottom:18px;box-shadow:0 1px 2px var(--shadow)}.theme-dark-cyan section{box-shadow:0 8px 24px var(--shadow)}.grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.metric{font-size:42px;font-weight:650;color:var(--accent)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;color:var(--muted)}button,input{font:inherit}button{padding:8px 11px;border:1px solid var(--button-border);background:var(--button);color:var(--button-text);border-radius:6px;cursor:pointer}button:hover{border-color:var(--accent)}button:active{transform:translateY(1px);background:var(--accent-soft)}input{padding:9px;border:1px solid var(--button-border);border-radius:6px;background:var(--input);color:var(--text)}input:focus{outline:2px solid var(--accent);outline-offset:1px}.stack{display:grid;gap:10px;max-width:430px}.muted{color:var(--muted)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}.drop-zone{border:2px dashed var(--button-border);border-radius:10px;padding:28px;text-align:center;display:grid;gap:5px;cursor:pointer;margin:8px 0 14px;background:var(--input)}.drop-zone.drag{border-color:var(--accent);background:var(--accent-soft)}.drop-zone span,.drop-zone small,.muted{color:var(--muted)}.pill{border:1px solid var(--panel-border);border-radius:999px;padding:3px 8px;font-size:12px}.app-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.timeline-item{border-left:3px solid var(--panel-border);padding-left:12px;margin:10px 0}.details{font:12px ui-monospace,monospace;white-space:pre-wrap}.attention{border-left:4px solid var(--accent)}.operation-steps{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.operation-steps span{font-size:12px;background:var(--accent-soft);border-radius:999px;padding:4px 8px}details summary{cursor:pointer;color:var(--muted);margin-top:10px}.backup-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}body.portal-login{display:block;background:var(--bg)}.portal-login main{height:100vh;max-width:none;padding:20px;display:grid;place-items:center}.login-box{width:min(350px,calc(100% - 20px));background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;padding:24px;box-shadow:0 14px 45px var(--shadow)}.login-brand{display:grid;gap:2px;margin-bottom:20px}.login-brand strong{font-size:22px}.login-brand span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:750}.portal-login form{display:grid;gap:12px}.portal-login input,.portal-login button{padding:12px}.portal-login button{background:var(--accent);color:#001216;border-color:var(--accent);font-weight:750}.portal-login .err{font-size:.9rem;color:var(--danger);margin-bottom:12px}@media(max-width:760px){body{display:block}aside{height:auto;position:static;padding:14px}.brand{margin-bottom:10px}nav{display:flex;overflow:auto}.logout{margin-top:10px}main{padding:18px}.grid{grid-template-columns:1fr}}

select{font:inherit;padding:9px;border:1px solid var(--button-border);border-radius:6px;background:var(--input);color:var(--text)}label strong{display:block;margin-bottom:6px}.instance-preview{border:1px solid var(--panel-border);border-left:5px solid var(--accent);background:var(--panel);padding:14px;border-radius:8px;display:grid;gap:2px}.instance-preview strong{font-size:18px}.instance-preview span{color:var(--accent);font-weight:750;text-transform:none;letter-spacing:.02em}

/* M7 instance visibility markers */
body.marker-subtle aside{box-shadow:inset 3px 0 0 var(--accent)}
body.marker-standard aside{box-shadow:inset 6px 0 0 var(--accent)}
body.marker-high aside{box-shadow:inset 10px 0 0 var(--accent)}
body.marker-high .brand{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px;padding:10px}
.warning{padding:10px 12px;border:1px solid var(--accent);border-radius:8px;font-weight:600}
.instance-preview small{display:block;margin-top:3px;opacity:.8}

#host-auth-badge{white-space:nowrap}
#host-artifact{margin-top:1rem}
#host-artifact a{display:inline-block}

/* 1.8.4 UI consolidation */
.ps-file-loader{margin:10px 0}
.ps-file-drop{border:2px dashed var(--button-border);border-radius:12px;padding:24px;text-align:center;display:grid;gap:9px;background:var(--input)}
.ps-file-drop.drag{border-color:var(--accent);background:var(--accent-soft)}
.ps-file-source-bar{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.ps-file-selected{min-height:1.2em}
.host-file-dialog,.auth-dialog{width:min(820px,calc(100vw - 30px));border:1px solid var(--panel-border);border-radius:12px;background:var(--panel);color:var(--text);padding:18px}
.host-file-dialog::backdrop,.auth-dialog::backdrop{background:rgba(0,0,0,.52)}
.host-browser-head,.host-browser-actions,.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}
.browser-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:12px 0}
.host-root-buttons,.browser-breadcrumbs{display:flex;gap:7px;flex-wrap:wrap}
.browser-breadcrumbs{margin:8px 0}
.crumb{border:0;background:transparent;color:var(--accent);text-decoration:underline;padding:4px;cursor:pointer}
.host-browser-list{display:grid;max-height:55vh;overflow:auto;border:1px solid var(--panel-border);border-radius:8px;margin:10px 0}
.host-file-row{display:flex;justify-content:space-between;gap:12px;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:11px;background:var(--panel);color:var(--text)}
.host-file-row:hover{background:var(--input)}
.host-file-row.selected{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px}
.host-file-row small{color:var(--muted)}
.owner-console{background:#07090c!important;color:#d9ffe2!important;border-color:#26313b!important}
.owner-console h2,.owner-console .field-help,.owner-console summary{color:#d9ffe2!important}
.console-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.terminal-badge{font:11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;border:1px solid #4d6a58;border-radius:999px;padding:3px 8px;color:#89f0a6}
.console-shell{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:8px;background:#000;border:1px solid #33413a;border-radius:8px;padding:12px}
.console-prompt{font:15px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#64ef8b;padding-top:7px}
#console-command{width:100%;min-height:130px;resize:vertical;background:#000!important;color:#d9ffe2!important;border:0!important;outline:0!important;font:14px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.console-output{background:#000;color:#d9ffe2;border:1px solid #26332b;border-radius:8px;padding:12px}
.maintenance-security-state{display:flex;gap:7px;justify-content:flex-end;align-items:center;margin:8px 0;font-size:.9em}
.update-target-card{margin:12px 0;padding:12px;border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:6px}
.component-row{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
.component-human{display:grid;gap:10px}
.chip-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.operation-summary{display:grid;gap:6px;padding:10px 0}
.kv-row{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:10px;padding:5px 0;border-bottom:1px solid var(--line)}
.phenotype-grid{display:grid;gap:10px}
.phenotype-grid>div{display:grid;gap:3px}
.phenotype-grid span{color:var(--muted)}
.cousin-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.trait-row{display:flex;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}
.cousin-row{display:grid;width:100%;text-align:left;padding:12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text)}
.cousin-row span{color:var(--muted)}
@media(max-width:760px){
 .ps-file-source-bar{display:grid}.ps-file-source-bar button{width:100%}
 .console-shell{grid-template-columns:1fr}.console-prompt{display:none}
 .cousin-columns{grid-template-columns:1fr}
 .kv-row{grid-template-columns:1fr}
}

.host-file-row.not-selectable{opacity:.62;cursor:default}
.host-file-row.not-selectable:hover{background:var(--panel)}

/* 1.8.7 Engineering Console + permissive operator decisions */
.validation-findings{display:grid;gap:7px;margin:10px 0}
.finding{padding:9px 11px;border-radius:7px;border-left:4px solid var(--button-border);background:var(--input)}
.finding.blocking{border-left-color:#b42318}.finding.operator_decision{border-left-color:#b7791f}.finding.info{border-left-color:var(--accent)}
.engineering-console{margin:10px 0 16px;border:1px solid #26313b;border-radius:8px;background:#07090c;color:#d9ffe2}
.engineering-console>summary{cursor:pointer;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#9bf7af}
.engineering-console-inner{padding:0 12px 12px}
.engineering-console-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.engineering-transcript,.repair-output{background:#000;color:#d9ffe2;border:1px solid #26332b;border-radius:7px;padding:10px;max-height:360px;overflow:auto;white-space:pre-wrap;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.repair-panel{margin-top:10px}.repair-panel>summary{cursor:pointer;color:#9bf7af}
.repair-script{width:100%;box-sizing:border-box;background:#000;color:#d9ffe2;border:1px solid #33413a;border-radius:7px;padding:10px;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* Sinha Portalseed updater UX — validation policy v2 */
.update-loader{margin:10px 0 14px}
.update-loader-empty{border:1px dashed currentColor;border-radius:10px;padding:14px}
.update-drop-label{display:flex;flex-direction:column;gap:4px;cursor:pointer}
.update-loader-loaded{border:1px solid currentColor;border-radius:10px;padding:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.update-loader-loaded[hidden],.update-loader-empty[hidden]{display:none!important}
.loaded-package-main{display:flex;flex-direction:column;gap:4px}
#loaded-package-decision{font-weight:800;letter-spacing:.04em}
.update-precheck-state{min-height:1.4em;font-weight:650}
.install-ready-action:not([hidden]){display:inline-block!important;box-shadow:0 0 0 2px currentColor inset}
.validation-findings .finding{padding:8px 10px;margin:7px 0;border-left:4px solid currentColor;background:rgba(127,127,127,.08)}

