@charset "UTF-8";
@import url("/static/fonts.css?v=2");
:root{color-scheme:dark;--font-display:"Jost",sans-serif;--bg:#08090b;--paper:#101114;--ink:#edeeef;--muted:#8b8e98;--line:#25272d;--green:hsl(var(--accent-hue, 152.73) 70.21% 53.92%)}
h1,h2,h3{font-family:var(--font-display)}
*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#343940 transparent}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:14px;font-weight:350;-webkit-font-smoothing:antialiased;background-image:radial-gradient(ellipse at 76% -20%,hsl(var(--accent-hue, 156.00) 44.30% 15.49% / 0.3333),transparent 52%)}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#ffffff02 1px,transparent 1px),linear-gradient(90deg,#ffffff02 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(#000,transparent 75%)}
::selection{background:hsl(var(--accent-hue, 151.58) 41.61% 26.86%);color:#fff}
button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.topbar{height:78px;padding:0 3.2%;display:flex;align-items:center;gap:45px;border-bottom:1px solid var(--line);background:#090a0ce8;backdrop-filter:blur(20px)}
.brand{display:flex;align-items:center;color:#f1f2f3;text-decoration:none;font-family:var(--font-display);font-size:25px;font-weight:400;letter-spacing:-1px;line-height:1}.brand:hover{color:#fff}
.brand-wordmark{display:inline-flex;align-items:baseline;white-space:nowrap;letter-spacing:-.055em;line-height:1}
.brand-med{font-weight:450}.brand-flow{font-weight:200}
.brand-icon{position:relative;width:36px;height:36px;line-height:30px;text-align:center;margin-right:11px;border:1px solid #3b3e43;border-radius:10px;color:#f3f4f5;font-size:30px;background:linear-gradient(135deg,#24272a,#111315);box-shadow:inset 0 1px #ffffff13}
.brand-icon span{position:absolute;top:-6px;right:1px;font-size:22px;font-weight:800;color:var(--green);text-shadow:0 0 16px hsl(var(--accent-hue, 152.73) 70.21% 53.92% / 0.4392)}
.brand-domain{font-size:.48em;font-weight:500;letter-spacing:-.02em;margin-left:.12em;color:hsl(var(--accent-hue, 150.00) 8.43% 67.45%)}
.workspace-label{font-size:10px;color:#797d86;letter-spacing:1.3px}.workspace-label span{padding:0 18px;color:#43464f}
.connection{margin-left:auto;padding:7px 11px;border:1px solid hsl(var(--accent-hue, 146.09) 21.90% 20.59%);background:hsl(var(--accent-hue, 147.27) 29.73% 7.25%);border-radius:20px;color:hsl(var(--accent-hue, 150.00) 19.05% 67.06%);font-size:11px}
.connection::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:7px;background:var(--green);box-shadow:0 0 9px hsl(var(--accent-hue, 152.73) 70.21% 53.92% / 0.4392)}
.connection.offline{color:#d5ab7d;border-color:#57442d;background:#1f1912}.connection.offline::before{background:#e3ad6b}
.workspace{max-width:1900px;padding:42px 3.2% 16px}
.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:20px}
.eyebrow{color:#989da7;font-size:9px;font-family:var(--font-body);letter-spacing:1.7px;margin-bottom:14px}
.status-spark{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 13px hsl(var(--accent-hue, 152.73) 70.21% 53.92% / 0.6902);margin-right:8px}
h1{font-size:clamp(28px,2.8vw,42px);font-weight:550;letter-spacing:-1.8px;margin:0 0 10px}.heading-dot{color:var(--green);text-shadow:0 0 24px hsl(var(--accent-hue, 152.73) 70.21% 53.92% / 0.3333)}
.page-heading p{color:var(--muted);margin:0;font-size:13px}.heading-actions{display:flex;gap:9px}
.btn{border-radius:7px;font-size:12px;padding:10px 16px;transition:background .2s,border-color .2s,box-shadow .2s}
.btn-light,.btn-outline-secondary{background:#131417;color:#d2d4da;border:1px solid #303239;box-shadow:inset 0 1px #ffffff07}
.btn-light:hover,.btn-outline-secondary:hover{background:#202227;border-color:#50535d;color:#fff}.btn:disabled{opacity:.45}
.recording-bar{position:relative;background:linear-gradient(110deg,#16181c,#101215);border:1px solid #32363c;border-radius:12px;display:flex;align-items:center;justify-content:space-between;padding:15px 18px;box-shadow:0 5px 35px #0003,inset 0 1px #ffffff09}
.recording-bar::before{content:"";position:absolute;height:1px;top:-1px;left:25px;right:50%;background:linear-gradient(90deg,transparent,hsl(var(--accent-hue, 149.20) 61.75% 64.12% / 0.4196),transparent)}
.record-controls,.record-options{display:flex;align-items:center;gap:18px}
.record-btn{background:#e9ebef;border-color:#e9ebef;color:#111418;font-weight:600;min-width:115px;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 0 16px #ffffff09}
.record-btn:hover{background:#fff;border-color:#fff;color:#000;box-shadow:0 0 24px #ffffff18}.record-dot{width:8px;height:8px;border-radius:50%;background:hsl(var(--accent-hue, 150.81) 56.92% 25.49%)}
.record-btn.recording{background:#271516;border-color:#773639;color:#ffb6b8}.recording .record-dot{background:#ff6b73;box-shadow:0 0 12px #ff6b7380;animation:breathe 1.6s ease-in-out infinite}
#recordStatus{color:#adb1ba;font-size:12px}#timer{color:#8b919a;border-left:1px solid #34373d;padding-left:18px;font-size:12px;font-family:var(--font-body);font-variant-numeric:tabular-nums}
.form-select{background-color:#15171b;color:#b4b8c2;border-color:#34373e;width:190px;font-size:11px}.live-label{color:hsl(var(--accent-hue, 146.67) 27.84% 61.96%);font-size:11px}
.consent-line{display:flex;align-items:center;gap:8px;color:#8e939e;font-size:11px;margin:14px 0 25px;line-height:1.7}.consent-line input{accent-color:var(--green)}
.clinical-grid{display:grid;grid-template-columns:1fr 1fr 1.04fr;gap:16px;align-items:stretch}
.panel{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 10px 35px #0002,inset 0 1px #ffffff04;transition:border-color .25s,box-shadow .25s}.panel:hover{border-color:#3b3e46}
.panel.is-loading{border-color:hsl(var(--accent-hue, 148.33) 27.69% 25.49%);box-shadow:0 0 28px hsl(var(--accent-hue, 152.73) 70.21% 53.92% / 0.0275),inset 0 1px hsl(var(--accent-hue, 152.73) 70.21% 53.92% / 0.0941)}
.panel.is-loading::before{content:"";position:absolute;z-index:3;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,hsl(var(--accent-hue, 149.24) 84.40% 72.35%),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:edge-light 2s linear infinite;pointer-events:none}
.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 20px 14px;gap:8px}.panel-heading>div{display:flex;align-items:center;gap:10px}
.step{font:10px var(--font-body);color:#9a9eaa;border:1px solid #30333c;border-radius:4px;padding:4px;background:#181a1f}
h2{font-size:14px;font-weight:550;letter-spacing:-.3px;margin:0}.pill{font:8px var(--font-body);letter-spacing:.8px;color:#a1a7b1;background:#171a1f;border:1px solid #30343c;padding:4px 6px;border-radius:4px}
.panel-description{display:flex;align-items:center;gap:7px;font-size:11px;min-height:33px;color:#9298a4;padding:0 20px 16px;margin:0;border-bottom:1px solid #22252a}
.dialog-editor{position:relative;min-height:420px;flex:1}
.dialog-editor textarea,.dialog-editor #dialogHighlights{position:absolute;inset:0;margin:0;white-space:pre-wrap;overflow-wrap:break-word;padding:22px 20px;font:14px/1.95 var(--font-body);border:0;width:100%;height:100%;overflow:auto;border-radius:0;letter-spacing:normal}
.dialog-editor #dialogHighlights{color:transparent;pointer-events:none;scrollbar-width:none}.dialog-editor #dialogHighlights::-webkit-scrollbar{display:none}
.dialog-editor textarea{background:transparent;color:#c5c9d2;resize:none;z-index:1;caret-color:var(--green)}
.dialog-editor mark{color:transparent;background:hsl(var(--accent-hue, 149.30) 39.45% 21.37% / 0.6);border-radius:3px;padding:0;box-shadow:0 0 8px hsl(var(--accent-hue, 152.73) 70.21% 53.92% / 0.0314)}.dialog-editor mark.negated{background:#614c2288}
textarea:focus{outline:1px solid hsl(var(--accent-hue, 152.73) 70.21% 53.92% / 0.3137);outline-offset:-1px}textarea::placeholder{color:#787e8b;font-size:13px}
#txtMedicalHistory{flex:1;min-height:420px;width:100%;resize:none;padding:22px 20px;border:0;background:#111316;color:#bdc3cf;font:13px/1.95 var(--font-body);caret-color:var(--green)}
.panel-footer{display:flex;align-items:center;justify-content:space-between;min-height:49px;gap:6px;border-top:1px solid #25272e;padding:0 17px;font-size:10px;color:#8e94a1}
.legend-dot{display:inline-block;width:7px;height:7px;border-radius:2px;background:hsl(var(--accent-hue, 143.57) 45.65% 36.08%);margin-right:5px}.text-button{background:none;border:0;color:hsl(var(--accent-hue, 146.40) 38.46% 74.51%);font-size:10px;padding:6px 0;white-space:nowrap}.text-button:hover{color:hsl(var(--accent-hue, 145.53) 100.00% 90.78%)}
.count{width:23px;height:23px;display:grid;place-items:center;border:1px solid hsl(var(--accent-hue, 146.67) 14.75% 23.92%);border-radius:6px;background:hsl(var(--accent-hue, 145.00) 21.43% 10.98%);color:hsl(var(--accent-hue, 144.16) 47.24% 68.04%);font:10px var(--font-body)}
.ai-orb{display:inline-block;width:5px;height:5px;background:var(--green);border-radius:50%;box-shadow:0 0 10px hsl(var(--accent-hue, 152.73) 70.21% 53.92% / 0.6275);flex-shrink:0}.engine-tag{margin-left:auto;color:#737c88;font:8px var(--font-body);letter-spacing:1px}
#decisionTree{padding:15px;flex:1;min-height:360px;max-height:620px;overflow:auto}
.empty-state{text-align:center;padding:65px 18px 35px;color:#858d9a}.tree-symbol{display:inline-grid;place-items:center;width:66px;height:66px;font-size:40px;color:hsl(var(--accent-hue, 145.09) 32.54% 66.86%);border:1px solid hsl(var(--accent-hue, 142.00) 22.73% 25.88%);border-radius:18px;background:radial-gradient(ellipse at 50% 20%,hsl(var(--accent-hue, 143.57) 29.79% 18.43%),hsl(var(--accent-hue, 140.00) 15.00% 7.84%));box-shadow:0 0 50px hsl(var(--accent-hue, 152.73) 70.21% 53.92% / 0.0392),inset 0 1px hsl(var(--accent-hue, 144.55) 100.00% 74.12% / 0.102)}
.empty-state h3{font-size:14px;font-weight:500;margin:25px 0 12px;color:hsl(var(--accent-hue, 144.00) 8.47% 76.86%);letter-spacing:-.3px}.empty-state p{max-width:240px;margin:0 auto;font-size:12px;line-height:1.9}.empty-caption{display:block;font:8px var(--font-body);letter-spacing:1.2px;color:hsl(var(--accent-hue, 147.69) 5.83% 43.73%);margin-top:30px}
.diagnosis{border:1px solid hsl(var(--accent-hue, 145.71) 13.21% 20.78%);border-radius:8px;margin-bottom:12px;background:linear-gradient(135deg,hsl(var(--accent-hue, 140.00) 20.00% 11.76% / 0.5333),#121519);box-shadow:0 3px 12px #0002}
.diagnosis.tree-node-entering{animation:node-in var(--ui-move, 140ms) ease-out}
.diagnosis>summary{cursor:pointer;padding:13px;font-size:12px;font-weight:550;line-height:1.7;color:hsl(var(--accent-hue, 141.29) 38.27% 84.12%)}.diagnosis>summary::marker{color:hsl(var(--accent-hue, 144.40) 41.55% 57.06%);font-size:9px}
.branch{margin:0 13px 14px 20px;padding:0 0 0 15px;border-left:1px solid hsl(var(--accent-hue, 138.18) 23.08% 28.04%)}.branch h3{position:relative;font-size:10px;font-weight:600;margin:15px 0 7px;color:hsl(var(--accent-hue, 142.50) 9.64% 67.45%)}.branch h3::before{content:"";position:absolute;left:-19px;top:3px;width:7px;height:7px;border:1px solid hsl(var(--accent-hue, 141.00) 19.23% 40.78%);border-radius:50%;background:hsl(var(--accent-hue, 144.00) 27.27% 10.78%)}
.branch ul{padding-left:14px;font-size:11px;line-height:1.9;color:#a0aaaf;margin:0}.branch li{margin-bottom:4px}
.decision-note{background:hsl(var(--accent-hue, 150.00) 15.79% 7.45%);border-top:1px solid hsl(var(--accent-hue, 142.50) 17.78% 17.65%);padding:13px 18px;font-size:9px;color:hsl(var(--accent-hue, 145.26) 8.92% 58.24%);line-height:1.9;letter-spacing:.3px}.review-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:hsl(var(--accent-hue, 138.75) 17.58% 64.31%);margin-right:5px}
.clinical-alerts{background:#352418;border:1px solid #725137;border-radius:7px;color:#f0c39c;padding:10px 13px;margin:12px 15px 0;font-size:12px;line-height:1.7}.clinical-alerts p{margin:0}
.tree-skeleton{padding:0 20px 15px}.skeleton-line{position:relative;overflow:hidden;background:hsl(var(--accent-hue, 120.00) 11.11% 14.12%);height:7px;border-radius:4px;margin:10px 0;width:70%}.skeleton-line.wide{width:90%;height:10px}.skeleton-line.short{width:45%}
.skeleton-line::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,hsl(var(--accent-hue, 148.97) 100.00% 88.63% / 0.1451),transparent);transform:translateX(-100%);animation:shimmer 1.8s infinite}
.shimmer-text{background:linear-gradient(100deg,hsl(var(--accent-hue, 146.67) 7.76% 54.51%) 30%,hsl(var(--accent-hue, 141.60) 100.00% 95.10%) 50%,hsl(var(--accent-hue, 146.67) 7.76% 54.51%) 70%);background-size:200% auto;color:transparent;background-clip:text;animation:text-shimmer 2s linear infinite}.is-loading #historyStatus{color:hsl(var(--accent-hue, 141.54) 32.77% 76.67%)}
.bottom-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:24px}.bottom-bar>div{color:#b0b5be;font-size:12px}.bottom-bar small{display:block;margin-top:6px;color:#808793;font-size:10px}.draft-dot{display:inline-block;height:5px;width:5px;background:#bca164;border-radius:50%;margin-right:7px}
.save-btn{background:#ebedef;border:1px solid #f2f3f4;color:#171a1e;min-width:175px;font-weight:550;box-shadow:0 0 20px #ffffff09}.save-btn:hover{background:#fff;border-color:#fff;color:#000;box-shadow:0 0 25px #ffffff19}.save-btn span{margin-left:20px}
.local-note{border-top:1px solid #202329;padding-top:18px;color:#787e8a;font-size:10px;margin-top:25px}.interim{min-height:30px;max-height:80px;overflow:auto;padding:4px 20px;color:hsl(var(--accent-hue, 139.02) 22.91% 64.90%);font-size:10px;line-height:1.8}.alert{border-radius:8px;font-size:12px;line-height:1.7}
@keyframes shimmer{to{transform:translateX(100%)}}@keyframes text-shimmer{to{background-position:-200% center}}@keyframes edge-light{from{background-position:-65% 0}to{background-position:165% 0}}@keyframes breathe{50%{opacity:.45}}@keyframes node-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.dialog-editor,#txtMedicalHistory{min-height:480px}}
@media(max-width:1100px){.clinical-grid{grid-template-columns:1fr 1fr}.decision-panel{grid-column:1/-1}#decisionTree{min-height:180px}.empty-state{padding:30px 18px}.workspace-label{display:none}}
@media(max-width:680px){.workspace{padding:27px 16px 16px}.topbar{height:65px;padding:0 16px;gap:10px}.brand{font-size:23px}.connection{font-size:9px;padding:6px 9px}.page-heading{display:block}.heading-actions{margin-top:22px}.recording-bar{align-items:stretch;flex-direction:column;padding:12px;gap:15px}.record-controls{gap:10px}.record-options{justify-content:space-between}.clinical-grid{grid-template-columns:1fr}.decision-panel{grid-column:auto}.dialog-editor,#txtMedicalHistory{min-height:330px}.bottom-bar{align-items:flex-start}.save-btn{min-width:auto}.consent-line{align-items:flex-start;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.shimmer-text{background:none;color:hsl(var(--accent-hue, 142.11) 33.93% 78.04%)}}

/* Compact clinical workspace: the document stays inside the viewport. */
html, body { width: 100%; height: 100%; height: 100dvh; overflow: hidden; }
.topbar { height: 48px; padding: 0 16px; gap: 28px; }
.brand { font-size: 22px; }
.brand-icon { width: 28px; height: 28px; line-height: 23px; font-size: 24px; margin-right: 8px; border-radius: 7px; }
.brand-icon span { font-size: 19px; top: -6px; }
.connection { padding: 4px 9px; font-size: 10px; }
.app-shell { display: flex; height: 100dvh; min-height: 0; overflow: hidden; }
.chat-sidebar { width: 236px; flex: 0 0 236px; display: flex; flex-direction: column; min-height: 0; padding: 12px 8px 8px; border-right: 1px solid var(--line); background: #0c0d10; }
.new-chat-btn { display: flex; align-items: center; justify-content: center; gap: 8px; background: #ededed; color: #111; font-weight: 550; border: 1px solid #ededed; border-radius: 4px; padding: 8px 10px; margin: 0 4px 12px; box-shadow: none; }
.new-chat-btn:hover { background: #d9d9d9; border-color: #d9d9d9; color: #111; box-shadow: none; }
.new-chat-btn span { color: hsl(var(--accent-hue, 148.95) 76.00% 29.41%); font-size: 18px; line-height: 1; }
.sidebar-heading { display: flex; justify-content: space-between; align-items: center; padding: 0 7px 6px; color: #888f9b; font: 9px var(--font-body); letter-spacing: 1px; }
.sidebar-heading button { font-size: 17px; padding: 0 4px; }
.chat-list { overflow: auto; min-height: 0; flex: 1; display: flex; flex-direction: column; gap: 4px; }
.chat-item { position: relative; display: flex; flex-direction: column; gap: 2px; width: 100%; text-align: left; padding: 6px 8px; background: transparent; border: 1px solid transparent; border-radius: 4px; color: #b4b4bc; transition: background .15s, border-color .15s; }
.chat-item:hover { background: #141416; border-color: #252528; }
.chat-item.active { background: #19191c; border-color: #343438; box-shadow: none; }
.chat-item.active:hover { background: #1e1e21; border-color: #45454b; }
.chat-item.active::before { content: ""; position: absolute; left: -1px; top: 50%; transform: translateY(-50%); width: 2px; height: 14px; background: var(--green); }
.chat-item:focus-visible { outline: 1px solid #909098; outline-offset: -1px; }
.chat-item-title { display: flex; align-items: baseline; gap: 6px; width: 100%; }
.chat-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 500; letter-spacing: -.15px; color: #ededed; }
.chat-age { white-space: nowrap; font-size: 9px; color: #92929b; font-variant-numeric: tabular-nums; }
.chat-diagnosis { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; width: 100%; font-size: 10px; color: #a1a1aa; }
.chat-meta { display: flex; justify-content: space-between; align-items: center; width: 100%; color: #85858f; font-size: 9px; font-variant-numeric: tabular-nums; }
.draft-label { font: 8px var(--font-body); color: #c3b17b; }
.sidebar-empty { padding: 15px 8px; font-size: 11px; color: #858d97; }
.sidebar-footer { flex-shrink: 0; padding: 10px 4px 0; margin-top: 8px; border-top: 1px solid #23272c; font-size: 9px; color: hsl(var(--accent-hue, 144.00) 6.07% 51.57%); }
.sidebar-footer .status-spark { width: 4px; height: 4px; margin-right: 4px; }
.sidebar-brand { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 1px 4px 15px; flex-shrink: 0; }
.sidebar-brand .brand { font-size: 19px; white-space: nowrap; }
.sidebar-brand .inmedflow-logo { width:165px; }
.sidebar-brand .sidebar-toggle { margin: 0; width: 26px; }
.sidebar-account { flex-shrink: 0; margin-top: 8px; padding-top: 6px; border-top: 1px solid var(--line); }
.sidebar-account-trigger { display: flex; align-items: center; gap: 9px; width: 100%; padding: 7px 5px; background: transparent; color: hsl(var(--accent-hue, 135.00) 5.00% 84.31%); border: 1px solid transparent; border-radius: 4px; text-align: left; transition: background var(--ui-fast), border-color var(--ui-fast); }
.sidebar-account-trigger:hover, .sidebar-account-trigger[aria-expanded=true] { background: #1b1c1f; border-color: #303236; }
.account-avatar { display: grid; place-items: center; width: 29px; height: 29px; flex-shrink: 0; border: 1px solid hsl(var(--accent-hue, 151.20) 18.52% 26.47%); border-radius: 5px; background: hsl(var(--accent-hue, 148.24) 23.94% 13.92%); color: hsl(var(--accent-hue, 145.26) 46.34% 83.92%); font-size: 12px; }
.account-identity { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
.sidebar-account #accountName { max-width: none; font-size: 11px; color: #dedfe2; }
.sidebar-account .connection { margin: 0; padding: 0; background: none; border: 0; font-size: 9px; border-radius: 0; }
.sidebar-account .connection::before { width: 4px; height: 4px; margin-right: 5px; }
.account-menu-dots { color: #868a91; font-size: 18px; letter-spacing: 1px; }
.sidebar-account-menu { width: 100%; min-width: 0; padding: 5px; background: #191a1d; border: 1px solid #35363a; border-radius: 5px; box-shadow: 0 10px 35px #0008; }
.sidebar-account-menu .dropdown-item { display: flex; align-items: center; gap: 9px; padding: 9px 7px; color: #ced0d5; font-size: 11px; border-radius: 3px; white-space: normal; }
.sidebar-account-menu .dropdown-item:hover, .sidebar-account-menu .dropdown-item:focus { background: #292a2f; color: #fff; }
.sidebar-account-menu .dropdown-item span { width: 15px; text-align: center; color: hsl(var(--accent-hue, 145.00) 6.82% 65.49%); }
.workspace .sidebar-expand { display: none; margin: 0; }
.sidebar-collapsed .workspace .sidebar-expand { display: grid; align-self: flex-start; margin-top: 5px; }
.sidebar-collapsed .patient-heading { margin-right: auto; }
@media(max-width: 850px) { .sidebar-brand .brand { font-size: 19px; } .sidebar-brand .brand-icon { width: 24px; height: 25px; margin-right: 5px; font-size: 22px; } }
@media(max-width: 560px) { .sidebar-brand { flex-wrap: wrap; padding-bottom: 9px; } .sidebar-brand .brand { font-size: 18px; } .sidebar-brand .sidebar-toggle { margin-left: auto; height: 23px; } .sidebar-account-trigger { gap: 5px; padding-inline: 2px; } .account-avatar { width: 22px; height: 25px; } .account-menu-dots { display: none; } .sidebar-account #accountName { font-size: 10px; } .sidebar-account-menu .dropdown-item { font-size: 10px; padding-inline: 4px; } }
.sidebar-footer { display: flex; align-items: center; gap: 4px; }
.sidebar-footer #chatListStatus { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.legal-link { flex-shrink: 0; color: hsl(var(--accent-hue, 147.69) 12.87% 60.39%); text-decoration: none; font-size: 8px; }
.legal-link:hover { color: hsl(var(--accent-hue, 145.71) 41.18% 83.33%); text-decoration: underline; }
.workspace { flex: 1; min-width: 0; min-height: 0; height: 100%; max-width: none; margin: 0; padding: 12px 14px 7px; display: flex; flex-direction: column; gap: 8px; overflow: hidden; }
.workspace > :not(.clinical-grid) { flex-shrink: 0; }
.page-heading { margin: 0; gap: 10px; }
.eyebrow { font-size: 8px; margin-bottom: 3px; letter-spacing: 1.1px; }
h1 { font-size: 23px; letter-spacing: -.8px; margin: 0; }
.heading-actions { margin: 0; gap: 6px; }
.btn { padding: 6px 10px; font-size: 11px; }
.patient-hint { margin-left: auto; color: hsl(var(--accent-hue, 145.00) 4.80% 50.98%); font-size: 9px; }
.recording-bar { padding: 8px 10px; border-radius: 8px; }
.record-btn { min-width: 95px; }
.record-controls, .record-options { gap: 12px; }
#recordStatus, #timer { font-size: 11px; }
.form-select { font-size: 10px; width: 170px; padding-top: 4px; padding-bottom: 4px; }
.consent-line { margin: 0; gap: 6px; font-size: 9px; line-height: 1.4; }
.consent-line input { margin: 0; }
.clinical-grid { flex: 1 1 0; min-height: 0; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr 1.04fr; grid-template-rows: minmax(0, 1fr); gap: 9px; }
.panel { min-height: 0; height: 100%; border-radius: 8px; }
.decision-panel { grid-column: auto; }
.panel-heading { padding: 11px 11px 7px; gap: 5px; flex-shrink: 0; }
.panel-heading > div { gap: 7px; }
h2 { font-size: 12px; }
.step { font-size: 9px; padding: 3px; }
.pill { font-size: 7px; padding: 3px 4px; }
.panel-description { padding: 0 11px 9px; font-size: 10px; min-height: 0; flex-shrink: 0; }
.dialog-editor, #txtMedicalHistory { min-height: 0 !important; }
.dialog-editor { flex: 1 1 0; }
.dialog-editor textarea, .dialog-editor #dialogHighlights { padding: 12px 11px; font-size: 13px; line-height: 1.8; }
#txtMedicalHistory { flex: 1 1 0; padding: 12px 11px; font-size: 12px; line-height: 1.8; }
.history-editor { position: relative; flex: 1 1 0; min-height: 0; overflow: hidden; background: #111316; }
.history-editor #txtMedicalHistory, #historyHighlights { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; border: 0; border-radius: 0; white-space: pre-wrap; overflow-wrap: break-word; }
.history-editor #txtMedicalHistory { background: transparent; z-index: 1; }
#historyHighlights { padding: 12px 11px; font: 12px/1.8 var(--font-body); overflow: auto; color: transparent; pointer-events: none; scrollbar-width: none; }
#historyHighlights::-webkit-scrollbar { display: none; }
.has-panel-search #txtDialog, .has-panel-search #txtMedicalHistory { color: transparent; -webkit-text-fill-color: transparent; }
.has-panel-search #dialogHighlights, .has-panel-search #historyHighlights { color: #c5c9d2; }
.dialog-editor.has-panel-search mark { color: inherit; }
#dialogHighlights mark.search-hit, #historyHighlights mark.search-hit, #decisionTree mark.search-hit { color: #101010; -webkit-text-fill-color: #101010; background: #ffe100; border-radius: 1px; padding: 0; box-shadow: none; }
textarea::placeholder { font-size: 12px; }
.interim { flex-shrink: 0; padding: 2px 11px; min-height: 18px; max-height: 40px; font-size: 9px; }
.panel-footer { flex-shrink: 0; padding: 0 10px; min-height: 34px; font-size: 9px; }
.panel-footer .text-button { font-size: 9px; }
#btnCopyHistory { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 57px; }
#btnCopyHistory svg { flex-shrink: 0; }
#btnCopyHistory .copy-check, #btnCopyHistory.is-copied .copy-icon { display: none; }
#btnCopyHistory.is-copied .copy-check { display: block; }
.history-heading { flex-wrap: wrap; row-gap: 2px; }
.history-heading .history-title { flex-shrink: 0; }
.history-heading .history-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: nowrap; gap: 8px; margin-left: auto; }
.history-actions .text-button { font-size: 9px; padding-block: 4px; }
.history-heading > .pill { display: none; }
@media(min-width: 1500px) { .history-heading > .pill { display: inline-block; } }
#decisionTree { display: block; min-height: 0 !important; max-height: none; flex: 1 1 0; padding: 9px; overflow: auto; }
.empty-state { padding: 28px 8px 15px; }
.tree-symbol { height: 48px; width: 48px; border-radius: 12px; font-size: 30px; }
.empty-state h3 { margin: 15px 0 8px; font-size: 12px; }
.empty-state p { font-size: 11px; line-height: 1.7; }
.empty-caption { font-size: 7px; margin-top: 18px; }
.diagnosis { margin-bottom: 6px; }
.diagnosis > summary { padding: 6px 8px; font-size: 11px; }
.branch { margin: 0 8px 6px 13px; padding-left: 9px; }
.branch h3 { font-size: 9px; margin: 7px 0 3px; }
.branch h3::before { left: -13px; }
.branch ul { padding-left: 12px; font-size: 10px; line-height: 1.7; }
.branch li { margin-bottom: 2px; }
.branch .question-item { list-style: none; margin-bottom: 5px; }
.clinical-question > summary { cursor: pointer; color: #b7c0c5; font-size: 10px; line-height: 1.7; }
.clinical-question > summary::marker { color: hsl(var(--accent-hue, 149) 24% 61%); font-size: 8px; }
.clinical-question > summary:hover { color: #e0e4e7; }
.clinical-question > summary:focus-visible { outline: 1px solid var(--green); outline-offset: 3px; border-radius: 2px; }
.question-objective { margin: 5px 0 8px 3px; padding: 1px 0 1px 10px; border-left: 1px solid hsl(var(--accent-hue, 149) 20% 27%); }
.question-objective p { display: flex; flex-direction: column; gap: 3px; margin: 6px 0; color: #a8b0b6; font-size: 10px; line-height: 1.65; }
.question-objective strong { color: hsl(var(--accent-hue, 149) 19% 68%); font-size: 8px; font-weight: 500; letter-spacing: .3px; }
.question-objective .question-objective-pending { color: #8d959c; font-size: 9px; }
.clinical-warning-dock { position: relative; flex: 0 0 32px; height: 32px; border-top: 1px solid hsl(var(--accent-hue, 150.00) 4.76% 16.47%); background: hsl(var(--accent-hue, 135.00) 11.11% 7.06%); }
.clinical-warning-dock > button { display: flex; align-items: center; gap: 7px; width: 100%; height: 31px; padding: 0 10px; border: 0; background: transparent; color: hsl(var(--accent-hue, 140.00) 6.38% 53.92%); font-size: 9px; text-align: left; transition: color 100ms ease, background-color 100ms ease; }
.clinical-warning-dock > button:disabled { cursor: default; }
.clinical-warning-dock.has-alerts { border-top-color: #685034; background: #2a2117; }
.clinical-warning-dock.has-alerts > button { color: #edc396; }
.clinical-warning-dock.has-alerts > button:hover { background: #ffffff06; }
#clinicalAlertPreview { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.warning-tab-dot { flex-shrink: 0; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.warning-tab-expand { flex-shrink: 0; opacity: .7; }
.clinical-warning-dock > button:disabled .warning-tab-expand { visibility: hidden; }
.clinical-warning-dock .clinical-alerts { position: absolute; top: auto; bottom: calc(100% + 6px); left: 8px; width: calc(100% - 16px); min-width: 0; margin: 0; padding: 11px 12px; max-height: min(230px, 45dvh); overflow: auto; background: #302317; border: 1px solid #795735; border-radius: 5px; color: #f0c39c; font-size: 11px; line-height: 1.65; box-shadow: 0 -8px 28px #0006; }
.clinical-warning-dock .clinical-alerts p + p { margin-top: 8px; }
.tree-requests { display: flex; align-items: center; gap: 3px; height: 10px; flex-shrink: 0; }
.tree-requests:empty { display: none; }
.tree-request-dot { display: block; width: 3px; height: 3px; border-radius: 50%; background: hsl(var(--accent-hue, 146.56) 36.09% 66.86%); opacity: .35; animation: tree-request-pulse 950ms ease-in-out infinite; }
@keyframes tree-request-pulse { 50% { opacity: .9; box-shadow: 0 0 5px hsl(var(--accent-hue, 145.26) 38.78% 61.57% / 0.1882); } }
@media(prefers-reduced-motion: reduce) { .tree-request-dot { animation: none; opacity: .65; } .clinical-warning-dock > button { transition: none; } }
.tree-skeleton { padding: 0 12px 7px; flex-shrink: 0; }
.skeleton-line { height: 5px; margin: 7px 0; }
.decision-note { flex-shrink: 0; font-size: 8px; padding: 7px 11px; line-height: 1.6; }
.bottom-bar { margin: 0; gap: 8px; }
.bottom-bar > div { min-width: 0; font-size: 10px; }
#saveStatus { display: inline-block; max-width: min(50vw, 500px); vertical-align: middle; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.bottom-bar small { font-size: 9px; margin-top: 2px; }
.save-btn { min-width: 145px; }
.local-note { margin: 0; padding: 4px 0 0; font-size: 8px; }
#message { position: fixed; bottom: 14px; right: 18px; z-index: 20; max-width: min(540px, calc(100vw - 35px)); max-height: 24dvh; overflow: auto; margin: 0; padding: 8px 12px; box-shadow: 0 8px 30px #0008; font-size: 11px; }
#message.alert-success { animation: toast-out .2s 5s forwards; pointer-events: none; }
@keyframes toast-out { to { opacity: 0; visibility: hidden; } }
@media(max-height: 700px) {
  .workspace { padding-top: 7px; gap: 6px; }
  .eyebrow, .patient-hint, .bottom-bar small, .local-note { display: none; }
  h1 { font-size: 20px; }
  .panel-description { padding-bottom: 6px; }
  .empty-state { padding-top: 15px; }
  .empty-caption { margin-top: 10px; }
}
@media(max-width: 1150px) {
  .chat-sidebar { width: 205px; flex-basis: 205px; }
  .workspace { padding-left: 10px; padding-right: 10px; }
  .live-label, .patient-hint, .engine-tag { display: none; }
  .panel-heading { flex-wrap: wrap; }
  .panel-heading .pill { display: none; }
  .panel-footer { flex-wrap: wrap; align-content: center; gap: 0 5px; }
}
@media(max-width: 850px) {
  .chat-sidebar { width: 178px; flex-basis: 178px; }
  .clinical-grid { display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; }
  .clinical-grid .panel { flex: 0 0 max(260px, 80%); scroll-snap-align: start; }
  .workspace-label, .heading-actions #btnNew { display: none; }
  .recording-bar { flex-direction: row; align-items: center; gap: 6px; }
  .record-controls { flex-wrap: wrap; gap: 6px; }
  #recordStatus { display: none; }
  .form-select { width: 140px; }
}
@media(max-width: 560px) {
  .topbar { padding: 0 10px; }
  .chat-sidebar { width: 135px; flex-basis: 135px; padding: 8px 4px; }
  .sidebar-heading { font-size: 7px; letter-spacing: .2px; padding-left: 4px; }
  .chat-item { padding: 5px 6px; }
  .chat-item-title { flex-wrap: wrap; gap: 2px 5px; }
  .chat-name { flex-basis: 100%; font-size: 11px; }
  .chat-age, .chat-meta { font-size: 8px; }
  .new-chat-btn { margin: 0 0 8px; padding: 7px 3px; font-size: 10px; }
  .sidebar-footer { font-size: 8px; }
  .page-heading { flex-wrap: wrap; gap: 6px; }
  h1 { font-size: 18px; }
  .heading-actions .btn { font-size: 9px; padding: 4px 6px; }
  .recording-bar { flex-wrap: wrap; }
  .record-options { flex: 1; }
  .form-select { width: 100%; }
  .record-btn { min-width: 75px; }
  .bottom-bar { flex-wrap: wrap; gap: 4px; }
  .save-btn { min-width: 0; width: 100%; }
  .consent-line { font-size: 8px; }
}
.chat-date { display: block; width: 100%; color: #8d8d97; font-size: 8px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.diagnosis-metrics { margin: 0 8px 5px; padding: 0; border-top: 1px solid hsl(var(--accent-hue, 180.00) 5.49% 17.84%); border-bottom: 1px solid hsl(var(--accent-hue, 180.00) 5.49% 17.84%); }
.metrics-summary { display: grid; grid-template-columns: 1fr 1fr 1fr 10px; align-items: center; gap: 6px; padding: 5px 0; list-style: none; cursor: pointer; border-radius: 2px; transition: background-color 100ms ease; }
.metrics-summary::-webkit-details-marker { display: none; }
.metrics-summary:hover { background: #ffffff04; }
.metrics-summary-cell { display: flex; flex-direction: column; gap: 2px; min-width: 0; color: #939da4; font-size: 8px; line-height: 1.4; }
.metrics-summary-cell + .metrics-summary-cell { padding-left: 8px; border-left: 1px solid hsl(var(--accent-hue, 180.00) 5.49% 17.84%); }
.metrics-summary-cell strong { color: hsl(var(--accent-hue, 141.82) 10.89% 80.20%); font-size: 10px; font-weight: 500; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.metrics-summary-cell:first-child strong { color: hsl(var(--accent-hue, 148.24) 58.62% 65.88%); }
.metrics-chevron { color: hsl(var(--accent-hue, 143.08) 6.28% 59.41%); transition: transform 120ms ease; }
.diagnosis-metrics[open] > .metrics-summary .metrics-chevron { transform: rotate(180deg); }
.metrics-detail { padding: 6px 0; border-top: 1px solid hsl(var(--accent-hue, 180.00) 5.49% 17.84%); animation: metrics-reveal 120ms ease-out; }
@keyframes metrics-reveal { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: none; } }
@media(prefers-reduced-motion: reduce) { .metrics-detail { animation: none; } .metrics-chevron, .metrics-summary { transition: none; } }
.metric-row { margin-bottom: 7px; }
.metric-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; color: #a8adb5; font-size: 9px; }
.metric-heading strong { color: hsl(var(--accent-hue, 140.00) 12.00% 85.29%); font: 10px var(--font-body); text-align: right; }
.metric-track { position: relative; height: 5px; margin: 6px 0; background: #292d32; overflow: hidden; border-radius: 1px; }
.probability-range { position: absolute; top: 0; bottom: 0; background: hsl(var(--accent-hue, 152.98) 64.53% 60.20%); border-left: 1px solid hsl(var(--accent-hue, 150.42) 73.20% 80.98%); border-right: 1px solid hsl(var(--accent-hue, 150.42) 73.20% 80.98%); }
.frequency-fill { display: block; height: 100%; background: #8a99bc; transition: width .3s; }
.metric-unavailable { background: repeating-linear-gradient(135deg, #26292d, #26292d 3px, #1b1e22 3px, #1b1e22 6px); }
.metric-loading { background: linear-gradient(90deg, hsl(var(--accent-hue, 160.00) 7.50% 15.69%), hsl(var(--accent-hue, 140.00) 19.51% 51.76% / 0.3333), hsl(var(--accent-hue, 160.00) 7.50% 15.69%)); background-size: 200% 100%; animation: text-shimmer 1.8s linear infinite; }
.metric-note, .metric-source, .metric-disclaimer { display: block; color: #929aa4; font-size: 8px; line-height: 1.6; }
.metric-source { color: hsl(var(--accent-hue, 147.00) 24.69% 68.24%); text-decoration: none; margin-top: 3px; overflow-wrap: anywhere; }
.metric-source:hover { color: hsl(var(--accent-hue, 144.21) 76.00% 85.29%); text-decoration: underline; }
.metric-disclaimer { color: #8c939c; padding-top: 2px; }
.demo-controls { display: flex; align-items: center; gap: 5px; min-width: 0; }
.sidebar-actions { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }
.selection-toggle { background: none; border: 0; color: #929da6; font-size: 9px; padding: 0 7px 9px; }
.selection-toggle:hover, .selection-toggle[aria-pressed=true] { color: hsl(var(--accent-hue, 144.00) 37.50% 84.31%); }
.chat-bulk-actions { display: grid; grid-template-rows: 0fr; flex-shrink: 0; margin: 0 3px; border-radius: 4px; background: hsl(var(--accent-hue, 142.50) 16.00% 9.80%); overflow: hidden; opacity: 0; visibility: hidden; transform: translateY(-3px); }
.chat-bulk-inner { min-height: 0; overflow: hidden; padding: 0 7px; border-radius: inherit; box-shadow: inset 0 0 0 1px hsl(var(--accent-hue, 150.00) 11.67% 23.53%); }
.chat-bulk-inner > div { display: flex; justify-content: space-between; align-items: center; gap: 6px; }
.chat-bulk-inner > div + div { margin-top: 7px; }
.selecting-chats .chat-bulk-actions { grid-template-rows: 1fr; margin-bottom: 7px; opacity: 1; visibility: visible; transform: none; }
.selecting-chats .chat-bulk-inner { padding-block: 7px; }
#selectedChatCount { color: hsl(var(--accent-hue, 142.11) 14.50% 74.31%); font-size: 9px; line-height: 1.5; }
.chat-bulk-actions button { border: 0; background: none; color: hsl(var(--accent-hue, 142.50) 17.39% 63.92%); font-size: 9px; padding: 0; }
.chat-bulk-actions button:disabled { opacity: .4; }
#btnDeleteSelected { background: #3b2024; color: #f1acb4; border: 1px solid #674048; border-radius: 3px; padding: 4px 7px; }
.selecting-chats .chat-item { padding-left: 31px; }
.selecting-chats .chat-item-title { padding-right: 0; }
.selecting-chats .chat-item .chat-more { opacity: 0; visibility: hidden; pointer-events: none; }
.chat-item.bulk-selected { background: hsl(var(--accent-hue, 145.71) 23.33% 11.76%); border-color: hsl(var(--accent-hue, 145.00) 20.45% 34.51%); }
.chat-select { position: absolute; top: 12px; left: 9px; width: 13px; height: 13px; accent-color: hsl(var(--accent-hue, 150.42) 55.91% 50.20%); cursor: pointer; opacity: 0; visibility: hidden; transform: translateX(-5px) scale(.9); }
.selecting-chats .chat-select { opacity: 1; visibility: visible; transform: none; }
.sidebar-toggle { flex-shrink: 0; display: grid; place-items: center; width: 26px; height: 28px; padding: 0; margin-right: -15px; border: 0; background: none; color: hsl(var(--accent-hue, 140.00) 6.38% 63.14%); border-radius: 3px; }
.sidebar-toggle:hover { color: hsl(var(--accent-hue, 144.00) 22.73% 91.37%); background: hsl(var(--accent-hue, 154.29) 9.86% 13.92%); }
.sidebar-collapsed .chat-sidebar { width: 0; flex-basis: 0; padding: 0; border: 0; overflow: hidden; visibility: hidden; }
.chat-search { width: calc(100% - 8px); margin: 0 4px 12px; min-height: 29px; flex-shrink: 0; border: 1px solid #30343a; border-radius: 4px; background: #111418; color: hsl(var(--accent-hue, 140.00) 11.11% 89.41%); padding: 5px 8px; font-size: 10px; }
.chat-search:focus { outline: 1px solid hsl(var(--accent-hue, 147.54) 30.96% 38.63%); outline-offset: -1px; }
.recording-dock[hidden], .recording-dock [hidden] { display: none !important; }
.recording-dock { flex-shrink: 0; padding: 6px 10px; border: 1px solid hsl(var(--accent-hue, 156.00) 10.64% 18.43%); border-radius: 4px; background: hsl(var(--accent-hue, 156.00) 15.15% 6.47%); max-height: 34%; overflow: auto; }
.dialog-panel > .recording-dock { margin: 0 10px 7px; min-height: 0; }
.recording-dock > summary { color: hsl(var(--accent-hue, 145.71) 16.80% 75.49%); font-size: 10px; cursor: pointer; }
.recording-dock > summary span { color: hsl(var(--accent-hue, 141.82) 8.87% 48.63%); font-size: 8px; }
.recording-transport { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 5px; }
.recording-transport select { background: hsl(var(--accent-hue, 145.71) 14.89% 9.22%); border: 1px solid hsl(var(--accent-hue, 147.69) 10.92% 23.33%); border-radius: 3px; color: hsl(var(--accent-hue, 145.71) 14.00% 80.39%); padding: 4px 7px; font-size: 10px; max-width: 230px; }
.recording-transport audio { height: 28px; width: 280px; max-width: 100%; }
#recordingStatus, #recordingVtt { font-size: 9px; color: hsl(var(--accent-hue, 142.70) 18.78% 61.37%); }
#recordingVtt { margin-left: auto; text-decoration: none; }
.recording-visuals { display: flex; gap: 10px; margin-top: 5px; height: 24px; }
#recordingWaveform { flex: 1; min-width: 0; width: 80%; height: 24px; }
#recordingSpectrum { flex: 0 0 100px; width: 100px; height: 24px; border-left: 1px solid hsl(var(--accent-hue, 143.33) 18.00% 19.61%); padding-left: 8px; }
.recording-subtitle { color: hsl(var(--accent-hue, 145.71) 21.65% 80.98%); font-size: 11px; line-height: 1.6; padding: 4px 0; overflow-wrap: anywhere; }
.subtitle-list { font-size: 9px; color: hsl(var(--accent-hue, 145.38) 11.61% 56.08%); }
#recordingCues { max-height: 90px; overflow: auto; margin-top: 5px; }
.subtitle-cue { display: block; width: 100%; text-align: left; background: none; color: hsl(var(--accent-hue, 146.09) 15.23% 70.39%); border: 0; border-left: 1px solid hsl(var(--accent-hue, 140.00) 25.71% 27.45%); font-size: 10px; padding: 5px 8px; }
.subtitle-cue:hover { background: hsl(var(--accent-hue, 144.00) 21.74% 13.53%); }
.suggested-studies strong { display: block; font-size: 10px; font-weight: 550; color: hsl(var(--accent-hue, 142.50) 10.81% 85.49%); }
.suggested-studies small { display: block; font-size: 9px; color: #a2aab4; line-height: 1.7; }
.suggested-studies li { margin-bottom: 5px; }
.suggested-studies .study-indication { color: hsl(var(--accent-hue, 145.00) 10.53% 55.29%); }
.suggested-studies .reference-gap { color: #a99a7a; font-size: 8px; }
.reference-badge { display: inline-block; margin-left: 5px; color: hsl(var(--accent-hue, 149.33) 53.57% 67.06%); font-size: 9px; text-decoration: none; }
.reference-badge:hover { color: hsl(var(--accent-hue, 151.30) 69.70% 87.06%); text-decoration: underline; }
.clinical-reference { margin: 4px 0 6px; padding-left: 6px; border-left: 1px solid hsl(var(--accent-hue, 148.12) 23.53% 26.67%); }
.clinical-reference > a, .library-book > a { font-size: 10px; color: hsl(var(--accent-hue, 147.50) 37.50% 74.90%); text-decoration: none; overflow-wrap: anywhere; }
.clinical-reference > small, .library-book > small { display: block; font-size: 8px; color: #919ba7; line-height: 1.7; }
.reference-note { font-size: 8px; line-height: 1.7; color: #89949d; margin: 4px 0 6px; }
.reference-links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 3px; }
.reference-links a { color: hsl(var(--accent-hue, 144.00) 19.77% 65.29%); font-size: 8px; text-decoration: none; }
.reference-retry { font-size: 9px; }
.reference-library { flex-shrink: 0; padding: 7px 11px; border-top: 1px solid hsl(var(--accent-hue, 160.00) 7.14% 16.47%); max-height: 27%; overflow: auto; font-size: 9px; color: hsl(var(--accent-hue, 147.69) 15.48% 67.06%); }
.reference-library summary { cursor: pointer; }
.reference-library > p { font-size: 8px; color: #8c969f; line-height: 1.7; margin: 8px 0; }
.library-book { margin: 8px 0 12px; }
.clinical-reference a:hover, .reference-links a:hover, .library-book a:hover { color: hsl(var(--accent-hue, 146.67) 47.37% 88.82%); text-decoration: underline; }
.archive-toggle { align-self: flex-start; border: 0; background: none; color: #8c929c; font-size: 9px; padding: 0 8px 9px; }
.archive-toggle:hover, .archive-toggle[aria-pressed=true] { color: hsl(var(--accent-hue, 144.00) 13.16% 85.10%); }
.chat-item { position: relative; cursor: pointer; }
.chat-item-title { padding-right: 56px; }
.chat-pin { position:absolute;top:8px;right:31px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);opacity:.65;cursor:pointer; }
.chat-pin[aria-pressed=true] { color:var(--green);opacity:1; }
.chat-pin[aria-pressed=true] .pin-head { fill:currentColor;fill-opacity:.2; }
.chat-pin:hover,.chat-pin:focus-visible { color:var(--green);opacity:1;background:var(--theme-soft,#203328);border-color:var(--theme-line,#35453b); }
.chat-pin:focus-visible { outline:2px solid var(--green);outline-offset:1px; }
.chat-pin:disabled { cursor:wait;opacity:.35; }
.selecting-chats .chat-pin { visibility:hidden;pointer-events:none; }
.chat-more { position: absolute; top: 10px; right: 5px; height: 22px; width: 22px; padding: 0; border: 0; border-radius: 3px; color: #8e959f; background: transparent; font-size: 16px; line-height: 1; opacity: 0; }
.chat-item:hover .chat-more, .chat-item:focus-within .chat-more { opacity: 1; }
.chat-more:hover, .chat-more:focus-visible { background: #292c31; color: #eee; }
.chat-item:focus-visible { outline: 1px solid hsl(var(--accent-hue, 151.14) 33.91% 45.69%); outline-offset: -1px; }
.chat-context-menu[hidden] { display: none !important; }
.chat-context-menu { position: fixed; z-index: 1060; min-width: 176px; padding: 5px; border: 1px solid #33373c; border-radius: 5px; background: #17191d; box-shadow: 0 12px 38px #0008; }
.chat-context-menu .dropdown-item { display: flex; align-items: center; gap: 10px; border-radius: 3px; padding: 8px 10px; font-size: 11px; color: #c8cdd5; }
.chat-context-menu .dropdown-item > span:first-child { width: 12px; text-align: center; }
.chat-context-menu .dropdown-item:focus, .chat-context-menu .dropdown-item:hover { background: #292d32; color: #fff; }
.chat-context-menu .dropdown-item:disabled { opacity: .35; }
.chat-context-menu .dropdown-divider { border-color: #34373d; margin: 4px 5px; }
.medflow-modal [hidden] { display: none !important; }
@media(hover: none) { .chat-more { opacity: 1; } }
.medflow-modal { --bs-modal-width: 430px; --bs-modal-bg: #111316; --bs-modal-border-color: #34383e; --bs-modal-border-radius: 6px; --bs-modal-header-border-color: #272b30; --bs-modal-footer-border-color: #272b30; }
.medflow-modal .modal-content { box-shadow: 0 24px 90px #0009; }
.medflow-modal .modal-header { padding: 16px 18px; }
.medflow-modal .modal-title { font-size: 15px; font-weight: 600; letter-spacing: -.3px; margin: 0; }
.medflow-modal .modal-body { padding: 18px; color: #aeb6c1; font-size: 12px; line-height: 1.8; }
.medflow-modal .modal-footer { padding: 10px 14px; gap: 5px; }
.medflow-modal .btn { border-radius: 4px; font-size: 11px; padding: 7px 11px; }
.medflow-modal .btn-close { font-size: 10px; }
.modal-backdrop { --bs-backdrop-opacity: .72; }
.decision-panel .decision-heading { flex-wrap: nowrap; padding: 9px; gap: 8px; border-bottom: 1px solid #22252a; }
.decision-heading .decision-title { flex-shrink: 0; gap: 6px; }
.decision-heading h2 { font-size: 12px; white-space: nowrap; }
.decision-status { display: flex; align-items: center; justify-content: flex-end; gap: 5px; flex: 1; min-width: 0; color: #9298a4; font-size: 9px; }
.decision-status #aiStatus { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.decision-status .engine-tag { display: inline; margin-left: 2px; flex-shrink: 0; font-size: 7px; letter-spacing: .5px; }
.decision-heading .count { flex-shrink: 0; width: 20px; height: 20px; border-radius: 4px; }
.demo-select { width: 215px; max-width: 22vw; border-radius: 4px; font-size: 10px; }
.demo-controls .btn { white-space: nowrap; }
@media(max-width: 850px) { .demo-select { width: 155px; max-width: 24vw; } }
@media(max-width: 560px) { .demo-select { width: 112px; max-width: 28vw; font-size: 9px; } }

/* Short interface transitions; state changes and keyboard access are immediate. */
:root { --ui-fast: 100ms; --ui-move: 140ms; --ui-sidebar: 160ms; --ui-ease: cubic-bezier(.2,.8,.2,1); }
.chat-sidebar { --sidebar-width: 236px; --sidebar-inset: 17px; min-width: 0; width: var(--sidebar-width); flex-basis: var(--sidebar-width); overflow: hidden; transition: width var(--ui-sidebar) var(--ui-ease), flex-basis var(--ui-sidebar) var(--ui-ease), padding var(--ui-sidebar) var(--ui-ease), border-color var(--ui-sidebar) var(--ui-ease), visibility 0s linear; }
.sidebar-content { width: calc(var(--sidebar-width) - var(--sidebar-inset)); min-width: calc(var(--sidebar-width) - var(--sidebar-inset)); height: 100%; min-height: 0; display: flex; flex-direction: column; opacity: 1; transform: none; transition: opacity var(--ui-fast) ease-out, transform var(--ui-sidebar) var(--ui-ease); }
.sidebar-collapsed .chat-sidebar { transition-delay: 0s, 0s, 0s, 0s, var(--ui-sidebar); }
.sidebar-collapsed .sidebar-content { opacity: 0; transform: translateX(-8px); }
.chat-bulk-actions { transition: grid-template-rows var(--ui-move) var(--ui-ease), margin var(--ui-move) var(--ui-ease), opacity var(--ui-fast) ease-out, transform var(--ui-move) var(--ui-ease), visibility 0s linear var(--ui-move); }
.selecting-chats .chat-bulk-actions { transition-delay: 0s; }
.chat-bulk-inner { transition: padding var(--ui-move) var(--ui-ease); }
.chat-item { transition: padding var(--ui-move) var(--ui-ease), background-color var(--ui-fast) ease-out, border-color var(--ui-fast) ease-out; }
.chat-item-title { transition: padding var(--ui-move) var(--ui-ease); }
.chat-select { transition: opacity var(--ui-fast) ease-out, transform var(--ui-move) var(--ui-ease), visibility 0s linear var(--ui-move); }
.selecting-chats .chat-select { transition-delay: 0s; }
.chat-more { transition: opacity var(--ui-fast) ease-out, background-color var(--ui-fast) ease-out, color var(--ui-fast) ease-out; }
.btn, .text-button, .sidebar-toggle, .selection-toggle, .archive-toggle, .chat-bulk-actions button, .chat-context-menu .dropdown-item { transition: background-color var(--ui-fast) ease-out, border-color var(--ui-fast) ease-out, color var(--ui-fast) ease-out, opacity var(--ui-fast) ease-out; }
.medflow-modal.fade { transition: opacity var(--ui-fast) ease-out; }
.medflow-modal.fade .modal-dialog { transform: translateY(6px); transition: transform var(--ui-move) var(--ui-ease); }
.medflow-modal.show .modal-dialog { transform: none; }
.modal-backdrop.fade { transition: opacity var(--ui-fast) ease-out; }
.diagnosis { animation-duration: var(--ui-move); }
@media(max-width: 1150px) { .chat-sidebar { --sidebar-width: 205px; } }
@media(max-width: 850px) { .chat-sidebar { --sidebar-width: 178px; } }
@media(max-width: 560px) { .chat-sidebar { --sidebar-width: 135px; --sidebar-inset: 9px; } }

/* Patient details read as the heading, becoming inline fields on hover/focus. */
.patient-heading { min-width: min(100%, 230px); flex: 1; }
.patient-heading-line { display: flex; align-items: baseline; gap: 13px; min-width: 0; }
.patient-heading-line h1 { min-width: 0; max-width: 100%; line-height: 1.4; }
.patient-name-edit, .patient-age-edit { position: relative; display: inline-block; margin: 0; cursor: text; border-radius: 3px; }
.patient-name-edit { max-width: 100%; min-width: 150px; padding-right: 22px; vertical-align: bottom; }
#chatTitle { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.patient-age-edit { flex-shrink: 0; min-width: 66px; color: hsl(var(--accent-hue, 140.00) 5.83% 59.61%); font-size: 13px; line-height: 28px; }
.patient-inline-input { position: absolute; inset: 0; min-width: 0; height: 100%; padding: 0; border: 0; border-bottom: 1px solid transparent; border-radius: 0; background: transparent; color: inherit; font: inherit; outline: none; box-shadow: none; opacity: 0; pointer-events: none; transition: opacity var(--ui-fast) ease-out, border-color var(--ui-fast) ease-out, background-color var(--ui-fast) ease-out; }
.patient-name-edit #patientName { width: calc(100% - 20px); min-width: 0; font-weight: inherit; letter-spacing: inherit; }
.patient-age-edit #patientAge { width: calc(100% - 29px); min-width: 30px; appearance: textfield; -moz-appearance: textfield; }
.patient-age-edit #patientAge::-webkit-inner-spin-button, .patient-age-edit #patientAge::-webkit-outer-spin-button { appearance: none; margin: 0; }
.patient-edit-icon, .patient-age-unit { position: absolute; right: 0; top: 0; opacity: 0; color: hsl(var(--accent-hue, 146.18) 25.11% 57.06%); font-size: 12px; pointer-events: none; transition: opacity var(--ui-fast) ease-out; }
.patient-name-edit:hover #chatTitle, .patient-name-edit:focus-within #chatTitle, .patient-age-edit:hover #patientAgeDisplay, .patient-age-edit:focus-within #patientAgeDisplay { opacity: 0; }
.patient-name-edit:hover .patient-inline-input, .patient-name-edit:focus-within .patient-inline-input, .patient-age-edit:hover .patient-inline-input, .patient-age-edit:focus-within .patient-inline-input { opacity: 1; pointer-events: auto; border-bottom-color: hsl(var(--accent-hue, 144.71) 20.73% 32.16%); }
.patient-name-edit:hover .patient-edit-icon, .patient-name-edit:focus-within .patient-edit-icon, .patient-age-edit:hover .patient-age-unit, .patient-age-edit:focus-within .patient-age-unit { opacity: 1; }
.patient-inline-input:focus { border-bottom-color: hsl(var(--accent-hue, 147.27) 41.90% 58.82%) !important; background: hsl(var(--accent-hue, 143.08) 35.14% 14.51% / 0.2078); }
.patient-inline-input:disabled { cursor: wait; }
@media(hover: none) {
  .patient-name-edit #chatTitle, .patient-age-edit #patientAgeDisplay { opacity: 0; }
  .patient-inline-input { opacity: 1; pointer-events: auto; border-bottom-color: hsl(var(--accent-hue, 145.71) 18.92% 21.76%); }
  .patient-edit-icon, .patient-age-unit { opacity: 1; }
}
@media(max-width: 560px) { .patient-heading { flex-basis: 100%; } .patient-name-edit { min-width: min(115px, 100%); } .patient-heading-line { gap: 8px; } .patient-age-edit { font-size: 11px; min-width: 58px; } }

/* Menus keep Popper's positioning while easing in and out on separate axes. */
.dropdown-menu {
  opacity: 0; translate: 0 5px; scale: .985;
  transform-origin: 50% 100%; pointer-events: none;
  transition: opacity 160ms ease, translate 200ms cubic-bezier(.22,1,.36,1), scale 200ms cubic-bezier(.22,1,.36,1), display 200ms allow-discrete;
}
.dropdown-menu.show { opacity: 1; translate: 0 0; scale: 1; pointer-events: auto; }
.dropdown-menu .dropdown-item { transition: background-color 160ms ease, color 160ms ease; }
@starting-style {
  .dropdown-menu.show { opacity: 0; translate: 0 5px; scale: .985; }
}
.recording-dock > summary { transition: color 180ms ease; }
.recording-dock > summary:hover { color: hsl(var(--accent-hue, 146.09) 34.33% 86.86%); }

/* A faint highlight travels along the border, with a long quiet interval. */
@property --border-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
:where(.btn, .account-primary, .sidebar-account-trigger, .sidebar-toggle, .text-button, .archive-toggle, .selection-toggle, .chat-bulk-actions button, .chat-more) { position: relative; }
:is(.btn, .account-primary, .sidebar-account-trigger, .sidebar-toggle, .text-button, .archive-toggle, .selection-toggle, .chat-bulk-actions button, .chat-more)::before {
  content: ''; position: absolute; inset: 0; padding: 1px; border-radius: inherit; pointer-events: none;
  background: conic-gradient(from var(--border-angle), transparent 0% 76%, hsl(var(--accent-hue, 148.60) 75.44% 77.65% / 0.4196) 86%, hsl(var(--accent-hue, 141.43) 100.00% 94.51% / 0.702) 90%, hsl(var(--accent-hue, 148.54) 51.25% 68.63% / 0.251) 94%, transparent 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: 0; animation: border-shimmer 8s ease-in-out 900ms infinite;
}
:is(.btn, .account-primary, .sidebar-account-trigger, .sidebar-toggle, .text-button, .archive-toggle, .selection-toggle, .chat-bulk-actions button, .chat-more):disabled::before { animation: none; opacity: 0; }
.sidebar-heading button::before, .sidebar-actions button::before { content: none; animation: none; }
@keyframes border-shimmer {
  0% { --border-angle: 0deg; opacity: 0; }
  8% { opacity: .45; }
  36% { --border-angle: 360deg; opacity: .45; }
  44%, 100% { --border-angle: 360deg; opacity: 0; }
}

/* A single, soft sheen greets the user on each page load. */
.brand-wordmark { position: relative; overflow: hidden; }
.brand-wordmark::after, .brand-icon::after {
  content: ''; position: absolute; inset: -4px 0; pointer-events: none;
  background: linear-gradient(110deg, transparent 25%, hsl(var(--accent-hue, 146.90) 100.00% 94.31% / 0.1882) 50%, transparent 75%);
  transform: translateX(-130%); opacity: 0;
  animation: brand-sheen 1600ms cubic-bezier(.22,.61,.36,1) 300ms both;
}
.brand-icon { overflow: hidden; }
@keyframes brand-sheen {
  0% { transform: translateX(-130%); opacity: 0; }
  22% { opacity: .7; }
  70% { opacity: .5; }
  100% { transform: translateX(130%); opacity: 0; }
}
@media(prefers-reduced-motion: reduce) {
  .dropdown-menu, .dropdown-menu .dropdown-item, .recording-dock > summary { transition: none; }
  .brand-wordmark::after, .brand-icon::after,
  :is(.btn, .account-primary, .sidebar-account-trigger, .sidebar-toggle, .text-button, .archive-toggle, .selection-toggle, .chat-bulk-actions button, .chat-more)::before { animation: none; opacity: 0; }
}

/* The red halo follows actual audio capture; command listening stays neutral. */
/* Every accent keeps its original saturation/lightness; recording shares a red hue. */
.recording-dock { --audio-signal: hsl(var(--accent-hue, 147.08) 51.13% 56.67%); --audio-signal-muted: hsl(var(--accent-hue, 158.18) 8.40% 25.69%); --audio-spectrum: hsl(var(--accent-hue, 149.07) 39.29% 51.57%); }
.workspace { position: relative; isolation: isolate; }
.workspace::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0; background: radial-gradient(ellipse at 80% 0%, #a12d3b42, transparent 65%), radial-gradient(ellipse at 10% 100%, #77213230, transparent 55%); transition: opacity 500ms ease; }
body.is-recording { --accent-hue: 354; --green: #ec707c; background-image: radial-gradient(ellipse at 76% -20%, #65232d66, transparent 52%); }
.is-recording .workspace::before { opacity: 1; }
.is-recording .page-heading .status-spark { background: #ec707a; box-shadow: 0 0 13px #ed596d60; }
.is-recording .live-label { color: #eaa0a8; }
@media(prefers-reduced-motion: reduce) { .workspace::before { transition: none; } }
.billing-banner[hidden] { display: none; }
.billing-banner { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-shrink: 0; padding: 10px 13px; border: 1px solid #35493e; border-radius: 8px; background: #142019; }
.billing-banner strong { color: #c6dfcf; font-size: 11px; font-weight: 500; }
.billing-banner p { margin: 3px 0 0; color: #9db1a5; font-size: 10px; line-height: 1.6; }
.billing-banner a { flex-shrink: 0; color: #d0eddb; border: 1px solid #466351; border-radius: 6px; padding: 7px 10px; text-decoration: none; font-size: 10px; }
.billing-banner a:hover { background: #233b2c; }
@media(max-width: 680px) { .billing-banner { gap: 10px; padding: 8px 10px; } .billing-banner a { padding: 6px; font-size: 9px; } }
