@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Inter:wght@400;500;600;700&display=swap");:root{--primary:#2d6a6b;--primary-hover:#1f4e4f;--secondary:#7fb5b0;--accent:var(--secondary);--accent-strong:#2d6a6b;--bg-page:#f6f7f9;--bg-card:#ffffff;--bg-card-header:#f8fafc;--bg-sidebar:#0a0a0a;--border-subtle:#e8eaef;--border-input:#c5cdd8;--text-primary:#14151a;--text-secondary:#64748b;--text-sidebar-inactive:#d4d4d8;--text-sidebar-active:#ffffff;--sidebar-icon-inactive:#b8bec8;--sidebar-icon-active:#ffffff;--sidebar-hover-bg:rgba(255,255,255,0.06);--sidebar-active-bg:rgba(255,255,255,0.1);--sidebar-accent-bar:var(--secondary);--sidebar-border:rgba(255,255,255,0.08);--sidebar-text:#f5f5f5;--sidebar-text-muted:#9ca3af;--agenda-card-bg:#f8fafc;--agenda-time-color:#334155;--agenda-patient-color:#0f172a;--input-bg:#ffffff;--input-placeholder:#94a3b8;--ink:var(--text-primary);--ink-soft:var(--text-secondary);--paper:var(--bg-page);--paper-warm:var(--bg-page);--paper-elevated:var(--bg-card);--sidebar-bg:var(--bg-sidebar);--session:var(--primary);--session-hover:var(--primary-hover);--session-muted:rgba(45,106,107,0.08);--muted:var(--text-secondary);--border:var(--border-input);--border-light:var(--border-subtle);--btn-primary-bg:#18181b;--btn-primary-hover:#27272a;--btn-primary-fg:#ffffff;--btn-ghost-bg:#ffffff;--btn-ghost-hover-bg:#f8fafc;--success:#16a34a;--success-bg:#f0fdf4;--success-text:#15803d;--success-border:#bbf7d0;--info-bg:#f8fafc;--info-text:#475569;--info-border:#e2e8f0;--warning:#d97706;--warning-bg:#fffbeb;--warning-text:#b45309;--warning-border:#fde68a;--recording:#dc2626;--danger:#dc2626;--danger-bg:#fef2f2;--danger-border:#fecaca;--shadow-sm:0 1px 2px rgba(15,23,42,0.04);--shadow-md:0 4px 16px rgba(15,23,42,0.06);--radius:6px;--radius-sm:6px;--radius-btn:6px;--font-display:"Inter",ui-sans-serif,system-ui,sans-serif;--font-ui:"Inter",ui-sans-serif,system-ui,sans-serif;--sidebar-w:248px;--sidebar-w-collapsed:72px;--topbar-h:60px;--content-max:1200px;--crud-inset-x:2rem;--crud-inset-y:1.5rem;--surface-hover:rgba(15,23,42,0.04);--surface-row-hover:#f1f5f9;--danger-hover-bg:rgba(220,38,38,0.06);--checkbox-bg:#ffffff;--checkbox-border:#cbd5e1;--checkbox-border-hover:var(--session)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:light}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:16px;font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--session);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--session-hover)}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.2;margin:0 0 .5rem;letter-spacing:-.01em}h1{font-size:clamp(1.75rem,3vw,2.25rem)}h2{font-size:1.25rem}.skip-link{position:absolute;left:.75rem;top:.75rem;z-index:100;padding:.5rem .85rem;background:var(--ink);color:#fff;border-radius:var(--radius-sm);transform:translateY(-200%)}.skip-link:focus{transform:none}.eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--session);margin:0 0 .35rem}.lede{color:var(--ink-soft);font-size:1.05rem;max-width:42ch;margin:0 0 1.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5625rem 1.25rem;border-radius:var(--radius-btn);border:1px solid transparent;font-family:var(--font-ui);font-size:.875rem;font-weight:500;letter-spacing:-.01em;line-height:1.25;cursor:pointer;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-bg);box-shadow:none}.btn-primary:hover:not(:disabled){background:var(--btn-primary-hover);border-color:var(--btn-primary-hover)}a.btn{text-decoration:none}a.btn-primary,a.btn-primary:hover:not(:disabled),a.btn-primary:visited{color:var(--btn-primary-fg)}.btn-ghost{background:var(--btn-ghost-bg);border-color:var(--border);color:var(--ink);box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--btn-ghost-hover-bg);border-color:#b3bec9}.btn-secondary{background:#f4f4f5;border-color:var(--border);color:var(--ink)}.btn-secondary:hover:not(:disabled){background:#e4e4e7;border-color:#b3bec9}.btn-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:.5rem;margin-bottom:1.25rem}.btn-row--flush,.crud-confirm-actions,.crud-form-card-footer .btn-row,.crud-form-card-footer.btn-row,.patient-evolution-actions{margin-bottom:0}.btn-row>.btn,.btn-row>a.btn{align-self:stretch}.analysis-editor-header{margin-bottom:0}.rich-text-editor{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper-elevated);overflow:hidden}.rich-text-editor>div:has(.ProseMirror),.rich-text-editor>div:has(.tiptap){flex:1 1;min-width:0}.rich-text-toolbar{display:flex;flex-wrap:wrap;align-items:center;flex-shrink:0;gap:.25rem;padding:.5rem;border-bottom:1px solid var(--border);background:var(--paper-warm)}.rich-text-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--ink);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.rich-text-toolbar-btn.is-active{border-color:var(--session);background:var(--bg-inset,rgba(45,106,107,.1));color:var(--session)}.rich-text-toolbar-btn:disabled{opacity:.45;cursor:not-allowed}.rich-text-toolbar-divider{width:1px;align-self:stretch;margin:.15rem .2rem;background:var(--border)}.rich-text-color-picker{display:inline-flex;align-items:center}.rich-text-color-input{width:2rem;height:2rem;padding:.15rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;cursor:pointer}.rich-text-swatch-row{display:inline-flex;align-items:center;gap:.2rem}.rich-text-swatch{width:1.25rem;height:1.25rem;border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:0}.rich-text-swatch.is-active{outline:2px solid var(--session);outline-offset:1px}.rich-text-toolbar-btn:hover:not(:disabled){border-color:var(--session);color:var(--session)}.rich-text-surface{min-height:14rem;padding:1rem 1.1rem;outline:none}.tiptap-surface p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--ink-muted);float:left;height:0;pointer-events:none}.rich-text-surface h1{font-family:var(--font-display);font-size:1.35rem;font-weight:600;margin:0 0 .75rem}.rich-text-surface blockquote{margin:0 0 1rem;padding:.5rem 0 .5rem 1rem;border-left:3px solid var(--session);color:var(--ink-soft)}.rich-text-surface hr{border:none;border-top:1px solid var(--border);margin:1rem 0}.rich-text-surface a{color:var(--session);text-decoration:underline}.rich-text-surface mark{border-radius:.15rem;padding:0 .1rem}.rich-text-surface h2{font-family:var(--font-display);font-size:1.15rem;font-weight:500;color:var(--ink);margin:0 0 .75rem}.rich-text-surface h3{font-family:var(--font-ui);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--session);margin:1.25rem 0 .5rem}.rich-text-surface p{margin:0 0 .85rem}.rich-text-surface ol,.rich-text-surface ul{margin:0 0 1rem;padding-left:1.25rem}.btn-danger{background:var(--recording);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-sm{padding:.4375rem 1rem;font-size:.8125rem}.btn-block{width:100%}.section-spaced{margin-top:1.5rem}.page-back-link,.patient-detail-back{margin:0 0 .75rem;font-size:.875rem}.page-back-link a,.patient-detail-back a{color:var(--ink-soft);text-decoration:none}.page-back-link a:hover,.patient-detail-back a:hover{color:var(--ink);text-decoration:underline}.session-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-bottom:1rem;font-size:.8125rem;color:var(--muted)}.session-breadcrumb a{color:var(--ink-soft);text-decoration:none}.session-breadcrumb a:hover{color:var(--ink);text-decoration:underline}.session-breadcrumb [aria-hidden=true]{color:var(--border);-webkit-user-select:none;-moz-user-select:none;user-select:none}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}.field label{font-size:.8rem;font-weight:600;color:var(--ink-soft);letter-spacing:.02em}.field input,.field select,.field textarea,.field-input{padding:.75rem .9rem;min-height:3rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;background:var(--paper-warm);color:var(--ink);width:100%;transition:border-color .15s,box-shadow .15s}.field input.field-input-currency,.field-input.field-input-currency{width:min(100%,11.5rem)}.field input.field-input-phone,.field-input.field-input-phone{width:min(100%,12.5rem)}.field input.field-input-name,.field-input.field-input-name{width:min(100%,18rem)}.field input.field-input-email,.field-input.field-input-email{width:min(100%,26rem)}.field input.field-input-password,.field-input.field-input-password{width:min(100%,22rem)}.patient-form-grid{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0}.patient-form-fields{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-start;border:0;margin:0;padding:0;min-width:0;min-inline-size:0;width:100%}.patient-form-fields .field{flex:1 1 16rem;min-width:min(100%,12rem);margin-bottom:0}.patient-form-fields .field:not(:has(.field-hint)):not(:has(.field-error)):after{content:"";display:block;min-height:1.15rem}.patient-form-fields .field:has(.field-input-currency),.patient-form-fields .field:has(.field-input-email),.patient-form-fields .field:has(.field-input-name),.patient-form-fields .field:has(.field-input-password),.patient-form-fields .field:has(.field-input-phone){flex:0 1 auto}.patient-form-actions{width:100%;margin-inline:0}.patient-workspace-form-fields{margin:0;padding:0;min-width:0}.crud-table tbody tr[role=link]{cursor:pointer}.field input:focus,.field select:focus,.field textarea:focus,.field-input:focus{outline:none;border-color:var(--session);box-shadow:0 0 0 3px rgba(45,106,107,.18);background:var(--paper-elevated)}.field-input-invalid,.field-invalid .field-input,.field-invalid input,.field-invalid select,.field-invalid textarea{border-color:#e8a8a8;background:#fffafa}.field-input-invalid:focus,.field-invalid .field-input:focus,.field-invalid input:focus{border-color:var(--danger);box-shadow:0 0 0 3px rgba(155,44,44,.1)}.field-error{margin:.35rem 0 0;font-size:.8rem;color:var(--danger);line-height:1.4}.field-hint{margin:.35rem 0 0;font-size:.75rem;color:var(--muted)}.field-combo{position:relative;width:100%}.field-combo-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:3rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper-warm);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.field-combo-trigger:hover{border-color:#c5cdd8}.field-combo-trigger:focus-visible,.field-combo.is-open .field-combo-trigger{outline:none;border-color:var(--session);box-shadow:0 0 0 3px rgba(45,106,107,.18);background:var(--paper-elevated)}.field-combo-invalid .field-combo-trigger{border-color:#e8a8a8;background:#fffafa}.field-combo-invalid .field-combo-trigger:focus-visible,.field-combo-invalid.is-open .field-combo-trigger{border-color:var(--danger);box-shadow:0 0 0 3px rgba(155,44,44,.1)}.field-combo-value{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-combo-chevron{flex-shrink:0;color:var(--muted);transition:transform .15s ease}.field-combo.is-open .field-combo-chevron{transform:rotate(180deg)}.field-combo-menu{position:absolute;z-index:60;top:calc(100% + .35rem);left:0;right:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper-elevated);box-shadow:var(--shadow-md)}.field-combo-search{position:relative;padding:.5rem;border-bottom:1px solid var(--border-subtle);background:var(--paper-warm)}.field-combo-search svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.field-combo-search input{width:100%;padding:.6rem .75rem .6rem 2.25rem;border:1px solid var(--border);border-radius:calc(var(--radius-sm) - 2px);background:var(--paper-elevated);font:inherit;font-size:.875rem;color:var(--ink)}.field-combo-search input::placeholder{color:var(--muted)}.field-combo-search input:focus{outline:none;border-color:var(--session);box-shadow:0 0 0 3px rgba(45,106,107,.18)}.field-combo-list{margin:0;padding:.35rem;max-height:14rem;overflow-y:auto;list-style:none}.field-combo-option{display:flex;width:100%;align-items:center;padding:.55rem .65rem;border:none;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .12s ease}.field-combo-option:hover{background:var(--surface-row-hover)}.field-combo-option.is-selected{background:var(--session-muted);font-weight:600}.field-combo-empty{padding:.75rem .65rem;font-size:.875rem;color:var(--muted);text-align:center}.panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);box-shadow:none}.crud-section.panel,.panel{padding:var(--crud-inset-y) var(--crud-inset-x)}.panel-title{margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light)}.alert-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);border-radius:var(--radius-sm)}.alert-error,.alert-success{padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}.alert-success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text);border-radius:var(--radius-sm)}.alert-info{background:var(--info-bg);border:1px solid var(--info-border);color:var(--info-text);border-radius:var(--radius-sm)}.alert-info,.alert-warning{padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}.alert-warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text);border-radius:var(--radius-sm)}.empty-state{color:var(--muted);padding:2.5rem 1.5rem;text-align:center;font-size:.95rem}.empty-state a{font-weight:600}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;transition:grid-template-columns .2s ease}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.app-main{min-width:0;min-height:100vh}.app-main,.sidebar{display:flex;flex-direction:column}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);padding:1rem .75rem;gap:.5rem;border-right:1px solid var(--sidebar-border);position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:hidden}.sidebar-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem;margin-bottom:.75rem}.sidebar-collapse-btn{display:grid;place-items:center;width:2rem;height:2rem;border:none;border-radius:var(--radius-btn);background:var(--sidebar-hover-bg);color:var(--sidebar-text-muted);cursor:pointer;flex-shrink:0;margin-top:.15rem}.sidebar-collapse-btn:hover{background:var(--sidebar-active-bg);color:var(--sidebar-text)}.sidebar-brand{display:flex;align-items:center;gap:.65rem;padding:0 .35rem;min-width:0}.sidebar-mark{width:36px;height:36px;border-radius:10px;background:var(--primary);display:grid;place-items:center;font-size:1rem;color:#fff;flex-shrink:0}.sidebar-brand-text,.sidebar-mark{font-family:var(--font-display);font-weight:600}.sidebar-brand-text{font-size:.95rem;color:var(--sidebar-text);line-height:1.2;white-space:nowrap}.sidebar-brand-sub{font-size:.68rem;color:var(--sidebar-text-muted);font-family:var(--font-ui);font-weight:400;letter-spacing:.02em;white-space:nowrap}.sidebar-nav,.sidebar-nav-footer{display:flex;flex-direction:column;gap:.15rem}.sidebar-nav{flex:1 1;overflow-y:auto;padding-right:.15rem}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:.35rem}.sidebar a.nav-link{display:flex;align-items:center;gap:.7rem;color:var(--text-sidebar-inactive);text-decoration:none;padding:.6rem .75rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;transition:background .15s,color .15s;position:relative}.sidebar a.nav-link .nav-link-icon{color:var(--sidebar-icon-inactive)}.sidebar a.nav-link:hover{background:var(--sidebar-hover-bg);color:var(--text-sidebar-active)}.sidebar a.nav-link:hover .nav-link-icon{color:var(--sidebar-icon-active)}.sidebar a.nav-link.active{background:var(--sidebar-active-bg);color:var(--text-sidebar-active);font-weight:600}.sidebar a.nav-link.active .nav-link-icon{color:var(--sidebar-icon-active)}.sidebar a.nav-link.active:before{content:"";position:absolute;left:0;top:.45rem;bottom:.45rem;width:3px;border-radius:0 3px 3px 0;background:var(--sidebar-accent-bar)}.nav-link-icon{flex-shrink:0}.nav-link-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell.sidebar-collapsed .nav-link-label,.app-shell.sidebar-collapsed .sidebar-brand-sub,.app-shell.sidebar-collapsed .sidebar-brand-text,.app-shell.sidebar-collapsed .sidebar-user-meta{display:none}.app-shell.sidebar-collapsed .sidebar a.nav-link{justify-content:center;padding:.65rem}.app-shell.sidebar-collapsed .sidebar a.nav-link.active:before{left:0;top:.25rem;bottom:.25rem}.sidebar-footer{padding-top:.75rem;border-top:1px solid var(--sidebar-border)}.sidebar-user-card{display:flex;align-items:center;gap:.65rem;padding:.35rem .5rem .75rem}.sidebar-user-avatar{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:rgba(127,181,176,.2);color:var(--secondary);font-size:.7rem;font-weight:600;flex-shrink:0}.sidebar-user-meta{min-width:0}.sidebar-user-name{display:block;font-size:.8rem;font-weight:600;color:var(--sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-plan{display:block;font-size:.68rem;color:var(--sidebar-text-muted)}.subscription-trial-cue{display:flex;flex-direction:column;gap:.12rem;margin-bottom:.75rem;padding:.7rem .8rem;border-radius:var(--radius-sm);border:1px solid rgba(251,191,36,.5);background:rgba(251,191,36,.16);color:#fffbeb;text-decoration:none;transition:background .15s,border-color .15s,transform .15s}.subscription-trial-cue:hover{background:rgba(251,191,36,.26);border-color:rgba(252,211,77,.85);color:#fffbeb}.subscription-trial-cue-label{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fde68a}.subscription-trial-cue-days{font-size:.92rem;font-weight:700;line-height:1.25;color:#fffbeb}.subscription-trial-cue-action{font-size:.78rem;font-weight:600;color:#fcd34d}.subscription-trial-cue--compact{display:grid;place-items:center;width:2.25rem;height:2.25rem;margin:0 auto .75rem;padding:0;border-radius:999px;font-size:.72rem;font-weight:700;color:#fde68a}.subscription-trial-cue--topbar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.35rem .55rem;margin-bottom:0;padding:.45rem .85rem;background:#fffbeb;border-color:#fbbf24;color:#92400e}.subscription-trial-cue--topbar:hover{background:#fef3c7;border-color:#f59e0b;color:#78350f}.subscription-trial-cue--topbar .subscription-trial-cue-label{color:#b45309}.subscription-trial-cue--topbar .subscription-trial-cue-days{font-size:.84rem;color:#92400e}.subscription-trial-cue--topbar .subscription-trial-cue-action{color:#b45309}.sidebar .btn-logout{width:100%;background:transparent;border:1px solid rgba(255,255,255,.14);color:var(--sidebar-text-muted);font-size:.8125rem;font-weight:500;padding:.5rem 1rem;border-radius:var(--radius-btn);display:inline-flex;align-items:center;justify-content:center}.sidebar .btn-logout:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text);border-color:rgba(255,255,255,.22)}.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:var(--topbar-h);padding:0 1.5rem;background:var(--paper-elevated);border-bottom:1px solid var(--border-light);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar-search{position:relative;flex:1 1;max-width:28rem}.topbar-search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--secondary);pointer-events:none}.topbar-search-input{width:100%;padding:.55rem .85rem .55rem 2.35rem;border:1px solid var(--border-input);border-radius:var(--radius-sm);background:var(--input-bg);font:inherit;font-size:.875rem;font-weight:500;color:var(--text-primary)}.topbar-search-input::placeholder{color:var(--input-placeholder)}.topbar-search-input:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 3px rgba(15,23,42,.06);background:var(--input-bg)}.topbar-patient-search{position:relative}.topbar-patient-search-menu{position:absolute;z-index:60;top:calc(100% + .35rem);left:0;right:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper-elevated);box-shadow:var(--shadow-md)}.topbar-patient-search-list{margin:0;padding:.35rem;max-height:16rem;overflow-y:auto;list-style:none}.topbar-patient-search-option{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.55rem .65rem;border:none;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .12s ease}.topbar-patient-search-option.is-active,.topbar-patient-search-option:hover{background:var(--session-muted)}.topbar-patient-search-name{font-weight:600;font-size:.875rem}.topbar-patient-search-meta{font-size:.75rem;color:var(--muted)}.topbar-patient-search-empty{margin:0;padding:.75rem .85rem;font-size:.875rem;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:.35rem}.topbar-avatar-btn,.topbar-icon-btn{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:none;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}.topbar-avatar-btn:hover,.topbar-icon-btn:hover{background:var(--session-muted);color:var(--ink)}.topbar-user-menu{position:relative}.topbar-avatar{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--session);color:#fff;font-size:.72rem;font-weight:600}.topbar-menu-backdrop{position:fixed;inset:0;z-index:30;border:none;background:transparent;cursor:default}.topbar-dropdown{position:absolute;right:0;top:calc(100% + .35rem);z-index:40;min-width:12rem;padding:.35rem;background:var(--paper-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.topbar-dropdown-email{margin:0;padding:.5rem .65rem;font-size:.75rem;color:var(--muted);border-bottom:1px solid var(--border-light);word-break:break-all}.topbar-dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .65rem;border:none;border-radius:8px;background:transparent;font:inherit;font-size:.875rem;color:var(--ink);text-decoration:none;cursor:pointer;text-align:left}.topbar-dropdown-item:hover{background:var(--session-muted)}.topbar-dropdown-logout{color:var(--danger)}.main-content{flex:1 1;padding:1.75rem 2rem 3rem;max-width:calc(var(--content-max) + 4rem);width:100%;background:radial-gradient(ellipse 80% 50% at 100% 0,rgba(45,106,107,.05),transparent),var(--paper)}.page-header{margin-bottom:2rem}.page-header h1{margin-bottom:.25rem}.page-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);font-size:.95rem}.agenda-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.agenda-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding:1.1rem 1.25rem;background:var(--agenda-card-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:border-color .15s,box-shadow .15s}.agenda-item:hover{border-color:rgba(255,255,255,.12);box-shadow:var(--shadow-sm)}.agenda-item-main{display:flex;align-items:baseline;gap:1rem;min-width:0}.agenda-item-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.agenda-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;font-size:1rem;color:var(--agenda-time-color);min-width:3.5rem}.agenda-patient{font-family:var(--font-ui);font-size:1rem;font-weight:500;color:var(--agenda-patient-color)}.status-dot{display:inline-flex;align-items:center;gap:.35rem;margin-left:0;padding:0;border:0;background:none;font:500 .75rem/1.3 DM Sans,sans-serif;color:#5d6b65;text-transform:none;letter-spacing:normal;vertical-align:middle}.status-dot-marker{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot-tone-neutral .status-dot-marker{background:#6b7a8f}.status-dot-tone-success .status-dot-marker{background:#2e7d32}.status-dot-tone-danger .status-dot-marker{background:#c5221f}.status-dot-tone-brand .status-dot-marker{background:var(--dashboard-brand,#2a5f5b)}.status-dot-tone-info .status-dot-marker{background:#1a73e8}.status-dot-tone-muted .status-dot-marker{background:#9aa3a0}.status-dot-emphasis{font-weight:600;color:var(--dashboard-brand,#2a5f5b)}.status-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:99px;border:1px solid var(--border-light);background:var(--bg-card-header);font-family:var(--font-ui);font-size:.75rem;font-weight:600;line-height:1.3;white-space:nowrap}.agenda-item-cancelled .agenda-patient,.agenda-item-cancelled .agenda-time,.status-badge{color:var(--muted)}.agenda-item-cancelled .agenda-patient{text-decoration:line-through;-webkit-text-decoration-color:rgba(107,114,128,.55);text-decoration-color:rgba(107,114,128,.55)}.agenda-item-body{display:flex;flex-direction:column;gap:.35rem;min-width:0}.appointment-payment{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;font-size:.875rem}.appointment-payment-compact{font-size:.8125rem}.appointment-payment-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)}.appointment-payment-sep{color:var(--muted)}.payment-action-wrap{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.payment-action-link{font:inherit;font-size:.6875rem;font-weight:600;line-height:1.2;color:var(--muted);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px;-webkit-text-decoration-color:rgba(15,23,42,.22);text-decoration-color:rgba(15,23,42,.22)}.payment-action-link:hover:not(:disabled){color:var(--text);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.payment-action-link:disabled{opacity:.55;cursor:not-allowed}.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}.session-panel{position:relative;overflow:hidden}.session-panel.session-live:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--recording);animation:pulse-bar 1.8s ease-in-out infinite}.session-panel.session-ready:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--session)}.session-recovery{margin:0 0 1.25rem;padding:1rem 1.1rem;border:1px solid var(--warning-border);border-radius:var(--radius);background:var(--warning-bg)}.session-recovery-title{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--warning-text)}.session-recovery-detail{margin:0 0 .85rem;color:var(--ink-soft);line-height:1.5;font-size:.95rem}.session-recovery .btn-row{margin-bottom:0}@keyframes pulse-bar{0%,to{opacity:1}50%{opacity:.45}}.session-phase{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--ink-soft);margin-bottom:1rem}.session-phase-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.session-phase-dot.live{background:var(--recording);animation:pulse-bar 1.2s ease-in-out infinite}.session-phase-dot.ready{background:var(--session)}.transcript-box{background:var(--paper);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:1.25rem;white-space:pre-wrap;font-size:.92rem;line-height:1.65;max-height:420px;overflow:auto;color:var(--ink-soft)}.progress-track{height:5px;background:var(--border-light);border-radius:99px;overflow:hidden;margin:1.25rem 0}.progress-fill{height:100%;background:linear-gradient(90deg,var(--session),#3d8a78);border-radius:99px;transition:width .25s ease}.session-progress{margin:1.25rem 0 1.5rem;padding:1.25rem 1.35rem;background:var(--paper);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.session-progress-head{margin-bottom:1rem}.session-progress-title{font-size:1.05rem;font-weight:650;color:var(--ink);margin:0}.session-progress-detail{margin:.35rem 0 0;font-size:.88rem;color:var(--muted);line-height:1.45}.session-progress-steps{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.session-progress-step{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:var(--muted)}.session-progress-step.is-active{color:var(--ink)}.session-progress-step.is-done{color:var(--session)}.session-progress-step-dot{width:7px;height:7px;border-radius:50%;background:var(--border-light);flex-shrink:0}.session-progress-step.is-active .session-progress-step-dot{background:var(--recording);animation:pulse-bar 1.2s ease-in-out infinite}.session-progress-step.is-done .session-progress-step-dot{background:var(--session)}.session-progress-step.is-warn{color:var(--ink)}.session-progress-step.is-warn .session-progress-step-dot{background:#c5221f}.session-progress-bar-wrap{display:flex;align-items:center;gap:.75rem}.session-progress-track{flex:1 1;margin:0;height:8px}.session-progress-track.is-recording .session-progress-fill{background:linear-gradient(90deg,var(--recording),#e07a4f)}.session-progress-pct{font-size:.82rem;font-weight:700;color:var(--ink-soft);min-width:2.5rem;text-align:right}.session-progress-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.85rem 1.25rem;gap:.85rem 1.25rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-light)}.session-progress-metric{display:flex;flex-direction:column;gap:.15rem}.session-progress-metric-label{font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.session-progress-metric strong{font-size:1.05rem;font-weight:700;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.session-progress-metric-hint{font-size:.78rem;color:var(--muted);line-height:1.35}.session-progress-audio{min-width:120px}.session-audio-meter{height:8px;background:var(--border-light);border-radius:99px;overflow:hidden;margin-top:.15rem}.session-audio-meter-fill{height:100%;background:linear-gradient(90deg,var(--session),#5d9b88);border-radius:99px;transition:width .12s ease;min-width:4px}.session-audio-sources{min-width:148px}.session-audio-source-list{list-style:none;margin:.2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.session-stop-btn{margin-top:.5rem}.analysis-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.session-documents{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--border-light)}.doc-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;padding:.25rem;background:var(--paper);border-radius:var(--radius-sm);border:1px solid var(--border-light)}.doc-tab{position:relative;padding:.55rem 1rem;border:none;border-radius:6px;background:transparent;font-family:var(--font-ui);font-size:.85rem;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:background .15s,color .15s}.doc-tab:hover{color:var(--ink);background:rgba(255,255,255,.6)}.doc-tab.active{background:var(--paper-elevated);color:var(--session);box-shadow:var(--shadow-sm)}.doc-tab-dot{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--session)}.doc-panel{background:var(--paper-warm);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:1.35rem 1.5rem;min-height:120px}.doc-panel-toolbar{padding-bottom:.85rem;margin-bottom:1rem;border-bottom:1px solid var(--border-light)}.doc-panel-body{min-width:0}.doc-panel-body .analysis-prose-html>:first-child,.doc-panel-body .analysis-prose>:first-child,.doc-panel-body .transcript-readable>:first-child{margin-top:0}.doc-loading{display:flex;align-items:center;gap:.5rem;color:var(--ink-soft);font-size:.95rem}.doc-empty{text-align:center;padding:1.5rem 1rem;color:var(--muted)}.doc-empty p{margin:0 0 1rem}.doc-empty-actions{justify-content:center}.doc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1.25rem 0 0}.transcript-readable{font-size:.95rem;line-height:1.7;color:var(--ink-soft);max-height:360px;overflow-y:auto}.transcript-readable p{margin:0 0 .85rem}.transcript-readable p:last-child{margin-bottom:0}.analysis-prose{color:var(--ink-soft);font-size:.95rem;line-height:1.65}.analysis-prose-html h2{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--ink);margin:0 0 .65rem}.analysis-prose-html h2:not(:first-child){margin-top:1.25rem}.analysis-prose-html p{margin:0 0 .85rem}.analysis-prose-html p:last-child{margin-bottom:0}.analysis-heading{font-family:var(--font-display);font-size:1.15rem;font-weight:500;color:var(--ink);margin:0 0 .75rem}.analysis-subheading{font-family:var(--font-ui);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--session);margin:1.25rem 0 .5rem}.analysis-subheading:first-child{margin-top:0}.analysis-paragraph{margin:0 0 .85rem}.analysis-list{margin:0 0 1rem;padding-left:1.25rem}.analysis-list li{margin-bottom:.45rem}.analysis-list li::marker{color:var(--session)}.analysis-list-ordered{padding-left:1.4rem}.analysis-empty{color:var(--muted);margin:0}.crud-page-header{margin-bottom:1.5rem}.crud-page-lede{color:var(--ink-soft);font-size:1.05rem;max-width:none;margin:0;line-height:1.55}.crud-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.crud-count-badge{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:99px;background:var(--session-muted);color:var(--session-hover);font-size:.8rem;font-weight:600}.crud-split{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:1.25rem;gap:1.25rem;align-items:start}.crud-aside-stack{display:flex;flex-direction:column;gap:1.25rem;position:-webkit-sticky;position:sticky;top:1.5rem}.crud-section-head{margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-light)}.crud-section-title{font-family:var(--font-display);font-size:1.15rem;font-weight:500;margin:0}.heading-with-hint{position:relative;width:-moz-fit-content;width:fit-content;max-width:100%;cursor:help}.heading-hint-tooltip{bottom:calc(100% + .45rem);z-index:50;width:max-content;max-width:min(22rem,calc(100vw - 2rem));padding:.55rem .75rem;transform:translateX(-50%);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:var(--ink);font-family:var(--font-ui);font-size:.8125rem;font-weight:400;line-height:1.45;text-align:left;white-space:normal;pointer-events:none;opacity:0;visibility:hidden}.heading-hint-tooltip,.heading-hint-tooltip:after{position:absolute;left:50%;background:var(--paper-elevated)}.heading-hint-tooltip:after{content:"";top:100%;width:.55rem;height:.55rem;transform:translate(-50%,-50%) rotate(45deg);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.heading-with-hint:focus-visible .heading-hint-tooltip,.heading-with-hint:hover .heading-hint-tooltip{opacity:1;visibility:visible;transition:opacity .12s ease-out}.heading-with-hint:not(:hover):not(:focus-visible) .heading-hint-tooltip{opacity:0;visibility:hidden;transition:none}.crud-section-desc{margin:0;font-size:.9rem;color:var(--ink-soft);line-height:1.5;max-width:none}.crud-stack{display:flex;flex-direction:column;gap:1.25rem}.admin-ai-totals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));grid-gap:.75rem;gap:.75rem;margin:0}.admin-ai-totals-grid>div{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card-header)}.admin-ai-totals-grid dt{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.admin-ai-totals-grid dd{margin:0;font-family:var(--font-ui);font-size:1.35rem;font-weight:600;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.admin-ai-provider-dd{font-size:1.05rem}.admin-ai-model-hint{display:block;margin-top:.2rem;font-size:.75rem;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0}.admin-ai-cost-usd{font-size:.8rem;font-weight:500;color:var(--muted)}.admin-ai-user-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}@media (max-width:900px){.admin-ai-totals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.admin-ai-totals-grid{grid-template-columns:1fr}}.crud-table-wrap{overflow-x:auto}.crud-table{width:100%;border-collapse:collapse;font-size:.92rem;--crud-table-pad-x:var(--crud-inset-x);--crud-table-pad-y:0.75rem;--crud-table-head-y:0.75rem}.crud-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;text-align:left;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);padding:var(--crud-table-head-y) var(--crud-table-pad-x);background:var(--bg-card-header);border-bottom:1px solid var(--border-subtle)}.crud-table thead th.crud-col-avatar,.crud-table thead th:has(.crud-sort-btn){padding:0}.crud-sort-btn{display:inline-flex;align-items:center;gap:.35rem;width:100%;min-height:2.5rem;padding:var(--crud-table-head-y) var(--crud-table-pad-x);margin:0;border:none;background:transparent;font:inherit;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:inherit;text-align:inherit;cursor:pointer;border-radius:0;transition:color .12s ease,background .12s ease}.crud-col-count .crud-sort-btn{justify-content:flex-end;text-align:right}.crud-sort-btn:hover{color:var(--ink);background:var(--surface-row-hover)}.crud-sort-btn:focus-visible{outline:2px solid var(--secondary);outline-offset:-2px}.crud-sort-label{line-height:1.2}.crud-sort-icon{font-size:.7rem;opacity:.55;line-height:1}th[aria-sort=ascending] .crud-sort-icon,th[aria-sort=descending] .crud-sort-icon{opacity:1;color:var(--secondary)}.crud-table tbody tr{transition:background .12s ease}.crud-table tbody tr:hover{background:var(--surface-row-hover)}.crud-table tbody td{padding:var(--crud-table-pad-y) var(--crud-table-pad-x);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.crud-table tbody tr:last-child td{border-bottom:none}.crud-col-avatar{width:3rem}.crud-col-count{width:8.5rem;text-align:right;white-space:nowrap}.crud-col-phone{width:12.5rem;min-width:12.5rem;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.crud-table-wrap.crud-table-patients>.crud-table{table-layout:fixed}.crud-table-wrap.crud-table-patients>.crud-table .crud-col-avatar{width:3.25rem}.crud-table-wrap.crud-table-patients>.crud-table .crud-col-count{width:5.75rem}.crud-table-wrap.crud-table-patients>.crud-table .crud-col-phone{width:12.5rem}.crud-table-wrap.crud-table-patients>.crud-table .crud-col-name{min-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crud-table-wrap.crud-table-patients>.crud-table .crud-col-email{min-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crud-col-count .crud-session-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:1.75rem;justify-content:center}.patient-session-docs{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.patient-doc-chip{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:99px;border:1px solid var(--border-light);background:var(--bg-card-header);color:var(--muted);font-family:var(--font-ui);font-size:.6875rem;font-weight:600;line-height:1.3;white-space:nowrap}.crud-avatar{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--primary);color:#ffffff;font-size:.75rem;font-weight:600;letter-spacing:.02em}.crud-cell-primary{font-family:var(--font-ui);font-weight:500;color:var(--text-primary)}.crud-cell-muted{color:var(--text-secondary);font-size:.88rem;font-weight:500}.crud-form-card{padding:0}.crud-section.panel>.crud-form-card,.crud-section.panel>.crud-stack>.crud-form-card{padding:1.25rem var(--crud-inset-x);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);overflow:hidden}.crud-section.panel>.crud-form-card .crud-form-card-head,.crud-section.panel>.crud-stack>.crud-form-card .crud-form-card-head{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light)}.crud-section.panel>.crud-form-card .crud-form-card-footer,.crud-section.panel>.crud-stack>.crud-form-card .crud-form-card-footer{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-light)}.crud-form-card.panel{padding:var(--crud-inset-y) var(--crud-inset-x)}.crud-form-card-head{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light)}.crud-form-card-title{font-family:var(--font-display);font-size:1.05rem;font-weight:500;margin:0}.crud-form-card-desc{margin:0;font-size:.85rem;color:var(--muted);line-height:1.45}.crud-form-card-body .field:last-of-type{margin-bottom:0}.crud-form-card-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-light)}.crud-empty{text-align:center;padding:2rem 1rem;background:var(--paper-warm);border:1px dashed var(--border);border-radius:var(--radius-sm)}.crud-empty-title{margin:0 0 .35rem;font-family:var(--font-display);font-weight:500;color:var(--ink)}.crud-empty-desc{margin:0;font-size:.9rem;color:var(--muted)}.crud-empty-action{margin-top:1rem}.crud-screen{max-width:56rem}.crud-page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.crud-page-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.crud-page-subtitle{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin:.2rem 0 0}.crud-search{position:relative;margin-bottom:1rem}.crud-search svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--secondary);pointer-events:none}.crud-search input{width:100%;padding:.55rem .75rem .55rem 2.25rem;border:1px solid var(--border-input);border-radius:var(--radius-sm);background:var(--input-bg);font:inherit;font-size:.875rem;font-weight:500;color:var(--text-primary)}.crud-search input::placeholder{color:var(--input-placeholder)}.crud-search input:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 2px rgba(127,181,176,.3);background:var(--input-bg)}.crud-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.crud-card .crud-table thead th{background:var(--bg-card-header);border-bottom:1px solid var(--border-subtle);font-weight:600;text-transform:none;letter-spacing:0;font-size:.875rem;color:var(--text-secondary)}.crud-card .crud-table thead th.crud-col-avatar,.crud-card .crud-table thead th:has(.crud-sort-btn){padding:0}.crud-card .crud-table tbody tr{border-bottom:1px solid var(--border-subtle)}.crud-card .crud-table tbody td{color:var(--text-primary)}.crud-card .crud-table tbody tr:hover{background:var(--surface-row-hover)}.crud-empty-table{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1.5rem;text-align:center;color:var(--muted)}.crud-empty-table-title{margin:.75rem 0 0;font-size:.875rem;font-weight:500;color:var(--ink)}.crud-empty-table-desc{margin:.25rem 0 0;font-size:.875rem;color:var(--muted);max-width:32ch}.crud-col-actions{width:6rem}.crud-cell-actions{text-align:right}.crud-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.15rem}.crud-action-anchor{position:relative}.admin-subscription-actions{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:.35rem}.admin-subscription-action-btn{width:2rem;height:2rem;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--paper-elevated);color:var(--ink-soft)}.admin-subscription-action-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--ink);border-color:var(--border)}.admin-subscription-action-btn--primary{color:var(--session);border-color:color-mix(in srgb,var(--session) 35%,var(--border-subtle));background:var(--session-muted)}.admin-subscription-action-btn--primary:hover:not(:disabled){color:var(--session-hover);background:color-mix(in srgb,var(--session-muted) 70%,var(--session) 30%)}.admin-subscription-action-btn--danger:hover:not(:disabled){color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border-subtle));background:var(--danger-hover-bg)}.admin-subscription-action-btn:disabled{opacity:.45;cursor:not-allowed}.crud-icon-btn{display:inline-grid;place-items:center;padding:.35rem;border:none;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.crud-icon-btn:hover{background:var(--surface-hover);color:var(--ink)}.crud-icon-btn-danger:hover{background:var(--danger-hover-bg);color:var(--danger)}.crud-overlay{position:fixed;inset:0;z-index:40;border:none;background:rgba(0,0,0,.2);cursor:default}.crud-slideover{position:fixed;right:0;top:0;z-index:50;display:flex;flex-direction:column;width:100%;max-width:24rem;height:100%;background:var(--paper-elevated);color:var(--ink);box-shadow:-8px 0 32px rgba(0,0,0,.25);animation:crud-slide-in .18s ease-out}.crud-slideover-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.crud-slideover-title{margin:0;font-size:.95rem;font-weight:600;color:var(--ink)}.crud-slideover-title-wrap{display:flex;align-items:center;gap:.35rem;min-width:0}.appointment-detail-edit{color:var(--text-secondary);flex-shrink:0}.appointment-detail-edit:hover{color:var(--ink)}.crud-slideover-body{flex:1 1;overflow-y:auto;padding:1.25rem}.crud-slideover-foot{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--border);width:100%;min-width:0;box-sizing:border-box}.crud-slideover-foot:has(.appointment-detail-footer){display:block}.crud-form-fields .field:last-child{margin-bottom:0}.crud-form-fields .field:has(.field-input-currency),.crud-form-fields .field:has(.field-input-email),.crud-form-fields .field:has(.field-input-name),.crud-form-fields .field:has(.field-input-password),.crud-form-fields .field:has(.field-input-phone){align-self:flex-start;width:auto;max-width:100%}.google-settings-actions{display:flex;flex-wrap:wrap;gap:.75rem}.drive-upload-option,.form-checkbox-option{display:flex;align-items:center;gap:.65rem;margin:0 0 1rem;font-size:.92rem;color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-checkbox-option{margin:0}.drive-upload-option input[type=checkbox],.form-checkbox-option input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:1.2rem;height:1.2rem;margin:0;flex-shrink:0;border:2px solid var(--checkbox-border);border-radius:5px;background:var(--checkbox-bg);box-shadow:inset 0 1px 2px rgba(0,0,0,.12);cursor:pointer;position:relative;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.drive-upload-option input[type=checkbox]:hover:not(:disabled),.form-checkbox-option input[type=checkbox]:hover:not(:disabled){border-color:var(--checkbox-border-hover)}.drive-upload-option input[type=checkbox]:after,.form-checkbox-option input[type=checkbox]:after{content:"";position:absolute;left:50%;top:46%;width:.3rem;height:.55rem;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg) scale(0);transform-origin:center;transition:transform .12s ease}.drive-upload-option input[type=checkbox]:checked,.form-checkbox-option input[type=checkbox]:checked{background:var(--session);border-color:var(--session);box-shadow:none}.drive-upload-option input[type=checkbox]:checked:after,.form-checkbox-option input[type=checkbox]:checked:after{transform:translate(-50%,-50%) rotate(45deg) scale(1)}.drive-upload-option input[type=checkbox]:focus-visible,.form-checkbox-option input[type=checkbox]:focus-visible{outline:2px solid var(--session);outline-offset:2px}.drive-upload-option input[type=checkbox]:disabled,.form-checkbox-option input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}.drive-upload-option.is-disabled{cursor:not-allowed;opacity:.72}.drive-upload-option.is-disabled input[type=checkbox]{cursor:not-allowed}.drive-recording-player{margin:1.5rem 0 0}.drive-recording-frame{position:relative;width:100%;aspect-ratio:16/9;background:#0f1419;border:1px solid var(--border-light);border-radius:var(--radius-sm);overflow:hidden}.drive-recording-frame iframe,.drive-recording-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}.drive-recording-video{object-fit:contain;background:#000}.drive-recording-meta{margin:.65rem 0 0}.recording-warning{margin:0 0 1rem;padding:.9rem 1rem;border-radius:var(--radius-sm);border:1px solid rgba(180,35,24,.22);background:#fef6f4;color:var(--ink-soft);font-size:.9rem;line-height:1.5}.recording-warning-title{margin:0 0 .35rem;font-weight:650;color:#9a3412}.recording-warning-hint{margin:.65rem 0 0;font-size:.84rem;color:var(--muted)}.recording-upload-btn{margin-top:.75rem}.recording-missing .recording-warning{margin-top:.25rem}.recording-metadata{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.75rem 1.25rem;gap:.75rem 1.25rem;margin:1rem 0 0;padding:.85rem 1rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--paper)}.recording-metadata-item{display:flex;flex-direction:column;gap:.15rem}.recording-metadata dt{font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.recording-metadata dd{margin:0;font-size:.92rem;font-weight:600;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.crud-popover-backdrop{position:fixed;inset:0;z-index:30;border:none;background:transparent;cursor:default}.crud-confirm-backdrop-modal{z-index:70;background:rgba(0,0,0,.4)}.crud-confirm-popover{position:absolute;right:0;top:2rem;z-index:40;width:14rem;padding:.75rem;background:var(--paper-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);text-align:left}.crud-confirm-centered{position:fixed;left:50%;top:50%;right:auto;z-index:71;width:min(20rem,calc(100vw - 2rem));transform:translate(-50%,-50%);padding:1rem 1.1rem}.crud-confirm-text{margin:0 0 .65rem;font-size:.875rem;color:var(--ink)}.crud-confirm-actions{display:flex;justify-content:flex-end;gap:.35rem}.crud-toast{position:fixed;bottom:1.25rem;left:50%;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-radius:var(--radius-sm);background:#1c1e21;color:#fff;font-size:.875rem;box-shadow:var(--shadow-md);animation:crud-fade-in .15s ease-out}.crud-toast svg{color:#7fd8a6;flex-shrink:0}.crud-toast-subtle{background:rgba(28,30,33,.82);font-size:.8125rem;font-weight:500;padding:.5rem .85rem;box-shadow:0 4px 16px rgba(15,23,42,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.appointment-detail-error{margin-bottom:1rem}.appointment-detail-field{display:block;width:100%;padding:.55rem .7rem;min-height:2.35rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:.875rem;background:var(--input-bg);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.appointment-detail-field:focus{outline:none;border-color:var(--session);box-shadow:0 0 0 3px rgba(45,106,107,.18)}.appointment-detail-datetime{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%}.appointment-detail-video-edit{display:flex;flex-direction:column;gap:.5rem;width:100%}.appointment-detail-field-actions{flex:1 1 100%;justify-content:flex-end;margin-top:.15rem}.appointment-detail-duration{width:4.75rem;flex:0 0 auto}.appointment-detail-duration-label,.appointment-detail-time-summary{font-size:.8125rem;color:var(--muted)}.appointment-detail-time-summary{display:block;margin-top:.4rem}.appointment-detail-value{display:inline-block;padding:0;border:none;background:none;font:inherit;font-size:1rem;color:var(--ink);text-align:left;cursor:pointer;border-radius:4px;-webkit-text-decoration:underline dotted rgba(100,116,139,.45);text-decoration:underline dotted rgba(100,116,139,.45);text-underline-offset:3px;transition:color .15s ease,-webkit-text-decoration-color .15s ease;transition:color .15s ease,text-decoration-color .15s ease;transition:color .15s ease,text-decoration-color .15s ease,-webkit-text-decoration-color .15s ease}.appointment-detail-value:hover:not(:disabled){color:var(--session);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.appointment-detail-value:disabled{cursor:default}.appointment-detail-value.is-readonly{text-decoration:none;cursor:default}.appointment-detail-value-badge{text-decoration:none}.appointment-detail-value-badge .status-dot{margin-left:0}.appointment-detail-value-inline{font-size:.8125rem;color:var(--muted);margin-left:.5rem}.appointment-detail-meet-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.appointment-detail-meet-url{font:inherit;font-size:1rem;font-weight:500;color:var(--ink);-webkit-text-decoration:underline dotted rgba(100,116,139,.45);text-decoration:underline dotted rgba(100,116,139,.45);text-underline-offset:3px;word-break:break-all}.appointment-detail-meet-url:hover{color:var(--session);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.appointment-detail-meet-actions{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0}.appointment-detail-meet-action{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.appointment-detail-meet-empty{color:var(--muted)}.appointment-detail-video{margin-top:.5rem}.crud-floating-error{position:fixed;bottom:4.5rem;left:50%;transform:translateX(-50%);z-index:55;max-width:24rem}.crud-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:500}.crud-status-dot{width:6px;height:6px;border-radius:50%;background:#9ca3af}.crud-status-confirmed .crud-status-dot,.crud-status-scheduled .crud-status-dot{background:var(--session)}.crud-status-completed .crud-status-dot{background:#2e7d32}.crud-status-cancelled .crud-status-dot,.crud-status-no_show .crud-status-dot{background:#9ca3af}.crud-status-in_progress .crud-status-dot{background:#0d9488}@keyframes crud-slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes crud-fade-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.crud-slideover,.crud-toast{animation:none}}.settings-sections{display:flex;flex-direction:column;gap:1.25rem}.settings-section-title{font-family:var(--font-display);font-size:1.15rem;font-weight:500;margin:0 0 .5rem}.settings-section-desc{color:var(--ink-soft);font-size:.92rem;margin:0 0 1.25rem;max-width:none;line-height:1.55}.patients-grid{display:grid;grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.patients-grid-wide{grid-column:1/-1}.patient-row{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;border-bottom:1px solid var(--border-light)}.patient-row:last-child{border-bottom:none}.patient-name{font-family:var(--font-display);font-weight:500}.patient-meta{font-size:.85rem;color:var(--muted)}.marketing-shell{min-height:100vh;background:var(--paper)}.marketing-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.5rem;border-bottom:1px solid var(--border-light);background:rgba(246,247,249,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:10}.marketing-brand{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--ink);text-decoration:none;flex-shrink:0}.marketing-topbar-links{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem}.marketing-topbar-links a{color:var(--ink-soft);text-decoration:none;font-size:.9rem;font-weight:500}.marketing-topbar-links a:hover{color:var(--ink)}.marketing-topbar-nav{display:flex;flex-wrap:nowrap;align-items:stretch;gap:.5rem;flex-shrink:0}.marketing-hero{display:grid;grid-template-columns:1fr 1fr;min-height:min(88vh,52rem)}.marketing-hero-title{font-size:clamp(2rem,4.2vw,3.05rem);font-weight:600;letter-spacing:-.03em;line-height:1.12;margin:0 0 1rem}.marketing-hero-lede{max-width:38rem;font-size:1.1rem;line-height:1.55;margin-bottom:1.35rem}.marketing-hero-trust{margin:.85rem 0 0;font-size:.88rem;color:var(--ink-soft);line-height:1.45}.marketing-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.marketing-copy{display:flex;flex-direction:column;justify-content:center;padding:3.5rem 4rem;max-width:40rem;margin-left:auto}.marketing-section{padding:3.5rem 1.5rem;border-top:1px solid var(--border-light)}.marketing-section-inner{max-width:58rem;margin:0 auto}.marketing-section h2{font-family:var(--font-display);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:500;margin:0 0 1.25rem;line-height:1.2}.marketing-section-lede{color:var(--ink-soft);font-size:1.05rem;line-height:1.6;margin:-.25rem 0 1.75rem}.marketing-pipeline{list-style:none;margin:0;padding:0;display:grid;grid-gap:1.25rem;gap:1.25rem}.marketing-pipeline-step{display:grid;grid-template-columns:auto 1fr;grid-gap:1rem 1.25rem;gap:1rem 1.25rem;align-items:start;padding:1.25rem 1.35rem;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--paper-warm)}.marketing-pipeline-num{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.9rem;color:#fff;background:var(--primary)}.marketing-pipeline-step h3{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.15rem;font-weight:500}.marketing-pipeline-step p{margin:0;color:var(--ink-soft);line-height:1.55}.marketing-output-grid{list-style:none;margin:1.75rem 0 0;padding:0;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.marketing-output-card{padding:1.15rem 1.2rem;border:1px solid var(--border-light);border-radius:var(--radius);background:#fff}.marketing-output-card h3{margin:0 0 .4rem;font-family:var(--font-display);font-size:1rem;font-weight:600}.marketing-output-card p{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.5}.marketing-privacy{background:var(--paper-warm)}.marketing-privacy-inner{max-width:44rem}.marketing-privacy-inner p{margin:0;color:var(--ink-soft);font-size:1.05rem;line-height:1.65}.marketing-module-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.marketing-module-card{padding:1.15rem 1.25rem}.marketing-module-card h3{margin:0 0 .4rem;font-family:var(--font-display);font-size:1.05rem;font-weight:500}.marketing-module-card p{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.5}.marketing-price{max-width:32rem;margin:0 auto;padding:2rem 1.75rem 1.75rem;text-align:left}.marketing-price>.eyebrow{margin-bottom:.5rem}.marketing-price h2{margin-bottom:1rem}.marketing-price-amount{margin:0 0 1.25rem;font-size:1.05rem;color:var(--ink-soft)}.marketing-price-amount strong{display:block;font-family:var(--font-display);font-size:2rem;font-weight:500;color:var(--ink);margin-bottom:.25rem}.marketing-price-points{margin:0 0 1.5rem;padding:0;list-style:none;text-align:left;color:var(--ink-soft);line-height:1.55}.marketing-price-points li{padding:.45rem 0;border-bottom:1px solid var(--border-light)}.marketing-price-points li:last-child{border-bottom:none}.marketing-price-actions{justify-content:flex-start;margin-bottom:0}.marketing-price-foot{margin:1rem 0 0;font-size:.88rem;color:var(--ink-soft);line-height:1.45}.subscription-page{display:flex;flex-direction:column;gap:1.25rem}.subscription-plan-panel{display:flex;flex-direction:column;gap:1rem;max-width:none}.subscription-summary{margin:0;padding-bottom:.85rem;border-bottom:1px solid var(--border-light);color:var(--ink-soft);line-height:1.5}.subscription-price-box{margin:0;max-width:none;text-align:left}.subscription-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem 2rem;gap:1rem 2rem;margin:0;align-items:start}.subscription-status-item{display:flex;flex-direction:column;gap:.35rem;min-width:0}.subscription-status-grid dt{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);line-height:1.2}.subscription-status-grid dd{margin:0;font-size:1rem;font-weight:500;color:var(--ink);line-height:1.35}.subscription-actions{margin-bottom:0}.subscription-checkout{padding:1.1rem 1.25rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--paper-warm)}.subscription-checkout--compact{margin-top:.25rem}.subscription-checkout-lede{margin:0 0 1rem;color:var(--ink-soft);line-height:1.55}.subscription-checkout-banner{margin:0 0 1rem;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.95rem;line-height:1.5}.subscription-checkout-banner--success{background:#ecfdf3;border:1px solid #86efac;color:#166534}.subscription-checkout-banner--error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.subscription-checkout-banner--canceled{background:var(--paper-warm);border:1px solid var(--border-subtle);color:var(--ink-soft)}.subscription-lede{margin:0;color:var(--ink-soft);line-height:1.55}@media (max-width:640px){.subscription-status-grid{grid-template-columns:1fr;gap:.85rem}}.subscription-footnote{margin:0}.subscription-manual-payment{padding:1.1rem 1.25rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--paper-warm)}.subscription-manual-payment--compact{margin-top:.25rem}.subscription-manual-payment-title{margin:0 0 .5rem;font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--ink)}.subscription-manual-payment-foot,.subscription-manual-payment-lede{margin:0;color:var(--ink-soft);line-height:1.55}.subscription-manual-payment-grid{margin:1rem 0}.subscription-pix-key{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.92rem;font-weight:600;word-break:break-word}.subscription-receipt-link{font-weight:600;color:var(--session)}.subscription-receipt-link:hover{color:var(--primary)}.marketing-close{background:linear-gradient(165deg,#173b3c,var(--primary));color:#fff;border-top:none}.marketing-close-inner{text-align:center}.marketing-close h2{color:#fff}.marketing-close-note{margin:0 0 1.5rem;color:rgba(255,255,255,.82);font-size:1.05rem}.marketing-close .btn-row{justify-content:center;margin-bottom:0}.marketing-close .btn-ghost{color:#fff;background:transparent;border-color:rgba(255,255,255,.45)}.marketing-close .btn-ghost:hover:not(:disabled){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.65);color:#fff}.marketing-visual{background:linear-gradient(160deg,#173b3c 0,var(--primary) 100%);display:flex;align-items:center;justify-content:center;padding:3rem;position:relative;overflow:hidden}.marketing-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 40%,rgba(255,255,255,.08),transparent 55%)}.session-flow{position:relative;z-index:1;width:100%;max-width:22.5rem;margin:0;padding:0;list-style:none}.session-flow:before{content:"";position:absolute;left:.42rem;top:.55rem;bottom:1.5rem;width:2px;background:rgba(255,255,255,.18)}.session-flow>li{position:relative;padding-left:1.55rem}.session-flow>li+li{margin-top:1.05rem}.session-flow>li:before{content:"";position:absolute;left:.18rem;top:.42rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(127,181,176,.18)}.session-flow-meta{display:flex;align-items:baseline;gap:.55rem;margin-bottom:.4rem;color:rgba(255,255,255,.72);font-size:.78rem;font-weight:600}.session-flow-meta time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent);min-width:2.6rem}.session-flow-card{background:#fff;color:var(--ink);border-radius:8px;padding:.85rem .95rem .9rem;box-shadow:0 10px 28px rgba(8,24,24,.22)}.session-flow-card strong{display:block;font-family:var(--font-display);font-size:.98rem;font-weight:600;margin-bottom:.15rem}.session-flow-card p{margin:0 0 .7rem;font-size:.8rem;line-height:1.4;color:var(--ink-soft)}.session-flow-btn{display:inline-flex;align-items:center;justify-content:center;min-height:1.85rem;padding:.25rem .75rem;border-radius:var(--radius-btn);background:var(--btn-primary-bg);color:var(--btn-primary-fg);font-size:.78rem;font-weight:600;line-height:1.2}.session-flow-btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--border)}.session-flow-outputs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.session-flow-outputs li{padding:.4rem .55rem;border-radius:6px;background:var(--session-muted);color:var(--ink);font-size:.8rem;font-weight:600}.timeline-demo{position:relative;z-index:1;width:100%;max-width:320px}.timeline-slot{display:flex;gap:1rem;margin-bottom:1.25rem;align-items:flex-start}.timeline-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--accent);font-size:.85rem;min-width:3rem}.timeline-card{flex:1 1;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);padding:.85rem 1rem;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.timeline-card strong{display:block;font-family:var(--font-display);font-weight:500;margin-bottom:.2rem}.timeline-card span{font-size:.8rem;color:rgba(255,255,255,.65)}.marketing-actions{margin-top:.5rem;margin-bottom:0}.marketing-tagline{font-size:.85rem;color:var(--muted);margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-light)}.marketing-faq-list{display:grid;grid-gap:.65rem;gap:.65rem}.marketing-faq-item{border:1px solid var(--border-light);border-radius:var(--radius);background:#fff;padding:0 1.15rem}.marketing-faq-item summary{cursor:pointer;list-style:none;padding:1rem 0;font-weight:600;color:var(--ink)}.marketing-faq-item summary::-webkit-details-marker{display:none}.marketing-faq-item summary:after{content:"+";float:right;font-weight:500;color:var(--ink-soft)}.marketing-faq-item[open] summary:after{content:"–"}.marketing-faq-item p{margin:0 0 1.05rem;color:var(--ink-soft);line-height:1.6}.marketing-footer{padding:2.5rem 1.5rem 1.35rem;border-top:1px solid var(--border-light);background:#fff;color:var(--ink-soft)}.marketing-footer-inner{max-width:58rem;margin:0 auto;display:grid;grid-template-columns:minmax(0,2.2fr) 1fr 1fr;grid-gap:2rem 2.5rem;gap:2rem 2.5rem;align-items:start}.marketing-footer-brand a{display:inline-block;font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--ink);text-decoration:none}.marketing-footer-brand p{margin:.65rem 0 0;max-width:28rem;font-size:.92rem;line-height:1.55}.marketing-footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.marketing-footer-nav p{margin:0 0 .15rem;font-size:.75rem;font-weight:600;color:var(--ink)}.marketing-footer-nav a{color:var(--ink-soft);text-decoration:none;font-size:.92rem}.marketing-footer-nav a:hover{color:var(--ink)}.marketing-footer-legal{max-width:58rem;margin:2rem auto 0;padding-top:1.15rem;border-top:1px solid var(--border-light);font-size:.8rem}@media (max-width:700px){.marketing-footer-inner{grid-template-columns:1fr;gap:1.5rem}}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-brand{background:linear-gradient(165deg,#173b3c,var(--primary));color:#fff;display:flex;flex-direction:column;justify-content:center;padding:3rem 4rem}.auth-card{width:100%;max-width:420px}.auth-logo-mark{width:44px;height:44px;border-radius:var(--radius);background:var(--primary);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:1.1rem;margin-bottom:1.25rem}.auth-card h2{font-size:1.5rem;margin-bottom:1.5rem}.auth-forgot{margin-top:.85rem;font-size:.875rem;text-align:center}.auth-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border-light);font-size:.75rem;color:var(--muted)}.auth-legal a{color:var(--muted);text-decoration:none}.auth-brand h1{font-size:2rem;color:#fff;margin-bottom:1rem}.auth-brand p{color:rgba(255,255,255,.8);font-size:1.05rem;max-width:36ch;line-height:1.65}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--paper-warm)}.auth-switch{margin-top:1.25rem;font-size:.9rem;color:var(--muted);text-align:center}.dashboard-page{--dashboard-brand:#2a5f5b;--dashboard-brand-hover:#1f4a47;--dashboard-botanical:#183d34;--dashboard-paper:#f2f4f1;--dashboard-porcelain:#fbfcfa;--dashboard-ink:#17201d;--dashboard-eucalyptus:#6f9183;--dashboard-amber:#b7792c;max-width:var(--content-max);color:var(--dashboard-ink)}.main-content:has(.dashboard-page){background:#f2f4f1}.dashboard-editorial-header{display:grid;grid-template-columns:minmax(0,max-content) minmax(14rem,1fr) auto;align-items:flex-end;grid-gap:1.5rem 2.5rem;gap:1.5rem 2.5rem;padding-bottom:1.75rem;margin-bottom:1.5rem;border-bottom:1px solid #e1e5e2}.dashboard-header-intro{min-width:0}.dashboard-editorial-header h1{margin:0;font:600 2rem/1.15 Fraunces,Georgia,serif;letter-spacing:-.02em}.dashboard-header-date{margin:.45rem 0 0;color:#66736d;font:400 .9rem/1.45 DM Sans,sans-serif}.dashboard-stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;justify-items:center;grid-gap:1.5rem;gap:1.5rem;min-width:0;padding:0 1.5rem}.dashboard-stat-item{display:flex;flex-direction:column;gap:.15rem;min-width:0;text-align:center}.dashboard-stat-value{font:600 1.35rem/1.1 DM Sans,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--dashboard-ink)}.dashboard-stat-label{font:500 .7rem/1.3 DM Sans,sans-serif;color:#68756f}.dashboard-page .dashboard-schedule-cta.btn-primary{background:var(--dashboard-brand);border-color:var(--dashboard-brand);color:#fff}.dashboard-page .dashboard-schedule-cta.btn-primary:hover{background:var(--dashboard-brand-hover);border-color:var(--dashboard-brand-hover)}.dashboard-agenda{min-width:0;background:transparent;border:0;border-radius:0}.dashboard-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:0 0 .65rem;margin-bottom:.35rem;border-bottom:1px solid #e8eaec}.dashboard-section-heading h2{margin:0;font:600 .88rem/1.3 DM Sans,sans-serif;color:#3d4843}.dashboard-section-heading span{color:#68756f;font:500 .75rem/1.3 DM Sans,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dashboard-agenda-list{margin:0;padding:0;list-style:none}.dashboard-agenda-row{position:relative;min-height:3.25rem;border-bottom:1px solid #e1e5e2;transition:background-color .15s ease}.dashboard-agenda-row:last-child{border-bottom:0}.dashboard-agenda-row:focus-within,.dashboard-agenda-row:hover{background:#f5f7f5}.dashboard-agenda-row-current{background:#e7efeb}.dashboard-now-marker{inset:0 auto 0 0;width:3px}.dashboard-now-marker,.dashboard-now-marker:before{position:absolute;background:var(--dashboard-brand)}.dashboard-now-marker:before{content:"";top:50%;left:-3px;width:9px;height:9px;border-radius:50%;transform:translateY(-50%)}.dashboard-appointment-open{display:grid;grid-template-columns:3.5rem minmax(0,1fr) 1rem;align-items:start;grid-gap:.5rem .75rem;gap:.5rem .75rem;width:100%;padding:.75rem 1rem;border:0;background:transparent;color:inherit;font-family:DM Sans,sans-serif;text-align:left;cursor:pointer}.dashboard-appointment-open:focus-visible{outline:2px solid var(--dashboard-brand);outline-offset:-3px}.dashboard-agenda-time{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-top:.1rem}.dashboard-agenda-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.dashboard-agenda-name{overflow:hidden;font-size:.9375rem;font-weight:500;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.dashboard-agenda-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.dashboard-page .payment-action-link{color:var(--dashboard-brand);-webkit-text-decoration-color:rgba(42,95,91,.35);text-decoration-color:rgba(42,95,91,.35)}.dashboard-page .payment-action-link:hover:not(:disabled){color:var(--dashboard-brand-hover)}.dashboard-row-affordance{color:#68756f;padding-top:.15rem;opacity:.55}.dashboard-agenda-row-cancelled{color:#78817d}@media (max-width:640px){.dashboard-editorial-header{grid-template-columns:1fr;align-items:flex-start}.dashboard-stat-strip{width:100%;padding:0;gap:.75rem}.dashboard-schedule-cta{align-self:flex-start}.dashboard-appointment-open{grid-template-columns:3.25rem minmax(0,1fr) .75rem;gap:.4rem .6rem;padding:.65rem .85rem}.dashboard-agenda-name{font-size:.9rem}.dashboard-agenda-meta{gap:.4rem .65rem}}.placeholder-page{max-width:40rem}.placeholder-card{text-align:center;padding:3rem 2rem}.placeholder-icon{display:inline-grid;place-items:center;width:4rem;height:4rem;border-radius:50%;background:var(--session-muted);color:var(--session);margin-bottom:1rem}.placeholder-card h2{font-size:1.25rem;margin-bottom:.5rem}.placeholder-card p{margin:0;color:var(--muted);line-height:1.6;max-width:36ch;margin-inline:auto}@media (max-width:900px){.auth-page,.marketing-hero,.marketing-page{grid-template-columns:1fr}.auth-brand{display:none}.marketing-hero{min-height:0}.marketing-visual{min-height:0;padding:1.25rem 1.25rem 2.25rem}.session-flow{max-width:24rem;margin-inline:auto}.marketing-copy{margin:0 auto;padding:2.5rem 1.5rem 1.5rem;max-width:none}.marketing-section{padding:2.5rem 1.25rem}.marketing-topbar{padding:.75rem 1rem}.marketing-topbar-links{display:none}.marketing-output-grid{grid-template-columns:1fr}}.marketing-section-actions{margin-top:1.5rem;margin-bottom:0}@media (max-width:1200px){.marketing-topbar-links{display:none}}@media (max-width:768px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:column;padding:.75rem}.sidebar-top{margin-bottom:.35rem}.sidebar-nav{flex-direction:row;flex-wrap:wrap;overflow:visible}.sidebar-bottom{width:100%}.sidebar a.nav-link.active:before{display:none}.app-topbar{padding:0 1rem}.topbar-search{max-width:none}.main-content{padding:1.25rem 1rem 2rem}.crud-split{grid-template-columns:1fr}.crud-aside-stack{position:static}.patients-grid{grid-template-columns:1fr}}.ui-select-wrap{position:relative;display:inline-flex;align-items:center}.ui-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;margin:0;border:1px solid var(--border-input);border-radius:var(--radius-sm);background-color:#fff;background-image:none;color:var(--text-primary);color-scheme:light;font:inherit;font-size:.875rem;font-weight:500;line-height:1.25;cursor:pointer;box-sizing:border-box}.ui-select::-ms-expand{display:none}.ui-select:hover{background-color:#f6f8fc;border-color:#d2d5da}.ui-select:focus-visible{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px rgba(26,115,232,.2)}.ui-select:disabled{opacity:.55;cursor:not-allowed}.ui-select-wrap .ui-select-chevron{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-secondary)}.ui-combo{position:relative;display:inline-flex;width:100%;vertical-align:middle}.ui-combo--toolbar{width:auto}.ui-combo-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:3rem;padding:.75rem .9rem;border:1px solid var(--border-input);border-radius:var(--radius-sm);background:#fff;color:var(--ink);font:inherit;font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.ui-combo--toolbar .ui-combo-trigger{height:var(--gcal-control-h,2.25rem);min-height:var(--gcal-control-h,2.25rem);padding:0 2rem 0 .85rem;border-color:#dadce0;border-radius:4px;font-size:.875rem;font-weight:500;color:#3c4043}.ui-combo-trigger:hover:not(:disabled){border-color:#c5cdd8;background:#f6f8fc}.ui-combo-trigger:focus-visible,.ui-combo.is-open .ui-combo-trigger{outline:none;border-color:var(--session);box-shadow:0 0 0 3px rgba(45,106,107,.18);background:#fff}.ui-combo--toolbar .ui-combo-trigger:focus-visible,.ui-combo--toolbar.is-open .ui-combo-trigger{border-color:#1a73e8;box-shadow:0 0 0 2px rgba(26,115,232,.2)}.ui-combo-trigger:disabled{opacity:.55;cursor:not-allowed}.ui-combo-invalid .ui-combo-trigger{border-color:#e8a8a8;background:#fffafa}.ui-combo-value{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-combo--toolbar .ui-combo-value{min-width:4.5rem}.ui-combo-chevron{flex-shrink:0;color:var(--muted);transition:transform .15s ease}.ui-combo--toolbar .ui-combo-chevron{color:#5f6368}.ui-combo.is-open .ui-combo-chevron{transform:rotate(180deg)}.ui-combo-menu{position:absolute;z-index:60;top:calc(100% + .35rem);left:0;right:0;min-width:100%;margin:0;padding:.35rem;list-style:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper-elevated);box-shadow:var(--shadow-md)}.ui-combo--toolbar .ui-combo-menu{min-width:8.5rem}.ui-combo-option{display:flex;width:100%;align-items:center;padding:.55rem .65rem;border:none;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--ink);font:inherit;font-size:.875rem;text-align:left;cursor:pointer;transition:background .12s ease}.ui-combo-option:hover{background:var(--surface-row-hover)}.ui-combo-option.is-selected{background:var(--session-muted);font-weight:600}.ui-combo-option:focus-visible{outline:none;background:var(--surface-row-hover);box-shadow:inset 0 0 0 2px var(--session)}.main-content:has(.calendar-screen--fullscreen){padding:0;max-width:none;flex:1 1;display:flex;flex-direction:column;min-height:0;background:#fff}.app-main:has(.calendar-screen--fullscreen){overflow:hidden}.calendar-screen--fullscreen{flex:1 1;display:flex;flex-direction:column;min-height:0;height:calc(100vh - var(--topbar-h));background:#fff}.calendar-screen-alert{margin:0 .85rem .5rem;flex-shrink:0}.gcal-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;padding:.65rem .85rem;flex-shrink:0}.gcal-toolbar-end,.gcal-toolbar-start{display:flex;align-items:center;gap:.5rem;min-width:0}.gcal-toolbar-start{flex-wrap:wrap;width:100%}.gcal-toolbar-controls,.gcal-toolbar-end{width:100%;align-items:center}.gcal-toolbar-controls{--gcal-control-h:2.25rem;display:flex;gap:.5rem;justify-content:space-between}.gcal-pill-btn{border:1px solid #dadce0;border-radius:4px;background:#fff;color:#3c4043;font-family:var(--font-ui);font-size:.875rem;font-weight:500;line-height:1;height:var(--gcal-control-h,2.25rem);padding:0 1.25rem;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.gcal-pill-btn:hover:not(:disabled){background:#f6f8fc;border-color:#d2d5da}.gcal-pill-btn:disabled{opacity:.55;cursor:not-allowed}.gcal-create-btn{background:#18181b;border-color:#18181b;color:#fff}.gcal-create-btn:hover:not(:disabled){background:#27272a;border-color:#27272a;color:#fff}.gcal-nav-group{display:flex;align-items:center;gap:.125rem}.gcal-icon-btn{border:none;background:transparent;border-radius:50%;width:2.25rem;height:2.25rem;display:grid;place-items:center;color:#5f6368;cursor:pointer;padding:0}.gcal-icon-btn:hover{background:#f1f3f4}.gcal-toolbar-title{font-family:var(--font-ui);font-size:1.05rem;font-weight:500;color:#3c4043;margin:0;width:100%;line-height:1.25;white-space:normal;text-transform:lowercase;letter-spacing:-.01em}.calendar-period-jump{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto}.calendar-period-jump-input{height:var(--gcal-control-h,2.25rem);padding:0 .65rem;border:1px solid #dadce0;border-radius:4px;background:#fff;color:#3c4043;font-family:var(--font-ui);font-size:.8125rem;color-scheme:light}.calendar-period-jump-input:focus{outline:none;border-color:var(--session);box-shadow:0 0 0 2px rgba(45,106,107,.18)}.calendar-period-jump-btn:disabled{opacity:.45;cursor:not-allowed}.gcal-view-dropdown{position:relative;display:inline-flex;align-items:center;height:var(--gcal-control-h,2.25rem)}.gcal-view-select{height:var(--gcal-control-h,2.25rem);min-width:6.5rem;padding:0 2.25rem 0 1rem;border-color:#dadce0;border-radius:4px}.gcal-view-select-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;color:#5f6368}.calendar-screen{max-width:none}.calendar-card{flex:1 1;min-height:0;display:flex;flex-direction:column;background:#fff;border:none;border-radius:0;box-shadow:none;padding:0;overflow:hidden}.calendar-card .fc{--gcal-blue:#1a73e8;--gcal-border:#dadce0;--gcal-grid-line:#e8eaed;--gcal-text:#3c4043;--gcal-text-muted:#70757a;--fc-border-color:var(--gcal-grid-line);--fc-today-bg-color:transparent;--fc-event-border-color:transparent;--fc-page-bg-color:#fff;--fc-neutral-bg-color:#fff;--fc-list-event-hover-bg-color:transparent;--fc-now-indicator-color:#ea4335;flex:1 1;min-height:0;height:100%;font-family:var(--font-ui);font-size:.8125rem}.calendar-card .fc .fc-view-harness{flex:1 1;min-height:0;border:1px solid var(--gcal-border);border-radius:12px 12px 0 0;overflow:hidden;background:#fff}.calendar-card .fc .fc-view-harness-active>.fc-view{height:100%}.calendar-card .fc .fc-col-header-cell,.calendar-card .fc .fc-daygrid-day,.calendar-card .fc .fc-scrollgrid,.calendar-card .fc .fc-scrollgrid-section>td,.calendar-card .fc .fc-timegrid-axis,.calendar-card .fc .fc-timegrid-col{border-color:var(--gcal-grid-line)!important}.calendar-card .fc .fc-scrollgrid{border:none;border-radius:0}.calendar-card .fc .fc-timegrid-slot{height:3rem;border-color:var(--gcal-border)}.calendar-card .fc .fc-timegrid-slot-minor{border-top:none}.calendar-card .fc .fc-timegrid-slot-label-cushion{color:var(--gcal-text-muted);font-size:.6875rem;font-weight:400}.calendar-card .fc .fc-timegrid-axis-cushion{color:var(--gcal-text-muted)}.calendar-card .fc .fc-col-header-cell-cushion{color:var(--gcal-text-muted);text-decoration:none;font-weight:500;text-transform:uppercase;font-size:.6875rem;letter-spacing:.02em}.calendar-card .fc .fc-daygrid-day-number{color:var(--gcal-text);text-decoration:none;font-size:.75rem;padding:.35rem .5rem}.calendar-card .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{background:var(--gcal-blue);color:#fff;border-radius:50%;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:.25rem}.calendar-card .fc .fc-day-other .fc-daygrid-day-number{color:#9aa0a6}.calendar-card .fc .fc-daygrid-day-top{flex-direction:row;justify-content:flex-end}.gcal-col-header{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem 0 .35rem}.gcal-col-header-weekday{font-size:.6875rem;font-weight:500;letter-spacing:.02em;color:var(--gcal-text-muted)}.gcal-col-header-day{font-size:1.5rem;font-weight:400;color:var(--gcal-text);line-height:1;width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.gcal-col-header--today .gcal-col-header-day{background:var(--gcal-blue);color:#fff}.gcal-month-col-header{font-size:.6875rem;font-weight:500;letter-spacing:.02em;color:var(--gcal-text-muted)}.calendar-card .fc .fc-timegrid-now-indicator-line{border-color:#ea4335;border-width:2px}.calendar-card .fc .fc-timegrid-now-indicator-arrow{border-color:#ea4335;border-width:5px 0 5px 6px}.calendar-card .fc .fc-event{border:none;border-radius:4px;cursor:pointer;box-shadow:none}.calendar-card .fc .fc-timegrid-event{border:none!important;border-left:3px solid!important;margin-left:1px;margin-right:1px}.calendar-card .fc .fc-daygrid-event{background:transparent!important;border:none!important;margin-top:1px;padding:0 2px}.gcal-month-event{display:flex;align-items:center;gap:.25rem;min-width:0;font-size:.75rem;line-height:1.25;color:var(--gcal-text)}.gcal-month-event-dot{flex-shrink:0;width:6px;height:6px;border-radius:50%}.gcal-month-event-time{flex-shrink:0;color:var(--gcal-text-muted);font-size:.6875rem}.gcal-month-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gcal-text)}.gcal-week-event{padding:.15rem .35rem;overflow:hidden}.gcal-week-event-time{font-size:.6875rem;font-weight:500;opacity:.9}.gcal-week-event-title{font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-card .fc .fc-daygrid-more-link{color:var(--gcal-text-muted);font-size:.75rem;font-weight:500}.calendar-card .fc .fc-list-day-side-text,.calendar-card .fc .fc-list-day-text{color:var(--gcal-text-muted);text-decoration:none;font-size:.6875rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.calendar-card .fc .fc-list-day-side-text{display:none;text-align:right}.calendar-card .fc .fc-list,.calendar-card .fc .fc-list-table,.calendar-card .fc .fc-scroller,.calendar-card .fc .fc-scroller-harness{width:100%;max-width:100%}.calendar-card .fc .fc-list-table tbody{display:block;width:100%}.calendar-card .fc .fc-list-day,.calendar-card .fc .fc-list-event{display:flex;width:100%;box-sizing:border-box}.calendar-card .fc .fc-list-event{align-items:center;cursor:pointer;border-bottom:1px solid #e1e5e2;transition:background-color .15s ease}.calendar-card .fc .fc-list-event:focus-within,.calendar-card .fc .fc-list-event:hover{background:#f5f7f5}.calendar-card .fc .fc-list-day th{display:block;width:100%;flex:1 1 auto;border-color:#e1e5e2}.calendar-card .fc .fc-list-event:last-child{border-bottom:0}.calendar-card .fc .fc-list-event td{display:flex;align-items:center;align-self:stretch;border:0;box-sizing:border-box;background:transparent!important}.calendar-card .fc .fc-list-event:focus-within td,.calendar-card .fc .fc-list-event:hover td{background:transparent!important}.calendar-card .fc .fc-list-event-graphic{display:none!important;width:0!important;min-width:0!important;max-width:0!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden}.calendar-card .fc .fc-list-event-graphic .fc-list-event-dot{display:none}.calendar-card .fc .fc-list-event-time{color:var(--gcal-text);font-size:.8125rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 0 3.25rem;width:3.25rem;min-width:3.25rem;max-width:3.25rem;padding:.65rem .35rem .65rem .85rem}.calendar-card .fc .fc-list-event-title{color:var(--gcal-text);font-weight:400;flex:1 1;min-width:0;width:auto;max-width:none;padding:.65rem .85rem .65rem .35rem}.calendar-card .fc .fc-list-day th{padding:.5rem .85rem}.gcal-list-event{display:flex;flex-direction:column;gap:.25rem;width:100%;max-width:100%;min-width:0}.gcal-list-event-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.gcal-list-event-meta .status-dot{margin-left:0}.gcal-list-event-name{font-size:.9rem;font-weight:500;line-height:1.3;color:var(--gcal-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gcal-list-event-meta .status-dot{font-size:.7rem}@media (min-width:641px){.gcal-toolbar{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem 1.5rem}.gcal-toolbar-start{flex-wrap:nowrap;width:auto;gap:.75rem}.gcal-toolbar-end{width:auto;flex-shrink:0}.gcal-toolbar-controls{display:inline-flex;width:auto;justify-content:flex-start;gap:.75rem}.gcal-toolbar-title{font-size:1.375rem;font-weight:400;width:auto;white-space:nowrap}.calendar-screen-alert{margin:0 1.5rem .5rem}.calendar-card{padding:0 1.5rem}.calendar-card .fc .fc-list-day-side-text{display:table-cell}.calendar-card .fc .fc-list-event-time{flex:0 0 7.25rem;width:7.25rem;min-width:7.25rem;max-width:7.25rem;padding:.65rem .75rem}.calendar-card .fc .fc-list-event-title{padding:.65rem .75rem}.gcal-list-event-name{font-size:.9375rem}.gcal-list-event-meta .status-dot{font-size:.75rem}}.calendar-card .fc .fc-highlight{background:rgba(26,115,232,.12)}.appointment-detail-meet-link{font-weight:600;color:var(--session)}.appointment-detail-meet-link:hover{color:var(--session-hover)}.appointment-detail-grid{display:grid;grid-gap:1.25rem;gap:1.25rem;margin:0}.appointment-detail-grid dt{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.25rem}.appointment-detail-grid dd{margin:0;font-size:1rem;color:var(--ink)}.status-combo{position:relative;width:100%;max-width:16rem}.status-combo-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:2.25rem;padding:.35rem .65rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.status-combo-trigger:hover:not(:disabled){border-color:#c5cdd8}.status-combo-trigger:focus-visible,.status-combo.is-open .status-combo-trigger{outline:none;border-color:var(--session);box-shadow:0 0 0 3px rgba(45,106,107,.18)}.status-combo-trigger:disabled{opacity:.65;cursor:wait}.status-combo-trigger .status-dot{margin-left:0}.status-combo-chevron{flex-shrink:0;color:var(--muted);transition:transform .15s ease;width:14px;height:14px}.status-combo.is-open .status-combo-chevron{transform:rotate(180deg)}.status-combo-menu{position:absolute;z-index:30;top:calc(100% + .35rem);left:0;right:0;margin:0;padding:.35rem;list-style:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);box-shadow:var(--shadow-md)}.status-combo-option{display:flex;width:100%;align-items:center;padding:.35rem .45rem;border:none;border-radius:calc(var(--radius-sm) - 2px);background:transparent;font:inherit;text-align:left;cursor:pointer;transition:background .12s ease}.status-combo-option:hover{background:var(--surface-row-hover)}.status-combo-option.is-selected{background:var(--session-muted)}.status-combo-option .status-dot{margin-left:0}.btn-danger-text{color:var(--danger)}.btn-danger-text:hover{color:var(--danger);background:var(--danger-bg)}.appointment-detail-footer{width:100%}.appointment-detail-footer-form{margin:0;width:100%}.appointment-detail-footer-btn{width:100%;min-height:2.25rem}.about-page{height:100%;overflow-y:auto}.about-shell{width:min(1080px,100%);margin:0 auto;display:grid;grid-gap:1rem;gap:1rem}.about-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.9fr);grid-gap:1rem;gap:1rem;align-items:start}.about-eyebrow{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--secondary)}.about-hero h1{margin:.45rem 0 .35rem;font-size:clamp(2rem,4vw,3rem);line-height:1.05}.about-hero p{margin:0;color:var(--text-secondary);line-height:1.6;font-weight:500}.about-build-card{display:grid;grid-gap:.35rem;gap:.35rem;padding:.95rem 1rem;border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(45,106,107,.18),rgba(127,181,176,.08));border:1px solid rgba(127,181,176,.22)}.about-build-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary)}.about-build-value{font-size:1.25rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-primary)}.about-build-meta{font-size:.82rem;color:var(--text-secondary);font-weight:500}.about-build-commit{font-size:.82rem;font-weight:600;color:var(--secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.about-section{display:grid;grid-gap:.85rem;gap:.85rem}.about-section-title{font-size:.84rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.about-history{display:grid;grid-gap:.75rem;gap:.75rem}.about-history-item{display:grid;grid-template-columns:110px minmax(0,1fr);grid-gap:.9rem;gap:.9rem;padding:.95rem 0;border-top:1px solid var(--border-subtle)}.about-history-item:first-child{border-top:0;padding-top:0}.about-history-build{display:inline-flex;align-self:start;justify-content:center;padding:.35rem .55rem;border-radius:999px;background:var(--session-muted);color:var(--text-primary);font-size:.78rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.about-history-content{min-width:0}.about-history-content h2{margin:0 0 .22rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.about-history-content p{margin:0;font-size:.92rem;color:var(--text-secondary);font-weight:500;line-height:1.55}@media (max-width:760px){.about-hero,.about-history-item{grid-template-columns:1fr}.about-history-item{gap:.55rem}}.theme-lab-page{max-width:1280px}.theme-lab-intro{margin-bottom:1.75rem}.theme-lab-intro .page-lead{max-width:56ch}.theme-lab-intro .page-lead strong{color:var(--ink);font-weight:600}.theme-lab-selected{margin:.75rem 0 0;font-size:.9rem;color:var(--muted)}.theme-lab-section{margin-bottom:2rem}.theme-lab-section-head{margin-bottom:1rem}.theme-lab-section-head h2{margin:0 0 .35rem;font-size:1.125rem}.theme-lab-section-head p{margin:0;font-size:.9rem;color:var(--muted)}.theme-lab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));grid-gap:1.25rem;gap:1.25rem}.theme-lab-option{display:flex;flex-direction:column;gap:.75rem;padding:0;border:2px solid var(--border-subtle);border-radius:var(--radius);background:var(--bg-card);text-align:left;cursor:pointer;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.theme-lab-option:hover{border-color:var(--secondary)}.theme-lab-option.is-selected{border-color:var(--session);box-shadow:0 0 0 1px var(--session)}.theme-lab-option-head{padding:1rem 1rem 0}.theme-lab-option-head h3{margin:0 0 .35rem;font-size:1rem}.theme-lab-option-head p{margin:0;font-size:.875rem;color:var(--muted);line-height:1.45}.theme-lab-preview{display:grid;grid-template-columns:3.25rem 1fr;min-height:280px;background:var(--bg-page);color:var(--ink);border-top:1px solid var(--border-subtle)}.theme-lab-preview-sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-subtle)}.theme-lab-preview-main{padding:.9rem;min-width:0}.theme-lab-preview-eyebrow{margin:0;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.theme-lab-preview-header h3{margin:.15rem 0;font-size:1rem;font-family:var(--font-display)}.theme-lab-preview-date{margin:0 0 .75rem;font-size:.75rem;color:var(--muted)}.theme-lab-preview-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem;margin-bottom:.75rem}.theme-lab-preview-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;padding:.55rem .65rem;display:flex;flex-direction:column;gap:.15rem;min-height:5.5rem}.theme-lab-preview-label{margin:0;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.theme-lab-preview-value{margin:0;font-size:.82rem;font-weight:600}.theme-lab-preview-number{font-size:1.35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.theme-lab-preview-meta{margin:0;font-size:.68rem;color:var(--muted)}.theme-lab-preview-btn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;padding:.28rem .55rem;border-radius:8px;font-size:.68rem;font-weight:600;width:-moz-fit-content;width:fit-content}.theme-lab-preview-btn-primary{background:var(--session);color:#fff}.theme-lab-preview-timeline h4{margin:0 0 .45rem;font-size:.78rem}.theme-lab-preview-timeline ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.theme-lab-preview-timeline li{display:flex;align-items:center;gap:.45rem;background:var(--agenda-card-bg);border-radius:8px;padding:.4rem .5rem;font-size:.72rem}.theme-lab-preview-time{font-weight:600;color:var(--secondary);min-width:2.5rem}.theme-lab-preview-patient{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.theme-lab-preview-badge{font-size:.58rem;font-weight:600;padding:.1rem .35rem;border-radius:999px;background:var(--session-muted);color:var(--ink)}.theme-lab-preview-badge-live{color:var(--session)}.financial-screen{display:flex;flex-direction:column;gap:1rem}.financial-period-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem}.financial-period-jump{margin-left:.25rem}.financial-period-label{margin:0;min-width:10rem;text-align:center;font-size:1.05rem;font-family:var(--font-display),serif}.financial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.financial-panel{padding:1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--paper-elevated)}.financial-panel-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.financial-panel-header h3{margin:0;font-size:1rem}.financial-panel-total{margin:0;font-size:.9rem;color:var(--ink-soft)}.financial-summary{padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--paper);border:1px solid var(--border);text-align:center}.consultation-payment-modal .consultation-payment-actions{justify-content:stretch}.consultation-payment-modal .consultation-payment-actions .btn{flex:1 1}@media (max-width:900px){.financial-grid{grid-template-columns:1fr}}