.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}:root{--bg:#f4f6f8;--card:#fff;--text:#1c2430;--muted:#667085;--border:#dde2e8;--accent:#2b6cd4;--danger:#c8341b;--ok:#1f8a4c;--warn:#b26b00;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif;font-size:14px}@media (prefers-color-scheme:dark){:root{--bg:#0f1419;--card:#171d24;--text:#e6e9ee;--muted:#8b95a3;--border:#2a323c;--accent:#5b93f0}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:0 0 12px;font-size:20px}h2{margin:0 0 8px;font-size:17px}h3{margin:16px 0 6px;font-size:14px}a{color:var(--accent)}input,select{font:inherit;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:6px;padding:6px 8px}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;padding:6px 14px}button:disabled{opacity:.5;cursor:default}button.danger{background:var(--danger);border-color:var(--danger)}button.link{color:var(--accent);background:0 0;border:none;padding:0 4px}.app{flex-direction:column;height:100vh;display:flex}.topbar{background:var(--card);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:10px 20px;display:flex}.topbar nav{gap:4px;display:flex}.topbar nav a{color:var(--text);border-radius:6px;padding:6px 10px;text-decoration:none}.topbar nav a.active{background:var(--bg);font-weight:600}.brand{align-items:center;gap:10px;font-size:16px;font-weight:700;display:inline-flex}.brand-logo{object-fit:contain;border-radius:6px}.brand-logo.wide{border-radius:6px;width:auto}.login-brand .brand-logo.wide{height:72px}.login-brand{justify-content:center;margin-bottom:4px;font-size:20px;display:flex}.spacer{flex:1}main{flex:1;overflow:auto}.page{flex-direction:column;gap:16px;width:100%;max-width:1400px;margin:0 auto;padding:20px;display:flex}.page.session{height:100%}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px}.card.narrow{flex-direction:column;gap:12px;width:360px;display:flex}.card.narrow-left{max-width:560px}.card.notice{border-color:var(--warn)}.center{justify-content:center;align-items:center;min-height:100vh;display:flex}label{flex-direction:column;gap:4px;display:flex}label.inline{flex-direction:row;align-items:center;gap:6px}.row{align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.grow,.grow input{flex:1}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.error{color:var(--danger)}.warn-text{color:var(--warn)}.pad{padding:16px}.nowrap{white-space:nowrap}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}td.num,th.num{text-align:right}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--bg)}tr.bad td{color:var(--danger)}table.kv th{text-transform:none;width:180px;font-size:14px}.badge{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.badge.active{background:var(--ok);color:#fff;border-color:var(--ok)}.badge.pending{background:var(--warn);color:#fff;border-color:var(--warn)}.badge.warn{background:var(--danger);color:#fff;border-color:var(--danger)}.session-head{align-items:center;gap:12px;display:flex}.code-card{align-items:center;gap:32px;display:flex}.code{letter-spacing:.1em;border:2px dashed var(--accent);border-radius:10px;padding:8px 24px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:48px;font-weight:700}.tabs{gap:4px;display:flex}.tab{background:var(--card);color:var(--text);border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0}.tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.pill{background:var(--danger);color:#fff;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px}.panel{background:var(--card);border:1px solid var(--border);border-radius:0 10px 10px;flex:1;min-height:420px;margin-top:-16px;padding:12px;overflow:auto}.toolbar{flex-wrap:wrap;margin-bottom:10px}.terminal-wrap{flex-direction:column;height:100%;min-height:400px;display:flex}.xterm-host{background:#0f1419;border-radius:6px;flex:1;min-height:360px;padding:6px}.progress{background:var(--bg);border-radius:6px;height:22px;margin-bottom:8px;padding-left:8px;font-size:12px;line-height:22px;position:relative;overflow:hidden}.progress>div{background:var(--accent);opacity:.25;position:absolute;top:0;bottom:0;left:0}.chat{flex-direction:column;gap:8px;height:100%;min-height:400px;display:flex}.messages{flex-direction:column;flex:1;gap:8px;padding:4px;display:flex;overflow:auto}.msg{background:var(--bg);white-space:pre-wrap;border-radius:10px;align-self:flex-start;max-width:70%;padding:8px 12px}.msg.tech,.msg.ai{background:var(--accent);color:#fff;align-self:flex-end}.msg.ai{background:#7a4cc2}.msg .meta{opacity:.75;margin-bottom:2px;font-size:11px}.meter{background:var(--bg);border-radius:4px;width:120px;height:8px;overflow:hidden}.meter>div{background:var(--ok);height:100%}.meter.hot>div{background:var(--danger)}table.audit td.detail{word-break:break-all;max-width:520px}.scopes{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:6px 16px;margin-bottom:8px;display:grid}.scope{align-items:baseline}.token-reveal{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.badge.ai{color:#fff;background:#7a4cc2;border-color:#7a4cc2}.ai-panel{flex-direction:column;gap:12px;display:flex}.ai-panel .card{padding:12px 14px}.ai-on{border-color:#7a4cc2}.mode-choice{gap:8px;margin:4px 0;display:flex}button.big{padding:8px 20px;font-weight:600}.proposal{border-left:4px solid #7a4cc2}.proposal .cmd{background:var(--bg);white-space:pre-wrap;word-break:break-all;border-radius:6px;padding:6px 8px;font-size:14px}.proposal .reason{margin:6px 0}pre.config{background:var(--bg);border-radius:6px;margin:0;padding:8px;overflow-x:auto}.summary-text{width:100%;min-height:320px;font:inherit;border:1px solid var(--border);background:var(--card);color:var(--text);resize:vertical;border-radius:8px;padding:10px;font-size:15px;line-height:1.5}.ok-text{color:var(--ok)}.print-only{display:none}@media print{body *{visibility:hidden}.print-only,.print-only *{visibility:visible}.print-only{color:#000;width:100%;display:block;position:absolute;top:0;left:0}.print-body{white-space:pre-wrap;font-family:inherit;font-size:13pt;line-height:1.5}}.diag{flex-direction:column;gap:10px;display:flex}.check-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.check-card{border:1px solid var(--border);background:var(--card);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}pre.script{background:var(--bg);white-space:pre;border-radius:6px;max-height:240px;padding:8px;overflow:auto}.run .row{flex-wrap:wrap;gap:10px}pre.report{color:#d7dde5;white-space:pre-wrap;background:#0f1419;border-radius:6px;max-height:480px;margin:8px 0 0;padding:10px;font-size:12.5px;overflow:auto}pre.report .bad{color:#ff7b72;font-weight:600}pre.report .good{color:#7ee787}pre.report .head{color:#79c0ff;margin-top:4px;font-weight:600}.screen-panel{flex-direction:column;gap:10px;height:100%}.screen-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.screen-wrap{background:#111;border-radius:6px;max-height:calc(100vh - 260px);overflow:auto}.screen-wrap.fit{overflow:hidden}.screen-wrap.fit canvas.screen{width:100%;height:auto}canvas.screen{cursor:default;outline:none;display:block}canvas.screen.control{cursor:crosshair;box-shadow:inset 0 0 0 2px #e07b00}canvas.screen:fullscreen{object-fit:contain;background:#000;width:100vw;height:100vh}.badge.control{color:#fff;background:#e07b00;border-color:#e07b00}.requests{flex-direction:column;gap:10px;display:flex}.request-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.request.offline{opacity:.6}.request-desc{white-space:pre-wrap;margin:8px 0}.badge.type{color:#fff;background:#2a6fdb;border-color:#2a6fdb}.steps{flex-direction:column;gap:10px;padding-left:20px;display:flex}.ended-notice{border-color:#888}.warn-notice{background:#e07b0014;border-color:#e07b00}.sysinfo-page{flex-direction:column;gap:12px;display:flex}.pre-line{white-space:pre-line}.finding-list{flex-direction:column;gap:8px;padding-left:22px;display:flex}.finding{background:#7f7f7f0f;border-left:4px solid #888;border-radius:4px;padding:6px 8px}.badge.sev{text-transform:uppercase;color:#fff;font-size:11px}.sev-critical{border-color:#b00020}.badge.sev-critical{background:#b00020;border-color:#b00020}.sev-high{border-color:#e04f00}.badge.sev-high{background:#e04f00;border-color:#e04f00}.sev-medium{border-color:#d9a400}.badge.sev-medium{background:#b88a00;border-color:#b88a00}.sev-low{border-color:#2a6fdb}.badge.sev-low{background:#2a6fdb;border-color:#2a6fdb}.sev-info{border-color:#888}.badge.sev-info{background:#777;border-color:#777}.form{flex-direction:column;gap:8px;display:flex}.timers{align-items:center;gap:10px;display:flex}.timer{border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:14px;display:inline-flex}.timer.on{background:#2e9d551a;border-color:#2e9d55}.timer.on.ai{background:#7a4cc21f;border-color:#7a4cc2}.timer-btn{min-width:30px;padding:0 8px;font-size:14px;line-height:22px}.badge.hold{color:#fff;background:#5b6b8a;border-color:#5b6b8a}.hold-notice{background:#5b6b8a1a;border-color:#5b6b8a}
