:root{color-scheme:dark;--bg:#060d1d;--panel:#101b30;--line:#243653;--blue:#417cff;--cyan:#55d9ef;--text:#edf3ff;--muted:#9aabc5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 'Segoe UI',sans-serif}button,input,select{font:inherit}button,a.button{cursor:pointer}button,.button{border:1px solid var(--line);border-radius:8px;padding:9px 16px;color:var(--text);background:#15243d;text-decoration:none;display:inline-block}button:hover,.button:hover{border-color:#6595fd;background:#203553}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--blue);border-color:var(--blue);font-weight:600}.primary:hover{background:#6192ff}.quiet{background:transparent}h1,h2,p{margin:0 0 16px}h1{font-size:32px;font-weight:500;letter-spacing:-1px}h2{font-size:19px;font-weight:500}.eyebrow{font-size:11px;letter-spacing:2.5px;color:var(--cyan);font-weight:600}.muted{color:var(--muted);font-size:13px}.error{color:#ffadb5}.brand{font-size:29px;letter-spacing:-1.5px;font-weight:600;line-height:1}.brand>span{color:var(--cyan);margin-left:4px}.brand small{display:block;letter-spacing:3px;color:var(--muted);font-size:9px;margin-top:14px;font-weight:400}.panel{border:1px solid var(--line);border-radius:14px;background:linear-gradient(125deg,#14213a,#0d172a);padding:24px;margin-bottom:22px;box-shadow:0 12px 30px #0002}.panel-title,.section-title,.actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-title h2{margin:0}#entrance{position:relative;min-height:100vh;padding:50px 7vw;overflow:hidden;background:radial-gradient(ellipse at 30% 60%,#14326599,transparent 58%)}.welcome{width:52%;padding-top:90px}.welcome h1{font-size:clamp(38px,5vw,70px);line-height:1.12;font-weight:400;margin-bottom:25px}.welcome>p:not(.eyebrow){max-width:440px;color:var(--muted);font-size:17px}.login{position:absolute;right:7vw;top:24vh;width:350px;padding:32px;z-index:1}.login button{width:100%;display:flex;justify-content:space-between;margin-top:25px}.login .muted{margin-top:20px}.orbit{width:230px;height:230px;position:relative;display:grid;place-items:center;margin:35px 0 20px 70px}.orbit>div{position:absolute;inset:0;border:1px solid #467ade77;border-radius:50%;transform:rotate(30deg) scaleX(.5)}.orbit>div:nth-child(2){transform:rotate(90deg) scaleX(.5)}.orbit>div:nth-child(3){transform:rotate(150deg) scaleX(.5)}.orbit span{font-size:68px;color:var(--cyan);text-shadow:0 0 40px #55d9ef55}footer{color:var(--muted);font-size:10px;letter-spacing:2px;margin-top:40px;display:flex;justify-content:space-between}label{display:block;font-size:13px;color:var(--muted);margin:15px 0}input,select{display:block;width:100%;border:1px solid var(--line);background:#060f20;color:var(--text);padding:11px 12px;border-radius:7px;margin-top:7px}input:focus,select:focus{outline:2px solid var(--blue);outline-offset:2px}header{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 32px;background:#0d1629}.identity{display:flex;align-items:center;gap:20px;font-size:14px}#admin{padding:32px;max-width:1600px;margin:auto}#doctor{display:grid;grid-template-columns:290px 1fr;gap:22px;padding:24px}aside{height:calc(100vh - 135px);overflow:auto}aside .primary{width:100%}aside .quiet{width:100%;margin-top:8px}.status{color:var(--cyan);font-size:13px;min-height:50px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.stage{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#030710;display:flex;flex-direction:column;height:calc(100vh - 135px)}.stage-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#101b30;gap:12px;font-size:13px}#connection-state{color:var(--muted)}#screen{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;outline:none}#screen>div:not(#screen-empty){flex-shrink:0}#screen-empty{text-align:center;padding:30px;color:var(--muted)}.screen-logo{color:var(--cyan);font-size:60px;margin-bottom:20px}.stage-tip{font-size:11px;margin:0;padding:10px 18px;color:var(--muted);background:#101b30}.stage:fullscreen{width:100vw;height:100vh;border:0;border-radius:0}.stage:fullscreen .stage-tip{display:none}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--cyan);margin-right:6px}.case{padding:14px 0;border-bottom:1px solid var(--line);word-break:break-word}.case h3{font-size:14px;margin:0 0 7px;font-weight:500}.case p{font-size:12px;color:var(--muted);margin:0 0 10px}.case button{padding:6px 10px;font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.metric{border:1px solid var(--line);border-radius:12px;padding:20px;background:#111d32}.metric strong{font-size:27px;font-weight:500;display:block;margin:8px 0}.metric small{color:var(--muted)}.metric label{margin:0;color:var(--muted)}.metric progress{margin-top:12px;height:5px}.admin-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:500;padding:12px 15px;border-bottom:1px solid var(--line)}td{padding:15px;border-bottom:1px solid var(--line)}td button{padding:5px 10px;font-size:12px;margin:3px}td small{display:block;color:var(--muted)}.badge{font-size:11px;padding:4px 9px;border-radius:20px;background:#1b3347;color:var(--cyan)}.badge.failed,.badge.disabled{color:#ffadb5;background:#412939}.audit{max-height:220px;overflow:auto;font-size:12px;color:var(--muted)}.audit p{padding:8px 0;border-bottom:1px solid var(--line);margin:0}#history-chart{width:100%;height:200px}.blue-dot{color:var(--blue)}.cyan-dot{color:var(--cyan)}#history-hours{display:inline-block;width:auto;padding:8px;margin:0 10px 0 0;font-size:12px}dialog{width:min(520px,calc(100vw - 32px));border:1px solid var(--line);background:#101c32;color:var(--text);border-radius:16px;padding:30px}dialog::backdrop{background:#020611cc;backdrop-filter:blur(5px)}.form-row{display:flex;gap:15px}.form-row label{flex:1}.actions{margin:25px 0 0;justify-content:flex-end}.upload-options{display:flex;gap:12px}.file-pick{flex:1;border:1px dashed var(--blue);padding:15px;border-radius:8px;color:var(--text);cursor:pointer}.file-pick input{font-size:10px;padding:4px}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:auto;margin:0}progress{width:100%;accent-color:var(--blue);height:8px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:15px 25px;max-width:90vw;border:1px solid var(--line);border-radius:10px;background:#192941;box-shadow:0 15px 30px #0008;z-index:50}[hidden]{display:none!important}@media(max-width:950px){.welcome{padding-top:65px;width:47%}.login{right:4vw}.welcome h1{font-size:40px}#doctor{grid-template-columns:230px 1fr;padding:12px;gap:12px}.stage-bar{flex-wrap:wrap;padding:10px}.metric-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}}@media(max-width:650px){#entrance{padding:30px}.welcome{width:100%;padding-top:50px}.welcome h1{font-size:38px}.orbit{display:none}.login{position:relative;top:auto;right:auto;width:100%;margin-top:35px}footer span{display:none}#doctor{display:flex;flex-direction:column}aside{height:auto;max-height:400px}.stage{height:70vh;min-height:400px}header{padding:0 18px}.identity{gap:8px}#admin{padding:18px}.section-title h1{font-size:25px}.section-title{align-items:flex-start}.metric-grid{gap:10px}.panel{padding:18px}.panel-title{flex-wrap:wrap}}

.stage:fullscreen{position:relative}.stage:fullscreen .stage-bar{position:absolute;top:0;left:0;right:0;z-index:20;transform:translateY(-75%);opacity:.12;transition:transform .2s,opacity .2s;background:#101b30ee}.stage:fullscreen .stage-bar:hover,.stage:fullscreen .stage-bar:focus-within{transform:translateY(0);opacity:1}

#preview-note{padding:12px 32px;background:#11303d;border-bottom:1px solid #245368;color:#90e4ef;font-size:12px;letter-spacing:.4px}
/* Mobile input stays local to the remote display; the rest of the portal scrolls normally. */
.station-touch-surface{position:absolute;inset:0;z-index:10;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#screen{touch-action:none}#screen>div:not(#screen-empty){position:relative}
.station-input-bar{display:flex;align-items:center;gap:15px;padding:8px 16px;background:#101b30;border-top:1px solid var(--line);flex-shrink:0}
.station-input-bar label{display:flex;align-items:center;gap:10px;margin:0;white-space:nowrap}
.station-input-bar select{width:auto;margin:0;padding:6px;font-size:12px}
.station-input-bar p{margin:0;font-size:11px;color:var(--muted)}
#station-keyboard-panel{padding:10px 14px;background:#101b30;flex-shrink:0}
#station-keyboard-panel label{margin:0 0 5px}
#station-text{font:16px 'Segoe UI',sans-serif;display:block;width:100%;height:40px;resize:none;border:1px solid var(--line);border-radius:7px;padding:8px 12px;background:#060f20;color:var(--text)}
.station-special-keys{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.station-special-keys button{min-height:42px;min-width:42px;padding:6px 10px;touch-action:manipulation}
.station-special-keys button[aria-pressed="true"]{background:var(--blue);border-color:var(--cyan)}
.stage-bar>div:last-child{display:flex;gap:6px;flex-wrap:wrap}
.stage.expanded{position:fixed;inset:0;width:100vw;height:100dvh;z-index:40;border:0;border-radius:0}
body.station-expanded{overflow:hidden}
@media(pointer:coarse){.stage-bar button{min-height:44px}.stage:fullscreen .stage-bar{position:static;opacity:1;transform:none}}
@media(max-width:650px){
 header{height:auto;min-height:78px;padding:14px;gap:10px;flex-wrap:wrap}
 .identity{flex-wrap:wrap;font-size:12px;max-width:100%}.identity nav{display:flex;gap:6px}.identity button{padding:8px 10px}
 #doctor>.stage{order:-1;height:78dvh;min-height:380px}
 #doctor>aside{max-height:none}#doctor{padding:8px}
 .stage-bar{padding:8px;font-size:12px}.stage-bar button{padding:8px 10px}
 .station-input-bar{align-items:flex-start;flex-direction:column;gap:5px;padding:8px}
 .stage-tip{padding:6px 8px}.stage:fullscreen .stage-bar{position:static;opacity:1;transform:none}
}
@media(max-height:550px) and (pointer:coarse){
 header{min-height:54px;padding:8px 14px}.brand{font-size:24px}
 #doctor>.stage{height:calc(100dvh - 76px);min-height:260px}
 .station-input-bar p,.stage-tip{display:none}.station-input-bar{padding:4px 8px}
 #station-keyboard-panel{padding:5px 8px}
}

#screen>iframe.native-rdp-frame{display:block;width:100%;height:100%;border:0;flex:1;background:#fff}

#report-list{display:flex;flex-direction:column;gap:10px}#reports-dialog{min-width:min(520px,90vw);max-width:90vw}#reports-dialog .button{overflow-wrap:anywhere}

.station-input-bar,.stage-tip{display:none!important}

/* Borderless workstation with an explicitly opened control menu. */
body.station-view{overflow:hidden}
body.station-view #doctor{position:fixed;inset:0;padding:0;display:block!important}
body.station-view #doctor>aside{display:none}
body.station-view #stage{position:absolute;inset:0;width:100%;height:100dvh;min-height:0;border:0;border-radius:0;display:flex;overflow:hidden}
body.station-view #screen{width:100%;height:100%;flex:1;min-height:0;padding:0;border:0;outline:0;display:flex;align-items:center;justify-content:center}
body.station-view #portal>header{position:fixed;top:0;left:0;right:0;z-index:80;height:58px;min-height:58px;padding:8px 18px;background:#081122f5;transform:translateY(calc(-100% + 5px));transition:transform .15s;flex-wrap:nowrap;gap:12px}
#toolbar-reveal{display:none}
body.station-view #toolbar-reveal{display:block;position:fixed;top:0;left:0;right:0;height:12px;z-index:81;outline:0}
body.station-view #toolbar-reveal:hover~header,body.station-view #toolbar-reveal:focus~header,body.station-view #portal>header:hover,body.station-view #portal>header:focus-within{transform:translateY(0)}
body.station-view #portal>header .brand{font-size:23px}
body.station-view #portal>header .identity{gap:8px;flex-wrap:nowrap}
body:not(.station-view) .doctor-action{display:none}
#notice{z-index:120}
dialog{z-index:150}
@media(max-width:850px){body.station-view #portal>header{height:auto;min-height:58px;flex-wrap:wrap}.identity{flex-wrap:wrap!important}body.station-view #portal>header .brand{display:none}}

/* Explicit movable menu handle, leaving the app's top icons unobstructed. */
body.station-view #portal>header{top:48px;transform:translateY(calc(-100% - 48px));pointer-events:none;background:#081122}
body.station-view #toolbar-reveal:hover~header,body.station-view #toolbar-reveal:focus~header,body.station-view #portal>header:hover,body.station-view #portal>header:focus-within{transform:translateY(calc(-100% - 48px))}
body.station-view.controls-open #portal>header{transform:translateY(0);pointer-events:auto;padding-left:18px}
body.station-view #toolbar-reveal{left:var(--control-handle-x,18px);right:auto;top:7px;width:34px;height:34px;border:1px solid #55d9ef88;border-radius:12px;background:#081122dd;color:#d9f7ff;font-size:23px;line-height:1;padding:0;display:flex;align-items:center;justify-content:center;z-index:90;cursor:grab;touch-action:none;user-select:none;box-shadow:0 2px 12px #0006}
body.station-view #toolbar-reveal:active{cursor:grabbing}
body.station-view.controls-open #toolbar-reveal{background:#183f62}
dialog::backdrop{background:rgba(4,9,16,.96)}

/* Prominent movable Amplifier Web handle. */
body.station-view #toolbar-reveal{width:156px;height:42px;border-radius:8px;border-color:#8eefff;background:linear-gradient(120deg,#066dd1,#04a7be);color:#fff;font-size:14px;font-weight:700;letter-spacing:.3px;box-shadow:0 3px 14px #007ab866;gap:8px}
body.station-view #toolbar-reveal::before{content:'≡';font-size:24px;line-height:1}
body.station-view.controls-open #toolbar-reveal{background:linear-gradient(120deg,#1484ec,#07bfd1)}
body.station-view #portal>header{top:56px;transform:translateY(calc(-100% - 56px));height:auto;min-height:58px;flex-wrap:wrap}
body.station-view #toolbar-reveal:hover~header,body.station-view #toolbar-reveal:focus~header,body.station-view #portal>header:hover,body.station-view #portal>header:focus-within{transform:translateY(calc(-100% - 56px))}
body.station-view.controls-open #portal>header{transform:translateY(0)}
#share-dialog{width:600px;max-width:94vw;max-height:90dvh;overflow-y:auto}#share-link{font-size:12px}#share-list>div{border-top:1px solid var(--line);padding:12px 0}#share-list .button{margin:4px}
.review-status{position:absolute;left:20px;bottom:14px;z-index:10;max-width:80%;background:#081122e6;padding:6px 12px;border-radius:6px;font-size:12px}
#screen-empty h2{color:var(--text);font-size:25px}#screen-empty>p{max-width:460px;margin:0 auto 22px}.workspace-progress{width:min(360px,calc(100vw - 76px));margin:26px auto 0;text-align:left}.workspace-progress-label{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:10px}.workspace-progress-label strong{color:var(--cyan);font-variant-numeric:tabular-nums;font-size:15px}.workspace-progress progress{display:block;height:8px;border:0;border-radius:8px;overflow:hidden;background:var(--line)}.workspace-progress progress::-webkit-progress-bar{background:var(--line);border-radius:8px}.workspace-progress progress::-webkit-progress-value{background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:8px}.workspace-progress progress::-moz-progress-bar{background:var(--cyan);border-radius:8px}#workspace-progress-stage{margin:12px 0 0;font-size:12px;color:var(--muted)}#workspace-progress-stage.error{color:#ffadb5}

/* Technical supervision belongs only to the administrator dashboard. */
.supervisor-panel{position:relative;overflow:hidden;border-color:#315779;background:linear-gradient(120deg,#13253c,#0e1729)}
.supervisor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.supervisor-header h2{margin:0 0 7px}.supervisor-header p{margin:0}.supervisor-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.supervisor-controls label{margin:0;white-space:nowrap}.supervisor-controls input{margin:0;width:auto}
.supervisor-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.supervisor-status .badge{font-size:12px}
.supervisor-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.supervisor-stat{padding:14px 16px;background:#08132288;border:1px solid #294258;border-radius:10px}
.supervisor-stat span{display:block;color:var(--muted);font-size:12px}.supervisor-stat strong{display:block;margin:5px 0;font-size:23px;font-weight:500;font-variant-numeric:tabular-nums}.supervisor-stat small{display:block;color:var(--muted);font-size:11px}
.supervisor-stat.warning strong,.supervisor-incident.warning h3{color:#ffdc93}.supervisor-stat.critical strong,.supervisor-incident.critical h3{color:#ffadb5}
.supervisor-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.supervisor-columns h3{font-size:15px;font-weight:500;margin:0 0 12px}
.supervisor-incidents,.supervisor-history{max-height:370px;overflow:auto}.supervisor-incident{padding:14px 0;border-top:1px solid var(--line)}
.supervisor-incident h3{margin:0 0 8px}.supervisor-incident p{font-size:12px;margin:5px 0;color:var(--muted)}
.supervisor-evidence{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.supervisor-evidence span{font-size:11px;padding:4px 7px;background:#192a3b;border:1px solid #304658;border-radius:5px;color:#bdd9e9}
.supervisor-proposal{padding:8px 10px;border-left:2px solid #6991be;background:#17283d66;margin-top:10px}
.supervisor-history p{font-size:12px;color:var(--muted);padding:9px 0;border-top:1px solid var(--line);margin:0}
.supervisor-message{margin:12px 0 0;font-size:12px;color:var(--muted)}.supervisor-message.error{color:#ffadb5}.supervisor-footer{font-size:11px;color:var(--muted);margin:18px 0 0;border-top:1px solid var(--line);padding-top:12px}
@media(max-width:950px){.supervisor-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.supervisor-columns{grid-template-columns:1fr}}
@media(max-width:650px){.supervisor-header{flex-direction:column}.supervisor-controls{justify-content:flex-start}.supervisor-summary{gap:8px}.supervisor-stat{padding:12px}}
