@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"DM Serif Display";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-ext-400-normal-p18AlW_x.woff2) format("woff2"),url(/assets/dm-serif-display-latin-ext-400-normal-B1toqZab.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"DM Serif Display";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-400-normal-C5_t9oOD.woff2) format("woff2"),url(/assets/dm-serif-display-latin-400-normal-_kVFYEpx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--canvas: #f3f6f7;--surface: #ffffff;--surface-2: #f8fafb;--surface-3: #eef3f5;--ink: #14262e;--ink-2: #38505a;--muted: #6f828a;--faint: #98a8ae;--line: #dfe8eb;--line-soft: #edf2f4;--brand: #079cb2;--brand-dark: #006c7d;--brand-ink: #034d5a;--brand-wash: #e4f5f7;--green: #367d60;--green-wash: #e8f3ed;--amber: #a66516;--amber-wash: #fbf0dc;--red: #a13d49;--red-wash: #fae9ec;--navy: #073d48;--radius: 14px;--shadow: 0 1px 2px rgba(19, 37, 45, .04), 0 12px 34px -24px rgba(19, 37, 45, .32);--text-micro: 11px;--text-xs: 12px;--text-sm: 13px;--text-body: 15px;--text-reading: 15px;color:var(--ink);font-family:DM Sans,Inter,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:var(--canvas);font-size:var(--text-body);line-height:1.5}button,input,textarea{color:inherit;font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin:0}.eyebrow{color:var(--brand-dark);font-size:var(--text-body);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.muted{color:var(--muted)}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.button{align-items:center;background:transparent;border:1px solid transparent;border-radius:9px;display:inline-flex;font-size:var(--text-body);font-weight:650;gap:8px;justify-content:center;min-height:38px;padding:8px 14px;transition:.15s ease;white-space:nowrap}.button--primary{background:var(--brand);color:#fff}.button--primary:hover{background:var(--brand-dark)}.button--secondary{background:var(--surface);border-color:var(--line);color:var(--ink-2)}.button--secondary:hover{background:var(--surface-2);border-color:#bdccd1}.button--light{background:#fff;color:var(--navy)}.button--light:hover{background:#eaf9fb}.button--ghost-dark{border-color:#ffffff40;color:#fff}.button--ghost-dark:hover{background:#ffffff1a}.button--danger{background:var(--red);color:#fff}.button--danger-quiet{border-color:#e5bec3;color:var(--red)}.button--large{min-height:46px;padding:11px 18px}.button--small{min-height:32px;padding:5px 10px}.text-button{align-items:center;background:none;border:0;color:var(--brand-dark);display:inline-flex;font-size:var(--text-body);font-weight:650;gap:4px;padding:5px}.icon-button{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--muted);display:inline-flex;justify-content:center;padding:7px}.icon-button:hover{background:var(--surface-2);color:var(--ink)}.login-page{background:var(--surface);display:grid;grid-template-columns:minmax(420px,.9fr) 1.1fr;min-height:100vh}.login-panel{background:linear-gradient(145deg,#052f39,#075664 72%,#087f90);color:#fff;display:flex;flex-direction:column;overflow:hidden;padding:42px 56px;position:relative}.login-panel:before{background:radial-gradient(circle,rgba(79,204,220,.22),transparent 66%);content:"";height:560px;left:-180px;position:absolute;top:18%;width:560px}.login-panel:after{border:1px solid rgba(255,255,255,.08);border-radius:50%;content:"";height:520px;position:absolute;right:-290px;top:-120px;width:520px}.login-brand,.brand{align-items:center;display:flex;gap:11px;position:relative;z-index:1}.brand__mark{align-items:center;background:var(--brand);border-radius:9px;color:#fff;display:inline-flex;font-size:16px;font-weight:800;height:34px;justify-content:center;width:34px}.login-brand strong,.brand strong{display:block;font-size:15px;line-height:1.2}.login-brand small,.brand small{display:block;font-size:var(--text-xs);letter-spacing:.12em;margin-top:2px;opacity:.65;text-transform:uppercase}.login-copy{margin:auto 0 56px;max-width:520px;position:relative;z-index:1}.login-copy .eyebrow{color:#7ed8e4}.login-copy h1{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(42px,4vw,64px);font-weight:400;letter-spacing:-.025em;line-height:1.04;margin:18px 0 22px}.login-copy p{color:#ffffffb0;font-size:16px;line-height:1.7;max-width:460px}.login-assurance{border-top:1px solid rgba(255,255,255,.13);display:grid;gap:18px;grid-template-columns:1fr 1fr;padding-top:26px;position:relative;z-index:1}.login-assurance>div{align-items:flex-start;display:flex;gap:11px}.login-assurance svg{color:#76d5e2}.login-assurance strong,.login-assurance small{display:block}.login-assurance strong{font-size:var(--text-body)}.login-assurance small{color:#ffffff8c;font-size:var(--text-body);margin-top:2px}.login-panel__foot{color:#fff6;font-size:var(--text-sm);letter-spacing:.08em;margin-top:34px;text-transform:uppercase}.login-form-wrap{align-items:center;background:#fbfcfc;display:flex;flex-direction:column;justify-content:center;padding:48px}.login-card{max-width:400px;width:100%}.login-card__heading{margin-bottom:32px}.login-card__heading h2{font-family:"DM Serif Display",Georgia,serif;font-size:34px;font-weight:400;letter-spacing:-.015em}.login-card__heading p{color:var(--muted);margin-top:7px}.mobile-login-logo{display:none;margin-bottom:20px}.field{display:block;margin-bottom:18px}.field>span{color:var(--ink-2);display:block;font-size:var(--text-body);font-weight:650;margin-bottom:7px}.field input,.field textarea,.field select{background:var(--surface);border:1px solid #cfdcdf;border-radius:9px;outline:none;padding:11px 12px;transition:.15s;width:100%}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #079cb21a}.field textarea{font-family:inherit;font-size:var(--text-body);line-height:1.5;resize:vertical}.field-hint{color:var(--amber);display:block;font-size:var(--text-xs);margin-top:5px}.login-options{align-items:center;display:flex;font-size:var(--text-body);justify-content:space-between;margin:2px 0 24px}.login-options a{color:var(--brand-dark);font-weight:600;text-decoration:none}.check{align-items:center;color:var(--muted);display:flex;gap:7px}.check input{accent-color:var(--brand)}.login-card>.button{width:100%}.demo-hint{color:var(--faint);font-size:var(--text-body);margin-top:14px;text-align:center}.support-link{align-items:center;color:var(--muted);display:flex;font-size:var(--text-body);gap:7px;margin-top:40px;text-decoration:none}.form-error,.form-notice{border-radius:8px;font-size:var(--text-body);margin-bottom:16px;padding:10px 12px}.form-error{background:var(--red-wash);color:var(--red)}.form-notice{background:var(--amber-wash);color:var(--amber)}.portal-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:#fbfcfc;border-right:1px solid var(--line);display:flex;flex-direction:column;height:100vh;padding:22px 13px 13px;position:sticky;top:0;z-index:40}.sidebar .brand{padding:0 7px 26px}.sidebar nav{display:flex;flex:1;flex-direction:column}.nav-label{color:var(--faint);font-size:var(--text-xs);font-weight:700;letter-spacing:.13em;margin:6px 11px 7px;text-transform:uppercase}.nav-label--practice{margin-top:22px}.sidebar nav a,.nav-coming{align-items:center;border-radius:9px;color:var(--ink-2);display:flex;font-size:var(--text-body);font-weight:550;gap:11px;margin:1px 0;min-height:44px;padding:9px 10px;text-decoration:none}.sidebar nav a:hover{background:var(--surface-2)}.sidebar nav a.router-link-active{background:var(--brand-wash);color:var(--brand-dark);font-weight:700}.nav-badge{align-items:center;aspect-ratio:1;background:var(--brand);border-radius:50%;color:#fff;display:inline-flex;flex:none;font-size:var(--text-sm);height:24px;justify-content:center;line-height:1;margin-left:auto;padding:0}.nav-badge--warning{background:var(--amber)}.nav-coming{color:var(--faint);cursor:default}.nav-coming small{background:var(--surface-3);border-radius:10px;font-size:var(--text-micro);letter-spacing:.06em;margin-left:auto;padding:2px 6px;text-transform:uppercase}.sidebar__profile{align-items:center;border-top:1px solid var(--line-soft);display:flex;gap:9px;padding:13px 4px 0}.sidebar__profile>span:not(.avatar){min-width:0}.sidebar__profile strong,.sidebar__profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__profile strong{font-size:var(--text-body)}.sidebar__profile small{color:var(--faint);font-size:var(--text-xs)}.sidebar__profile .icon-button{margin-left:auto}.portal-main{min-width:0}.topbar{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-bottom:1px solid var(--line);display:flex;gap:20px;height:64px;padding:0 28px;position:sticky;top:0;z-index:30}.breadcrumbs{align-items:center;color:var(--muted);display:flex;font-size:var(--text-body);gap:8px}.breadcrumbs b{color:var(--faint);font-weight:400}.breadcrumbs strong{color:var(--ink)}.search-trigger{align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;color:var(--faint);display:flex;font-size:var(--text-body);gap:8px;margin:0 auto;max-width:340px;padding:6px 8px 6px 10px;text-align:left;width:100%}.search-trigger span{flex:1}.search-trigger kbd{background:var(--surface);border:1px solid var(--line);border-radius:5px;font-size:var(--text-xs);padding:2px 5px}.topbar__right{align-items:center;display:flex;gap:9px}.status-menu{position:relative}.status-control{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:20px;display:flex;font-size:var(--text-body);font-weight:600;gap:6px;padding:6px 10px;text-transform:capitalize}.presence-dot{background:var(--faint);border-radius:50%;display:inline-block;height:7px;width:7px}.presence-dot--available{background:#2b9c6a;box-shadow:0 0 0 3px #dff1e9}.presence-dot--busy{background:var(--amber);box-shadow:0 0 0 3px var(--amber-wash)}.presence-dot--offline{background:var(--faint)}.status-popover{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 36px #14262e24;padding:5px;position:absolute;right:0;top:calc(100% + 8px);width:140px}.status-popover button{align-items:center;background:none;border:0;border-radius:7px;display:flex;font-size:var(--text-body);gap:9px;padding:8px;text-transform:capitalize;width:100%}.status-popover button:hover{background:var(--surface-2)}.mobile-menu,.mobile-close,.mobile-backdrop{display:none}.page{margin:0 auto;max-width:1540px;padding:28px 28px 70px}.page-loading,.error-state{align-items:center;color:var(--muted);display:flex;flex-direction:column;justify-content:center;min-height:420px;text-align:center}.page-loading p{margin-top:12px}.page-loading--full{min-height:calc(100vh - 58px)}.loader{animation:spin .8s linear infinite;border:2px solid var(--line);border-radius:50%;border-top-color:var(--brand);display:block;height:24px;width:24px}@keyframes spin{to{transform:rotate(360deg)}}.error-state h2{color:var(--ink);font-size:18px;margin:12px 0 4px}.error-state .button{margin-top:16px}.avatar{align-items:center;background:linear-gradient(145deg,#d5e2e6,#aec4cb);border:1px solid rgba(0,0,0,.04);border-radius:10px;color:#3d5d68;display:inline-flex;flex:none;font-size:var(--text-body);font-weight:750;justify-content:center}.avatar--sm{height:32px;width:32px}.avatar--md{height:40px;width:40px}.avatar--lg{border-radius:15px;font-size:16px;height:56px;width:56px}.status-badge{align-items:center;background:var(--surface-3);border-radius:20px;color:var(--muted);display:inline-flex;font-size:var(--text-sm);font-weight:700;gap:6px;padding:4px 8px;white-space:nowrap}.status-badge__dot{background:currentColor;border-radius:50%;height:5px;width:5px}.status-badge--in_consultation{background:var(--brand-wash);color:var(--brand-dark)}.status-badge--completed{background:var(--green-wash);color:var(--green)}.status-badge--not_started{background:var(--amber-wash);color:var(--amber)}.status-badge--dna,.status-badge--cancelled{background:var(--red-wash);color:var(--red)}.status-badge--booked,.status-badge--open{background:var(--surface-3);color:var(--muted)}.clinical-alert{align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-left-width:3px;border-radius:9px;color:var(--ink-2);display:flex;gap:9px;padding:10px 11px}.clinical-alert>svg{flex:none;margin-top:1px}.clinical-alert strong,.clinical-alert span,.clinical-alert small{display:block}.clinical-alert strong{font-size:var(--text-xs);letter-spacing:.09em;text-transform:uppercase}.clinical-alert span{font-size:var(--text-body);font-weight:650;margin-top:1px}.clinical-alert small{color:inherit;font-size:var(--text-xs);margin-top:2px;opacity:.67}.clinical-alert--critical{background:var(--red-wash);border-color:#e5b9bf;color:var(--red)}.clinical-alert--warning{background:var(--amber-wash);border-color:#e8c994;color:var(--amber)}.clinical-alert--info{background:var(--brand-wash);border-color:#acdfe6;color:var(--brand-dark)}.clinical-alert--compact{background:#ffffff1a;border-color:#fff3;color:#fff;min-width:180px;padding:8px 9px}.clinical-alert--compact.clinical-alert--critical{background:#ffaeb81f;border-color:#ffc7cd59;color:#ffd8dd}.clinical-alert--compact.clinical-alert--warning{background:#ffd2861f;border-color:#ffd2864d;color:#ffe0a8}.clinical-alert--compact small{color:inherit}.welcome-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:22px}.welcome-header h1,.page-title-row h1{font-family:"DM Serif Display",Georgia,serif;font-size:34px;font-weight:400;letter-spacing:-.018em;line-height:1.15;margin:7px 0 4px}.welcome-header p,.page-title-row p{color:var(--muted)}.welcome-header p strong{color:var(--amber)}.session-window{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;display:flex;gap:10px;padding:9px 12px}.session-window svg{color:var(--brand-dark)}.session-window small,.session-window strong{display:block}.session-window small{color:var(--faint);font-size:var(--text-xs);text-transform:uppercase}.session-window strong{font-size:var(--text-body)}.metrics-row{display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin-bottom:14px}.metrics-row article{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;display:flex;gap:11px;padding:12px 14px}.metric-icon{align-items:center;background:var(--surface-3);border-radius:9px;color:var(--muted);display:flex;height:34px;justify-content:center;width:34px}.metric-icon--teal{background:var(--brand-wash);color:var(--brand-dark)}.metric-icon--amber{background:var(--amber-wash);color:var(--amber)}.metric-icon--green{background:var(--green-wash);color:var(--green)}.metrics-row strong,.metrics-row small{display:block}.metrics-row strong{font-size:19px;line-height:1}.metrics-row small{color:var(--muted);font-size:var(--text-sm);margin-top:4px}.dashboard-grid{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) 360px}.dashboard-grid--single{grid-template-columns:minmax(0,1fr)}.next-patient-card{background:linear-gradient(140deg,#073a45,#056979);border-radius:15px;box-shadow:0 18px 35px -25px #002e37;color:#fff;margin-bottom:14px;overflow:hidden;position:relative}.next-patient-card__glow{background:radial-gradient(circle,rgba(97,223,238,.19),transparent 64%);height:420px;position:absolute;right:-110px;top:-210px;width:420px}.next-patient-card__content{padding:20px 22px;position:relative}.next-label{align-items:center;color:#92e2eb;display:flex;font-size:var(--text-sm);font-weight:700;gap:6px;letter-spacing:.1em;text-transform:uppercase}.next-label span{color:#ffffff7a;font-size:var(--text-xs);font-weight:500;letter-spacing:0;margin-left:auto;text-transform:none}.next-patient-row{align-items:center;display:flex;justify-content:space-between;margin-top:14px}.next-patient-identity{align-items:center;display:flex;gap:13px}.next-patient-identity .avatar{background:#ffffff21;border-color:#ffffff21;color:#fff}.next-patient-identity h2{font-family:"DM Serif Display",Georgia,serif;font-size:28px;font-weight:400;line-height:1.1}.next-patient-identity p{color:#ffffff9e;font-size:var(--text-body);margin-top:4px}.next-wait{border-left:1px solid rgba(255,255,255,.14);padding-left:22px;text-align:right}.next-wait strong,.next-wait span{display:block}.next-wait strong{font-size:18px}.next-wait span{color:#ffffff80;font-size:var(--text-xs);text-transform:uppercase}.next-alerts{display:flex;gap:7px;margin-top:16px;overflow:auto}.next-footer{align-items:center;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;margin-top:18px;padding-top:15px}.appointment-ready{align-items:center;color:#88dce6;display:flex;gap:9px}.appointment-ready strong,.appointment-ready small{display:block}.appointment-ready strong{color:#fff;font-size:var(--text-body)}.appointment-ready small{color:#ffffff78;font-size:var(--text-xs);margin-top:1px}.next-actions{display:flex;gap:8px}.card-header{align-items:center;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;min-height:58px;padding:12px 16px}.card-header h2{font-size:var(--text-body)}.card-header p{color:var(--faint);font-size:var(--text-xs);margin-top:2px}.timeline{padding:8px 16px 15px;position:relative}.timeline-item{align-items:stretch;display:grid;grid-template-columns:50px 18px 1fr;min-height:54px}.timeline-item>time{color:var(--faint);font-size:var(--text-sm);padding:13px 9px 0 0;text-align:right}.timeline-marker{position:relative}.timeline-marker:before{background:var(--line);bottom:0;content:"";left:50%;position:absolute;top:0;width:1px}.timeline-marker i{background:#fff;border:2px solid #c7d4d8;border-radius:50%;height:8px;left:50%;position:absolute;top:16px;transform:translate(-50%);width:8px;z-index:1}.timeline-item--completed .timeline-marker i{background:var(--green);border-color:var(--green)}.timeline-item--in_consultation .timeline-marker i,.timeline-item--next .timeline-marker i{background:var(--brand);border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-wash)}.timeline-item--not_started .timeline-marker i{background:var(--amber);border-color:var(--amber)}.timeline-item--cancelled .timeline-marker i{background:var(--faint);border-color:var(--faint)}.timeline-item--dna .timeline-marker i{background:var(--red);border-color:var(--red)}.timeline-appointment{align-items:center;border-bottom:1px solid var(--line-soft);display:flex;gap:10px;justify-content:space-between;padding:8px 0 8px 9px}.timeline-patient-link{background:none;border:0;flex:1;min-width:0;padding:4px 0;text-align:left}.timeline-patient-link:not(:disabled):hover strong{color:var(--brand-dark)}.timeline-patient-link:disabled{cursor:default;opacity:1}.timeline-patient-link strong{display:block;font-size:var(--text-body)}.timeline-patient-link p{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.timeline-appointment__actions{align-items:center;display:flex;flex:none;gap:7px}.timeline-appointment__actions>.button{min-width:154px}.timeline-item--completed .timeline-appointment{opacity:.68}.now-line{align-items:center;color:var(--brand-dark);display:grid;font-size:var(--text-micro);font-weight:700;grid-template-columns:68px 1fr;letter-spacing:.06em;margin:2px 0;text-transform:uppercase}.now-line span{text-align:right}.now-line i{background:linear-gradient(90deg,var(--brand),transparent);height:1px;margin-left:9px}@keyframes pulse{50%{opacity:.35;transform:scale(.8)}}.dialog-backdrop{align-items:center;background:#07181e75;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:100}.dialog{background:var(--surface);border-radius:15px;box-shadow:0 28px 70px #051c2340;max-height:calc(100vh - 48px);overflow:auto;width:100%}.dialog--sm{max-width:440px}.dialog--md{max-width:600px}.dialog--lg{max-width:800px}.dialog__header{align-items:flex-start;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;padding:18px 20px}.dialog__header h2{font-family:"DM Serif Display",Georgia,serif;font-size:22px;font-weight:400}.dialog__header p{color:var(--muted);font-size:var(--text-body);margin-top:3px}.dialog__body{padding:20px}.dialog__footer{align-items:center;background:var(--surface-2);border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;padding:12px 20px}.identity-check{align-items:center;background:var(--brand-wash);border:1px solid #b4e0e6;border-radius:11px;color:var(--brand-dark);display:flex;gap:13px;padding:14px}.identity-check small,.identity-check strong,.identity-check span{display:block}.identity-check small{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.identity-check strong{color:var(--ink);font-size:17px;margin:1px 0}.identity-check span{color:var(--ink-2);font-size:var(--text-body)}.dialog-help{color:var(--muted);font-size:var(--text-body);margin-top:13px}.message-patient-summary{align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;display:flex;gap:11px;margin-bottom:12px;padding:12px}.message-patient-summary span{min-width:0}.message-patient-summary small,.message-patient-summary strong,.message-patient-summary em{display:block}.message-patient-summary small{color:var(--faint);font-size:var(--text-xs);text-transform:uppercase}.message-patient-summary strong{font-size:17px}.message-patient-summary em{color:var(--muted);font-size:var(--text-sm);font-style:normal}.contact-window-notice{align-items:flex-start;background:var(--green-wash);border-radius:9px;color:var(--green);display:flex;gap:9px;margin-bottom:14px;padding:10px 11px}.contact-window-notice--locked{background:var(--amber-wash);color:var(--amber)}.contact-window-notice strong,.contact-window-notice small{display:block}.contact-window-notice strong{font-size:var(--text-body)}.contact-window-notice small{color:var(--ink-2);font-size:var(--text-xs);margin-top:2px}.message-quick-options{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.message-quick-options button{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink-2);display:inline-flex;font-size:var(--text-xs);gap:6px;padding:7px 9px;text-align:left}.message-quick-options button:hover{background:var(--brand-wash);border-color:#a9dce3}.appointment-message-field{margin-bottom:0}.appointment-message-field textarea{line-height:1.55;resize:vertical}.quick-search-form{align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;color:var(--faint);display:flex;gap:9px;padding:9px 11px}.quick-search-form:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #079cb21a}.quick-search-form input{background:transparent;border:0;flex:1;font-size:var(--text-body);min-width:0;outline:0}.quick-search-form kbd{background:var(--surface);border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:var(--text-xs);padding:2px 5px;white-space:nowrap}.destructive-warning{align-items:flex-start;background:var(--red-wash);border-radius:10px;color:var(--red);display:flex;gap:11px;padding:13px}.destructive-warning svg{flex:none}.destructive-warning p{font-size:var(--text-body)}.fade-enter-active,.fade-leave-active{transition:.16s ease}.fade-enter-from,.fade-leave-to{opacity:0}.toast{align-items:center;background:#16343d;border:1px solid rgba(255,255,255,.12);border-radius:10px;bottom:22px;box-shadow:0 14px 40px #051c2338;color:#fff;display:flex;font-size:var(--text-body);gap:18px;left:50%;padding:11px 16px;position:fixed;transform:translate(-50%);z-index:150}.toast button{background:transparent;border:0;border-bottom:1px solid currentColor;color:#92e3ed;font-size:var(--text-body);font-weight:700;padding:0 0 1px}.toast--warning{background:var(--amber)}.toast-enter-active,.toast-leave-active{transition:.2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,8px)}.page-title-row{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:22px}.title-stat{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:11px;display:flex;gap:10px;padding:9px 14px}.title-stat svg{color:var(--brand-dark)}.title-stat strong,.title-stat small{display:block}.title-stat strong{font-size:18px;line-height:1}.title-stat small{color:var(--muted);font-size:var(--text-xs);margin-top:3px}.toolbar{align-items:center;display:flex;gap:10px;margin-bottom:18px}.segmented{background:var(--surface);border:1px solid var(--line);border-radius:9px;display:flex;padding:3px}.segmented button{background:none;border:0;border-radius:6px;color:var(--muted);font-size:var(--text-body);padding:5px 12px;text-transform:capitalize}.segmented button.active{background:var(--brand-wash);color:var(--brand-dark);font-weight:700}.search-field{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:9px;color:var(--faint);display:flex;gap:8px;padding:7px 10px;width:290px}.search-field--wide{width:370px}.search-field input{background:transparent;border:0;font-size:var(--text-body);min-width:0;outline:0;width:100%}.toolbar-note{align-items:center;color:var(--muted);display:flex;font-size:var(--text-sm);gap:6px;margin-left:auto}.toolbar-note i{background:var(--brand);border-radius:50%;height:6px;width:6px}.appointment-group{margin-bottom:22px}.appointment-group>header{align-items:center;display:flex;gap:9px;margin:0 2px 8px}.appointment-group>header h2{font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase}.appointment-group>header h2 span{background:var(--surface-3);border-radius:10px;color:var(--muted);margin-left:5px;padding:1px 6px}.appointment-group>header p{color:var(--faint);font-size:var(--text-xs)}.appointment-group>header i{background:var(--line);flex:1;height:1px}.appointment-row{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:11px;cursor:pointer;display:grid;gap:13px;grid-template-columns:32px 1.25fr 1.2fr 1fr auto auto;margin-bottom:6px;padding:10px 13px;transition:.14s}.appointment-row:hover{border-color:#b9cbd0;box-shadow:var(--shadow);transform:translateY(-1px)}.appointment-row--not_started{background:#fffaf1;border-color:#e8c998}.appointment-row>div strong,.appointment-row>div span{display:block}.appointment-row>div strong{font-size:var(--text-body)}.appointment-row>div span{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.appointment-row__signal{align-items:center;color:var(--brand-dark);display:flex;gap:6px}.appointment-row--not_started .appointment-row__signal{color:var(--amber)}.appointment-row__signal span{color:inherit!important;margin:0!important}.appointment-row__actions{align-items:center;display:flex;gap:6px}.empty-row{border:1px dashed var(--line);border-radius:10px;color:var(--faint);font-size:var(--text-body);padding:16px;text-align:center}.cohort-row{display:flex;gap:7px;margin-bottom:12px;overflow:auto;padding-bottom:2px}.cohort-row button{background:var(--surface);border:1px solid var(--line);border-radius:20px;color:var(--muted);font-size:var(--text-sm);padding:6px 10px;white-space:nowrap}.cohort-row button span{margin-left:5px;opacity:.7}.cohort-row button.active{background:var(--brand-wash);border-color:#addde4;color:var(--brand-dark);font-weight:700}.patients-table{overflow:hidden}.patients-table__header,.patient-row{align-items:center;display:grid;gap:14px;grid-template-columns:1.5fr 1fr .8fr 1fr 1fr}.patients-table__header{background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--faint);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;padding:9px 15px;text-transform:uppercase}.patient-row{background:#fff;border:0;border-bottom:1px solid var(--line-soft);padding:11px 15px;text-align:left;width:100%}.patient-row:hover{background:#f6fbfc}.patient-row>div>strong,.patient-row>div>small{display:block}.patient-row>div>strong{font-size:var(--text-body)}.patient-row>div>small{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.patient-cell{align-items:center;display:flex;gap:9px}.patient-cell strong,.patient-cell small{display:block}.patient-cell strong{font-size:var(--text-body)}.patient-cell small{color:var(--muted);font-size:var(--text-xs)}.treatment-state{background:var(--green-wash);border-radius:5px;color:var(--green);display:inline-block;font-size:var(--text-xs);font-weight:700;padding:3px 6px}.treatment-state--attention{background:var(--amber-wash);color:var(--amber)}.table-alert{align-items:center;color:var(--amber);display:inline-flex;font-size:var(--text-xs);gap:5px}.patients-table>footer{color:var(--faint);font-size:var(--text-xs);padding:10px 15px}.appointments-calendar-title{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:18px}.appointments-calendar-toolbar{align-items:center}.filter-chip{align-items:center;background:var(--brand-wash);border:1px solid #addde4;border-radius:20px;color:var(--brand-dark);display:inline-flex;font-size:var(--text-sm);font-weight:700;gap:7px;padding:6px 10px}.filter-chip span{font-size:16px;line-height:1}.appointment-calendar{overflow:hidden}.appointment-calendar__toolbar{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;min-height:64px;padding:10px 14px}.appointment-calendar__toolbar>div{align-items:center;display:flex;gap:7px}.appointment-calendar__toolbar>div:first-child>svg{color:var(--brand-dark)}.appointment-calendar__toolbar strong,.appointment-calendar__toolbar small{display:block}.appointment-calendar__toolbar strong{font-size:var(--text-body);letter-spacing:.07em;text-transform:uppercase}.appointment-calendar__toolbar small{color:var(--muted);font-size:var(--text-xs);margin-top:1px}.appointment-calendar__scroll{overflow-x:auto}.appointment-calendar__header,.appointment-calendar__body{display:grid;grid-template-columns:72px repeat(var(--day-count),minmax(142px,1fr))}.appointment-calendar:not(.appointment-calendar--day) .appointment-calendar__header,.appointment-calendar:not(.appointment-calendar--day) .appointment-calendar__body{min-width:1070px}.appointment-calendar__header{background:var(--surface-2);border-bottom:1px solid var(--line)}.appointment-calendar__time-heading,.appointment-calendar__day-heading{align-items:center;border-right:1px solid var(--line);display:flex;justify-content:center;min-height:58px}.appointment-calendar__time-heading{color:var(--faint);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.appointment-calendar__day-heading{flex-direction:column}.appointment-calendar__day-heading:last-child{border-right:0}.appointment-calendar__day-heading strong{font-size:var(--text-sm)}.appointment-calendar__day-heading small{color:var(--brand-dark);font-size:var(--text-micro);font-weight:700}.appointment-calendar__day-heading.today{background:var(--brand-wash);color:var(--brand-dark)}.appointment-calendar__body{position:relative}.appointment-calendar__times{border-right:1px solid var(--line);position:relative}.appointment-calendar__times span{color:var(--faint);font-size:var(--text-xs);position:absolute;right:10px;transform:translateY(-50%)}.appointment-calendar__day-column{background:repeating-linear-gradient(to bottom,transparent 0,transparent 127px,var(--line-soft) 127px,var(--line-soft) 128px);border-right:1px solid var(--line);position:relative}.appointment-calendar__day-column:last-child{border-right:0}.calendar-event{background:#e8f6f8;border:1px solid #acdce3;border-left:4px solid var(--brand);border-radius:7px;display:flex;flex-direction:column;justify-content:center;left:5px;overflow:hidden;padding:4px 6px;position:absolute;right:5px;text-align:left}.calendar-event:hover{box-shadow:0 5px 14px #09434e24;filter:brightness(.98);z-index:2}.calendar-event strong,.calendar-event small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event strong{font-size:var(--text-xs);line-height:1.2}.calendar-event small{color:var(--muted);font-size:10px;line-height:1.15}.calendar-event--not_started{background:var(--amber-wash);border-color:#e7c88f;border-left-color:var(--amber);color:var(--amber)}.calendar-event--in_consultation{background:var(--brand-wash);border-color:#9bd5dd;border-left-color:var(--brand-dark);color:var(--brand-dark)}.calendar-event--completed{background:var(--green-wash);border-color:#badac8;border-left-color:var(--green);color:var(--green)}.calendar-event--cancelled,.calendar-event--dna{background:var(--red-wash);border-color:#e7bdc3;border-left-color:var(--red);color:var(--red)}.calendar-event--open{background:var(--surface-2);border-color:var(--line);border-left-color:var(--faint);color:var(--muted)}.appointment-calendar__legend{align-items:center;border-top:1px solid var(--line);color:var(--muted);display:flex;flex-wrap:wrap;font-size:var(--text-xs);gap:15px;min-height:44px;padding:8px 13px}.appointment-calendar__legend span{align-items:center;display:flex;gap:6px}.appointment-calendar__legend i{border-radius:3px;height:10px;width:10px}.appointment-calendar__legend .legend-booked{background:var(--brand)}.appointment-calendar__legend .legend-attention{background:var(--amber)}.appointment-calendar__legend .legend-completed{background:var(--green)}.appointment-calendar__legend .legend-closed{background:var(--red)}.appointment-calendar__legend p{margin-left:auto}.calendar-appointment-detail .message-patient-summary{margin-bottom:14px}.calendar-appointment-detail dl{display:grid;font-size:var(--text-body);gap:9px 14px;grid-template-columns:100px 1fr;margin:0}.calendar-appointment-detail dt{color:var(--faint)}.calendar-appointment-detail dd{color:var(--ink-2);font-weight:550;margin:0}.dashboard-heading{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:20px}.dashboard-heading h1{font-family:"DM Serif Display",Georgia,serif;font-size:36px;font-weight:400;letter-spacing:-.018em;line-height:1.15;margin:6px 0 4px}.dashboard-heading p{color:var(--muted)}.dashboard-shortcuts{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.dashboard-shortcut{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);display:flex;gap:12px;min-height:106px;padding:17px;text-align:left;width:100%}button.dashboard-shortcut{cursor:pointer}button.dashboard-shortcut:hover{border-color:#b6d2d7;box-shadow:0 10px 28px -20px #09434e73;transform:translateY(-1px)}.dashboard-shortcut>span:nth-child(2){flex:1;min-width:0}.dashboard-shortcut strong,.dashboard-shortcut small{display:block}.dashboard-shortcut strong{font-size:20px;line-height:1.2}.dashboard-shortcut small{color:var(--muted);font-size:var(--text-sm);line-height:1.35;margin-top:4px}.dashboard-shortcut__icon{align-items:center;background:var(--brand-wash);border-radius:11px;color:var(--brand-dark);display:inline-flex;flex:none;height:48px;justify-content:center;width:48px}.dashboard-shortcut__icon--green{background:var(--green-wash);color:var(--green)}.dashboard-shortcut__badge{align-items:center;aspect-ratio:1;background:var(--brand);border-radius:50%;color:#fff;display:inline-flex;flex:none!important;font-size:var(--text-xs);font-weight:750;height:24px;justify-content:center}.dashboard-shortcut--action>svg{color:var(--faint);flex:none}.dashboard-week{overflow:hidden}.dashboard-week__header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:12px 15px}.dashboard-week__header>div:first-child{align-items:center;display:flex;gap:9px}.dashboard-week__header>div:first-child>svg{color:var(--brand-dark)}.dashboard-week__header strong,.dashboard-week__header small{display:block}.dashboard-week__header strong{font-size:var(--text-body);letter-spacing:.08em;text-transform:uppercase}.dashboard-week__header small{color:var(--muted);font-size:var(--text-sm);margin-top:1px}.dashboard-week__controls{align-items:center;display:flex;gap:5px}.dashboard-week__calendar-scroll{max-height:720px;overflow:auto}.dashboard-week__calendar-header,.dashboard-week__calendar-body{display:grid;grid-template-columns:72px repeat(7,minmax(138px,1fr));min-width:1100px}.dashboard-week__calendar-header{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:8}.dashboard-week__time-heading,.dashboard-week__day-heading{align-items:center;border-right:1px solid var(--line-soft);display:flex;justify-content:center;min-height:58px}.dashboard-week__time-heading{color:var(--faint);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;position:sticky;left:0;text-transform:uppercase;z-index:9}.dashboard-week__day-heading{flex-direction:column}.dashboard-week__day-heading strong{font-size:var(--text-sm)}.dashboard-week__day-heading small{color:var(--brand-dark);font-size:var(--text-micro);font-weight:700}.dashboard-week__day-heading.today{background:var(--brand-wash);color:var(--brand-dark)}.dashboard-week__calendar-body{position:relative}.dashboard-week__time-axis{background:var(--surface-2);border-right:1px solid var(--line);position:sticky;left:0;z-index:5}.dashboard-week__time-axis span{color:var(--faint);font-size:var(--text-xs);position:absolute;right:10px;transform:translateY(-50%)}.dashboard-week__day-column{background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,var(--line-soft) 59px,var(--line-soft) 60px);border-right:1px solid var(--line-soft);position:relative}.dashboard-week__day-column.today{background-color:#079cb206}.dashboard-week__day-column:last-child{border-right:0}.dashboard-appointment{background:#ecf7f9;border:1px solid #b9e1e6;border-left:4px solid var(--brand);border-radius:8px;color:var(--brand-ink);display:flex;flex-direction:column;justify-content:center;left:5px;min-height:54px;overflow:hidden;padding:4px 7px;position:absolute;right:5px;text-align:left}.dashboard-appointment:hover{background:#def2f5;border-color:var(--brand)}.dashboard-appointment span,.dashboard-appointment strong,.dashboard-appointment small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-appointment span{font-size:var(--text-micro);font-weight:750;line-height:1.15}.dashboard-appointment strong{font-size:var(--text-xs);line-height:1.2;margin-top:2px}.dashboard-appointment small{color:var(--muted);font-size:10px;line-height:1.15;margin-top:1px}.dashboard-appointment--cancelled{background:var(--red-wash);border-color:#e5bec3;color:var(--red)}.dashboard-appointment--completed{background:var(--green-wash);border-color:#badac8;color:var(--green)}.dashboard-appointment--dna{background:var(--surface-3);border-color:var(--line);color:var(--muted)}.dashboard-appointment--not_started{background:var(--amber-wash);border-color:#e7c88f;color:var(--amber)}.dashboard-appointment--in_consultation{background:var(--brand-wash);border-color:#86cad4;box-shadow:inset 3px 0 0 var(--brand-dark);color:var(--brand-dark)}.dashboard-appointment--open{background:var(--surface-2);border-style:dashed;color:var(--muted)}.appointment-change-summary{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;display:grid;gap:12px;grid-template-columns:1fr 1.4fr auto;margin-bottom:14px;padding:12px}.appointment-change-summary small,.appointment-change-summary strong{display:block}.appointment-change-summary small{color:var(--faint);font-size:var(--text-xs);text-transform:uppercase}.appointment-change-summary strong{font-size:var(--text-body);margin-top:2px}.appointment-change-warning,.appointment-change-undo,.appointment-change-info{align-items:flex-start;border-radius:9px;display:flex;gap:10px;padding:12px}.appointment-change-warning{background:var(--amber-wash);color:var(--amber)}.appointment-change-undo{background:var(--brand-wash);color:var(--brand-dark)}.appointment-change-info{background:var(--green-wash);color:var(--green)}.appointment-change-warning svg,.appointment-change-undo svg,.appointment-change-info svg{flex:none;margin-top:2px}.appointment-change-warning strong,.appointment-change-warning small,.appointment-change-undo strong,.appointment-change-undo small,.appointment-change-info strong,.appointment-change-info small{display:block}.appointment-change-warning small,.appointment-change-undo small,.appointment-change-info small{color:var(--ink-2);font-size:var(--text-sm);margin-top:3px}.appointment-change-patient{margin-right:auto}.messages-page .page-title-row{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:18px}.inbox-shell{display:grid;grid-template-columns:340px minmax(0,1fr);height:calc(100vh - 176px);min-height:610px;overflow:hidden}.inbox-list{border-right:1px solid var(--line);min-width:0;overflow-y:auto}.inbox-list>header{background:var(--surface);border-bottom:1px solid var(--line);padding:11px;position:sticky;top:0;z-index:2}.inbox-list .search-field{width:100%}.inbox-conversation{align-items:flex-start;background:var(--surface);border:0;border-bottom:1px solid var(--line-soft);display:grid;gap:9px;grid-template-columns:auto minmax(0,1fr) auto;padding:13px 12px;position:relative;text-align:left;width:100%}.inbox-conversation:hover{background:var(--surface-2)}.inbox-conversation.active{background:var(--brand-wash);box-shadow:inset 3px 0 0 var(--brand)}.inbox-conversation>span{min-width:0}.inbox-conversation strong,.inbox-conversation small,.inbox-conversation em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-conversation strong{font-size:var(--text-body)}.inbox-conversation small{color:var(--ink-2);font-size:var(--text-sm);margin-top:2px}.inbox-conversation em{color:var(--faint);font-size:var(--text-xs);font-style:normal;margin-top:4px}.inbox-conversation time{color:var(--faint);font-size:var(--text-micro)}.inbox-conversation b{align-items:center;aspect-ratio:1;background:var(--brand);border-radius:50%;color:#fff;display:inline-flex;font-size:var(--text-micro);height:20px;justify-content:center;position:absolute;right:11px;top:34px}.inbox-conversation.unread strong{color:var(--brand-dark)}.inbox-empty{color:var(--faint);font-size:var(--text-sm);padding:30px 15px;text-align:center}.inbox-thread{display:flex;flex-direction:column;min-height:0}.inbox-thread>header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;min-height:64px;padding:10px 14px}.inbox-thread>header>div{align-items:center;display:flex;gap:9px}.inbox-thread>header strong,.inbox-thread>header small{display:block}.inbox-thread>header strong{font-size:var(--text-body)}.inbox-channel{background:var(--amber-wash);border-radius:5px;color:var(--amber);display:inline-block;font-size:var(--text-micro);font-style:normal;font-weight:700;margin-top:3px;padding:2px 6px}.inbox-thread>header small{align-items:center;color:var(--muted);display:flex;font-size:var(--text-xs);gap:4px;margin-top:2px}.inbox-thread__messages{background:var(--surface-2);display:flex;flex:1;flex-direction:column;gap:10px;overflow-y:auto;padding:20px}.inbox-thread>footer{align-items:flex-end;border-top:1px solid var(--line);display:flex;gap:9px;padding:11px}.inbox-thread>footer textarea{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;flex:1;min-height:44px;outline:none;padding:10px 11px;resize:vertical}.inbox-thread>footer textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #079cb21a}.inbox-no-selection{align-items:center;color:var(--faint);display:flex;flex-direction:column;justify-content:center;text-align:center}.inbox-no-selection h2{color:var(--ink-2);font-size:18px;margin-top:10px}.inbox-no-selection p{font-size:var(--text-sm);margin-top:3px}.availability-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px;padding:18px 20px}.availability-header h1{font-family:"DM Serif Display",Georgia,serif;font-size:30px;font-weight:400;line-height:1.15;margin:4px 0}.availability-header p{color:var(--muted)}.availability-week-tabs{background:var(--surface);border:1px solid var(--line);border-radius:11px 11px 0 0;display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));overflow-x:auto;padding:0 12px}.availability-week-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--muted);font-size:var(--text-sm);font-weight:650;min-height:48px;padding:8px 12px;white-space:nowrap}.availability-week-tabs button:hover{color:var(--brand-dark)}.availability-week-tabs button.active{border-bottom-color:var(--brand);color:var(--brand-dark)}.availability-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.week-control{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:9px;display:flex}.week-control strong{color:var(--brand-dark);font-size:var(--text-body);min-width:140px;padding:0 5px;text-align:center}.availability-toolbar__hint{color:var(--faint);font-size:var(--text-xs);margin-left:auto}.availability-calendar-scroll{overflow-x:auto}.availability-week-grid{display:grid;grid-template-columns:66px repeat(7,minmax(128px,1fr));grid-template-rows:64px 660px;min-width:1000px;overflow:hidden}.availability-time-header{align-items:center;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--faint);display:flex;font-size:var(--text-xs);font-weight:700;grid-column:1;grid-row:1;justify-content:center;letter-spacing:.06em;text-transform:uppercase}.availability-day-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);border-left:1px solid var(--line-soft);display:flex;grid-row:1;justify-content:center;padding:7px;position:relative}.availability-day-header>span{align-items:baseline;display:flex;gap:5px}.availability-day-header strong{font-size:var(--text-body)}.availability-day-header small{color:var(--faint);font-size:var(--text-xs)}.availability-day-header--today{background:var(--brand-wash);color:var(--brand-dark)}.availability-time-axis{background:var(--surface-2);grid-column:1;grid-row:2;position:relative}.availability-time-axis span{color:var(--faint);font-size:var(--text-micro);position:absolute;right:10px;transform:translateY(-50%)}.availability-day-column{border-left:1px solid var(--line-soft);grid-row:2;min-width:0;position:relative}.availability-day-column--today{background:#079cb206}.availability-hour-line{border-top:1px solid var(--line-soft);left:0;pointer-events:none;position:absolute;right:0}.availability-slot{background:#ecf7f96b;border:3px solid var(--surface);border-radius:7px;left:2px;position:absolute;right:2px;transition:background .12s,border-color .12s;z-index:1}.availability-slot:hover,.availability-slot:focus-visible{background:#dff4f7;border-color:#a8dce3;outline:none}.availability-slot:hover:after,.availability-slot:focus-visible:after{color:var(--brand-dark);content:"Add";font-size:var(--text-micro);font-weight:700}.availability-slot--drop-target{background:#cceef2;border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.availability-block{border:1px solid transparent;border-radius:8px;display:flex;flex-direction:column;left:5px;min-height:44px;overflow:hidden;padding:7px 8px;position:absolute;right:5px;text-align:left;transition:border-color .14s,box-shadow .14s,transform .14s;z-index:2}.availability-set-toggle{align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;display:flex;gap:9px;margin-bottom:14px;padding:11px 12px}.availability-set-toggle input{accent-color:var(--brand);margin-top:2px}.availability-set-toggle span{font-size:var(--text-body)}.availability-set-toggle small{color:var(--muted);display:block;font-size:var(--text-xs);margin-top:2px}.availability-block--movable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.availability-block--movable:active{cursor:grabbing}.availability-block--dragging{opacity:.42}.availability-block:hover{border-color:var(--brand-dark);box-shadow:0 7px 16px #0c38441f;transform:translateY(-1px);z-index:3}.availability-block strong,.availability-block small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability-block strong{font-size:var(--text-sm)}.availability-block small{align-items:center;color:currentColor;display:flex;font-size:var(--text-micro);gap:4px;margin-top:auto;opacity:.75;padding-top:4px}.availability-block--compact{justify-content:center;padding:4px 7px}.availability-block--compact strong{font-size:var(--text-xs);line-height:1.15}.availability-block--compact small{line-height:1.1;margin-top:2px;padding-top:0}.availability-block--booked{box-shadow:inset 3px 0 #083e4a5c}.availability-color-0{background:#dff4f7;border-color:#83d2dc;color:#07596a}.availability-color-1{background:#e9efff;border-color:#aebfe8;color:#354f83}.availability-color-2{background:#f0eafa;border-color:#cab8e5;color:#654987}.availability-color-3{background:#e4f4ec;border-color:#a5d7bd;color:#28694a}.availability-color-4{background:#fff0dc;border-color:#e9c48f;color:#885d1f}.availability-color-5{background:#f7e9ec;border-color:#dfb4bd;color:#83414f}.availability-legend{align-items:center;color:var(--muted);display:flex;font-size:var(--text-xs);gap:18px;padding:11px 1px}.availability-legend span{align-items:center;display:flex;gap:6px}.availability-legend i{border:1px solid var(--line);border-radius:3px;height:11px;width:11px}.availability-legend .legend-open{background:#dff4f7;border-color:#83d2dc}.availability-legend .legend-booked{background:#dff4f7;border-color:var(--brand-dark);box-shadow:inset 2px 0 0 var(--brand-dark)}.availability-legend p{margin-left:auto}.availability-form-section+.availability-form-section{border-top:1px solid var(--line-soft);margin-top:18px;padding-top:18px}.availability-form-heading{align-items:flex-start;display:flex;gap:10px;margin-bottom:12px}.availability-form-heading>span{align-items:center;background:var(--brand-wash);border-radius:50%;color:var(--brand-dark);display:flex;flex:none;font-size:var(--text-xs);font-weight:700;height:24px;justify-content:center;width:24px}.availability-form-heading strong,.availability-form-heading small{display:block}.availability-form-heading strong{font-size:var(--text-body)}.availability-form-heading small{color:var(--muted);font-size:var(--text-xs);margin-top:1px}.availability-date-field{margin:0 0 0 34px;max-width:270px}.availability-time-fields{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin:12px 0 0 34px;max-width:560px}.availability-time-fields .field{margin:0}.availability-time-control{align-items:center;display:grid;gap:7px;grid-template-columns:1fr auto 1fr}.availability-time-control b{color:var(--muted);font-size:var(--text-body)}.availability-time-control select{font-variant-numeric:tabular-nums;text-align:center}.availability-repeat-options{display:grid;gap:9px;grid-template-columns:1fr 1fr}.availability-repeat-options label{align-items:flex-start;border:1px solid var(--line);border-radius:9px;cursor:pointer;display:flex;gap:9px;padding:11px}.availability-repeat-options label.active{background:var(--brand-wash);border-color:var(--brand)}.availability-repeat-options label.disabled{cursor:not-allowed;opacity:.5}.availability-repeat-options input{accent-color:var(--brand);margin-top:3px}.availability-repeat-options strong,.availability-repeat-options small{display:block}.availability-repeat-options strong{font-size:var(--text-body)}.availability-repeat-options small{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.availability-preview{align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;display:flex;gap:10px;margin-top:18px;padding:12px}.availability-preview>svg{color:var(--brand-dark);flex:none;margin-top:2px}.availability-preview strong,.availability-preview p{display:block}.availability-preview strong{font-size:var(--text-body)}.availability-preview p{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.booking-protection{align-items:flex-start;background:var(--amber-wash);border-radius:9px;color:var(--amber);display:flex;gap:9px;margin-bottom:14px;padding:10px}.booking-protection{margin-top:14px}.booking-protection>span{flex:1}.booking-protection strong,.booking-protection small{display:block}.booking-protection strong{font-size:var(--text-body)}.booking-protection small{color:var(--ink-2);font-size:var(--text-xs);margin-top:2px}.booking-protection .button{flex:none}.availability-delete{margin-right:auto}.prescription-metrics{display:flex;gap:8px}.prescription-toolbar .segmented{flex:none}.prescriptions-table{overflow:hidden}.prescriptions-table__header,.prescription-row{align-items:center;display:grid;gap:16px;grid-template-columns:1.35fr 1.45fr .9fr 1.15fr .55fr 18px}.prescriptions-table__header{background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--faint);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;padding:10px 16px;text-transform:uppercase}.prescription-row{background:#fff;border:0;border-bottom:1px solid var(--line-soft);padding:14px 16px;text-align:left;transition:.14s ease;width:100%}.prescription-row:hover{background:#f6fbfc}.prescription-row>div>strong,.prescription-row>div>small,.delivery-cell strong,.delivery-cell small{display:block}.prescription-row>div>strong,.delivery-cell strong{font-size:var(--text-body)}.prescription-row>div>small,.delivery-cell small{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.delivery-cell{align-items:flex-start;display:flex;gap:8px}.delivery-cell>svg{color:var(--brand-dark);flex:none;margin-top:2px}.prescription-status{align-items:center;background:var(--green-wash);border-radius:20px;color:var(--green);display:inline-flex;font-size:var(--text-xs);font-weight:700;padding:4px 9px;text-transform:capitalize;white-space:nowrap}.prescription-status--expired{background:var(--surface-3);color:var(--muted)}.prescription-status--cancelled{background:var(--red-wash);color:var(--red)}.prescription-row__arrow{color:var(--faint)}.prescriptions-table>footer{color:var(--faint);font-size:var(--text-xs);padding:11px 16px}.prescription-detail__summary{align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;display:flex;gap:11px;margin-bottom:18px;padding:12px}.prescription-detail__summary>span:nth-child(2){flex:1}.prescription-detail__summary small,.prescription-detail__summary strong,.prescription-detail__summary em{display:block}.prescription-detail__summary small{color:var(--faint);font-size:var(--text-xs);text-transform:uppercase}.prescription-detail__summary strong{font-size:17px}.prescription-detail__summary em{color:var(--muted);font-size:var(--text-sm);font-style:normal}.prescription-detail dl{display:grid;font-size:var(--text-body);gap:10px 16px;grid-template-columns:120px 1fr;margin:0}.prescription-detail dt{color:var(--faint)}.prescription-detail dd{color:var(--ink-2);font-weight:550;margin:0}.prescription-audit-note{align-items:flex-start;background:var(--brand-wash);border-radius:9px;color:var(--brand-dark);display:flex;gap:9px;margin-top:18px;padding:11px}.prescription-audit-note strong,.prescription-audit-note small{display:block}.prescription-audit-note strong{font-size:var(--text-body)}.prescription-audit-note small{color:var(--ink-2);font-size:var(--text-xs);margin-top:2px}.patient-topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.back-button{align-items:center;background:none;border:0;color:var(--brand-dark);display:flex;font-size:var(--text-body);font-weight:650;gap:5px}.patient-actions{display:flex;gap:7px}.patient-layout{align-items:start;display:grid;gap:16px;grid-template-columns:320px minmax(0,1fr)}.patient-sidebar{display:flex;flex-direction:column;gap:14px;position:sticky;top:78px}.patient-identity-card{overflow:hidden}.patient-portrait{align-items:center;background:linear-gradient(150deg,#f5fafb,#eaf2f4);display:flex;flex-direction:column;padding:22px 18px 18px;text-align:center}.patient-portrait h1{font-family:"DM Serif Display",Georgia,serif;font-size:26px;font-weight:400;margin:9px 0 2px}.patient-portrait p{color:var(--muted);font-size:var(--text-sm);margin-bottom:9px}.patient-portrait .access-badge{background:var(--brand-wash);border-radius:5px;color:var(--brand-dark);font-size:var(--text-xs);font-weight:700;margin-top:6px;padding:3px 7px}.identity-details{padding:15px}.identity-details h2{border-left:3px solid var(--brand);font-size:var(--text-body);line-height:1.1;margin:0 0 11px;padding-left:8px}.identity-details h2~h2{margin-top:18px}.identity-details dl{display:grid;font-size:var(--text-body);gap:9px 11px;grid-template-columns:112px 1fr;margin:0}.identity-address{color:var(--ink-2);font-size:var(--text-body);font-weight:550}.identity-details dt{color:var(--faint)}.identity-details dd{color:var(--ink-2);font-weight:550;margin:0;overflow-wrap:anywhere}.treatment-list{padding:12px}.treatment-list article{border:1px solid var(--line);border-radius:9px;margin-bottom:8px;padding:10px}.treatment-list strong,.treatment-list span,.treatment-list small{display:block}.treatment-list strong{font-size:var(--text-body)}.treatment-list span,.treatment-list small{color:var(--muted);font-size:var(--text-xs)}.treatment-list article>div{background:var(--surface-3);border-radius:5px;height:4px;margin:8px 0 5px;overflow:hidden}.treatment-list article>div i{background:var(--brand);display:block;height:100%}.patient-content{min-width:0}.alert-strip{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:14px}.health-records{overflow:hidden}.health-records__body{display:grid;grid-template-columns:232px minmax(0,1fr)}.record-list{border-right:1px solid var(--line);display:flex;flex-direction:column;max-height:620px;overflow-y:auto;padding:12px}.record-list button{background:none;border:1px solid transparent;border-radius:9px;margin-bottom:4px;padding:9px 11px;text-align:left}.record-list button strong{display:block;font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:550}.record-list button small{color:var(--faint);font-size:var(--text-xs)}.record-list button.active{background:var(--brand-wash);border-color:#b8dfe6}.record-list button.active strong{color:var(--brand-dark);font-weight:700}.record-list__empty{color:var(--faint);font-size:var(--text-sm);padding:10px}.record-detail{padding:16px 18px 20px}.record-detail__meta{align-items:center;border-bottom:1px solid var(--line-soft);display:flex;gap:12px;padding-bottom:13px}.record-detail__meta small{color:var(--faint);display:block;font-size:var(--text-xs)}.record-detail__meta strong{font-size:var(--text-body);font-variant-numeric:tabular-nums}.record-detail__readonly{color:var(--faint);font-size:var(--text-xs);margin-left:auto}.record-detail__actions{display:flex;justify-content:flex-end;margin-top:20px}.record-section{padding-top:16px}.record-section>header{align-items:center;display:flex;justify-content:space-between;margin-bottom:9px}.record-section h3{border-left:3px solid var(--brand);font-size:var(--text-body);line-height:1.1;padding-left:8px}.record-empty{color:var(--faint);font-size:var(--text-sm);padding:16px 0;text-align:center}.history-text{color:var(--ink-2);font-size:var(--text-body);line-height:1.55}.history-editor textarea{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;font-family:inherit;font-size:var(--text-body);min-height:120px;padding:11px;resize:vertical;width:100%}.history-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.medication-list article,.proof-image-list article{align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;color:var(--brand-dark);display:flex;gap:11px;margin-bottom:8px;padding:11px 13px}.medication-list strong,.proof-image-list strong{display:block;font-size:var(--text-body)}.medication-list small,.proof-image-list small{color:var(--faint);font-size:var(--text-xs)}.assessment-card{align-items:center;display:grid;gap:26px;grid-template-columns:1fr auto auto;margin-bottom:14px;padding:18px 20px}.assessment-card h2{font-size:17px;margin-top:3px}.assessment-card p{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.assessment-score{align-items:baseline;border-left:1px solid var(--line);display:flex;gap:4px;padding-left:24px}.assessment-score strong{font-size:30px;line-height:1}.assessment-score span{color:var(--faint);font-size:var(--text-body)}.assessment-score em{background:var(--amber-wash);border-radius:5px;color:var(--amber);font-size:var(--text-xs);font-style:normal;font-weight:700;margin-left:8px;padding:3px 6px;text-transform:uppercase}.assessment-change{align-items:center;color:var(--red);display:flex;gap:8px}.assessment-change strong,.assessment-change small{display:block}.assessment-change strong{font-size:var(--text-sm)}.assessment-change small{color:var(--muted);font-size:var(--text-xs)}.record-card{min-height:460px;overflow:hidden}.record-tabs{border-bottom:1px solid var(--line);display:flex;overflow:auto;padding:0 15px}.record-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:var(--text-sm);margin-bottom:-1px;padding:13px 12px;white-space:nowrap}.record-tabs button.active{border-bottom-color:var(--brand);color:var(--brand-dark);font-weight:700}.record-timeline{padding:10px 18px 20px}.record-timeline article{align-items:stretch;display:grid;grid-template-columns:60px 17px 1fr}.record-timeline time{color:var(--faint);font-size:var(--text-xs);padding:13px 8px 0 0;text-align:right}.record-timeline article>span{position:relative}.record-timeline article>span:before{background:var(--line);bottom:0;content:"";left:50%;position:absolute;top:0;width:1px}.record-timeline article>span i{background:#fff;border:2px solid #bdccd1;border-radius:50%;height:8px;left:50%;position:absolute;top:16px;transform:translate(-50%);width:8px}.record-timeline article.current>span i{background:var(--brand);border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-wash)}.record-timeline article>div{border-bottom:1px solid var(--line-soft);padding:10px 0 12px 9px}.record-timeline strong{font-size:var(--text-body)}.record-timeline p{color:var(--ink-2);font-size:var(--text-body);margin:4px 0}.record-timeline small{color:var(--faint);font-size:var(--text-xs)}.questionnaire-list{padding:16px}.questionnaire-list article{align-items:flex-start;border-left:2px solid var(--line);display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:12px;padding:3px 10px}.questionnaire-list article.flagged{border-color:var(--amber)}.questionnaire-list strong,.questionnaire-list small{display:block}.questionnaire-list strong{color:var(--muted);font-size:var(--text-sm)}.questionnaire-list small{color:var(--amber);font-size:var(--text-micro)}.questionnaire-list p{font-size:var(--text-body);font-weight:650}.notes-list{padding:16px}.notes-list article{align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;display:flex;gap:10px;margin-bottom:8px;padding:11px}.notes-list p{color:var(--ink-2);font-size:var(--text-body)}.notes-list small{color:var(--faint);font-size:var(--text-xs)}.patient-prescriptions{padding:14px}.patient-prescriptions>button{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:9px;display:flex;gap:10px;margin-bottom:8px;padding:11px 12px;text-align:left;width:100%}.patient-prescriptions>button:hover{background:var(--surface-2);border-color:#b9cbd0}.patient-prescriptions>button>svg:first-child{color:var(--brand-dark)}.patient-prescriptions>button>span:nth-child(2){flex:1}.patient-prescriptions strong,.patient-prescriptions small{display:block}.patient-prescriptions strong{font-size:var(--text-body)}.patient-prescriptions small{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.empty-tab{align-items:center;color:var(--faint);display:flex;flex-direction:column;padding:75px 20px;text-align:center}.empty-tab h3{color:var(--ink-2);font-size:var(--text-body);margin-top:9px}.empty-tab p{font-size:var(--text-sm);margin-top:3px}.portal-shell--immersive .page{max-width:none}.consult-page{height:calc(100vh - 64px);min-height:680px;padding:12px;width:100%}.consult-header{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;display:grid;gap:16px;grid-template-columns:1fr auto;height:74px;margin-bottom:10px;padding:9px 15px}.consult-header__patient{align-items:center;display:flex;gap:12px}.consult-header__patient h1{font-family:"DM Serif Display",Georgia,serif;font-size:24px;font-weight:400;line-height:1.1}.consult-header__patient>span{border-left:1px solid var(--line);color:var(--muted);font-size:var(--text-sm);padding-left:12px}.consult-communications{align-items:center;display:flex;gap:6px}.communication-button{align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;display:flex;font-size:var(--text-body);gap:7px;min-height:38px;padding:7px 10px}.communication-button--active{background:var(--red-wash);border-color:#e4b9be;color:var(--red)}.pulse-dot{animation:pulse 1.8s infinite;background:var(--brand);border-radius:50%;display:inline-block;height:7px;width:7px}.consult-grid{display:grid;gap:10px;grid-template-columns:minmax(390px,.8fr) minmax(440px,1fr) minmax(420px,1.2fr);height:calc(100% - 84px)}.consult-grid .panel{border-radius:12px;min-height:0;overflow:hidden}.consult-room-list,.context-column,.interaction-column{display:flex;flex-direction:column}.consult-room-list__tabs{border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;padding:0 7px}.consult-room-list__tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:var(--text-body);margin-bottom:-1px;padding:11px 3px}.consult-room-list__tabs button.active{border-bottom-color:var(--brand);color:var(--brand-dark);font-weight:700}.consult-room-list__tabs span{align-items:center;background:var(--brand-wash);border-radius:10px;display:inline-flex;font-size:var(--text-xs);height:20px;justify-content:center;margin-left:5px;min-width:20px}.consult-room-search{align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;color:var(--faint);display:flex;gap:8px;margin:10px;padding:9px 11px}.consult-room-search input{background:transparent;border:0;font-size:var(--text-body);min-width:0;outline:none;width:100%}.consult-room-list__items{flex:1;min-height:0;overflow-y:auto}.consult-room-list__items>button{align-items:flex-start;background:var(--surface);border:0;border-bottom:1px solid var(--line-soft);display:grid;gap:9px;grid-template-columns:auto minmax(0,1fr) auto;padding:13px 12px;position:relative;text-align:left;width:100%}.consult-room-list__items>button:hover{background:var(--surface-2)}.consult-room-list__items>button.active{background:var(--brand-wash);box-shadow:inset 3px 0 0 var(--brand)}.consult-room-list__items>button>span{min-width:0}.consult-room-list__items strong,.consult-room-list__items small,.consult-room-list__items em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.consult-room-list__items strong{font-size:var(--text-body)}.consult-room-list__items small{color:var(--ink-2);font-size:var(--text-sm);margin-top:3px}.consult-room-list__items em,.consult-room-list__items time{color:var(--faint);font-size:var(--text-xs);font-style:normal}.consult-room-list__items em{margin-top:4px}.consult-room-list__items b{align-items:center;background:var(--brand);border-radius:50%;color:#fff;display:flex;font-size:var(--text-micro);height:20px;justify-content:center;position:absolute;right:8px;top:34px;width:20px}.consult-room-list__items button.unread strong{color:var(--brand-dark)}.consult-room-empty{color:var(--faint);font-size:var(--text-body);padding:25px 12px;text-align:center}.context-tabs{border-bottom:1px solid var(--line);display:flex;padding:0 9px}.context-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);flex:1;font-size:var(--text-body);margin-bottom:-1px;padding:10px 4px;text-transform:capitalize}.context-tabs button.active{border-bottom-color:var(--brand);color:var(--brand-dark);font-weight:700}.context-scroll{flex:1;overflow:auto;padding:12px}.context-scroll section{margin-bottom:17px}.room-patient-identity{align-items:center;display:flex;gap:9px}.room-patient-identity h3{font-size:17px}.room-patient-identity p{color:var(--muted);font-size:var(--text-sm);margin-top:3px}.room-patient-details{display:grid;font-size:var(--text-body);gap:7px 10px;grid-template-columns:78px minmax(0,1fr);margin:0}.room-patient-details dt{color:var(--faint)}.room-patient-details dd{font-weight:600;margin:0;overflow-wrap:anywhere}.room-center-questionnaire{display:flex;flex-direction:column;gap:9px;margin-top:9px}.room-center-questionnaire p{margin:0}.room-center-questionnaire strong{display:block;font-size:var(--text-sm)}.room-center-questionnaire span{color:var(--muted);font-size:var(--text-body)}.room-center-documents{display:flex;flex-direction:column;gap:6px;margin-top:9px}.room-center-documents a{align-items:center;color:var(--brand-dark);display:flex;font-size:var(--text-body);gap:6px}.context-scroll section>h2{align-items:center;color:var(--faint);display:flex;font-size:var(--text-xs);gap:7px;letter-spacing:.1em;margin:0 0 8px;text-transform:uppercase}.context-scroll section>h2:after{background:var(--line-soft);content:"";flex:1;height:1px}.context-scroll .clinical-alert{margin-bottom:6px;padding:8px}.context-treatment{align-items:flex-start;border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;margin-bottom:6px;padding:8px}.context-treatment svg{color:var(--brand-dark)}.context-treatment strong,.context-treatment span{display:block}.context-treatment strong{font-size:var(--text-body)}.context-treatment span{color:var(--muted);font-size:var(--text-sm)}.context-score{align-items:baseline;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;display:flex;padding:9px 10px}.context-score strong{font-size:22px}.context-score span{color:var(--faint);font-size:var(--text-body);margin-left:3px}.context-score em{background:var(--amber-wash);border-radius:5px;color:var(--amber);font-size:var(--text-xs);font-style:normal;font-weight:700;margin-left:auto;padding:3px 6px;text-transform:uppercase}.summary-answer{border-left:2px solid var(--line);margin-bottom:9px;padding-left:9px}.summary-answer.flagged{border-color:var(--amber)}.summary-answer span,.summary-answer strong,.summary-answer small{display:block}.summary-answer span{color:var(--muted);font-size:var(--text-sm)}.summary-answer strong{font-size:var(--text-body);margin-top:2px}.summary-answer small{color:var(--amber);font-size:var(--text-xs);margin-top:2px}.questionnaire-record-button{align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;color:var(--brand-dark);display:flex;gap:9px;padding:10px;text-align:left;width:100%}.questionnaire-record-button:hover{background:var(--brand-wash);border-color:#a9dce3}.questionnaire-record-button span{flex:1}.questionnaire-record-button strong,.questionnaire-record-button small{display:block}.questionnaire-record-button strong{color:var(--ink);font-size:var(--text-body)}.questionnaire-record-button small{color:var(--muted);font-size:var(--text-sm);margin-top:2px}.room-patient-actions button{align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;color:var(--brand-dark);display:flex;gap:10px;margin-bottom:7px;padding:11px 12px;text-align:left;width:100%}.room-patient-actions button:hover{background:var(--brand-wash);border-color:#a9dce3}.room-patient-actions button span{flex:1;min-width:0}.room-patient-actions strong,.room-patient-actions small{display:block}.room-patient-actions strong{color:var(--ink);font-size:var(--text-body)}.room-patient-actions small{color:var(--muted);font-size:var(--text-sm);margin-top:3px}.room-patient-actions .action-check{color:var(--green);flex:none}.patient-reported-notice{background:var(--brand-wash);border-radius:7px;color:var(--brand-dark);font-size:var(--text-xs);font-weight:650;margin-bottom:10px;padding:6px 8px}.history-item{border-left:1px solid var(--line);padding:0 0 13px 10px}.history-item time,.history-item strong{font-size:var(--text-body)}.history-item time{color:var(--faint);display:block}.history-item p{color:var(--muted);font-size:var(--text-sm);margin-top:3px}.interaction-column{position:relative}.interaction-header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;min-height:40px;padding:8px 12px}.interaction-header>div{align-items:center;display:flex;font-size:var(--text-sm);gap:6px}.interaction-header>span{color:var(--faint);font-size:var(--text-micro)}.messages{background:var(--surface-2);display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;overflow:auto;padding:12px}.system-message{align-self:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;color:var(--faint);font-size:var(--text-micro);padding:4px 9px}.message{display:flex;flex-direction:column;max-width:76%}.message p{border-radius:11px;font-size:var(--text-reading);line-height:1.55;padding:9px 11px}.message time{color:var(--faint);font-size:var(--text-micro);margin:2px 3px}.message-meta{align-items:center;display:flex;gap:6px}.message-read-status{color:var(--faint);font-size:var(--text-micro)}.message--patient{align-self:flex-start}.message--patient p{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:3px}.message--customer_service{align-self:flex-start}.message--customer_service p{background:var(--amber-wash);border:1px solid #ead1a5;border-bottom-left-radius:3px}.message--clinician{align-items:flex-end;align-self:flex-end}.message--clinician p{background:var(--brand);border-bottom-right-radius:3px;color:#fff}.message-composer{border-top:1px solid var(--line);padding:8px 10px 10px}.quick-messages{display:flex;gap:5px;margin-bottom:7px;overflow:auto}.quick-messages button{background:var(--surface);border:1px solid var(--line);border-radius:14px;color:var(--muted);font-size:var(--text-micro);padding:4px 8px;white-space:nowrap}.message-composer>div:last-child{align-items:flex-end;display:flex;gap:7px}.message-composer textarea{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;flex:1;font-size:var(--text-body);height:42px;outline:none;padding:9px 10px;resize:none}.message-attachment{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--muted);cursor:pointer;display:flex;height:38px;justify-content:center;width:38px}.message-attachment:hover{background:var(--brand-wash);color:var(--brand-dark)}.message-attachment.is-disabled{cursor:not-allowed;opacity:.5}.message-image{border-radius:11px;display:block;max-height:220px;max-width:100%;object-fit:cover}.message-file{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:11px;color:var(--brand-dark);display:inline-flex;font-size:var(--text-reading);gap:6px;padding:9px 11px;text-decoration:none}.message-call{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:11px;color:var(--muted);display:inline-flex;font-size:var(--text-reading);gap:6px;padding:9px 11px}.message--clinician .message-call{background:var(--brand-wash);color:var(--brand-dark)}.message-composer .button{min-height:38px;padding:7px 10px}.call-window{background:linear-gradient(150deg,#17414c,#0a2630);border:1px solid rgba(255,255,255,.12);border-radius:13px;bottom:22px;box-shadow:0 22px 54px #04161c6b;color:#fff;overflow:hidden;position:fixed;right:22px;width:320px;z-index:60}.call-window--voice{width:244px}.call-window--dragging{box-shadow:0 26px 64px #04161c80;-webkit-user-select:none;user-select:none}.call-window--minimised{align-items:center;display:flex;gap:6px;padding-right:8px;width:auto}.call-window--minimised .call-window__title strong{max-width:140px}.call-window__bar{align-items:center;cursor:grab;display:flex;gap:9px;padding:9px 10px}.call-window--dragging .call-window__bar{cursor:grabbing}.call-window__bar>svg{color:#8fd3de;flex:none}.call-window__grip{background-image:radial-gradient(rgba(255,255,255,.45) 1px,transparent 1px);background-size:3px 3px;flex:none;height:14px;width:8px}.call-window__title{flex:1;min-width:0}.call-window__title strong{display:block;font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-window__title small{color:#fff9;display:block;font-size:var(--text-micro);font-variant-numeric:tabular-nums;margin-top:1px}.call-window__icon{background:#ffffff1f;border:0;border-radius:7px;color:#fff;display:grid;height:26px;place-items:center;width:26px}.call-window__icon:hover{background:#ffffff38}.call-window__body{padding:0 10px 10px;position:relative}.call-window__stage{background:#0d2f38;border-radius:10px;display:grid;height:176px;min-height:150px;place-items:center;position:relative}.call-window__remote{text-align:center}.call-window__remote p{font-size:var(--text-sm);margin-top:7px}.call-window__remote small{color:#fff9;font-size:var(--text-micro)}.call-window__self-wrap{bottom:9px;height:52px;position:absolute;right:9px;width:74px}.call-window__player{border-radius:8px;height:100%;overflow:hidden;width:100%}.call-window__player--remote{border-radius:10px;inset:0;position:absolute;z-index:1}.call-window__player video{height:100%;object-fit:cover;width:100%}.call-window__self{align-items:center;background:#24545f;border:2px solid rgba(255,255,255,.22);border-radius:8px;display:flex;flex-direction:column;font-size:var(--text-xs);font-weight:700;gap:3px;height:100%;justify-content:center;width:100%}.call-window__self--off{background:#ffffff0f;color:#ffffff8c}.call-window__self--off span{font-size:9px;font-weight:600}.call-window__resize{bottom:2px;cursor:nwse-resize;height:16px;position:absolute;right:2px;width:16px}.call-window__resize:after{border-bottom:2px solid rgba(255,255,255,.35);border-right:2px solid rgba(255,255,255,.35);bottom:4px;content:"";height:7px;position:absolute;right:4px;width:7px}.call-window__resize:hover:after{border-color:#ffffffb3}.call-window__voice{align-items:center;background:#0d2f38;border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:18px 12px}.call-window__voice strong{font-size:var(--text-body)}.call-window__voice small{color:#fff9;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.call-window__controls{display:flex;gap:8px;justify-content:center;margin-top:10px}.call-window__controls button{background:#ffffff21;border:1px solid rgba(255,255,255,.16);border-radius:50%;color:#fff;display:grid;height:38px;place-items:center;width:38px}.call-window__controls button:hover{background:#ffffff38}.call-window__controls button.off{background:#ffffff0f;color:#ffffff8c}.call-window__end,.call-window__controls .call-window__end{background:var(--red);border-color:transparent}.call-window__end:hover,.call-window__controls .call-window__end:hover{background:#9d3242}.call-window__end--compact{border:0;border-radius:7px;color:#fff;display:grid;height:26px;place-items:center;width:26px}.complete-button{align-items:center;background:var(--navy);border:0;color:#fff;display:flex;flex:none;font-size:var(--text-body);font-weight:700;gap:7px;justify-content:center;min-height:46px;width:100%}.complete-button:hover{background:var(--brand-dark)}.patient-confirm{align-items:center;background:var(--brand-wash);border-radius:9px;color:var(--brand-dark);display:flex;gap:9px;margin-bottom:15px;padding:10px}.patient-confirm small,.patient-confirm strong{display:block}.patient-confirm small{font-size:var(--text-micro);text-transform:uppercase}.patient-confirm strong{color:var(--ink);font-size:var(--text-sm)}.prescription-form--full{display:grid;gap:12px}.prescription-form--full .patient-confirm{margin-bottom:0}.eprescription-section{border:1px solid var(--line);border-radius:10px;overflow:hidden}.eprescription-section>header{align-items:center;background:var(--surface-2);border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;min-height:50px;padding:9px 12px}.eprescription-section>header>div{align-items:center;display:flex;gap:9px}.eprescription-section>header>div>span{color:var(--brand);font-size:var(--text-micro);font-weight:800;letter-spacing:.08em}.eprescription-header-actions{display:flex;flex-wrap:wrap;gap:7px}.eprescription-section h3{font-size:var(--text-body)}.eprescription-section>textarea{background:var(--surface);border:0;display:block;line-height:1.6;min-height:110px;outline:none;overflow:hidden;padding:12px;resize:none;width:100%}.eprescription-section>textarea[readonly]{background:#fbfcfc;color:var(--ink-2)}.eprescription-medications{display:grid;gap:7px;grid-template-columns:1fr;padding:11px}.eprescription-medications article{align-items:flex-start;border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;padding:9px}.eprescription-medications article>svg{color:var(--brand-dark);flex:none}.eprescription-medications strong,.eprescription-medications small{display:block}.eprescription-medications strong{font-size:var(--text-sm)}.eprescription-medications small{color:var(--muted);font-size:var(--text-micro);margin-top:2px}.eprescription-medication-editor{background:var(--surface-2);display:grid;gap:10px;padding:11px}.medication-row{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px}.medication-row__grid{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 96px 38px}.medication-row__quantity input{text-align:center}.medication-row__remove{margin-bottom:3px}.medicine-picker{position:relative}.medicine-picker>span{color:var(--ink);display:block;font-size:var(--text-xs);font-weight:700;margin-bottom:5px}.medicine-picker__trigger{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:9px;display:flex;gap:8px;min-height:44px;padding:7px 11px;text-align:left;transition:.15s ease;width:100%}.medicine-picker__trigger>svg{color:var(--faint);flex:none;transition:transform .15s ease}.medicine-picker__trigger:hover{border-color:#a9dce3}.medicine-picker__trigger.open{border-color:var(--brand);box-shadow:0 0 0 3px #03a0b51f}.medicine-picker__trigger.open>svg{transform:rotate(180deg)}.medicine-picker__placeholder{color:var(--faint);flex:1;font-size:var(--text-body)}.medicine-picker__value{flex:1;min-width:0}.medicine-picker__value strong{color:var(--brand-dark);display:block;font-size:var(--text-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.medicine-picker__value small{color:var(--muted);display:block;font-size:var(--text-xs);margin-top:2px}.medicine-picker__panel{background:var(--surface-2);border:1px solid #b8dfe6;border-radius:11px;margin-top:11px;overflow:hidden}.medicine-picker__search{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);color:var(--faint);display:flex;gap:8px;padding:11px 13px}.medicine-picker__search input{background:transparent;border:0;font-size:var(--text-body);outline:none;width:100%}.medicine-picker__results{max-height:288px;overflow-y:auto;padding:7px}.medicine-picker__results>button{background:var(--surface);border:1px solid var(--line-soft);border-radius:9px;display:block;margin-bottom:6px;padding:11px 12px;text-align:left;width:100%}.medicine-picker__results>button:hover{background:var(--brand-wash);border-color:#a9dce3}.medicine-picker__results>button.selected{background:var(--brand-wash);border-color:#a9dce3}.medicine-picker__results>button strong{color:var(--brand-dark);font-size:var(--text-body)}.medicine-picker__results>button em{color:var(--muted);display:block;font-size:var(--text-sm);font-style:normal;margin-top:1px}.medicine-picker__results dl{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin:9px 0 0}.medicine-picker__results dt{color:var(--faint);font-size:var(--text-micro);letter-spacing:.04em;text-transform:uppercase}.medicine-picker__results dd{color:var(--ink-2);font-size:var(--text-sm);font-weight:600;margin:2px 0 0}.medicine-picker__empty{color:var(--faint);font-size:var(--text-sm);padding:22px 12px;text-align:center}.eprescription-add-empty{align-items:center;background:var(--surface);border:1px dashed #a9dce3;border-radius:9px;color:var(--brand-dark);display:flex;font-size:var(--text-sm);font-weight:700;gap:7px;justify-content:center;min-height:70px;width:100%}.icon-button--danger{color:var(--red)}.review-medication{display:block;margin-bottom:3px}.eprescription-empty{color:var(--faint);font-size:var(--text-sm);padding:22px 12px;text-align:center}.proof-file-list{display:flex;flex-wrap:wrap;gap:7px;padding:12px}.proof-file-list span{align-items:center;background:var(--brand-wash);border-radius:7px;color:var(--brand-dark);display:flex;font-size:var(--text-xs);gap:5px;padding:6px 8px}.review-warning{align-items:flex-start;background:var(--amber-wash);border-radius:9px;color:var(--amber);display:flex;gap:9px;margin-bottom:15px;padding:10px}.review-warning strong,.review-warning small{display:block}.review-warning strong{font-size:var(--text-sm)}.review-warning small{font-size:var(--text-xs);margin-top:2px}.prescription-review dl{display:grid;font-size:var(--text-body);gap:9px 14px;grid-template-columns:100px 1fr;margin:0}.prescription-review dt{color:var(--faint)}.prescription-review dd{font-weight:600;margin:0}.danger-text{color:var(--red)}.prescription-success{align-items:center;display:flex;flex-direction:column;padding:15px;text-align:center}.prescription-success>span{background:var(--green-wash);border-radius:50%;color:var(--green);display:grid;height:52px;place-items:center;width:52px}.prescription-success h3{font-family:"DM Serif Display",Georgia,serif;font-size:23px;font-weight:400;margin:10px 0 4px}.prescription-success p{color:var(--muted);font-size:var(--text-sm);margin-bottom:15px}.prescription-success>div{align-items:center;color:var(--green);display:flex;font-size:var(--text-sm);gap:6px;margin-top:4px}.questionnaire-page{margin:0 auto;max-width:1240px}.questionnaire-page>.back-button{margin-bottom:14px}.questionnaire-hero{align-items:center;display:flex;justify-content:space-between;padding:20px}.questionnaire-hero__patient{align-items:center;display:flex;gap:13px}.questionnaire-hero__patient small{color:var(--brand-dark);font-size:var(--text-xs);font-weight:700;letter-spacing:.09em;text-transform:uppercase}.questionnaire-hero__patient h1{font-family:"DM Serif Display",Georgia,serif;font-size:30px;font-weight:400;line-height:1.15;margin-top:2px}.questionnaire-hero__patient p{color:var(--muted);font-size:var(--text-sm);margin-top:3px}.questionnaire-hero__metrics{display:flex}.questionnaire-hero__metrics>span{align-items:flex-start;border-left:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;min-width:112px;padding:3px 16px}.questionnaire-hero__metrics>span>svg{color:var(--green);grid-row:1/3;margin:4px 7px 0 0}.questionnaire-hero__metrics strong,.questionnaire-hero__metrics small{display:block}.questionnaire-hero__metrics strong{font-size:20px;line-height:1.15}.questionnaire-hero__metrics small{color:var(--faint);font-size:var(--text-xs)}.questionnaire-hero__metrics .warning strong{color:var(--amber)}.questionnaire-summary{align-items:center;display:flex;justify-content:space-between;margin-top:14px;padding:14px 18px}.questionnaire-summary>div{align-items:center;display:flex;gap:10px}.questionnaire-summary>div>svg{color:var(--brand-dark)}.questionnaire-summary strong,.questionnaire-summary small{display:block}.questionnaire-summary strong{font-size:var(--text-body)}.questionnaire-summary small{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.patient-reported-pill{align-items:center;background:var(--brand-wash);border-radius:16px;color:var(--brand-dark);display:flex;font-size:var(--text-xs);font-weight:650;gap:5px;padding:6px 9px}.questionnaire-results{margin-top:14px;overflow:hidden}.questionnaire-results>header{background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--faint);display:grid;font-size:var(--text-xs);font-weight:700;grid-template-columns:1fr 1.2fr;letter-spacing:.08em;padding:10px 18px 10px 66px;text-transform:uppercase}.questionnaire-results article{align-items:start;border-bottom:1px solid var(--line-soft);display:grid;gap:18px;grid-template-columns:32px 1fr 1.2fr;padding:18px}.questionnaire-results article:last-of-type{border-bottom:0}.questionnaire-results article.flagged{background:#fffaf1;box-shadow:inset 3px 0 0 var(--amber)}.question-number{align-items:center;background:var(--surface-3);border-radius:50%;color:var(--muted);display:flex;font-size:var(--text-micro);font-weight:700;height:30px;justify-content:center;width:30px}.questionnaire-results article.flagged .question-number{background:var(--amber-wash);color:var(--amber)}.questionnaire-results article small{color:var(--faint);display:block;font-size:var(--text-micro);letter-spacing:.07em;margin-bottom:4px;text-transform:uppercase}.questionnaire-results article strong{font-size:var(--text-body)}.questionnaire-results article p{font-size:var(--text-reading);font-weight:650}.questionnaire-results article em{align-items:center;color:var(--muted);display:flex;font-size:var(--text-xs);font-style:normal;gap:4px;margin-top:6px}.questionnaire-results article.flagged em{color:var(--amber);font-weight:650}.questionnaire-empty{align-items:center;color:var(--faint);display:flex;flex-direction:column;padding:70px 20px;text-align:center}.questionnaire-empty h2{color:var(--ink-2);font-size:18px;margin-top:10px}.questionnaire-empty p{font-size:var(--text-sm);margin-top:3px}.completion-page{margin:0 auto;max-width:860px;padding:70px 30px}.completion-hero{align-items:center;display:flex;flex-direction:column;text-align:center}.completion-icon{background:var(--green-wash);border:1px solid #b8dcc8;border-radius:50%;color:var(--green);display:grid;height:58px;margin-bottom:16px;place-items:center;width:58px}.completion-hero h1{font-family:"DM Serif Display",Georgia,serif;font-size:38px;font-weight:400;margin-top:4px}.completion-hero>p{align-items:center;color:var(--muted);display:flex;font-size:var(--text-body);gap:6px;margin-top:4px}.completion-results{display:flex;gap:18px;margin-top:20px}.completion-results span{align-items:center;color:var(--green);display:flex;font-size:var(--text-xs);gap:5px}.next-consult-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);margin-top:42px;overflow:hidden}.next-consult-label{background:var(--brand-wash);color:var(--brand-dark);font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;padding:8px 18px;text-transform:uppercase}.next-consult-content{align-items:center;display:flex;gap:14px;padding:20px}.next-consult-content>div{flex:1}.next-consult-content h2{font-family:"DM Serif Display",Georgia,serif;font-size:25px;font-weight:400}.next-consult-content p{color:var(--muted);font-size:var(--text-sm)}.next-consult-content span{align-items:center;color:var(--brand-dark);display:flex;font-size:var(--text-xs);gap:5px;margin-top:6px}.completion-secondary{align-items:center;display:flex;gap:14px;justify-content:center;margin-top:18px}.today-v2-page{max-width:1500px}.today-v2-header{margin-bottom:22px}.today-calendar{overflow:hidden}.today-calendar__title{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;min-height:64px;padding:10px 16px}.today-calendar__title>div{align-items:center;display:flex;gap:9px}.today-calendar__title svg{color:var(--brand-dark)}.today-calendar__title strong,.today-calendar__title small{display:block}.today-calendar__title strong{font-size:var(--text-body);letter-spacing:.07em;text-transform:uppercase}.today-calendar__title small{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.today-calendar__scroll{max-height:720px;overflow:auto}.today-calendar__header,.today-calendar__row{align-items:center;display:grid;gap:12px;grid-template-columns:120px minmax(210px,1.3fr) minmax(110px,.65fr) 120px minmax(270px,auto);min-width:900px;padding:0 14px}.today-calendar__header{background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;min-height:42px;position:sticky;text-transform:uppercase;top:0;z-index:4}.today-calendar__row{border-bottom:1px solid var(--line-soft);min-height:72px;position:relative}.today-calendar__row:last-child{border-bottom:0}.today-calendar__row:before{border-top:1px dashed rgba(207,221,225,.5);content:"";left:0;pointer-events:none;position:absolute;right:0;top:50%}.today-calendar__row>*{position:relative;z-index:1}.today-calendar__row>time{color:var(--ink);font-size:var(--text-sm);font-weight:750;white-space:nowrap}.today-calendar__row--empty{color:var(--faint);min-height:48px}.today-calendar__row--empty:before{top:100%}.today-calendar__empty-slot{color:var(--faint);font-size:var(--text-xs)}.today-calendar__row--current{background:#eaf9fb;box-shadow:inset 4px 0 var(--teal)}.today-calendar__row--cancelled{background:#fff5f6}.today-calendar__row--completed{background:#f8faf9;color:var(--muted)}.today-calendar__note{border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);min-height:42px;padding:12px 20px}.today-v2-list{overflow:hidden}.today-v2-list__header,.today-v2-row{align-items:center;display:grid;gap:18px;grid-template-columns:105px minmax(260px,1.5fr) minmax(150px,.7fr) 150px minmax(300px,auto);padding:14px 20px}.today-v2-list__header{background:#f5f8f9;border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.today-v2-row{border-bottom:1px solid var(--line);min-height:84px;transition:background .15s,box-shadow .15s}.today-v2-row:last-child{border-bottom:0}.today-v2-row--current{background:#eaf9fb;box-shadow:inset 4px 0 var(--teal)}.today-v2-row--cancelled{background:#fff5f6}.today-v2-row--completed{background:#f8faf9;color:var(--muted)}.today-v2-row>time{color:var(--ink);font-size:var(--text-md);font-weight:700}.today-v2-row>time small{color:var(--muted);display:block;font-size:var(--text-xs);font-weight:500}.today-v2-patient{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;gap:12px;min-width:0;padding:0;text-align:left}.today-v2-patient:disabled{cursor:default}.today-v2-patient>span{min-width:0}.today-v2-patient strong,.today-v2-patient small{display:block}.today-v2-patient small{color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-v2-status-button{background:transparent;border:0;border-radius:20px;cursor:pointer;justify-self:start;padding:0}.today-v2-status-button:hover .status-badge,.today-v2-status-button:focus-visible .status-badge{box-shadow:0 0 0 3px #b4384424;text-decoration:underline}.today-v2-actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.today-v2-actions .icon-button{background:#fff}.dashboard-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}.questionnaire-record-link{align-items:center;display:flex;gap:16px;min-height:180px;padding:28px}.questionnaire-record-link>div{flex:1}.questionnaire-record-link h3{margin:0 0 5px}.questionnaire-record-link p{color:var(--muted);margin:0}.preconsult-summary{background:#f5fafb;border:1px solid #d6e8eb!important;border-radius:9px;margin:10px;padding:12px!important}.preconsult-summary dl{display:grid;gap:4px;margin:0 0 9px}.preconsult-summary dt{color:var(--muted);font-size:var(--text-sm);font-weight:700;margin-top:6px}.preconsult-summary dd{font-size:var(--text-body);margin:0}.preconsult-flags{border-top:1px solid var(--line);margin-top:8px;padding-top:9px}.preconsult-flags>strong{font-size:var(--text-sm);text-transform:uppercase}.preconsult-flags p{align-items:flex-start;color:#9e5a18;display:flex;font-size:var(--text-body);gap:6px;margin:8px 0}.preconsult-flags small{color:var(--muted);white-space:nowrap}.availability-day-picker{display:grid;gap:8px;margin-top:14px}.availability-day-picker>span{color:var(--muted);font-size:var(--text-xs);font-weight:600}.availability-day-picker>div{display:grid;gap:7px;grid-template-columns:repeat(7,1fr)}.availability-day-picker button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:flex;font:inherit;font-size:var(--text-xs);gap:4px;justify-content:center;min-height:38px}.availability-day-picker button.active{background:#e5f7f9;border-color:var(--teal);color:var(--brand-dark);font-weight:700}.products-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:16px}.product-filters{align-items:end;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;margin-bottom:14px;padding:16px}.product-filters .field{margin-bottom:0}.product-filters__actions{display:flex;gap:8px}.product-table-card{overflow:hidden}.product-table__scroll{overflow-x:auto}.product-table{border-collapse:collapse;min-width:1080px;width:100%}.product-table th{background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--faint);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;padding:11px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.product-table td{border-bottom:1px solid var(--line-soft);color:var(--ink-2);font-size:var(--text-body);padding:11px 12px;vertical-align:middle}.product-table tbody tr:hover td{background:var(--surface-2)}.product-table td strong{color:var(--ink);font-weight:650}.product-table__numeric{font-variant-numeric:tabular-nums;text-align:right}.product-table__sku{color:var(--muted);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-sm);white-space:nowrap}.product-thumb{align-items:center;background:var(--brand-wash);border:1px solid #d3eaee;border-radius:8px;color:var(--brand-dark);display:inline-flex;height:34px;justify-content:center;width:34px}.product-status{border-radius:6px;display:inline-block;font-size:var(--text-xs);font-weight:700;padding:3px 8px;white-space:nowrap}.product-status--active{background:var(--green-wash);color:var(--green)}.product-status--low_stock{background:var(--amber-wash);color:var(--amber)}.product-status--out_of_stock{background:var(--red-wash);color:var(--red)}.product-status--inactive{background:var(--surface-2);color:var(--faint)}.product-empty{align-items:center;color:var(--faint);display:flex;flex-direction:column;padding:60px 20px;text-align:center}.product-empty h3{color:var(--ink-2);font-size:var(--text-body);margin-top:9px}.product-empty p{font-size:var(--text-sm);margin-top:3px}.product-pagination{align-items:center;border-top:1px solid var(--line);display:flex;gap:14px;justify-content:flex-end;padding:12px 16px}.product-pagination__total{color:var(--muted);font-size:var(--text-sm);margin-right:auto}.product-pagination__size select{background:var(--surface);border:1px solid var(--line);border-radius:8px;font-size:var(--text-sm);min-height:34px;padding:6px 9px}.product-pagination__pages{align-items:center;display:flex;gap:5px}.product-pagination__page{background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink-2);font-size:var(--text-sm);font-variant-numeric:tabular-nums;min-height:32px;min-width:32px}.product-pagination__page:hover{border-color:#a9dce3}.product-pagination__page.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}.product-pagination__goto{align-items:center;color:var(--muted);display:flex;font-size:var(--text-sm);gap:7px}.product-pagination__goto input{border:1px solid var(--line);border-radius:8px;font-size:var(--text-sm);min-height:34px;padding:6px;text-align:center;width:54px}@media(max-width:1380px){.today-v2-list__header,.today-v2-row{grid-template-columns:90px minmax(220px,1fr) 135px minmax(280px,auto)}.today-v2-list__header>span:nth-child(3),.today-v2-row>span:nth-child(3){display:none}.dashboard-grid{grid-template-columns:minmax(0,1fr) 320px}.dashboard-grid--single{grid-template-columns:minmax(0,1fr)}.consult-grid{grid-template-columns:minmax(290px,.8fr) minmax(330px,1fr) minmax(340px,1.2fr);height:auto;min-height:720px}}@media(max-width:1080px){.product-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.product-filters__actions{grid-column:1/-1}.medication-row__grid{grid-template-columns:minmax(0,1fr) 96px 38px}.medicine-picker{grid-column:1/-1}.today-v2-list{overflow-x:auto}.today-v2-list__header,.today-v2-row{min-width:860px}.today-calendar__title{align-items:flex-start;gap:10px}.portal-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:19px 10px 11px}.sidebar .brand{justify-content:center;padding:0 0 25px}.sidebar .brand>span:last-child,.sidebar nav a>span:not(.nav-badge),.nav-coming>span,.nav-coming small,.nav-label,.sidebar__profile>span:not(.avatar),.sidebar__profile .icon-button{display:none}.sidebar nav a,.nav-coming{justify-content:center;padding:9px}.nav-badge{margin:-21px -7px 0 -5px}.sidebar__profile{justify-content:center}.dashboard-grid{grid-template-columns:1fr}.dashboard-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.inbox-shell{grid-template-columns:300px minmax(0,1fr)}.consult-page{height:auto;min-height:calc(100vh - 64px)}.consult-grid{grid-template-columns:205px 235px minmax(300px,1fr);min-height:720px}.consult-header{grid-template-columns:1fr;height:auto}.consult-communications{grid-column:1/-1;grid-row:2;justify-content:flex-end}.consult-grid{height:auto}.patients-table__header,.patient-row{grid-template-columns:1.5fr 1fr 1fr}.patients-table__header span:nth-child(3),.patients-table__header span:nth-child(5),.patient-row>div:nth-child(3),.patient-row>div:nth-child(5){display:none}.availability-header{align-items:flex-start}.availability-week-grid{min-width:980px}.availability-day-header .icon-button{opacity:1}.availability-toolbar__hint{margin-left:0;width:100%}.prescriptions-table__header,.prescription-row{grid-template-columns:1.3fr 1.4fr .85fr .55fr 18px}.prescriptions-table__header span:nth-child(4),.prescription-row>div:nth-child(4){display:none}}@media(max-width:760px){.login-page{grid-template-columns:1fr}.login-panel{display:none}.login-form-wrap{min-height:100vh;padding:28px}.mobile-login-logo{display:inline-flex}.portal-shell{display:block}.sidebar{box-shadow:12px 0 38px #0a222a29;left:-250px;position:fixed;top:0;transition:left .2s;width:230px}.sidebar--open{left:0}.sidebar .brand{justify-content:flex-start}.sidebar .brand>span:last-child,.sidebar nav a>span:not(.nav-badge),.nav-coming>span,.nav-coming small,.nav-label,.sidebar__profile>span:not(.avatar),.sidebar__profile .icon-button{display:block}.sidebar nav a,.nav-coming{justify-content:flex-start}.sidebar__profile{justify-content:flex-start}.nav-badge{margin:0 0 0 auto}.mobile-close{display:flex;position:absolute;right:9px;top:17px}.mobile-backdrop{background:#05192061;display:block;inset:0;position:fixed;z-index:35}.mobile-menu{display:inline-flex}.topbar{gap:8px;padding:0 12px}.search-trigger{display:none}.topbar__right{margin-left:auto}.page{padding:20px 14px 50px}.welcome-header,.page-title-row{align-items:flex-start;flex-direction:column;gap:12px}.session-window{width:100%}.metrics-row{grid-template-columns:repeat(2,1fr)}.dashboard-heading{align-items:flex-start;flex-direction:column;gap:8px}.dashboard-shortcuts{grid-template-columns:1fr}.dashboard-shortcut{min-height:88px}.dashboard-week__header{align-items:flex-start;gap:10px}.appointment-change-summary{grid-template-columns:1fr}.appointment-change-patient{margin-right:0}.messages-page .page-title-row{align-items:flex-start;flex-direction:column;gap:12px}.inbox-shell{display:flex;flex-direction:column;height:auto;min-height:0}.inbox-list{border-bottom:1px solid var(--line);border-right:0;max-height:330px}.inbox-thread{min-height:560px}.inbox-thread>header{align-items:flex-start;gap:10px}.inbox-thread>header .button{font-size:var(--text-xs)}.next-label span{display:none}.next-patient-row{align-items:flex-start}.next-patient-identity .avatar{display:none}.next-alerts{flex-direction:column}.next-footer{align-items:stretch;flex-direction:column;gap:12px}.next-actions{display:grid;grid-template-columns:1fr 1fr}.next-actions .button--light{grid-column:1/-1}.appointment-ready{display:none}.toolbar{align-items:stretch;flex-direction:column}.appointments-calendar-title{align-items:flex-start;flex-direction:column;gap:12px}.appointments-calendar-toolbar{align-items:stretch}.appointment-calendar__toolbar{align-items:flex-start;gap:10px}.appointment-calendar__legend{align-items:flex-start}.appointment-calendar__legend p{margin-left:0;width:100%}.calendar-appointment-detail dl{grid-template-columns:1fr;gap:3px}.calendar-appointment-detail dd{margin-bottom:8px}.search-field,.search-field--wide{width:100%}.toolbar-note{margin-left:0}.appointment-row{grid-template-columns:32px 1fr auto}.appointment-row>div:not(.appointment-row__patient),.appointment-row__signal,.appointment-row>.button{display:none}.cohort-row{margin-left:-14px;margin-right:-14px;padding-left:14px}.patients-table__header{display:none}.patient-row{grid-template-columns:1fr auto}.patient-row>div:not(.patient-cell):not(:nth-child(2)){display:none}.availability-header{flex-direction:column;gap:16px}.availability-toolbar{align-items:stretch;flex-direction:column}.week-control{justify-content:space-between}.availability-legend{align-items:flex-start;flex-direction:column;gap:7px}.availability-legend p{margin-left:0}.availability-repeat-options,.availability-time-fields{grid-template-columns:1fr}.availability-date-field,.availability-time-fields{margin-left:0;max-width:none}.booking-protection{flex-wrap:wrap}.prescription-metrics .title-stat:not(:first-child),.prescription-toolbar .toolbar-note{display:none}.prescription-toolbar{align-items:stretch;flex-direction:column}.prescription-toolbar .segmented{overflow:auto}.prescriptions-table__header{display:none}.prescription-row{grid-template-columns:1fr auto 18px}.prescription-row>div:nth-child(3),.prescription-row>div:nth-child(4){display:none}.prescription-row>div:nth-child(5){grid-column:2;grid-row:1}.prescription-row__arrow{grid-column:3;grid-row:1}.prescription-detail dl{grid-template-columns:1fr;gap:3px}.prescription-detail dd{margin-bottom:9px}.patient-actions .button--secondary{display:none}.patient-layout{grid-template-columns:1fr}.patient-sidebar{position:static}.alert-strip{grid-template-columns:1fr}.assessment-card{align-items:flex-start;grid-template-columns:1fr 1fr}.assessment-change{grid-column:1/-1}.questionnaire-list article{grid-template-columns:1fr;gap:4px}.consult-page{padding:7px}.consult-header{gap:8px;grid-template-columns:1fr auto}.consult-header__patient>span,.consult-header .status-badge{display:none}.consult-communications{justify-content:stretch}.communication-button{flex:1;justify-content:center}.consult-grid{display:flex;flex-direction:column;min-height:0}.consult-room-list,.context-column,.interaction-column{min-height:580px!important}.consult-room-list{min-height:380px!important}.context-column{min-height:520px!important}.questionnaire-hero{align-items:flex-start;flex-direction:column;gap:16px}.questionnaire-hero__metrics{border-top:1px solid var(--line);padding-top:12px;width:100%}.questionnaire-hero__metrics>span:first-child{border-left:0;padding-left:0}.questionnaire-summary{align-items:flex-start;flex-direction:column;gap:10px}.questionnaire-results>header{display:none}.questionnaire-results article{grid-template-columns:32px 1fr}.questionnaire-results article>div:last-child{grid-column:2}.eprescription-medications{grid-template-columns:1fr}.completion-page{padding:44px 15px}.completion-results{align-items:flex-start;flex-direction:column;gap:6px}.next-consult-content{align-items:flex-start;flex-wrap:wrap}.next-consult-content .button{width:100%}.completion-secondary{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
