:root{color-scheme:light;--font-sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Segoe UI","Microsoft YaHei",sans-serif;--text-3xl:34px;--leading-3xl:1.1;--space-9:40px;--space-10:56px;--gray-50:#f8faf9;--gray-100:#f1f4f3;--gray-200:#e4ebe8;--gray-300:#d2ddd9;--gray-400:#a7b8b2;--gray-500:#788b85;--gray-600:#596a64;--gray-700:#384842;--gray-800:#22302b;--gray-900:#111c18;--blue:#3867a6;--blue-soft:rgba(56,103,166,0.1);--warn:#8f4b0e;--warn-soft:rgba(143,75,14,0.12);--danger:#b4333a;--danger-soft:rgba(180,51,58,0.11);--ok:#1d6b3b;--ok-soft:rgba(29,107,59,0.12);}
*{box-sizing:border-box;}
body{margin:0;min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
body.panel-fullscreen-open{overflow:hidden;}
body.tool-modal-open{overflow:hidden;}
body.print-modal-open{overflow:hidden;}
body.safety-modal-open{overflow:hidden;}
button,input,textarea{font:inherit;}
button{-webkit-tap-highlight-color:transparent;}
button:active{transform:translateY(0) scale(0.99);}

/* ══════════════════════════════════════════════════════════════
   无障碍增强 - WCAG AA标准焦点状态
   ══════════════════════════════════════════════════════════════ */
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid rgba(12,124,114,0.6);
  outline-offset: 2px;
  /* 确保在任何背景上都有足够对比度 */
  box-shadow: 0 0 0 1px #ffffff, 0 0 0 4px rgba(12,124,114,0.4);
}

/* 机构试点：教师端工作区 */
.educator-entry-btn {
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  color: var(--accent-dark, var(--accent));
  font-weight: 700;
  cursor: pointer;
}
.account-entry{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;}
.educator-entry-btn.attempt-expired { border-color: var(--danger); color: var(--danger); }
.voice-toggle-btn .voice-off-mark{display:none;}
.voice-toggle-btn.active{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:var(--accent-soft);color:var(--accent-dark);}
.voice-toggle-btn:not(.active) .voice-wave{display:none;}
.voice-toggle-btn:not(.active) .voice-off-mark{display:block;}
.voice-toggle-btn.unsupported{opacity:.5;}

.educator-backdrop {
  position: fixed;
  inset: 0;
  z-index: 140;
  background: rgba(8, 22, 31, .48);
  backdrop-filter: blur(8px);
}

.educator-panel {
  position: fixed;
  inset: 4vh max(3vw, 24px);
  z-index: 141;
  display: grid;
  grid-template-rows: auto auto 1fr;
  max-width: 1180px;
  margin: auto;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--surface, #fff);
  box-shadow: 0 24px 80px rgba(6, 26, 35, .26);
}

.educator-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 26px 14px;
  border-bottom: 1px solid var(--line);
}

.educator-header h2, .educator-card h3 { margin: 2px 0 4px; }
.educator-header .icon-btn svg { width: 20px; height: 20px; }

.educator-tabs {
  display: flex;
  gap: 6px;
  padding: 10px 24px;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
}

.educator-tabs button {
  min-height: 36px;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}

.educator-tabs button.active { background: var(--accent-soft); color: var(--accent-dark, var(--accent)); }
.educator-content { overflow-y: auto; padding: 20px 24px 28px; background: var(--bg, #f4f7f7); }
.educator-content[data-motion]{will-change:transform,opacity;}
.educator-content [data-report-motion-target]{will-change:transform,opacity;}
.educator-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }

.metric-card, .educator-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface, #fff);
  box-shadow: 0 8px 24px rgba(12, 42, 51, .05);
}

.metric-card { display: grid; gap: 6px; padding: 16px; }
.metric-card span { color: var(--muted); font-size: .82rem; }
.metric-card strong { font-size: 1.65rem; }
.educator-card { padding: 18px; margin-bottom: 16px; }
.educator-connection-state{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--warn) 34%,var(--line));border-radius:14px;background:var(--warn-soft);color:var(--text);}
.educator-connection-state div{display:grid;gap:4px;min-width:0;}
.educator-connection-state p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.55;}
.educator-connection-state .ghost-btn{flex:0 0 auto;min-height:44px;}
.educator-loading-mark{width:20px;height:20px;flex:0 0 auto;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:educatorConnectionSpin .8s linear infinite;}
@keyframes educatorConnectionSpin{to{transform:rotate(360deg)}}
.educator-empty-state{display:grid;justify-items:start;gap:6px;min-height:110px;padding:18px;border:1px dashed var(--line-strong);border-radius:13px;background:var(--surface-soft);align-content:center;}
.educator-empty-state p{max-width:68ch;margin:0;color:var(--muted);font-size:.82rem;line-height:1.6;}
.educator-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.educator-section-head > span { color: var(--muted); font-size: .82rem; }
.readiness-list { display: grid; gap: 0; }
.readiness-list > div { display: grid; grid-template-columns: 12px 1fr auto; align-items: center; gap: 10px; padding: 11px 0; border-top: 1px solid var(--line); }
.readiness-list strong { font-size: .8rem; }
.readiness-dot { width: 9px; height: 9px; border-radius: 50%; }
.readiness-dot.ready { background: var(--ok); }
.readiness-dot.pending { background: var(--warn); }
.educator-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.educator-form label { display: grid; gap: 6px; color: var(--muted); font-size: .82rem; font-weight: 700; }
.educator-form label > small { color: var(--muted); font-size: .72rem; font-weight: 500; line-height: 1.5; }
.educator-form input, .educator-form textarea, .educator-form select { width: 100%; padding: 10px 11px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--text); font: inherit; resize: vertical; }
.educator-form .span-2 { grid-column: 1 / -1; }
.educator-form fieldset { padding: 12px; border: 1px solid var(--line); border-radius: 12px; }
.educator-form [hidden] { display: none !important; }
.educator-form legend { padding: 0 6px; color: var(--muted); font-size: .8rem; font-weight: 700; }
.case-form-section { min-width: 0; margin: 0; background: var(--surface-soft); }
.case-form-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.case-form-head-actions .ghost-btn { min-height: 36px; }
.case-form-section legend { color: var(--text); font-size: .84rem; }
.case-form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.case-form-fields .span-2 { grid-column: 1 / -1; }
.case-form-section textarea { line-height: 1.55; }
.case-simulation-summary { display: block; margin-top: 6px; color: var(--accent-dark) !important; }
.case-library-filter { grid-template-columns: minmax(0, 2fr) minmax(160px, 1fr); margin-bottom: 8px; }
.case-filter-summary { min-height: 1.3em; margin: 0 0 10px; color: var(--muted); font-size: .78rem; }
.case-publishing-readiness { display: block; margin-top: 6px; font-weight: 700; }
.case-publishing-readiness.complete { color: var(--ok) !important; }
.case-publishing-readiness.pending { color: var(--warn) !important; }
.case-review-feedback { display: block; margin-top: 6px; color: var(--danger) !important; font-weight: 700; }
.case-review-history{list-style:none;margin:0;padding:0;display:grid;gap:0}.case-review-history li{position:relative;padding:0 0 18px 22px;border-left:2px solid var(--hairline)}.case-review-history li:last-child{padding-bottom:0}.case-review-history li::before{content:"";position:absolute;left:-6px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--panel)}.case-review-history li>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.case-review-history time{color:var(--muted);font-size:.78rem;white-space:nowrap}.case-review-history p{margin:4px 0 0;color:var(--muted);font-size:.84rem;overflow-wrap:anywhere}
.case-import-errors{margin:0;padding-left:20px;display:grid;gap:8px;color:var(--danger);font-size:.88rem}.case-import-errors li{padding-left:4px;overflow-wrap:anywhere}
.case-batch-preview{list-style:none;margin:0;padding:0;display:grid;gap:10px}.case-batch-preview li{padding:10px 0;border-bottom:1px solid var(--hairline)}.case-batch-preview li:last-child{border-bottom:0}.case-batch-preview li>div{display:flex;justify-content:space-between;gap:12px}.case-batch-preview span{font-size:.78rem;font-weight:700;white-space:nowrap}.case-batch-preview .valid span{color:var(--ok)}.case-batch-preview .invalid span,.case-batch-preview .invalid p{color:var(--danger)}.case-batch-preview p{margin:4px 0 0;color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}
#caseFilterEmpty[hidden] { display: none; }
[data-case-library-item][hidden] { display: none; }
.case-checks { display: grid; gap: 8px; }
.case-checks label { display: flex; align-items: center; gap: 8px; color: var(--text); }
.case-checks input { width: auto; }
.educator-form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.educator-form-actions span { margin-right: auto; color: var(--danger); font-size: .82rem; }
.learner-invite-result{display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px;border:1px dashed color-mix(in srgb,var(--accent) 42%,transparent);border-radius:12px;background:var(--accent-soft);}.learner-invite-result[hidden]{display:none}.learner-invite-result code{min-width:0;flex:1;color:var(--accent-dark);font-weight:800;letter-spacing:.06em;overflow-wrap:anywhere}.educator-inline-status{min-height:1.3em;margin:10px 0 0;color:var(--danger);font-size:.82rem}
.submission-report-item>div:first-child{min-width:0;flex:1;}
.submission-interruption-evidence{margin-top:10px;border-top:1px solid var(--line);padding-top:8px;}
.submission-interruption-evidence summary{width:max-content;max-width:100%;cursor:pointer;color:var(--accent-dark);font-size:12px;font-weight:800;}
.submission-interruption-evidence>p{margin:7px 0;color:var(--muted);font-size:12px;}
.submission-interruption-evidence>div{display:grid;gap:6px;}
.submission-interruption-evidence>div>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:6px 0;border-top:1px solid var(--line);font-size:12px;}
.submission-interruption-evidence b,.submission-interruption-evidence small{overflow-wrap:anywhere;}
.submission-interruption-evidence small{color:var(--muted);text-align:right;}
.interruption-evidence-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);}
.interruption-evidence-metrics>div{display:grid;gap:3px;padding:12px;border-right:1px solid var(--line);}
.interruption-evidence-metrics>div:last-child{border-right:0;}
.interruption-evidence-metrics strong{font-size:20px;font-variant-numeric:tabular-nums;}
.interruption-evidence-metrics span{color:var(--muted);font-size:12px;}
.interruption-type-report{display:grid;margin-top:8px;}
.interruption-type-report>div{display:grid;grid-template-columns:minmax(90px,140px) minmax(80px,1fr) 32px 110px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px;}
.interruption-type-report>div:last-child{border-bottom:0;}
.interruption-type-report progress{width:100%;height:7px;accent-color:var(--accent);}
.interruption-type-report strong{font-variant-numeric:tabular-nums;}
.interruption-type-report small{color:var(--muted);text-align:right;}
.assignment-schedule-list{display:grid;gap:8px;margin-bottom:10px;}
.assignment-schedule-row{display:grid;grid-template-columns:150px minmax(150px,1fr) auto;gap:8px;align-items:end;}
.assignment-schedule-row label{display:flex;align-items:center;gap:6px;white-space:nowrap;}
.assignment-schedule-row input{width:76px;}
.learner-recovery-code{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px;border:1px dashed color-mix(in srgb,var(--accent) 42%,transparent);border-radius:12px;background:var(--accent-soft)}.learner-recovery-code code{min-width:0;flex:1;color:var(--accent-dark);font-weight:850;letter-spacing:.055em;overflow-wrap:anywhere}.learner-recovery-btn,.learner-recovery-code button{min-height:44px;flex:0 0 auto}@media(max-width:560px){.learner-recovery-code{align-items:stretch;flex-direction:column}.learner-recovery-code button{width:100%}}
.member-account-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.member-account-actions .ghost-btn{min-height:44px}.member-account-actions [data-next-status="inactive"]{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 34%,var(--line))}@media(max-width:560px){.member-account-actions{width:100%;justify-content:stretch}.member-account-actions .ghost-btn{flex:1}}
.member-course-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.member-course-list>span{display:inline-flex;align-items:center;gap:7px;padding:5px 6px 5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.75rem}.member-course-list b{color:var(--text);font-weight:650}.member-unenroll-btn{min-width:40px;min-height:30px;padding:3px 8px;border:0;border-radius:999px;background:transparent;color:var(--danger);font:inherit;font-weight:750;cursor:pointer}.member-unenroll-btn:hover{background:var(--danger-soft)}.member-unenroll-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.educator-list { display: grid; gap: 10px; }
.educator-list-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; }
.educator-list-item p { margin: 5px 0; color: var(--muted); }
.educator-list-item small { color: var(--muted); }
.item-title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.item-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.status-badge { display: inline-flex; padding: 3px 8px; border: 1px solid var(--line); border-radius: 999px; background: var(--gray-100, #eef2f2); color: var(--muted); font-size: .72rem; font-weight: 700; }
.status-badge.published, .status-badge.active { background: color-mix(in srgb, var(--ok) 14%, transparent); color: var(--ok); }
.status-badge.review { background: color-mix(in srgb, var(--warn) 14%, transparent); color: var(--warn); }
.dimension-report { display: grid; gap: 12px; }
.dimension-report > div { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(180px, 3fr) 42px; align-items: center; gap: 12px; }
.dimension-report span { display: flex; justify-content: space-between; gap: 8px; }
.dimension-report small { color: var(--muted); }
.dimension-report progress { width: 100%; accent-color: var(--accent); }
.report-filter-form{grid-template-columns:repeat(3,minmax(0,1fr));}
.report-score { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--soft, #eef2f2); font-size: 1.2rem; font-weight: 800; }
.report-score.passed { color: var(--ok); }
.report-score.failed { color: var(--danger); }
.learner-tasks-panel { max-width: 1180px; grid-template-rows: auto auto 1fr; }
.learner-task-list { display: grid; gap: 14px; }
.learner-task-card { margin-bottom: 0; }
.task-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.task-meta span { padding: 5px 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--gray-100, #f2f5f5); color: var(--muted); font-size: .78rem; }
.task-result { margin: 10px 0; }
.task-result strong { font-size: 1.25rem; color: var(--accent); }
.learner-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-height:176px;margin-bottom:16px;padding:28px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,var(--surface-raised),var(--surface-soft));}
.learner-hero-copy{position:relative;z-index:1;max-width:680px;}
.learner-hero h3{margin:5px 0 8px;font-size:clamp(1.45rem,2.4vw,2.2rem);line-height:1.15;}
.learner-hero p{margin:0;color:var(--muted);line-height:1.65;}
.learner-hero>.primary-btn{position:relative;z-index:1;flex:0 0 auto;}
.learner-ambient{position:absolute;z-index:0;top:-90px;right:-30px;width:480px;height:300px;pointer-events:none;filter:blur(34px) saturate(160%);opacity:.64;animation:learnerAmbientDrift 8s ease-in-out infinite alternate;}
.learner-ambient i{position:absolute;border-radius:50%;mix-blend-mode:multiply;}
.learner-ambient i:nth-child(1){inset:18% 35% 25% 0;background:rgba(39,190,178,.42);}
.learner-ambient i:nth-child(2){inset:0 0 38% 38%;background:rgba(88,135,238,.34);}
.learner-ambient i:nth-child(3){inset:44% 12% 0 30%;background:rgba(179,92,226,.25);}
@keyframes learnerAmbientDrift{from{transform:translate3d(-10px,5px,0) scale(.96)}to{transform:translate3d(12px,-5px,0) scale(1.04)}}
.learner-overview-grid,.learner-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.learner-overview-grid+.learner-summary{margin-top:16px;}
.learner-focus-card,.learner-feedback-card{margin:0;}
.learner-stage-goal{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 72%,var(--surface)),var(--surface));}
.learner-stage-goal>div{display:grid;gap:5px;min-width:0;}
.learner-stage-goal h3,.learner-stage-goal p{margin:0;}
.learner-stage-goal .primary-btn{flex:0 0 auto;}
.learner-improvement-plan{display:grid;gap:6px;margin-top:14px;padding:14px 15px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:13px;background:var(--accent-soft);}
.learner-improvement-plan span{color:var(--accent-dark);font-size:.75rem;font-weight:800;}
.learner-improvement-plan strong{line-height:1.6;}
.learner-task-badges{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;}
.status-badge.learner-state-in_progress,.status-badge.learner-state-retry{background:var(--warn-soft);color:var(--warn);}
.status-badge.learner-state-reviewed,.status-badge.learner-state-passed{background:var(--ok-soft);color:var(--ok);}
.status-badge.learner-state-scheduled{background:var(--accent-soft);color:var(--accent-dark);}
.status-badge.learner-state-other_session,.status-badge.learner-state-expired{background:var(--danger-soft);color:var(--danger);}
.learner-trajectory{margin:16px 0 0;}
.learner-trajectory .educator-section-head{align-items:center;}
.learner-trail{position:relative;display:grid;gap:0;margin:0;padding:0;list-style:none;}
.learner-trail::before{content:"";position:absolute;top:20px;bottom:20px;left:8px;width:1px;background:var(--line);}
.learner-trail-item{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:9px 0;}
.learner-trail-marker{position:relative;z-index:1;width:17px;height:17px;border:4px solid var(--surface);border-radius:50%;background:var(--line-strong);box-shadow:0 0 0 1px var(--line);}
.learner-trail-item.state-in_progress .learner-trail-marker,.learner-trail-item.state-retry .learner-trail-marker{background:var(--warn);box-shadow:0 0 0 4px var(--warn-soft);}
.learner-trail-item.state-reviewed .learner-trail-marker,.learner-trail-item.state-passed .learner-trail-marker,.learner-trail-item.state-completed .learner-trail-marker{background:var(--ok);}
.learner-trail-item.state-scheduled .learner-trail-marker{background:var(--accent);}
.learner-trail-item.state-expired .learner-trail-marker{background:var(--danger);}
.learner-trail-item>div{display:grid;gap:4px;min-width:0;}
.learner-trail-item>div strong,.learner-trail-item>div span{overflow-wrap:anywhere;}
.learner-trail-item>div span{color:var(--muted);font-size:.78rem;line-height:1.45;}
.learner-trail-item>b{color:var(--muted);font-size:.74rem;white-space:nowrap;}
.learner-trail-item.state-in_progress>b,.learner-trail-item.state-retry>b{color:var(--warn);}
.learner-trail-item.state-reviewed>b,.learner-trail-item.state-passed>b{color:var(--ok);}
.learner-trail-item.state-scheduled>b{color:var(--accent-dark);}
.learner-trail-item.state-expired>b{color:var(--danger);}
.learner-feedback-card ul,.learner-result-feedback ul{margin:10px 0 14px;padding-left:20px;color:var(--muted);line-height:1.65;}
.learner-result-list{display:grid;gap:14px;}
.learner-result-card{margin:0;}
.learner-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;}
.learner-result-head>div:first-child{min-width:0;}
.learner-result-head h3,.learner-result-head p{overflow-wrap:anywhere;}
.learner-score-orb{display:grid;place-items:center;flex:0 0 auto;width:76px;height:76px;border-radius:24px;background:var(--surface-soft);}
.learner-score-orb strong{font-size:1.7rem;line-height:1;}
.learner-score-orb span{font-size:.72rem;font-weight:800;}
.learner-score-orb.passed{color:var(--ok);background:var(--ok-soft);}
.learner-score-orb.failed{color:var(--danger);background:var(--danger-soft);}
.learner-dimension-list{display:grid;gap:11px;margin-top:16px;}
.learner-dimension-list>div{display:grid;grid-template-columns:minmax(84px,1fr) minmax(120px,3fr) 36px;align-items:center;gap:10px;}
.learner-dimension-list span{font-size:.8rem;color:var(--muted);}
.learner-dimension-list i{height:7px;overflow:hidden;border-radius:99px;background:var(--surface-soft);}
.learner-dimension-list i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#54a98f);transform-origin:left center;animation:learnerDimensionReveal 420ms cubic-bezier(.16,1,.3,1) both;}
@keyframes learnerDimensionReveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.learner-dimension-list strong{font-size:.78rem;text-align:right;}
.learner-dimension-trends>div{grid-template-columns:minmax(84px,1fr) minmax(120px,3fr) 36px 42px;}
.learner-dimension-trends em{font-size:.72rem;font-style:normal;font-weight:800;text-align:right;}
.learner-dimension-trends em.up{color:var(--ok);}
.learner-dimension-trends em.down{color:var(--danger);}
.learner-dimension-trends em.flat{color:var(--muted);}
.learner-trend-note{margin:14px 0 0;color:var(--muted);font-size:.75rem;line-height:1.55;}
.learner-guided-empty{display:grid;justify-items:start;gap:8px;margin-top:16px;padding:18px;border:1px dashed var(--line-strong);border-radius:14px;background:var(--surface-soft);}
.learner-guided-empty p{margin:0;color:var(--muted);line-height:1.6;}
.learner-result-feedback{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);}
.learner-result-feedback.teacher-feedback{padding:15px 16px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 58%,var(--surface));}
.learner-result-actions{display:flex;justify-content:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);}
.learner-feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.learner-feedback-heading span{color:var(--muted);font-size:.72rem;}
.learner-course-progress{display:grid;gap:12px;margin-top:16px;}
.learner-course-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.75fr) 42px;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);}
.learner-course-row>div{display:grid;gap:4px;}
.learner-course-row span{color:var(--muted);font-size:.78rem;}
.learner-course-row progress{width:100%;accent-color:var(--accent);}
.learner-course-row>b{text-align:right;font-size:.8rem;}
.learner-account-card{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;}
.learner-account-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;}
.learner-account-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;}
.learner-empty-state{text-align:center;padding-block:38px;}
@media(max-width:760px){
  .learner-hero{align-items:stretch;flex-direction:column;min-height:0;padding:22px;}
  .learner-hero>.primary-btn{width:100%;}
  .learner-overview-grid,.learner-profile-grid{grid-template-columns:minmax(0,1fr);}
  .learner-stage-goal{grid-column:auto;align-items:stretch;flex-direction:column;}
  .learner-stage-goal .primary-btn{width:100%;}
  .learner-account-card{grid-column:auto;align-items:stretch;flex-direction:column;}
  .learner-account-actions{display:grid;grid-template-columns:1fr;}
  .learner-account-link{width:100%;min-height:44px;}
  .learner-result-head{align-items:flex-start;gap:12px;}
  .learner-score-orb{width:66px;height:66px;border-radius:20px;}
  .learner-result-feedback{overflow-wrap:anywhere;}
  .learner-feedback-heading{align-items:flex-start;flex-direction:column;gap:5px;}
  .learner-result-actions .ghost-btn{width:100%;min-height:44px;}
  .learner-trajectory .educator-section-head{align-items:stretch;flex-direction:column;}
  .learner-trajectory .educator-section-head .ghost-btn{width:100%;min-height:44px;}
  .learner-trail-item{grid-template-columns:18px minmax(0,1fr);align-items:start;padding-block:12px;}
  .learner-trail-item>b{grid-column:2;justify-self:start;}
  .learner-dimension-trends>div{grid-template-columns:minmax(78px,1fr) minmax(90px,2fr) 32px 38px;}
}
@media(prefers-reduced-motion:reduce){.learner-ambient{animation:none}}
@media(prefers-reduced-motion:reduce){.educator-loading-mark{animation:none}}
@media(prefers-reduced-motion:reduce){
  .educator-content[data-motion]{will-change:auto;}
  .educator-content [data-report-motion-target]{will-change:opacity;}
  .learner-dimension-list i b{animation:none;transform:none;}
}
.educator-course-item { align-items: flex-start; }
.course-main { min-width: 0; flex: 1; }
.assignment-list { display: grid; gap: 7px; margin-top: 10px; }
.assignment-item { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px; background: var(--soft, #f3f6f6); }
.assignment-item>.item-actions{justify-self:end;}
.assignment-item > span:first-child { display: grid; gap: 3px; }
.assignment-item small { color: var(--muted); }

.educator-action-backdrop {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: grid;
  place-items: center;
  overflow: auto;
  padding: 24px;
  background: rgba(8, 22, 31, .56);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.educator-action-backdrop.is-closing { pointer-events: none; }
.educator-action-dialog {
  display: grid;
  gap: 18px;
  width: min(680px, 100%);
  max-height: min(760px, calc(92vh - 40px));
  overflow: auto;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface, #fff);
  color: var(--text);
  box-shadow: 0 28px 90px rgba(6, 26, 35, .34);
  will-change: transform, opacity, filter;
}
.educator-action-dialog h2 { margin: 2px 0 6px; font-size: 1.3rem; }
.educator-action-dialog p { margin: 0; }
.educator-action-form,.educator-dialog-fields { display: grid; gap: 13px; }
.educator-dialog-fields label:not(.educator-dialog-check) { display: grid; gap: 6px; color: var(--muted); font-size: .84rem; font-weight: 700; }
.educator-dialog-fields input:not([type="checkbox"]),.educator-dialog-fields textarea,.educator-dialog-fields select {
  width: 100%;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
}
.educator-dialog-fields small { color: var(--muted); font-weight: 500; line-height: 1.5; }
.educator-dialog-body { display: grid; gap: 16px; min-width: 0; }
.educator-dialog-body + .educator-action-form { position: sticky; z-index: 1; bottom: -22px; margin: 0 -2px -22px; padding: 12px 2px 22px; border-top: 1px solid var(--line); background: var(--surface); }
.educator-dialog-body + .educator-action-form .educator-dialog-fields:empty,
.educator-dialog-body + .educator-action-form .educator-dialog-status:empty { display: none; }
.case-preview-meta { display: flex; flex-wrap: wrap; gap: 7px; }
.case-preview-meta span { padding: 4px 8px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft); color: var(--muted); font-size: .74rem; font-weight: 700; }
.case-preview-band { display: grid; gap: 13px; padding-top: 15px; border-top: 1px solid var(--line); }
.case-preview-band h3 { margin: 2px 0 0; font-size: 1rem; }
.case-preview-band.teacher-reference { border-top-color: color-mix(in srgb, var(--warn) 38%, var(--line)); }
.case-preview-facts { display: grid; gap: 0; margin: 0; }
.case-preview-facts>div { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 8px 0; border-top: 1px solid var(--line); }
.case-preview-facts>div:first-child { border-top: 0; }
.case-preview-facts dt { color: var(--muted); font-size: .78rem; font-weight: 700; }
.case-preview-facts dd { min-width: 0; margin: 0; line-height: 1.55; overflow-wrap: anywhere; }
.case-preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
.case-preview-group { min-width: 0; padding-top: 10px; border-top: 1px solid var(--line); }
.case-preview-group h4 { margin: 0 0 7px; font-size: .82rem; }
.case-preview-group p { font-size: .8rem; }
.case-preview-group ul { display: grid; gap: 5px; margin: 0; padding-left: 18px; }
.case-preview-group li { line-height: 1.5; overflow-wrap: anywhere; }
.case-preview-group dl { display: grid; gap: 7px; margin: 0; }
.case-preview-group dl>div { display: grid; gap: 2px; }
.case-preview-group dt { color: var(--muted); font-size: .76rem; font-weight: 700; }
.case-preview-group dd { margin: 0; line-height: 1.5; overflow-wrap: anywhere; }
.case-version-summary { display: grid; grid-template-columns: auto 20px auto minmax(100px, 1fr); align-items: center; gap: 8px; }
.case-version-summary span { padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft); color: var(--muted); font-size: .76rem; font-weight: 700; text-align: center; }
.case-version-summary b { color: var(--muted); text-align: center; }
.case-version-summary strong { justify-self: end; color: var(--accent-dark); font-size: .82rem; }
.case-version-diff-list { display: grid; gap: 16px; }
.case-version-diff { display: grid; gap: 8px; padding-top: 13px; border-top: 1px solid var(--line); }
.case-version-diff h4 { margin: 0; font-size: .86rem; }
.case-version-diff>div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.case-version-diff article { min-width: 0; padding: 10px; border-left: 3px solid var(--line-strong); background: var(--surface-soft); }
.case-version-diff article:last-child { border-left-color: var(--accent); }
.case-version-diff article span { color: var(--muted); font-size: .72rem; font-weight: 700; }
.case-version-diff article p { margin-top: 6px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.educator-dialog-check { display: flex; align-items: flex-start; gap: 10px; padding: 11px; border: 1px solid var(--line); border-radius: 11px; }
.educator-dialog-check input[type="checkbox"] { flex: 0 0 auto; width: 20px !important; height: 20px !important; min-height: 20px !important; margin: 2px 0 0; padding: 0 !important; accent-color: var(--accent); box-shadow: none; }
.educator-dialog-check span { display: grid; gap: 3px; }
.educator-dialog-status { min-height: 1.3em; color: var(--danger); font-size: .84rem; }
.educator-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; }

@media (max-width: 720px) {
  .educator-action-backdrop { padding: 12px; }
  .educator-action-dialog { max-height: calc(100dvh - 24px); padding: 18px; border-radius: 16px; }
  .educator-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .educator-dialog-actions>.educator-dialog-cancel[hidden] + .educator-dialog-confirm { grid-column: 1 / -1; }
  .case-preview-grid { grid-template-columns: 1fr; }
  .case-preview-facts>div { grid-template-columns: 78px minmax(0, 1fr); }
  .case-version-summary { grid-template-columns: auto 18px auto; }
  .case-version-summary strong { grid-column: 1 / -1; justify-self: start; }
  .case-version-diff>div { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .educator-action-dialog { will-change: opacity; }
}

@media (max-width: 720px) {
  .educator-entry-btn { min-height: 44px; }
  .educator-panel { inset: 0; border-radius: 0; }
  .educator-header { padding: 16px; }
  .educator-content { padding: 14px; }
  .educator-summary { grid-template-columns: 1fr 1fr; }
  .educator-form { grid-template-columns: 1fr; }
  .case-form-fields { grid-template-columns: 1fr; }
  .case-form-head-actions { width: 100%; justify-content: space-between; }
  .case-library-filter { grid-template-columns: 1fr; }
  .case-form-fields .span-2 { grid-column: 1; }
  .report-filter-form{grid-template-columns:1fr;}
  .educator-form .span-2 { grid-column: 1; }
  .educator-form-actions { align-items: stretch; flex-wrap: wrap; }
  .educator-form-actions span { width: 100%; margin-right: 0; }
  .educator-form-actions button { flex: 1 1 140px; min-height: 44px; }
  .educator-list-item { align-items: flex-start; flex-direction: column; }
  .educator-connection-state{align-items:stretch;flex-direction:column;}
  .educator-connection-state .ghost-btn{width:100%;}
  .assignment-item { grid-template-columns: 1fr auto; }
  .assignment-item>.item-actions { grid-column: 1 / -1; width:100%; justify-content:stretch; }
  .assignment-item>.item-actions .ghost-btn{flex:1;}
  .dimension-report > div { grid-template-columns: 1fr 48px; }
  .dimension-report progress { grid-column: 1 / -1; grid-row: 2; }
}

/* 深色背景上的焦点增强 */
.queue-item:focus-visible,
.record-item:focus-visible,
button.primary:focus-visible {
  outline: 3px solid rgba(255,255,255,0.9);
  box-shadow: 0 0 0 1px rgba(12,124,114,0.8), 0 0 0 4px rgba(255,255,255,0.6);
}

.clinic-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height: 100vh;min-height:0;overflow:hidden;}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.topbar-brand{display:flex;align-items:center;gap:12px;min-width:0;}
.topbar-brand-mark{width:52px;height:52px;flex:0 0 52px;object-fit:contain;}
.topbar-brand>div{min-width:0;}
.session-meta{display:flex;align-items:center;flex-wrap:wrap;}
.doctor-name-field{display:inline-flex;align-items:center;gap:8px;margin:0;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,0.72);color:var(--accent-dark);font-size:12px;font-weight:900;white-space:nowrap;box-shadow:0 1px 0 rgba(255,255,255,0.82) inset;}
.doctor-name-field input{width:92px;padding:0 8px;}
.ai-status,.voice-status{display:inline-flex;align-items:center;background:rgba(12,124,114,0.18);color:#075f56;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 1px 0 rgba(255,255,255,0.82) inset;}
.ai-status.live,.voice-status.live{background:#e7f7ed;color:var(--ok);}
.ai-status.error,.voice-status.error{background:var(--danger-soft);color:var(--danger);}
.voice-btn,.voice-input-btn{border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);font-size:12px;font-weight:900;box-shadow:0 1px 0 rgba(255,255,255,0.92) inset;}
.voice-input-btn.listening{animation:selectedPulse 900ms ease-in-out infinite alternate;}
.voice-btn.unsupported,.voice-input-btn.unsupported{color:var(--danger);background:#fff6f7;}
.layout{display:grid;min-height:0;height:100%;margin:0 auto;}
.queue-panel,.encounter-panel,.review-panel{min-height:0;height:100%;}
.queue-panel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden;}
.review-panel{display:grid;grid-template-rows:auto minmax(0,1fr);}
.review-panel-actions{display:flex;align-items:center;gap:6px;}
.encounter-panel{display:grid;overflow:hidden;scrollbar-gutter:stable;}
.queue-panel,.review-panel,.empty-state,.chat-card,.actions-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);animation:panelIn var(--motion-slow) both;}
.panel-head,.card-head,.patient-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.toolbar-actions{display:flex;align-items:center;}
.compact-head{padding:10px 12px;}
.panel-head{border-bottom:1px solid var(--line);}
.panel-fullscreen{z-index:80;width:auto;height:auto;min-height:0;}
.review-panel.panel-fullscreen{grid-template-rows:auto minmax(0,6fr) auto minmax(64px,0.8fr);}
.panel-fullscreen .queue-list,.panel-fullscreen .review-box,.panel-fullscreen .records-list{min-height:0;max-height:none;overflow-y:auto;}
.queue-list {position:relative;z-index:1;display:grid;align-content:start;min-height:0;overflow-y: auto;scrollbar-gutter:stable;}
.queue-ai-loading{display:grid;justify-items:center;gap:9px;margin:20px 12px;padding:28px 18px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--text);text-align:center;box-shadow:var(--shadow-xs);}
.queue-ai-loading strong{color:var(--accent-dark);font-size:14px;}
.queue-ai-loading p{max-width:240px;color:var(--muted);font-size:12px;line-height:1.5;}
.queue-ai-orb{display:flex;align-items:center;justify-content:center;gap:4px;width:48px;height:48px;border-radius:16px;background:var(--accent);box-shadow:0 10px 26px rgba(var(--accent-rgb),.22);}
.queue-ai-orb i{width:5px;height:5px;border-radius:50%;background:#fff;animation:openingDot 1s ease-in-out infinite;}
.queue-ai-orb i:nth-child(2){animation-delay:140ms}.queue-ai-orb i:nth-child(3){animation-delay:280ms}
.queue-loading-lines{display:grid;gap:7px;width:100%;margin-top:7px;}
.queue-loading-lines i{height:8px;border-radius:99px;background:linear-gradient(90deg,rgba(var(--accent-rgb),.05),rgba(var(--accent-rgb),.16),rgba(var(--accent-rgb),.05));background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;}
.queue-loading-lines i:nth-child(2){width:82%}.queue-loading-lines i:nth-child(3){width:64%}
.queue-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));}
.queue-filter-bar{position:relative;z-index:3;display:flex;gap:8px;flex-wrap:wrap;}
.queue-filter-group{display:grid;gap:9px;padding:12px;}
.queue-filter-group+.queue-filter-group{border-top:1px solid var(--line);}
.queue-filter-group>strong{color:var(--muted);font-size:11px;letter-spacing:var(--tracking-wide);}
.queue-sort-options{display:grid;gap:6px;}
.queue-sort-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;min-height:48px;padding:8px 10px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background-color var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast);}
.queue-sort-option small{color:var(--muted);font-size:11px;}
.queue-sort-option::after{content:"";grid-column:2;grid-row:1/3;width:9px;height:9px;border:2px solid var(--line-strong);border-radius:50%;}
.queue-sort-option:hover{background:var(--surface-soft);}
.queue-sort-option:active{transform:scale(.985);}
.queue-sort-option.active{border-color:rgba(var(--accent-rgb),.28);background:var(--accent-soft);}
.queue-sort-option.active::after{border:3px solid var(--accent);background:#fff;}
.queue-view-summary{display:none!important;}
.queue-view-summary[hidden]{display:none;}
.queue-view-summary button{min-height:44px;padding:0 9px;border:1px solid rgba(var(--accent-rgb),.28);border-radius:9px;background:var(--surface);color:var(--accent-dark);font:inherit;cursor:pointer;}
.queue-filter-trigger.active{background:var(--accent-soft);color:var(--accent-dark);}
.filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--accent-dark);font-size:var(--text-xs);font-weight:600;transition:all var(--motion-fast) cubic-bezier(0.2,0.8,0.2,1);cursor:pointer;}
.filter-chip:hover{border-color:var(--accent);background:rgba(12,124,114,0.08);transform:translateY(-1px);box-shadow:0 4px 8px rgba(23,35,31,0.06);}
.filter-chip.active{border-color:var(--accent);background:var(--accent);color:#ffffff;box-shadow:0 2px 6px rgba(12,124,114,0.25);}
.filter-chip .filter-count{font-weight:700;}
.queue-stats div{display:grid;gap:2px;min-width:0;text-align:center;transition:border-color var(--motion-fast),transform var(--motion-fast),box-shadow var(--motion-fast);}
.queue-stats strong{line-height:1;}
.queue-stats span{white-space:nowrap;}
.queue-item{position:relative;display:grid;gap:6px;grid-template-rows:auto minmax(0,auto) auto;overflow:visible;text-align:left;transition:transform var(--motion-fast) cubic-bezier(0.2,0.8,0.2,1),border-color var(--motion-fast),background-color var(--motion-fast),box-shadow var(--motion-fast),opacity var(--motion-fast);}
.queue-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(23,35,31,0.09);}
.queue-item::before{content:"";position:absolute;background:transparent;opacity:0;transform:scaleY(0.4);transition:opacity var(--motion-med),transform var(--motion-med),background-color var(--motion-med);}
.queue-item.active::before{background:var(--accent);opacity:1;transform:scaleY(1);}
.queue-item.done{opacity:0.62;}
.queue-top{display:flex;justify-content:space-between;gap:8px;}
.queue-complaint {display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp: 2;}
.queue-tags{display:flex;flex-wrap:wrap;}
.queue-tags span{display:inline-flex;align-items:center;border-radius:999px;font-size:11px;font-weight:900;}
.queue-tags span.ai{background:#e7f7ed;color:var(--ok);}
.queue-tags span.behavior{background:#fff0dc;color:#8a4b12;}
.queue-tags span.return{background:#fdecee;color:var(--danger);}
.queue-tags span.urgent{background:var(--danger-soft);color:var(--danger);}
.queue-time-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:rgba(121,139,133,0.12);color:var(--muted);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;}
.queue-time-badge::before{content:"⏱";font-size:13px;opacity:0.7;}
.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap;}
.pill.warn{background:#fff4e2;color:var(--warn);}
.pill.done{background:#e9f7ee;color:var(--ok);}
.pill.ready{background:#fdecee;color:var(--danger);}
.pill.testing{background:rgba(56,103,166,0.12);color:var(--blue);animation:statusPulse 1800ms ease-in-out infinite;}
.pill.withdrawn{background:#fdecee;color:var(--danger);}
.pill.withdrawn{background:#fdecee;color:var(--danger);}
.empty-state{display:grid;place-content:center;text-align:center;}
.encounter-view{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);min-height:0;height:100%;}
.patient-strip {position:relative;align-items: flex-start;overflow:hidden;}
.patient-strip::before{content:"";position:absolute;inset:0 auto 0 0;}
.patient-strip>div:first-child{min-width:0;}
#patientMeta {display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp: 3;}
.status-stack {display:flex;align-items:center;justify-content:flex-end;flex-wrap: wrap;flex-shrink:0;}
.tool-launcher{position:relative;z-index:5;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));}
.tool-launch{position:relative;min-width:0;padding:0 10px;transition:all var(--motion-fast) cubic-bezier(0.2,0.8,0.2,1);}
.tool-launch:hover{transform:translateY(-1px);border-color:var(--line-strong);box-shadow:0 4px 12px rgba(23,35,31,0.08);background:rgba(12,124,114,0.04);}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);min-height:0;height:100%;gap:0;}
.chat-card{position:relative;z-index:2;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto auto;min-height:0;}
.chat-card>.card-head{grid-row:1;}
.chat-card>.interrupt-panel{grid-row:2;}
.chat-card>.chat-log{grid-row:3;}
.chat-card>.chat-form{grid-row:4;}
.chat-card>.quick-questions{grid-row:5;}
.chat-card>.workflow-hint{grid-row:6;}
.chat-card>.director-panel{grid-row:7;}
.actions-card{position:relative;z-index:10;min-height:calc(100vh - 194px);overflow:hidden;transition:transform var(--motion-med),opacity var(--motion-med);transform:translateX(100%);opacity:0;pointer-events:none;}
.tool-backdrop{position:fixed;inset:0;background:rgba(15,28,24,0.08);animation:fadeIn var(--motion-med) both;backdrop-filter:blur(2px);pointer-events:none;}
.actions-card{width:420px;max-width:90vw;border-left:2px solid var(--line-strong);}
.actions-card.tool-open{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;overflow:hidden;transform:translateX(0);opacity:1;pointer-events:auto;}
.actions-card.tool-open .tab-view{overflow:auto;}
.tool-card-head{display:none;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:var(--surface-raised);}
.actions-card.tool-open .tool-card-head{display:flex;}
.card-head{padding:14px;border-bottom:1px solid var(--line);background:var(--surface-raised);}
.chat-log{display:flex;flex-direction:column;min-height:0;overflow-y:auto;}
.message{white-space:pre-wrap;}
.message.patient{align-self:flex-start;}
.message.doctor{align-self:flex-end;}
.message.system{align-self:center;}
.interrupt-panel{position:relative;z-index:4;display:grid;gap:10px;width:auto;max-height:min(38vh,280px);margin:10px 12px 0;overflow:auto;}
.interrupt-panel strong{display:block;margin:2px 0 6px;}
.interrupt-panel p{color:var(--muted);font-size:13px;line-height:1.55;}
.interrupt-actions{display:flex;flex-wrap:wrap;gap:8px;}
.save-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap;}
.save-status::before{content:"";width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:currentColor;opacity:0.46;}
.save-status.saved{background:#e9f7ee;color:var(--ok);}
.save-status.warn{background:#fff4e2;color:var(--warn);}
.save-status.error{background:var(--danger-soft);color:var(--danger);}
.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;}
input,textarea{width:100%;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface-raised);outline:none;transition:border-color var(--motion-fast),box-shadow var(--motion-fast),background-color var(--motion-fast);}
textarea{resize:vertical;}
input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(12,124,114,0.12);}
.quick-questions{display:flex;flex-wrap:wrap;}
.workflow-hint{display:flex;align-items:center;gap:8px;padding:10px 14px;margin:0 12px 12px;border:1px solid rgba(12,124,114,0.18);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(12,124,114,0.06),rgba(12,124,114,0.02));color:var(--accent-dark);font-size:13px;line-height:1.5;box-shadow:0 1px 3px rgba(12,124,114,0.08);}
.workflow-hint .hint-icon{flex-shrink:0;opacity:0.7;}
.quick-questions button,.ghost-btn,.icon-btn{background:var(--surface-soft);border:1px solid transparent;color:var(--accent-dark);}
.quick-questions button{min-height:32px;padding:6px 10px;font-size:13px;font-weight:700;border:1px solid transparent;}
.quick-questions button:hover,.ghost-btn:hover,.icon-btn:hover{transform:translateY(-1px);border-color:var(--line-strong);box-shadow:0 8px 18px rgba(23,35,31,0.07);}
.primary-btn,.ghost-btn,.warn-btn,.icon-btn,.tab,.order-grid button,.catalog-grid button{min-height:38px;border-radius:8px;font-weight:800;}
.ghost-btn{padding:0 12px;}
.queue-list,.chat-log,.encounter-panel,.review-box,.records-list,.actions-card.tool-open .tab-view{scrollbar-width:thin;scrollbar-color:#b7cbc5 transparent;}
.queue-list::-webkit-scrollbar,.chat-log::-webkit-scrollbar,.encounter-panel::-webkit-scrollbar,.review-box::-webkit-scrollbar,.records-list::-webkit-scrollbar,.actions-card.tool-open .tab-view::-webkit-scrollbar{width:10px;height:10px;}
.queue-list::-webkit-scrollbar-thumb,.chat-log::-webkit-scrollbar-thumb,.encounter-panel::-webkit-scrollbar-thumb,.review-box::-webkit-scrollbar-thumb,.records-list::-webkit-scrollbar-thumb,.actions-card.tool-open .tab-view::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:#b7cbc5;background-clip:content-box;}
.queue-list::-webkit-scrollbar-thumb:hover,.chat-log::-webkit-scrollbar-thumb:hover,.encounter-panel::-webkit-scrollbar-thumb:hover,.review-box::-webkit-scrollbar-thumb:hover,.records-list::-webkit-scrollbar-thumb:hover,.actions-card.tool-open .tab-view::-webkit-scrollbar-thumb:hover{background:#91aaa3;background-clip:content-box;}
.tabs{border-bottom:1px solid var(--line);}
.order-grid,.exam-grid{display:grid;gap:10px;}
.catalog-group{display:grid;animation:panelIn var(--motion-med) both;}
.catalog-group-title{display:flex;align-items:center;gap:8px;}
.catalog-group-title span{display:inline-grid;place-items:center;min-width:28px;height:22px;border-radius:6px;background:var(--surface-soft);color:var(--accent-dark);font-size:11px;}
.exam-system-group{background:linear-gradient(180deg,#fbfdfc 0%,#f6faf8 100%);}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.actions-card.tool-open .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.order-section{display:grid;}
.order-section:last-child{border-bottom:0;}
.section-title{display:flex;align-items:baseline;justify-content:space-between;}
.section-title h3{font-size:15px;}
.order-grid button,.exam-grid button,.catalog-grid button{text-align:left;transition:transform var(--motion-fast),border-color var(--motion-fast),background-color var(--motion-fast),box-shadow var(--motion-fast);}
.exam-record-label{margin:0 0 12px;}
.result-box{margin-top:14px;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.pending-order-panel{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fbfdfc;overflow:hidden;}
.pending-order-head,.record-toolbar,.record-quality-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.pending-order-body{display:grid;}
.pending-order-row{display:grid;grid-template-columns:34px minmax(120px,1.1fr) 82px minmax(140px,1.1fr) minmax(120px,0.9fr) 32px;align-items:center;gap:8px;}
.pending-order-main{display:grid;gap:2px;min-width:0;}
.pending-order-main strong,.pending-order-main span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pending-order-main span{color:var(--muted);font-size:12px;}
.pending-order-row select,.pending-order-row input{height:34px;min-width:0;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:#fbfdfc;}
.pending-order-no{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:6px;background:var(--surface-soft);color:var(--accent-dark);font-size:12px;font-weight:900;}
#orderEmptyHint{padding:0 12px 12px;}
.medical-record-input{min-height:420px;font-family:inherit;}
.record-quality-list{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfc;}
.record-quality-head span{color:var(--muted);font-size:12px;}
.record-quality-grid{display:flex;flex-wrap:wrap;gap:8px;}
.record-quality-grid span{min-height:26px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:900;}
.record-quality-grid .ok{background:#e9f7ee;color:var(--ok);}
.record-quality-grid .missing{background:#fff4e2;color:var(--warn);}
.results-list{display:grid;gap:10px;min-height:130px;padding:12px;}
.result-item{padding:10px;background:#f8faf9;border:1px solid var(--line);border-radius:8px;line-height:1.5;}
.result-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.result-tag{display:inline-flex;align-items:center;min-height:20px;margin-left:6px;padding:0 6px;border-radius:6px;background:#fff4e2;color:var(--warn);font-size:12px;}
.result-source{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap;}
.result-source.reported{background:var(--surface-soft);color:var(--muted);}
.result-source.manual{background:var(--blue-soft);color:var(--blue);}
.result-entry{margin-top:10px;border-top:1px solid var(--hairline);}
.result-entry summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding-top:8px;color:var(--accent-dark);font-size:12px;font-weight:800;cursor:pointer;list-style:none;}
.result-entry summary::-webkit-details-marker{display:none;}
.result-entry-disclosure{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--surface-soft);color:var(--muted);font-size:15px;line-height:1;transition:transform var(--motion-fast);}
.result-entry[open] .result-entry-disclosure{transform:rotate(180deg);}
.result-entry-body{display:grid;gap:10px;padding:4px 0 2px;}
.result-entry-guidance{color:var(--muted);font-size:11px;line-height:1.5;}
.result-template-list{display:flex;gap:7px;flex-wrap:wrap;}
.result-template-chip{min-height:32px;padding:5px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--accent-dark);font-size:11px;font-weight:750;}
.result-template-chip:hover{border-color:var(--accent);background:var(--surface-soft);}
.result-entry-field{gap:5px;color:var(--muted);font-size:11px;font-weight:700;}
.result-entry-field textarea{width:100%;min-height:76px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:12px;line-height:1.5;resize:vertical;}
.result-entry-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;}
.result-entry-status{min-width:0;margin-right:auto;color:var(--muted);font-size:11px;line-height:1.4;}
.rx-safety-panel{display:grid;gap:8px;margin:10px 0 14px;padding:10px;}
.rx-safety-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;align-items:start;}
.rx-safety-item span{display:inline-grid;place-items:center;min-height:24px;border-radius:6px;background:#fff4e2;color:var(--warn);font-size:12px;font-weight:900;}
.rx-safety-item.high span{background:#fdecee;color:var(--danger);}
.rx-safety-item.low span{background:#edf4f2;color:var(--accent-dark);}
.rx-safety-item p{color:#674b0c;font-size:13px;line-height:1.5;}
label{display:grid;}
.autocomplete-field{position:relative;}
.common-orders-bar{display:grid;gap:8px;padding:8px 0;}
.common-orders-label{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:0.02em;}
.recent-orders-row,.complaint-order-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.complaint-order-suggestions{display:grid;gap:8px;padding:10px;border:1px solid rgba(var(--accent-rgb),.18);border-radius:12px;background:rgba(var(--accent-rgb),.045);}
.complaint-order-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.complaint-order-head small{color:var(--muted);font-size:11px;line-height:1.45;text-align:right;}
.common-order-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:rgba(255,255,255,0.7);color:var(--accent-dark);font-size:12px;font-weight:600;transition:all var(--motion-fast) cubic-bezier(0.2,0.8,0.2,1);cursor:pointer;}
.complaint-order-chip{display:grid;gap:2px;min-height:46px;padding:7px 10px;border-radius:10px;text-align:left;}
.complaint-order-chip strong{font-size:12px;line-height:1.25;}
.complaint-order-chip small{max-width:210px;color:var(--muted);font-size:10px;font-weight:500;line-height:1.3;}
.common-order-chip:disabled{cursor:not-allowed;opacity:.58;transform:none;}
.common-order-chip:hover{border-color:var(--accent);background:rgba(12,124,114,0.08);transform:translateY(-1px);box-shadow:0 2px 6px rgba(12,124,114,0.12);}
.common-order-chip:active{transform:translateY(0) scale(0.96);}
.clinical-hints{padding:0 0 12px;}
.hint-collapse{border:1px solid rgba(12,124,114,0.14);border-radius:var(--radius-md);background:rgba(12,124,114,0.03);overflow:hidden;}
.hint-collapse summary{padding:10px 14px;color:var(--accent-dark);font-size:13px;font-weight:600;cursor:pointer;user-select:none;list-style:none;}
.hint-collapse summary::-webkit-details-marker{display:none;}
.hint-collapse summary:hover{background:rgba(12,124,114,0.06);}
.hint-content{padding:0 14px 12px;border-top:1px solid rgba(12,124,114,0.08);}
.hint-item{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:8px 0;font-size:13px;line-height:1.5;}
.hint-item strong{color:var(--accent-dark);font-weight:600;}
.hint-item span{color:var(--muted);}
.suggestions{position:absolute;z-index:10;right:0;left:0;display:grid;overflow-y:auto;}
.suggestion-item{position:relative;display:grid;gap:4px;width:100%;color:var(--text);text-align:left;transition:background-color var(--motion-fast),box-shadow var(--motion-fast);}
.suggestion-item:last-child{border-bottom:0;}
.suggestion-item.highlighted::before{content:"";position:absolute;inset:9px auto 9px 0;width:3px;border-radius:0 999px 999px 0;background:var(--accent);}
.suggestion-main{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.suggestion-main code{color:var(--accent-dark);font-size:12px;white-space:nowrap;}
.suggestion-sub{color:var(--muted);font-size:12px;line-height:1.35;}
.diagnosis-catalog-meta{color:var(--muted);font-size:var(--text-xs);font-weight:500;line-height:var(--leading-xs);}
.suggestion-section-label{position:sticky;top:0;z-index:1;padding:var(--space-2) var(--space-3);border-bottom:0.5px solid var(--hairline);background:rgba(247,251,249,0.94);color:var(--accent-dark);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wide);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);}
.suggestion-notice{padding:8px 12px;border-bottom:1px solid var(--line);background:#fff8e7;color:var(--warn);font-size:12px;font-weight:800;}
.suggestion-notice.error{background:#fdecee;color:var(--danger);}
.app-notice-region{position:fixed;z-index:160;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));display:grid;width:min(390px,calc(100vw - 32px));gap:10px;pointer-events:none;}
body.tool-drawer-open .app-notice-region,
body.tool-modal-open .app-notice-region{
  top:auto;
  right:auto;
  bottom:max(16px,env(safe-area-inset-bottom));
  left:max(16px,env(safe-area-inset-left));
}
.app-notice{display:grid;grid-template-columns:36px minmax(0,1fr) 32px;gap:10px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised);box-shadow:var(--shadow-modal);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);pointer-events:auto;animation:appNoticeIn 220ms cubic-bezier(.16,1,.3,1) both;}
.app-notice.is-closing{pointer-events:none;animation:appNoticeOut 180ms ease-in both;}
.app-notice.warning{border-color:rgba(182,112,18,.3);}
.app-notice.danger{border-color:rgba(180,51,58,.34);}
.app-notice-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--blue-soft);color:var(--blue);font-size:16px;font-weight:900;}
.app-notice.warning .app-notice-icon{background:var(--warn-soft);color:var(--warn);}
.app-notice.danger .app-notice-icon{background:var(--danger-soft);color:var(--danger);}
.app-notice-content{min-width:0;}
.app-notice-content strong{display:block;color:var(--text);font-size:14px;line-height:1.35;}
.app-notice-content p{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.55;overflow-wrap:anywhere;}
.app-notice-action{margin-top:9px;padding:0;border:0;background:transparent;color:var(--accent-dark);font:inherit;font-size:12px;font-weight:900;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.app-notice-close{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;}
.app-notice-close svg,.print-close svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.app-notice-close:hover{background:var(--surface-soft);color:var(--text);}
.platform-notice-region{display:grid;gap:var(--space-2);width:100%;max-width:1540px;margin:calc(var(--space-4)*-1 + var(--space-2)) auto var(--space-4);}
.platform-notice-region[hidden]{display:none;}
.review-panel[hidden],.mobile-panel-nav button[hidden]{display:none!important;}
.platform-notice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-4);border:1px solid rgba(23,107,135,.22);border-left:4px solid var(--blue);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:none;}
.platform-notice.maintenance{border-color:rgba(182,112,18,.28);border-left-color:var(--warn);}
.platform-notice.warning{border-color:rgba(180,51,58,.3);border-left-color:var(--danger);}
.platform-notice.acknowledged{opacity:.82;}
.platform-notice>div{display:grid;gap:3px;min-width:0;}
.platform-notice-kicker{color:var(--accent-dark);font-size:var(--text-xs);font-weight:900;letter-spacing:.08em;}
.platform-notice.maintenance .platform-notice-kicker{color:var(--warn);}
.platform-notice.warning .platform-notice-kicker{color:var(--danger);}
.platform-notice strong{font-size:var(--text-sm);}
.platform-notice p{color:var(--muted);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;}
.platform-notice small,.platform-notice-status{color:var(--muted);font-size:var(--text-xs);}
.platform-notice-status:not(:empty){margin-top:3px;color:var(--success);}
.platform-notice-ack{display:inline-flex;align-items:center;justify-content:center;min-width:6.5rem;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--text);font:inherit;font-size:var(--text-sm);font-weight:800;cursor:pointer;}
.platform-notice-ack:disabled{cursor:default;opacity:.72;}
@keyframes appNoticeIn{from{opacity:0;transform:translateY(-8px) scale(.985);}to{opacity:1;transform:none;}}
@keyframes appNoticeOut{from{opacity:1;transform:none;}to{opacity:0;transform:translateY(-5px) scale(.99);}}
@media (max-width:520px){.app-notice-region{top:max(10px,env(safe-area-inset-top));right:10px;left:10px;width:auto;}.app-notice{grid-template-columns:32px minmax(0,1fr) 44px;padding:12px;}.app-notice-icon{width:30px;height:30px;}.app-notice-action{display:inline-flex;align-items:center;min-width:44px;min-height:44px;padding:4px 0;}.app-notice-close{width:44px;height:44px;}}
@media (max-width:620px){.platform-notice{grid-template-columns:1fr;}.platform-notice-ack{width:100%;}.platform-notice-region{margin-top:calc(var(--space-3)*-1 + var(--space-2));}}
@media (max-width:520px){
  body.tool-modal-open .app-notice-region{
    top:auto;
    right:10px;
    bottom:max(10px,env(safe-area-inset-bottom));
    left:10px;
  }
}
@media (prefers-reduced-motion:reduce){.app-notice,.app-notice.is-closing{animation:none;}}
.safety-backdrop{position:fixed;inset:0;z-index:60;background:rgba(23,35,31,0.34);}
.safety-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,calc(100vw - 28px));max-height:min(780px,calc(100vh - 28px));transform:translate(-50%,-50%);overflow:hidden;}
.shortcuts-list{display:grid;gap:8px;padding:20px;overflow-y:auto;}
.shortcut-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;background:var(--surface-soft);font-size:14px;}
.shortcut-item kbd{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);box-shadow:0 2px 0 var(--line);font-size:13px;font-weight:600;font-family:var(--font-sans);line-height:1;}
.shortcut-item span{color:var(--muted);}
.safety-head,.safety-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.safety-summary{display:grid;overflow-y:auto;}
.safety-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.safety-grid div{display:grid;gap:4px;min-height:70px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8faf9;}
.safety-grid span,.safety-item span{color:var(--muted);font-size:12px;font-weight:900;}
.safety-grid strong{min-width:0;overflow-wrap:anywhere;line-height:1.35;}
.safety-warning-list{display:grid;gap:8px;}
.safety-blocking-status{padding:10px 12px;border:1px solid rgba(180,51,58,.28);border-radius:10px;background:var(--danger-soft);color:var(--danger);font-size:13px;font-weight:800;line-height:1.5;}
.safety-item{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfdfc;}
.safety-item.low{border-color:#dce5e1;background:#f8faf9;}
.safety-item strong{display:block;margin-bottom:4px;}
.safety-item p,.safety-pass-list li{color:var(--muted);font-size:13px;line-height:1.55;}
.safety-pass-list{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8faf9;}
.safety-pass-list ul{display:grid;gap:4px;margin:0;padding-left:18px;}
.safety-actions{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0;}
.review-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:hidden;}
.director-panel{border:1px solid var(--line);border-radius:8px;background:#fffdfa;}
.director-log{display:grid;max-height:190px;overflow-y:auto;}
.director-item{line-height:1.45;}
.director-item strong{display:block;margin-bottom:4px;}
.director-form{display:grid;grid-template-columns:minmax(0,1fr) auto;}
.penalty-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:#fff4e2;color:var(--warn);font-size:12px;font-weight:900;}
.review-box {display:grid;align-content:start;gap:12px;min-height:0;overflow-y: auto;padding:14px;scrollbar-gutter:stable;}
.review-pending-card{display:grid;gap:12px;align-items:center;padding:16px;border:1px solid #b9d6cd;border-radius:8px;background:#f4fbf8;color:var(--text);}
.review-pending-card strong{display:block;margin-bottom:4px;font-size:15px;}
.review-pending-card p{color:var(--muted);font-size:13px;line-height:1.55;}
.review-spinner{border-top-color:var(--accent);}
.review-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #b9d6cd;border-radius:8px;}
.review-hero strong{display:block;margin-top:4px;font-size:18px;}
.review-hero p{margin-top:4px;color:var(--muted);font-size:13px;}
.review-source{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:6px;background:#e9f7ee;color:var(--accent-dark);font-size:12px;font-weight:900;}
.review-hero.local .review-source{background:#fff4e2;color:var(--warn);}
.ai-content-label{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:24px;margin:-4px 0 10px;padding:3px 9px;border:1px solid rgba(15,138,126,.2);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:12px;font-weight:800;line-height:1.35;}
.ai-content-label[hidden]{display:none;}
.message .ai-content-label{margin:0 0 0 7px;vertical-align:middle;}
.director-item .ai-content-label{margin:6px 0 0;}
.review-score-block{display:grid;justify-items:end;gap:3px;}
.review-score-block span{color:var(--muted);font-size:11px;font-weight:900;white-space:nowrap;}
.review-score{min-width:72px;text-align:right;line-height:1;}
.score-card{border:1px solid var(--line);border-radius:8px;background:#fbfdfc;box-shadow:0 8px 20px rgba(35,55,48,0.04);}
.score-card strong{display:block;margin-bottom:6px;}
.score-card p{color:#33423d;font-size:13px;line-height:1.62;}
.interruption-timeline{display:grid;border-top:1px solid var(--line);}
.interruption-timeline-row{display:grid;grid-template-columns:76px minmax(0,1fr) 38px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);}
.interruption-timeline-row:last-child{border-bottom:0;}
.interruption-minute{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;}
.interruption-event{display:grid;min-width:0;gap:2px;}
.interruption-event b{overflow-wrap:anywhere;}
.interruption-event small{color:var(--muted);overflow-wrap:anywhere;}
.interruption-score{justify-self:end;min-width:32px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums;}
.interruption-score.loss{color:var(--danger);}
.interruption-score.clear{color:var(--accent-dark);}
.communication-grid{display:grid;gap:8px;}
.communication-item{display:grid;gap:5px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;}
.communication-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:900;}
.communication-item p{color:var(--muted);font-size:12px;line-height:1.45;}
.print-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;overflow:auto;padding:18px;background:rgba(15,30,26,0.38);backdrop-filter:blur(5px);animation:fadeIn var(--motion-fast) both;}
.print-panel{width:min(680px,96vw);max-height:calc(100dvh - 28px);display:grid;grid-template-rows:auto 104px auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--glass-border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-modal);}
.print-panel.preview-mode{grid-template-rows:auto minmax(0,1fr) auto;}
.print-panel.document-preview-mode .barcode{display:none;}
.print-panel.document-preview-mode .printed-title{text-align:left;}
.print-panel.document-preview-mode .printed-sheet pre{line-height:1.8;}
.print-panel.print-mode{grid-template-rows:auto 104px auto minmax(0,1fr) auto;}
.print-preview-head{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:18px 22px;border-bottom:1px solid var(--line);background:var(--surface-raised);}
.print-preview-head>div{display:grid;gap:4px;}
.print-preview-kicker{color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.12em;}
.print-preview-head strong{color:var(--text);font-size:15px;}
.print-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);cursor:pointer;}
.print-close:hover{border-color:var(--accent);color:var(--accent-dark);background:var(--surface-soft);}
.printer-stage{position:relative;display:grid;justify-items:center;height:104px;padding-top:14px;background:radial-gradient(circle at 50% 0,rgba(var(--accent-rgb),.09),transparent 62%);overflow:hidden;}
.printer-device{position:relative;z-index:2;width:270px;height:76px;padding:11px 16px;border:1px solid #cad7d2;border-radius:18px 18px 12px 12px;background:linear-gradient(155deg,#fdfefe 0%,#e7eeeb 62%,#d6e1dd 100%);box-shadow:0 12px 26px rgba(22,46,38,.18),inset 0 1px 0 #fff;}
.printer-top{display:flex;align-items:center;justify-content:space-between;}
.printer-brand{color:#71837d;font-size:9px;font-weight:900;letter-spacing:.16em;}
.printer-status-light{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(39,120,72,.12);}
.printer-controls{display:flex;gap:5px;margin-top:8px;}
.printer-controls i{width:13px;height:4px;border-radius:99px;background:#aebdb8;}
.printer-output-slot{position:absolute;right:14px;bottom:10px;left:14px;height:17px;padding:5px 10px;border-radius:6px;background:#14221e;box-shadow:inset 0 3px 7px rgba(0,0,0,.65);}
.printer-output-slot span{display:block;height:3px;border-radius:9px;background:#3a4b45;}
.printer-paper-output{position:absolute;z-index:1;top:66px;width:218px;height:70px;border:1px solid #dce4e1;border-radius:2px;background:#fff;box-shadow:0 8px 18px rgba(22,46,38,.12);transform:translateY(-64px);opacity:0;}
.printer-paper-output i{display:block;width:70%;height:3px;margin:10px auto 0;border-radius:4px;background:#d9e2df;}
.printer-progress{display:grid;grid-template-columns:auto auto minmax(100px,1fr);align-items:center;gap:8px;padding:8px 22px;border-block:1px solid var(--line);background:var(--surface-raised);color:var(--muted);font-size:12px;font-weight:700;}
.printer-progress-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);}
.printer-progress-bar{height:4px;overflow:hidden;border-radius:99px;background:#e5ece9;}
.printer-progress-bar b{display:block;width:0;height:100%;border-radius:inherit;background:var(--accent);}
.print-panel.is-printing .printer-device{animation:none;}
.print-panel.is-printing .printer-status-light{background:var(--warn);animation:printBlink 420ms ease-in-out infinite;}
.print-panel.is-printing .printer-paper-output{animation:printerPaperOut 2.5s cubic-bezier(.2,.75,.2,1) both;}
.print-panel.is-printing .printer-progress-dot{background:var(--warn);animation:printBlink 600ms ease-in-out infinite;}
.print-panel.is-printing .printer-progress-bar b{animation:printerProgress 2.5s linear both;}
.print-panel.print-complete .printer-progress-dot{box-shadow:0 0 0 5px rgba(39,120,72,.13);}
.print-panel.print-complete .printer-paper-output{transform:translateY(5px);opacity:1;}
.print-mode .printed-sheet--output{opacity:0;transform:translateY(-24px) scale(.97);pointer-events:none;animation:none;}
.print-mode.print-complete .printed-sheet--output{pointer-events:auto;animation:printedDocumentReveal 520ms cubic-bezier(.16,1,.3,1) both;}
.print-machine{position:relative;z-index:2;width:min(430px,86vw);min-height:86px;padding:18px 22px 12px;background:linear-gradient(#f7faf9,#dfe8e5);text-align:center;color:var(--muted);font-size:12px;font-weight:900;}
.print-slot{height:12px;margin-bottom:14px;border-radius:999px;background:#17231f;box-shadow:inset 0 2px 5px rgba(0,0,0,0.5);}
.print-light{position:absolute;top:16px;right:18px;width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 5px rgba(39,120,72,0.12);animation:printBlink 700ms ease-in-out 4;}
.printed-sheet{position:relative;width:calc(100% - 32px);height:calc(100% - 24px);min-height:0;max-height:none;margin:12px 16px;padding:26px 30px;border:1px solid #dce5e1;border-radius:4px;background:#fff;overflow:auto;box-shadow:0 8px 24px rgba(23,35,31,.08);transform-origin:top center;animation:paperFeed 500ms cubic-bezier(0.2,0.8,0.2,1) both;}
.printed-title{margin-bottom:10px;text-align:center;color:var(--text);font-size:18px;font-weight:900;}
.printed-sheet pre{margin:0;white-space:pre-wrap;color:var(--text);font-size:13px;line-height:1.7;}
.barcode{display:flex;justify-content:center;gap:3px;height:26px;margin-bottom:12px;}
.barcode i{width:3px;background:#17231f;}
.barcode i:nth-child(2n){width:7px;}
.print-actions{display:flex;justify-content:flex-end;gap:8px;width:100%;padding:14px 22px;border-top:1px solid var(--line);background:var(--surface-raised);}
.signature-stamp{position:absolute;right:28px;bottom:28px;min-width:132px;padding:10px 12px;border:2px solid var(--danger);border-radius:8px;color:var(--danger);font-size:14px;font-weight:900;text-align:center;transform:rotate(-7deg);animation:stampIn 220ms cubic-bezier(0.2,0.8,0.2,1) both;}
.signature-stamp span{display:block;margin-top:2px;font-size:11px;}
.printed-sheet.signed{border-color:rgba(180,51,58,0.35);}
.score{font-size:34px;font-weight:900;color:var(--accent-dark);}
.dimension-list{display:grid;gap:9px;}
.dimension-row{display:grid;grid-template-columns:42px minmax(0,1fr) 34px;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:900;}
.dimension-bar{height:8px;overflow:hidden;border-radius:999px;}
.dimension-bar i{display:block;height:100%;border-radius:inherit;animation:barGrow 420ms cubic-bezier(0.2,0.8,0.2,1) both;}
.dimension-row b{color:var(--text);text-align:right;}
@keyframes spin{to{transform:rotate(360deg);}}
.hidden{display:none !important;}
@keyframes tabSelect{from{transform:translateY(2px);}to{transform:translateY(0);}}
@keyframes selectedPulse{0%{box-shadow:0 0 0 0 rgba(12,124,114,0.24);}100%{box-shadow:0 0 0 8px rgba(12,124,114,0);}}
@keyframes barGrow{from{transform:scaleX(0);transform-origin:left;}to{transform:scaleX(1);transform-origin:left;}}
@keyframes interruptionDrop{from{opacity:0;transform:translateY(-8px) scale(0.99);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes paperFeed{0%{opacity:0;transform:translateY(-96px) scaleY(0.18);clip-path:inset(0 0 82% 0);}55%{opacity:1;transform:translateY(-24px) scaleY(0.72);clip-path:inset(0 0 28% 0);}100%{opacity:1;transform:translateY(0) scaleY(1);clip-path:inset(0 0 0 0);}}
@keyframes printBlink{0%,100%{opacity:1;}50%{opacity:0.35;}}
@keyframes printerHum{0%,100%{transform:translateX(0)}50%{transform:translateX(.7px)}}
@keyframes printerPaperOut{0%{opacity:0;transform:translateY(-64px)}12%{opacity:1}72%{transform:translateY(18px)}88%{transform:translateY(3px)}100%{opacity:1;transform:translateY(5px)}}
@keyframes printerProgress{0%{width:0}25%{width:18%}66%{width:72%}100%{width:100%}}
@keyframes printedDocumentReveal{from{opacity:0;transform:translateY(-24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes stampIn{from{opacity:0;transform:scale(1.3) rotate(-7deg);}to{opacity:1;transform:scale(1) rotate(-7deg);}}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:1ms !important;animation-iteration-count:1 !important;}
}
@media (max-width:840px){
.encounter-panel{overflow:visible;}
.encounter-view,.workspace{height:auto;}
.tool-launcher{grid-template-columns:repeat(5,minmax(0,1fr));}
.chat-card{display:block;}
.actions-card.tool-open{min-height:0;}
.chat-log{height:430px;}
.safety-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.safety-actions{align-items:stretch;flex-direction:column-reverse;}
.safety-actions button{width:100%;}
}
.medication-list{display:grid;gap:8px;margin-bottom:10px;}
.medication-item{display:grid;gap:6px;padding:10px;background:#f8faf9;border:1px solid var(--line);border-radius:8px;}
.medication-head{display:flex;align-items:center;gap:8px;}
.medication-head strong{font-size:14px;}
.medication-meta{flex:1;font-size:12px;color:var(--muted);}
.medication-remove{padding:2px 10px;font-size:12px;color:var(--danger);background:transparent;border:1px solid var(--line);border-radius:6px;cursor:pointer;}
.medication-remove:hover{border-color:var(--danger);background:#fdf3f4;}
.medication-sig{width:100%;padding:8px 10px;font-size:13px;border:1px solid var(--line);border-radius:6px;background:var(--surface);}
.medication-sig:focus{outline:none;border-color:var(--accent);}
.records-head{margin-top:0;border-top:1px solid var(--line);}
.records-head .toolbar-actions{flex-wrap:wrap;justify-content:flex-end;}
.records-head .ghost-btn{min-height:44px;padding:0 10px;font-size:12px;}
.records-list {display:grid;align-content:start;gap:8px;min-height:0;overflow-y: auto;padding:12px;scrollbar-gutter:stable;}
.record-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;cursor:pointer;}
.record-score{flex-shrink:0;width:42px;height:42px;display:grid;place-items:center;font-size:16px;}
.record-score.good{color:var(--ok);background:#ecf6ef;}
.record-score.mid{color:var(--warn);background:#fbf3e8;}
.record-score.bad{color:var(--danger);background:#fdf0f1;}
.record-main{display:grid;gap:5px;min-width:0;}
.record-title{display:grid;gap:2px;min-width:0;overflow:hidden;}
.record-person,.record-complaint{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.record-person{font-size:13px;color:var(--text);}
.record-complaint{font-size:11px;font-weight:560;color:var(--muted);}
.record-sub{font-size:12px;color:var(--muted);}
.history-banner{border-left:3px solid var(--accent);}
.rx-table-wrap{margin:10px 0;border-radius:8px;}
.rx-table{width:100%;min-width:640px;border-collapse:collapse;}
.rx-table th{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;}
.rx-table td{vertical-align:middle;}
.rx-table tr:last-child td{border-bottom:none;}
.rx-table-wrap.is-empty .rx-table{display:none;}
.rx-empty-guide{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px;min-height:96px;padding:18px 20px;border:1px solid rgba(var(--accent-rgb),.16);border-radius:14px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.075),rgba(255,255,255,.76));color:var(--text);}
.rx-empty-guide-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--accent);color:#fff;font-size:16px;font-weight:900;font-family:Georgia,serif;box-shadow:0 6px 16px rgba(var(--accent-rgb),.2);}
.rx-empty-guide>div{display:grid;gap:5px;}
.rx-empty-guide strong{color:var(--accent-dark);font-size:14px;}
.rx-empty-guide p{max-width:66ch;color:var(--muted);font-size:13px;line-height:1.65;}
.rx-table input,.rx-table select{width:100%;padding:5px 6px;font-size:13px;border:1px solid transparent;background:transparent;}
.rx-table input:hover,.rx-table select:hover{border-color:var(--line);background:var(--surface);}
.rx-table input:focus,.rx-table select:focus{outline:none;border-color:var(--accent);background:var(--surface);}
.rx-table input:disabled,.rx-table select:disabled{color:var(--muted);opacity:0.65;cursor:not-allowed;}
.rx-col-group{width:72px;white-space:nowrap;}
.rx-col-name{min-width:170px;}
.rx-col-dose{width:150px;}
.rx-col-route{width:110px;}
.rx-col-freq{width:130px;}
.rx-col-days{width:56px;}
.rx-col-note{min-width:110px;}
.rx-col-op{width:36px;text-align:center;}
.rx-col-name strong{display:block;font-size:13px;}
.rx-form{display:block;font-size:11px;color:var(--muted);}
.rx-info-btn{display:inline-flex;align-items:center;min-height:22px;margin-top:4px;padding:2px 7px;border:1px solid var(--line);border-radius:5px;background:#f4f8f7;color:var(--accent-dark);font-size:11px;font-weight:800;}
.rx-info-btn:hover{border-color:var(--accent);background:var(--surface-soft);}
.dose-editor{display:grid;gap:5px;}
.dose-multipliers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;}
.dose-multipliers button{min-height:22px;padding:0 3px;border:1px solid var(--line);border-radius:5px;background:#f4f8f7;color:var(--muted);font-size:10px;font-weight:900;}
.dose-multipliers button:hover,.dose-multipliers button.active{border-color:var(--accent);background:var(--surface-soft);color:var(--accent-dark);}
.rx-group-tag{display:inline-block;min-width:22px;padding:2px 6px;font-size:12px;font-weight:700;text-align:center;border-radius:5px;background:var(--surface-soft);color:var(--accent-dark);}
.rx-group-toggle{display:block;margin-top:3px;padding:1px 6px;font-size:11px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:5px;cursor:pointer;}
.rx-group-toggle:hover{color:var(--accent-dark);border-color:var(--accent);}
.rx-row.group-a td:first-child{box-shadow:inset 3px 0 0 #0c7c72;}
.rx-row.group-b td:first-child{box-shadow:inset 3px 0 0 #4a72c4;}
.rx-row.group-c td:first-child{box-shadow:inset 3px 0 0 #a45b14;}
.rx-row.group-d td:first-child{box-shadow:inset 3px 0 0 #8a4ac4;}
.rx-row.group-e td:first-child{box-shadow:inset 3px 0 0 #b4333a;}
.rx-row.group-f td:first-child{box-shadow:inset 3px 0 0 #277848;}
.rx-row.group-member td{background:#fbfdfc;}
.rx-remove{padding:2px 7px;font-size:12px;color:var(--danger);background:transparent;border:1px solid var(--line);border-radius:5px;cursor:pointer;}
.rx-remove:hover{border-color:var(--danger);background:#fdf3f4;}
.diagnosis-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.diagnosis-chip{display:inline-flex;align-items:center;font-size:13px;}
.diagnosis-prefix,.diagnosis-code{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:2px 6px;border-radius:999px;background:#eef2f0;color:var(--muted);font-size:11px;font-weight:900;}
.diagnosis-name-input{width:min(220px,38vw);min-height:26px;padding:3px 6px;border:1px solid transparent;background:transparent;color:var(--text);font-weight:800;}
.diagnosis-name-input:focus{border-color:var(--accent);background:#fff;outline:none;}
.diagnosis-chip.primary{font-weight:600;}
.diagnosis-chip button{padding:0 4px;font-size:12px;color:var(--muted);background:transparent;border:none;cursor:pointer;}
.diagnosis-chip button:hover{color:var(--danger);}
.diagnostic-balance{display:grid;gap:12px;margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,.46);}
.diagnostic-balance-head{display:flex;align-items:start;justify-content:space-between;gap:16px;}
.diagnostic-balance-head .eyebrow{margin:0 0 3px;}
.diagnostic-balance-head h4{margin:0;color:var(--text);font-size:15px;line-height:1.35;}
.diagnostic-balance-intro{margin:0;color:var(--muted);font-size:12px;line-height:1.5;}
.diagnostic-balance-status{flex:0 0 auto;padding:4px 9px;border-radius:var(--radius-pill);background:#eef2f0;color:var(--muted);font-size:11px;font-weight:800;}
.diagnostic-balance-status.partial{background:#fff4d9;color:var(--warn);}
.diagnostic-balance-status.complete{background:var(--surface-soft);color:var(--accent-dark);}
.diagnostic-balance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.diagnostic-balance-lane{position:relative;gap:8px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);}
.diagnostic-balance-lane::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:10px 0 0 10px;background:var(--accent);}
.diagnostic-balance-lane.against::before{background:var(--warn);}
.diagnostic-balance-lane.verify::before{background:var(--danger);}
.diagnostic-balance-lane>span{display:grid;gap:3px;padding-left:3px;}
.diagnostic-balance-lane b{font-size:12px;color:var(--text);}
.diagnostic-balance-lane small{min-height:34px;color:var(--muted);font-size:10px;line-height:1.4;}
.diagnostic-balance-lane textarea{min-height:88px;padding:9px 10px;resize:vertical;font-size:12px;line-height:1.5;}
@media (max-width:1180px){
.review-panel{height:100%;min-height:0;}
}
@media (max-width:760px){
.welcome-text{max-width:34ch;font-size:12px;}
.session-meta{align-items:center;}
.doctor-name-field input{width:min(180px,48vw);}
.session-meta strong{font-size:22px;}
.panel-fullscreen{inset:8px;max-height:calc(100vh - 16px);}
.actions-card.tool-open{inset:8px;max-height:calc(100vh - 16px);}
.tool-card-head,.tabs{position:sticky;z-index:2;}
.tool-card-head{top:0;}
.diagnostic-balance-grid{grid-template-columns:1fr;}
.diagnostic-balance-lane small{min-height:0;}
.diagnostic-balance-head{align-items:stretch;flex-direction:column;gap:8px;}
.diagnostic-balance-status{align-self:flex-start;}
}
:root{--text-xs:12px;--text-sm:13px;--text-base:15px;--text-lg:17px;--text-xl:22px;--text-2xl:28px;--leading-xs:1.45;--leading-sm:1.45;--leading-base:1.55;--leading-lg:1.35;--leading-xl:1.25;--leading-2xl:1.12;--tracking-tight:0;--tracking-normal:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--radius-sm:8px;--radius-md:13px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--radius-full:999px;--surface:#ffffff;--surface-raised:rgba(255,255,255,0.82);--surface-soft:rgba(12,124,114,0.1);--hairline:rgba(14,40,36,0.075);--text:#14231f;--glass-bg:rgba(255,255,255,0.68);--glass-bg-strong:rgba(255,255,255,0.84);--shadow-card:var(--shadow-direct),var(--shadow-ambient),inset 0 1px 0 var(--glass-highlight);--shadow-xs:0 1px 2px rgba(7,36,32,0.05),inset 0 1px 0 rgba(255,255,255,0.74);}
.topbar{isolation:isolate;}
.topbar::after,.queue-panel::after,.encounter-panel::after,.review-panel::after,.actions-card.tool-open::after,.safety-panel::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 0 var(--glass-highlight);}
.welcome-text,.queue-complaint,.muted,.record-sub,.suggestion-sub{color:var(--muted);}
.session-meta,.doctor-name-field,.ai-status,.voice-status,.save-status,.pill,.queue-tags span,.review-source,.result-tag,.record-quality-grid span{font-size:var(--text-xs);letter-spacing:var(--tracking-normal);}
.queue-panel,.encounter-panel,.review-panel{position:relative;}
.panel-head,.card-head,.tool-card-head,.pending-order-head,.record-toolbar,.safety-head,.safety-actions{border-bottom:1px solid var(--hairline);background:rgba(255,255,255,0.46);}
.panel-head h2,.patient-strip h2,.card-head h3,.tool-card-head h3,.section-title h3,.record-toolbar h3{color:var(--gray-900);font-weight:740;letter-spacing:var(--tracking-tight);}
.chat-card,.actions-card,.director-panel,.result-box,.pending-order-panel,.record-quality-list,.score-card,.review-pending-card,.review-hero,.communication-item,.medication-item,.rx-table-wrap,.patient-strip,.suggestions,.safety-grid div,.safety-item,.safety-pass-list{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg-strong);box-shadow:var(--shadow-card-soft);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);}
.queue-stats div,.queue-item,.record-item,.pending-order-row,.result-item,.suggestion-item,.catalog-group,.diagnosis-chip{border-color:rgba(14,40,36,0.1);background:rgba(255,255,255,0.74);box-shadow:var(--shadow-xs);transition:transform var(--motion-fast),border-color var(--motion-fast),background-color var(--motion-fast),box-shadow var(--motion-fast),opacity var(--motion-fast);}
.queue-item.active,.record-item.active,.diagnosis-chip.primary{border-color:rgba(var(--accent-rgb),0.38);background:rgba(var(--accent-rgb),0.1);box-shadow:0 6px 18px rgba(var(--accent-rgb),0.12),0 22px 52px rgba(var(--accent-rgb),0.12),inset 0 1px 0 rgba(255,255,255,0.86);}
.ghost-btn,.quick-questions button,.voice-btn,.voice-input-btn,.tool-launch,.tab{transition:transform var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),background-color var(--motion-fast),box-shadow var(--motion-fast);}
.ai-status.busy::before,.voice-status.busy::before{content:"";width:6px;height:6px;margin-right:var(--space-2);border-radius:var(--radius-full);background:currentColor;opacity:0.62;}
.queue-list>:nth-child(1){--queue-stagger:0;}
.queue-list>:nth-child(2){--queue-stagger:1;}
.queue-list>:nth-child(3){--queue-stagger:2;}
.queue-list>:nth-child(4){--queue-stagger:3;}
.queue-list>:nth-child(5){--queue-stagger:4;}
.queue-list>:nth-child(6){--queue-stagger:5;}
.queue-list>:nth-child(7){--queue-stagger:6;}
.queue-list>:nth-child(8){--queue-stagger:7;}
.queue-list>:nth-child(9){--queue-stagger:8;}
.queue-list>:nth-child(10){--queue-stagger:9;}
.queue-list>:nth-child(11){--queue-stagger:10;}
.queue-list>:nth-child(12){--queue-stagger:11;}
.safety-panel:not(.hidden){box-shadow:var(--shadow-modal);}
.empty-state--hero::before{content:"";position:absolute;inset:12% 18%;pointer-events:none;border-radius:42% 58% 48% 52%;background:linear-gradient(135deg,rgba(var(--accent-rgb),0.08),rgba(255,255,255,0));filter:blur(10px);}
.empty-state-illustration{position:relative;z-index:1;}
.empty-state--hero h2,.empty-state--hero p{position:relative;z-index:1;}
.empty-state--hero::after{position:relative;z-index:1;}
#queueList>.muted::before,#recordsList>.muted::before,#resultsList>.muted::before,#diagnosisChips>.muted::before{content:"";width:44px;height:44px;border:1px solid rgba(var(--accent-rgb),0.2);border-radius:16px;background:linear-gradient(90deg,transparent 45%,rgba(var(--accent-rgb),0.5) 45% 55%,transparent 55%),linear-gradient(0deg,transparent 45%,rgba(var(--accent-rgb),0.5) 45% 55%,transparent 55%),rgba(var(--accent-rgb),0.08);box-shadow:var(--shadow-xs);}
.review-pending-card{position:relative;grid-template-columns:36px minmax(0,1fr);overflow:hidden;}
.review-pending-card::after{content:"";grid-column:1/-1;height:46px;border-radius:var(--radius-md);background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,0.78),rgba(255,255,255,0)),linear-gradient(180deg,rgba(var(--accent-rgb),0.08),rgba(var(--accent-rgb),0.04));background-size:220% 100%,100% 100%;animation:shimmer 1500ms ease-in-out infinite;}
.review-spinner{width:30px;height:30px;border:0;border-radius:11px;background:linear-gradient(90deg,rgba(var(--accent-rgb),0.04),rgba(var(--accent-rgb),0.18),rgba(var(--accent-rgb),0.04)),rgba(var(--accent-rgb),0.08);background-size:220% 100%,100% 100%;box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),0.14);animation:shimmer 1400ms ease-in-out infinite;}
.rx-remove,.medication-remove,.diagnosis-chip button{border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;}
@keyframes statusPulse{0%,100%{opacity:0.88;box-shadow:var(--shadow-xs),0 0 0 0 rgba(164,91,20,0);transform:scale(1);}50%{opacity:1;box-shadow:var(--shadow-xs),0 0 0 6px rgba(164,91,20,0.075);transform:scale(1.018);}}
@keyframes shimmer{from{background-position:180% 0,0 0;}to{background-position:-80% 0,0 0;}}
@media (max-width:840px){
.topbar,.patient-strip,.status-stack{align-items:flex-start;flex-direction:column;}
.queue-panel,.encounter-panel,.review-panel,.chat-card{height:auto;min-height:auto;}
.empty-state--hero{min-height:44vh;padding:var(--space-7) var(--space-4);}
.queue-list,.review-box,.records-list{max-height:52vh;}
}
.panel-fullscreen {position: fixed;}
.queue-panel.panel-fullscreen,.encounter-panel.panel-fullscreen,.review-panel.panel-fullscreen{position:fixed;}
@media (prefers-color-scheme:dark){
:where(.queue-item,.record-item,.tool-launch,.quick-questions button,.order-grid button,.exam-grid button,.catalog-grid button,.pending-order-row,.result-item,.suggestion-item,.score-card,.communication-item,.medication-item):hover{border-color:var(--line-strong);background:rgba(var(--accent-rgb),0.12);box-shadow:var(--shadow-hover);}
.warn-btn,.queue-tags span.behavior,.pill.warn,.save-status.warn,.penalty-pill,.record-quality-grid .missing,.result-tag{background:var(--warn-soft);color:var(--warn);}
.danger-btn,.ai-status.error,.voice-status.error,.pill.ready,.pill.withdrawn,.queue-tags span.return,.record-score.bad{background:var(--danger-soft);color:var(--danger);}
#queueList>.muted::before,#recordsList>.muted::before,#resultsList>.muted::before,#diagnosisChips>.muted::before{background:linear-gradient(90deg,transparent 45%,rgba(var(--accent-rgb),0.72) 45% 55%,transparent 55%),linear-gradient(0deg,transparent 45%,rgba(var(--accent-rgb),0.72) 45% 55%,transparent 55%),rgba(var(--accent-rgb),0.12);}
.record-score.mid{background:var(--warn-soft);color:var(--warn);}
}
html{background:var(--bg);}
body{color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-base);}
::selection{background:rgba(15,138,126,0.18);color:var(--text);}
button,input,textarea,select{font:inherit;}
button{border:0;cursor:pointer;transition:transform var(--motion-fast),box-shadow var(--motion-fast),background-color var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast),opacity var(--motion-fast);}
button:active:not(:disabled){transform:translateY(0) scale(0.985);}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(15,138,126,0.16),var(--shadow-xs);}
.clinic-shell{padding:var(--space-4);background:transparent;}
.topbar{position:sticky;top:var(--space-3);z-index:20;width:100%;max-width:1540px;margin:0 auto var(--space-4);padding:var(--space-4) var(--space-5);border:0.5px solid var(--glass-border);border-bottom-color:rgba(17,28,24,0.06);border-radius:var(--radius-lg);background:var(--glass-bg);box-shadow:var(--shadow-sm);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);}
.topbar h1,h2,h3,p{margin:0;}
.topbar h1{color:var(--gray-900);font-size:var(--text-2xl);font-weight:700;letter-spacing:var(--tracking-tight);line-height:var(--leading-2xl);}
.welcome-text{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-sm);}
.eyebrow{line-height:var(--leading-xs);}
.session-meta{gap:var(--space-2);color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-sm);}
.doctor-name-field,.ai-status,.voice-status,.voice-btn,.voice-input-btn{border:0.5px solid var(--line);border-radius:var(--radius-sm);background:rgba(255,255,255,0.64);box-shadow:var(--shadow-xs);color:var(--accent-dark);font-size:var(--text-xs);font-weight:600;}
.doctor-name-field{min-height:36px;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);letter-spacing:var(--tracking-normal);}
.doctor-name-field input{height:28px;border-color:transparent;border-radius:7px;background:rgba(15,138,126,0.08);font-size:var(--text-xs);font-weight:600;}
.ai-status,.voice-status{min-height:30px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);}
.ai-status.live,.voice-status.live,.save-status.saved,.pill.done,.queue-tags span.ai{background:var(--ok-soft);color:var(--ok);}
.ai-status.busy,.voice-status.busy{background:var(--warn-soft);color:var(--warn);}
.ai-status.error,.voice-status.error,.pill.ready,.pill.withdrawn,.queue-tags span.return{background:var(--danger-soft);color:var(--danger);}
.voice-btn,.voice-input-btn{min-height:44px;padding:0 var(--space-3);color:#596a64;}
.voice-btn:hover,.voice-input-btn:hover{border-color:rgba(15,138,126,0.24);background:rgba(15,138,126,0.08);color:var(--accent-dark);transform:translateY(-1px);}
.voice-btn.active,.voice-input-btn.listening{border-color:rgba(15,138,126,0.34);background:var(--accent-soft);color:var(--accent-dark);}
.session-meta strong{color:var(--gray-900);font-size:var(--text-xl);font-weight:700;line-height:var(--leading-xl);letter-spacing:var(--tracking-tight);}
.layout{width:100%;max-width:1540px;}
.queue-panel,.encounter-panel,.review-panel{padding:var(--space-3);border:0.5px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg);box-shadow:var(--shadow-sm);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);animation:panelLiftIn var(--motion-out) both;}
.queue-panel,.review-panel{gap:var(--space-3);}
.encounter-panel{gap:var(--space-3);background:rgba(255,255,255,0.62);}
.panel-head,.card-head,.tool-card-head,.patient-strip,.pending-order-head,.record-toolbar,.safety-head,.safety-actions{gap:var(--space-3);}
.panel-head{padding:var(--space-3);border:0;border-radius:var(--radius-md);background:rgba(255,255,255,0.54);box-shadow:inset 0 -0.5px 0 rgba(17,28,24,0.06);}
.panel-head h2,.patient-strip h2{color:var(--gray-900);font-size:var(--text-xl);font-weight:700;letter-spacing:var(--tracking-tight);line-height:var(--leading-xl);}
.toolbar-actions{gap:var(--space-2);}
.queue-stats{gap:var(--space-2);padding:0;}
.queue-stats div{padding:var(--space-2);border:0.5px solid var(--line);border-radius:var(--radius-sm);background:rgba(255,255,255,0.58);box-shadow:var(--shadow-xs);}
.queue-stats div:hover{border-color:rgba(15,138,126,0.22);transform:translateY(-1px);box-shadow:var(--shadow-sm);}
.queue-stats strong{color:var(--gray-900);font-size:var(--text-lg);font-weight:700;}
.queue-stats span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:var(--tracking-wide);}
.queue-list{gap:var(--space-2);padding:0 var(--space-1) var(--space-1) 0;}
.queue-list>*{--i:0;animation-delay:calc(var(--i) * 40ms);}
.queue-list>:nth-child(1){--i:0;}
.queue-list>:nth-child(2){--i:1;}
.queue-list>:nth-child(3){--i:2;}
.queue-list>:nth-child(4){--i:3;}
.queue-list>:nth-child(5){--i:4;}
.queue-list>:nth-child(6){--i:5;}
.queue-list>:nth-child(7){--i:6;}
.queue-list>:nth-child(8){--i:7;}
.queue-list>:nth-child(9){--i:8;}
.queue-list>:nth-child(10){--i:9;}
.queue-list>:nth-child(11){--i:10;}
.queue-list>:nth-child(12){--i:11;}
.queue-list>:nth-child(13){--i:12;}
.queue-list>:nth-child(14){--i:13;}
.queue-list>:nth-child(15){--i:14;}
.queue-list>:nth-child(16){--i:15;}
.queue-list>:nth-child(17){--i:16;}
.queue-list>:nth-child(18){--i:17;}
.queue-list>:nth-child(19){--i:18;}
.queue-list>:nth-child(20){--i:19;}
.queue-list>:nth-child(21){--i:20;}
.queue-list>:nth-child(22){--i:21;}
.queue-list>:nth-child(23){--i:22;}
.queue-list>:nth-child(24){--i:23;}
.queue-list>:nth-child(25){--i:24;}
.queue-list>:nth-child(26){--i:25;}
.queue-list>:nth-child(27){--i:26;}
.queue-list>:nth-child(28){--i:27;}
.queue-list>:nth-child(29){--i:28;}
.queue-list>:nth-child(30){--i:29;}
.queue-item {min-height: 118px;overflow: visible;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-4);border:0.5px solid rgba(17,28,24,0.08);border-radius:var(--radius-md);background:rgba(255,255,255,0.72);box-shadow:var(--shadow-xs);}
.queue-item::before{inset:var(--space-3) auto var(--space-3) 0;width:3px;border-radius:0 var(--radius-pill) var(--radius-pill) 0;}
.queue-item:hover{border-color:rgba(15,138,126,0.28);background:rgba(255,255,255,0.9);box-shadow:var(--shadow-md);transform:translateY(-1px);}
.queue-item:active{transform:translateY(0) scale(0.99);}
.queue-item.active{border-color:rgba(15,138,126,0.42);background:rgba(15,138,126,0.08);box-shadow:0 1px 2px rgba(15,42,38,0.04),0 12px 30px rgba(15,138,126,0.12);}
.queue-name{color:var(--gray-900);font-size:var(--text-base);font-weight:700;}
.queue-complaint,.muted{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-base);}
.queue-tags{gap:var(--space-1);}
.queue-tags span,.pill,.save-status,.penalty-pill,.review-source,.result-tag,.record-quality-grid span,.diagnosis-prefix,.diagnosis-code{border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;line-height:var(--leading-xs);}
.queue-tags span{min-height:22px;padding:2px var(--space-2);background:var(--gray-100);color:var(--muted);}
.queue-tags span.behavior,.pill.warn,.save-status.warn,.penalty-pill,.record-quality-grid .missing{background:var(--warn-soft);color:var(--warn);}
.pill{min-height:28px;padding:var(--space-1) var(--space-3);background:rgba(12,124,114,0.18);color:#075f56;}
.empty-state{min-height:100%;padding:var(--space-10);border:0;border-radius:var(--radius-lg);background:transparent;box-shadow:none;}
.empty-state h2{margin-bottom:var(--space-2);color:var(--gray-900);font-size:var(--text-2xl);font-weight:700;line-height:var(--leading-2xl);}
.empty-state p{color:var(--muted);font-size:var(--text-base);line-height:var(--leading-base);}
.empty-state-steps{display:flex;gap:20px;margin-top:32px;justify-content:center;}
.step-item{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:120px;}
.step-number{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent),rgba(12,124,114,0.8));color:#ffffff;font-size:15px;font-weight:700;box-shadow:0 4px 12px rgba(12,124,114,0.25);}
.step-text{color:var(--muted);font-size:13px;font-weight:600;text-align:center;line-height:1.4;}
.skeleton{background:linear-gradient(90deg,rgba(var(--accent-rgb),0.04),rgba(var(--accent-rgb),0.12),rgba(var(--accent-rgb),0.04));background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;}
.skeleton-text{height:14px;border-radius:4px;}
.skeleton-title{height:20px;border-radius:6px;margin-bottom:8px;}
.skeleton-card{padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);}
@keyframes skeleton-loading{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.encounter-view{gap:var(--space-3);}
.patient-strip{padding:var(--space-4) var(--space-5);border:0.5px solid var(--glass-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(255,255,255,0.9),rgba(248,250,249,0.76));box-shadow:var(--shadow-sm);animation:patientFocusIn var(--motion-out) both;}
.patient-strip::before{width:3px;background:linear-gradient(180deg,var(--accent),#4aa090);}
#patientMeta{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-sm);}
.status-stack{gap:var(--space-2);}
.tool-launcher{gap:var(--space-2);}
.tool-launch{min-height:42px;border:0.5px solid rgba(15,138,126,0.2);border-radius:var(--radius-pill);background:rgba(255,255,255,0.68);color:var(--accent-dark);box-shadow:var(--shadow-xs);font-size:var(--text-sm);font-weight:500;}
.tool-launch:hover{border-color:rgba(15,138,126,0.36);background:rgba(15,138,126,0.1);box-shadow:var(--shadow-md);transform:translateY(-1px);}
.workspace{gap:var(--space-3);}
.chat-card,.actions-card,.director-panel,.result-box,.pending-order-panel,.record-quality-list,.score-card,.review-pending-card,.review-hero,.communication-item,.medication-item{border:0.5px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg-strong);box-shadow:var(--shadow-sm);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);}
.chat-card{overflow:hidden;}
.card-head,.tool-card-head{padding:var(--space-3) var(--space-4);border-bottom:0.5px solid var(--hairline);background:rgba(255,255,255,0.42);}
.card-head h3,.tool-card-head h3,.section-title h3,.record-toolbar h3{color:var(--gray-900);font-size:var(--text-lg);font-weight:700;letter-spacing:var(--tracking-tight);line-height:var(--leading-lg);}
.chat-log{gap:var(--space-2);padding:var(--space-4);background:linear-gradient(180deg,rgba(248,250,249,0.42),rgba(255,255,255,0.22));}
.message{max-width:84%;padding:var(--space-3) var(--space-4);border:0.5px solid transparent;border-radius:var(--radius-lg);font-size:var(--text-base);line-height:var(--leading-base);box-shadow:var(--shadow-xs);animation:bubbleSpringIn var(--motion-spring) both;transform-origin:center bottom;}
.message.patient{border-color:rgba(15,138,126,0.14);border-bottom-left-radius:var(--radius-sm);background:rgba(240,248,246,0.92);color:#1d312c;}
.message.doctor{border-color:rgba(56,103,166,0.14);border-bottom-right-radius:var(--radius-sm);background:rgba(236,244,255,0.92);color:#173b64;}
.message.system{max-width:96%;border-color:rgba(164,91,20,0.16);border-radius:var(--radius-md);background:rgba(255,248,231,0.92);color:#72510b;font-size:var(--text-sm);box-shadow:none;}
.patient-opening-loading{display:flex;align-items:center;gap:5px;color:var(--muted)!important;}
.patient-opening-loading span{margin-right:3px;}
.patient-opening-loading i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:openingDot 1s ease-in-out infinite;}
.patient-opening-loading i:nth-of-type(2){animation-delay:140ms;}
.patient-opening-loading i:nth-of-type(3){animation-delay:280ms;}
@keyframes openingDot{0%,60%,100%{opacity:.3;transform:translateY(0);}30%{opacity:1;transform:translateY(-4px);}}
.chat-form{gap:var(--space-2);padding:var(--space-3);border-top:0.5px solid var(--hairline);background:rgba(255,255,255,0.5);}
input,textarea,select{border:0.5px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,0.76);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,0.78);transition:border-color var(--motion-fast),box-shadow var(--motion-fast),background-color var(--motion-fast);}
input::placeholder,textarea::placeholder{color:var(--gray-500);}
input{height:42px;padding:0 var(--space-3);}
textarea{padding:var(--space-3);line-height:var(--leading-base);}
input:focus,textarea:focus,select:focus{border-color:rgba(15,138,126,0.54);background:rgba(255,255,255,0.94);box-shadow:0 0 0 4px rgba(15,138,126,0.14),var(--shadow-sm);}
.quick-questions{gap:var(--space-2);padding:0 var(--space-3) var(--space-3);background:rgba(255,255,255,0.5);}
.primary-btn,.ghost-btn,.warn-btn,.danger-btn,.voice-btn,.voice-input-btn,.quick-questions button,.icon-btn,.tab,.order-grid button,.exam-grid button,.catalog-grid button,.rx-info-btn,.rx-group-toggle,.rx-remove,.medication-remove,.dose-multipliers button,.diagnosis-chip button{border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;}
.primary-btn{min-height:38px;padding:0 var(--space-4);border:0.5px solid rgba(255,255,255,0.18);background:var(--accent);box-shadow:0 1px 1px rgba(15,42,38,0.08),0 10px 24px rgba(15,138,126,0.18);}
.primary-btn:hover{background:var(--accent-dark);box-shadow:0 1px 1px rgba(15,42,38,0.08),0 14px 30px rgba(15,138,126,0.24);transform:translateY(-1px);}
.ghost-btn,.quick-questions button{min-height:36px;padding:0 var(--space-3);border:0.5px solid rgba(15,138,126,0.2);background:rgba(255,255,255,0.48);color:var(--accent-dark);}
.quick-questions button{border-radius:var(--radius-pill);}
.ghost-btn:hover,.quick-questions button:hover{border-color:rgba(15,138,126,0.34);background:rgba(15,138,126,0.09);box-shadow:var(--shadow-sm);transform:translateY(-1px);}
.warn-btn{min-height:38px;padding:0 var(--space-3);border:0.5px solid rgba(164,91,20,0.18);background:var(--warn-soft);color:var(--warn);}
.warn-btn:hover{background:rgba(164,91,20,0.18);box-shadow:0 10px 24px rgba(164,91,20,0.12);transform:translateY(-1px);}
.danger-btn{min-height:38px;padding:0 var(--space-3);border:0.5px solid rgba(180,51,58,0.18);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);font-weight:600;}
.danger-btn:hover{background:rgba(180,51,58,0.17);box-shadow:0 10px 24px rgba(180,51,58,0.12);transform:translateY(-1px);}
.primary-btn:disabled,.ghost-btn:disabled,.warn-btn:disabled,.danger-btn:disabled,.tool-launch:disabled,.quick-questions button:disabled,.voice-btn:disabled,.voice-input-btn:disabled{cursor:not-allowed;opacity:0.45;transform:none;box-shadow:none;}
.icon-btn{--icon-url:none;display:inline-grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0.5px solid rgba(17,28,24,0.08);border-radius:var(--radius-pill);background:rgba(255,255,255,0.58);color:var(--gray-700);box-shadow:var(--shadow-xs);font-size:0;}
.assignment-context-btn{display:inline-flex;align-items:center;min-width:0;max-width:clamp(150px,18vw,240px);min-height:36px;padding:0 11px;border:0.5px solid rgba(var(--accent-rgb),.22);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-dark);font-size:11px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;}
.assignment-context-btn:hover,.assignment-context-btn:focus-visible{border-color:rgba(var(--accent-rgb),.42);background:rgba(var(--accent-rgb),.14);}
.assignment-context-btn[hidden]{display:none;}
.icon-btn svg{display:block;width:18px;height:18px;}
.icon-btn svg path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
#queueFullscreenBtn,#reviewFullscreenBtn{--icon-url:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3H4a1 1 0 0 0-1 1v4'/%3E%3Cpath d='M16 3h4a1 1 0 0 1 1 1v4'/%3E%3Cpath d='M8 21H4a1 1 0 0 1-1-1v-4'/%3E%3Cpath d='M16 21h4a1 1 0 0 0 1-1v-4'/%3E%3C/svg%3E");}
.queue-panel.panel-fullscreen #queueFullscreenBtn,.review-panel.panel-fullscreen #reviewFullscreenBtn{--icon-url:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3v4a1 1 0 0 1-1 1H3'/%3E%3Cpath d='M16 3v4a1 1 0 0 0 1 1h4'/%3E%3Cpath d='M8 21v-4a1 1 0 0 0-1-1H3'/%3E%3Cpath d='M16 21v-4a1 1 0 0 1 1-1h4'/%3E%3C/svg%3E");}
#resetBtn{--icon-url:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 1 1-2.34-5.66'/%3E%3Cpath d='M20 4v6h-6'/%3E%3C/svg%3E");}
#closeToolsBtn,#clearRecordsBtn,#safetyCloseBtn,#clinicalTermCloseBtn{--icon-url:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12'/%3E%3Cpath d='M18 6L6 18'/%3E%3C/svg%3E");}
.icon-btn:hover{border-color:rgba(15,138,126,0.18);background:rgba(15,138,126,0.08);color:var(--accent-dark);box-shadow:var(--shadow-sm);transform:translateY(-1px);}
.tabs{--active-index:0;position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:var(--space-3);padding:var(--space-1);border:0;border-radius:var(--radius-pill);background:rgba(17,28,24,0.07);box-shadow:inset 0 1px 2px rgba(17,28,24,0.04);}
.tabs::before{content:"";position:absolute;top:var(--space-1);bottom:var(--space-1);left:var(--space-1);width:calc((100% - (var(--space-1) * 2)) / 5);border-radius:var(--radius-pill);background:rgba(255,255,255,0.92);box-shadow:var(--shadow-xs);transform:translateX(calc(var(--active-index) * 100%));transition:transform var(--motion-out),box-shadow var(--motion-out);}
.tabs:has(.tab[data-tab="exam"].active){--active-index:1;}
.tabs:has(.tab[data-tab="prescription"].active){--active-index:2;}
.tabs:has(.tab[data-tab="notes"].active){--active-index:3;}
.tabs:has(.tab[data-tab="record"].active){--active-index:4;}
.tab{position:relative;z-index:1;min-height:34px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--muted);box-shadow:none;transition:color var(--motion-fast),transform var(--motion-fast);}
.tab:hover{color:var(--accent-dark);}
.tab.active{background:transparent;color:var(--gray-900);box-shadow:none;animation:segmentedActive var(--motion-out) both;}
.tab-view{padding:var(--space-4);}
.tab-view:not(.hidden){animation:none;}
.tab-view[data-tool-tab-motion]{will-change:transform,opacity;}
.tool-search-row{margin-bottom:var(--space-3);}
.catalog-group{gap:var(--space-2);padding:var(--space-3);border:0.5px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,0.62);box-shadow:var(--shadow-xs);}
.catalog-group-title{color:var(--accent-dark);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;}
.catalog-group-title span,.pending-order-no,.rx-group-tag{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-dark);font-weight:600;}
.order-section{gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:0.5px solid var(--hairline);}
.section-title{gap:var(--space-3);}
.section-title span{color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-xs);}
.order-grid button,.exam-grid button,.catalog-grid button{padding:var(--space-3);border:0.5px solid var(--line);background:rgba(255,255,255,0.62);color:var(--text);box-shadow:var(--shadow-xs);}
.order-grid button:hover,.exam-grid button:hover,.catalog-grid button:hover{border-color:rgba(15,138,126,0.32);background:rgba(15,138,126,0.08);box-shadow:var(--shadow-sm);transform:translateY(-1px);}
.order-grid button.ordered,.exam-grid button.done,.catalog-grid button.ordered,.catalog-grid button.done{border-color:rgba(15,138,126,0.38);background:var(--accent-soft);animation:selectedPulse 360ms cubic-bezier(0.2,0.8,0.2,1);}
.result-box,.pending-order-panel,.record-quality-list,.rx-table-wrap{border-radius:var(--radius-lg);overflow:hidden;}
.pending-order-head{padding:var(--space-3);border-bottom:0.5px solid var(--hairline);}
.pending-order-body{gap:var(--space-2);padding:0 var(--space-3) var(--space-3);}
.pending-order-row{min-height:50px;padding:var(--space-2);border:0.5px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,0.72);box-shadow:var(--shadow-xs);}
.record-toolbar{margin-bottom:var(--space-3);}
.save-status{min-height:26px;padding:var(--space-1) var(--space-2);background:var(--gray-100);color:var(--muted);}
label{gap:var(--space-2);margin-bottom:var(--space-4);color:var(--muted);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-sm);}
.suggestions{top:calc(100% + var(--space-1));max-height:min(300px,44vh);border:0.5px solid var(--glass-border);border-radius:var(--radius-md);background:#fcfefd;box-shadow:var(--shadow-lg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);animation:suggestionIn var(--motion-out) both;}
.suggestion-item{min-height:58px;padding:var(--space-3);border-bottom:0.5px solid var(--hairline);background:transparent;}
.suggestion-item:hover,.suggestion-item.highlighted{background:rgba(15,138,126,0.08);}
.suggestion-main{font-weight:700;}
.suggestion-main code,.suggestion-sub,.suggestion-notice{font-size:var(--text-xs);}
.safety-backdrop,.tool-backdrop,.print-backdrop{animation:backdropFadeBlur var(--motion-backdrop) both;}
.tool-backdrop{z-index:30;}
.actions-card.tool-open{top:7vh;right:4vw;bottom:7vh;left:4vw;border:0.5px solid var(--glass-border);border-radius:var(--radius-xl);background:rgba(255,255,255,0.82);box-shadow:var(--shadow-xl);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);animation:modalScaleFade var(--motion-out) both;}
.tool-card-head{padding:var(--space-4) var(--space-5);}
.safety-panel{border:0.5px solid var(--glass-border);border-radius:var(--radius-xl);background:rgba(255,255,255,0.84);box-shadow:var(--shadow-xl);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);}
.safety-head,.safety-actions{padding:var(--space-4) var(--space-5);border-bottom:0.5px solid var(--hairline);background:rgba(255,255,255,0.4);}
.safety-head h2{color:var(--gray-900);font-size:var(--text-xl);line-height:var(--leading-xl);}
.safety-summary{gap:var(--space-3);padding:var(--space-4) var(--space-5);}
.safety-grid{gap:var(--space-2);}
.safety-grid div,.safety-item,.safety-pass-list{border:0.5px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,0.62);box-shadow:var(--shadow-xs);}
.safety-item.high{border-color:rgba(180,51,58,0.22);background:rgba(180,51,58,0.08);}
.safety-item.middle{border-color:rgba(164,91,20,0.24);background:rgba(164,91,20,0.08);}
.safety-item.ok{border-color:rgba(39,120,72,0.22);background:rgba(39,120,72,0.08);}
.interrupt-panel{padding:var(--space-4);border:1px solid rgba(164,91,20,0.28);border-top-width:2px;border-radius:var(--radius-lg);background:#fcfefd;color:var(--text);box-shadow:var(--shadow-lg);animation:interruptionDrop var(--motion-out) both;}
.director-panel{margin:0 var(--space-3) var(--space-3);overflow:hidden;}
.director-log{gap:var(--space-2);padding:var(--space-3);border-top:0.5px solid var(--hairline);}
.director-item{padding:var(--space-2) var(--space-3);border:0.5px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,0.68);font-size:var(--text-sm);}
.director-form{gap:var(--space-2);padding:var(--space-3);border-top:0.5px solid var(--hairline);}
.review-box,.records-list{gap:var(--space-3);padding:0 var(--space-1) var(--space-1) 0;}
.review-box[data-context-motion],.history-review-detail[data-context-motion]{will-change:transform,opacity;}
.review-pending-card,.review-hero,.score-card{border-color:var(--glass-border);}
.review-hero{padding:var(--space-4);background:linear-gradient(135deg,rgba(245,251,248,0.86),rgba(255,255,255,0.84));}
.review-hero.local{border-color:rgba(164,91,20,0.24);background:var(--surface-raised);}
.review-fallback-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid rgba(164,91,20,0.24);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-xs);}
.review-fallback-banner strong{display:block;margin-bottom:4px;color:var(--text);font-size:var(--text-sm);}
.review-fallback-banner p{color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-sm);}
.review-fallback-banner .review-retry-btn{flex:0 0 auto;}
.teaching-submission-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-xs);}
.teaching-submission-banner strong{display:block;margin-bottom:4px;color:var(--text);font-size:var(--text-sm);}
.teaching-submission-banner p{color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-sm);}
.teaching-submission-banner.pending{border-color:rgba(var(--accent-rgb),0.32);}
.teaching-submission-banner.failed{border-color:rgba(174,56,64,0.42);background:var(--surface-raised);}
.teaching-submission-banner.failed strong{color:var(--danger);}
.teaching-submission-banner.synced{border-color:rgba(31,122,92,0.38);}
.teaching-submission-banner .teaching-submission-retry,.teaching-submission-banner .teaching-submission-results{flex:0 0 auto;}
.review-score{color:var(--accent-dark);font-size:42px;font-weight:800;letter-spacing:var(--tracking-tight);}
.score-card{padding:var(--space-3);}
.record-item{padding:var(--space-3);border:0.5px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,0.66);box-shadow:var(--shadow-xs);transition:transform var(--motion-fast),border-color var(--motion-fast),background-color var(--motion-fast),box-shadow var(--motion-fast);}
.record-item:hover,.record-item.active{border-color:rgba(15,138,126,0.32);background:rgba(15,138,126,0.08);box-shadow:var(--shadow-sm);transform:translateY(-1px);}
.record-score{border-radius:var(--radius-sm);font-weight:700;}
.rx-table-wrap{border:0.5px solid var(--line);background:rgba(255,255,255,0.72);}
.rx-table{font-size:var(--text-sm);}
.rx-table th{padding:var(--space-2) var(--space-2);background:rgba(17,28,24,0.05);color:var(--muted);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);line-height:var(--leading-xs);text-transform:uppercase;}
.rx-table td{padding:var(--space-2);border-bottom:0.5px solid var(--hairline);}
.rx-table tbody tr{transition:background-color var(--motion-fast);}
.rx-table tbody tr:hover td{background:rgba(15,138,126,0.05);}
.rx-table input,.rx-table select{border-radius:var(--radius-sm);}
.rx-info-btn,.rx-group-toggle,.rx-remove,.medication-remove,.dose-multipliers button{border:0.5px solid var(--line);background:rgba(255,255,255,0.62);color:var(--muted);}
.rx-info-btn:hover,.rx-group-toggle:hover,.dose-multipliers button:hover,.dose-multipliers button.active{border-color:rgba(15,138,126,0.34);background:var(--accent-soft);color:var(--accent-dark);}
.rx-remove:hover,.medication-remove:hover,.diagnosis-chip button:hover{border-color:rgba(180,51,58,0.25);background:var(--danger-soft);color:var(--danger);}
.rx-safety-panel{border:0.5px solid rgba(164,91,20,0.22);border-radius:var(--radius-md);background:rgba(255,250,240,0.86);}
.diagnosis-chip{gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);border:0.5px solid var(--line);border-radius:var(--radius-pill);background:rgba(255,255,255,0.72);box-shadow:var(--shadow-xs);}
.diagnosis-chip.primary{border-color:rgba(15,138,126,0.34);background:var(--accent-soft);}
.diagnosis-name-input{border-radius:var(--radius-sm);}
.panel-fullscreen{inset:var(--space-4);max-height:calc(100vh - (var(--space-4) * 2));border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:modalScaleFade var(--motion-out) both;}
.print-panel{animation:modalScaleFade var(--motion-out) both;}
.print-machine{border:0.5px solid var(--line);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-sm);box-shadow:var(--shadow-lg);}
.printed-sheet{border:0.5px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);}
.print-actions{gap:var(--space-2);}
.dimension-bar{background:var(--gray-200);}
.dimension-bar i{background:linear-gradient(90deg,var(--accent),#48a573);}
.queue-list,.chat-log,.encounter-panel,.review-box,.records-list,.actions-card.tool-open .tab-view,.suggestions,.safety-summary,.printed-sheet,.rx-table-wrap,.director-log{scrollbar-width:thin;scrollbar-color:var(--gray-400) transparent;}
.queue-list::-webkit-scrollbar,.chat-log::-webkit-scrollbar,.encounter-panel::-webkit-scrollbar,.review-box::-webkit-scrollbar,.records-list::-webkit-scrollbar,.actions-card.tool-open .tab-view::-webkit-scrollbar,.suggestions::-webkit-scrollbar,.safety-summary::-webkit-scrollbar,.printed-sheet::-webkit-scrollbar,.rx-table-wrap::-webkit-scrollbar,.director-log::-webkit-scrollbar{width:8px;height:8px;}
.queue-list::-webkit-scrollbar-track,.chat-log::-webkit-scrollbar-track,.encounter-panel::-webkit-scrollbar-track,.review-box::-webkit-scrollbar-track,.records-list::-webkit-scrollbar-track,.actions-card.tool-open .tab-view::-webkit-scrollbar-track,.suggestions::-webkit-scrollbar-track,.safety-summary::-webkit-scrollbar-track,.printed-sheet::-webkit-scrollbar-track,.rx-table-wrap::-webkit-scrollbar-track,.director-log::-webkit-scrollbar-track{background:transparent;}
.queue-list::-webkit-scrollbar-thumb,.chat-log::-webkit-scrollbar-thumb,.encounter-panel::-webkit-scrollbar-thumb,.review-box::-webkit-scrollbar-thumb,.records-list::-webkit-scrollbar-thumb,.actions-card.tool-open .tab-view::-webkit-scrollbar-thumb,.suggestions::-webkit-scrollbar-thumb,.safety-summary::-webkit-scrollbar-thumb,.printed-sheet::-webkit-scrollbar-thumb,.rx-table-wrap::-webkit-scrollbar-thumb,.director-log::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:var(--radius-pill);background:var(--gray-400);background-clip:content-box;}
.queue-list::-webkit-scrollbar-thumb:hover,.chat-log::-webkit-scrollbar-thumb:hover,.encounter-panel::-webkit-scrollbar-thumb:hover,.review-box::-webkit-scrollbar-thumb:hover,.records-list::-webkit-scrollbar-thumb:hover,.actions-card.tool-open .tab-view::-webkit-scrollbar-thumb:hover,.suggestions::-webkit-scrollbar-thumb:hover,.safety-summary::-webkit-scrollbar-thumb:hover,.printed-sheet::-webkit-scrollbar-thumb:hover,.rx-table-wrap::-webkit-scrollbar-thumb:hover,.director-log::-webkit-scrollbar-thumb:hover{background:var(--gray-500);background-clip:content-box;}
@keyframes panelLiftIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@keyframes panelIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@keyframes queueStaggerIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@keyframes bubbleSpringIn{from{opacity:0;transform:translateY(8px) scale(0.98);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes messageIn{from{opacity:0;transform:translateY(8px) scale(0.98);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes modalScaleFade{from{opacity:0;transform:translateY(10px) scale(0.96);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes modalIn{from{opacity:0;transform:translateY(10px) scale(0.96);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes modalCenterScaleFade{from{opacity:0;transform:translate(-50%,-48%) scale(0.96);}to{opacity:1;transform:translate(-50%,-50%) scale(1);}}
@keyframes backdropFadeBlur{from{opacity:0;}to{opacity:1;}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes tabViewIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}
@keyframes segmentedActive{from{transform:scale(0.985);}to{transform:scale(1);}}
@keyframes patientFocusIn{from{opacity:0;transform:translateY(8px);box-shadow:var(--shadow-xs);}to{opacity:1;transform:translateY(0);box-shadow:var(--shadow-sm);}}
@keyframes suggestionIn{from{opacity:0;transform:translateY(4px) scale(0.98);}to{opacity:1;transform:translateY(0) scale(1);}}
@media (prefers-reduced-motion:reduce){
.queue-item:hover,.record-item:hover,.tool-launch:hover,.primary-btn:hover,.ghost-btn:hover,.warn-btn:hover,.danger-btn:hover,.icon-btn:hover,.quick-questions button:hover,.order-grid button:hover,.exam-grid button:hover,.catalog-grid button:hover,button:active{transform:none !important;}
.result-entry-disclosure{transition:none;}
.tab-view[data-tool-tab-motion]{will-change:opacity;}
.review-box[data-context-motion],.history-review-detail[data-context-motion]{will-change:opacity;}
}
@media (max-width:1180px){
.workspace{grid-template-columns:1fr;}
.actions-card.tool-open .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.pending-order-row{grid-template-columns:34px minmax(150px,1fr) 82px minmax(180px,1fr) 32px;}
.pending-order-row .order-diagnosis{grid-column:2/5;}
}
@media (min-width:768px) and (max-width:1024px){
.filter-chip{min-height:28px;padding:0 10px;font-size:12px;}
.common-order-chip{min-height:26px;padding:0 10px;font-size:11px;}
.step-item{max-width:100px;}
.step-number{width:28px;height:28px;font-size:14px;}
.step-text{font-size:12px;}
}
@media (max-width:760px){
.clinic-shell{display:block;height:auto;min-height:100vh;overflow:visible;padding:var(--space-3);}
.topbar,.patient-strip{align-items:flex-start;flex-direction:column;}
.topbar{top:var(--space-2);gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-4);}
.topbar h1{font-size:26px;}
.session-meta{flex-direction:row;gap:var(--space-2);}
.doctor-name-field{width:100%;justify-content:space-between;}
.layout{height:auto;}
.queue-panel,.encounter-panel,.review-panel{height:auto;min-height:auto;}
.empty-state{min-height:44vh;padding:var(--space-8);}
.queue-list,.review-box,.records-list{max-height:52vh;}
.chat-log{height:48vh;}
.chat-form{grid-template-columns:minmax(0,1fr) auto;}
.chat-form input{grid-column:1/-1;}
.actions-card.tool-open,.panel-fullscreen{inset:var(--space-2);max-height:calc(100vh - (var(--space-2) * 2));border-radius:var(--radius-lg);}
.tabs{position:sticky;top:70px;z-index:2;background:rgba(17,28,24,0.07);}
.catalog-grid,.actions-card.tool-open .catalog-grid{grid-template-columns:1fr;}
.tool-launcher{grid-template-columns:repeat(3,minmax(0,1fr));}
.queue-stats{grid-template-columns:repeat(3,minmax(0,1fr));}
.pending-order-row{grid-template-columns:28px minmax(0,1fr) 32px;}
.pending-order-row .order-priority,.pending-order-row .order-purpose,.pending-order-row .order-diagnosis{grid-column:2/4;}
}
:root{--accent:#0c7c72;--accent-dark:#075f56;--accent-rgb:12,124,114;--accent-soft:rgba(12,124,114,0.12);--accent-softer:rgba(12,124,114,0.065);--bg:#edf5f2;--muted:#526760;--line:rgba(14,40,36,0.12);--line-strong:rgba(12,124,114,0.28);--glass-border:rgba(255,255,255,0.74);--glass-highlight:rgba(255,255,255,0.78);--glass-blur:blur(20px) saturate(180%);--shadow-ambient:0 28px 72px rgba(7,36,32,0.12);--shadow-direct:0 6px 18px rgba(7,36,32,0.08);--shadow-card-soft:0 2px 8px rgba(7,36,32,0.055),0 16px 38px rgba(7,36,32,0.075),inset 0 1px 0 var(--glass-highlight);--shadow-hover:0 8px 20px rgba(7,36,32,0.09),0 24px 62px rgba(7,36,32,0.14),inset 0 1px 0 rgba(255,255,255,0.9);--shadow-modal:0 12px 30px rgba(7,36,32,0.14),0 40px 110px rgba(7,36,32,0.22),inset 0 1px 0 var(--glass-highlight);--shadow-sm:var(--shadow-card-soft);--shadow-md:var(--shadow-direct),var(--shadow-ambient),inset 0 1px 0 var(--glass-highlight);--shadow-lg:var(--shadow-hover);--shadow-xl:var(--shadow-modal);--shadow:var(--shadow-card-soft);--shadow-lift:var(--shadow-modal);--tracking-wide:0.08em;}
body{background:radial-gradient(circle at 10% -12%,rgba(var(--accent-rgb),0.16),transparent 34%),radial-gradient(circle at 92% 4%,rgba(112,171,160,0.2),transparent 31%),linear-gradient(180deg,#fbfdfc 0%,var(--bg) 48%,#e7f0ec 100%);font-variant-numeric:tabular-nums;}
.layout{grid-template-columns:290px minmax(0,1fr) 330px;gap:var(--space-4);min-width:0;overflow:hidden;}
.topbar,.queue-panel,.encounter-panel,.review-panel,.actions-card.tool-open,.safety-panel{position:relative;border:1px solid var(--glass-border);background:linear-gradient(180deg,rgba(255,255,255,0.76),rgba(255,255,255,0.58)),rgba(255,255,255,0.62);box-shadow:var(--shadow-card-soft);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);}
.actions-card.tool-open,.safety-panel{background:rgba(255,255,255,0.84);box-shadow:var(--shadow-modal);}
.eyebrow{color:var(--accent-dark);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;}
#clock,.queue-name,.queue-stats strong,.queue-tags span,.pill,.save-status,.penalty-pill,.review-score,.score,.record-score,.dimension-row,.rx-table,.safety-grid strong,.dose-multipliers button,.diagnosis-code,.pending-order-no{font-variant-numeric:tabular-nums;}
:where(.queue-item,.record-item,.tool-launch,.quick-questions button,.order-grid button,.exam-grid button,.catalog-grid button,.pending-order-row,.result-item,.suggestion-item,.score-card,.communication-item,.medication-item):hover{border-color:rgba(var(--accent-rgb),0.28);background:rgba(255,255,255,0.92);box-shadow:var(--shadow-hover);transform:translateY(-2px);}
button:active:not(:disabled),.queue-item:active:not(:disabled),.record-item:active:not(:disabled){transform:translateY(0) scale(0.97);}
:where(button,input,textarea,select):focus-visible{outline:0;box-shadow:0 0 0 4px rgba(var(--accent-rgb),0.14),0 0 0 1px rgba(var(--accent-rgb),0.34),var(--shadow-direct);}
.panel-fullscreen,.actions-card.tool-open,.print-panel{box-shadow:var(--shadow-modal);}
.safety-backdrop,.tool-backdrop,.print-backdrop{background:rgba(10,28,25,0.28);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);}
.ai-status.busy,.voice-status.busy{animation:statusPulse 1800ms ease-in-out infinite;transform-origin:center;}
.empty-state--hero{position:relative;overflow:hidden;min-height:100%;padding:var(--space-8);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 28%,rgba(var(--accent-rgb),0.12),transparent 36%),linear-gradient(180deg,rgba(255,255,255,0.34),rgba(255,255,255,0.12));}
.empty-state-illustration{width:88px;height:88px;margin:0 auto var(--space-4);padding:var(--space-3);border:1px solid rgba(var(--accent-rgb),0.16);border-radius:var(--radius-xl);background:rgba(255,255,255,0.66);color:var(--accent);box-shadow:var(--shadow-card-soft);}
.empty-state--hero::after{content:none;}
#queueList>.muted,#recordsList>.muted,#resultsList>.muted,#diagnosisChips>.muted{display:grid;justify-items:center;gap:var(--space-3);min-height:132px;padding:var(--space-5);border:1px dashed rgba(var(--accent-rgb),0.22);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(255,255,255,0.72),rgba(246,251,249,0.72)),rgba(var(--accent-rgb),0.035);color:var(--muted);text-align:center;}
#reviewBox>.muted{margin:0;padding:2px 0;border:0;background:transparent;box-shadow:none;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-sm);text-align:left;}
.review-pending-card::after,.review-spinner{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,0.78),rgba(255,255,255,0)),linear-gradient(180deg,rgba(var(--accent-rgb),0.08),rgba(var(--accent-rgb),0.04));background-size:220% 100%,100% 100%;animation:shimmer 1500ms ease-in-out infinite;}
.icon-btn svg,.icon-btn svg *{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;}
@media (max-width: 1180px) {
.layout{grid-template-columns:270px minmax(0,1fr);grid-template-rows: minmax(0, 1fr) minmax(0, 0.75fr);}
.review-panel{grid-column:1/-1;}
}
@media (max-width: 840px) {
.clinic-shell {display:block;height: auto;min-height:100vh;overflow: visible;padding:var(--space-3);}
.layout,.workspace{grid-template-columns:1fr;height:auto;overflow:visible;}
}
@media (max-width:760px){
.layout{grid-template-columns:1fr;}
}
@media (prefers-color-scheme:dark){
.queue-item:hover,.record-item:hover,.tool-launch:hover,.ghost-btn:hover,.icon-btn:hover,.quick-questions button:hover,.order-grid button:hover,.exam-grid button:hover,.catalog-grid button:hover,.pending-order-row:hover,.result-item:hover,.suggestion-item:hover,.suggestion-item.highlighted,.score-card:hover,.communication-item:hover,.medication-item:hover,.voice-btn:hover,.voice-input-btn:hover,.rx-info-btn:hover,.rx-group-toggle:hover,.dose-multipliers button:hover,.dose-multipliers button.active{border-color:var(--line-strong);background:rgba(var(--accent-rgb),0.12);color:var(--accent-dark);box-shadow:var(--shadow-hover);}
.warn-btn:hover{background:var(--warn-soft);color:var(--warn);}
.danger-btn:hover,.rx-remove:hover,.medication-remove:hover,.diagnosis-chip button:hover{border-color:rgba(255,143,152,0.3);background:var(--danger-soft);color:var(--danger);}
}
:root{--on-accent:#ffffff;--focus-ring:rgba(var(--accent-rgb),0.32);--focus-halo:rgba(var(--accent-rgb),0.14);--motion-fast:150ms cubic-bezier(0.2,0.8,0.2,1);--motion-med:260ms cubic-bezier(0.16,1,0.3,1);--motion-slow:420ms cubic-bezier(0.16,1,0.3,1);--motion-spring:320ms cubic-bezier(0.16,1,0.3,1);--motion-out:180ms cubic-bezier(0.16,1,0.3,1);--motion-backdrop:180ms cubic-bezier(0.2,0.8,0.2,1);}
html,body{max-width:100%;overflow-x:hidden;}
.clinic-shell,.topbar,.layout,.workspace,.queue-panel,.encounter-panel,.review-panel,.chat-card,.actions-card,.actions-card.tool-open,.safety-panel{max-width:100%;}
.layout,.workspace,.topbar>*,.session-meta>*,.patient-strip>*,.panel-head>*,.card-head>*,.toolbar-actions>*,.queue-panel,.encounter-panel,.review-panel{min-width:0;}
.actions-card.tool-open{position:fixed;display:grid;z-index:40;}
.safety-panel{position:fixed;z-index:61;top:50%;left:50%;}
.panel-fullscreen,.queue-panel.panel-fullscreen,.encounter-panel.panel-fullscreen,.review-panel.panel-fullscreen{position:fixed;}
.queue-list>*{animation:none;}
.queue-list>:nth-child(-n+12){animation:none;}
.queue-list>:nth-child(n+13){animation:none !important;}
.panel-fullscreen,.actions-card.tool-open,.print-panel{animation:modalScaleFade var(--motion-spring) both;}
.safety-panel:not(.hidden){animation:modalCenterScaleFade var(--motion-spring) both;}
.tool-backdrop,.safety-backdrop,.print-backdrop{animation:backdropFadeBlur var(--motion-backdrop) both;}
:where(button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 1px rgba(var(--accent-rgb),0.38),0 0 0 5px var(--focus-halo),var(--shadow-direct);}
.primary-btn{color:var(--on-accent);}
.rx-table-wrap,.pending-order-panel,.record-quality-list,.safety-summary,.printed-sheet{max-width:100%;}
.rx-table-wrap{overflow-x:auto;}
@media (prefers-color-scheme:dark){
:root{color-scheme:dark;--gray-50:#101815;--gray-100:#18231f;--gray-200:#25332e;--gray-300:#33443e;--gray-400:#667973;--gray-500:#899a94;--gray-600:#a6b5b0;--gray-700:#c2cfca;--gray-800:#d7e3df;--gray-900:#e8efec;--bg:#0e1513;--surface:#151f1c;--surface-raised:rgba(27,39,35,0.88);--surface-soft:rgba(58,169,154,0.14);--line:rgba(255,255,255,0.1);--line-strong:rgba(58,169,154,0.36);--hairline:rgba(255,255,255,0.08);--text:#e8efec;--muted:#a7b5b0;--accent:#3aa99a;--accent-dark:#72d8ca;--accent-rgb:58,169,154;--accent-soft:rgba(58,169,154,0.16);--accent-softer:rgba(58,169,154,0.08);--blue:#8dbbff;--blue-soft:rgba(141,187,255,0.16);--warn:#f0b35f;--warn-soft:rgba(240,179,95,0.16);--danger:#ff8f98;--danger-soft:rgba(255,143,152,0.15);--ok:#7bd99a;--ok-soft:rgba(123,217,154,0.15);--glass-bg:rgba(19,30,27,0.76);--glass-bg-strong:rgba(25,38,34,0.88);--glass-border:rgba(255,255,255,0.12);--glass-highlight:rgba(255,255,255,0.08);--glass-blur:blur(20px) saturate(150%);--shadow-ambient:0 28px 76px rgba(0,0,0,0.5);--shadow-direct:0 6px 18px rgba(0,0,0,0.34);--shadow-card-soft:0 1px 2px rgba(0,0,0,0.32),0 18px 48px rgba(0,0,0,0.36),inset 0 1px 0 var(--glass-highlight);--shadow-hover:0 8px 22px rgba(0,0,0,0.38),0 30px 76px rgba(0,0,0,0.48),inset 0 1px 0 var(--glass-highlight);--shadow-modal:0 16px 42px rgba(0,0,0,0.48),0 44px 120px rgba(0,0,0,0.62),inset 0 1px 0 var(--glass-highlight);--shadow-xs:0 1px 2px rgba(0,0,0,0.32),inset 0 1px 0 var(--glass-highlight);--shadow-sm:var(--shadow-card-soft);--shadow-md:var(--shadow-direct),var(--shadow-ambient),inset 0 1px 0 var(--glass-highlight);--shadow-lg:var(--shadow-hover);--shadow-xl:var(--shadow-modal);--shadow:var(--shadow-card-soft);--shadow-lift:var(--shadow-modal);--focus-ring:rgba(58,169,154,0.46);--focus-halo:rgba(58,169,154,0.18);--on-accent:#061714;}
html{background:var(--bg);}
body{background:radial-gradient(circle at 10% -12%,rgba(var(--accent-rgb),0.2),transparent 34%),radial-gradient(circle at 92% 4%,rgba(58,169,154,0.12),transparent 31%),linear-gradient(180deg,#0b1110 0%,var(--bg) 48%,#121b18 100%);color:var(--text);}
::selection{background:rgba(var(--accent-rgb),0.32);color:var(--text);}
.topbar,.queue-panel,.encounter-panel,.review-panel,.actions-card.tool-open,.safety-panel{border-color:var(--glass-border);background:linear-gradient(180deg,rgba(31,45,40,0.82),rgba(20,31,28,0.66)),rgba(14,21,19,0.72);box-shadow:var(--shadow-card-soft);}
.actions-card.tool-open,.safety-panel{background:rgba(22,33,30,0.9);box-shadow:var(--shadow-modal);}
.panel-head,.card-head,.tool-card-head,.patient-strip,.pending-order-head,.record-toolbar,.safety-head,.safety-actions,.chat-form,.quick-questions{background:rgba(255,255,255,0.045);border-color:var(--hairline);box-shadow:inset 0 -0.5px 0 var(--hairline);}
.chat-card,.actions-card,.director-panel,.result-box,.pending-order-panel,.record-quality-list,.score-card,.review-pending-card,.review-hero,.communication-item,.medication-item,.rx-table-wrap,.safety-grid div,.safety-item,.safety-pass-list,.catalog-group{border-color:var(--glass-border);background:var(--glass-bg-strong);box-shadow:var(--shadow-card-soft);}
.suggestions{border-color:var(--glass-border);background:#18231f;box-shadow:var(--shadow-card-soft);}
.queue-stats div,.queue-item,.record-item,.pending-order-row,.result-item,.suggestion-item,.diagnosis-chip,.director-item{border-color:var(--line);background:rgba(255,255,255,0.06);box-shadow:var(--shadow-xs);}
:where(.queue-item,.record-item,.tool-launch,.ghost-btn,.icon-btn,.quick-questions button,.order-grid button,.exam-grid button,.catalog-grid button,.pending-order-row,.result-item,.suggestion-item,.score-card,.communication-item,.medication-item):hover{border-color:var(--line-strong);background:rgba(var(--accent-rgb),0.12);box-shadow:var(--shadow-hover);}
.queue-item.active,.record-item.active,.diagnosis-chip.primary{border-color:rgba(var(--accent-rgb),0.48);background:rgba(var(--accent-rgb),0.18);box-shadow:0 10px 28px rgba(0,0,0,0.32),inset 0 1px 0 var(--glass-highlight);}
.doctor-name-field,.ai-status,.voice-status,.voice-btn,.voice-input-btn,.tool-launch,.ghost-btn,.quick-questions button,.icon-btn,.tab,.order-grid button,.exam-grid button,.catalog-grid button,.rx-info-btn,.rx-group-toggle,.rx-remove,.medication-remove,.dose-multipliers button{border-color:var(--line);background:rgba(255,255,255,0.07);color:var(--accent-dark);box-shadow:var(--shadow-xs);}
.primary-btn{border-color:rgba(255,255,255,0.12);background:linear-gradient(180deg,#67d9cb,var(--accent));color:var(--on-accent);box-shadow:0 10px 26px rgba(var(--accent-rgb),0.2);}
.primary-btn:hover{background:linear-gradient(180deg,#7ae4d8,#43b5a6);}
.warn-btn,.warn-btn:hover,.queue-tags span.behavior,.pill.warn,.save-status.warn,.penalty-pill,.record-quality-grid .missing,.result-tag,.record-score.mid{background:var(--warn-soft);color:var(--warn);}
.danger-btn,.danger-btn:hover,.voice-btn.unsupported,.voice-input-btn.unsupported,.ai-status.error,.voice-status.error,.pill.ready,.pill.withdrawn,.queue-tags span.return,.record-score.bad{background:var(--danger-soft);color:var(--danger);}
.ai-status.live,.voice-status.live,.save-status.saved,.pill.done,.queue-tags span.ai,.record-score.good{background:var(--ok-soft);color:var(--ok);}
.queue-tags span,.save-status,.diagnosis-prefix,.diagnosis-code,.rx-group-tag,.pending-order-no{background:rgba(255,255,255,0.08);color:var(--muted);}
input,textarea,select,.doctor-name-field input,.diagnosis-name-input,.medication-sig,.rx-table input:hover,.rx-table select:hover,.rx-table input:focus,.rx-table select:focus{border-color:var(--line);background:rgba(255,255,255,0.07);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,0.06);}
input::placeholder,textarea::placeholder{color:#7f918b;}
.suggestion-section-label{background:rgba(22,33,30,0.94);}
input:focus,textarea:focus,select:focus{border-color:rgba(var(--accent-rgb),0.58);background:rgba(255,255,255,0.1);}
.tabs{background:rgba(255,255,255,0.07);box-shadow:inset 0 1px 2px rgba(0,0,0,0.28);}
.tabs::before{background:rgba(255,255,255,0.12);box-shadow:inset 0 1px 0 var(--glass-highlight),0 8px 18px rgba(0,0,0,0.24);}
.tab.active{color:var(--text);}
.empty-state--hero{background:radial-gradient(circle at 50% 28%,rgba(var(--accent-rgb),0.18),transparent 36%),linear-gradient(180deg,rgba(255,255,255,0.055),rgba(255,255,255,0.025));}
.empty-state--hero::before{background:linear-gradient(135deg,rgba(var(--accent-rgb),0.16),transparent);opacity:0.7;}
.empty-state-illustration,#queueList>.muted,#recordsList>.muted,#resultsList>.muted,#diagnosisChips>.muted{border-color:rgba(var(--accent-rgb),0.24);background:rgba(var(--accent-rgb),0.08);color:var(--muted);}
.patient-strip{background:linear-gradient(180deg,rgba(31,45,40,0.86),rgba(20,31,28,0.72));}
.patient-strip::before,.dimension-bar i{background:linear-gradient(180deg,#67d9cb,var(--accent));}
.chat-log{background:linear-gradient(180deg,rgba(255,255,255,0.025),rgba(0,0,0,0.08));}
.message.patient{border-color:rgba(var(--accent-rgb),0.22);background:rgba(var(--accent-rgb),0.14);color:#dff8f4;}
.message.doctor{border-color:rgba(141,187,255,0.24);background:rgba(141,187,255,0.14);color:#e2efff;}
.message.system,.rx-safety-panel,.suggestion-notice{border-color:rgba(240,179,95,0.28);background:rgba(240,179,95,0.14);color:#ffe0aa;}
.interrupt-panel{border-color:rgba(240,179,95,0.34);background:#18231f;color:var(--text);}
.interrupt-panel p{color:var(--muted);}
.rx-safety-item p{color:#f4cf96;}
.safety-item.high,.rx-safety-item.high span{border-color:rgba(255,143,152,0.3);background:var(--danger-soft);color:var(--danger);}
.safety-item.middle,.rx-safety-item span{border-color:rgba(240,179,95,0.3);background:var(--warn-soft);color:var(--warn);}
.safety-item.low{border-color:rgba(var(--accent-rgb),0.24);background:rgba(var(--accent-rgb),0.07);color:var(--text);}
.safety-item.ok,.rx-safety-item.low span{border-color:rgba(123,217,154,0.28);background:var(--ok-soft);color:var(--ok);}
.review-pending-card::after,.review-spinner{background:linear-gradient(90deg,transparent,rgba(255,255,255,0.16),transparent),linear-gradient(180deg,rgba(var(--accent-rgb),0.13),rgba(var(--accent-rgb),0.07));}
.review-hero{background:linear-gradient(135deg,rgba(var(--accent-rgb),0.14),rgba(255,255,255,0.06));}
.review-source{background:var(--accent-soft);color:var(--accent-dark);}
.score-card p{color:var(--muted);}
.dimension-bar,.rx-table th{background:rgba(255,255,255,0.08);}
.rx-table tbody tr:hover td,.rx-row.group-member td{background:rgba(var(--accent-rgb),0.07);}
.rx-row.group-a td:first-child{box-shadow:inset 3px 0 0 var(--accent);}
.rx-row.group-b td:first-child{box-shadow:inset 3px 0 0 var(--blue);}
.rx-row.group-c td:first-child{box-shadow:inset 3px 0 0 var(--warn);}
.rx-row.group-d td:first-child{box-shadow:inset 3px 0 0 #b18cff;}
.rx-row.group-e td:first-child{box-shadow:inset 3px 0 0 var(--danger);}
.rx-row.group-f td:first-child{box-shadow:inset 3px 0 0 var(--ok);}
.suggestion-item:hover,.suggestion-item.highlighted{background:rgba(var(--accent-rgb),0.14);}
.suggestion-notice.error{background:var(--danger-soft);color:var(--danger);}
.tool-backdrop,.safety-backdrop,.print-backdrop{background:rgba(3,8,7,0.58);}
.print-machine{border-color:var(--line);background:linear-gradient(#273631,#17221f);color:var(--muted);}
.printed-sheet{border-color:rgba(255,255,255,0.16);background:#f3f8f6;color:#14231f;}
.printed-title,.printed-sheet pre{color:#14231f;}
.print-slot,.barcode i{background:#14231f;}
.queue-list,.chat-log,.encounter-panel,.review-box,.records-list,.actions-card.tool-open .tab-view,.suggestions,.safety-summary,.printed-sheet,.rx-table-wrap,.director-log{scrollbar-color:#4a5f58 transparent;}
.queue-list::-webkit-scrollbar-thumb,.chat-log::-webkit-scrollbar-thumb,.encounter-panel::-webkit-scrollbar-thumb,.review-box::-webkit-scrollbar-thumb,.records-list::-webkit-scrollbar-thumb,.actions-card.tool-open .tab-view::-webkit-scrollbar-thumb,.suggestions::-webkit-scrollbar-thumb,.safety-summary::-webkit-scrollbar-thumb,.printed-sheet::-webkit-scrollbar-thumb,.rx-table-wrap::-webkit-scrollbar-thumb,.director-log::-webkit-scrollbar-thumb{background:#4a5f58;background-clip:content-box;}
}
@media (max-width:1100px){
.layout{grid-template-columns:minmax(250px,0.36fr) minmax(0,1fr);grid-template-rows:minmax(420px,1fr) minmax(300px,0.76fr);}
.review-panel{grid-column:1/-1;min-height:320px;}
.queue-stats{grid-template-columns:repeat(3,minmax(0,1fr));}
.actions-card.tool-open .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:860px){
.clinic-shell{display:block;height:auto;min-height:100vh;overflow:visible;padding:var(--space-3);}
.topbar{align-items:flex-start;flex-wrap:wrap;}
.session-meta{width:100%;justify-content:flex-start;}
.layout,.workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:none;height:auto;overflow:visible;}
.queue-panel,.encounter-panel,.review-panel,.chat-card{height:auto;min-height:0;}
.encounter-panel{overflow:visible;}
.chat-card{display:block;}
.chat-log{min-height:360px;}
.actions-card.tool-open,.panel-fullscreen{inset:var(--space-2);max-height:calc(100dvh - (var(--space-2) * 2));border-radius:var(--radius-lg);}
.safety-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
.clinic-shell{padding:var(--space-2);}
.topbar{position:static;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);}
.topbar h1{font-size:24px;}
.welcome-text{max-width:none;}
.session-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);}
.doctor-name-field{grid-column:1/-1;}
.doctor-name-field input{width:min(190px,52vw);}
.session-meta strong{font-size:20px;white-space:nowrap;}
.queue-panel,.encounter-panel,.review-panel{padding:var(--space-2);border-radius:var(--radius-md);}
.queue-filter-bar{padding:0 4px 8px;gap:6px;}
.filter-chip{min-height:32px;font-size:12px;}
.common-orders-bar{padding:6px 0;gap:6px;}
.common-order-chip{min-height:30px;padding:0 10px;font-size:12px;}
.complaint-order-head{align-items:flex-start;flex-direction:column;gap:3px;}
.complaint-order-head small{text-align:left;}
.complaint-order-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;}
.complaint-order-chip{width:100%;min-height:58px;padding:8px 9px;}
.result-item-head,.result-entry-actions{align-items:flex-start;flex-direction:column;}
.result-entry-status{width:100%;margin:0;}
.result-template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;}
.result-template-chip{width:100%;min-height:44px;}
.result-entry-actions .ghost-btn,.result-entry-actions .primary-btn{width:100%;min-height:44px;}
.empty-state-steps{flex-direction:column;gap:12px;margin-top:20px;}
.step-item{max-width:none;}
.panel-head,.card-head,.patient-strip,.pending-order-head,.record-toolbar,.section-title{align-items:flex-start;flex-direction:column;}
.toolbar-actions,.status-stack,.safety-actions{width:100%;justify-content:flex-start;flex-wrap:wrap;}
.primary-btn,.ghost-btn,.warn-btn,.danger-btn,.voice-btn,.voice-input-btn,.quick-questions button,.tool-launch,.tab,.order-grid button,.exam-grid button,.catalog-grid button,.rx-info-btn,.rx-group-toggle,.rx-remove,.medication-remove,.dose-multipliers button{min-height:44px;}
.icon-btn{width:44px;min-width:44px;height:44px;min-height:44px;}
.queue-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
.queue-list,.review-box,.records-list{max-height:none;}
.patient-strip{padding:var(--space-3);}
.tool-launcher,.quick-questions{grid-template-columns:repeat(2,minmax(0,1fr));}
.quick-questions{display:grid;}
.chat-log{height:auto;min-height:360px;max-height:58vh;}
.message{max-width:96%;}
.chat-form,.director-form{grid-template-columns:minmax(0,1fr);}
.chat-form input{grid-column:auto;}
.actions-card.tool-open,.panel-fullscreen{inset:0;max-height:100dvh;border-radius:0;}
.actions-card.tool-open{top:0;right:0;bottom:0;left:0;}
.tool-card-head{padding:var(--space-3);}
.tabs{overflow-x:auto;grid-template-columns:repeat(5,minmax(68px,1fr));margin:var(--space-2);}
.tab-view{padding:var(--space-3);}
.catalog-grid,.actions-card.tool-open .catalog-grid{grid-template-columns:minmax(0,1fr);}
.pending-order-row{grid-template-columns:28px minmax(0,1fr) 44px;}
.pending-order-row .order-priority,.pending-order-row .order-purpose,.pending-order-row .order-diagnosis{grid-column:2/4;}
.safety-panel{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:var(--radius-lg);}
.safety-grid{grid-template-columns:minmax(0,1fr);}
.safety-actions{align-items:stretch;flex-direction:column-reverse;}
.safety-actions button{width:100%;}
.review-fallback-banner{align-items:stretch;flex-direction:column;}
.review-fallback-banner .review-retry-btn{width:100%;}
.teaching-submission-banner{align-items:stretch;flex-direction:column;}
.teaching-submission-banner .teaching-submission-retry,.teaching-submission-banner .teaching-submission-results{width:100%;}
.printed-sheet,.print-actions{width:min(520px,calc(100vw - 24px));}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation:none !important;animation-delay:0ms !important;scroll-behavior:auto !important;transition-delay:0ms !important;transition-duration:1ms !important;transition-property:color,background-color,border-color,box-shadow,opacity !important;}
:where(.queue-item,.record-item,.tool-launch,.primary-btn,.ghost-btn,.warn-btn,.danger-btn,.icon-btn,.quick-questions button,.order-grid button,.exam-grid button,.catalog-grid button,.pending-order-row,.result-item,.suggestion-item):hover,button:active,.queue-item:active,.record-item:active{transform:none !important;}
}

.encounter-view.visit-editable .workspace{grid-template-columns:minmax(0,1.05fr) minmax(360px,0.95fr);}
.actions-card.inline-open{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;overflow:hidden;}
.actions-card.inline-open .tool-card-head{display:flex;}
.actions-card.inline-open .tab-view{overflow:auto;}
.actions-card.inline-open:not(.tool-open) #closeToolsBtn{display:none;}
.actions-card.inline-open:not(.tool-open)::after{content:none;}
.workflow-progress{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-2);min-width:0;}
.workflow-step{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-2);min-height:52px;padding:var(--space-2);border:0.5px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,0.62);color:var(--muted);text-align:left;box-shadow:var(--shadow-xs);}
.workflow-step:hover{border-color:var(--line-strong);background:rgba(var(--accent-rgb),0.08);transform:translateY(-1px);}
.workflow-step.active{border-color:rgba(var(--accent-rgb),0.42);background:var(--accent-soft);color:var(--accent-dark);}
.workflow-step.done{border-color:rgba(39,120,72,0.24);}
.workflow-step.pending{border-color:rgba(164,91,20,0.26);background:var(--warn-soft);}
.workflow-step-no{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-pill);background:rgba(255,255,255,0.72);color:var(--accent-dark);font-size:var(--text-xs);font-weight:800;}
.workflow-step.done .workflow-step-no{background:var(--ok-soft);color:var(--ok);}
.workflow-step.pending .workflow-step-no{background:var(--warn-soft);color:var(--warn);}
.workflow-step-main{display:grid;min-width:0;gap:1px;}
.workflow-step-main strong,.workflow-step-main small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.workflow-step-main strong{color:inherit;font-size:var(--text-sm);}
.workflow-step-main small{font-size:11px;line-height:1.3;}
.exam-preview-panel{display:block;margin:var(--space-3) 0;padding:var(--space-3);border:0.5px solid rgba(var(--accent-rgb),0.28);border-radius:var(--radius-md);background:rgba(var(--accent-rgb),0.08);box-shadow:var(--shadow-xs);}
.exam-preview-panel strong{display:block;margin:2px 0;color:var(--gray-900);}
.exam-preview-panel p:last-child{color:var(--text);font-size:var(--text-sm);line-height:var(--leading-base);}
.exam-preview-copy{min-width:0;}.exam-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);}.exam-preview-panel .exam-preview-hint{margin:3px 0 0;color:var(--muted);font-size:var(--text-xs);}.exam-preview-list{display:grid;gap:var(--space-2);max-height:min(30vh,260px);margin-top:var(--space-2);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}.exam-preview-item{padding:var(--space-2) 0;border-top:1px solid var(--hairline);}.exam-preview-item p{margin:3px 0 0;}
.exam-preview-actions{display:flex;flex:0 0 auto;gap:var(--space-2);}
.exam-jump-submit{position:absolute;right:18px;bottom:18px;z-index:8;display:flex;align-items:center;gap:8px;width:auto;min-width:52px;height:52px;padding:0 14px;border:1px solid rgba(var(--accent-rgb),.32);border-radius:999px;background:rgba(12,124,114,.94);color:#fff;box-shadow:0 10px 28px rgba(4,62,57,.24),inset 0 1px 0 rgba(255,255,255,.34);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);cursor:pointer;transition:transform 120ms cubic-bezier(.16,1,.3,1),background-color 120ms ease,opacity 120ms ease;touch-action:manipulation;}
.exam-jump-submit svg{width:21px;height:21px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.exam-jump-label{font-size:12px;font-weight:800;letter-spacing:.01em;white-space:nowrap;}
.exam-jump-submit .exam-jump-count{position:static;display:grid;min-width:22px;height:22px;padding:0 6px;border:1px solid rgba(255,255,255,.5);border-radius:999px;place-items:center;background:rgba(255,255,255,.18);color:#fff;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;}
.exam-jump-submit:hover{background:var(--accent-dark);transform:translateY(-2px);}
.exam-jump-submit:active{transform:scale(.94);transition-duration:80ms;}
.exam-jump-submit:focus-visible{outline:3px solid rgba(var(--accent-rgb),.32);outline-offset:3px;}
.exam-batch-action{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:rgba(255,255,255,.54);color:var(--gray-600);cursor:pointer;transition:transform 100ms ease,border-color var(--motion-fast),background-color var(--motion-fast),color var(--motion-fast);}
.exam-batch-action svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.exam-batch-action:hover{border-color:rgba(var(--accent-rgb),.32);background:rgba(var(--accent-rgb),.1);color:var(--accent-dark);}.exam-batch-action.commit{border-color:rgba(var(--accent-rgb),.34);background:var(--accent);color:var(--on-accent);}.exam-batch-action.commit:hover{background:var(--accent-dark);color:var(--on-accent);}.exam-batch-action:active{transform:scale(.94);}.exam-batch-action:focus-visible{outline:3px solid rgba(var(--accent-rgb),.22);outline-offset:2px;}
.exam-batch-action:disabled{cursor:wait;opacity:.72;}.exam-batch-action.loading svg{animation:examResultSpin .8s linear infinite;}@keyframes examResultSpin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.exam-batch-action{transition:none;}}
.catalog-grid button.pending{border-color:rgba(var(--accent-rgb),.46);background:var(--accent-soft);color:var(--accent-dark);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.12);animation:selectedPulse 360ms cubic-bezier(.2,.8,.2,1);}
.result-meta{display:grid;gap:var(--space-1);margin:var(--space-2) 0;}
.result-meta div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--space-2);}
.result-meta dt{color:var(--muted);font-size:var(--text-xs);font-weight:800;}
.result-meta dd{min-width:0;margin:0;color:var(--text);font-size:var(--text-sm);overflow-wrap:anywhere;}
.result-lines{display:grid;gap:var(--space-1);margin:var(--space-2) 0 0;padding-left:18px;}
.result-lines li{line-height:var(--leading-base);overflow-wrap:anywhere;}
.result-item--waiting{border-style:dashed;}
.message{overflow-wrap:anywhere;word-break:break-word;}
.message.message--fade-in.patient{animation:patientReplyFade 780ms cubic-bezier(0.16,1,0.3,1) both;}
.message.system{display:flex;align-items:flex-start;gap:var(--space-2);text-align:left;}
.message.system::before{content:"系统";flex:0 0 auto;margin-top:2px;padding:1px 6px;border-radius:var(--radius-pill);background:rgba(164,91,20,0.12);color:var(--warn);font-size:11px;font-weight:800;}
.save-status.just-saved{animation:saveFlash 1400ms ease-out both;}
.mobile-panel-nav{display:none;}
@keyframes patientReplyFade{0%{opacity:0;transform:translateY(10px);filter:blur(3px);}55%{filter:blur(0);}100%{opacity:1;transform:translateY(0);filter:blur(0);}}
@keyframes saveFlash{0%{box-shadow:0 0 0 0 rgba(39,120,72,0.28);}45%{box-shadow:0 0 0 8px rgba(39,120,72,0.12);}100%{box-shadow:0 0 0 0 rgba(39,120,72,0);}}
@media (max-width:1180px){
.encounter-view.visit-editable .workspace{grid-template-columns:minmax(0,1fr);}
}
@media (pointer:coarse), (max-width:860px){
.primary-btn,.ghost-btn,.warn-btn,.danger-btn,.voice-btn,.voice-input-btn,.quick-questions button,.tool-launch,.tab,.order-grid button,.exam-grid button,.catalog-grid button,.rx-info-btn,.rx-group-toggle,.rx-remove,.medication-remove,.dose-multipliers button,.diagnosis-chip button,.suggestion-item,.workflow-step{min-height:44px;}
.icon-btn{width:44px;min-width:44px;height:44px;min-height:44px;}
input,select{min-height:44px;}
}
@media (max-width:860px){
.clinic-shell{padding-bottom:calc(var(--space-3) + 64px);}
.mobile-panel-nav{position:fixed;right:var(--space-3);bottom:var(--space-3);left:var(--space-3);z-index:55;display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2);border:1px solid var(--glass-border);border-radius:var(--radius-pill);background:rgba(255,255,255,0.86);box-shadow:var(--shadow-modal);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);}
.mobile-panel-nav button{flex:1 0 96px;min-height:44px;border-radius:var(--radius-pill);background:transparent;color:var(--muted);font-weight:800;}
.mobile-panel-nav button.active{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-xs);}
.layout[data-mobile-panel="queue"] .encounter-panel,.layout[data-mobile-panel="queue"] .review-panel{display:none;}
.layout[data-mobile-panel="encounter"] .queue-panel,.layout[data-mobile-panel="encounter"] .review-panel{display:none;}
.layout[data-mobile-panel="review"] .queue-panel,.layout[data-mobile-panel="review"] .encounter-panel{display:none;}
.layout[data-mobile-panel="queue"] .queue-panel,.layout[data-mobile-panel="encounter"] .encounter-panel,.layout[data-mobile-panel="review"] .review-panel{display:grid;}
.layout>.queue-panel,.layout>.encounter-panel,.layout>.review-panel{animation:none;}
.layout>[data-mobile-motion]{will-change:transform,opacity;}
.workflow-progress{grid-template-columns:repeat(7,minmax(112px,1fr));overflow-x:auto;padding-bottom:2px;}
.encounter-view.visit-editable .workspace{grid-template-columns:minmax(0,1fr);}
.actions-card.tool-open{width:100vw;max-width:100vw;border-left:none;border-radius:0;}
.actions-card.inline-open:not(.tool-open){max-height:none;}
}
@media (max-width:640px){
.workflow-progress{margin-inline:-2px;}
.workflow-step{min-width:112px;}
.result-meta div{grid-template-columns:1fr;}
}
@media (max-width:860px) and (prefers-reduced-motion:reduce){
.layout>[data-mobile-motion]{will-change:opacity;}
}
@media (prefers-color-scheme:dark){
.workflow-step,.exam-preview-panel{border-color:var(--line);background:rgba(255,255,255,0.06);}
.workflow-step.active{background:rgba(var(--accent-rgb),0.18);}
.workflow-step-no{background:rgba(255,255,255,0.08);}
.mobile-panel-nav{background:rgba(22,33,30,0.9);}
.message.system::before{background:var(--warn-soft);color:var(--warn);}
}
@media print{body.print-modal-open{background:#fff!important;color:#111!important;overflow:visible!important;}body.print-modal-open>*:not(.print-backdrop){display:none!important;}body.print-modal-open .print-backdrop{position:static!important;display:block!important;padding:0!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;animation:none!important;}body.print-modal-open .print-panel{display:block!important;width:100%!important;}body.print-modal-open .print-preview-head,body.print-modal-open .print-machine,body.print-modal-open .printer-stage,body.print-modal-open .printer-progress,body.print-modal-open .print-actions{display:none!important;}body.print-modal-open .printed-sheet{width:100%!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:visible!important;animation:none!important;opacity:1!important;transform:none!important;}body.print-modal-open .printed-title{padding-bottom:6mm;border-bottom:1px solid #111;color:#111!important;font-size:18pt;font-weight:900;text-align:center;}body.print-modal-open .document-preview-mode .printed-title{text-align:left;}body.print-modal-open .printed-sheet pre{color:#111!important;font-size:10.5pt;line-height:1.8;white-space:pre-wrap;}.rx-table th,.rx-table td{border:1px solid #111!important;background:#fff!important;color:#111!important;}}

/* ── 前端结构优化：统一工作台层级，修复隐式 Grid 行与工具面板占位 ── */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.keep-word{
  white-space:nowrap;
}

.clinic-shell{
  grid-template-rows:auto minmax(0,1fr);
  gap:12px;
  padding:12px;
}

.topbar{
  position:relative;
  top:auto;
  display:grid;
  grid-template-columns:minmax(260px,0.72fr) minmax(520px,1.28fr);
  align-items:center;
  gap:20px;
  min-height:78px;
  margin:0 auto;
  padding:12px 16px;
  border-radius:16px;
}

.topbar h1{
  font-size:24px;
  line-height:1.1;
}

.topbar .eyebrow{
  margin-bottom:2px;
  font-size:11px;
}

.welcome-text{
  margin-top:4px;
  max-width:54ch;
  overflow:hidden;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.session-meta{
  display:grid;
  grid-template-columns:minmax(148px,1fr) repeat(8,auto);
  justify-content:end;
  gap:6px;
}

.doctor-name-field,
.ai-status,
.voice-status,
.voice-btn,
.session-meta>.icon-btn{
  min-height:38px;
}

.ai-status{
  max-width:180px;
  overflow:hidden;
  text-overflow:ellipsis;
}

.doctor-name-field{
  min-width:0;
}

.doctor-name-field input{
  min-width:0;
  width:100%;
}

.session-meta>span:not(.ai-status):not(.voice-status){
  align-self:center;
  white-space:nowrap;
}

.session-meta strong{
  grid-column:auto;
  align-self:center;
  justify-self:end;
  margin:0;
  font-size:16px;
  line-height:1;
}

.layout{
  grid-template-columns:clamp(252px,20vw,282px) minmax(0,1fr) clamp(286px,22vw,318px);
  gap:12px;
}

.queue-panel{
  grid-template-rows:auto auto auto minmax(0,1fr);
}

.queue-stats{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}

.queue-stats div{
  min-height:48px;
  padding:7px 4px;
}

.queue-filter-bar{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
  padding:0;
}

.filter-chip{
  flex-direction:column;
  justify-content:center;
  gap:1px;
  min-width:0;
  min-height:42px;
  padding:3px 4px;
}

.filter-chip::after{
  content:attr(data-count);
  display:inline-grid;
  min-width:16px;
  height:14px;
  place-items:center;
  padding:0 3px;
  border-radius:999px;
  background:transparent;
  color:currentColor;
  font-size:10px;
  font-variant-numeric:tabular-nums;
  line-height:1;
}

.filter-chip.active::after{
  background:transparent;
}

.records-head{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  gap:10px;
}

.records-head h2{
  white-space:nowrap;
}

.records-head .toolbar-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;
  gap:8px;
  width:100%;
}

.records-head .toolbar-actions .ghost-btn{
  width:100%;
  padding-inline:8px;
}

.record-sub{display:grid;gap:5px;min-width:0;}
.record-meta{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.record-flags{display:flex;align-items:center;gap:5px;min-width:0;flex-wrap:wrap;}

.record-save{
  flex:0 0 auto;
  padding:2px 6px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent-dark);
  font-size:10px;
  font-weight:700;
  white-space:nowrap;
}

.record-submission{
  flex:0 0 auto;
  padding:2px 6px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:10px;
  font-weight:700;
  line-height:1.35;
  white-space:nowrap;
}

.record-submission.failed{border-color:rgba(174,56,64,0.28);background:var(--danger-soft);color:var(--danger);}
.record-submission.pending{border-color:rgba(var(--accent-rgb),0.24);background:var(--accent-soft);color:var(--accent-dark);}
.record-submission.synced{border-color:rgba(31,122,92,0.24);background:rgba(31,122,92,0.09);color:var(--success);}

.queue-list{
  padding-right:2px;
}

.encounter-view{
  grid-template-rows:auto auto auto minmax(0,1fr);
  gap:8px;
}

.patient-strip{
  min-height:0;
  padding:12px 14px;
}

#patientMeta{
  margin-top:3px;
  -webkit-line-clamp:2;
  font-size:13px;
  line-height:1.45;
}

.status-stack{
  gap:6px;
}

.status-stack .primary-btn,
.status-stack .danger-btn,
.status-stack .ghost-btn{
  min-height:44px;
  padding:0 12px;
}
.clinical-escalation-actions{display:flex;align-items:center;gap:6px;}
.clinical-escalation-btn{position:relative;display:grid;width:44px;min-width:44px;height:44px;min-height:44px;padding:0!important;border-color:rgba(var(--accent-rgb),.22);border-radius:999px;place-items:center;background:var(--surface);color:var(--accent-dark);}
.clinical-escalation-btn:hover{background:var(--surface);color:var(--accent-dark);}
.event-report-symbol{position:relative;display:block;width:18px;height:17px;color:currentColor;}
.event-report-symbol>i{position:absolute;inset:0;display:block;background:currentColor;clip-path:polygon(50% 1%,100% 96%,0 96%);}
.event-report-symbol>i::after{content:"";position:absolute;inset:1.5px 2px 2px;background:var(--surface);clip-path:polygon(50% 1%,100% 96%,0 96%);}
.event-report-symbol>b{position:absolute;z-index:1;top:5.5px;right:0;left:0;color:currentColor;font:750 9px/1 Arial,sans-serif;text-align:center;}
.referral-symbol{position:relative;display:block;width:18px;height:18px;color:currentColor;}
.referral-symbol::before{content:"";position:absolute;inset:2px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;transform:rotate(-35deg);}
.referral-symbol::after{content:"";position:absolute;top:1px;right:1px;width:5px;height:5px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(8deg);}
.clinical-escalation-count{position:absolute;top:-4px;right:-4px;display:grid;min-width:20px;height:20px;padding:0 5px;border:2px solid var(--surface);border-radius:999px;place-items:center;background:var(--accent);color:var(--on-accent);font-size:10px;font-weight:850;line-height:1;}
.clinical-escalation-btn:active{transform:scale(.97);}
.clinical-workflow-backdrop{position:fixed;z-index:176;inset:0;display:grid;place-items:center;padding:20px;background:rgba(10,28,25,.34);backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);animation:fadeIn 160ms ease both;}
.clinical-workflow-dialog{width:min(680px,calc(100vw - 32px));max-height:min(820px,calc(100dvh - 32px));overflow:auto;padding:20px;border:1px solid var(--glass-border);border-radius:20px;background:rgba(252,254,253,.97);box-shadow:var(--shadow-modal);animation:clinicalWorkflowIn 240ms cubic-bezier(.16,1,.3,1) both;}
.clinical-workflow-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;}
.clinical-workflow-dialog>header h2{margin-top:3px;font-size:22px;line-height:1.25;}
.clinical-workflow-form{display:grid;gap:14px;}
.clinical-workflow-form label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:700;line-height:1.45;}
.clinical-workflow-form :is(input,select,textarea){width:100%;box-sizing:border-box;}
.clinical-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.clinical-form-grid .span-2{grid-column:1/-1;}
.clinical-policy-card{display:grid;gap:5px;padding:13px 14px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:13px;background:var(--accent-soft);}
.clinical-policy-card strong{color:var(--accent-dark);font-size:13px;line-height:1.5;}
.clinical-policy-card p{color:var(--muted);font-size:13px;line-height:1.6;}
.clinical-audit-history{margin-bottom:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);overflow:hidden;}
.clinical-audit-history>summary{padding:12px 14px;color:var(--text);font-size:13px;font-weight:800;cursor:pointer;}
.clinical-audit-list{display:grid;gap:10px;padding:0 10px 10px;}
.clinical-audit-card{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);}
.clinical-audit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.clinical-audit-head strong{color:var(--text);font-size:13px;line-height:1.45;}
.clinical-audit-head span{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:11px;font-weight:800;}
.clinical-audit-card>small{color:var(--muted);font-size:11px;}
.clinical-audit-card dl{display:grid;gap:7px;margin:0;}
.clinical-audit-card dl>div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:9px;}
.clinical-audit-card dt{color:var(--muted);font-size:12px;font-weight:700;}
.clinical-audit-card dd{margin:0;color:var(--text);font-size:12px;line-height:1.55;overflow-wrap:anywhere;}
.clinical-confirm{grid-template-columns:auto 1fr!important;align-items:start;gap:9px!important;color:var(--text)!important;}
.clinical-confirm input{width:18px!important;height:18px;margin-top:1px;accent-color:var(--accent);}
.clinical-workflow-status{min-height:20px;color:var(--danger);font-size:13px;font-weight:700;line-height:1.5;}
.clinical-workflow-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px;}
@media (prefers-color-scheme:dark){.clinical-workflow-dialog{background:rgba(21,32,29,.98);}.clinical-escalation-btn{background:rgba(255,255,255,.04);}}
@keyframes clinicalWorkflowIn{from{opacity:0;transform:translateY(10px) scale(.975)}to{opacity:1;transform:none}}
@media (max-width:640px){.clinical-escalation-actions{width:auto;}.clinical-escalation-actions .clinical-escalation-btn{flex:0 0 44px;}.clinical-workflow-backdrop{align-items:end;padding:0;}.clinical-workflow-dialog{width:100%;max-height:92dvh;border-radius:22px 22px 0 0;padding:18px;animation-name:clinicalWorkflowCompactIn;}.clinical-form-grid{grid-template-columns:1fr;}.clinical-form-grid .span-2{grid-column:auto;}.clinical-workflow-actions>*{flex:1;}.clinical-audit-head{align-items:stretch;flex-direction:column;gap:6px;}.clinical-audit-head span{align-self:flex-start;}.clinical-audit-card dl>div{grid-template-columns:1fr;gap:2px;}@keyframes clinicalWorkflowCompactIn{from{opacity:.45;transform:translateY(24px)}to{opacity:1;transform:none}}}
@media (prefers-reduced-motion:reduce){.clinical-workflow-backdrop,.clinical-workflow-dialog{animation:none;}.clinical-escalation-btn:active{transform:none;}}
@media (prefers-reduced-transparency:reduce){.clinical-workflow-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none;}.clinical-workflow-dialog{background:var(--surface);}}
@media (prefers-contrast:more){.clinical-workflow-dialog,.clinical-policy-card{border-width:2px;}.clinical-workflow-dialog{background:var(--surface);}}
.quick-finish-btn{font-weight:750;}
.quick-finish-summary{display:grid;gap:4px;padding:11px 12px;border:1px solid rgba(var(--accent-rgb),.24);border-radius:10px;background:var(--accent-soft);color:var(--text);}
.quick-finish-summary strong{color:var(--accent-dark);font-size:13px;}
.quick-finish-summary p{color:var(--muted);font-size:13px;line-height:1.5;}
.section-title h3,.tool-card-head h3{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.term-help-button{display:inline-grid;place-items:center;width:24px;min-width:24px;height:24px;min-height:24px;padding:0;border:1px solid rgba(var(--accent-rgb),.24);border-radius:50%;background:var(--accent-soft);color:var(--accent-dark);font:inherit;font-size:12px;font-weight:850;line-height:1;cursor:help;}
.term-help-button:hover,.term-help-button[aria-expanded="true"]{border-color:var(--accent);background:rgba(var(--accent-rgb),.16);}
.clinical-term-popover{inset:auto;z-index:100;width:min(380px,calc(100vw - 20px));max-width:none;margin:0;padding:14px;border:1px solid var(--glass-border);border-radius:14px;background:rgba(252,254,253,.96);color:var(--text);box-shadow:var(--shadow-modal);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);}
.clinical-term-popover:popover-open{animation:clinicalTermIn 180ms cubic-bezier(.16,1,.3,1) both;}
.clinical-term-popover.is-closing{animation:clinicalTermOut 160ms cubic-bezier(.4,0,1,1) both;}
@keyframes clinicalTermIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes clinicalTermOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(4px)}}
.clinical-term-popover::backdrop{background:transparent;}
.clinical-term-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.clinical-term-head h3{margin-top:2px;font-size:16px;line-height:1.3;}
.clinical-term-head .icon-btn{width:32px;min-width:32px;height:32px;min-height:32px;}
.clinical-term-definition,.clinical-term-context{margin-top:10px;font-size:13px;line-height:1.6;}
.clinical-term-definition{color:var(--text);font-weight:620;}
.clinical-term-context{padding-top:9px;border-top:1px solid var(--line);color:var(--muted);}
@media (prefers-color-scheme:dark){.clinical-term-popover{background:rgba(22,33,30,.97);}}
@media (pointer:coarse), (max-width:640px){.term-help-button{width:44px;min-width:44px;height:44px;min-height:44px;font-size:14px;}.clinical-term-popover{padding:16px;border-radius:16px;}.clinical-term-head .icon-btn{width:44px;min-width:44px;height:44px;min-height:44px;}}
@media (prefers-reduced-transparency:reduce){.clinical-term-popover{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;}}
@media (prefers-contrast:more){.clinical-term-popover{border-width:1.5px;background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;}}

.workflow-progress{
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
}

.workflow-step{
  min-height:48px;
  padding:6px 8px;
  border-radius:11px;
}

.workflow-step-no{
  width:24px;
  height:24px;
}

.workflow-step-main strong{
  font-size:12px;
}

.workflow-step-main small{
  font-size:10px;
}

.tool-launcher{
  gap:6px;
}

.tool-launch{
  min-height:36px;
  border-radius:10px;
  font-size:12px;
}

.workspace,
.encounter-view.visit-editable .workspace{
  grid-template-columns:minmax(0,1fr);
  gap:0;
}

.chat-card{
  grid-template-rows:auto auto minmax(180px,1fr) auto auto auto auto;
}

.chat-card>.workflow-hint{
  grid-row:6;
}

.chat-card>.director-panel{
  grid-row:7;
}

.card-head{
  padding:10px 12px;
}

.chat-log{
  padding:12px;
}

.chat-form{
  padding:10px 12px;
}

.quick-questions{
  gap:6px;
  padding:0 12px 10px;
}

.quick-questions button{
  min-height:34px;
  padding:5px 10px;
  font-size:12px;
}

.workflow-hint{
  margin:0 12px 10px;
  padding:8px 10px;
  font-size:12px;
}

/* 关闭态完全脱离工作区，打开后作为右侧工具抽屉。 */
.actions-card,
.actions-card.inline-open{
  position:fixed;
  display:none;
  width:min(680px,calc(100vw - 24px));
  max-width:none;
  min-height:0;
  transform:none;
  opacity:0;
}

.actions-card.tool-open,
.actions-card.inline-open.tool-open{
  position:fixed;
  top:12px;
  right:12px;
  bottom:12px;
  left:auto;
  z-index:57;
  display:grid;
  width:min(680px,calc(100vw - 24px));
  max-width:none;
  max-height:calc(100dvh - 24px);
  grid-template-rows:auto auto minmax(0,1fr);
  border-radius:18px;
  transform:none;
  opacity:1;
  pointer-events:auto;
}

.actions-card.tool-open .tool-card-head{
  position:sticky;
  top:0;
  z-index:4;
  padding:12px 16px;
}

.actions-card.tool-open .tabs{
  position:sticky;
  top:64px;
  z-index:3;
  margin:8px 12px;
}

.actions-card.tool-open .tab-view{
  min-height:0;
  padding:12px 16px 18px;
  overscroll-behavior:contain;
}
#examTab{overflow-anchor:none;}
.workflow-progress,.tool-launcher,.tabs,.rx-table-wrap,.educator-tabs,.mobile-panel-nav{overscroll-behavior-inline:contain;scrollbar-width:thin;}

.tool-backdrop{
  z-index:56;
  background:rgba(15,28,24,0.24);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  pointer-events:auto;
  cursor:pointer;
}

body.tool-modal-open .mobile-panel-nav{
  visibility:hidden;
  pointer-events:none;
}

.mobile-panel-nav{
  padding-bottom:max(8px,env(safe-area-inset-bottom));
}

@media (min-width:1500px){
  .layout{
    grid-template-columns:290px minmax(0,1fr) 330px;
  }
}

/* ── Display settings and queue density ── */
.queue-demographics{
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}

.queue-complaint{
  display:block;
  min-height:0;
  overflow:visible;
  overflow-wrap:anywhere;
  line-height:1.45;
}

.queue-item:not(.queue-compact){
  height:auto;
  grid-template-rows:auto auto;
  align-content:start;
}

.queue-tags{
  position:relative;
  z-index:1;
  align-items:center;
  min-height:28px;
  margin:0;
  padding:9px 14px 11px;
  border-top:1px solid rgba(14,40,36,0.07);
  background:rgba(var(--accent-rgb),0.025);
  overflow:visible;
  row-gap:6px;
}

.queue-tags span{
  min-height:26px;
  padding:4px 9px;
  overflow:visible;
  background-color:var(--gray-100);
  line-height:1.2;
  white-space:nowrap;
}

.queue-item,
.queue-item.queue-compact{
  grid-template-rows:auto auto;
  gap:0;
  min-height:0;
  padding:0;
  overflow:hidden;
  transform-origin:center top;
  animation:none;
}

.queue-card-body{
  display:grid;
  gap:7px;
  padding:14px 14px 12px;
}

.queue-item.queue-compact .queue-card-body{
  gap:5px;
  padding-bottom:10px;
}

.queue-item::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(115deg,transparent 28%,rgba(255,255,255,0.44) 48%,transparent 68%);
  opacity:0;
  transform:translateX(-45%);
  transition:opacity 220ms ease,transform 620ms cubic-bezier(0.16,1,0.3,1);
}

.queue-item:hover::after{
  opacity:0.7;
  transform:translateX(45%);
}

.queue-item.active::before{animation:none;}
.queue-list.selection-sync .queue-item,.queue-list.selection-sync .queue-item::before,.queue-list.selection-sync .queue-item::after{animation:none !important;transition:none !important;}
.queue-return-action{display:flex;align-items:center;justify-content:space-between;min-height:34px;margin:0 12px 12px;padding:0 11px;border:1px solid rgba(var(--accent-rgb),.32);border-radius:10px;background:var(--accent-dark);color:var(--on-accent);font-size:12px;font-weight:800;box-shadow:0 4px 12px rgba(var(--accent-rgb),.16);}
.queue-return-action b{font-size:17px;font-weight:500;line-height:1;}
.result-return-primary{min-height:40px;padding-inline:16px;white-space:nowrap;}
@media (pointer:coarse){.queue-return-action,.result-return-primary{min-height:44px;}}

.empty-state-illustration{
  animation:clinicalFloat 4.8s ease-in-out infinite;
}

.empty-state--hero::before{
  animation:ambientBreath 5.6s ease-in-out infinite;
}

@keyframes queueCardReveal{
  from{opacity:0;transform:translateY(12px) scale(0.985);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

@keyframes activeRailIn{
  from{opacity:0;transform:scaleY(0.2);}
  to{opacity:1;transform:scaleY(1);}
}

@keyframes clinicalFloat{
  0%,100%{transform:translateY(0) rotate(0.001deg);}
  50%{transform:translateY(-7px) rotate(0.001deg);}
}

@keyframes ambientBreath{
  0%,100%{opacity:0.58;transform:scale(0.96);}
  50%{opacity:0.92;transform:scale(1.045);}
}

/* Queue cards use normal document flow so dynamic clinical text can never
   collapse into thin implicit grid rows. */
.queue-item,
.queue-item.queue-compact,
.queue-item:not(.queue-compact){
  display:block;
  height:auto;
  min-height:0;
}

.queue-card-body{
  display:block;
}

.queue-card-body .queue-demographics{
  margin-top:9px;
}

.queue-card-body .queue-complaint{
  margin-top:6px;
}

.queue-tags{
  display:flex;
  flex-wrap:wrap;
}

/* Final queue layout: keep the proven flat DOM and reserve explicit rows. */
.queue-item,
.queue-item.queue-compact,
.queue-item:not(.queue-compact){
  display:grid;
  grid-template-rows:auto auto auto auto;
  align-content:start;
  gap:7px;
  height:auto;
  min-height:132px;
  padding:14px;
  overflow:visible;
}

.queue-item.queue-compact{
  grid-template-rows:auto auto auto;
  min-height:104px;
}

.queue-tags{
  min-height:36px;
  margin-top:3px;
  padding:10px 0 0;
  border-top:1px solid rgba(14,40,36,0.08);
  background:transparent;
}

/* Content-driven queue cards: every card grows with its own complaint. */
.queue-list{
  grid-auto-rows:max-content;
}

.queue-item,
.queue-item.queue-compact,
.queue-item:not(.queue-compact){
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:7px;
  width:100%;
  height:auto;
  min-height:unset;
  max-height:none;
  padding:14px;
  overflow:hidden;
  contain:layout paint;
}

.queue-item.queue-compact{
  min-height:unset;
}

.queue-top,
.queue-demographics,
.queue-complaint,
.queue-tags{
  flex:0 0 auto;
  min-width:0;
}

.queue-complaint{
  width:100%;
  max-width:100%;
  overflow:visible;
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal;
}

.queue-tags{
  width:100%;
}

.queue-item.queue-compact{
  min-height:88px;
  grid-template-rows:auto auto auto;
}

.settings-panel{
  width:min(520px,calc(100vw - 28px));
  grid-template-rows:auto minmax(0,1fr);
}

.settings-list{
  display:grid;
  gap:10px;
  padding:16px;
  overflow-y:auto;
}

.setting-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin:0;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,0.62);
  box-shadow:var(--shadow-xs);
  cursor:pointer;
}

.setting-row span{
  display:grid;
  gap:4px;
}

.setting-row strong{
  color:var(--text);
  font-size:14px;
}

.setting-row small{
  color:var(--muted);
  font-size:12px;
  font-weight:500;
  line-height:1.5;
}

.setting-row input[type="checkbox"]{
  appearance:none;
  width:46px;
  height:26px;
  padding:0;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--gray-300);
  box-shadow:inset 0 1px 3px rgba(17,28,24,0.12);
  cursor:pointer;
  transition:background-color var(--motion-fast),border-color var(--motion-fast);
}

.setting-row input[type="checkbox"]::before{
  content:"";
  display:block;
  width:20px;
  height:20px;
  margin:2px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 5px rgba(17,28,24,0.2);
  transition:transform var(--motion-fast);
}

.setting-row input[type="checkbox"]:checked{
  border-color:var(--accent);
  background:var(--accent);
}

.setting-row input[type="checkbox"]:checked::before{
  transform:translateX(20px);
}

.setting-row--field{
  grid-template-columns:minmax(0,1fr) minmax(150px,210px);
}

.setting-row--field input{
  height:40px;
  margin:0;
}

/* Simulation headers should show runtime state, not persistent profile forms. */
.session-meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

@media (max-width:1380px) and (min-width:1181px){
  .session-meta{
    display:flex;
  }

  .voice-status{
    display:none;
  }
}

@media (max-width:1000px){
  .session-meta{
    display:flex;
    justify-content:flex-start;
  }
}

@media (max-width:640px){
  .setting-row,
  .setting-row--field{
    grid-template-columns:minmax(0,1fr);
  }

  .setting-row input[type="checkbox"]{
    justify-self:start;
  }

  .session-meta{
    display:flex;
  }

  .session-meta .ai-status{
    flex:1 1 100%;
  }
}

@media (prefers-color-scheme:dark){
  .setting-row{
    background:rgba(255,255,255,0.055);
  }
}

/* ── UI consistency: one quiet empty-state language across the workspace ── */
:is(#queueList,#recordsList,#resultsList,#diagnosisChips)>.muted{
  display:block;
  min-height:124px;
  padding:20px 18px;
  border:1px solid rgba(var(--accent-rgb),0.14);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,0.7),rgba(var(--accent-rgb),0.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.72);
  color:var(--muted);
  line-height:1.65;
}
#diagnosisChips{width:100%;}
#diagnosisChips>.muted{flex:1 0 100%;width:100%;box-sizing:border-box;}

@media (prefers-reduced-motion:reduce){
  .exam-jump-submit{transition:background-color 100ms ease,opacity 100ms ease;}
  .exam-jump-submit:hover,.exam-jump-submit:active{transform:none;}
}
@media (prefers-reduced-transparency:reduce){
  .exam-jump-submit{background:var(--accent-dark);backdrop-filter:none;-webkit-backdrop-filter:none;}
}
@media (prefers-contrast:more){
  .exam-jump-submit{border:2px solid currentColor;background:var(--accent-dark);box-shadow:none;}
}

:is(#queueList,#recordsList,#resultsList,#diagnosisChips)>.muted::before{
  display:block;
  width:46px;
  height:46px;
  margin:0 auto 14px;
  border:1px solid rgba(var(--accent-rgb),0.16);
  border-radius:14px;
  background-color:rgba(var(--accent-rgb),0.075);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230c7c72' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5.5' y='4.5' width='13' height='16' rx='3'/%3E%3Cpath d='M9 4.5V3.5h6v1M9 9h6M9 13h6M9 17h4'/%3E%3C/svg%3E");
  background-position:center;
  background-repeat:no-repeat;
  background-size:24px 24px;
  box-shadow:0 6px 18px rgba(var(--accent-rgb),0.09),inset 0 1px 0 rgba(255,255,255,0.74);
}

.panel-head,
.patient-strip,
.card-head,
.records-head{
  border-color:rgba(14,40,36,0.08);
}

.panel-head .eyebrow,
.patient-strip .eyebrow,
.records-head .eyebrow{
  color:var(--accent-dark);
  font-weight:700;
  letter-spacing:0.04em;
}

@media (prefers-color-scheme:dark){
  :is(#queueList,#recordsList,#resultsList,#diagnosisChips)>.muted{
    border-color:rgba(var(--accent-rgb),0.2);
    background:rgba(var(--accent-rgb),0.07);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
  }

  :is(#queueList,#recordsList,#resultsList,#diagnosisChips)>.muted::before{
    border-color:rgba(var(--accent-rgb),0.24);
    background-color:rgba(var(--accent-rgb),0.12);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2372d8ca' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5.5' y='4.5' width='13' height='16' rx='3'/%3E%3Cpath d='M9 4.5V3.5h6v1M9 9h6M9 13h6M9 17h4'/%3E%3C/svg%3E");
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.05);
  }
}

/* Wide screens keep the encounter visible beside a parallel, non-modal drawer. */
@media (min-width:1280px){
  /* 宽屏工具抽屉覆盖在右侧，不改变诊疗台网格；聊天区打开、关闭前后尺寸保持稳定。 */
  .actions-card.tool-open,
  .actions-card.inline-open.tool-open{
    top:16px;
    right:16px;
    bottom:16px;
    left:auto;
    width:min(620px,42vw);
    max-width:none;
    max-height:calc(100dvh - 32px);
  }
  .actions-card.tool-open[aria-modal="false"]{border-left:1px solid var(--line-strong);box-shadow:-12px 0 34px rgba(7,36,32,.12),var(--shadow-modal);}
  .actions-card.tool-open .tab-view{padding:18px 22px 24px;}
  .actions-card.tool-open .order-section{gap:16px;}
  .actions-card.tool-open .pending-order-row{
    grid-template-columns:34px minmax(0,1fr) minmax(118px,.42fr) 44px;
    grid-template-areas:
      "number main priority remove"
      ". purpose purpose purpose"
      ". diagnosis diagnosis diagnosis";
    gap:10px;
  }
  .actions-card.tool-open .rx-table{
    min-width:1080px;
    table-layout:fixed;
  }
  .actions-card.tool-open .rx-col-group{width:54px;}
  .actions-card.tool-open .rx-col-name{width:230px;}
  .actions-card.tool-open .rx-col-dose{width:170px;}
  .actions-card.tool-open .rx-col-route{width:110px;}
  .actions-card.tool-open .rx-col-freq{width:145px;}
  .actions-card.tool-open .rx-col-days{width:66px;}
  .actions-card.tool-open .rx-col-note{width:260px;}
  .actions-card.tool-open .rx-col-op{width:42px;}
  .actions-card.tool-open .rx-table td.rx-col-note input{white-space:normal;}
}

/* 待提交检查单：在工具抽屉内按信息层级分行，避免六列硬挤造成内容和按钮裁切。 */
.pending-order-row>.pending-order-no{grid-area:number;}
.pending-order-row>.pending-order-main{grid-area:main;}
.pending-order-row>.pending-order-priority-field{grid-area:priority;}
.pending-order-row>.pending-order-purpose-field{grid-area:purpose;}
.pending-order-row>.pending-order-diagnosis-field{grid-area:diagnosis;}
.pending-order-row>.pending-order-remove{grid-area:remove;justify-self:end;width:36px;min-width:36px;height:36px;padding:0;}
.pending-order-field{display:grid;min-width:0;gap:5px;color:var(--muted);font-size:11px;font-weight:800;line-height:1.2;}
.pending-order-field>span{padding-left:2px;}
.pending-order-field>select,.pending-order-field>input{width:100%;min-width:0;}

@media (min-width:1280px){
  .actions-card.tool-open .pending-order-main strong,
  .actions-card.tool-open .pending-order-main span{
    overflow:visible;
    white-space:normal;
    text-overflow:clip;
  }
  .actions-card.tool-open .pending-order-remove{
    width:44px;
    min-width:44px;
    height:44px;
  }
}

@media (max-width:1279px){
  .pending-order-row{
    grid-template-columns:34px minmax(0,1fr) minmax(96px,.38fr) 44px;
    grid-template-areas:
      "number main priority remove"
      ". purpose purpose purpose"
      ". diagnosis diagnosis diagnosis";
  }
}

@media (max-width:600px){
  .pending-order-row{
    grid-template-columns:28px minmax(0,1fr) 44px;
    grid-template-areas:
      "number main remove"
      ". priority priority"
      ". purpose purpose"
      ". diagnosis diagnosis";
  }
}

/* 等待叫号：去掉实体图标，仅使用流动环境光。 */
.empty-state--hero{isolation:isolate;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.12));}
.empty-state--hero::before{display:none;}
.siri-ambient{position:absolute;z-index:0;top:12%;left:50%;width:min(620px,88%);height:280px;pointer-events:none;transform:translateX(-50%);filter:blur(24px) saturate(165%);opacity:.82;animation:siriAmbientDrift 8s cubic-bezier(.45,0,.2,1) infinite alternate;}
.siri-ambient::before,.siri-ambient::after{content:"";position:absolute;pointer-events:none;border-radius:50%;will-change:transform,opacity;}
.siri-ambient::before{inset:16% 18%;border:1px solid rgba(255,255,255,.68);box-shadow:0 0 40px rgba(112,208,255,.2),inset 0 0 36px rgba(255,255,255,.24);animation:siriHalo 5.6s cubic-bezier(.45,0,.2,1) infinite;}
.siri-ambient::after{top:46%;left:13%;width:74%;height:4px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),rgba(119,205,255,.46),transparent);filter:blur(3px);animation:siriSweep 4.8s cubic-bezier(.4,0,.2,1) infinite;}
.siri-ambient i{position:absolute;border-radius:50%;mix-blend-mode:multiply;will-change:transform,opacity;}
.siri-ambient i:nth-child(1){inset:22% 34% 20% 9%;background:rgba(39,190,178,.44);}
.siri-ambient i:nth-child(2){inset:7% 8% 38% 38%;background:rgba(88,135,238,.38);}
.siri-ambient i:nth-child(3){inset:42% 18% 4% 30%;background:rgba(179,92,226,.32);}
.siri-ambient i:nth-child(4){inset:28% 22% 24% 25%;background:rgba(61,221,156,.34);}
.empty-state--hero>h2,.empty-state--hero>p,.empty-state--hero>.empty-state-steps{position:relative;z-index:1;}
@keyframes siriFlowA{0%{transform:translate(-10%,-4%) scale(.82);opacity:.55}100%{transform:translate(22%,12%) scale(1.18);opacity:.9}}
@keyframes siriFlowB{0%{transform:translate(12%,-12%) scale(1.08);opacity:.75}100%{transform:translate(-24%,18%) scale(.88);opacity:.45}}
@keyframes siriFlowC{0%{transform:translate(-18%,10%) scale(.9);opacity:.48}100%{transform:translate(20%,-16%) scale(1.2);opacity:.82}}
@keyframes siriFlowD{0%{transform:rotate(0deg) scale(.72);opacity:.38}100%{transform:rotate(28deg) scale(1.28);opacity:.72}}
@keyframes siriAmbientDrift{0%{transform:translateX(-50%) translateY(-5px) scale(.96)}100%{transform:translateX(-50%) translateY(8px) scale(1.04)}}
@keyframes siriHalo{0%,100%{opacity:.3;transform:scale(.82)}50%{opacity:.78;transform:scale(1.08)}}
@keyframes siriSweep{0%{opacity:0;transform:translateX(-22%) scaleX(.56)}38%,62%{opacity:.7}100%{opacity:0;transform:translateX(22%) scaleX(1.08)}}
@media (prefers-color-scheme:dark){
  .empty-state--hero{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));}
  .siri-ambient{opacity:.82;filter:blur(34px) saturate(170%);}
  .siri-ambient i{mix-blend-mode:screen;}
}

/* Runtime status must remain fully readable on desktop. */
@media (min-width:1001px){
  .session-meta .ai-status{
    flex:0 1 auto;
    width:max-content;
    min-width:0;
    max-width:min(42vw,520px);
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
    line-height:1.35;
  }
}

/* Keep the active-patient header compact; the full complaint remains in title. */
#patientMeta{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  text-overflow:ellipsis;
}

/* Queue filters use a compact macOS-style segmented control. */
.queue-filter-bar{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:3px;
  padding:3px;
  border:1px solid rgba(20,42,38,.08);
  border-radius:12px;
  background:rgba(118,128,126,.1);
  box-shadow:inset 0 1px 1px rgba(20,35,32,.045);
}
.filter-chip{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:0;
  min-height:34px;
  padding:0 8px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--muted);
  font-size:12px;
  font-weight:650;
  box-shadow:none;
  transition:color 180ms ease,background-color 180ms ease,box-shadow 180ms ease,transform 180ms ease;
}
.filter-chip::after{
  content:attr(data-count);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:rgba(90,105,101,.1);
  color:inherit;
  font-size:10px;
  font-weight:750;
  font-variant-numeric:tabular-nums;
  line-height:1;
}
.filter-chip:hover{border-color:transparent;background:rgba(255,255,255,.52);color:var(--text);transform:none;box-shadow:none;}
.filter-chip.active{border-color:transparent;background:rgba(255,255,255,.92);color:var(--accent-dark);box-shadow:0 1px 3px rgba(22,35,32,.12),0 0 0 1px rgba(22,35,32,.035);}
.filter-chip.active::after{background:rgba(var(--accent-rgb),.11);color:var(--accent-dark);}
.queue-panel{grid-template-rows:auto auto minmax(0,1fr);}
.queue-filter-trigger[aria-expanded="true"]{background:rgba(var(--accent-rgb),.1);color:var(--accent-dark);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.15);}
.queue-panel>.panel-head{display:grid;grid-template-columns:minmax(88px,1fr) auto;align-items:center;gap:6px;}
.queue-panel>.panel-head>div:first-child{min-width:88px;}
.queue-panel>.panel-head h2,.queue-panel>.panel-head .eyebrow{white-space:nowrap;}
.queue-panel>.panel-head .toolbar-actions{flex:0 0 auto;gap:3px;flex-wrap:nowrap;}
.queue-panel>.panel-head .icon-btn{width:32px;min-width:32px;height:32px;min-height:32px;}
.queue-filter-popover{
  position:fixed;
  inset:auto;
  z-index:120;
  width:272px;
  max-height:calc(100dvh - 24px);
  margin:0;
  padding:8px;
  border:1px solid rgba(20,42,38,.1);
  border-radius:15px;
  background:rgba(250,252,251,.94);
  box-shadow:0 18px 48px rgba(22,35,32,.16),0 2px 8px rgba(22,35,32,.08);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  overflow-y:auto;
  transform-origin:top right;
  opacity:0;
  pointer-events:none;
  transform:translateY(-5px) scale(.97);
  transition:
    opacity 160ms ease-out,
    transform 180ms cubic-bezier(.2,.8,.2,1),
    overlay 180ms allow-discrete,
    display 180ms allow-discrete;
}
.queue-filter-popover:popover-open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);}
@starting-style{
  .queue-filter-popover:popover-open{opacity:0;transform:translateY(-5px) scale(.97);}
}
.queue-filter-popover::backdrop{background:transparent;}
.queue-filter-popover .queue-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;}
.queue-filter-popover .filter-chip{justify-content:space-between;min-height:44px;padding:0 10px;}
.queue-filter-popover .filter-count{white-space:nowrap;}
.records-head{display:grid;grid-template-columns:minmax(92px,1fr) auto;align-items:center;gap:8px;padding-block:10px;}
.records-head>div:first-child{min-width:0;}
.records-head h2,.records-head .eyebrow{white-space:nowrap;}
.records-head .toolbar-actions{display:flex;width:auto;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:nowrap;}
.records-head .ghost-btn{min-height:32px;padding:0 9px;border-radius:9px;font-size:11px;white-space:nowrap;}
.records-head .icon-btn{width:32px;min-width:32px;height:32px;min-height:32px;}
@media (pointer:coarse), (max-width:860px){
  .queue-panel>.panel-head .icon-btn,.records-head .icon-btn{width:44px;min-width:44px;height:44px;min-height:44px;}
}
.record-swipe{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-xs);isolation:isolate;transition:border-color var(--motion-fast),box-shadow var(--motion-fast);}
.record-swipe .record-item{position:relative;z-index:1;margin:0;border:0;border-radius:inherit;background:var(--surface-raised);box-shadow:none;touch-action:pan-y;transition:width 180ms cubic-bezier(.2,.8,.2,1),transform 220ms cubic-bezier(.2,.8,.2,1),background-color var(--motion-fast),color var(--motion-fast);will-change:transform;}
.record-swipe .record-item.active{background:var(--accent-soft);}
.record-swipe:has(.record-item.active){border-color:rgba(var(--accent-rgb),.42);box-shadow:0 8px 24px rgba(var(--accent-rgb),.1);}
.record-swipe .record-score{border:1px solid rgba(var(--accent-rgb),.18);background:var(--accent-soft);color:var(--accent-dark);}
.record-swipe .record-score:is(.good,.mid,.bad){background:var(--accent-soft);color:var(--accent-dark);}
.record-delete{position:absolute;z-index:0;top:0;right:0;display:grid;place-items:center;width:68px;height:100%;border:0;border-radius:0;background:#8d3038;color:#fff;cursor:pointer;}
.record-delete svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
@media (hover:hover) and (pointer:fine){
  .record-swipe{padding-right:38px;}
  .record-swipe .record-item{width:100%;border-radius:var(--radius-md) 0 0 var(--radius-md);}
  .record-swipe .record-delete{width:38px;border-left:1px solid var(--hairline);background:var(--surface-raised);color:var(--muted);opacity:1;transition:color 160ms ease,background-color 160ms ease;}
  .record-swipe .record-delete:hover,.record-swipe .record-delete:focus-visible{background:var(--danger-soft);color:var(--danger);}
  .record-swipe:hover .record-item,.record-swipe:focus-within .record-item{background:var(--surface-soft);}
}
.record-swipe.delete-revealed .record-item{border-radius:var(--radius-md) 0 0 var(--radius-md);}
@media (prefers-color-scheme:dark){
  .queue-filter-popover{border-color:rgba(255,255,255,.1);background:rgba(28,36,34,.92);box-shadow:0 20px 52px rgba(0,0,0,.34);}
  .filter-chip:hover{background:rgba(255,255,255,.07);}
  .filter-chip.active{background:rgba(255,255,255,.13);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.06);}
}

/* Keep long clinical complaints readable without making every card oversized. */
.queue-item:not(.queue-compact) .queue-complaint{font-size:12px;line-height:1.55;text-wrap:pretty;}
.queue-item:not(.queue-compact) .queue-demographics{margin-bottom:1px;}

/* Preserve rounded lower corners and shadows inside the fixed viewport shell. */
@media (min-width:841px){
  .layout{height:calc(100% - 12px);margin-bottom:12px;overflow:visible;}
  .queue-panel,.encounter-panel,.review-panel{overflow:hidden;border-radius:var(--radius-lg);}
}

/* Application-native withdraw confirmation. */
.withdraw-backdrop{position:fixed;z-index:140;inset:0;display:grid;place-items:center;padding:20px;background:rgba(10,28,25,.28);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);animation:fadeIn 160ms ease both;}
.withdraw-dialog{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;width:min(460px,calc(100vw - 32px));padding:22px;border:1px solid rgba(255,255,255,.64);border-radius:22px;background:rgba(252,253,253,.94);box-shadow:0 28px 80px rgba(12,28,24,.24),inset 0 1px 0 #fff;animation:modalScaleFade 220ms cubic-bezier(.16,1,.3,1) both;}
.withdraw-dialog-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--danger-soft);color:var(--danger);font-size:22px;font-weight:700;}
.withdraw-dialog h2{margin:2px 0 5px;font-size:22px;}
.withdraw-dialog label,.withdraw-dialog textarea,.withdraw-actions{grid-column:1/-1;}
.withdraw-dialog label{margin-top:4px;color:var(--text);font-size:12px;font-weight:700;}
.withdraw-dialog textarea{width:100%;resize:vertical;min-height:92px;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.78);color:var(--text);line-height:1.55;}
.withdraw-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px;}
@media (prefers-color-scheme:dark){.withdraw-dialog{border-color:rgba(255,255,255,.1);background:rgba(25,34,31,.95);box-shadow:0 28px 80px rgba(0,0,0,.5);}.withdraw-dialog textarea{background:rgba(255,255,255,.06);}}

/* Submitted prescriptions require an explicit, auditable pharmacy recall flow. */
.prescription-void-backdrop{position:fixed;z-index:142;inset:0;display:grid;place-items:center;padding:20px;background:rgba(10,28,25,.32);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);animation:fadeIn 160ms ease both;}
.prescription-void-dialog{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;width:min(500px,calc(100vw - 32px));padding:22px;border:1px solid rgba(255,255,255,.64);border-radius:22px;background:rgba(252,253,253,.96);box-shadow:0 28px 80px rgba(12,28,24,.24),inset 0 1px 0 #fff;animation:modalScaleFade 220ms cubic-bezier(.16,1,.3,1) both;}
.prescription-void-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--danger-soft);color:var(--danger);font-size:25px;font-weight:700;line-height:1;}
.prescription-void-dialog h2{margin:2px 0 5px;font-size:22px;}
.prescription-void-dialog>label,.prescription-void-dialog>textarea,.prescription-void-checklist,.prescription-void-status,.prescription-void-actions{grid-column:1/-1;}
.prescription-void-dialog>label{margin-top:4px;color:var(--text);font-size:12px;font-weight:700;}
.prescription-void-dialog>textarea{width:100%;min-height:80px;padding:12px;resize:vertical;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.8);color:var(--text);line-height:1.55;}
.prescription-void-checklist{display:grid;gap:8px;margin:0;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);}
.prescription-void-checklist legend{padding:0 5px;color:var(--text);font-size:12px;font-weight:750;}
.prescription-void-checklist label{display:flex;align-items:center;gap:10px;min-height:36px;color:var(--text);font-size:13px;font-weight:650;cursor:pointer;}
.prescription-void-checklist input{width:18px;height:18px;margin:0;accent-color:var(--accent);}
.prescription-void-status{min-height:20px;margin:0;color:var(--muted);font-size:12px;line-height:1.55;}
.prescription-void-actions{display:flex;justify-content:flex-end;gap:8px;}
.prescription-void-confirm:disabled{border-color:var(--line)!important;background:var(--gray-200)!important;color:var(--gray-500)!important;box-shadow:none!important;cursor:not-allowed;transform:none!important;}
@media (max-width:520px){.prescription-void-dialog{padding:18px;}.prescription-void-actions{display:grid;grid-template-columns:1fr 1fr;}.prescription-void-actions button{width:100%;}}
@media (prefers-color-scheme:dark){
  .prescription-void-dialog{border-color:rgba(255,255,255,.1);background:rgba(25,34,31,.97);box-shadow:0 28px 80px rgba(0,0,0,.5);}
  .prescription-void-dialog>textarea{background:rgba(255,255,255,.06);}
  .prescription-void-checklist{background:rgba(var(--accent-rgb),.08);}
}
.action-confirm-backdrop{position:fixed;z-index:170;inset:0;display:grid;place-items:center;padding:20px;background:rgba(10,28,25,.32);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);animation:fadeIn 160ms ease both;}
.action-confirm-dialog{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;width:min(440px,calc(100vw - 32px));padding:22px;border:1px solid rgba(255,255,255,.64);border-radius:22px;background:rgba(252,253,253,.96);box-shadow:0 28px 80px rgba(12,28,24,.24),inset 0 1px 0 #fff;animation:modalScaleFade 220ms cubic-bezier(.16,1,.3,1) both;}
.action-confirm-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--danger-soft);color:var(--danger);font-size:22px;font-weight:800;}
.action-confirm-dialog h2{margin:2px 0 5px;font-size:22px;}
.action-confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:4px;}
@media (max-width:520px){.action-confirm-dialog{padding:18px;}.action-confirm-actions{display:grid;grid-template-columns:1fr 1fr;}.action-confirm-actions button{width:100%;}}
@media (prefers-color-scheme:dark){.action-confirm-dialog{border-color:rgba(255,255,255,.1);background:rgba(25,34,31,.97);box-shadow:0 28px 80px rgba(0,0,0,.5);}}

/* Reduced motion keeps the spatial composition while removing decorative travel. */
@media (prefers-reduced-motion:reduce){
  .siri-ambient{animation:none !important;transform:translateX(-50%) !important;}
  .siri-ambient::before,.siri-ambient::after,.siri-ambient i{animation:none !important;will-change:auto;}
}

/* Director consult is a dedicated readable workspace, not an inline chat footnote. */
body.director-modal-open{overflow:hidden;}
.director-backdrop{position:fixed;z-index:128;inset:0;background:rgba(10,28,25,.3);backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);animation:fadeIn 160ms ease both;}
.director-panel:not(.hidden){position:fixed;z-index:129;inset:50% auto auto 50%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(720px,calc(100vw - 32px));height:min(680px,calc(100dvh - 48px));margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.66);border-radius:24px;background:rgba(250,252,251,.95);box-shadow:0 32px 90px rgba(10,27,23,.28),inset 0 1px 0 #fff;transform:translate(-50%,-50%);animation:directorPanelIn 240ms cubic-bezier(.16,1,.3,1) both;}
@keyframes directorPanelIn{from{opacity:0;transform:translate(-50%,calc(-50% + 14px)) scale(.975)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.director-panel>.card-head{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:14px 18px;border-bottom:1px solid var(--hairline);background:rgba(255,255,255,.62);}
.director-panel>.card-head h3{margin-top:2px;font-size:21px;}
.director-panel>.card-head .toolbar-actions{display:flex;align-items:center;gap:8px;}
.director-panel .penalty-pill{white-space:nowrap;}
.director-panel .director-log{display:grid;align-content:start;gap:12px;max-height:none;min-height:0;padding:18px;overflow:auto;background:linear-gradient(180deg,rgba(var(--accent-rgb),.025),transparent 42%);}
.director-panel .director-log>.muted{display:grid;place-items:center;min-height:100%;padding:36px;text-align:center;line-height:1.7;}
.director-panel .director-item{max-width:92%;padding:14px 16px;border:1px solid rgba(var(--accent-rgb),.14);border-radius:16px;background:rgba(255,255,255,.86);font-size:14px;line-height:1.72;white-space:pre-wrap;box-shadow:var(--shadow-xs);}
.director-panel .director-item strong{display:block;margin-bottom:8px;color:var(--accent-dark);font-size:12px;line-height:1.5;}
.director-panel .director-item--pending{border-style:dashed;background:var(--surface-soft);color:var(--muted);}
.director-panel .director-pending-answer{display:inline-flex;align-items:center;min-height:24px;font-size:13px;font-weight:650;}
.director-panel .director-penalty-note{display:block;width:max-content;max-width:100%;margin-top:10px;padding:3px 7px;border-radius:999px;background:var(--warn-soft);color:var(--warn);font-size:10px;font-weight:750;line-height:1.4;white-space:normal;}
.director-panel .director-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:14px 18px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--hairline);background:rgba(255,255,255,.8);}
.director-panel .director-form input{min-height:44px;border-radius:13px;}
.director-panel .director-form button{min-width:84px;}
@media (max-width:600px){
  .director-panel:not(.hidden){width:100vw;height:100dvh;border-radius:0;}
  .director-panel .director-form{grid-template-columns:1fr;}
  .director-panel .director-item{max-width:100%;}
}
@media (prefers-color-scheme:dark){
  .director-panel:not(.hidden){border-color:rgba(255,255,255,.1);background:rgba(23,32,29,.96);box-shadow:0 32px 90px rgba(0,0,0,.56);}
  .director-panel>.card-head,.director-panel .director-form{background:rgba(255,255,255,.045);}
  .director-panel .director-item{background:rgba(255,255,255,.07);}
}

/* AI review progress: no decorative empty icon. */
.review-pending-card{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;padding:18px;overflow:hidden;}
.review-pending-card::after{display:none;}
.review-pending-copy strong{display:block;margin:0 0 6px;font-size:15px;}
.review-pending-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.65;}
.review-progress-line{position:relative;width:100%;height:3px;overflow:hidden;border-radius:999px;background:rgba(var(--accent-rgb),.09);}
.review-progress-line i{position:absolute;inset:0 auto 0 0;width:42%;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.72),transparent);animation:reviewProgress 1.8s cubic-bezier(.4,0,.2,1) infinite;}
@keyframes reviewProgress{from{transform:translateX(-110%)}to{transform:translateX(340%)}}
@media (prefers-reduced-motion:reduce){.review-progress-line i{width:100%;opacity:.38;animation:none !important;transform:none !important;}}

/* Prescription duration and insurance policy context. */
.rx-policy-card{display:grid;gap:10px;margin:12px 0;padding:12px;border:1px solid rgba(var(--accent-rgb),.14);border-radius:15px;background:linear-gradient(180deg,rgba(var(--accent-rgb),.045),rgba(255,255,255,.58));}
.rx-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:9px;align-items:end;}
.rx-policy-grid label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:650;}
.rx-policy-grid select{width:100%;min-height:36px;border-radius:10px;background:rgba(255,255,255,.76);font-size:12px;}
.rx-policy-grid .rx-stable-check{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.62);color:var(--text);white-space:nowrap;}
.rx-policy-grid .rx-stable-check input{width:16px;height:16px;margin:0;accent-color:var(--accent);}
.rx-policy-hint{display:flex;align-items:center;gap:8px;min-height:34px;padding:7px 10px;border-radius:10px;background:rgba(var(--accent-rgb),.08);color:var(--muted);font-size:11px;line-height:1.45;}
.rx-policy-hint strong{flex:0 0 auto;color:var(--accent-dark);font-size:12px;}
@media (max-width:760px){.rx-policy-grid{grid-template-columns:1fr;}.rx-policy-hint{align-items:flex-start;flex-direction:column;}}
@media (prefers-color-scheme:dark){.rx-policy-card{background:rgba(var(--accent-rgb),.07);}.rx-policy-grid select,.rx-policy-grid .rx-stable-check{background:rgba(255,255,255,.055);}}

/* Compact, unified prescription-policy disclosure. */
.rx-policy-card{display:block;margin:10px 0;padding:0;overflow:hidden;border-color:rgba(19,55,49,.11);background:rgba(255,255,255,.68);box-shadow:0 1px 2px rgba(12,34,30,.04);}
.rx-policy-card>summary{display:grid;grid-template-columns:auto minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:44px;padding:0 13px;list-style:none;color:var(--muted);font-size:12px;cursor:pointer;}
.rx-policy-card>summary::-webkit-details-marker{display:none;}
.rx-policy-card>summary>span{color:var(--text);font-weight:720;white-space:nowrap;}
.rx-policy-card>summary>strong{overflow:hidden;color:var(--accent-dark);font-size:12px;font-weight:650;text-align:right;text-overflow:ellipsis;white-space:nowrap;}
.rx-policy-card>summary>i{position:relative;width:16px;height:16px;border-radius:50%;background:rgba(var(--accent-rgb),.08);}
.rx-policy-card>summary>i::before,.rx-policy-card>summary>i::after{content:"";position:absolute;top:7px;left:4px;width:8px;height:1.5px;border-radius:2px;background:currentColor;transition:transform 180ms ease;}
.rx-policy-card>summary>i::after{transform:rotate(90deg);}
.rx-policy-card[open]>summary{border-bottom:1px solid var(--hairline);background:rgba(var(--accent-rgb),.035);}
.rx-policy-card[open]>summary>i::after{transform:rotate(0);}
.rx-policy-card .rx-policy-grid{margin:12px 12px 9px;}
.rx-policy-card .rx-policy-hint{margin:0 12px 12px;}
.rx-policy-grid select{appearance:none;-webkit-appearance:none;padding:0 34px 0 11px;border:1px solid rgba(20,48,43,.12);background-color:rgba(255,255,255,.82);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 15px,calc(100% - 11px) 15px;background-size:4px 4px,4px 4px;background-repeat:no-repeat;color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.75);}
.rx-policy-grid select:hover{border-color:rgba(var(--accent-rgb),.28);background-color:rgba(255,255,255,.96);}
.queue-tags span.refill{background:rgba(56,103,166,.1);color:var(--blue);}
.rx-row-needs-refill-check td{background:rgba(var(--accent-rgb),.055);}
.rx-row-needs-refill-check .rx-col-name{box-shadow:inset 3px 0 0 rgba(var(--accent-rgb),.72);}
.rx-history-verify{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;margin-top:8px;padding:7px 12px;border:1px solid rgba(var(--accent-rgb),.46);border-radius:9px;background:var(--accent-dark);color:var(--on-accent);font-size:12px;font-weight:800;letter-spacing:.02em;box-shadow:0 3px 10px rgba(var(--accent-rgb),.18);cursor:pointer;}
.rx-history-verify::before{content:"✓";display:grid;place-items:center;width:18px;height:18px;margin-right:7px;border:1px solid rgba(255,255,255,.72);border-radius:50%;font-size:11px;line-height:1;}
.rx-history-verify:hover{border-color:var(--accent-dark);background:var(--accent);box-shadow:0 5px 14px rgba(var(--accent-rgb),.24);transform:translateY(-1px);}
.rx-history-verify:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none;}
@media (pointer:coarse){.rx-history-verify{min-height:46px;font-size:13px;}}
.prescription-submitted,.prescription-submitted:hover{border-color:var(--gray-300)!important;background:var(--gray-200)!important;color:var(--gray-600)!important;box-shadow:none!important;cursor:not-allowed;transform:none!important;}
.prescription-void-btn{border-color:rgba(180,51,58,.32);background:var(--danger-soft);color:var(--danger);}

/* The workflow row is also the tool launcher; no duplicate navigation row. */
.encounter-view{grid-template-rows:auto auto minmax(0,1fr);}

/* Make the current-review surface fill its entire grid area. */
.review-panel>.review-box{
  align-content:stretch;
  width:100%;
  height:100%;
  max-height:none;
  padding:0;
  overflow:auto;
  border:1px solid rgba(var(--accent-rgb),.16);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(var(--accent-rgb),.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.review-panel>.review-box>.muted{
  display:grid;
  place-content:center;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  padding:24px 20px;
  border:0;
  background:transparent;
  box-shadow:none;
  text-align:center;
}
.review-panel>.review-box:not(:has(>.muted:only-child)){align-content:start;padding:12px;}
@media (prefers-color-scheme:dark){
  .review-panel>.review-box{border-color:rgba(var(--accent-rgb),.22);background:rgba(var(--accent-rgb),.055);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
}

/* Apple-style motion hierarchy: feedback is immediate, decorative light settles once. */
.actions-card.tool-open,.actions-card.inline-open.tool-open{
  animation:none;
}
.actions-card.motion-managed{transition:none !important;}
.actions-card.is-closing{
  position:fixed;
  top:12px;
  right:12px;
  bottom:12px;
  left:auto;
  z-index:57;
  display:grid;
  width:min(680px,calc(100vw - 24px));
  max-width:none;
  max-height:calc(100dvh - 24px);
  grid-template-rows:auto auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid var(--glass-border);
  border-radius:18px;
  background:var(--glass-bg-strong);
  box-shadow:var(--shadow-modal);
  pointer-events:none;
  animation:none;
}
@media (min-width:1280px){.actions-card.is-closing{top:16px;right:16px;bottom:16px;width:min(620px,42vw);max-height:calc(100dvh - 32px);}}
@media (max-width:840px){
  .actions-card.tool-open,.actions-card.inline-open.tool-open{animation:none;}
  .actions-card.is-closing{inset:0;width:100vw;max-height:100dvh;border-radius:0;animation:none;}
}
.tool-backdrop.hidden.is-closing,.safety-backdrop.hidden.is-closing,.director-backdrop.hidden.is-closing{display:block !important;pointer-events:none;animation:modalBackdropOut 180ms ease-out both;}
.safety-panel.hidden.is-closing{display:grid !important;pointer-events:none;animation:modalCenterOut 180ms cubic-bezier(.4,0,1,1) both;}
.director-panel.hidden.is-closing{display:grid !important;pointer-events:none;animation:directorPanelOut 180ms cubic-bezier(.4,0,1,1) both;}
.history-review-backdrop.hidden.is-closing{display:block !important;pointer-events:none;animation:modalBackdropOut 180ms ease-out both;}
.history-review-dialog.hidden.is-closing{display:grid !important;pointer-events:none;animation:historyReviewOut 180ms cubic-bezier(.4,0,1,1) both;}
.clinical-workflow-backdrop.is-closing{pointer-events:none;animation:modalBackdropOut 180ms ease-out both;}
.clinical-workflow-backdrop.is-closing .clinical-workflow-dialog{animation:clinicalWorkflowOut 180ms cubic-bezier(.4,0,1,1) both;}
.print-backdrop.is-closing,.withdraw-backdrop.is-closing,.prescription-void-backdrop.is-closing,.action-confirm-backdrop.is-closing{pointer-events:none;animation:modalBackdropOut 180ms ease-out both;}
.print-backdrop.is-closing .print-panel,.withdraw-backdrop.is-closing .withdraw-dialog,.prescription-void-backdrop.is-closing .prescription-void-dialog,.action-confirm-backdrop.is-closing .action-confirm-dialog{animation:modalCardOut 180ms cubic-bezier(.4,0,1,1) both;}
@keyframes modalBackdropOut{from{opacity:1;}to{opacity:0;}}
@keyframes modalCardOut{from{opacity:1;transform:translateY(0) scale(1);}to{opacity:0;transform:translateY(8px) scale(.985);}}
@keyframes modalCenterOut{from{opacity:1;transform:translate(-50%,-50%) scale(1);}to{opacity:0;transform:translate(-50%,calc(-50% + 10px)) scale(.985);}}
@keyframes directorPanelOut{from{opacity:1;transform:translate(-50%,-50%) scale(1);}to{opacity:0;transform:translate(-50%,calc(-50% + 10px)) scale(.985);}}
@keyframes historyReviewOut{from{opacity:1;transform:none;}to{opacity:0;transform:translateY(8px) scale(.99);}}
@keyframes clinicalWorkflowOut{from{opacity:1;transform:none;}to{opacity:0;transform:translateY(8px) scale(.985);}}
@media (max-width:640px){
  .clinical-workflow-backdrop.is-closing .clinical-workflow-dialog{animation-name:clinicalWorkflowCompactOut;}
  @keyframes clinicalWorkflowCompactOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(20px)}}
}
.siri-ambient{
  top:16%;
  width:min(480px,72%);
  height:220px;
  opacity:.42;
  animation:ambientMaterialize 420ms cubic-bezier(.16,1,.3,1) both;
}
.siri-ambient::before,.siri-ambient::after,.siri-ambient i{
  animation:none;
  will-change:auto;
}
.siri-ambient::before{opacity:.58;transform:scale(1);}
.siri-ambient::after{opacity:.42;transform:none;}
.siri-ambient i:nth-child(1){opacity:.72;transform:translate(4%,2%) scale(1.04);}
.siri-ambient i:nth-child(2){opacity:.58;transform:translate(-5%,5%) scale(.96);}
.siri-ambient i:nth-child(3){opacity:.56;transform:translate(3%,-3%) scale(1.05);}
.siri-ambient i:nth-child(4){opacity:.48;transform:rotate(8deg) scale(1);}
.empty-state-illustration,.empty-state--hero::before{animation:none;}
@keyframes ambientMaterialize{
  from{opacity:0;transform:translateX(-50%) scale(.97);filter:blur(30px) saturate(140%);}
  to{opacity:.42;transform:translateX(-50%) scale(1);filter:blur(22px) saturate(150%);}
}

/* Preserve hierarchy when transparency or contrast accommodations are requested. */
@media (prefers-reduced-transparency:reduce){
  :root{--glass-bg:var(--surface);--glass-bg-strong:var(--surface);--glass-blur:none;}
  .topbar,.queue-panel,.encounter-panel,.review-panel,.chat-card,.actions-card,.actions-card.tool-open,
  .safety-panel,.print-panel,.mobile-panel-nav,.suggestions,.queue-filter-popover,.director-panel:not(.hidden),
  .withdraw-dialog,.prescription-void-dialog,.prescription-void-checklist,.action-confirm-dialog,.patient-strip,.review-panel>.review-box,.review-fallback-banner,.review-hero.local,
  .review-pending-card,.interrupt-panel,.safety-grid div,.safety-item,.safety-pass-list{
    background:var(--surface) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .tool-backdrop,.safety-backdrop,.print-backdrop,.withdraw-backdrop,.prescription-void-backdrop,.action-confirm-backdrop,.director-backdrop{
    background:rgba(10,28,25,.52) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .siri-ambient{display:none;}
}
@media (prefers-contrast:more){
  :root{--line:rgba(16,42,37,.34);--line-strong:rgba(11,84,73,.72);--glass-border:rgba(16,42,37,.42);--muted:#42534f;}
  .topbar,.queue-panel,.encounter-panel,.review-panel,.chat-card,.actions-card.tool-open,.safety-panel,
  .patient-strip,.review-panel>.review-box,.withdraw-dialog,.prescription-void-dialog,.prescription-void-checklist,.action-confirm-dialog,.review-fallback-banner,.review-hero.local,
  .review-pending-card,.interrupt-panel,.director-panel:not(.hidden),.safety-grid div,.safety-item,.safety-pass-list{border-width:1.5px;background:var(--surface)!important;backdrop-filter:none;-webkit-backdrop-filter:none;}
  .director-panel:not(.hidden){border:2px solid var(--line-strong)!important;}
  .director-panel .director-item{border:2px solid var(--line)!important;background:var(--surface-soft)!important;box-shadow:none;}
  .interrupt-panel{border:2px solid var(--line-strong)!important;}
  .director-backdrop{background:rgba(4,15,13,.68)!important;backdrop-filter:none;-webkit-backdrop-filter:none;}
  :where(button,input,textarea,select,[tabindex]):focus-visible{outline-width:4px;outline-color:var(--accent-dark);box-shadow:none;}
  .siri-ambient{opacity:.18;}
}
@media (prefers-color-scheme:dark) and (prefers-contrast:more){
  :root{--line:rgba(255,255,255,.34);--line-strong:rgba(114,216,202,.78);--glass-border:rgba(255,255,255,.4);--muted:#c5d1cd;}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .topbar,.queue-panel,.encounter-panel,.review-panel,.chat-card,.actions-card.tool-open,.safety-panel,
  .print-panel,.mobile-panel-nav,.suggestions,.queue-filter-popover,.director-panel:not(.hidden),.withdraw-dialog{
    background:var(--surface);
  }
}

/* Final dark-material pass for controls declared after the base dark theme.
   Closing sheets keep the same material until their last visible frame. */
@media (prefers-color-scheme:dark){
  .actions-card:is(.tool-open,.is-closing) .tool-card-head,
  .actions-card:is(.tool-open,.is-closing) .card-head,
  .actions-card:is(.tool-open,.is-closing) .pending-order-head,
  .actions-card:is(.tool-open,.is-closing) .record-toolbar{
    border-color:var(--hairline);
    background:rgba(255,255,255,.035);
  }
  .actions-card:is(.tool-open,.is-closing) .tabs{
    border:1px solid var(--hairline);
    background:rgba(255,255,255,.055);
    box-shadow:inset 0 1px 2px rgba(0,0,0,.34);
  }
  .actions-card:is(.tool-open,.is-closing) .tabs::before{
    background:rgba(255,255,255,.12);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 6px 16px rgba(0,0,0,.22);
  }
  .actions-card:is(.tool-open,.is-closing) .tab{color:var(--muted);}
  .actions-card:is(.tool-open,.is-closing) .tab.active{color:var(--text);}
  .actions-card:is(.tool-open,.is-closing) input,
  .actions-card:is(.tool-open,.is-closing) textarea,
  .actions-card:is(.tool-open,.is-closing) select,
  .actions-card:is(.tool-open,.is-closing) .rx-policy-card,
  .actions-card:is(.tool-open,.is-closing) .rx-policy-card>summary,
  .actions-card:is(.tool-open,.is-closing) .rx-policy-grid .rx-stable-check{
    border-color:var(--line);
    background-color:rgba(255,255,255,.055);
    color:var(--text);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  }
  .actions-card:is(.tool-open,.is-closing) input::placeholder,
  .actions-card:is(.tool-open,.is-closing) textarea::placeholder{color:var(--muted);opacity:.9;}
  .actions-card:is(.tool-open,.is-closing) input:focus,
  .actions-card:is(.tool-open,.is-closing) textarea:focus,
  .actions-card:is(.tool-open,.is-closing) select:focus{
    border-color:rgba(var(--accent-rgb),.62);
    background-color:rgba(255,255,255,.085);
  }
  .actions-card:is(.tool-open,.is-closing) .common-order-chip,
  .actions-card:is(.tool-open,.is-closing) .dose-multipliers button,
  .actions-card:is(.tool-open,.is-closing) .icon-btn{
    border-color:var(--line);
    background:rgba(255,255,255,.07);
    color:var(--accent-dark);
    box-shadow:var(--shadow-xs);
  }
  .actions-card:is(.tool-open,.is-closing) .pending-order-panel,
  .actions-card:is(.tool-open,.is-closing) .result-box,
  .actions-card:is(.tool-open,.is-closing) .rx-table-wrap,
  .actions-card:is(.tool-open,.is-closing) .catalog-group{
    border-color:var(--glass-border);
    background:rgba(255,255,255,.035);
  }
  .actions-card:is(.tool-open,.is-closing) .rx-table th{background:rgba(255,255,255,.07);color:var(--muted);}
  .actions-card:is(.tool-open,.is-closing) .rx-row-needs-refill-check td{background:rgba(var(--accent-rgb),.075);}
  .print-panel{border-color:var(--glass-border);background:var(--surface);}
  .print-preview-head,.printer-progress,.print-actions{border-color:var(--hairline);background:rgba(255,255,255,.045);}
  .print-close{border-color:var(--line);background:rgba(255,255,255,.07);color:var(--accent-dark);}
  .printer-stage{background:radial-gradient(circle at 50% 0,rgba(var(--accent-rgb),.16),transparent 64%);}
  .printer-device{border-color:rgba(255,255,255,.12);background:linear-gradient(155deg,#33443e 0%,#25332e 62%,#18231f 100%);box-shadow:0 12px 28px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08);}
  .printer-brand{color:var(--muted);}
  .printer-controls i{background:#667973;}
  .printer-progress-bar{background:rgba(255,255,255,.1);}
  .printed-sheet{border-color:rgba(255,255,255,.16);background:#f7faf9;color:#14231f;box-shadow:0 12px 32px rgba(0,0,0,.28);}
  .printed-title,.printed-sheet pre{color:#14231f;}
}

/* Direct, calm button response: press begins immediately and returns from the live value. */
button:not(:disabled){transform-origin:center;}
button:active:not(:disabled){
  transform:translateY(0) scale(.98);
  transition-duration:80ms;
  transition-timing-function:cubic-bezier(.2,.8,.2,1);
}

/* Fullscreen review uses the added space for legibility instead of preserving
   the narrow sidebar proportions from the three-column clinic layout. */
.record-main{flex:1 1 auto;width:0;}
/* History cards are clinical summaries, not compact navigation labels. Keep
   every recorded field readable and let the card grow with its content. */
.record-swipe .record-item{align-items:flex-start;min-height:98px;padding:12px;}
.record-swipe .record-score{margin-top:1px;}
.record-title{overflow:visible;}
.record-person,.record-complaint,.record-diagnosis{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
  text-wrap:pretty;
}
.record-person{font-size:13px;line-height:1.45;}
.record-person small{margin-left:7px;color:var(--muted);font-size:11px;font-weight:650;}
.record-clinical-fields{display:grid;gap:7px;min-width:0;}
.record-clinical-row{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:7px;min-width:0;}
.record-field-label{padding-top:1px;color:var(--muted);font-size:10px;font-weight:750;line-height:1.55;letter-spacing:.06em;}
.record-complaint,.record-diagnosis{display:block;min-width:0;color:var(--muted);font-size:12px;font-weight:560;line-height:1.55;}
.record-diagnosis{color:var(--text);font-weight:650;}
.record-meta{display:flex;align-items:center;gap:4px 8px;overflow:visible;text-overflow:clip;white-space:normal;flex-wrap:wrap;line-height:1.45;}
.record-meta>span+span::before{content:"·";margin-right:8px;color:var(--line-strong);}
/* The complete review sidebar is one continuous document in both current and
   historical modes. Nested fractional scrollers made record cards look cut
   off and caused the wheel to target the wrong region. */
.review-panel:not(.panel-fullscreen){
  display:block;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:var(--gray-400) transparent;
}
.review-panel:not(.panel-fullscreen)::-webkit-scrollbar{width:10px;}
.review-panel:not(.panel-fullscreen)::-webkit-scrollbar-track{background:transparent;}
.review-panel:not(.panel-fullscreen)::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:var(--gray-400);background-clip:content-box;}
.review-panel:not(.panel-fullscreen)::-webkit-scrollbar-thumb:hover{background:var(--gray-500);background-clip:content-box;}
.review-panel:not(.panel-fullscreen)>.review-box,
.review-panel:not(.panel-fullscreen)>.records-list{
  height:auto;
  min-height:0;
  max-height:none;
  overflow:visible;
}
.review-panel:not(.panel-fullscreen)>.review-box{margin-top:var(--space-3);}
.review-panel:not(.panel-fullscreen)>.records-head{margin-top:var(--space-4);}
.review-panel:not(.panel-fullscreen)>.records-list{margin-top:var(--space-3);}
@media (min-width:1280px){
  .layout{grid-template-columns:clamp(252px,20vw,282px) minmax(0,1fr) clamp(350px,25vw,390px);}
}
@media (min-width:861px){
  .layout[data-review-visible="false"]{grid-template-columns:clamp(252px,20vw,282px) minmax(0,1fr);}
}
@media (min-width:901px){
  .review-panel.panel-fullscreen{
    grid-template-columns:minmax(0,1fr) clamp(440px,36vw,540px);
    grid-template-rows:auto minmax(0,1fr);
    grid-template-areas:
      "review-heading records-heading"
      "current-review records-list";
    column-gap:var(--space-4);
  }
  .review-panel.panel-fullscreen>.panel-head:first-child{grid-area:review-heading;}
  .review-panel.panel-fullscreen>.review-box{grid-area:current-review;}
  .review-panel.panel-fullscreen>.records-head{grid-area:records-heading;margin:0;}
  .review-panel.panel-fullscreen>.records-list{grid-area:records-list;}
}
.review-panel.panel-fullscreen .record-main strong{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  line-height:1.45;
}
.review-panel.panel-fullscreen .record-person,.review-panel.panel-fullscreen .record-complaint{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
}

/* History lives in a dedicated review workspace. The clinic sidebar only
   shows the current encounter, so historical documents cannot squeeze it. */
.history-review-entry{display:inline-grid;place-items:center;white-space:nowrap;}
.history-review-entry svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.history-review-backdrop{position:fixed;z-index:150;inset:0;background:rgba(8,24,21,.34);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);animation:fadeIn 160ms ease both;}
.history-review-dialog{position:fixed;z-index:151;inset:clamp(16px,3vw,42px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--glass-border);border-radius:var(--radius-xl);background:rgba(248,252,250,.96);box-shadow:var(--shadow-modal);animation:modalScaleFade 240ms cubic-bezier(.16,1,.3,1) both;}
.history-review-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--hairline);}
.history-review-header h2{margin:1px 0 0;font-size:var(--text-xl);}
.history-review-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);}
.history-review-layout{display:grid;grid-template-columns:clamp(380px,34vw,500px) minmax(0,1fr);min-height:0;}
.history-record-column{display:grid;grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;padding:var(--space-4);border-right:1px solid var(--hairline);overflow:hidden;}
.history-record-column>.records-list{display:grid;grid-auto-rows:max-content;align-content:start;gap:var(--space-3);height:auto;min-height:0;max-height:none;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;-webkit-overflow-scrolling:touch;}
.history-record-column .record-swipe{min-height:max-content;align-self:start;overflow:visible;}
.history-record-column .record-swipe .record-item{height:auto;min-height:0;padding:18px 16px;gap:14px;overflow:visible;}
.history-record-column .record-score{width:48px;height:48px;margin-top:2px;font-size:17px;}
.history-record-column .record-main{gap:10px;}
.history-record-column .record-title{gap:4px;}
.history-record-column .record-sub{gap:8px;}
.history-record-column .record-flags{align-items:flex-start;gap:7px;}
.history-record-column .record-save{max-width:100%;padding:4px 8px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;}
.history-review-detail{display:grid;align-content:start;gap:var(--space-3);min-width:0;min-height:0;padding:var(--space-5);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;-webkit-overflow-scrolling:touch;}
.history-review-detail>.muted{display:grid;place-items:center;min-height:220px;text-align:center;}
body.history-review-open{overflow:hidden;}
@media (prefers-color-scheme:dark){.history-review-dialog{border-color:rgba(255,255,255,.1);background:rgba(22,31,28,.97);}}
@media (max-width:760px){
  .history-review-dialog{inset:0;border-radius:0;}
  .history-review-header{align-items:flex-start;padding:var(--space-3);}
  .history-review-toolbar{flex-wrap:wrap;gap:6px;}
  .history-review-toolbar .ghost-btn{min-height:36px;padding-inline:9px;font-size:11px;}
  .history-review-layout{grid-template-columns:1fr;grid-template-rows:minmax(180px,38%) minmax(0,62%);}
  .history-record-column{padding:var(--space-3);border-right:0;border-bottom:1px solid var(--hairline);}
  .history-record-column .record-swipe .record-item{min-height:0;padding:14px;gap:11px;}
  .history-record-column .record-score{width:44px;height:44px;font-size:16px;}
  .history-review-detail{padding:var(--space-3);}
}
@media (prefers-reduced-motion:reduce){.history-review-backdrop,.history-review-dialog{animation:none;}}
.queue-list[data-motion="reordering"]>.queue-item{will-change:transform;}
@media (prefers-reduced-motion:reduce){.queue-list[data-motion="reordering"]>.queue-item{will-change:auto;}}
@media (max-width:900px){
  .review-panel.panel-fullscreen{
    grid-template-rows:auto minmax(0,1.35fr) auto minmax(180px,1fr);
  }
}
.review-panel.panel-fullscreen{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:none;}
.review-panel.panel-fullscreen>.panel-head:first-child,.review-panel.panel-fullscreen>.review-box{grid-area:auto;}

/* Empty current-review copy is guidance, not a content card. */
#reviewPanel>#reviewBox:has(>.muted:only-child){
  width:auto;
  height:auto;
  min-height:0;
  margin-top:8px;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#reviewPanel>#reviewBox>.muted:only-child{
  display:block;
  min-height:0;
  margin:0;
  padding:0;
  color:var(--muted);
  font-size:var(--text-xs);
  line-height:1.55;
  text-align:left;
}
#reviewPanel>#reviewBox>.muted:only-child::before{display:none;content:none;}

/* Final patient-status semantics: red is reserved for genuine risk/error. */
.pill{border:.5px solid transparent;background:var(--gray-100);color:var(--gray-700);}
.pill::before{content:"";width:6px;height:6px;flex:0 0 auto;margin-right:6px;border-radius:50%;background:currentColor;opacity:.58;}
.pill.waiting,.pill.withdrawn,.pill.neutral{border-color:var(--line);background:var(--gray-100);color:var(--gray-600);}
.pill.active,.pill.testing{border-color:rgba(56,103,166,.22);background:var(--blue-soft);color:var(--blue);animation:none;}
.pill.ready{border-color:rgba(143,75,14,.24);background:var(--warn-soft);color:var(--warn);}
.pill.done{border-color:rgba(29,107,59,.22);background:var(--ok-soft);color:var(--ok);}
.queue-tags span.return{background:var(--warn-soft);color:var(--warn);}
.queue-tags span.urgent{border:1px solid rgba(180,51,58,.18);background:var(--danger-soft);color:var(--danger);}
.queue-tags span.urgent::before{content:"!";display:inline-grid;place-items:center;width:14px;height:14px;margin-right:4px;border-radius:50%;background:var(--danger);color:var(--surface);font-size:10px;font-weight:900;line-height:1;}

/* Active patient summary: known-at-arrival facts stay scannable without
   exposing diagnosis, scoring criteria, or simulated answer-bank content. */
.patient-strip>.patient-summary{
  flex:1 1 auto;
  min-width:0;
  display:grid;
  gap:6px;
}
.patient-name-row{
  min-width:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 12px;
}
.patient-name-row h2{flex:0 1 auto;min-width:0;}
.patient-facts{
  min-width:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}
.patient-fact{
  min-height:26px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:3px 8px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--gray-100);
  color:var(--muted);
  font-size:12px;
  line-height:1.25;
  white-space:nowrap;
}
.patient-fact strong{color:var(--text);font-size:12px;font-weight:700;}
.patient-fact.danger{border-color:rgba(180,51,58,.2);background:var(--danger-soft);color:var(--danger);}
.patient-fact.danger strong{color:var(--danger);}
#patientMeta.patient-chief-complaint{
  max-width:72ch;
  margin:0;
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:var(--text);
  font-size:13px;
  font-weight:560;
  line-height:1.5;
  text-overflow:ellipsis;
}
@media (max-width:640px){
  .patient-strip>.patient-summary{width:100%;}
  .patient-name-row{align-items:flex-start;gap:7px;}
  .patient-name-row h2{width:100%;}
  .patient-facts{width:100%;}
  .patient-fact{min-height:28px;padding-inline:9px;}
  #patientMeta.patient-chief-complaint{max-width:none;-webkit-line-clamp:3;}
}
@media (prefers-color-scheme:dark){
  .patient-fact{border-color:var(--hairline);background:rgba(255,255,255,.055);}
}

/* Final depth hierarchy: elevation belongs to structural panels, drawers and
   modal tasks. Nested content uses proximity, tone and hairlines instead of
   repeating a shadow at every level. */
.chat-card,
.patient-strip,
.suggestions,
.review-panel>.review-box,
.result-box,
.pending-order-panel,
.record-quality-list,
.score-card,
.review-pending-card,
.review-hero,
.communication-item,
.medication-item,
.rx-table-wrap,
.safety-grid div,
.safety-item,
.safety-pass-list,
.catalog-group{
  border-color:var(--hairline);
  box-shadow:none;
}
.patient-strip{animation:none;}
.queue-stats div{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.queue-stats div+div{border-left:1px solid var(--hairline);}
.queue-item,
.record-swipe,
.record-item,
.pending-order-row,
.result-item,
.suggestion-item,
.diagnosis-chip,
.director-item{
  box-shadow:none;
}
:where(.queue-item,.record-item,.tool-launch,.ghost-btn,.icon-btn,.quick-questions button,
  .order-grid button,.exam-grid button,.catalog-grid button,.pending-order-row,.result-item,
  .suggestion-item,.score-card,.communication-item,.medication-item):hover{
  box-shadow:none;
  transform:none;
}
.queue-item.active,
.record-item.active,
.diagnosis-chip.primary{
  box-shadow:none;
}
.doctor-name-field,
.ai-status,
.voice-status,
.voice-btn,
.voice-input-btn,
.tool-launch,
.ghost-btn,
.quick-questions button,
.icon-btn,
.tab,
.order-grid button,
.exam-grid button,
.catalog-grid button,
.rx-info-btn,
.rx-group-toggle,
.rx-remove,
.medication-remove,
.dose-multipliers button{
  box-shadow:none;
}

/* Real-time form feedback: reserve red for objective field errors; clinical
   completeness suggestions remain advisory and never pretend to be answers. */
.form-validation{
  display:flex;
  align-items:flex-start;
  gap:7px;
  min-height:34px;
  margin:8px 0;
  padding:7px 10px;
  border:1px solid var(--hairline);
  border-radius:10px;
  background:var(--gray-100);
  color:var(--muted);
  font-size:12px;
  font-weight:650;
  line-height:1.5;
}
.form-validation:empty{display:none;}
.form-validation::before{content:"i";flex:0 0 auto;font-weight:850;}
.form-validation.warning{border-color:rgba(143,75,14,.2);background:var(--warn-soft);color:var(--warn);}
.form-validation.warning::before{content:"!";}
.form-validation.error{border-color:rgba(180,51,58,.24);background:var(--danger-soft);color:var(--danger);}
.form-validation.error::before{content:"!";}
.form-validation.success{border-color:rgba(29,107,59,.2);background:var(--ok-soft);color:var(--ok);}
.form-validation.success::before{content:"✓";}
:where(input,textarea,select).field-invalid,
.rx-table :where(input,select).field-invalid{
  border-color:var(--danger)!important;
  background:var(--danger-soft)!important;
  box-shadow:0 0 0 2px rgba(180,51,58,.1)!important;
}
:where(input,textarea,select).field-invalid:focus{
  outline:3px solid rgba(180,51,58,.22);
  outline-offset:1px;
}
@media (prefers-color-scheme:dark){
  .form-validation{border-color:var(--hairline);background:rgba(255,255,255,.045);}
  .rx-empty-guide{
    border-color:rgba(var(--accent-rgb),.22);
    background:rgba(var(--accent-rgb),.065);
    color:var(--text);
  }
  .rx-empty-guide p{color:var(--muted);}
}
@media (prefers-contrast:more){
  .form-validation{border-width:1.5px;}
  :where(input,textarea,select).field-invalid{outline:2px solid var(--danger);outline-offset:1px;}
}

/* 登录后的角色首页：机构先管理教学，学员先看任务，训练台为明确次级入口。 */
body.role-home-mode .clinic-shell{
  display:block;
  height:auto;
  min-height:0;
  overflow:visible;
}
body.role-home-mode .layout{
  display:none;
}
body.role-home-mode .topbar{
  position:relative;
  top:auto;
  margin-bottom:12px;
}
body.role-home-mode .session-meta>*{
  display:none!important;
}
body.role-home-educator .session-meta>#accountEntry,
body.role-home-learner .session-meta>#accountEntry{
  display:inline-flex!important;
}
body.role-home-mode .session-meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
body.role-home-mode .educator-backdrop{
  display:none!important;
}
body.role-home-mode .mobile-panel-nav{
  display:none!important;
}
body.role-home-mode .educator-panel.role-home-panel:not(.hidden){
  position:relative;
  inset:auto;
  z-index:1;
  width:calc(100% - 24px);
  max-width:1540px;
  height:calc(100dvh - 114px);
  min-height:620px;
  margin:0 auto 12px;
  border-radius:18px;
  box-shadow:var(--shadow-sm);
  animation:roleHomeIn 220ms ease-out both;
}
body.role-home-mode .role-home-panel .educator-header{
  animation:roleHomeHeaderIn 360ms cubic-bezier(.2,.75,.25,1) 40ms both;
}
body.role-home-mode .role-home-panel .educator-tabs{
  animation:roleHomeTabsIn 400ms cubic-bezier(.2,.75,.25,1) 90ms both;
}
body.role-home-mode .role-home-panel .educator-content{
  animation:roleHomeContentIn 440ms cubic-bezier(.16,1,.3,1) 130ms both;
}
body.role-home-learner .learner-hero{
  min-height:140px;
  padding:22px 24px;
}
body.role-home-mode .role-home-panel .educator-header>.icon-btn{
  width:auto;
  min-width:112px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-soft);
  color:var(--accent-dark);
  box-shadow:none;
}
body.role-home-mode .role-home-panel .educator-header>.icon-btn:hover{
  border-color:var(--line-strong);
  background:var(--accent-soft);
}
body.role-home-mode .role-home-panel .educator-header>.icon-btn svg{
  display:none;
}
body.role-home-mode .role-home-panel .educator-header>.icon-btn::after{
  content:"进入训练台";
  font-size:13px;
  font-weight:800;
}
@keyframes roleHomeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes roleHomeHeaderIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes roleHomeTabsIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes roleHomeContentIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:860px){
  body.role-home-mode .clinic-shell{padding-bottom:10px}
  body.role-home-mode .topbar{display:flex;align-items:center}
  body.role-home-mode .topbar>div:first-child{min-width:0}
  body.role-home-mode .session-meta{margin-left:auto}
  body.role-home-mode .educator-panel.role-home-panel:not(.hidden){
    width:calc(100% - 20px);
    height:calc(100dvh - 102px);
    min-height:560px;
    border-radius:16px;
  }
}
@media (prefers-reduced-motion:reduce){
  body.role-home-mode .educator-panel.role-home-panel:not(.hidden),
  body.role-home-mode .role-home-panel .educator-header,
  body.role-home-mode .role-home-panel .educator-tabs,
  body.role-home-mode .role-home-panel .educator-content{animation:none!important}
}

/* 嘱托生成与可维护模板 */
.advice-template-panel{display:grid;gap:12px;margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-soft);}
.advice-template-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.advice-template-head>div{display:grid;gap:3px;}
.advice-template-head strong{font-size:14px;}
.advice-template-head span{color:var(--muted);font-size:12px;line-height:1.5;}
.compact-btn{min-height:32px;padding:0 10px;font-size:12px;white-space:nowrap;}
.advice-template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.advice-template-item{display:grid;grid-template-columns:minmax(0,1fr) 36px;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface-raised);}
.advice-template-apply{display:grid;min-width:0;gap:4px;padding:10px 12px;border:0;background:transparent;color:var(--text);text-align:left;}
.advice-template-apply strong,.advice-template-apply span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.advice-template-apply strong{font-size:13px;}
.advice-template-apply span{color:var(--muted);font-size:11px;}
.advice-template-delete{display:grid;place-items:center;width:36px;min-width:36px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--muted);}
.advice-template-apply:hover{background:rgba(var(--accent-rgb),.08);}
.advice-template-delete:hover{background:var(--danger-soft);color:var(--danger);}
.advice-template-form{display:grid;grid-template-columns:minmax(130px,.45fr) minmax(220px,1fr) auto;align-items:end;gap:10px;}
.advice-template-form label{display:grid;min-width:0;gap:5px;color:var(--muted);font-size:11px;font-weight:800;}
.advice-template-form input,.advice-template-form textarea{padding:9px 10px;}
.advice-template-form textarea{min-height:66px;}
.advice-template-form .ghost-btn{min-height:42px;}
@media (max-width:760px){
  .advice-template-head{align-items:stretch;flex-direction:column;}
  .advice-template-list{grid-template-columns:minmax(0,1fr);}
  .advice-template-form{grid-template-columns:minmax(0,1fr);}
  .advice-template-form .ghost-btn{width:100%;}
}

/* System appearance changes should feel like one material changing, not a page flash. */
:where(html,body,.topbar,.queue-panel,.encounter-panel,.review-panel,.chat-card,.actions-card,.patient-strip,.safety-panel,.educator-panel,.learner-panel,.admin-shell){
  transition-property:background-color,color,border-color,box-shadow;
  transition-duration:260ms;
  transition-timing-function:cubic-bezier(.2,.8,.2,1);
}
@media (prefers-reduced-motion:reduce){
  :where(html,body,.topbar,.queue-panel,.encounter-panel,.review-panel,.chat-card,.actions-card,.patient-strip,.safety-panel,.educator-panel,.learner-panel,.admin-shell){
    transition-duration:1ms;
  }
}

/* Commercial demo pass: mobile keeps one clinical task in view at a time. */
@media (max-width:860px){
  .clinic-shell{
    padding:8px;
    padding-bottom:calc(76px + env(safe-area-inset-bottom));
  }
  .topbar{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    gap:8px;
    min-height:0;
    padding:10px 12px;
    border-radius:12px;
  }
  .topbar-brand{
    align-items:center;
    gap:9px;
    min-width:0;
    padding-right:68px;
  }
  .topbar-brand-mark{
    width:38px;
    height:38px;
    flex:0 0 38px;
  }
  .topbar-brand .eyebrow{display:none;}
  .topbar h1{
    min-width:0;
    overflow:hidden;
    font-size:20px;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .session-meta{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    flex-wrap:nowrap;
    gap:6px;
    width:100%;
    min-width:0;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .session-meta::-webkit-scrollbar{display:none;}
  .session-meta>.ai-status{
    flex:1 1 104px;
    min-width:84px;
    max-width:170px;
    min-height:44px;
    padding-inline:10px;
    justify-content:flex-start;
    white-space:nowrap;
  }
  .session-meta>.educator-entry-btn,
  .session-meta>.assignment-context-btn,
  .session-meta>.icon-btn{
    flex:0 0 auto;
  }
  .session-meta>.educator-entry-btn,
  .session-meta>.assignment-context-btn{
    min-height:44px;
    padding-inline:11px;
    white-space:nowrap;
  }
  .session-meta>.icon-btn{
    width:44px;
    min-width:44px;
    height:44px;
    min-height:44px;
  }
  .session-meta>span:not(.ai-status):not(.voice-status){display:none;}
  .session-meta>strong{
    position:absolute;
    top:18px;
    right:13px;
    display:block;
    margin:0;
    font-size:13px;
    font-variant-numeric:tabular-nums;
    line-height:1;
    white-space:nowrap;
  }
  .layout{gap:8px;}
  .encounter-panel{padding:6px;}
  .encounter-view{gap:7px;}
  .workflow-progress{
    gap:6px;
    padding:0 3px 3px;
    scroll-padding-inline:3px;
    scroll-snap-type:x proximity;
  }
  .workflow-step{
    min-width:106px;
    min-height:48px;
    padding:6px 7px;
    scroll-snap-align:start;
  }
}

@media (max-width:640px){
  .session-meta>#shortcutsBtn{display:none!important;}
  .patient-strip{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:10px;
    padding:10px 12px;
  }
  .patient-name-row{
    align-items:center;
    gap:7px;
  }
  .patient-name-row h2{font-size:22px;}
  .patient-facts{gap:5px;}
  #patientMeta{
    margin-top:5px;
    font-size:13px;
  }
  .patient-strip .status-stack{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    flex-direction:row;
    flex-wrap:wrap;
    gap:6px;
    width:100%;
  }
  .patient-strip .status-stack>.pill{
    flex:0 0 auto;
    min-height:34px;
  }
  #withdrawVisitBtn{flex:0 0 auto;}
  #finishVisitBtn{
    flex:1 1 76px;
    min-width:76px;
    padding-inline:10px;
  }
  #topSummonBtn:not(.hidden){flex:1 1 170px;}
  #topReturnWithResultsBtn:not(.hidden){
    order:4;
    flex:1 0 100%;
  }
  .chat-card>.card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-direction:row;
    gap:8px;
  }
  .chat-card>.card-head .toolbar-actions{
    width:auto;
    flex:0 0 auto;
  }
  .chat-log{
    min-height:300px;
    max-height:52dvh;
  }
  .chat-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .chat-form input{grid-column:1/-1;}
  .quick-questions{
    display:flex;
    gap:7px;
    overflow-x:auto;
    padding:0 12px 10px;
    scroll-padding-inline:12px;
    scrollbar-width:none;
  }
  .quick-questions::-webkit-scrollbar{display:none;}
  .quick-questions button{
    flex:0 0 auto;
    min-width:86px;
    padding-inline:12px;
    scroll-snap-align:start;
  }
  .workflow-hint{
    align-items:flex-start;
    line-height:1.5;
  }
}

@media (max-width:360px){
  .topbar h1{font-size:18px;}
  .topbar-brand{padding-right:60px;}
  .session-meta>.ai-status{min-width:78px;}
  .patient-strip{padding-inline:10px;}
  .workflow-step{min-width:100px;}
}

@media (max-width:600px){
  .interruption-evidence-metrics{grid-template-columns:1fr;}
  .interruption-evidence-metrics>div{grid-template-columns:auto 1fr;align-items:baseline;border-right:0;border-bottom:1px solid var(--line);}
  .interruption-evidence-metrics>div:last-child{border-bottom:0;}
  .interruption-type-report>div{grid-template-columns:minmax(84px,1fr) 34px 96px;}
  .interruption-type-report progress{grid-column:1/-1;grid-row:2;}
  .assignment-schedule-row{grid-template-columns:1fr auto;}
  .assignment-schedule-row label{grid-column:1/-1;}
}
