.workflow-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.modal{min-width:0;max-width:calc(100vw - 32px)}.workflow-actions>button{max-width:100%;white-space:normal;overflow-wrap:anywhere}@media(max-width:600px){.workflow-note-actions{padding:12px 0 max(12px,env(safe-area-inset-bottom));background:var(--card, white);border-top:1px solid var(--border)}.modal textarea,.modal input{font-size:16px}}.modal.modal-with-footer{display:flex;flex-direction:column;overflow:hidden}.modal-with-footer>.patient-row,.modal-footer{flex-shrink:0}.modal-scroll-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px}.modal-footer .workflow-actions{margin-bottom:0}@media(max-height:500px){.modal.modal-with-footer{display:block;overflow-y:auto}.modal-scroll-body{overflow:visible}}.microphone-test{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.microphone-test meter{width:100%;margin-top:8px}.microphone-test p{font-size:13px}.workflow-review{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:16px}.workflow-review>section{min-width:0}.workflow-source{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--bg);max-height:520px;overflow-y:auto}.workflow-source-panel summary{cursor:pointer;font-weight:600;margin-bottom:12px}.workflow-source:focus-visible{outline:2px solid var(--primary, #087f8c);outline-offset:2px}.modal-overlay .modal{box-sizing:border-box;max-height:calc(100dvh - 32px);overscroll-behavior:contain}.workflow-review textarea{width:100%;box-sizing:border-box}.workflow-version{font-size:11px;white-space:nowrap;color:var(--muted)}@media(max-width:760px){.workflow-review{grid-template-columns:minmax(0,1fr)}}:root{color-scheme:light;--primary: #0f766e;--primary-dark: #115e59;--primary-deep: #134e4a;--primary-soft: #f0fdfa;--primary-border: #99f6e4;--bg: #f4f7f8;--card: #ffffff;--text: #17252b;--muted: #5f7178;--border: #dce6e8;--border-strong: #b8c9cd;--danger: #b42318;--danger-soft: #fef3f2;--warning: #92590a;--warning-soft: #fffaeb;--success: #16794a;--success-soft: #ecfdf3;--info: #1769aa;--info-soft: #eff8ff;--radius-sm: 7px;--radius: 10px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(15, 35, 43, .05), 0 4px 14px rgba(15, 35, 43, .04);--shadow-md: 0 10px 28px rgba(15, 35, 43, .1);--control-height: 40px;--focus-ring: 0 0 0 3px rgba(15, 118, 110, .2);--grid-line: rgba(15, 118, 110, .025);--topbar-bg: #ffffff;--topbar-text: #17252b;--topbar-border: #dce6e8;--topbar-shadow: 0 1px 0 rgba(15, 35, 43, .04);--role-bg: #f0fdfa;--role-text: #0f766e;--role-border: #99f6e4;--icon-btn-bg: #f0fdfa;--icon-btn-border: #99f6e4;--icon-btn-text: #0f766e;--icon-btn-hover-bg: #ccfbf1;--search-bg: #ffffff;--search-border: #b8c9cd;--search-text: #17252b;--search-placeholder: #75878e;--sidebar-bg: #ffffff;--sidebar-text: #17252b;--sidebar-border: #dce6e8;--sidebar-shadow: 2px 0 18px rgba(15, 35, 43, .04);--brand-title: #17252b;--brand-sub: #5f7178;--brand-mark-bg: linear-gradient(135deg, #14b8a6 0%, #0f766e 100%);--brand-mark-shadow: 0 4px 10px rgba(15, 118, 110, .18);--nav-link: #355157;--nav-link-hover-bg: #f0fdfa;--nav-link-hover-text: #0f766e;--nav-active-bg: #0f766e;--nav-active-shadow: 0 4px 10px rgba(15, 118, 110, .18);--nav-sub-active: #0f766e;--side-foot-border: #dce6e8;--side-user-sub: #5f7178;--side-btn-bg: #ffffff;--side-btn-border: #b8c9cd;--side-btn-text: #17252b;--side-btn-hover-bg: #f0fdfa;--side-btn-hover-border: #99f6e4;--profile-bg: #f8fafb;--profile-border: #dce6e8;--profile-text: #17252b;--profile-hover-bg: #ffffff;--hero-bg: #ffffff;--hero-text: #17252b;--hero-border: #d7e5e7;--hero-shadow: 0 1px 2px rgba(15, 35, 43, .04), 0 12px 30px rgba(15, 35, 43, .05);--hero-ring: transparent;--hero-ring-glow: transparent;--hero-p: #52666d;--eyebrow: #0f766e;--hero-date: #52666d;--pulse-bg: #f8fafb;--pulse-border: #dce6e8;--pulse-shadow: 0 1px 2px rgba(15, 35, 43, .04);--orbit-text: #0f766e;--orbit-border: #99f6e4;--orbit-glow: rgba(15, 118, 110, .04);--orbit-bg: #f0fdfa;--pulse-status-text: #0f766e;--pulse-status-border: #dce6e8;--pulse-dot-bg: #14b8a6;--pulse-dot-glow: rgba(20, 184, 166, .12);--toast-bg: #ffffff;--toast-text: #17252b;--toast-border: #dce6e8;--toast-shadow: 0 12px 32px rgba(15, 35, 43, .16);--shadow-demo: 0 1px 2px rgba(15, 35, 43, .04), 0 10px 24px rgba(15, 35, 43, .05);--shadow-demo-btn: 0 4px 10px rgba(15, 118, 110, .12);--shadow-stat-hover: 0 8px 22px rgba(15, 35, 43, .09)}:root[data-theme=dark]{--primary: #0f766e;--primary-dark: #115e59;--primary-deep: #115e59;--primary-soft: #f0fdfa;--primary-border: #99f6e4;--bg: #f1f5f9;--card: #ffffff;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--border-strong: #cbd5e1;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .1);--focus-ring: 0 0 0 3px rgba(15, 118, 110, .35);--grid-line: rgba(15, 118, 110, .035);--topbar-bg: #0c1626;--topbar-text: #ffffff;--topbar-border: rgba(255, 255, 255, .08);--topbar-shadow: none;--role-bg: rgba(255, 255, 255, .14);--role-text: #ffffff;--role-border: rgba(255, 255, 255, .16);--icon-btn-bg: rgba(255, 255, 255, .14);--icon-btn-border: transparent;--icon-btn-text: inherit;--icon-btn-hover-bg: rgba(255, 255, 255, .24);--search-bg: rgba(255, 255, 255, .14);--search-border: transparent;--search-text: #ffffff;--search-placeholder: rgba(255, 255, 255, .75);--sidebar-bg: #0c1626;--sidebar-text: #e2e8f0;--sidebar-border: rgba(255, 255, 255, .08);--sidebar-shadow: none;--brand-title: #ffffff;--brand-sub: #8fa0b8;--brand-mark-bg: #0f766e;--brand-mark-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);--nav-link: #c3cfdf;--nav-link-hover-bg: rgba(255, 255, 255, .07);--nav-link-hover-text: #ffffff;--nav-active-bg: #0f766e;--nav-active-shadow: none;--nav-sub-active: #99f6e4;--side-foot-border: rgba(255, 255, 255, .1);--side-user-sub: #8fa0b8;--side-btn-bg: rgba(255, 255, 255, .08);--side-btn-border: rgba(255, 255, 255, .14);--side-btn-text: #e2e8f0;--side-btn-hover-bg: rgba(255, 255, 255, .14);--side-btn-hover-border: rgba(255, 255, 255, .22);--profile-bg: transparent;--profile-border: rgba(255, 255, 255, .14);--profile-text: #cbd5e1;--profile-hover-bg: rgba(255, 255, 255, .08);--hero-bg: linear-gradient(120deg, #0c1626 0%, #123743 58%, #0f766e 135%);--hero-text: #f8fafc;--hero-border: rgba(94, 234, 212, .24);--hero-shadow: 0 18px 40px rgba(12, 22, 38, .2);--hero-ring: rgba(153, 246, 228, .2);--hero-ring-glow: rgba(153, 246, 228, .035);--hero-p: #b7c8d8;--eyebrow: #8de8d7;--hero-date: #d5e4e9;--pulse-bg: rgba(3, 20, 31, .35);--pulse-border: rgba(153, 246, 228, .2);--pulse-shadow: none;--orbit-text: #99f6e4;--orbit-border: rgba(153, 246, 228, .5);--orbit-glow: rgba(153, 246, 228, .07);--orbit-bg: transparent;--pulse-status-text: #bcebdc;--pulse-status-border: rgba(153, 246, 228, .16);--pulse-dot-bg: #6ee7b7;--pulse-dot-glow: rgba(110, 231, 183, .14);--toast-bg: #0f172a;--toast-text: #f8fafc;--toast-border: #0f172a;--toast-shadow: 0 10px 30px rgba(2, 6, 23, .3);--shadow-demo: 0 10px 26px rgba(15, 118, 110, .08);--shadow-demo-btn: 0 8px 16px rgba(15, 118, 110, .2);--shadow-stat-hover: 0 8px 24px rgba(15, 118, 110, .18)}*{box-sizing:border-box}body{margin:0;font-family:Avenir Next,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.sidebar :focus-visible{outline-color:var(--primary)}h2{margin-top:0;font-size:22px;line-height:1.3;letter-spacing:-.01em}h3{font-size:16px;line-height:1.4}.topbar{background:var(--topbar-bg);color:var(--topbar-text);padding:8px 20px;display:flex;align-items:center;gap:12px 16px;min-height:56px;flex-wrap:wrap;border-bottom:1px solid var(--topbar-border);box-shadow:var(--topbar-shadow)}.topbar .brand{font-weight:700;font-size:15px;letter-spacing:.01em;white-space:nowrap}.topbar .role{background:var(--role-bg);color:var(--role-text);padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--role-border)}.layout{max-width:1200px;margin:0 auto;padding:24px;min-width:0;width:100%}.nav{display:flex;gap:6px;margin:18px 0 24px;flex-wrap:wrap}.nav a{padding:8px 16px;border-radius:999px;background:#fff;border:1px solid var(--border);font-weight:600;font-size:14px}.nav a.active{background:var(--primary);color:#fff;border-color:var(--primary)}.userbox{display:flex;align-items:center;gap:10px;font-size:14px;margin-left:auto;white-space:nowrap}button{font:inherit;cursor:pointer;border:1px solid transparent;border-radius:8px;padding:8px 16px;min-height:var(--control-height);background:var(--primary);color:#fff;font-weight:600;font-size:14px;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}button:not(.secondary){box-shadow:0 1px 2px #0f766e2e}button:hover{background:var(--primary-dark)}button:active{transform:translateY(.5px)}button.secondary{background:#fff;color:var(--text);border-color:var(--border-strong)}button.secondary:hover{background:var(--primary-soft);border-color:var(--primary-border)}button.danger{background:var(--danger)}button.danger:hover{background:#991b1b}button:disabled{opacity:.55;cursor:not-allowed;transform:none}button:focus-visible{box-shadow:var(--focus-ring);outline:none}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.grid{display:grid;gap:16px}.grid.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat h3{margin:0 0 6px;color:var(--muted);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:8px}.stat h3 .icon{background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:8px;padding:5px;color:var(--primary-dark);box-sizing:content-box}.stat .value{font-size:34px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}table{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:middle}.table-scroll td select{min-width:150px}.actions-menu{position:relative;display:inline-block}.actions-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;min-height:var(--control-height);border:1px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--text);font-weight:600;font-size:14px;white-space:nowrap}.actions-menu>summary::-webkit-details-marker{display:none}.actions-menu>summary:after{content:"▾";font-size:11px;color:var(--muted)}.actions-menu>summary:hover{background:var(--primary-soft);border-color:var(--primary-border)}.actions-menu-items{position:absolute;right:0;top:calc(100% + 4px);z-index:60;display:flex;flex-direction:column;gap:4px;min-width:170px;padding:6px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.actions-menu-items button{justify-content:flex-start;width:100%}tbody tr:hover{background:var(--primary-soft)}tbody tr:last-child th,tbody tr:last-child td{border-bottom:none}.row-current td{background:var(--primary-soft)}th{background:#f8fafc;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.5;border:1px solid transparent;white-space:nowrap;background:#f1f5f9;color:var(--muted);border-color:var(--border)}.badge.approved,.badge.approve{background:var(--success-soft);color:var(--success);border-color:#bbf7d0}.badge.draft,.badge.pending{background:var(--warning-soft);color:var(--warning);border-color:#fde68a}.badge.rejected,.badge.reject{background:var(--danger-soft);color:var(--danger);border-color:#fecaca}.badge.action{background:var(--info-soft);color:var(--info);border-color:#bae6fd}input,textarea,select{font:inherit;font-size:14px;line-height:1.4;padding:8px 12px;min-height:var(--control-height);border:1px solid var(--border-strong);border-radius:8px;width:100%;background:#fff;color:var(--text)}input::placeholder,textarea::placeholder{color:#64748b}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--primary)}textarea{resize:vertical;min-height:110px;line-height:1.5}label{display:block;margin:12px 0 4px;font-size:13px;font-weight:600;color:var(--muted)}.error{color:var(--danger);background:#fee2e2;border-radius:8px;padding:10px 14px;margin:10px 0}.login-wrap{max-width:360px;margin:8vh auto}.login-split{max-width:none;margin:0;min-height:100dvh;display:grid;grid-template-columns:minmax(320px,460px) minmax(320px,420px);justify-content:center;align-items:stretch;gap:0;background:radial-gradient(1200px 600px at 15% 10%,rgba(20,184,166,.12),transparent 60%),radial-gradient(1000px 500px at 85% 90%,rgba(15,118,110,.1),transparent 55%),var(--bg);padding:48px 24px}.login-brand{background:linear-gradient(160deg,#134e4a,#0f766e 55%,#115e59);color:#f0fdfa;border-radius:var(--radius-lg) 0 0 var(--radius-lg);padding:40px 36px;display:flex;flex-direction:column;justify-content:center;gap:14px;box-shadow:var(--shadow-md)}.login-brand-mark{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;letter-spacing:.02em;color:#134e4a;background:#f0fdfa;box-shadow:0 6px 16px #0000002e}.login-brand-name{font-size:26px;font-weight:800;letter-spacing:-.01em}.login-brand-tag{margin:0;color:#ccfbf1;font-size:15px;line-height:1.5}.login-brand-points{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px}.login-brand-points li{display:flex;align-items:center;gap:10px}.login-brand-points .icon{flex:none;color:#5eead4}.login-brand-foot{margin:18px 0 0;font-size:12px;color:#99f6e4}.login-card{border-radius:0 var(--radius-lg) var(--radius-lg) 0;padding:40px 36px;display:flex;flex-direction:column;justify-content:center;border-left:none}.login-lang{display:flex;flex-direction:column;gap:4px;margin:0 0 18px}.login-lang label{margin:0;font-size:12px;color:var(--muted)}.login-lang select{max-width:220px}.login-card h1{margin:0 0 4px;font-size:24px;letter-spacing:-.01em}.login-card button[type=submit]{width:100%}@media(max-width:760px){.login-split{grid-template-columns:1fr;max-width:440px;padding:24px 16px;align-content:center}.login-brand{border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:28px 24px}.login-brand-points{display:none}.login-card{border-radius:0 0 var(--radius-lg) var(--radius-lg);border-left:1px solid var(--border);border-top:none;padding:28px 24px}}.patient-row{display:flex;justify-content:space-between;align-items:center}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius)}a.link-btn{display:inline-block;padding:8px 14px;border-radius:8px;background:#fff;color:var(--text);border:1px solid var(--border);font-weight:600;font-size:14px}a.link-btn:hover{background:var(--bg)}pre.draft{white-space:pre-wrap;font-family:inherit;margin:0}h2{margin-top:0}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row>*{min-width:0}.row span,.card p,td{overflow-wrap:anywhere}.section-title{margin:28px 0 12px;font-size:18px}.shell{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;padding:20px 12px 16px;gap:20px;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--sidebar-border);box-shadow:var(--sidebar-shadow)}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:2px 8px}.brand-text b{display:block;font-size:16px;font-weight:700;letter-spacing:.01em;color:var(--brand-title)}.brand-text span{display:block;font-size:11px;color:var(--brand-sub);margin-top:1px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--brand-mark-bg);color:#fff;font-weight:800;font-size:15px;flex-shrink:0;box-shadow:var(--brand-mark-shadow)}.sidebar nav{display:flex;flex-direction:column;gap:18px;flex:1}.sidebar-section{display:flex;flex-direction:column;gap:2px}.sidebar-section>span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 10px 6px}.sidebar-section a{display:flex;align-items:center;padding:9px 10px;border-radius:8px;font-size:14px;font-weight:500;color:var(--nav-link);border:1px solid transparent;transition:background .12s ease,color .12s ease}.sidebar-section a:hover{background:var(--nav-link-hover-bg);color:var(--nav-link-hover-text)}.sidebar-section a.active{background:var(--nav-active-bg);color:#fff;font-weight:700;box-shadow:var(--nav-active-shadow)}.sidebar-section a:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.sidebar-section a .icon{margin-right:10px;opacity:.85}.sidebar-section a.active .icon{opacity:1}.sidebar-sub{display:flex;flex-direction:column;gap:2px;margin:2px 0 4px 27px;padding-left:10px;border-left:2px solid var(--primary-border)}.sidebar-sub a{display:block;padding:5px 10px;border-radius:6px;font-size:13px;font-weight:500;color:var(--nav-link)}.sidebar-sub a:hover{background:var(--nav-link-hover-bg);color:var(--nav-link-hover-text)}.sidebar-sub a.sub-active{color:var(--nav-sub-active);font-weight:700}.sidebar-footer{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--side-foot-border);padding-top:14px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:0 8px;font-size:14px}.sidebar-user-text b{display:block;color:var(--sidebar-text);font-size:14px}.sidebar-user-text span span{display:block;font-size:11px;color:var(--side-user-sub)}.sidebar-footer button{width:100%;justify-content:center}.sidebar-footer .secondary{background:var(--side-btn-bg);border-color:var(--side-btn-border);color:var(--side-btn-text)}.sidebar-footer .secondary:hover{background:var(--side-btn-hover-bg);border-color:var(--side-btn-hover-border)}.shell.nav-collapsed .sidebar{width:72px;padding:20px 10px 16px;align-items:stretch}.shell.nav-collapsed .brand-text,.shell.nav-collapsed .sidebar-section>span,.shell.nav-collapsed .nav-label,.shell.nav-collapsed .sidebar-user-text,.shell.nav-collapsed .profile-menu{display:none}.shell.nav-collapsed .sidebar-brand{justify-content:center;padding:2px 0}.shell.nav-collapsed .sidebar-section a{justify-content:center;padding:10px 0}.shell.nav-collapsed .sidebar-section a .icon{margin-right:0}.shell.nav-collapsed .sidebar-user{justify-content:center;padding:0}.shell.nav-collapsed .sidebar-footer button{padding:8px 0}.shell.nav-collapsed .sidebar-footer button .icon{margin-right:0}.main{flex:1;min-width:0;display:flex;flex-direction:column}.tabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin:20px 0;flex-wrap:wrap}.tabs button{background:none;border:none;border-radius:8px 8px 0 0;color:var(--muted);padding:10px 16px;font-weight:600;font-size:14px;min-height:0;position:relative}.tabs button:hover{background:var(--primary-soft);color:var(--text)}.tabs button.active{background:none;color:var(--primary-dark);font-weight:700}.tabs button.active:after{content:"";position:absolute;left:8px;right:8px;bottom:-2px;height:3px;border-radius:3px 3px 0 0;background:var(--primary)}.tabs button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--success);margin-right:6px}.dot.pending{background:var(--warning)}.patient-cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.patient-card{display:flex;flex-direction:column;gap:4px}.patient-card b{font-size:16px}.patient-card .card-foot{display:flex;justify-content:flex-end;margin-top:8px}.search{max-width:420px;margin:4px 0 16px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:4px}.page-head h2{margin:0}.page-sub{margin:2px 0 16px}.ai-gen-card{background:linear-gradient(to bottom,var(--primary-soft),#fff 60%);border-color:var(--primary-border)}.approval-panel{border-left:4px solid var(--primary)}.process-steps{list-style:none;margin:12px 0 0;padding:0;display:flex;gap:8px;flex-wrap:wrap;font-size:12px}.process-steps li{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#f8fafc;border:1px solid var(--border);color:var(--muted);font-weight:600}.process-steps li.done{background:var(--success-soft);border-color:#bbf7d0;color:var(--success)}.process-steps li.human{background:var(--info-soft);border-color:#bae6fd;color:var(--info)}.status-line{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin:12px 0 0}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:24px;align-items:stretch;margin:-4px 0 20px;padding:28px 30px;color:var(--hero-text);background:var(--hero-bg);border:1px solid var(--hero-border);border-radius:18px;box-shadow:var(--hero-shadow);overflow:hidden;position:relative}.dashboard-hero:after{content:"";position:absolute;width:280px;height:280px;right:22%;top:-170px;border:1px solid var(--hero-ring);border-radius:50%;box-shadow:0 0 0 28px var(--hero-ring-glow),0 0 0 56px var(--hero-ring-glow)}.dashboard-hero-copy,.practice-pulse{position:relative;z-index:1}.dashboard-hero h1{max-width:680px;margin:9px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,4vw,48px);font-weight:400;letter-spacing:0;line-height:1.08}.dashboard-hero p{margin:0;color:var(--hero-p);font-size:16px}.eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--eyebrow);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.dashboard-date{display:flex;align-items:center;gap:7px;margin-top:20px;color:var(--hero-date);font-size:13px}.practice-pulse{display:grid;grid-template-columns:auto 1fr;gap:13px;align-content:center;padding:19px;background:var(--pulse-bg);border:1px solid var(--pulse-border);border-radius:13px;box-shadow:var(--pulse-shadow)}.pulse-orbit{display:grid;place-items:center;width:44px;height:44px;color:var(--orbit-text);border:1px solid var(--orbit-border);border-radius:50%;box-shadow:0 0 0 7px var(--orbit-glow);background:var(--orbit-bg)}.practice-pulse strong,.pulse-caption{display:block}.practice-pulse strong{margin-top:3px;font-size:17px}.pulse-caption{margin-top:3px;color:var(--muted);font-size:12px}.pulse-status{grid-column:1 / -1;padding-top:12px;color:var(--pulse-status-text);border-top:1px solid var(--pulse-status-border);font-size:12px;font-weight:700}.pulse-dot{display:inline-block;width:7px;height:7px;margin-right:5px;background:var(--pulse-dot-bg);border-radius:50%;box-shadow:0 0 0 4px var(--pulse-dot-glow)}.demo-stage{margin-bottom:20px;padding:24px;background:#fff;border:1px solid var(--primary-border);border-radius:16px;box-shadow:var(--shadow-demo);position:relative;overflow:hidden}.demo-stage:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--primary),#f59e0b,#fb7185)}.demo-stage-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.demo-stage h2{margin:6px 0 2px;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:400}.demo-stage-head p{margin:0;color:var(--muted)}.demo-run{flex-shrink:0;box-shadow:var(--shadow-demo-btn)}.demo-teaser{display:flex;justify-content:space-between;gap:12px;margin-top:20px;padding-top:15px;color:var(--muted);border-top:1px solid var(--border);font-size:13px}.demo-teaser span:first-child{display:inline-flex;align-items:center;gap:7px;color:var(--text);font-weight:600}.demo-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;list-style:none;margin:22px 0 0;padding:0}.demo-steps li{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:12px;font-weight:700}.demo-step-marker{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;color:var(--muted);border:1px solid var(--border-strong);border-radius:50%;font-size:11px}.demo-steps li.done{color:var(--success)}.demo-steps li.done .demo-step-marker{color:#fff;background:var(--success);border-color:var(--success)}.demo-steps li.active{color:var(--primary-dark)}.demo-steps li.active .demo-step-marker{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 5px var(--primary-soft)}.demo-complete{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:14px;background:var(--success-soft);border:1px solid #bbf7d0;border-radius:10px}.demo-complete>div:first-child{display:flex;align-items:center;gap:10px}.success-mark{display:grid;place-items:center;width:29px;height:29px;color:#fff;background:var(--success);border-radius:50%;font-weight:800}.demo-complete strong,.demo-complete strong+span{display:block}.demo-complete strong+span{color:var(--muted);font-size:12px}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.timeline li{position:relative;display:flex;gap:16px;padding:12px 4px 12px 20px;border-bottom:1px solid var(--border)}.timeline li:last-child{border-bottom:none}.timeline li:before{content:"";position:absolute;left:6px;top:18px;width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.timeline li:after{content:"";position:absolute;left:9px;top:32px;bottom:-2px;width:2px;background:var(--border)}.timeline li:last-child:after{display:none}.timeline-time{flex-shrink:0;width:128px;font-size:12px;color:var(--muted);padding-top:2px;font-variant-numeric:tabular-nums}.timeline-body{display:flex;flex-direction:column;gap:4px;font-size:14px;min-width:0}.timeline-meta{font-size:12px;color:var(--muted)}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 16px;font-size:13px;margin:10px 0}.meta-grid dt{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.meta-grid dd{margin:2px 0 0;font-weight:600}.hint-bar{background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:8px;padding:10px 14px;font-size:13px;margin-top:12px}.back-link{display:inline-block;margin-bottom:6px;font-size:14px;font-weight:600;color:var(--primary-dark)}.mobile-nav-backdrop,.mobile-nav-toggle{display:none}.toasts{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:10px;z-index:120;max-width:min(360px,90vw);pointer-events:none}.toasts .toast{pointer-events:none}.toasts .toast .toast-close{pointer-events:auto}.toast{position:relative;display:flex;align-items:flex-start;gap:10px;background:var(--toast-bg);color:var(--toast-text);border:1px solid var(--toast-border);border-radius:10px;padding:12px 14px;font-size:14px;box-shadow:var(--toast-shadow);animation:toast-in .2s ease-out;overflow:hidden}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;opacity:.3;border-radius:0 0 10px 10px;animation:toast-progress 4.5s linear forwards;animation-play-state:running}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-progress{0%{width:100%}to{width:0%}}.toast.paused .toast-progress,.toast:hover .toast-progress{animation-play-state:paused}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--danger)}.toast-info{border-left:4px solid var(--primary)}.toast-close{background:transparent;color:inherit;padding:2px 8px;margin-left:auto}.modal-overlay{position:fixed;inset:0;background:#02061780;display:flex;align-items:center;justify-content:center;z-index:110;padding:16px;animation:modal-fade .14s ease}.modal{background:var(--card);border-radius:12px;padding:20px;width:min(560px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 20px 60px #02061759;animation:modal-rise .16s ease}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-rise{0%{opacity:0;transform:translateY(8px)}}.skeleton-wrap{display:flex;flex-direction:column;gap:10px;padding:6px 0}.skeleton{height:16px;border-radius:8px;background:linear-gradient(100deg,var(--border) 20%,var(--border-strong) 40%,var(--card) 50%,var(--border-strong) 60%,var(--border) 80%);background-size:200% 100%;animation:skeleton-shimmer 1.4s linear infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton.shimmer{background:linear-gradient(100deg,var(--border) 20%,var(--border-strong) 40%,var(--card) 50%,var(--border-strong) 60%,var(--border) 80%);background-size:200% 100%}.loader-splash{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(600px 300px at 50% 20%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 70%),var(--bg)}.loader-splash-card{width:min(380px,100%);background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-md);padding:32px 28px 26px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.loader-splash-text{display:flex;flex-direction:column;gap:2px}.loader-splash-text b{font-size:20px;letter-spacing:-.01em;color:var(--text)}.loader-splash-text span{font-size:13px;color:var(--muted)}.loader-mark{position:relative;display:inline-flex;align-items:center;justify-content:center}.loader-mark-core{width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:var(--brand-mark-bg);box-shadow:var(--brand-mark-shadow);color:#fff;font-weight:800;font-size:18px;letter-spacing:.02em}.loader-mark-ring{position:absolute;inset:-6px;border-radius:20px;border:2px solid transparent;border-top-color:var(--primary);border-right-color:color-mix(in srgb,var(--primary) 35%,transparent);animation:loader-spin 1.1s linear infinite}@keyframes loader-spin{to{transform:rotate(360deg)}}.loader-message{margin:4px 0 0;color:var(--muted);font-size:14px;display:flex;align-items:center;gap:10px}.loader-dots{display:inline-flex;gap:4px}.loader-dots span{width:6px;height:6px;border-radius:50%;background:var(--primary);opacity:.35;animation:loader-dot 1.2s ease-in-out infinite}.loader-dots span:nth-child(2){animation-delay:.15s}.loader-dots span:nth-child(3){animation-delay:.3s}@keyframes loader-dot{0%,to{transform:translateY(0);opacity:.35}50%{transform:translateY(-4px);opacity:1}}.loader-bar-track{position:relative;width:100%;height:4px;border-radius:999px;overflow:hidden;background:var(--border)}.loader-bar-fill{position:absolute;top:0;bottom:0;width:42%;border-radius:999px;background:linear-gradient(90deg,transparent,var(--primary),transparent)}.route-loader{display:flex;flex-direction:column;gap:18px;animation:route-loader-in .32s cubic-bezier(.22,1,.36,1)}@keyframes route-loader-in{0%{opacity:0;transform:translateY(8px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.route-loader-head{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px 18px}.route-loader-title{flex:1;min-width:0}.route-loader-pill{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:999px;padding:7px 12px;white-space:nowrap}.route-loader-spinner{width:14px;height:14px;border-radius:50%;border:2px solid color-mix(in srgb,var(--primary) 25%,transparent);border-top-color:var(--primary);animation:loader-spin .9s linear infinite}.route-loader-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.route-loader-card{min-height:148px}.route-loader-card-foot{display:flex;gap:8px;margin-top:16px}@media(max-width:900px){.route-loader-grid{grid-template-columns:1fr}.route-loader-pill{display:none}}.skip-link{position:absolute;top:-48px;left:12px;z-index:300;background:var(--primary);color:#fff;padding:10px 16px;border-radius:8px;font-size:14px;text-decoration:none;transition:top .15s ease}.skip-link:focus-visible{top:12px}@keyframes page-enter{0%{opacity:0;transform:translateY(10px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.page-transition{width:100%;animation:page-enter .38s cubic-bezier(.22,1,.36,1);will-change:opacity,transform,filter}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-rise{animation:rise-in .35s cubic-bezier(.22,1,.36,1) both}.animate-rise-1{animation-delay:.06s}.animate-rise-2{animation-delay:.12s}.animate-rise-3{animation-delay:.18s}.stagger-item{opacity:0;animation:rise-in .4s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:var(--stagger-delay, 0s)}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}.animate-overlay{animation:overlay-fade .2s ease-out both}@keyframes pop-in{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-pop{animation:pop-in .2s cubic-bezier(.25,.46,.45,.94) both}@keyframes loader-bar-slide{0%{transform:translate(-110%)}to{transform:translate(240%)}}.loader-bar-fill{animation:loader-bar-slide 1.4s cubic-bezier(.4,0,.2,1) infinite}@keyframes soft-pulse{0%,to{opacity:.5}50%{opacity:1}}.animate-soft-pulse{animation:soft-pulse 1s ease-in-out infinite}.transition-width{transition:width .3s ease}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(var(--hover-scale, 1.02))}.hover-scale:active{transform:scale(.98)}@keyframes ripple-grow{0%{width:0;height:0;opacity:.5}to{width:300px;height:300px;opacity:0}}.ripple-ink{position:absolute;border-radius:50%;background:#ffffff4d;pointer-events:none;transform:translate(-50%,-50%);animation:ripple-grow .6s ease-out forwards}.empty-state{text-align:center;padding:32px 20px;display:flex;flex-direction:column;gap:8px;align-items:center}.empty-state p{margin:0 0 8px}.empty-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--primary-soft);color:var(--primary-dark);font-size:24px}.icon-btn{background:var(--icon-btn-bg);border:1px solid var(--icon-btn-border);color:var(--icon-btn-text);border-radius:8px;padding:6px 12px;font-size:18px;line-height:1}.icon-btn:hover{background:var(--icon-btn-hover-bg);border-color:var(--primary)}.topbar-search{position:relative;flex:1;max-width:380px;min-width:160px}.topbar-search input{background:var(--search-bg);border:1px solid var(--search-border);color:var(--search-text);padding:7px 12px}.topbar-search input::placeholder{color:var(--search-placeholder)}.topbar-search input:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 40px #02061740;overflow:hidden;z-index:100}.search-results a,.search-results .search-foot{display:block;padding:9px 14px;font-size:14px}.search-results a:hover{background:var(--bg)}.search-results .search-foot{border-top:1px solid var(--border);font-weight:600;color:var(--primary-dark)}.profile-menu{margin:0 4px;border:1px solid var(--profile-border);border-radius:8px;padding:6px 4px;font-size:12px;color:var(--profile-text);background:var(--profile-bg)}.profile-menu summary{cursor:pointer;padding:4px 8px;font-weight:700}.profile-menu a{display:block;padding:6px 8px;border-radius:6px;font-weight:600}.profile-menu a:hover{background:var(--profile-hover-bg)}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:4px 0 16px}.filters>div{display:flex;flex-direction:column;gap:4px;min-width:170px}.filters label{margin:0}.pager{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.cal-day{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px;min-height:120px;font-size:13px}.cal-day.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.cal-day b{display:block;margin-bottom:6px}.cal-event{display:block;background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:6px;padding:4px 6px;margin-bottom:4px;font-size:12px}.view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.view-toggle button{border-radius:0;background:#fff;color:var(--text)}.view-toggle button.active{background:var(--primary);color:#fff}.onboarding{border-left:4px solid var(--primary);margin-bottom:16px}.onboarding ol{margin:8px 0;padding-left:20px;font-size:14px;display:flex;flex-direction:column;gap:4px}.icon{flex-shrink:0;vertical-align:-3px;margin-right:6px}.sidebar-section a{display:flex;align-items:center}.sidebar-section a .icon{margin-right:9px}.tabs button .icon,.view-toggle button .icon{margin-right:6px}h3 .icon{margin-right:7px;color:var(--primary-dark)}a.card.stat h3 .icon{color:var(--primary)}.form-grid{display:grid;gap:12px 16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field-label{display:block;margin:0 0 4px;font-size:13px;font-weight:600;color:var(--muted)}.required{color:var(--danger);margin-left:2px}.search-field{position:relative;display:flex;align-items:center}.search-field input{padding-left:36px}.search-field .icon{position:absolute;left:10px;pointer-events:none;color:var(--muted)}.document-card{display:flex;flex-direction:column;gap:8px;transition:box-shadow .12s ease,transform .08s ease}.document-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.document-card .avatar-row{display:flex;align-items:center;gap:10px}.patient-header{padding:16px;border-radius:var(--radius-lg);background:linear-gradient(to bottom,var(--primary-soft),#fff 60%);border-color:var(--primary-border)}.patient-header .avatar-row{gap:14px}.patient-header .avatar{box-shadow:var(--shadow-sm)}.patient-header h2{margin:0;font-size:22px;letter-spacing:-.01em}.patient-header .muted{margin:4px 0 0;font-size:14px}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:700;flex-shrink:0;letter-spacing:.02em}.avatar-row{display:flex;align-items:center;gap:10px;min-width:0}a.card.stat{transition:transform .08s ease,box-shadow .12s ease}a.card.stat:hover{box-shadow:var(--shadow-stat-hover);transform:translateY(-1px)}.stat-link-hint{font-size:12px;color:var(--primary-dark);font-weight:600;display:inline-block;transition:transform .12s ease}a.card.stat:hover .stat-link-hint{transform:translate(2px)}.marker-check{margin:10px 0;font-size:13px}.marker-check ul{list-style:none;margin:6px 0 0;padding:0;display:flex;gap:8px;flex-wrap:wrap}.marker-check li{padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:#f8fafc}.marker-check li.ok{border-color:#86efac;background:#f0fdf4;color:var(--success);font-weight:600}.marker-check li.missing{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.split>div{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:10px;min-width:0}@media(max-width:640px){.split{grid-template-columns:1fr}}.print-letter{background:#fff;color:#0f172a;padding:8px 4px}.letter-head{display:flex;justify-content:space-between;gap:12px;border-bottom:3px double #0f172a;padding-bottom:10px;margin-bottom:14px;font-size:13px}.letter-meta{font-size:13px;margin:10px 0}.letter-sign{margin-top:36px;display:flex;gap:32px;font-size:13px}.letter-sign>div{border-top:1px solid #0f172a;padding-top:4px;min-width:180px}@media print{body *{visibility:hidden}.print-letter,.print-letter *{visibility:visible}.print-letter{position:fixed;inset:0;padding:24px;overflow:visible}.modal-overlay{position:static;background:none;padding:0}.modal{box-shadow:none;width:100%;max-width:none}.no-print{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.toast-container{position:fixed;z-index:200;display:flex;flex-direction:column;gap:8px;padding:16px;pointer-events:none;max-width:420px}.toast-top-right{top:0;right:0;align-items:flex-end}.toast-top-left{top:0;left:0;align-items:flex-start}.toast-bottom-right{bottom:0;right:0;align-items:flex-end}.toast-bottom-left{bottom:0;left:0;align-items:flex-start}.toast-top-center{top:0;left:50%;transform:translate(-50%);align-items:center}.toast-bottom-center{bottom:0;left:50%;transform:translate(-50%);align-items:center}.toast-container .toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;background:var(--toast-bg);color:var(--toast-text);border:1px solid var(--toast-border);border-radius:12px;padding:14px 16px;font-size:14px;box-shadow:var(--toast-shadow);animation:toast-in .3s ease-out;overflow:hidden;min-width:300px;max-width:420px}.toast-container .toast-icon{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--progress-color);color:#fff}.toast-container .toast-content{flex:1;min-width:0}.toast-container .toast-message{margin:0 0 8px;line-height:1.5;word-break:break-word}.toast-container .toast-action{background:transparent;color:var(--progress-color);border:1px solid var(--progress-color);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.toast-container .toast-action:hover{background:var(--progress-color);color:#fff}.toast-container .toast-close{flex-shrink:0;background:transparent;color:var(--muted);border:none;padding:4px;border-radius:6px;cursor:pointer;transition:all .15s ease}.toast-container .toast-close:hover{background:var(--border);color:var(--text)}.toast-container .toast-progress-bar{position:absolute;bottom:0;left:0;height:3px;background:var(--progress-color);border-radius:0 0 12px 12px;transform-origin:left center}.command-palette-overlay{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;background:#02061780;backdrop-filter:blur(4px)}.command-palette{width:min(720px,90vw);background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px #0206174d;overflow:hidden}.command-palette-header{position:relative;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg)}.command-palette-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.command-palette-input{width:100%;background:transparent;border:none;color:var(--text);font-size:16px;padding:8px 16px 8px 44px;outline:none}.command-palette-hint{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:var(--border);color:var(--muted);padding:2px 8px;border-radius:4px;font-size:11px;font-family:monospace}.command-palette-content{max-height:50vh;overflow-y:auto}.command-palette-list{display:flex;flex-direction:column}.command-palette-section{padding:8px 16px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--border)}.command-palette-item{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:background .1s ease}.command-palette-item:hover,.command-palette-item.selected{background:var(--primary-soft)}.command-palette-item-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--primary-soft);color:var(--primary)}.command-palette-item-content{flex:1;min-width:0}.command-palette-item-label{font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-palette-item-description{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-palette-item-shortcut{display:flex;align-items:center;gap:4px;padding:2px 8px;background:var(--border);border-radius:4px;font-size:11px;font-family:monospace;color:var(--muted)}.command-palette-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--muted);text-align:center;gap:8px}.command-palette-footer{display:flex;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid var(--border);background:var(--bg);font-size:12px;color:var(--muted)}.command-palette-footer kbd{background:var(--border);padding:2px 6px;border-radius:4px;font-family:monospace}.data-table-container{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.data-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.data-table-search{position:relative;flex:1;max-width:300px}.data-table-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}.data-table-search .search-input{width:100%;padding:8px 12px 8px 40px;border:1px solid var(--border);border-radius:8px;background:var(--search-bg);color:var(--search-text);font-size:14px}.data-table-search .search-input:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.data-table-actions{display:flex;align-items:center;gap:8px}.data-table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.data-table th{background:var(--bg);font-weight:600;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.data-table.striped tbody tr:nth-child(2n){background:var(--bg)}.data-table.hoverable tbody tr:hover{background:var(--primary-soft)}.data-table.compact th,.data-table.compact td{padding:8px 12px}.data-table.clickable tbody tr{cursor:pointer}.data-table .selection-cell{width:40px;text-align:center}.data-table .th-content{display:flex;align-items:center;gap:6px}.data-table .sort-btn{background:transparent;border:none;padding:2px;color:var(--muted);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.data-table .sort-btn:hover{background:var(--border);color:var(--text)}.data-table .filter-badge{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--primary-soft);color:var(--primary);border-radius:50%;font-size:10px}.data-table .empty-state{padding:48px 24px!important}.data-table .empty-content{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--muted)}.data-table .empty-content svg{opacity:.5}.data-table-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg);flex-wrap:wrap;gap:12px}.data-table-pagination .pagination-info{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}.data-table-pagination .page-size-select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font-size:13px}.data-table-pagination .pagination-controls{display:flex;gap:8px}.data-table-skeleton{padding:16px}.data-table-skeleton .skeleton-row{height:56px;border-bottom:1px solid var(--border);background:linear-gradient(100deg,var(--border) 20%,var(--border-strong) 40%,var(--card) 50%,var(--border-strong) 60%,var(--border) 80%);background-size:200% 100%;animation:skeleton-shimmer 1.4s linear infinite;margin-bottom:8px}.file-upload{border:2px dashed var(--border);border-radius:12px;overflow:hidden}.file-upload .dropzone{transition:all .2s ease}.file-upload .dropzone.dragging{border-color:var(--primary);background:var(--primary-soft)}.file-upload .dropzone.has-files{border-style:solid;border-color:var(--border);background:transparent}.file-upload .dropzone-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--muted)}.file-upload .dropzone-content svg{margin-bottom:16px;opacity:.5}.file-upload .dropzone-content h3{margin:0 0 8px;color:var(--text)}.file-upload .dropzone-content .hint{font-size:12px;margin-top:8px}.file-upload .file-list{border-top:1px solid var(--border)}.file-upload .file-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);transition:background .15s ease}.file-upload .file-item:last-child{border-bottom:none}.file-upload .file-item:hover{background:var(--bg)}.file-upload .file-preview{width:40px;height:40px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--bg);display:flex;align-items:center;justify-content:center}.file-upload .file-preview img{width:100%;height:100%;object-fit:cover}.file-upload .file-icon{color:var(--primary)}.file-upload .file-info{flex:1;min-width:0}.file-upload .file-name{font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.file-upload .file-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.file-upload .file-meta .error-text{color:var(--danger)}.file-upload .file-meta .success-text{color:var(--success)}.file-upload .progress-bar{height:4px;background:var(--border);border-radius:2px;margin-top:6px;overflow:hidden}.file-upload .progress-fill{height:100%;background:var(--primary);border-radius:2px}.file-upload .file-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.file-upload .retry-btn{padding:4px 10px;background:var(--primary-soft);color:var(--primary);border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer}.file-upload .remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:var(--muted);border-radius:6px;cursor:pointer;transition:all .15s ease}.file-upload .remove-btn:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.file-upload .remove-btn:disabled{opacity:.5;cursor:not-allowed}.file-upload .upload-actions{display:flex;gap:12px;padding:16px;border-top:1px solid var(--border);background:var(--bg);justify-content:flex-end}.file-upload .btn-primary,.file-upload .btn-secondary{padding:8px 16px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .15s ease}.file-upload .btn-primary{background:var(--primary);color:#fff;border:none}.file-upload .btn-primary:hover:not(:disabled){background:var(--primary-dark)}.file-upload .btn-primary:disabled{opacity:.5;cursor:not-allowed}.file-upload .btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}.file-upload .btn-secondary:hover:not(:disabled){background:var(--bg)}.file-upload .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.file-upload-compact{border:1px solid var(--border);border-radius:8px;overflow:hidden}.file-upload-compact .dropzone{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:var(--bg);color:var(--muted);cursor:pointer;transition:all .15s ease}.file-upload-compact .dropzone:hover:not(.disabled){background:var(--primary-soft);color:var(--primary)}.file-upload-compact .dropzone.dragging{background:var(--primary-soft);color:var(--primary);border-color:var(--primary)}.file-upload-compact .file-count{margin-left:auto;background:var(--primary);color:#fff;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.file-upload-compact .file-list{border-top:1px solid var(--border)}.file-upload-compact .file-item{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px}.file-upload-compact .file-icon{color:var(--primary)}.rich-text-editor{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--card)}.rich-text-editor.focused{border-color:var(--primary);box-shadow:var(--focus-ring)}.editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg)}.toolbar-group{display:flex;align-items:center;gap:2px}.toolbar-divider{width:1px;height:24px;background:var(--border);margin:0 4px}.editor-toolbar button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--text);cursor:pointer;transition:all .15s ease}.editor-toolbar button:hover:not(:disabled){background:var(--primary-soft);color:var(--primary)}.editor-toolbar button.active{background:var(--primary-soft);color:var(--primary)}.editor-toolbar button:disabled{opacity:.4;cursor:not-allowed}.editor-content{min-height:200px;padding:16px;outline:none}.editor-content:focus{outline:none}.editor-content .tiptap-editor{min-height:100%}.editor-content .tiptap-editor>*+*{margin-top:.75em}.editor-content h1{font-size:2em;font-weight:700}.editor-content h2{font-size:1.5em;font-weight:600}.editor-content h3{font-size:1.25em;font-weight:600}.editor-content p{line-height:1.6}.editor-content ul,.editor-content ol{padding-left:1.5em}.editor-content blockquote{border-left:3px solid var(--primary);padding-left:1em;margin-left:0;color:var(--muted);font-style:italic}.editor-content code{background:var(--bg);padding:.125em .375em;border-radius:4px;font-family:monospace;font-size:.9em}.editor-content pre{background:#0f172a;color:#e2e8f0;padding:16px;border-radius:8px;overflow-x:auto}.editor-content pre code{background:transparent;padding:0;color:inherit}.editor-content .tiptap-link{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.editor-content table{border-collapse:collapse;width:100%;margin:1em 0}.editor-content th,.editor-content td{border:1px solid var(--border);padding:8px 12px;text-align:left}.editor-content th{background:var(--bg);font-weight:600}.editor-content hr{border:none;border-top:2px solid var(--border);margin:1.5em 0}.color-picker{display:flex;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-left:4px}.color-btn{width:24px;height:24px;border:2px solid transparent;border-radius:50%;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.color-btn:hover{transform:scale(1.15);border-color:var(--text)}.editor-status{display:flex;align-items:center;gap:16px;padding:8px 16px;border-top:1px solid var(--border);background:var(--bg);font-size:12px;color:var(--muted)}.link-dialog-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#02061780;backdrop-filter:blur(4px);padding:16px}.link-dialog{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;width:100%;max-width:400px;box-shadow:0 24px 60px #0206174d}.link-dialog h3{margin:0 0 20px;font-size:16px}.link-dialog-field{margin-bottom:16px}.link-dialog-field label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--text)}.link-dialog-field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font-size:14px}.link-dialog-field input:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}.link-dialog-field input:disabled{background:var(--bg);color:var(--muted)}.link-dialog-actions{display:flex;justify-content:flex-end;gap:12px}.btn-primary,.btn-secondary,.btn-ghost{padding:10px 18px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:var(--primary);color:#fff;border:none}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg)}.btn-ghost{background:transparent;color:var(--muted);border:none}.btn-ghost:hover{color:var(--text);background:var(--bg)}.chart-container{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column}.chart-header{margin-bottom:16px}.chart-header h3{margin:0 0 4px;font-size:16px;font-weight:600}.chart-header p{margin:0;font-size:13px;color:var(--muted)}.custom-tooltip{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:10px 12px;box-shadow:0 8px 24px #02061726}.custom-tooltip .tooltip-label{margin:0 0 6px;font-weight:600;font-size:13px;color:var(--text)}.custom-tooltip .tooltip-value{margin:2px 0;font-size:13px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .2s ease}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-content{flex:1;min-width:0}.kpi-title{margin:0 0 6px;font-size:13px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.kpi-value-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.kpi-value{font-size:28px;font-weight:700;color:var(--text);line-height:1.2}.kpi-change{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.kpi-change.positive{background:var(--success-soft);color:var(--success)}.kpi-change.negative{background:var(--danger-soft);color:var(--danger)}.kpi-change.neutral{background:var(--bg);color:var(--muted)}.skeleton-card,.skeleton-patient-card,.skeleton-appointment{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.skeleton-table-row{padding:12px 16px;border-bottom:1px solid var(--border)}.onboarding-tour-overlay{position:fixed;inset:0;z-index:400;pointer-events:none}.onboarding-tour-popover{pointer-events:auto;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:0;width:360px;box-shadow:0 24px 60px #0206174d;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.tour-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.tour-header h3{margin:0;font-size:16px;font-weight:600}.tour-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:var(--muted);border-radius:6px;cursor:pointer;transition:all .15s ease}.tour-close:hover{background:var(--bg);color:var(--text)}.tour-content{padding:16px;flex:1;overflow-y:auto}.tour-content p{margin:0;line-height:1.6;color:var(--text)}.tour-progress{padding:0 16px 12px}.tour-progress-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:8px}.tour-progress-fill{height:100%;background:var(--primary);border-radius:2px}.tour-progress-text{display:block;font-size:12px;color:var(--muted);text-align:center}.tour-footer{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg)}.tour-spacer{flex:1}@media(max-width:640px){.command-palette{width:100%;max-width:100%;border-radius:0;height:100vh;max-height:100vh}.command-palette-overlay{padding-top:0;align-items:stretch}.kpi-grid{grid-template-columns:1fr}.data-table-toolbar{flex-direction:column;align-items:stretch}.data-table-search{max-width:none}.data-table-pagination{flex-direction:column;align-items:stretch}.data-table-pagination .pagination-controls{justify-content:center}}.forbidden-wrap{max-width:520px;margin:8vh auto;text-align:center}.forbidden-code{font-size:64px;font-weight:800;color:var(--primary-dark)}@media(max-width:1100px){.cal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.layout{padding:16px}.card{padding:14px}.cal-grid{grid-template-columns:1fr}.topbar-search{order:3;flex-basis:100%;max-width:none}.timeline li{flex-direction:column;gap:4px}}@media(max-width:860px){.desktop-nav-toggle{display:none}.mobile-nav-toggle{display:inline-flex}.sidebar{position:fixed;inset:0 auto 0 0;z-index:130;width:min(280px,86vw);height:100vh;transform:translate(-105%);transition:transform .18s ease;overflow-y:auto}.mobile-nav-open .sidebar{transform:translate(0)}.mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:120;padding:0;border:0;border-radius:0;background:#02061773}.timeline-time{width:86px}}@media(max-width:700px){.dashboard-hero{grid-template-columns:1fr;gap:18px;padding:24px 20px}.dashboard-hero h1{font-size:34px}.demo-stage{padding:22px 18px}.demo-stage-head,.demo-complete,.demo-teaser{align-items:stretch;flex-direction:column}.demo-run{width:100%}.demo-steps{grid-template-columns:1fr 1fr;row-gap:14px}.grid.stats{grid-template-columns:repeat(2,1fr)}.grid>div:has(.card):not(.stats){min-width:0}.table-scroll{margin:0 -16px;padding:0 16px;width:calc(100% + 32px)}.card b,.card h3{overflow-wrap:anywhere}.timeline-time{width:auto;flex-shrink:0}.stat .value{font-size:28px}}.kpi-animated-0{animation-delay:0s}.kpi-animated-1{animation-delay:.1s}.kpi-animated-2{animation-delay:.2s}.kpi-animated-3{animation-delay:.3s}.kpi-animated-4{animation-delay:.4s}.kpi-animated-5{animation-delay:.5s}.kpi-animated-6{animation-delay:.6s}.kpi-animated-7{animation-delay:.7s}.kpi-animated-8{animation-delay:.8s}.kpi-animated-9{animation-delay:.9s}.kpi-animated-10{animation-delay:1s}.kpi-animated-11{animation-delay:1.1s}.kpi-animated-12{animation-delay:1.2s}.kpi-animated-13{animation-delay:1.3s}.kpi-animated-14{animation-delay:1.4s}.kpi-animated-15{animation-delay:1.5s}
