html{-webkit-text-size-adjust:100%}body{font-family:var(--font-fa);font-size:var(--text-base);line-height:var(--leading);color:var(--text);background-color:var(--bg);background-image:var(--bg-tint);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01"}b,h1,h2,h3,h4,strong{font-weight:700;letter-spacing:-.01em}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-xs)}::selection{background:var(--primary-soft);color:var(--primary-strong)}*,:after,:before{border-color:var(--line)}.file-number,.metric strong,.phone-cell,.table td,[data-numeric]{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-pill);border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--muted);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;inset-inline-start:var(--s-4);z-index:400;background:var(--primary);color:#fff;padding:10px 18px;border-radius:var(--r-sm);font-size:var(--text-sm);font-weight:600;transition:top var(--t)}.skip-link:focus{top:var(--s-4)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100dvh;align-items:start}.content{padding:var(--s-8) var(--s-8) 88px;max-width:1560px;min-width:0;margin:0 auto;width:100%;animation:page-in .28s var(--ease)}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}@media (min-width:1600px){.content{padding:var(--s-10) var(--s-12) 88px}}@media (max-width:1200px){.app-shell{grid-template-columns:240px minmax(0,1fr)}.content{padding:var(--s-6) var(--s-6) 64px}}@media (max-width:900px){.app-shell{display:block;padding-top:var(--topbar-h)}.content{padding:var(--s-5) var(--s-4) 56px}}.mobile-bar{display:none;position:fixed;top:0;inset-inline:0;height:var(--topbar-h);z-index:40;align-items:center;justify-content:space-between;gap:var(--s-3);padding:0 var(--s-4);background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}.mobile-bar strong{font-size:var(--text-md)}@media (max-width:900px){.mobile-bar{display:flex}}.tab-bar{display:none;position:fixed;inset-inline:0;bottom:0;z-index:35;padding-bottom:env(safe-area-inset-bottom,0);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-top:1px solid var(--line)}@media (max-width:900px){.tab-bar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.content{padding-bottom:92px}.toast-stack{bottom:76px}}.tab-bar a,.tab-bar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:6px 4px;border:0;background:transparent;color:var(--muted);font-family:inherit;font-size:10.5px;font-weight:500;cursor:pointer;transition:color var(--t-fast)}.tab-bar svg{color:var(--nav-icon,currentColor);opacity:.75}.tab-bar .active{color:var(--text);font-weight:700}.tab-bar .active svg{opacity:1}.tab-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--text-soft);cursor:pointer;transition:var(--t-fast)}.icon-button:hover{background:var(--surface-2);color:var(--primary);border-color:var(--line-strong)}.sidebar{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;height:100dvh;background:var(--sidebar-bg);color:var(--text);-webkit-border-end:1px solid var(--line);border-inline-end:1px solid var(--line);padding:var(--s-5) var(--s-3) var(--s-3);gap:var(--s-4);z-index:30}.brand{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-2);border-radius:var(--r-md);color:inherit;transition:background var(--t-fast)}.brand:hover{background:var(--sidebar-hover)}.brand-mark{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:var(--r-sm);background:var(--grad-brand);color:#fff;box-shadow:0 4px 14px var(--primary-ring)}.brand strong{display:block;font-size:var(--text-md);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:158px}.brand small{display:block;font-size:var(--text-xs);color:var(--muted)}.nav-search{display:flex;align-items:center;gap:var(--s-2);background:var(--surface-2);border:1px solid transparent;border-radius:var(--r-sm);padding:9px var(--s-3);color:var(--muted);transition:var(--t-fast)}.nav-search:focus-within{background:var(--surface);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);outline:none}.nav-search input{background:transparent;border:0;width:100%;outline:none;font-family:inherit;font-size:var(--text-sm);color:var(--text)}.nav-search kbd{font-family:var(--font-fa);font-size:10px;color:var(--muted);background:var(--surface-3);border-radius:5px;padding:2px 6px;flex:0 0 auto}.sidebar nav{display:block;overflow-y:auto;overflow-x:hidden;flex:1 1;min-height:0;margin-inline:calc(var(--s-1) * -1);padding-inline:var(--s-1);scrollbar-width:thin}.nav-group,.nav-solo{margin-bottom:var(--s-3)}.nav-group summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:var(--s-2) var(--s-3);font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--r-xs)}.nav-group summary:hover{color:var(--text)}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary svg{transition:transform var(--t);opacity:.7}.nav-group:not([open]) summary svg{transform:rotate(90deg)}.sidebar nav a{position:relative;display:flex;align-items:center;gap:var(--s-3);padding:8px var(--control-px);border-radius:var(--r-xs);font-size:var(--text-sm);font-weight:500;margin:1px 0;color:var(--sidebar-text);min-height:var(--control-h);transition:var(--t-fast)}.sidebar nav a svg{flex-shrink:0;color:var(--nav-icon,currentColor)}.sidebar nav a:hover{background:var(--sidebar-hover);color:var(--text)}.sidebar nav a.active{background:var(--surface-2);color:var(--text);font-weight:600}.nav-empty{font-size:var(--text-sm);text-align:center;color:var(--muted);padding:var(--s-6) var(--s-3);line-height:var(--leading)}.sidebar-user{margin:0;padding:var(--s-3);border-radius:var(--r-md);background:var(--surface-2);display:flex;align-items:center;gap:var(--s-3)}.sidebar-user>div{min-width:0;flex:1 1}.sidebar-user strong{display:block;font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user a{font-size:var(--text-xs);color:var(--muted);transition:color var(--t-fast)}.sidebar-user a:hover{color:var(--primary)}.sidebar-user button{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--muted);padding:var(--s-2);border:0;background:transparent;border-radius:var(--r-xs);cursor:pointer;transition:var(--t-fast)}.sidebar-user button:hover{background:var(--danger-soft);color:var(--danger)}.owner-avatar,.patient-avatar,.person-avatar,.user-avatar{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:var(--r-pill);background:var(--primary-soft);color:var(--primary-strong);font-weight:700;font-size:var(--text-base)}.sidebar-theme{padding-top:var(--s-3);border-top:1px solid var(--line)}.sidebar-theme .theme-toggle{width:100%}.sidebar-theme .theme-toggle button{flex:1 1;justify-content:center}.sidebar-backdrop{display:none}@media (max-width:900px){.sidebar{position:fixed;top:var(--topbar-h);inset-inline-start:0;bottom:0;width:min(300px,88vw);height:calc(100dvh - var(--topbar-h));transform:translateX(100%);transition:transform var(--t);visibility:hidden;box-shadow:var(--shadow-lg)}[dir=ltr] .sidebar{transform:translateX(-100%)}.sidebar.is-open{transform:translateX(0);visibility:visible}.sidebar-backdrop{display:block;position:fixed;inset:var(--topbar-h) 0 0;background:rgba(10,25,30,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:0;z-index:25}}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-5);padding-bottom:0;border-bottom:0}.page-header-copy{min-width:0}.directory-eyebrow,.eyebrow,.page-eyebrow{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.05em;color:var(--primary);margin-bottom:var(--s-2)}.page-header h1{display:flex;align-items:center;gap:var(--s-3);font-size:var(--text-xl);font-weight:700;line-height:1.5;letter-spacing:-.02em;margin:0 0 2px;text-wrap:balance}.page-header-icon{display:inline-grid;place-items:center;flex:0 0 auto;width:34px;height:34px;color:var(--primary);background:var(--primary-soft);border-radius:var(--r-xs)}.page-header p{font-size:var(--text-sm);color:var(--muted);max-width:72ch;margin:0;line-height:var(--leading);text-wrap:pretty}.page-actions{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}@media (max-width:720px){.page-header{align-items:flex-start;flex-direction:column;margin-bottom:var(--s-5)}.page-header h1{font-size:var(--text-xl)}.page-actions{width:100%}.page-actions>*{flex:1 1}}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.section-heading strong{font-size:var(--text-md)}.appointment-subnav,.clinical-subnav,.crm-subnav,.finance-subnav,.integration-subnav,.inventory-subnav,.messaging-subnav,.patient-subnav,.reports-subnav,.rewards-subnav,.section-subnav,.staff-subnav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin:0 0 var(--s-6);padding:var(--s-1);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);overflow-x:auto;scrollbar-width:none}.section-subnav::-webkit-scrollbar{display:none}.appointment-subnav a,.clinical-subnav a,.crm-subnav a,.finance-subnav a,.integration-subnav a,.inventory-subnav a,.messaging-subnav a,.patient-subnav a,.reports-subnav a,.rewards-subnav a,.section-subnav a,.staff-subnav a{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:8px 14px;border-radius:var(--r-xs);font-size:var(--text-sm);font-weight:500;color:var(--muted);border:0;background:transparent;transition:var(--t-fast)}.appointment-subnav a:hover,.clinical-subnav a:hover,.crm-subnav a:hover,.finance-subnav a:hover,.integration-subnav a:hover,.inventory-subnav a:hover,.messaging-subnav a:hover,.patient-subnav a:hover,.reports-subnav a:hover,.rewards-subnav a:hover,.section-subnav a:hover,.staff-subnav a:hover{color:var(--text);background:color-mix(in srgb,var(--surface) 70%,transparent)}.appointment-subnav a.active,.clinical-subnav a.active,.crm-subnav a.active,.finance-subnav a.active,.integration-subnav a.active,.inventory-subnav a.active,.messaging-subnav a.active,.patient-subnav a.active,.reports-subnav a.active,.rewards-subnav a.active,.section-subnav a.active,.staff-subnav a.active{background:var(--surface);color:var(--primary-strong);font-weight:700;box-shadow:var(--shadow-xs)}.section-subnav{flex-direction:row;align-items:center;border-bottom:1px solid var(--line)}.section-subnav-group{display:flex;align-items:center;gap:var(--s-2)}.section-subnav-label{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--muted);padding-inline:var(--s-2)}.section-subnav-tabs{display:flex;gap:var(--s-1);margin:0;flex-wrap:wrap}.alert-card,.booking-card,.calendar-day-card,.card,.check-card,.finance-kpi,.lead-card,.lead-kpi,.media-card,.metric,.note-card,.patient-info-card,.portal-panel,.settings-link,.waiting-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.card{padding:var(--s-6);box-shadow:var(--shadow-sm)}.card+.card{margin-top:var(--s-4)}.card>h2,.card>h3{font-size:var(--text-md);margin:0 0 var(--s-4)}@media (max-width:720px){.card{padding:var(--s-4);border-radius:var(--r-md)}}.quick-links,.settings-grid,.staff-quick-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:var(--s-3);gap:var(--s-3)}.dashboard-shortcuts{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-5)}.dashboard-shortcuts a{display:inline-flex;align-items:center;gap:var(--s-2);min-height:var(--control-h);padding:8px var(--control-px);border:1px solid var(--line);border-radius:var(--r-xs);background:var(--surface);color:var(--text);font-size:var(--text-sm);font-weight:500;transition:var(--t-fast)}.dashboard-shortcuts a:hover{border-color:var(--primary);background:var(--surface-2)}.dashboard-shortcuts a svg{color:var(--primary)}.settings-link{display:block;padding:var(--s-5);color:inherit;transition:var(--t);box-shadow:var(--shadow-xs)}.settings-link:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-2px)}.settings-link strong{display:block;font-size:var(--text-base);margin-bottom:4px}.settings-link p,.settings-link small,.settings-link span{color:var(--muted);font-size:var(--text-xs);line-height:var(--leading)}.finance-kpi,.lead-kpi,.metric{position:relative;overflow:hidden;padding:var(--s-4);box-shadow:var(--shadow-xs);transition:var(--t)}.finance-kpi:hover,.lead-kpi:hover,.metric:hover{box-shadow:var(--shadow-sm);border-color:var(--line-strong)}.metric-icon,.metric>span{font-size:var(--text-xs);color:var(--muted);font-weight:500}.metric strong{display:block;font-size:var(--text-xl)!important;font-weight:700;line-height:1.4;margin-top:var(--s-2);letter-spacing:-.03em;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-icon{display:flex;justify-content:space-between;align-items:center}.metric-icon svg,.stat-icon{color:var(--primary);background:var(--primary-soft);padding:8px;box-sizing:content-box;border-radius:var(--r-sm)}.kpi-accent-danger:after,.kpi-accent-primary:after,.kpi-accent-success:after{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px}.kpi-accent-primary:after{background:var(--primary)}.kpi-accent-success:after{background:var(--success-text)}.kpi-accent-danger:after{background:var(--danger)}.directory-stats,.finance-summary-grid,.lead-kpis,.ops-kpi-grid,.portal-kpi-grid,.report-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,176px),1fr));grid-gap:var(--s-3);gap:var(--s-3);margin-bottom:var(--s-5)}@media (max-width:720px){.finance-summary-grid,.lead-kpis,.report-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.metric strong{font-size:var(--text-lg)!important}.metric{padding:var(--s-4)}}.directory-stats>div,.lead-kpis>.lead-kpi,.report-kpi-grid>.metric{position:relative;overflow:hidden;isolation:isolate}.directory-stats>:nth-child(4n):before,.directory-stats>:nth-child(4n+1):before,.directory-stats>:nth-child(4n+2):before,.directory-stats>:nth-child(4n+3):before,.lead-kpis>:nth-child(4n):before,.lead-kpis>:nth-child(4n+1):before,.lead-kpis>:nth-child(4n+2):before,.lead-kpis>:nth-child(4n+3):before,.report-kpi-grid>:nth-child(4n):before,.report-kpi-grid>:nth-child(4n+1):before,.report-kpi-grid>:nth-child(4n+2):before,.report-kpi-grid>:nth-child(4n+3):before{content:"";position:absolute;inset:0;z-index:-1;opacity:.1;pointer-events:none}.directory-stats>:nth-child(4n+1):before,.lead-kpis>:nth-child(4n+1):before,.report-kpi-grid>:nth-child(4n+1):before{background:var(--grad-1)}.directory-stats>:nth-child(4n+2):before,.lead-kpis>:nth-child(4n+2):before,.report-kpi-grid>:nth-child(4n+2):before{background:var(--grad-2)}.directory-stats>:nth-child(4n+3):before,.lead-kpis>:nth-child(4n+3):before,.report-kpi-grid>:nth-child(4n+3):before{background:var(--grad-3)}.directory-stats>:nth-child(4n):before,.lead-kpis>:nth-child(4n):before,.report-kpi-grid>:nth-child(4n):before{background:var(--grad-4)}.directory-stats>:nth-child(4n+1) .stat-icon,.report-kpi-grid>:nth-child(4n+1) .metric-icon svg{background:var(--grad-1);color:#fff}.directory-stats>:nth-child(4n+2) .stat-icon,.report-kpi-grid>:nth-child(4n+2) .metric-icon svg{background:var(--grad-2);color:#fff}.directory-stats>:nth-child(4n+3) .stat-icon,.report-kpi-grid>:nth-child(4n+3) .metric-icon svg{background:var(--grad-3);color:#fff}.directory-stats>:nth-child(4n) .stat-icon,.report-kpi-grid>:nth-child(4n) .metric-icon svg{background:var(--grad-4);color:#fff}.directory-stats>div{position:relative;display:grid;grid-gap:2px;gap:2px;padding:var(--s-4) var(--s-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);transition:var(--t)}.directory-stats>div:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.directory-stats .stat-icon{position:absolute;inset-block-start:var(--s-4);inset-inline-end:var(--s-4);display:grid;place-items:center;width:36px;height:36px;padding:0;box-sizing:border-box}.directory-stats small{font-size:var(--text-xs);font-weight:500;color:var(--muted)}.directory-stats strong{font-size:var(--text-2xl);font-weight:700;line-height:1.4;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.directory-stats em{font-style:normal;font-size:var(--text-xs);color:var(--muted)}@media (max-width:720px){.directory-stats>div{padding:var(--s-4)}.directory-stats strong{font-size:var(--text-lg)}.directory-stats .stat-icon{width:30px;height:30px}}.dashboard-welcome,.directory-hero,.patient-directory-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-4);padding:0;margin-bottom:var(--s-5);background:none;border:0;box-shadow:none;color:inherit}.dashboard-welcome h1,.dashboard-welcome h2,.directory-hero h1{font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;line-height:1.5;margin:0 0 2px;color:var(--text)}.dashboard-welcome p,.directory-hero p,.directory-hero-copy p{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading);max-width:68ch;margin:0}.dashboard-welcome>div>span{font-size:var(--text-xs);color:var(--primary);font-weight:600}.directory-hero-actions{display:flex;gap:var(--s-2);flex-wrap:wrap}@media (max-width:720px){.directory-hero-actions{width:100%}.directory-hero-actions .button{flex:1 1}}.button,.owner-btn,.portal-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);border-radius:var(--r-xs);min-height:var(--control-h);padding:6px var(--control-px);font-family:inherit;font-size:var(--text-base);font-weight:500;line-height:1.4;cursor:pointer;border:1px solid transparent;background:var(--primary);color:#fff;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast),color var(--t-fast)}.button:hover,.owner-btn:hover,.portal-button:hover{background:var(--primary-strong);box-shadow:0 4px 14px var(--primary-ring)}.button:active{transform:translateY(1px);box-shadow:none}.button:disabled,.button[disabled],.owner-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.button.secondary,.owner-btn.secondary{border-color:var(--line-strong);background:var(--surface);color:var(--text-soft)}.button.secondary:hover,.owner-btn.secondary:hover{background:var(--surface-2);color:var(--text);border-color:var(--muted);box-shadow:var(--shadow-xs)}.button.ghost{background:transparent;border-color:transparent;color:var(--muted);box-shadow:none}.button.ghost:hover{background:var(--surface-2);color:var(--text);box-shadow:none}.button.danger,.button.danger-solid,.owner-btn.danger{background:var(--danger);color:#fff;border-color:transparent}.button.danger-solid:hover,.button.danger:hover,.owner-btn.danger:hover{background:color-mix(in srgb,var(--danger) 82%,#000);box-shadow:0 4px 14px color-mix(in srgb,var(--danger) 28%,transparent)}.button.warning-button{background:var(--warning-soft);color:var(--warning-text);border-color:color-mix(in srgb,var(--warning-text) 28%,transparent)}.button.success{background:#10b981;color:#04241a}.button.success:hover{background:#059669;box-shadow:0 4px 14px rgba(16,185,129,.3)}.button.info{background:#3b82f6;color:#fff}.button.info:hover{background:#2563eb;box-shadow:0 4px 14px rgba(59,130,246,.3)}.button.accent{background:#a855f7;color:#fff}.button.accent:hover{background:#9333ea;box-shadow:0 4px 14px rgba(168,85,247,.3)}.switch{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--text-sm);color:var(--text-soft);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{position:relative;flex:0 0 auto;width:38px;height:21px;border-radius:var(--r-pill);background:var(--surface-3);transition:background var(--t-fast)}.switch-track:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform var(--t-fast)}.switch input:checked+.switch-track{background:var(--primary)}.switch input:checked+.switch-track:after{transform:translateX(-17px)}[dir=ltr] .switch input:checked+.switch-track:after{transform:translateX(17px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--primary);outline-offset:2px}.switch input:disabled+.switch-track{opacity:.45;cursor:not-allowed}.row-icons{display:flex;align-items:center;gap:2px}.row-icon{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border:0;border-radius:var(--r-xs);background:transparent;color:var(--muted);cursor:pointer;transition:var(--t-fast)}.row-icon:hover{background:var(--surface-2)}.row-icon.view{color:#38bdf8}.row-icon.edit{color:#fb923c}.row-icon.delete{color:#f87171}.row-icon.call{color:#a78bfa}.row-icon.wallet{color:#34d399}.row-icon:disabled{opacity:.4;cursor:not-allowed}.button.compact,.button.small,.inline-action button,.row-action{min-height:34px;padding:6px 12px;font-size:var(--text-xs);border-radius:var(--r-xs)}.button.full{width:100%}html.dark .button.danger,html.dark .button.danger-solid{color:#1c0906}html.dark .button:not(.secondary):not(.ghost):not(.danger):not(.danger-solid){color:#05201d}.appointment-actions,.catalog-actions,.filter-actions,.owner-actions,.portal-actions,.report-actions,.row-actions,.staff-actions,.table-actions{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.form{display:grid;grid-gap:var(--s-3);gap:var(--s-3)}.clinical-form-grid,.form-grid,.owner-filter-grid,.portal-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--s-3);gap:var(--s-3)}.cols-2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.cols-3{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.field-span-2{grid-column:span 2}:is(.form-grid,.clinical-form-grid,.accounting-form,.patient-filters,.lead-filters)>:is(.form-actions,.filter-actions,.form-section,.form-wide,.notice,.dialog-hint,h2,h3,p){grid-column:1/-1}:is(.form-grid,.clinical-form-grid)>.form-actions{margin-top:var(--s-1)}@media (max-width:720px){.field-span-2{grid-column:span 1}}.field{display:grid;grid-gap:5px;gap:5px;min-width:0}.check-field>span,.field label{font-size:var(--text-base);font-weight:500;color:var(--text)}.field label .muted,.field small{font-weight:400;color:var(--muted);font-size:var(--text-xs)}.code-textarea,.field input,.field select,.field textarea,.mini-form input,.mini-form select,.mini-form textarea,.modal-textarea,.owner-input,.portal-form input,.portal-form select,.portal-form textarea,input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],select,textarea{width:100%;font-family:inherit;font-size:var(--text-base);color:var(--text);background:var(--input-bg);border:1px solid var(--line);border-radius:var(--r-xs);padding:6px var(--s-3);min-height:var(--control-h);line-height:1.4;transition:var(--t-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea{min-height:80px;line-height:var(--leading-tight);resize:vertical}select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(var(--s-4) - 4px) calc(50% + 1px),calc(var(--s-4) + 1px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;-webkit-padding-start:var(--s-8);padding-inline-start:var(--s-8)}:is(input,select,textarea):hover:not(:disabled){border-color:var(--muted)}:is(input,select,textarea):focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}:is(input,select,textarea):disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}::placeholder{color:color-mix(in srgb,var(--muted) 78%,transparent);font-size:var(--text-sm)}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;cursor:pointer}.field-error{color:var(--danger);font-size:var(--text-xs);line-height:var(--leading-tight)}.field[data-invalid=true] input,input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 16%,transparent)}.field-with-action{display:flex;align-items:center;gap:var(--s-2)}.field-with-action>:first-child{flex:1 1;min-width:0}.field-with-action .button{flex:0 0 auto;white-space:nowrap}.button.icon-only{width:var(--control-h);min-width:var(--control-h);padding:0}.jalali-calendar{position:absolute;z-index:60;top:calc(100% + 4px);inset-inline-start:0;width:max-content;min-width:268px;max-width:min(340px,92vw);margin-top:0;padding:var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text);animation:filters-in .14s var(--ease)}.jalali-calendar,html.dark .jalali-calendar{background:var(--surface);box-shadow:var(--shadow-lg)}html.dark .jalali-calendar{border-color:var(--line-strong)}.jalali-picker:has(.jalali-calendar){position:relative}.jalali-picker-control>input:first-child{min-height:var(--control-h);line-height:1.4;font-size:var(--text-base)}.jalali-calendar-heading select{min-height:var(--control-h-sm);font-size:var(--text-sm);padding-inline:var(--s-2) var(--s-6)}.jalali-calendar-grid button{min-height:32px;font-family:inherit;font-size:var(--text-sm);color:var(--text-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.jalali-calendar-grid button:hover{background:var(--surface-2);color:var(--text)}.jalali-calendar-grid button[aria-pressed=true]{background:var(--primary);color:#fff;font-weight:700}.jalali-calendar-grid .is-today{box-shadow:inset 0 0 0 1px var(--primary)}.jalali-calendar button:focus-visible{background:var(--primary-soft);outline:2px solid var(--primary)}.jalali-weekday{font-size:var(--text-xs);color:var(--muted)}.jalali-calendar-footer{border-top-color:var(--line);font-size:var(--text-xs)}.jalali-calendar-footer button{padding-inline:var(--s-2);color:var(--primary);font-weight:600}.search-select{position:relative;min-width:0}.search-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);width:100%;min-height:var(--control-h);padding:6px var(--s-3);border:1px solid var(--line);border-radius:var(--r-xs);background:var(--input-bg);color:var(--text);font-family:inherit;font-size:var(--text-base);line-height:1.4;text-align:start;cursor:pointer;transition:var(--t-fast)}.search-select-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-select-trigger .is-placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}.search-select-trigger:hover:not(:disabled){border-color:var(--muted)}.search-select.is-open .search-select-trigger{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.search-select-trigger:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.search-select-clear{display:grid;place-items:center;width:18px;height:18px;flex:0 0 auto;border-radius:50%;color:var(--muted)}.search-select-clear:hover{background:var(--surface-3);color:var(--text)}.search-select-menu{position:absolute;z-index:60;top:calc(100% + 4px);inset-inline:0;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-xs);box-shadow:var(--shadow-lg);overflow:hidden;animation:filters-in .14s var(--ease)}.search-select-search{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line);color:var(--muted)}.search-select-search input{flex:1 1;min-height:0;padding:2px 0;border:0;background:transparent;font-size:var(--text-sm);color:var(--text)}.search-select-search input:focus{outline:none;box-shadow:none}.search-select-list{list-style:none;margin:0;padding:var(--s-1);max-height:240px;overflow-y:auto;scrollbar-width:thin}.search-select-list button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:7px var(--s-3);border:0;border-radius:var(--r-xs);background:transparent;color:var(--text);font-family:inherit;font-size:var(--text-sm);text-align:start;cursor:pointer}.search-select-list button.is-active{background:var(--surface-2)}.search-select-list button.is-selected{background:var(--primary-soft);color:var(--primary-strong);font-weight:600}.search-select-list small{font-size:var(--text-xs);color:var(--muted)}.search-select-empty{padding:var(--s-4);text-align:center;font-size:var(--text-sm);color:var(--muted)}.password-field{position:relative;display:flex}.password-field input{padding-left:46px}.password-field button{position:absolute;inset-inline-end:4px;top:50%;translate:0 -50%;display:grid;place-items:center;width:36px;height:36px;border:0;background:transparent;color:var(--muted);border-radius:var(--r-xs);cursor:pointer;transition:var(--t-fast)}.password-field button:hover{color:var(--primary);background:var(--surface-2)}.form-section{display:grid;grid-gap:var(--s-4);gap:var(--s-4)}.form-actions{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center}.check-field,.check-field>label,.checkbox-line,.consent-row label,.owner-lifetime{display:flex;align-items:center;gap:var(--s-2);font-size:var(--text-sm);cursor:pointer}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.check-grid,.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:var(--s-2);gap:var(--s-2)}.check-card{display:flex;align-items:flex-start;gap:var(--s-2);padding:10px var(--s-3);border:1px solid var(--line);border-radius:var(--r-xs);background:var(--surface);cursor:pointer;transition:var(--t-fast)}.check-card:hover{border-color:var(--line-strong);background:var(--surface-2)}.check-card input[type=checkbox],.check-card input[type=radio]{flex:0 0 auto;margin-top:2px}.check-card span{display:block;min-width:0;font-size:var(--text-sm);font-weight:500;line-height:1.5}.check-card small{display:block;font-size:var(--text-xs);font-weight:400;color:var(--muted)}.check-card:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.check-card:has(input:checked) span{color:var(--primary-strong);font-weight:600}.check-card:has(input:checked) small{color:color-mix(in srgb,var(--primary-strong) 78%,transparent)}.check-card:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.check-card:has(input:disabled){opacity:.55;cursor:not-allowed}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm)}.segmented a,.segmented button{border:0;background:transparent;padding:7px 14px;border-radius:7px;font-family:inherit;font-size:var(--text-xs);font-weight:600;color:var(--muted);cursor:pointer;transition:var(--t-fast)}.segmented a.active,.segmented button.active{background:var(--primary);color:#fff;box-shadow:none}.create-record-card .form-section{position:relative;margin-top:var(--s-5);padding:var(--s-5) 0 var(--s-1);border-top:1px solid var(--line)}.create-record-card .form-section:first-of-type{margin-top:0;padding-top:0;border-top:0}.create-record-card .form-section>strong{font-size:var(--text-md)}.create-record-card .form-section>p{margin-top:2px;font-size:var(--text-xs);color:var(--muted)}.create-record-card .form-actions{justify-content:flex-end;margin-top:var(--s-2);padding-top:var(--s-5);border-top:1px solid var(--line)}.create-record-card .form-actions .button:first-child{min-width:150px}@media (max-width:720px){.create-record-card .form-actions{display:grid}}.directory-filter-card,.filter-card{padding:0;overflow:hidden;background:transparent;border:1px solid var(--line);border-radius:var(--r-xs);box-shadow:none;margin-bottom:var(--s-4)}.filter-disclosure-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--surface);color:var(--text);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background var(--t-fast)}.filter-disclosure-summary::-webkit-details-marker{display:none}.filter-disclosure-summary:hover{background:var(--surface-2)}.filter-disclosure-copy strong{display:block;font-size:var(--text-sm);font-weight:500}.filter-disclosure-copy small{display:none}.filter-disclosure-actions{display:flex;align-items:center;gap:var(--s-2)}.filter-disclosure-label:after{content:"";display:block;width:8px;height:8px;-webkit-border-start:1.5px solid var(--muted);border-inline-start:1.5px solid var(--muted);-webkit-border-after:1.5px solid var(--muted);border-block-end:1.5px solid var(--muted);rotate:-45deg;translate:0 -2px;transition:rotate var(--t)}.filter-disclosure[open] .filter-disclosure-label:after{rotate:135deg;translate:0 2px}.filter-disclosure-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:var(--s-3);gap:var(--s-3);padding:var(--s-4);border-top:1px solid var(--line);background:var(--surface);animation:filters-in .2s var(--ease)}.filter-disclosure-body .field label,.lead-filters .field label,.patient-filters .field label{font-size:var(--text-xs);color:var(--muted);font-weight:500}.filter-disclosure-body .field input,.filter-disclosure-body .field select,.patient-filters .field input,.patient-filters .field select{min-height:var(--control-h-sm);font-size:var(--text-sm)}.followup-filters,.lead-filters,.patient-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:var(--s-3);gap:var(--s-3);align-items:end}.lead-filters .filter-search,.patient-filters .filter-search{grid-column:span 2}@media (max-width:720px){.lead-filters .filter-search,.patient-filters .filter-search{grid-column:span 1}}@keyframes filters-in{0%{opacity:0;transform:translateY(-4px)}}.filter-disclosure-body .filter-actions{grid-column:1/-1;padding-top:var(--s-1)}.filter-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:var(--r-pill);background:var(--primary);color:#fff;font-size:10.5px;font-weight:700}.directory-quick-filters,.filter-search{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.directory-quick-filters{margin-bottom:var(--s-4)}.directory-quick-filters a{display:inline-flex;align-items:center;gap:6px;min-height:var(--control-h-sm);padding:5px var(--s-3);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font-size:var(--text-sm);font-weight:500;line-height:1.4;transition:var(--t-fast)}.directory-quick-filters a:hover{border-color:var(--line-strong);color:var(--text);background:var(--surface-2)}.directory-quick-filters a.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}html.dark .directory-quick-filters a.active{color:#06121c}.table-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow-x:auto;background:var(--surface);box-shadow:var(--shadow-xs)}.table{width:100%;border-collapse:collapse;min-width:620px}.table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;font-size:var(--text-sm);font-weight:500;color:var(--muted);text-align:start;padding:var(--s-3) var(--s-4);white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--line)}.table td{font-size:var(--text-base);padding:10px var(--s-4);vertical-align:middle;color:var(--text)}.table tbody tr{transition:background var(--t-fast)}.table tbody tr:hover{background:var(--table-hover)}.table tbody tr:last-child td{border-bottom:0}.table-primary-link{font-weight:700;color:var(--text);transition:color var(--t-fast)}.table-primary-link:hover{color:var(--primary)}.cell-sub{display:block;font-size:var(--text-xs);color:var(--muted);margin-top:2px}.directory-table-card{padding:0;overflow:hidden}.directory-table-card .table-wrap{border:0;border-radius:0;box-shadow:none}.directory-filter-heading,.directory-table-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line)}.person-cell{display:flex;align-items:center;gap:var(--s-3)}.file-number,.ops-code,.phone-cell{direction:ltr;text-align:start;font-size:var(--text-xs);color:var(--muted);letter-spacing:.02em}.file-number{display:inline-block;padding:2px 8px;border-radius:var(--r-xs);background:var(--surface-2);color:var(--text-soft);font-weight:600}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-4);padding:var(--s-3) var(--s-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap}.card+.pagination,.directory-table-card+.pagination{margin-top:var(--s-3)}.pagination-summary{margin:0;font-size:var(--text-sm)}.pagination-summary strong{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pagination-size{display:flex;align-items:center;gap:var(--s-2);-webkit-margin-end:auto;margin-inline-end:auto;-webkit-padding-start:var(--s-4);padding-inline-start:var(--s-4)}.pagination-size select{width:auto;min-height:34px;padding:4px var(--s-6) 4px var(--s-3);font-size:var(--text-xs);background-position:calc(var(--s-3) - 4px) calc(50% + 1px),calc(var(--s-3) + 1px) calc(50% + 1px)}.pagination-controls{display:flex;align-items:center;gap:var(--s-1)}.pagination-controls button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:34px;height:34px;padding:0 var(--s-2);border:1px solid transparent;border-radius:var(--r-xs);background:transparent;color:var(--text-soft);font-family:inherit;font-size:var(--text-xs);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer;transition:var(--t-fast)}.pagination-controls button:hover:not(:disabled){background:var(--surface-2);border-color:var(--line);color:var(--text)}.pagination-controls button:disabled{opacity:.35;cursor:not-allowed}.pagination-controls button.is-current{background:var(--primary);border-color:var(--primary);color:#fff}html.dark .pagination-controls button.is-current{color:#05201d}.pagination-pages{display:flex;align-items:center;gap:var(--s-1);list-style:none;margin:0 var(--s-2);padding:0}.pagination-gap{width:22px;text-align:center;color:var(--muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (max-width:720px){.pagination{justify-content:center;text-align:center}.pagination-size{-webkit-margin-end:0;margin-inline-end:0;-webkit-padding-start:0;padding-inline-start:0}.pagination-step span{display:none}.pagination-pages{margin:0}}.alert-pill,.badge,.owner-tag,.patient-tag,.portal-status,.priority-badge,.stage-badge,.status-badge,.version-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--r-pill);font-size:var(--text-xs);font-weight:600;line-height:1.7;background:var(--neutral-soft);color:var(--neutral-text);white-space:nowrap}.badge:before,.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85;flex:0 0 auto}.active,.badge.success,.delivered,.done,.good,.paid,.published,.resolved,.status-badge.success,.status-checked-in,.status-completed,.status-confirmed{background:var(--success-soft);color:var(--success-text)}.badge.warning,.moving,.paused,.pending,.queued,.reserved,.status-badge.warning,.status-late,.status-reserved,.status-waiting,.warning{background:var(--warning-soft);color:var(--warning-text)}.bad,.badge.danger,.cancelled,.critical,.danger,.debt,.failed,.high,.status-badge.danger,.status-cancelled-by-clinic,.status-cancelled-by-patient,.status-no-show,.voided{background:var(--danger-soft);color:var(--danger)}.badge.info,.info,.status-arrived,.status-badge.info,.status-in-treatment,.status-rescheduled{background:var(--info-soft);color:var(--info-text)}.badge.muted,.closed,.draft,.ended,.frozen,.inactive,.status-draft{background:var(--neutral-soft);color:var(--neutral-text)}.credit,.finance-amount-positive,.success-text{color:var(--success-text);font-weight:600}.danger-text,.finance-amount-negative{color:var(--danger);font-weight:600}.muted{color:var(--muted)}.dashboard-empty,.empty-state,.loading-state,.owner-empty,.permission-denied,.pipeline-empty,.portal-state{display:grid;justify-items:center;text-align:center;grid-gap:var(--s-2);gap:var(--s-2);padding:var(--s-12) var(--s-6);background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r-lg);color:var(--muted)}.empty-state strong,.owner-empty strong,.permission-denied strong{font-size:var(--text-md);color:var(--text)}.empty-state span,.permission-denied span{font-size:var(--text-sm);max-width:48ch;line-height:var(--leading)}.empty-state .empty-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--muted);margin-bottom:var(--s-2)}.empty-state .button{margin-top:var(--s-3)}.loading-state{justify-items:stretch;border-style:solid;padding:var(--s-6);gap:var(--s-3)}.loading-state>span{font-size:var(--text-sm)}.owner-skeleton,.skeleton-line{height:14px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.3s ease-in-out infinite}.skeleton-line:nth-child(3){width:78%}.skeleton-line:nth-child(4){width:52%}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.danger-notice,.duplicate-warning,.error-state,.login-error,.medical-alert,.notice,.owner-alert,.owner-notice,.portal-alert{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-4) var(--s-4);border-radius:var(--r-md);font-size:var(--text-sm);line-height:var(--leading);border:1px solid transparent;background:var(--info-soft);color:var(--info-text);border-color:color-mix(in srgb,var(--info-text) 22%,transparent)}.danger-notice,.error-state,.login-error,.notice.danger,.owner-alert{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 26%,transparent)}.notice.success{background:var(--success-soft);color:var(--success-text);border-color:color-mix(in srgb,var(--success-text) 24%,transparent)}.duplicate-warning,.notice.warning{background:var(--warning-soft);color:var(--warning-text);border-color:color-mix(in srgb,var(--warning-text) 26%,transparent)}.toast-stack{position:fixed;bottom:var(--s-6);inset-inline-start:var(--s-6);z-index:300;grid-gap:var(--s-3);width:min(390px,calc(100vw - var(--s-8)));pointer-events:none}.toast,.toast-stack{display:grid;gap:var(--s-3)}.toast{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;grid-gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);animation:toast-in .26s var(--ease);pointer-events:auto}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}.toast strong{display:block;font-size:var(--text-sm);margin-bottom:2px}.toast p{margin:0;font-size:var(--text-xs);color:var(--muted);line-height:var(--leading)}.toast-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-sm)}.toast-close{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:5px;border-radius:var(--r-xs);display:grid;place-items:center}.toast-close:hover{color:var(--text);background:var(--surface-2)}.toast-success .toast-icon{color:var(--success-text);background:var(--success-soft)}.toast-error .toast-icon{color:var(--danger);background:var(--danger-soft)}.toast-warning .toast-icon{color:var(--warning-text);background:var(--warning-soft)}.toast-info .toast-icon{color:var(--info-text);background:var(--info-soft)}@media (max-width:720px){.toast-stack{inset-inline:var(--s-4);width:auto;bottom:var(--s-4)}}.modal-overlay,.owner-overlay,.portal-modal{position:fixed;inset:0;z-index:310;background:rgba(8,20,25,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:var(--s-5);animation:overlay-in .18s var(--ease);overflow-y:auto}@keyframes overlay-in{0%{opacity:0}}.modal-card,.owner-dialog,.portal-modal-card{width:min(480px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--s-6);box-shadow:var(--shadow-xl);animation:modal-in .24s var(--ease)}.modal-card.wide,.owner-dialog.wide{width:min(720px,100%)}@keyframes modal-in{0%{opacity:0;transform:translateY(14px) scale(.975)}}.modal-head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3)}.modal-head h2{margin:0;font-size:var(--text-lg);line-height:1.5}.modal-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:var(--r-md);background:var(--primary-soft);color:var(--primary-strong)}.modal-card.is-danger .modal-icon{background:var(--danger-soft);color:var(--danger)}.modal-message{margin:0 0 var(--s-5);-webkit-padding-start:calc(42px + var(--s-3));padding-inline-start:calc(42px + var(--s-3));font-size:var(--text-sm);color:var(--muted);line-height:var(--leading);text-wrap:pretty}.modal-textarea{margin-bottom:var(--s-5)}.modal-actions{display:flex;justify-content:flex-start;flex-direction:row-reverse;gap:var(--s-2);padding-top:var(--s-4);border-top:1px solid var(--line)}.modal-actions .button{min-width:108px}@media (max-width:480px){.modal-card{border-radius:var(--r-lg);padding:var(--s-5)}.modal-actions{flex-direction:column-reverse}.modal-actions .button{width:100%}}.login-page{display:grid;min-height:100dvh;grid-template-columns:1.05fr 1fr;background:var(--surface)}.login-visual{position:relative;display:grid;align-content:space-between;overflow:hidden;padding:var(--s-10) clamp(var(--s-8),5vw,72px);background:linear-gradient(150deg,#4c1d95,#9333ea 48%,#ec4899);color:#fdf2f8}.login-visual:before{width:620px;height:620px;bottom:-340px;inset-inline-end:-160px;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 62%)}.login-visual:after,.login-visual:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.login-visual:after{width:320px;height:320px;top:-150px;inset-inline-start:-110px;border:1px solid rgba(255,255,255,.16);box-shadow:0 0 0 48px rgba(255,255,255,.04),0 0 0 96px rgba(255,255,255,.025)}.login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.login-brand svg{padding:9px;box-sizing:content-box;background:rgba(255,255,255,.12);border-radius:var(--r-md)}.login-brand strong{font-size:var(--text-xl);color:#fff}.login-brand span{width:100%;font-size:var(--text-xs);color:rgba(255,255,255,.7)}.login-story{position:relative;z-index:1;padding:var(--s-10) 0}.login-story .eyebrow{display:inline-block;padding:5px 12px;border-radius:var(--r-pill);background:rgba(255,255,255,.14);color:#fff;font-size:var(--text-xs);font-weight:600;letter-spacing:0;margin-bottom:var(--s-5)}.login-visual h1{font-size:clamp(28px,3.2vw,44px);line-height:1.55;margin:0 0 var(--s-4);font-weight:700;letter-spacing:-.03em;color:#fff;text-wrap:balance}.login-visual p{color:rgba(255,255,255,.78);font-size:var(--text-md);max-width:44ch;line-height:var(--leading-loose);margin:0}.login-capabilities{display:grid;grid-gap:var(--s-3);gap:var(--s-3);margin-top:var(--s-10)}.login-capabilities>div{display:flex;align-items:center;gap:var(--s-3);font-size:var(--text-sm);font-weight:500;color:rgba(255,255,255,.92)}.login-capabilities svg{padding:10px;box-sizing:content-box;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);flex:0 0 auto}.login-caption{position:relative;z-index:1;font-size:var(--text-xs);color:rgba(255,255,255,.6)}.login-panel{position:relative;display:grid;padding:var(--s-12) var(--s-8);align-content:center;justify-items:center;grid-gap:var(--s-8);gap:var(--s-8)}.login-card{max-width:420px;width:100%;padding:var(--s-8);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);background:var(--surface)}@media (max-width:480px){.login-card{padding:var(--s-5)}}.login-emblem{width:56px;height:56px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-strong);border-radius:var(--r-lg);margin-bottom:var(--s-6)}.login-card .eyebrow{color:var(--primary);margin-bottom:var(--s-2)}.login-card h2{font-size:var(--text-2xl);line-height:1.5;letter-spacing:-.03em;margin:0 0 var(--s-2)}.login-card>p{font-size:var(--text-sm);color:var(--muted);line-height:var(--leading);margin:0 0 var(--s-6)}.login-card .login-error{margin-bottom:var(--s-5)}.login-card .form{gap:var(--s-5)}.login-card .field input{min-height:50px}.login-card input::placeholder{text-align:start}.login-submit{min-height:50px;margin-top:var(--s-1);font-size:var(--text-base)}.login-meta,.login-submit{justify-content:space-between}.login-meta{display:flex;align-items:center;gap:var(--s-3);margin-top:calc(var(--s-2) * -1);font-size:var(--text-xs)}.login-meta a{color:var(--primary);font-weight:600}.login-card .login-help{border-top:1px solid var(--line);padding-top:var(--s-5);line-height:var(--leading);margin:var(--s-8) 0 0}.login-card .login-help,.login-footer{font-size:var(--text-xs);color:var(--muted)}@media (max-width:1100px){.login-visual{padding:var(--s-8)}.login-story{padding:var(--s-6) 0}.login-capabilities{margin-top:var(--s-6)}}@media (max-width:860px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100dvh;padding:var(--s-10) var(--s-5);align-content:start;padding-top:var(--s-12)}}html.dark .login-page{background:var(--bg)}html.dark .login-visual{background:linear-gradient(150deg,#1e1b4b,#4c1d95 50%,#86198f)}.accounting-dialog{position:fixed;inset-block:0;inset-inline-start:auto;inset-inline-end:0;margin:0;max-width:none;max-height:none;width:min(560px,94vw);height:100dvh;padding:0;overflow:hidden;display:flex;flex-direction:column;border:0;-webkit-border-start:1px solid var(--line);border-inline-start:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--text);box-shadow:var(--shadow-xl);animation:drawer-in .26s var(--ease)}.accounting-dialog.is-compact{width:min(460px,94vw)}.accounting-dialog.is-wide{width:min(720px,96vw)}.accounting-dialog:has(.creation-route-dialog){width:min(760px,96vw)}.creation-route-dialog .dashboard-welcome,.creation-route-dialog .directory-hero,.creation-route-dialog .page-header,.creation-route-dialog .section-subnav{display:none}.creation-route-dialog .card{padding:0;border:0;background:transparent;box-shadow:none}@keyframes drawer-in{0%{transform:translateX(-100%)}}[dir=ltr] .accounting-dialog{animation-name:drawer-in-ltr}@keyframes drawer-in-ltr{0%{transform:translateX(100%)}}.accounting-dialog::-webkit-backdrop{background:rgba(0,0,0,.8);animation:overlay-in .2s var(--ease)}.accounting-dialog::backdrop{background:rgba(0,0,0,.8);animation:overlay-in .2s var(--ease)}.accounting-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);flex:0 0 auto;margin:0;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);background:var(--surface)}.accounting-dialog .dialog-title{display:flex;align-items:flex-start;gap:var(--s-3);min-width:0}.accounting-dialog .dialog-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:var(--r-md);background:var(--primary-soft);color:var(--primary-strong)}.accounting-dialog h2{margin:0;font-size:var(--text-lg);line-height:1.5;letter-spacing:-.02em}.accounting-dialog .dialog-title p{margin:3px 0 0;font-size:var(--text-sm);color:var(--muted);line-height:var(--leading);max-width:62ch;text-wrap:pretty}.accounting-dialog .dialog-body{flex:1 1;min-height:0;overflow-y:auto;padding:var(--s-4);scrollbar-width:thin}.accounting-dialog .dialog-body .form-actions,.accounting-dialog .dialog-body .modal-actions{position:-webkit-sticky;position:sticky;bottom:calc(var(--s-4) * -1);z-index:2;display:flex;flex-direction:row-reverse;justify-content:flex-start;gap:var(--s-2);margin:var(--s-4) calc(var(--s-4) * -1) calc(var(--s-4) * -1);padding:var(--s-3) var(--s-4);border-top:1px solid var(--line);background:var(--surface)}.accounting-dialog .dialog-body .form-actions .button{min-width:108px}.accounting-dialog .icon-button{flex:0 0 auto;width:36px;height:36px}.accounting-dialog .accounting-form,.accounting-dialog .form{gap:var(--s-3)}.accounting-dialog .dialog-icon{width:38px;height:38px}.accounting-dialog h2{font-size:var(--text-md)}.accounting-hint,.clinical-help,.dialog-hint,.report-help{display:flex;align-items:flex-start;gap:var(--s-2);margin:0 0 var(--s-5);padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);background:var(--info-soft);color:var(--info-text);font-size:var(--text-sm);line-height:var(--leading);text-wrap:pretty}.dialog-hint svg{flex:0 0 auto;margin-top:3px;opacity:.85}.accounting-dialog .table-wrap{margin-top:var(--s-5)}.accounting-dialog .empty-state{margin-top:var(--s-5);padding:var(--s-8) var(--s-5)}@media (max-width:720px){.accounting-dialog,.accounting-dialog.is-compact,.accounting-dialog.is-wide{inset:auto 0 0;width:100vw;height:auto;max-height:92dvh;-webkit-border-start:0;border-inline-start:0;border-top:1px solid var(--line);border-radius:var(--r-xl) var(--r-xl) 0 0;animation:sheet-in .28s var(--ease)}@keyframes sheet-in{0%{transform:translateY(100%)}}.accounting-dialog .dialog-body .form-actions .button{flex:1 1}}.appointment-status,.commission-tiers,.integration-subnav,.portal-app,.portal-auth-page,.portal-booking-page{background:var(--surface-2);color:var(--text)}.duplicate-warning,.patient-alert-strip{background:var(--warning-soft);color:var(--warning-text);border-color:color-mix(in srgb,var(--warning-text) 26%,transparent)}.table th{background:var(--table-head)}.detail-list,.note-card,.section-heading,.settings-menu,.timeline-list{background:transparent;color:inherit}.alert-card,.appointment-finance-card,.compare-stage,.final-sign-card,.finance-deposit-summary,.media-card,.ops-code,.ops-runtime,.patient-hero-metrics>*,.pipeline-column,.pipeline-terminal,.staff-detail-grid>*,.staff-report-summary>*,.timeline-preview,.version-pill,.waiting-card,.wallet-balance{background:var(--surface-2);color:var(--text);border-color:var(--line)}.pipeline-board{gap:var(--s-3)}.pipeline-column{border:1px solid var(--line);border-radius:var(--r-md)}.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4)}.calendar-toolbar>select{width:auto;min-width:130px;max-width:200px;min-height:var(--control-h-sm);font-size:var(--text-sm)}.calendar-anchor{-webkit-margin-start:auto;margin-inline-start:auto;font-size:var(--text-base);font-weight:700;white-space:nowrap;padding-inline:var(--s-2)}.calendar-nav{display:flex;align-items:center;gap:var(--s-1);flex:0 0 auto}.calendar-nav button{min-height:var(--control-h-sm);padding:5px var(--s-3);border:1px solid var(--line);border-radius:var(--r-xs);background:var(--surface);color:var(--text-soft);font-family:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:var(--t-fast)}.calendar-nav button:hover{background:var(--surface-2);color:var(--text);border-color:var(--line-strong)}@media (max-width:860px){.calendar-anchor{-webkit-margin-start:0;margin-inline-start:0;order:-1;width:100%}.calendar-toolbar>select{flex:1 1 130px;max-width:none}.calendar-nav{width:100%}.calendar-nav button{flex:1 1}}.clinical-toolbar,.pipeline-toolbar,.report-toolbar,.waiting-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-bottom:var(--s-4)}.clinical-toolbar input,.clinical-toolbar select,.report-toolbar input,.report-toolbar select,.waiting-toolbar select{width:auto;min-width:130px;min-height:var(--control-h-sm);font-size:var(--text-sm)}.report-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-bottom:var(--s-4);font-size:var(--text-xs);color:var(--muted);background:transparent}.report-meta time,.report-meta>span,.version-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-soft)}.calendar-toolbar label,.clinical-toolbar label,.pipeline-toolbar label,.report-toolbar label,.waiting-toolbar label{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--text-sm);color:var(--text-soft)}.ticket-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap}.ticket-split{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);grid-gap:var(--s-4);gap:var(--s-4);align-items:start}.ticket-list{padding:var(--s-2);display:grid;grid-gap:2px;gap:2px;max-height:70dvh;overflow-y:auto;scrollbar-width:thin}.ticket-list button{display:grid;grid-gap:var(--s-2);gap:var(--s-2);width:100%;padding:var(--s-3);text-align:start;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;font-family:inherit;color:inherit;cursor:pointer;transition:var(--t-fast)}.ticket-list button:hover:not(:disabled){background:var(--surface-2)}.ticket-list button.active{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 26%,transparent)}.ticket-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-2)}.ticket-list-head strong{font-size:var(--text-sm);line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ticket-list-head small,.ticket-list-meta small{flex:0 0 auto;font-size:var(--text-xs);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ticket-list-meta{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.ticket-thread{padding:0;overflow:hidden}.ticket-thread-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line)}.ticket-thread-head h2{margin:0 0 3px;font-size:var(--text-md)}.ticket-thread-head small{font-size:var(--text-xs);color:var(--muted)}.ticket-conversation{display:grid;grid-gap:var(--s-3);gap:var(--s-3);padding:var(--s-5);max-height:46dvh;overflow-y:auto;scrollbar-width:thin}.ticket-message{max-width:82%;padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}.ticket-message.is-mine{justify-self:start;background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 20%,transparent)}.ticket-message.is-support{justify-self:end}.ticket-message header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-1)}.ticket-message strong{font-size:var(--text-xs)}.ticket-message small{font-size:10.5px;color:var(--muted)}.ticket-message p{margin:0;font-size:var(--text-sm);line-height:var(--leading);white-space:pre-wrap;text-wrap:pretty}.ticket-reply{display:grid;grid-gap:var(--s-3);gap:var(--s-3);padding:var(--s-4) var(--s-5);border-top:1px solid var(--line);background:var(--surface-2)}.ticket-reply .button{justify-self:start}.ticket-thread .dialog-hint{margin:var(--s-4) var(--s-5) var(--s-5)}@media (max-width:960px){.ticket-split{grid-template-columns:minmax(0,1fr)}.ticket-list{max-height:340px}.ticket-message{max-width:92%}}.license-banner{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-5);padding:var(--s-3) var(--s-4);border:1px solid color-mix(in srgb,var(--danger) 34%,transparent);border-radius:var(--r-sm);background:var(--danger-soft);color:var(--danger)}.license-banner>span{flex:1 1;min-width:0}.license-banner strong{display:block;font-size:var(--text-sm)}.license-banner small{display:block;font-size:var(--text-xs);opacity:.85;line-height:var(--leading-tight)}.license-banner .button{flex:0 0 auto;background:var(--danger);color:#fff}.license-banner.is-warning{border-color:color-mix(in srgb,var(--warning-text) 34%,transparent);background:var(--warning-soft);color:var(--warning-text)}.license-banner.is-warning .button{background:var(--warning-text);color:#1c1204}.license-banner-close{flex:0 0 auto;border:0;background:transparent;color:inherit;font-size:20px;line-height:1;padding:0 var(--s-1);cursor:pointer;opacity:.6}.license-banner-close:hover{opacity:1}@media (max-width:640px){.license-banner{flex-wrap:wrap}.license-banner .button{width:100%}}.license-status{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);margin-bottom:var(--s-2);border-radius:var(--r-xs);background:var(--surface-2);color:var(--muted);font-size:var(--text-xs)}.license-status small{display:block;opacity:.75}.license-status.is-urgent{background:var(--danger-soft);color:var(--danger)}.status-page{display:grid;place-items:center;min-height:100dvh;padding:var(--s-6);background:var(--bg-tint),var(--bg)}.status-card{width:min(520px,100%);padding:var(--s-12) var(--s-10);text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow);animation:page-in .4s var(--ease)}.status-art{display:grid;place-items:center;width:104px;height:104px;margin:0 auto var(--s-6);border-radius:50%}.status-art,.status-code{background:var(--primary-soft);color:var(--primary-strong)}.status-code{display:inline-block;margin-bottom:var(--s-3);padding:4px 14px;border-radius:var(--r-pill);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status-card h1{font-size:var(--text-2xl);line-height:1.5;letter-spacing:-.03em;margin:0 0 var(--s-3);text-wrap:balance}.status-card p{color:var(--muted);font-size:var(--text-base);max-width:44ch;margin:0 auto;text-wrap:pretty}.status-actions{display:flex;justify-content:center;gap:var(--s-2);margin-top:var(--s-6)}.status-hint{margin-top:var(--s-6)!important;padding-top:var(--s-5);border-top:1px solid var(--line);font-size:var(--text-sm)!important}@media (max-width:480px){.status-card{padding:var(--s-8) var(--s-5);border-radius:var(--r-lg)}.status-card h1{font-size:var(--text-xl)}}.theme-toggle{display:inline-flex;gap:2px;padding:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm)}.theme-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:var(--muted);padding:7px 10px;border-radius:7px;font-family:inherit;font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:var(--t-fast)}.theme-toggle button:hover{color:var(--text)}.theme-toggle button[aria-pressed=true]{background:var(--surface);color:var(--primary-strong);box-shadow:var(--shadow-xs)}.clinical-list-row,.dashboard-list-row,.owner-row,.portal-list-row,.security-item,.timeline-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-4) 0;border-bottom:1px solid var(--line)}.clinical-list-row:last-child,.dashboard-list-row:last-child,.owner-row:last-child,.security-item:last-child{border-bottom:0}.dashboard-date{font-size:var(--text-xs);color:var(--muted)}.twofactor-qr{display:grid;justify-items:center;grid-gap:var(--s-3);gap:var(--s-3);padding:var(--s-5);background:var(--surface-2);border-radius:var(--r-md)}.twofactor-qr__image{background:#fff;padding:var(--s-3);border-radius:var(--r-sm)}.appearance-card,.appearance-controls,.appearance-links{display:grid;grid-gap:var(--s-3);gap:var(--s-3)}.appearance-active{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.service-stack{display:grid;grid-gap:var(--s-2);gap:var(--s-2)}.branch-cell,.date-cell{font-size:var(--text-xs);color:var(--muted)}.labeled{display:grid;grid-gap:3px;gap:3px}.labeled>span:first-child{font-size:var(--text-xs);color:var(--muted)}