@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Fira+Code:wght@400;500;600&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap";:root{color-scheme:light;--vh-primary-navy: #0f172a;--vh-secondary-slate: #64748b;--vh-tertiary-sage: #059669;--vh-background: #f8fafc;--vh-surface: #ffffff;--vh-success: #22c55e;--vh-warning: #eab308;--vh-error: #ef4444;--vh-info: #0ea5e9;--vh-border: #d8e1ea;--vh-border-strong: #cbd5e1;--vh-sage-soft: #ecfdf5;--vh-info-soft: #e0f2fe;--vh-warning-soft: #fefce8;--vh-error-soft: #fef2f2;--vh-navy-soft: #e2e8f0;--vh-muted: #475569;--vh-muted-2: #64748b;--vh-text: #0f172a;--vh-inverted: #ffffff;--vh-space-1: 8px;--vh-space-2: 16px;--vh-space-3: 24px;--vh-space-4: 32px;--vh-radius: 8px;--vh-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--vh-shadow: 0 10px 28px rgba(15, 23, 42, .08);--vh-shadow-md: 0 18px 44px rgba(15, 23, 42, .1);--vh-font-headline: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--vh-font-body: "DM Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--vh-font-mono: "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-family:var(--vh-font-body);background:var(--vh-background);color:var(--vh-text);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,textarea{font:inherit}button:focus-visible,textarea:focus-visible{outline:3px solid rgba(14,165,233,.26);outline-offset:2px}h1,h2,h3,.panel-title,.metric-row strong,.status-pill{font-family:var(--vh-font-headline)}.app-shell{height:100dvh;padding:var(--vh-space-2);overflow:hidden;background:linear-gradient(180deg,#ffffffeb,#f8fafceb),radial-gradient(circle at 16% 8%,rgba(14,165,233,.1),transparent 28%),linear-gradient(135deg,rgba(5,150,105,.08),transparent 42%)}.workspace{display:grid;grid-template-columns:292px minmax(420px,1fr) 320px;gap:var(--vh-space-2);max-width:1480px;height:calc(100dvh - 32px);min-height:0;margin:0 auto}.sidebar,.conversation,.right-rail{min-width:0}.sidebar,.right-rail{display:flex;flex-direction:column;gap:var(--vh-space-2);min-height:0;overflow:auto;scrollbar-gutter:stable}.brand-block,.queue-panel,.tool-panel,.conversation,.confirmation-panel,.ops-panel{border:1px solid var(--vh-border);border-radius:var(--vh-radius);background:#fffffff0;box-shadow:var(--vh-shadow)}.brand-block{display:flex;align-items:center;gap:12px;padding:18px;color:var(--vh-primary-navy)}.brand-mark{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:var(--vh-radius);color:var(--vh-inverted);background:var(--vh-primary-navy);box-shadow:var(--vh-shadow-sm)}h1,h2,p{margin:0}h1{font-size:20px;line-height:1.15;letter-spacing:0}h2{letter-spacing:0}.brand-block p,.muted,.appointment-item span,.confirmation-card span,.confirmation-card small,.memory-card span,.memory-card small{color:var(--vh-secondary-slate)}.queue-panel,.tool-panel,.confirmation-panel,.ops-panel{padding:var(--vh-space-2)}.metric-row{display:flex;align-items:center;justify-content:space-between;min-height:44px;border-bottom:1px solid var(--vh-border);color:var(--vh-muted)}.metric-row:last-of-type{border-bottom:0}.metric-row strong{color:var(--vh-primary-navy);font-size:24px;line-height:1}.metric-row.urgent strong{color:var(--vh-error)}.panel-title,.status-pill,.tool-chip,.icon-button,.send-button,.workflow-actions button{display:inline-flex;align-items:center;gap:var(--vh-space-1)}.panel-title{margin-bottom:12px;color:var(--vh-primary-navy);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.tool-list,.appointment-list,.check-list{display:flex;flex-direction:column;gap:var(--vh-space-1)}.tool-chip{width:100%;min-height:36px;padding:8px 10px;border:1px solid var(--vh-border);border-radius:var(--vh-radius);color:var(--vh-muted);background:var(--vh-background);font-size:13px;line-height:1.25}.tool-chip.started{border-color:#0ea5e94d;color:#0369a1;background:var(--vh-info-soft)}.tool-chip.completed{border-color:#22c55e52;color:#047857;background:var(--vh-sage-soft)}.tool-chip.failed{border-color:#ef444447;color:#b91c1c;background:var(--vh-error-soft)}.conversation{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;height:100%;min-height:0;overflow:hidden;box-shadow:var(--vh-shadow-md)}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:var(--vh-space-2);padding:18px 20px;border-bottom:1px solid var(--vh-border);background:var(--vh-surface)}.eyebrow{display:block;color:var(--vh-tertiary-sage);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.chat-header h2{color:var(--vh-primary-navy);font-size:24px;line-height:1.2}.status-pill{min-height:34px;padding:0 12px;border:1px solid rgba(34,197,94,.28);border-radius:999px;color:#047857;background:var(--vh-sage-soft);font-size:13px;font-weight:800}.workflow-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--vh-space-1);padding:10px 14px;border-bottom:1px solid var(--vh-border);background:#f1f5f9}.workflow-actions button{justify-content:center;min-width:0;min-height:38px;padding:0 10px;border:1px solid var(--vh-border-strong);border-radius:var(--vh-radius);color:var(--vh-primary-navy);background:var(--vh-surface);box-shadow:var(--vh-shadow-sm);cursor:pointer;font-size:13px;font-weight:800}.workflow-actions button:hover:not(:disabled){border-color:#05966966;color:#047857}.workflow-actions button:disabled{opacity:.58;cursor:not-allowed}.messages{display:flex;flex-direction:column;gap:var(--vh-space-2);min-height:0;padding:20px;overflow:auto;overscroll-behavior:contain;background:linear-gradient(#f8fafce0,#f8fafce0),linear-gradient(90deg,rgba(203,213,225,.36) 1px,transparent 1px),linear-gradient(rgba(203,213,225,.36) 1px,transparent 1px);background-size:auto,24px 24px,24px 24px}.message-row{display:flex;align-items:flex-end;gap:9px}.message-row.patient{flex-direction:row-reverse}.avatar{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border:1px solid rgba(5,150,105,.18);border-radius:999px;color:var(--vh-tertiary-sage);background:var(--vh-sage-soft)}.message-row.patient .avatar{border-color:#0f172a2e;color:var(--vh-primary-navy);background:var(--vh-navy-soft)}.bubble{max-width:min(640px,78%);min-height:42px;padding:12px 14px;border:1px solid var(--vh-border);border-radius:var(--vh-radius);color:var(--vh-primary-navy);background:var(--vh-surface);box-shadow:var(--vh-shadow-sm);line-height:1.48;overflow-wrap:anywhere}.message-row.patient .bubble{border-color:var(--vh-primary-navy);color:var(--vh-inverted);background:var(--vh-primary-navy)}.typing{color:var(--vh-secondary-slate)}.composer{display:grid;grid-template-columns:44px minmax(0,1fr) 48px;gap:10px;padding:14px;border-top:1px solid var(--vh-border);background:#fffffffa;box-shadow:0 -8px 18px #0f172a0f}textarea{width:100%;min-height:44px;max-height:104px;resize:none;border:1px solid var(--vh-border-strong);border-radius:var(--vh-radius);padding:11px 12px;color:var(--vh-primary-navy);background:var(--vh-surface);outline:none;line-height:1.35}textarea:focus{border-color:var(--vh-tertiary-sage);box-shadow:0 0 0 3px #05966924}.icon-button,.send-button{justify-content:center;min-width:44px;min-height:42px;border:1px solid var(--vh-border-strong);border-radius:var(--vh-radius);color:var(--vh-primary-navy);background:var(--vh-surface);box-shadow:var(--vh-shadow-sm);cursor:pointer}.icon-button.wide{width:100%;margin-top:12px;justify-content:center}.icon-button.active,.send-button{border-color:var(--vh-tertiary-sage);color:var(--vh-inverted);background:var(--vh-tertiary-sage)}.icon-button:hover:not(:disabled),.send-button:hover:not(:disabled){transform:translateY(-1px)}.send-button:disabled{opacity:.7;cursor:not-allowed}.check-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:var(--vh-space-1);min-height:44px;padding:8px 9px;border:1px solid var(--vh-border);border-radius:var(--vh-radius);color:var(--vh-muted);background:var(--vh-background)}.check-row svg{margin-top:2px;color:var(--vh-secondary-slate)}.check-row.done{border-color:#22c55e52;background:var(--vh-sage-soft)}.check-row.done svg{color:var(--vh-tertiary-sage)}.check-row strong,.check-row span{display:block}.check-row strong{color:var(--vh-primary-navy);font-size:13px}.check-row span{color:var(--vh-secondary-slate);font-size:12px;overflow-wrap:anywhere}.confirmation-card,.empty-state,.appointment-item,.memory-card{border:1px solid var(--vh-border);border-radius:var(--vh-radius);background:var(--vh-background)}.confirmation-card,.empty-state,.memory-card{display:grid;gap:var(--vh-space-1);padding:var(--vh-space-2)}.confirmation-card svg{color:var(--vh-success)}.confirmation-card small,.appointment-item span{font-family:var(--vh-font-mono);font-size:12px}.appointment-item{display:grid;gap:4px;padding:11px}.appointment-item strong{color:var(--vh-primary-navy)}.appointment-item.emergency{border-color:#ef44443d;background:var(--vh-error-soft)}.appointment-item.emergency strong{color:#b91c1c;text-transform:uppercase;letter-spacing:.06em}.empty-state{align-items:center;justify-items:center;min-height:104px;color:var(--vh-secondary-slate);text-align:center}.error-line{padding:10px 14px;border-top:1px solid rgba(239,68,68,.22);color:#b91c1c;background:var(--vh-error-soft)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1120px){.workspace{grid-template-columns:240px minmax(360px,1fr)}.right-rail{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){body{overflow:auto}.app-shell{height:auto;min-height:100dvh;padding:10px;overflow:visible}.workspace,.right-rail{grid-template-columns:1fr}.workspace{height:auto;min-height:0}.conversation{order:-1;height:calc(100dvh - 20px);min-height:620px}.chat-header{align-items:flex-start;padding:16px}.workflow-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-actions button{justify-content:flex-start}.messages{padding:16px}.bubble{max-width:86%}.composer{grid-template-columns:42px minmax(0,1fr) 46px;padding:12px}}
