:root{
  --bg:#05070a;--panel:#0b0f15;--panel2:#101620;--panel3:#151c27;
  --line:rgba(255,255,255,.085);--line-strong:rgba(255,255,255,.14);
  --text:#f8fafc;--muted:#8994a6;--accent:#818cf8;--accent2:#6366f1;
  --gpt:#34d399;--claude:#fbbf24;--danger:#fb7185;--warning:#f59e0b;--cyan:#38bdf8;
  --radius:13px;--shadow:0 18px 55px rgba(0,0,0,.28);
  --control-w:clamp(184px,14vw,228px);--inspector-w:clamp(330px,25vw,420px);
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
.bg{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 8% -8%,rgba(99,102,241,.17),transparent 32%),radial-gradient(circle at 88% 108%,rgba(16,185,129,.08),transparent 35%)}
.desktop-shell{position:fixed;inset:0;display:grid;grid-template-rows:64px minmax(0,1fr) 29px;background:rgba(4,6,9,.91)}
.topbar{display:flex;align-items:center;gap:9px;min-width:0;padding:0 14px 0 18px;border-bottom:1px solid var(--line);background:rgba(7,10,14,.94);backdrop-filter:blur(18px);z-index:5}
.brand-block{min-width:220px}.brand{font-size:19px;font-weight:950;letter-spacing:-.04em}.subtitle{font-size:10px;color:var(--muted);margin-top:2px}.top-spacer{flex:1;min-width:8px}
.session-chip,.top-action,.connection-pill{height:35px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border-radius:9px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text);font-size:10px;text-decoration:none;white-space:nowrap}
.top-action{cursor:pointer}.top-action:hover,.rail-action:hover,.tool-link:hover,.mini-action:hover{background:rgba(255,255,255,.075);border-color:var(--line-strong)}.top-action.accent{border-color:rgba(129,140,248,.34);background:rgba(99,102,241,.14)}
.session-chip{color:var(--muted)}.session-chip strong{color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.chip-copy{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:2px}.connection-pill{color:#a7f3d0;border-color:rgba(52,211,153,.18)}.connection-pill.disconnected{color:#fecaca;border-color:rgba(251,113,133,.24)}
.pulse{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:pulse 2s infinite}@keyframes pulse{60%{box-shadow:0 0 0 6px transparent}}
.desktop-body{min-width:0;min-height:0;display:grid;grid-template-columns:var(--control-w) minmax(0,1fr) var(--inspector-w);gap:8px;padding:8px;overflow:hidden}
.control-rail,.analysis-rail,.desktop-lane{min-width:0;min-height:0;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.012));box-shadow:var(--shadow)}
.control-rail{display:flex;flex-direction:column;gap:8px;padding:9px;overflow:auto}.control-card{border:1px solid rgba(255,255,255,.055);border-radius:11px;background:rgba(255,255,255,.02);padding:10px}.control-kicker{font-size:8px;letter-spacing:.12em;font-weight:900;color:#697488;margin-bottom:8px}.session-title{font-size:13px;font-weight:850}.session-full{font:9px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);word-break:break-all;margin:5px 0 8px}.rail-action-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.rail-action,.mini-action{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.03);color:var(--text);padding:7px 8px;font-size:9px;cursor:pointer}.rail-action.primary{background:rgba(99,102,241,.17);border-color:rgba(129,140,248,.25)}
.lane-overview{width:100%;display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;border:0;border-radius:9px;background:transparent;color:var(--text);padding:8px 5px;cursor:pointer}.lane-overview:hover{background:rgba(255,255,255,.035)}.lane-overview span:nth-child(2){display:flex;flex-direction:column;min-width:0}.lane-overview b{font-size:10px}.lane-overview small{font-size:8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.lane-overview em{font-style:normal;font-size:8px;color:#6f7a8d}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 auto}.claude-dot{background:var(--claude)}.gpt-dot{background:var(--gpt)}
.tool-link{border:1px solid transparent;background:transparent;color:var(--text);text-decoration:none;cursor:pointer}.tool-link.wide{width:100%;display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;align-items:center;text-align:left;padding:8px 6px;border-radius:9px}.tool-link.wide>span:first-child{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line);border-radius:7px;color:#cbd5e1}.tool-link.wide>span:last-child{display:flex;flex-direction:column;min-width:0}.tool-link b{font-size:9px}.tool-link small{font-size:8px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-foot{margin-top:auto;display:flex;justify-content:space-between;color:#596476;font-size:8px;padding:3px 4px}
.clinical-workspace{min-width:0;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:hidden}.desktop-lane{overflow:hidden;display:grid;grid-template-rows:49px 30px minmax(0,1fr) auto}
.lane-head{display:flex;align-items:center;gap:8px;min-width:0;padding:0 12px;border-bottom:1px solid var(--line);font-size:12px}.lane-title{display:flex;flex-direction:column;min-width:0}.lane-title b{font-size:12px}.lane-title small{font-size:8px;color:var(--muted);margin-top:1px}.state-summary{margin-left:auto;display:flex;gap:4px;color:var(--muted);font-size:8px;min-width:0}.state-summary span{background:rgba(255,255,255,.045);padding:3px 5px;border-radius:6px;white-space:nowrap}.busy{font-size:8px;color:var(--muted);min-width:38px;text-align:right}.busy[data-busy="true"]{color:var(--accent)}
.lane-context{display:flex;gap:10px;align-items:center;min-width:0;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.045);background:rgba(0,0,0,.12);font-size:8px;color:#657084;overflow:hidden}.lane-context span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lane-context b{color:#aab5c5;font-weight:700}.lane-context .recovered{color:#a7f3d0}.lane-context .warning{color:#fde68a}
.chat-scroll{min-height:0;overflow-y:auto;padding:16px 16px 10px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}.chat-scroll::-webkit-scrollbar,.rail-pane::-webkit-scrollbar,.control-rail::-webkit-scrollbar{width:8px}.chat-scroll::-webkit-scrollbar-thumb,.rail-pane::-webkit-scrollbar-thumb,.control-rail::-webkit-scrollbar-thumb{background:rgba(255,255,255,.11);border-radius:99px}.msg{max-width:min(84%,760px);display:flex;flex-direction:column}.msg.user{align-self:flex-end}.msg.ai{align-self:flex-start}.msg-meta{display:flex;align-items:center;gap:7px;margin:0 0 5px 3px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.09em;font-weight:850}.provider-badge{padding:2px 6px;border-radius:999px}.badge-claude{color:var(--claude);background:rgba(251,191,36,.11)}.badge-gpt{color:var(--gpt);background:rgba(52,211,153,.11)}.msg-bubble{font-size:13px;line-height:1.5;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.036);box-shadow:0 8px 24px rgba(0,0,0,.13);overflow-wrap:anywhere}.msg.user .msg-bubble{border:0;background:linear-gradient(135deg,#6366f1,#4f46e5);border-bottom-right-radius:5px}.msg.ai .msg-bubble{border-bottom-left-radius:5px}.system-bubble{font-size:11px;color:#cbd5e1;background:rgba(255,255,255,.022)}.system-meta{opacity:.65}
.composer-shell{padding:9px 11px 8px;border-top:1px solid rgba(255,255,255,.045);background:rgba(6,8,11,.88)}.composer{height:48px;display:flex;align-items:center;gap:8px;padding:4px 4px 4px 14px;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:#070a0f}.composer:focus-within{border-color:rgba(129,140,248,.45);box-shadow:0 0 0 2px rgba(129,140,248,.08)}.composer input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:13px}.send{width:38px;height:38px;flex:0 0 38px;border:0;border-radius:50%;font-weight:900;color:#08100c;cursor:pointer}.send.claude{background:var(--claude)}.send.gpt{background:var(--gpt)}.send:disabled{opacity:.45;cursor:not-allowed}.composer-hint{font-size:7px;color:#566174;padding:5px 7px 0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.analysis-rail{display:grid;grid-template-rows:47px 38px minmax(0,1fr);overflow:hidden}.inspector-head{display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--line)}.inspector-head>div{display:flex;flex-direction:column;min-width:0}.inspector-head b{font-size:12px}.inspector-head small{font-size:8px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inspector-head>span{font-size:8px;color:#64748b;white-space:nowrap}.rail-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--line);background:rgba(0,0,0,.12);scrollbar-width:none}.rail-tabs::-webkit-scrollbar{display:none}.rail-tab{flex:0 0 auto;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:8px;font-weight:800;padding:0 9px;cursor:pointer}.rail-tab.active{color:var(--text);border-bottom-color:var(--accent);background:rgba(255,255,255,.03)}.rail-content{min-height:0;overflow:hidden}.rail-pane{display:none;height:100%;min-height:0;overflow:auto;padding:11px}.rail-pane.active{display:block}
.provider-diff-title{display:flex;align-items:center;gap:7px;margin:3px 0 7px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.provider-diff-title.gpt{margin-top:17px}.empty-state{color:var(--muted);font-size:11px;text-align:center;padding:24px 8px}.diff-summary{display:flex;gap:5px;flex-wrap:wrap;margin:6px 0}.diff-summary span{font-size:8px;color:var(--muted);background:rgba(255,255,255,.05);padding:4px 6px;border-radius:7px}.danger-chip{color:#fff!important;background:rgba(251,113,133,.22)!important}.diff-row{padding:9px 10px;margin:6px 0;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.023)}.diff-row.mnm{border-color:rgba(251,113,133,.4);background:rgba(251,113,133,.035)}.diff-row-head{display:flex;justify-content:space-between;gap:10px;font-size:10px}.probability{flex:0 0 auto;font-size:8px;font-weight:900;padding:3px 7px;border-radius:999px;background:rgba(129,140,248,.18)}.diff-evidence{font-size:8px;color:#bdc7d7;margin-top:5px;line-height:1.4}.diff-evidence.against{color:#929daf}.excluded-block{margin-top:10px;font-size:9px;color:var(--muted)}.excluded-row{display:flex;justify-content:space-between;padding:4px 0;gap:8px}
.inspector-toolbar{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.facts-provider{margin-bottom:14px}.facts-provider h3{display:flex;align-items:center;gap:6px;margin:5px 0 7px;font-size:9px;color:#cbd5e1}.fact-row{display:grid;grid-template-columns:46px minmax(0,1fr);gap:7px;padding:7px 8px;margin:5px 0;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:rgba(255,255,255,.018)}.fact-id{font:8px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent)}.fact-body{font-size:9px;line-height:1.4;overflow-wrap:anywhere}.fact-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:3px;color:#6f7b8d;font-size:7px}.fact-meta span{padding:2px 4px;background:rgba(255,255,255,.035);border-radius:4px}
.runtime-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:7px}.runtime-summary>div{padding:8px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.02);display:flex;flex-direction:column;min-width:0}.runtime-summary small{font-size:7px;color:#697488}.runtime-summary b{font-size:16px;margin-top:2px}.runtime-list{display:flex;flex-direction:column;gap:5px}.runtime-event{padding:7px 8px;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:rgba(255,255,255,.018)}.runtime-event.recovery{border-left:3px solid var(--gpt)}.runtime-event.retry{border-left:3px solid var(--cyan)}.runtime-event.warning{border-left:3px solid var(--warning)}.runtime-event.error{border-left:3px solid var(--danger)}.runtime-event-head{display:flex;justify-content:space-between;gap:7px;font-size:8px}.runtime-event-head b{text-transform:uppercase;letter-spacing:.06em;overflow-wrap:anywhere}.runtime-event-head time{color:#657084;white-space:nowrap}.runtime-event-body{font-size:8px;color:#9aa5b7;margin-top:3px;line-height:1.4;overflow-wrap:anywhere}.runtime-pane .empty-state{padding:32px 8px}
.json-area,.prompt-area{width:100%;height:calc(100% - 4px);resize:none;border:1px solid var(--line);border-radius:9px;background:#05070a;color:#cdd9ea;padding:10px;font:9px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.prompt-actions{display:flex;gap:7px;margin-top:7px;flex-wrap:wrap}.action{border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);border-radius:8px;padding:8px 10px;font-size:9px;text-decoration:none;cursor:pointer}.action.primary{background:var(--accent2);border-color:transparent}.prompt-pane .prompt-area{height:calc(100% - 72px)}
.turn-summary{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;font-size:9px;color:var(--muted)}.turn-summary span{padding:4px 6px;border-radius:7px;background:rgba(255,255,255,.04)}.model-label{margin-top:7px;color:var(--muted);font-size:8px}.notice{margin-top:8px;padding:8px 9px;border-radius:8px;font-size:9px;line-height:1.45;border:1px solid var(--line)}.notice.warning{border-color:rgba(245,158,11,.38)}.notice.info{border-color:rgba(129,140,248,.38)}.notice.danger{border-color:rgba(251,113,133,.38)}.text-danger{color:var(--danger)}.inline-retry{margin-left:8px;border:0;background:transparent;color:var(--accent);text-decoration:underline}.loading-status{font-size:10px;color:var(--muted);border-style:dashed}.loading-dots::after{content:'…';animation:blink 1s infinite}@keyframes blink{50%{opacity:.2}}.diagnosis-card{margin-top:9px;padding:9px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.023)}.diagnosis-card-title{font-size:8px;font-weight:900;letter-spacing:.08em;color:var(--accent);margin-bottom:7px}.diagnosis-card-title.investigations{color:var(--claude)}.final-row{font-size:10px;margin-top:6px}.final-assessment{color:var(--muted);font-size:9px;margin-top:2px}.probability.inline{margin-left:6px}
.desktop-statusbar{display:flex;align-items:center;gap:16px;min-width:0;padding:0 12px;border-top:1px solid var(--line);background:#070a0e;color:#657084;font-size:8px;overflow:hidden}.desktop-statusbar span{white-space:nowrap}.desktop-statusbar b{color:#a5b0c0;font-weight:650}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;background:#64748b}.status-dot.ok{background:var(--gpt)}.status-spacer{flex:1;min-width:4px}
.modal{position:fixed;inset:0;z-index:4000;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.76);backdrop-filter:blur(12px)}.modal.show{display:flex}.modal-card{width:min(1000px,91vw);height:min(780px,89vh);display:grid;grid-template-rows:48px minmax(0,1fr);background:#0a0d12;border:1px solid var(--line);border-radius:16px;overflow:hidden}.modal-head{display:flex;align-items:center;padding:0 14px;border-bottom:1px solid var(--line)}.modal-head button{margin-left:auto}.modal-body{min-height:0;padding:12px;overflow:auto}.modal-body pre{white-space:pre-wrap;font:10px/1.55 ui-monospace,monospace;color:#d7e0ef}.server-icon{display:inline-flex!important;align-items:center;justify-content:center;text-decoration:none!important;min-width:35px;padding-left:8px!important;padding-right:8px!important;font-weight:800}
/* Desktop Patient Bot is a compact inspector-side popover. It never covers either clinical chat lane. */
body.desktop-browser-workbench .pb-overlay{left:auto!important;right:8px!important;top:auto!important;bottom:37px!important;width:var(--inspector-w)!important;height:auto!important;max-height:min(56vh,560px)!important;padding:0!important;background:transparent!important;backdrop-filter:none!important;align-items:flex-end!important;justify-content:flex-end!important;pointer-events:none}
body.desktop-browser-workbench .pb-overlay.show{display:flex!important}
body.desktop-browser-workbench .pb-overlay .pb-card{pointer-events:auto;width:100%!important;max-width:none!important;height:auto!important;max-height:min(56vh,560px)!important;overflow:auto!important;border-radius:13px!important;box-shadow:var(--shadow)!important}
body.desktop-browser-workbench.patient-bot-panel-open .analysis-rail{visibility:visible}
body.desktop-browser-workbench .desktop-lane>.pb-status{margin:5px 10px 0;max-width:calc(100% - 20px)}
@media(max-width:1450px){
  :root{--control-w:180px;--inspector-w:340px}
  .control-card{padding:8px}.tool-link small{display:none}.topbar{gap:6px}.top-action{padding:0 8px}.subtitle{display:none}.brand-block{min-width:130px}.clinical-workspace{gap:6px}
  .state-summary span:nth-child(n+3){display:none}
}
@media(max-width:1180px){
  :root{--control-w:56px;--inspector-w:300px}
  .control-rail{padding:6px}.control-card{padding:5px;display:flex;flex-direction:column;align-items:center}.control-kicker,.session-card,.rail-foot,.tool-link.wide>span:last-child,.lane-overview span:nth-child(2),.lane-overview em{display:none}
  .tool-link.wide{display:grid;grid-template-columns:1fr;place-items:center;padding:6px}.tool-link.wide>span:first-child{width:32px;height:32px}.lane-overview{grid-template-columns:1fr;place-items:center;padding:9px 4px}.analysis-rail{grid-template-rows:43px 36px minmax(0,1fr)}.rail-tab{padding:0 6px}.msg{max-width:92%}
  .topbar .subtitle,.topbar>a.top-action:not(.server-icon){display:none}.brand-block{min-width:auto}
}
@media(max-width:950px){
  :root{--control-w:48px;--inspector-w:270px}
  .desktop-body{padding:5px;gap:5px}.clinical-workspace{gap:5px}.analysis-rail{font-size:90%}.topbar .session-chip{display:none}.brand{font-size:16px}.topbar{padding-left:10px}.msg-bubble{font-size:12px;padding:10px}.composer input{font-size:12px}.state-summary{display:none}.lane-head{padding:0 8px}.lane-context{padding:0 8px;gap:6px}.lane-context span:nth-child(2){display:none}
}
@media(max-width:820px){
  :root{--control-w:44px;--inspector-w:240px}
  .desktop-body{padding:4px;gap:4px}.topbar .connection-pill{display:none}.topbar{gap:4px}.top-action{height:32px;font-size:9px}.clinical-workspace{gap:4px}.lane-title small,.composer-hint{display:none}.lane-context span:nth-child(3){display:none}.analysis-rail{grid-template-rows:40px 34px minmax(0,1fr)}
}
@media(max-height:700px){
  .desktop-shell{grid-template-rows:54px minmax(0,1fr) 25px}.topbar{height:54px}.desktop-body{padding-top:5px;padding-bottom:5px}.desktop-lane{grid-template-rows:45px 27px minmax(0,1fr) auto}.chat-scroll{padding-top:10px}.composer{height:43px}.send{width:34px;height:34px;flex-basis:34px}.composer-hint{display:none}
  body.desktop-browser-workbench .pb-overlay{top:59px!important;bottom:30px!important}
}
