@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root,[data-theme=perle-bleutee]{font-family:Plus Jakarta Sans,Inter,Segoe UI,Arial,sans-serif;color:var(--text-primary);--max-content-width: 1320px;--topbar-height: 56px;--topbar-height-mobile: 52px;--local-actions-height: 48px;--mobile-bottom-nav-height: 68px;--mobile-actions-height: 58px;--bg-app: #eef4f8;--bg-surface: #fcfeff;--bg-elevated: #ffffff;--border-default: #dde7ef;--border-subtle: #e9f0f5;--text-primary: #1f2933;--text-secondary: #5f6b76;--primary: #2f4156;--primary-hover: #243347;--focus-ring: #8fb4d1;--subnav-bg: #d9e6f2;--subnav-border: #c4d6e6;--subnav-text: #2a3d53;--subnav-hover-bg: #2f4156;--subnav-hover-fg: #ffffff;--state-success-bg: #eef7f1;--state-success-fg: #206343;--state-warning-bg: #fcefd8;--state-warning-fg: #7a4b10;--state-danger-bg: #faeef0;--state-danger-fg: #8f2d3b;--state-info-bg: #eef5fa;--state-info-fg: #2f4f6a;--state-review-bg: #f2effa;--state-review-fg: #4d4366;--shadow-1: 0 1px 2px rgba(31, 41, 51, .06);--shadow-2: 0 4px 12px rgba(31, 41, 51, .08);--shadow-3: 0 16px 28px rgba(31, 41, 51, .14);--accent: var(--primary);--accent-ink: #ffffff;--muted-ink: var(--text-secondary);--soft-bg: var(--bg-app);--page-bg: var(--bg-surface);--surface: var(--bg-elevated);--text: var(--text-primary);--muted: var(--text-secondary);--border: var(--border-default);--chip-bg: var(--state-info-bg);--chip-text: var(--state-info-fg)}[data-theme=dark]{color:var(--text-primary);--bg-app: #10151b;--bg-surface: #151d25;--bg-elevated: #1b2530;--border-default: #2a3948;--border-subtle: #324356;--text-primary: #e8eef4;--text-secondary: #b4c0cb;--primary: #8fb4d1;--primary-hover: #7ea6c5;--focus-ring: #a9c8e0;--subnav-bg: #1a2733;--subnav-border: #2a3948;--subnav-text: #d8e5f2;--subnav-hover-bg: #2a3b4c;--subnav-hover-fg: #ffffff;--state-success-bg: #193227;--state-success-fg: #a8e0c2;--state-warning-bg: #3a2b16;--state-warning-fg: #f2cf97;--state-danger-bg: #3b1f27;--state-danger-fg: #f0b4c0;--state-info-bg: #1f3140;--state-info-fg: #b7d7ef;--state-review-bg: #2a253b;--state-review-fg: #d2c8ef;--shadow-1: 0 1px 2px rgba(0, 0, 0, .35);--shadow-2: 0 4px 12px rgba(0, 0, 0, .38);--shadow-3: 0 16px 28px rgba(0, 0, 0, .42);--accent: var(--primary);--accent-ink: #0f172a;--muted-ink: var(--text-secondary);--soft-bg: var(--bg-app);--page-bg: var(--bg-surface);--surface: var(--bg-elevated);--text: var(--text-primary);--muted: var(--text-secondary);--border: var(--border-default);--chip-bg: var(--state-info-bg);--chip-text: var(--state-info-fg)}body{margin:0;background:var(--bg-app);color:var(--text-primary)}html,body{width:100%;max-width:100%;overflow-x:hidden}.app{min-height:100vh}.app:not(.practitioner){max-width:1200px;margin:0 auto;padding:2rem}.app.public{max-width:none;margin:0;padding:0;--page-bg: var(--bg-surface);--surface: var(--bg-elevated);--text: var(--text-primary);--muted: var(--text-secondary);--border: var(--border-default);--chip-bg: var(--state-info-bg);--chip-text: var(--state-info-fg);--accent: var(--primary);--accent-ink: #ffffff;background:var(--page-bg);color:var(--text)}.public-entry-app{min-height:100vh;background:radial-gradient(circle at top left,color-mix(in srgb,var(--state-info-bg) 78%,transparent),transparent 38%),linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 94%,var(--bg-app)),var(--bg-app))}.public-entry-topbar{background:color-mix(in srgb,var(--primary) 92%,#0f172a 8%)}.public-entry-actions{justify-content:flex-end;flex-wrap:wrap}.public-entry-nav-button{min-height:38px}.public-entry-nav-button.active{background:color-mix(in srgb,#ffffff 22%,transparent)!important;border-color:color-mix(in srgb,#ffffff 34%,transparent)!important;color:#fff!important}.public-entry-main{max-width:1240px;margin:0 auto;padding:3.5rem 24px 4rem}.public-landing-hero,.auth-page-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:2rem;align-items:stretch}.public-landing-copy,.auth-page-copy{display:grid;align-content:center;gap:1rem;padding:1rem 0}.public-landing-kicker{margin:0;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--state-info-fg)}.public-landing-copy h1,.auth-page-copy h1{margin:0;font-size:clamp(2.6rem,5vw,4.4rem);line-height:.96;letter-spacing:-.04em}.public-landing-lead{margin:0;max-width:54ch;font-size:1.05rem;line-height:1.7;color:var(--text-secondary)}.public-landing-panel,.auth-card{border:1px solid color-mix(in srgb,var(--border-default) 88%,transparent);border-radius:28px;background:color-mix(in srgb,var(--bg-elevated) 84%,white 16%);box-shadow:var(--shadow-3)}.public-landing-panel{display:grid;align-content:end;gap:.8rem;min-height:380px;padding:2rem;background:linear-gradient(180deg,color-mix(in srgb,var(--state-info-bg) 82%,transparent),transparent 44%),color-mix(in srgb,var(--bg-elevated) 92%,white 8%)}.public-landing-panel-label{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.public-landing-panel h2{margin:0;font-size:1.8rem;line-height:1.1}.public-landing-placeholder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.public-legal-links-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:1.25rem;margin-top:2rem;padding:1.5rem;border:1px solid color-mix(in srgb,var(--border-default) 88%,transparent);border-radius:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--state-info-bg) 50%,transparent),transparent 58%),color-mix(in srgb,var(--bg-elevated) 88%,white 12%);box-shadow:var(--shadow-2)}.public-legal-links-copy{display:grid;gap:.9rem;align-content:start}.public-legal-links-copy h2{margin:0;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.05}.public-legal-links{display:grid;gap:.85rem;align-content:start}.public-legal-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px;padding:1rem 1.15rem;border:1px solid color-mix(in srgb,var(--border-default) 88%,transparent);border-radius:20px;background:color-mix(in srgb,var(--bg-surface) 90%,white 10%);color:var(--text);font-weight:700;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.public-legal-link:after{content:"Voir";font-size:.85rem;font-weight:600;color:var(--text-secondary)}.public-legal-link:hover,.public-legal-link:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 34%,var(--border-default));background:color-mix(in srgb,var(--state-info-bg) 56%,var(--bg-surface));box-shadow:var(--shadow-2)}.public-legal-footer{width:min(1240px,calc(100% - 48px));margin:0 auto 2.4rem;padding-top:1rem}.public-legal-footer-links{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;justify-content:center}.public-legal-footer-link{color:var(--text-secondary);text-decoration:none;font-size:.95rem}.public-legal-footer-link:hover,.public-legal-footer-link:focus-visible{color:var(--text);text-decoration:underline;text-underline-offset:.16em}.patient-public-legal-footer{width:min(960px,calc(100% - 48px));margin-top:1.5rem}.patient-public-header{display:grid;gap:.5rem;align-items:start}.patient-public-wordmark{display:block;width:auto;height:48px}.legal-main{max-width:1040px}.legal-topbar .topbar-inner{align-items:center;gap:1rem}.legal-brand-link{text-decoration:none}.legal-topbar-nav{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.legal-topbar-nav .public-entry-nav-button{color:#fff!important}.legal-topbar-nav .public-entry-nav-button.active{background:transparent!important;border-color:color-mix(in srgb,#ffffff 38%,transparent)!important;color:#fff!important;box-shadow:none}.legal-card{border:1px solid color-mix(in srgb,var(--border-default) 88%,transparent);border-radius:32px;background:radial-gradient(circle at top right,color-mix(in srgb,var(--state-info-bg) 64%,transparent),transparent 34%),color-mix(in srgb,var(--bg-elevated) 92%,white 8%);box-shadow:var(--shadow-3);overflow:hidden}.legal-hero{display:grid;gap:.9rem;padding:2.2rem 2.2rem 1.25rem;border-bottom:1px solid color-mix(in srgb,var(--border-default) 72%,transparent)}.legal-hero h1{margin:0;font-size:clamp(2.2rem,4vw,3.4rem);line-height:.98;letter-spacing:-.04em}.legal-prose{display:grid;gap:1.75rem;padding:1.75rem 2.2rem 2.4rem}.legal-section{display:grid;gap:.9rem}.legal-section h2,.legal-section h3{margin:0}.legal-section h2{font-size:1.25rem}.legal-section h3{margin-top:.35rem;font-size:1rem;color:var(--text)}.legal-section p,.legal-section ul{margin:0;color:var(--text-secondary);line-height:1.75}.legal-section strong{color:var(--text)}.legal-section ul{padding-left:1.2rem}.legal-section li+li{margin-top:.45rem}.public-placeholder-card{display:grid;gap:.8rem;padding:1.25rem;min-height:180px;border:1px dashed color-mix(in srgb,var(--border-default) 82%,transparent);border-radius:22px;background:color-mix(in srgb,var(--bg-elevated) 80%,var(--bg-app));color:var(--text-secondary)}.public-placeholder-card span{font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.public-placeholder-card p{margin:0;font-size:1.1rem;color:var(--text-primary)}.auth-card{padding:1.6rem}.auth-form{display:grid;gap:1rem}.auth-form-head{display:grid;gap:.35rem}.auth-form-head h2{margin:0;font-size:1.5rem}.auth-field{display:grid;gap:.35rem;font-weight:600;color:var(--text-primary)}.auth-field span{font-size:.92rem}.auth-field input,.auth-field select{min-height:48px;border-radius:14px;border-color:color-mix(in srgb,var(--border-default) 90%,transparent);background:color-mix(in srgb,var(--bg-elevated) 92%,var(--bg-app))}.auth-field-hint{margin-top:-.5rem}.auth-submit-button{min-height:48px;border-radius:14px;font-weight:700}.auth-legal-consent{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;padding:.9rem 1rem;border:1px solid color-mix(in srgb,var(--border-default) 90%,transparent);border-radius:16px;background:color-mix(in srgb,var(--state-info-bg) 44%,var(--bg-elevated));color:var(--text-primary);line-height:1.55}.auth-legal-consent input{margin-top:.2rem}.auth-legal-consent a{color:var(--primary);font-weight:700}.auth-legal-note{margin:-.35rem 0 0}.auth-switch-copy{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:0;color:var(--text-secondary)}.auth-inline-link{padding:0;border:0;background:transparent;color:var(--primary);font-weight:700}.auth-inline-link:hover,.auth-inline-link:focus-visible{background:transparent;color:var(--primary-hover)}.patient-auth-app .patient-public-legal-footer{width:min(1240px,calc(100% - 48px))}.patient-auth-shell{gap:2.5rem}.patient-auth-copy{align-content:start;justify-items:start;gap:1.35rem}.patient-auth-chip-row{display:flex;flex-wrap:wrap;gap:.65rem}.patient-auth-chip{display:inline-flex;align-items:center;min-height:34px;padding:0 .9rem;border-radius:999px;background:color-mix(in srgb,var(--state-info-bg) 84%,white 16%);border:1px solid color-mix(in srgb,var(--state-info-fg) 18%,var(--border-default));color:var(--state-info-fg);font-size:.9rem;font-weight:700}.patient-auth-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.patient-auth-feature-card{display:grid;gap:.45rem;padding:1rem 1.05rem;border:1px solid color-mix(in srgb,var(--border-default) 86%,transparent);border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--state-info-bg) 34%,transparent),transparent 72%),color-mix(in srgb,var(--bg-elevated) 74%,white 26%);box-shadow:var(--shadow-2)}.patient-auth-feature-card h2{margin:0;font-size:1rem;line-height:1.2}.patient-auth-feature-card p{margin:0;color:var(--text-secondary);line-height:1.6}.patient-auth-card{display:grid;gap:1.1rem;align-content:start;padding:1.8rem}.patient-auth-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.patient-auth-method-button{min-height:48px;padding:.75rem 1rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--border-default) 88%,transparent);background:color-mix(in srgb,var(--bg-surface) 88%,white 12%);color:var(--text-secondary);font-weight:700;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.patient-auth-method-button:hover,.patient-auth-method-button:focus-visible{border-color:color-mix(in srgb,var(--primary) 30%,var(--border-default));color:var(--text-primary);background:color-mix(in srgb,var(--state-info-bg) 44%,var(--bg-elevated))}.patient-auth-method-button.active{border-color:color-mix(in srgb,var(--primary) 34%,var(--border-default));background:color-mix(in srgb,var(--primary) 12%,var(--bg-elevated) 88%);color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 12%,transparent)}.patient-auth-turnstile{display:grid;justify-items:start;padding:.15rem 0}.patient-auth-inline-note{margin:0}.patient-auth-step-label{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--state-info-fg)}.public-page{max-width:1200px;margin:0 auto;padding:2rem}header{margin-bottom:2rem}h1{font-size:2.5rem;margin:0;font-family:Plus Jakarta Sans,Inter,Segoe UI,Arial,sans-serif}.topbar{position:sticky;top:0;z-index:40;background:var(--primary);border-bottom:1px solid color-mix(in srgb,var(--primary-hover) 78%,#000 22%);margin-bottom:0}.app.practitioner{padding-top:var(--topbar-height)}.app.practitioner .topbar{position:fixed;top:0;left:0;right:0;width:100%;z-index:1100}.app.public .topbar{background:var(--primary);border-bottom:1px solid color-mix(in srgb,var(--primary-hover) 78%,#000 22%)}.topbar-inner{max-width:var(--max-content-width);margin:0 auto;padding:0 24px;height:var(--topbar-height);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}.topbar.compact .topbar-inner{grid-template-columns:auto 1fr}.topbar-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:999px;background:var(--state-info-bg);color:var(--state-info-fg);font-size:.85rem;font-weight:600}.brand{display:flex;align-items:center;gap:.5rem;height:100%}.brand-mark{font-family:Plus Jakarta Sans,Inter,Segoe UI,Arial,sans-serif;font-size:1.2rem;font-weight:700;letter-spacing:.02em;color:#fff}.brand-wordmark{display:block;width:auto;height:calc(var(--topbar-height) - 8px);max-height:100%}.brand-sub{font-size:.8rem;color:color-mix(in srgb,#ffffff 80%,transparent)}.top-tabs{display:flex;align-items:center;justify-content:center;gap:.45rem;position:relative}.finance-shell{display:grid;gap:1rem;--finance-chart-planned: var(--state-review-fg);--finance-chart-realized: var(--state-info-fg);--finance-chart-invoiced: var(--state-warning-fg);--finance-chart-paid: var(--state-success-fg);--finance-chart-worked-days: color-mix(in srgb, var(--state-info-fg) 82%, var(--text-primary));--finance-chart-session-hours: color-mix(in srgb, var(--state-success-fg) 74%, var(--text-primary));--finance-chart-patient-absent: color-mix(in srgb, var(--state-danger-fg) 78%, var(--text-primary));--finance-chart-practitioner-cancelled: color-mix(in srgb, var(--state-warning-fg) 85%, var(--text-primary));--finance-chart-patient-cancelled: color-mix(in srgb, var(--state-info-fg) 72%, var(--text-primary));--finance-chart-fill-rate: color-mix(in srgb, var(--state-success-fg) 82%, var(--text-primary));--finance-chart-fill-rate-fill: color-mix(in srgb, var(--state-success-bg) 70%, transparent);--finance-chart-consultation-1: color-mix(in srgb, var(--state-info-fg) 82%, var(--text-primary));--finance-chart-consultation-2: color-mix(in srgb, var(--state-success-fg) 78%, var(--text-primary));--finance-chart-consultation-3: color-mix(in srgb, var(--state-warning-fg) 88%, var(--text-primary));--finance-chart-consultation-4: color-mix(in srgb, var(--state-review-fg) 88%, var(--text-primary));--finance-chart-consultation-5: color-mix(in srgb, var(--state-danger-fg) 72%, var(--text-primary));--finance-chart-consultation-6: color-mix(in srgb, var(--text-secondary) 88%, var(--text-primary))}.finance-header{display:grid;gap:.9rem}.finance-header h2,.finance-card-head h3{margin:0}.finance-overview-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.finance-overview-card{display:grid;gap:.25rem;padding:.9rem 1rem;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-surface) 86%,var(--bg-app));box-shadow:var(--card-shadow)}.finance-overview-label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.finance-overview-value{color:var(--text-primary);font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}.finance-subnav{display:inline-flex;flex-wrap:wrap;gap:.5rem;padding:.35rem;border:1px solid var(--card-border);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg-surface) 78%,var(--bg-app));width:fit-content;max-width:100%}.finance-subnav-btn{border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);padding:.55rem 1rem;font-weight:700;cursor:pointer;transition:background-color .18s ease-out,border-color .18s ease-out,color .18s ease-out,transform .18s ease-out}.finance-subnav-btn:hover,.finance-subnav-btn:focus-visible{color:var(--text-primary);border-color:var(--card-border);outline:none}.finance-subnav-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-bg);box-shadow:var(--shadow-1)}.finance-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}.finance-workspace.has-panel{grid-template-columns:minmax(0,1fr) minmax(21rem,24rem)}.finance-workspace.has-panel.finance-workspace-wide-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-main-column,.finance-panel-card,.finance-summary-stack,.finance-detail-grid{display:grid;gap:.75rem}.finance-side-panel{position:sticky;top:1rem;align-self:start}.finance-workspace-wide-panel .finance-side-panel{padding-left:1rem;border-left:1px solid color-mix(in srgb,var(--border-default) 82%,transparent)}.finance-card{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--card-shadow);padding:1rem;display:grid;gap:.75rem;min-height:0}.finance-command-card{background:color-mix(in srgb,var(--bg-elevated) 88%,var(--bg-app));gap:.2rem;padding-block:.8rem}.finance-patient-balance-list-card{gap:.15rem}.finance-patient-balance-summary-card{gap:.12rem}.finance-patient-balance-summary-card .finance-card-head-start>div,.finance-patient-balance-list-card .finance-card-head-start>div{gap:.05rem}.finance-patient-balance-summary-card .finance-card-head .muted,.finance-patient-balance-list-card .finance-card-head .muted{margin:0}.finance-card-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.finance-card-head-start,.finance-panel-head{align-items:flex-start}.finance-card-head-start>div,.finance-panel-head>div{display:grid;gap:.25rem}.finance-command-card .finance-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.finance-command-card .finance-card-head p{margin:0}.finance-command-card .finance-card-head{margin-bottom:.1rem}.finance-toolbar-actions{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:.5rem;justify-content:flex-end;align-items:center;white-space:nowrap}.finance-toolbar-actions>button{flex:0 0 auto;width:auto}.finance-toolbar-actions.finance-patient-balance-actions{align-items:end}.finance-toolbar-actions.finance-patient-balance-actions>*{align-self:end}.finance-quick-actions{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:.5rem;justify-content:flex-start;align-items:center}.finance-toolbar-quick-field{min-width:auto}.finance-quick-pill{width:auto;min-height:42px;border-radius:999px;font:inherit;font-weight:600}.finance-quick-pill.active{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-bg)}.finance-quick-menu{position:relative}.finance-quick-dropdown{position:absolute;top:calc(100% + .35rem);left:0;width:100%;min-width:100%;z-index:10;border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-2);overflow:hidden}.finance-quick-dropdown .muted{margin:0;padding:.75rem .8rem}.finance-quick-dropdown-list{display:grid}.finance-quick-dropdown-item{display:grid;gap:.1rem;width:100%;padding:.7rem .8rem;border:0;border-top:1px solid color-mix(in srgb,var(--border-default) 78%,transparent);background:transparent;color:var(--text-primary);text-align:left;white-space:normal}.finance-quick-dropdown-item:hover,.finance-quick-dropdown-item:focus-visible{background:color-mix(in srgb,var(--state-info-bg) 55%,var(--bg-elevated))}.finance-quick-dropdown-list .finance-quick-dropdown-item:first-child{border-top:0}.finance-quick-dropdown-item.active{background:color-mix(in srgb,var(--primary) 12%,var(--bg-elevated) 88%)}.finance-quick-dropdown-name{font-weight:700}.finance-quick-dropdown-meta{color:var(--text-secondary);font-size:.84rem;font-weight:600}.finance-quick-dropdown-empty{padding:.75rem .8rem;color:var(--text-secondary);font-size:.9rem;font-weight:600}.finance-toolbar-field{display:grid;gap:.3rem;min-width:min(22rem,42vw);font-weight:600;color:var(--text-secondary)}.finance-toolbar-field span{font-size:.82rem}.finance-toolbar-field select{min-width:0}.finance-form-grid{display:grid;gap:.75rem}.finance-form-grid label{display:grid;gap:.35rem;font-weight:600}.finance-form-grid label.inline,.finance-form-grid .finance-picker-item{display:flex;align-items:center;gap:.65rem}.finance-form-grid input:not([type=checkbox]),.finance-form-grid select,.finance-form-grid textarea,.finance-toolbar-field input,.finance-toolbar-field select,.finance-filters input,.finance-filters select{border:1px solid var(--input-border);border-radius:var(--radius-md);padding:.62rem .75rem;background:var(--input-bg);color:var(--input-fg);font:inherit;min-height:42px}.finance-form-grid textarea{min-height:auto;resize:vertical}.finance-form-grid input:not([type=checkbox]):focus-visible,.finance-form-grid select:focus-visible,.finance-form-grid textarea:focus-visible,.finance-toolbar-field input:focus-visible,.finance-toolbar-field select:focus-visible,.finance-filters input:focus-visible,.finance-filters select:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--input-focus) 45%,transparent);border-color:var(--input-focus)}.finance-inline-list{display:grid;gap:.5rem}.finance-form-grid input[type=checkbox],.finance-picker-item input[type=checkbox]{width:1.1rem;height:1.1rem;min-height:1.1rem;margin:0;padding:0;accent-color:var(--btn-primary-bg);flex:0 0 auto}.finance-invoice-patient-select,.finance-quote-patient-select,.finance-invoice-note-field,.finance-quote-note-field,.finance-payment-patient-select,.finance-payment-note-field{background:#fff;border-color:color-mix(in srgb,var(--border-default) 85%,#fff 15%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border-default) 55%,transparent)}.finance-inline-row{display:grid;grid-template-columns:minmax(0,1fr) 84px auto;gap:.4rem}.finance-summary-stack{gap:.55rem}.finance-summary-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .8rem;border-radius:var(--radius-md);background:var(--state-info-bg);color:var(--state-info-fg);font-variant-numeric:tabular-nums}.finance-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.finance-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.finance-batch-card{gap:.85rem}.finance-batch-modal{width:min(1040px,96vw);max-height:min(92vh,960px);overflow-y:auto;display:grid;gap:1.1rem}.finance-batch-head{padding-right:2.35rem}.finance-batch-sections{display:grid;gap:.95rem}.finance-batch-section{display:grid;gap:.75rem;padding:1rem 1.05rem;border-radius:14px;border:1px solid #e2e8f0;background:#f8fafc}.finance-batch-section-head{display:grid;gap:.2rem}.finance-batch-section-head strong{color:var(--text-primary);font-size:1rem}.finance-batch-period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.finance-batch-period-grid label,.finance-batch-select-field{display:grid;gap:.35rem}.finance-batch-select-field select{width:min(380px,100%)}.finance-batch-inline-option{display:flex;align-items:center;gap:.65rem;min-height:48px;width:fit-content;max-width:100%;padding:.8rem .95rem;border:1px solid var(--card-border);border-radius:var(--radius-md);background:#fff}.finance-batch-inline-option input[type=checkbox]{margin-top:0}.finance-batch-inline-option span{line-height:1.35}.finance-batch-actions{justify-content:flex-end;padding-top:.1rem}.finance-batch-actions>button{min-height:46px;min-width:220px}.finance-batch-preview{display:grid;gap:.8rem;padding-top:.1rem}.finance-batch-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.finance-batch-summary-item{display:grid;gap:.12rem;padding:.75rem .85rem;border:1px solid var(--card-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface) 82%,var(--bg-elevated))}.finance-batch-summary-item span{color:var(--text-secondary);font-size:.82rem;font-weight:600}.finance-batch-summary-item strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.finance-batch-preview-list{display:grid;gap:.5rem}.finance-batch-preview-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem .9rem;border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--bg-elevated)}.finance-batch-preview-item>div{display:grid;gap:.15rem}.finance-batch-preview-item span{color:var(--text-secondary);font-size:.88rem}.finance-batch-empty{padding:1rem 1.1rem;border:1px dashed color-mix(in srgb,var(--border-default) 78%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface) 80%,var(--bg-elevated));color:var(--text-secondary)}.finance-table-scroll{overflow-x:auto;margin:0 -.1rem}.finance-table{border:1px solid var(--card-border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-elevated);font-variant-numeric:tabular-nums}.finance-table[aria-label=Devis]{min-width:760px}.finance-table[aria-label=Factures]{min-width:1020px}.finance-table[aria-label=Paiements]{min-width:700px}.finance-table[aria-label="Solde patient factures"]{min-width:760px}.finance-table[aria-label="Solde patient paiements"]{min-width:640px}.finance-table[aria-label="Analytics revenu"]{min-width:760px}.finance-table-head,.finance-table-row{display:grid;grid-template-columns:42px 1.1fr 1.1fr 1fr 1fr 1fr 1fr;gap:.5rem;align-items:center;padding:.75rem .8rem}.finance-table[aria-label=Factures] .finance-table-head,.finance-table[aria-label=Factures] .finance-table-row{grid-template-columns:42px 1fr 1fr .9fr .9fr 1fr .8fr .8fr .9fr}.finance-table[aria-label=Paiements] .finance-table-head,.finance-table[aria-label=Paiements] .finance-table-row{grid-template-columns:.9fr 1fr .9fr .9fr .9fr .8fr}.finance-table[aria-label="Solde patient factures"] .finance-table-head,.finance-table[aria-label="Solde patient factures"] .finance-table-row{grid-template-columns:1.1fr .9fr 1fr 1fr .9fr .9fr}.finance-table[aria-label="Solde patient paiements"] .finance-table-head,.finance-table[aria-label="Solde patient paiements"] .finance-table-row{grid-template-columns:1fr 1fr 1fr 1fr .9fr}.finance-table[aria-label="Analytics revenu"] .finance-table-head,.finance-table[aria-label="Analytics revenu"] .finance-table-row{grid-template-columns:1.3fr repeat(4,.9fr)}.finance-table-head{background:color-mix(in srgb,var(--bg-app) 60%,var(--bg-elevated));font-size:.82rem;font-weight:700;color:var(--text-secondary)}.finance-table-row{border-top:1px solid color-mix(in srgb,var(--border-default) 75%,transparent);font-size:.92rem}.finance-row-actions{display:inline-flex;flex-wrap:wrap;gap:.35rem}.finance-row-actions.wrap{display:flex}.finance-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.finance-lines-list{display:grid;gap:.45rem}.finance-line-item{display:grid;grid-template-columns:1.2fr auto auto auto;gap:.5rem;padding:.55rem .65rem;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid color-mix(in srgb,var(--border-default) 75%,transparent)}.finance-status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);padding:.24rem .6rem;font-size:.78rem;font-weight:700;background:var(--state-info-bg);color:var(--state-info-fg)}.finance-status-badge.status-brouillon{background:var(--state-review-bg);color:var(--state-review-fg)}.finance-status-badge.status-en_attente,.finance-status-badge.status-impayee{background:var(--state-warning-bg);color:var(--state-warning-fg)}.finance-status-badge.status-accepte,.finance-status-badge.status-payee{background:var(--state-success-bg);color:var(--state-success-fg)}.finance-status-badge.status-rejete,.finance-status-badge.status-supprime,.finance-status-badge.status-annulee{background:var(--state-danger-bg);color:var(--state-danger-fg)}.finance-picker-list{display:grid;gap:.5rem;border:1px solid var(--card-border);border-radius:var(--radius-md);padding:.75rem;background:color-mix(in srgb,var(--bg-surface) 84%,var(--bg-app))}.finance-picker-item{display:flex;align-items:center;gap:.5rem;font-weight:500}.finance-period-pill{display:inline-flex;align-items:center;border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:.42rem .75rem;background:color-mix(in srgb,var(--bg-surface) 84%,var(--bg-app));color:var(--text-secondary);font-size:.88rem;font-weight:700}.finance-analytics-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.75rem;align-items:end}.finance-analytics-filters-card{gap:.2rem;border:1px solid color-mix(in srgb,var(--state-info-fg) 18%,var(--card-border));background:radial-gradient(circle at top right,color-mix(in srgb,var(--state-info-bg) 70%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--bg-elevated) 92%,var(--bg-app)),var(--card-bg));box-shadow:var(--shadow-2);padding-top:.85rem;padding-bottom:.85rem}.finance-analytics-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem;align-items:start}.finance-analytics-intro{display:grid;gap:.02rem}.finance-analytics-intro h3{margin:0}.finance-analytics-intro .muted{margin:0;line-height:1.2}.finance-analytics-period{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.finance-analytics-controls-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;align-items:end;margin-top:-.1rem;padding:.7rem 1rem .75rem;border:1px solid color-mix(in srgb,var(--border-default) 84%,transparent);border-radius:calc(var(--radius-lg) + 2px);background:color-mix(in srgb,var(--bg-elevated) 82%,var(--bg-app))}.finance-analytics-filters-card .finance-toolbar-field{min-width:0}.finance-analytics-filters-card .finance-toolbar-field span{font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.finance-analytics-toolbar-actions{align-self:end}.finance-analytics-error{margin:0;color:var(--state-danger-fg)}.finance-chart-legend{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}.finance-chart-legend-item{display:inline-flex;align-items:center;gap:.45rem;color:var(--text-secondary);font-weight:600}.finance-chart-swatch{width:12px;height:12px;border-radius:999px;display:inline-block}.finance-chart-swatch.planned,.finance-chart-segment.planned{fill:var(--state-review-fg);background:var(--state-review-fg)}.finance-chart-swatch.realized,.finance-chart-segment.realized{fill:var(--state-info-fg);background:var(--state-info-fg)}.finance-chart-swatch.invoiced,.finance-chart-segment.invoiced{fill:var(--state-warning-fg);background:var(--state-warning-fg)}.finance-chart-swatch.paid,.finance-chart-segment.paid{fill:var(--state-success-fg);background:var(--state-success-fg)}.finance-chart-swatch.worked-days,.finance-chart-segment.worked-days{fill:var(--finance-chart-worked-days);background:var(--finance-chart-worked-days)}.finance-chart-swatch.session-hours,.finance-chart-segment.session-hours{fill:var(--finance-chart-session-hours);background:var(--finance-chart-session-hours)}.finance-chart-swatch.patient-absent,.finance-chart-segment.patient-absent{fill:var(--finance-chart-patient-absent);background:var(--finance-chart-patient-absent)}.finance-chart-swatch.practitioner-cancelled,.finance-chart-segment.practitioner-cancelled{fill:var(--finance-chart-practitioner-cancelled);background:var(--finance-chart-practitioner-cancelled)}.finance-chart-swatch.patient-cancelled,.finance-chart-segment.patient-cancelled{fill:var(--finance-chart-patient-cancelled);background:var(--finance-chart-patient-cancelled)}.finance-chart-card{display:grid;gap:1rem}.finance-chart-wrap{overflow-x:auto;padding-bottom:.25rem}.finance-chart-canvas{min-width:760px;height:360px}.finance-chart-svg{width:100%;min-width:760px;height:auto;display:block}.finance-chart-axis{stroke:color-mix(in srgb,var(--border-default) 85%,transparent);stroke-width:1.5}.finance-chart-month-label{fill:var(--text-secondary);font-size:12px;font-weight:600}.finance-chart-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.finance-chart-summary-card{display:grid;gap:.45rem;padding:.9rem 1rem;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-surface) 84%,var(--bg-app))}.finance-chart-summary-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--text-secondary);font-size:.92rem}.finance-chart-summary-row strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.finance-empty-state-card{min-height:18rem}.finance-empty-state{display:grid;place-items:center;align-content:center;gap:.5rem;min-height:14rem;border:1px dashed color-mix(in srgb,var(--border-default) 78%,transparent);border-radius:var(--radius-lg);background:radial-gradient(circle at top right,color-mix(in srgb,var(--state-info-bg) 72%,transparent),transparent 42%),color-mix(in srgb,var(--bg-surface) 86%,var(--bg-app));padding:1.25rem;text-align:center}@media(max-width:1280px){.finance-workspace.has-panel{grid-template-columns:minmax(0,1fr) minmax(19rem,22rem)}.finance-workspace.has-panel.finance-workspace-wide-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1080px){.finance-overview-strip,.finance-balance-grid,.finance-filters,.finance-batch-summary,.finance-chart-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-workspace.has-panel{grid-template-columns:1fr}.finance-side-panel{position:static}.finance-workspace-wide-panel .finance-side-panel{padding-left:0;border-left:0}.finance-analytics-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-analytics-header,.finance-analytics-controls-shell{grid-template-columns:1fr}.finance-analytics-period{justify-content:flex-start}}@media(max-width:720px){.public-entry-main{padding:2rem 16px 3rem}.public-landing-hero,.auth-page-shell,.public-landing-placeholder,.public-legal-links-panel{grid-template-columns:1fr}.public-landing-panel{min-height:260px}.public-entry-actions{width:100%;justify-content:stretch}.public-entry-actions>button{flex:1 1 100%}.public-legal-footer,.patient-public-legal-footer{width:calc(100% - 32px);margin-bottom:2rem}.patient-auth-card{padding:1.25rem}.patient-auth-feature-grid,.patient-auth-methods{grid-template-columns:1fr}.legal-hero,.legal-prose{padding-left:1.2rem;padding-right:1.2rem}.legal-topbar-nav{justify-content:flex-start}.cabinet-member-row,.cabinet-request-row,.cabinet-member-actions{flex-direction:column;align-items:stretch}.finance-overview-strip,.finance-filters,.finance-balance-grid,.finance-batch-summary,.finance-inline-row,.finance-chart-summary,.finance-command-card .finance-card-head,.finance-analytics-toolbar{grid-template-columns:1fr}.finance-analytics-controls-shell{padding:.85rem}.finance-toolbar-actions{grid-auto-flow:row;grid-auto-columns:auto;justify-content:stretch;white-space:normal}.finance-toolbar-field{min-width:0}.finance-subnav{width:100%}.finance-subnav-btn{flex:1 1 0;text-align:center}.finance-card-head,.finance-toolbar-actions,.finance-pagination,.finance-local-subnav,.follow-up-local-subnav{flex-direction:column;align-items:stretch}.finance-command-card .finance-card-head{display:flex}.finance-toolbar-actions{display:flex;flex-wrap:wrap;white-space:normal}.finance-batch-period-grid{grid-template-columns:1fr}.finance-pagination .hint{text-align:center}.finance-local-subnav-item,.follow-up-local-subnav-item{width:100%;text-align:center}}.top-tabs-section{display:inline-flex;align-items:center;gap:.2rem}.top-tabs-divider{width:1px;height:26px;background:color-mix(in srgb,#ffffff 70%,transparent);opacity:.7;border-radius:999px}.tab{background:transparent;border:1px solid transparent;padding:.4rem .72rem;border-radius:10px;color:color-mix(in srgb,#ffffff 88%,transparent);font-weight:600;cursor:pointer;position:relative;transition:color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tab:hover,.tab:focus-visible{color:#fff;background:color-mix(in srgb,#ffffff 12%,transparent)}.tab:after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:999px;background:#fff;opacity:0;transform:scaleX(.45);transform-origin:center;transition:opacity .2s ease,transform .2s ease}.tab-secondary{font-size:.9rem;padding:.34rem .6rem;color:color-mix(in srgb,#ffffff 78%,transparent)}.tab.active{color:#fff;background:color-mix(in srgb,#ffffff 22%,transparent);border-color:color-mix(in srgb,#ffffff 34%,transparent);box-shadow:inset 0 1px #ffffff47,0 7px 16px #080e1657;transform:translateY(-1px);animation:tab-active-pop .17s ease-out}.nav-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;height:1.2rem;padding:0 .34rem;border-radius:999px;background:#e25555;color:#fff;font-size:.68rem;font-weight:800;line-height:1.05;box-shadow:0 4px 10px #e2555547}.tab-has-unread{overflow:visible}.tab-unread-badge{position:absolute;top:.18rem;left:1.55rem;display:inline-flex;align-items:center;justify-content:center;min-width:.95rem;height:.95rem;padding:.02rem .2rem 0;border-radius:999px;background:#e25555;color:#fff;font-size:.56rem;font-weight:800;line-height:1.08;box-shadow:0 3px 8px #e255553d}.tab.active:after{opacity:1;transform:scaleX(1)}@keyframes tab-active-pop{0%{transform:translateY(0) scale(.98)}to{transform:translateY(-1px) scale(1)}}.more-menu{position:relative;display:inline-flex}.more-panel{position:absolute;top:120%;right:0;background:var(--bg-elevated);border-radius:12px;padding:.4rem;box-shadow:var(--shadow-3);border:1px solid var(--border-default);display:grid;gap:.3rem;min-width:160px;z-index:5}.more-item{background:transparent;border:none;padding:.5rem .7rem;text-align:left;border-radius:10px;cursor:pointer;color:var(--text-primary)}.more-item.active{background:var(--state-success-bg);color:var(--accent)}.topbar-actions{display:flex;align-items:center;gap:.5rem}.topbar .topbar-actions .ghost,.topbar .mobile-menu-button{background:color-mix(in srgb,#ffffff 12%,transparent);color:#fff;border:1px solid color-mix(in srgb,#ffffff 28%,transparent)}.topbar .topbar-actions .ghost:hover,.topbar .topbar-actions .ghost:focus-visible,.topbar .mobile-menu-button:hover,.topbar .mobile-menu-button:focus-visible{background:color-mix(in srgb,#ffffff 20%,transparent);color:#fff}.icon-only{display:inline-flex;align-items:center;gap:.4rem}.action-label{font-size:.9rem}.user-menu{position:relative}.user-menu-trigger{min-height:34px}.user-menu-caret{font-size:.75rem}.user-menu-panel{position:absolute;top:120%;right:0;background:var(--bg-elevated);border-radius:12px;padding:.4rem;box-shadow:var(--shadow-3);border:1px solid var(--border-default);display:grid;gap:.3rem;min-width:200px;z-index:10}.user-menu-item{background:transparent;border:none;padding:.5rem .7rem;text-align:left;border-radius:10px;cursor:pointer;color:var(--text-primary)}.user-menu-item:hover,.user-menu-item:focus-visible{background:var(--state-success-bg);color:var(--accent)}.mobile-menu-button{display:none;background:transparent;border:none;font-size:1.4rem;cursor:pointer;padding:.3rem .5rem}.local-actions{position:sticky;top:var(--topbar-height);z-index:30;background:var(--subnav-bg);border-bottom:1px solid var(--subnav-border);box-shadow:inset 0 1px color-mix(in srgb,#ffffff 30%,transparent)}.local-actions-inner{max-width:var(--max-content-width);margin:0 auto;padding:0 24px;min-height:var(--local-actions-height);display:flex;align-items:center;justify-content:space-between;gap:1rem}.local-actions-title{font-weight:600;color:var(--subnav-text);white-space:nowrap}.local-actions .local-actions-row .button-like:hover,.local-actions .local-actions-row .button-like:focus-visible,.local-actions .local-actions-row button.ghost:not(.unavailability-trigger):hover,.local-actions .local-actions-row button.ghost:not(.unavailability-trigger):focus-visible{background:var(--subnav-hover-bg);color:var(--subnav-hover-fg);border-color:color-mix(in srgb,var(--subnav-hover-fg) 34%,transparent)}.local-actions-title-hint{font-weight:400}.local-actions-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.finance-local-subnav,.follow-up-local-subnav{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.finance-local-subnav-item,.follow-up-local-subnav-item{border:1px solid #d9e3ef;background:#f5f8fc;color:#334155;border-radius:999px;padding:.42rem .8rem;font-size:.88rem;font-weight:600;transition:background-color .18s ease-out,border-color .18s ease-out,color .18s ease-out}.finance-local-subnav-item:hover,.finance-local-subnav-item:focus-visible,.follow-up-local-subnav-item:hover,.follow-up-local-subnav-item:focus-visible{border-color:color-mix(in srgb,var(--state-info-fg) 26%,transparent);background:color-mix(in srgb,var(--state-info-bg) 74%,white);color:var(--state-info-fg);outline:none}.finance-local-subnav-item.active,.follow-up-local-subnav-item.active{border-color:#0f766e;background:#ecfdf5;color:#14532d;box-shadow:none}.local-actions-row .danger,.local-actions-row .success{width:auto}.patients-archived-delete-selection{width:auto;min-width:0}.settings-local-actions-inner{justify-content:flex-start}.settings-local-actions-title{white-space:normal}.finance-local-actions-inner,.finance-local-actions-row,.follow-up-local-subnav{justify-content:flex-start}.patient-portal-top-actions{justify-self:end;justify-content:flex-end;flex-wrap:wrap}.patient-portal-logout{white-space:nowrap}.patient-profile-switch{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-secondary);font-size:.82rem;font-weight:600}.patient-profile-switch select{min-width:170px;height:30px;padding:0 .45rem;border-radius:10px;border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);font-size:.82rem}.patient-local-actions-row{width:100%;justify-content:space-between;gap:.75rem}.patient-local-tabs{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.patient-action-tab{background:var(--state-review-bg);color:var(--state-review-fg);border:1px solid color-mix(in srgb,var(--state-review-fg) 22%,transparent);border-radius:12px;padding:.42rem .75rem;font-weight:500}.patient-action-tab.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.week-control{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .4rem;border-radius:999px;background:var(--bg-surface);border:1px solid var(--border-default)}.week-pill{font-size:.8rem;color:#64748b}.week-range{font-size:.9rem;color:#1f2937}.planning-menu{position:relative}.planning-menu-trigger{display:inline-flex;align-items:center;gap:.4rem}.planning-menu-trigger .caret{font-size:.75rem}.planning-menu-panel{position:absolute;top:120%;left:0;background:#fff;border-radius:12px;padding:.4rem;min-width:220px;box-shadow:0 16px 28px #0f172a29;border:1px solid #e2e8f0;display:grid;gap:.35rem;z-index:10}.planning-menu-item{background:transparent;border:none;padding:.55rem .7rem;border-radius:10px;text-align:left;cursor:pointer;color:#1f2937}.planning-menu-item.active{background:#eef5f1;color:var(--accent)}.planning-menu-item:hover,.planning-menu-item:focus-visible,.planning-menu-item.active:hover,.planning-menu-item.active:focus-visible{background:var(--subnav-hover-bg);color:var(--subnav-hover-fg)}.planning-menu-divider{height:1px;background:#e6ebf5;margin:.2rem 0}.planning-menu-toggle{display:flex;align-items:center;gap:.5rem;padding:.55rem .7rem;font-size:.95rem;font-weight:400;line-height:1.2;color:#1f2937}.planning-menu-toggle input{margin:0}.content-shell{max-width:var(--max-content-width);margin:0 auto;padding:0 24px 2.5rem}.content-shell.content-shell-patient-detail{padding-top:0}.content-shell.content-shell-planning{max-width:none;padding-top:0;padding-left:0;padding-right:0}.content-shell.content-shell-planning>section{background:transparent;box-shadow:none;border-radius:0;margin-bottom:0;padding:0}.content-shell.content-shell-planning .availability-board,.content-shell.content-shell-planning .planning-calendar,.content-shell.content-shell-planning .month-view{border-radius:0;border-left:none;border-right:none;padding:.45rem .35rem 0}.local-actions.planning-local-actions .local-actions-inner{max-width:none;padding-left:8px;padding-right:8px;min-height:42px}.local-actions.planning-local-actions .local-actions-title{font-size:.88rem}.local-actions.planning-local-actions .local-actions-row{flex:1;gap:.45rem}.planning-left-controls{display:inline-flex;align-items:center;gap:.45rem;margin-right:auto}.planning-today-button,.planning-openings-toggle{position:relative}.planning-today-button:after,.planning-openings-toggle[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:0;top:calc(100% + 8px);transform:none;background:#0f172a;color:#fff;padding:.38rem .5rem;border-radius:8px;font-size:.76rem;line-height:1.2;white-space:pre-line;width:max-content;max-width:min(80vw,360px);box-shadow:0 8px 18px #0f172a47;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .08s ease;z-index:20}.planning-openings-toggle[data-tooltip]:after{left:50%;transform:translate(-50%)}.planning-today-button:before,.planning-openings-toggle[data-tooltip]:before{content:"";position:absolute;left:50%;top:calc(100% + 2px);transform:translate(-50%);border:6px solid transparent;border-bottom-color:#0f172a;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .08s ease;z-index:20}.planning-today-button:hover:after,.planning-today-button:hover:before,.planning-today-button:focus-visible:after,.planning-today-button:focus-visible:before,.planning-openings-toggle[data-tooltip]:hover:after,.planning-openings-toggle[data-tooltip]:hover:before,.planning-openings-toggle[data-tooltip]:focus-visible:after,.planning-openings-toggle[data-tooltip]:focus-visible:before{opacity:1;visibility:visible}.planning-date-controls{display:inline-flex;align-items:center;gap:.45rem}.waitlist-settings-shortcut{position:relative}.waitlist-settings-shortcut:after{content:attr(data-tooltip);position:absolute;right:0;top:calc(100% + 6px);width:max-content;max-width:min(70vw,260px);padding:.34rem .46rem;border-radius:8px;background:#0f172a;color:#fff;font-size:.74rem;line-height:1.2;white-space:normal;box-shadow:0 8px 18px #0f172a3d;opacity:0;visibility:hidden;transform:translateY(-2px);pointer-events:none;transition:opacity .06s ease,transform .06s ease;z-index:20}.waitlist-settings-shortcut:hover:after,.waitlist-settings-shortcut:focus-visible:after{opacity:1;visibility:visible;transform:translateY(0)}.planning-tools-menu{position:relative}.planning-tools-trigger{display:inline-flex;align-items:center;gap:.35rem}.planning-tools-panel{position:absolute;top:120%;right:0;background:#fff;border-radius:12px;padding:.4rem;min-width:260px;box-shadow:0 16px 28px #0f172a29;border:1px solid #e2e8f0;display:grid;gap:.35rem;z-index:10}.planning-tools-item{background:transparent;border:none;padding:.55rem .7rem;border-radius:10px;text-align:left;cursor:pointer;color:#1f2937}.planning-tools-item:hover,.planning-tools-item:focus-visible,.planning-tools-item.active{background:#eef5f1;color:var(--accent)}.local-actions.planning-local-actions .local-actions-row button,.local-actions.planning-local-actions .local-actions-row .button-like,.local-actions.planning-local-actions .local-actions-row .week-pill,.local-actions.planning-local-actions .local-actions-row .week-range{font-size:.84rem}.local-actions.planning-local-actions .local-actions-row button,.local-actions.planning-local-actions .local-actions-row .button-like{padding:.38rem .62rem}.local-actions.planning-local-actions .week-control{background:var(--subnav-bg);border-color:var(--subnav-border)}.local-actions.planning-local-actions .week-range,.local-actions.planning-local-actions .week-pill{color:var(--subnav-text)}.local-actions.planning-local-actions .local-actions-row button.ghost:not(.unavailability-trigger),.local-actions.planning-local-actions .local-actions-row .button-like{background:var(--subnav-bg);color:var(--subnav-text);border:1px solid var(--subnav-border)}.local-actions.planning-local-actions .local-actions-row button.ghost:not(.unavailability-trigger):hover,.local-actions.planning-local-actions .local-actions-row button.ghost:not(.unavailability-trigger):focus-visible,.local-actions.planning-local-actions .local-actions-row .button-like:hover,.local-actions.planning-local-actions .local-actions-row .button-like:focus-visible{background:var(--subnav-hover-bg);color:var(--subnav-hover-fg);border-color:color-mix(in srgb,var(--subnav-hover-fg) 34%,transparent)}.local-actions.planning-local-actions .local-actions-row button.planning-openings-toggle.active{background:var(--subnav-hover-bg);color:var(--subnav-hover-fg);border-color:color-mix(in srgb,var(--subnav-hover-fg) 34%,transparent)}.local-actions.planning-local-actions .week-control>.week-nav-arrow{border:0;box-shadow:none;background:transparent;color:var(--subnav-text);width:26px;min-width:26px;height:26px;min-height:26px;padding:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:1.04rem}.local-actions.planning-local-actions .week-control>.week-nav-arrow:hover,.local-actions.planning-local-actions .week-control>.week-nav-arrow:focus-visible{border:0;background:color-mix(in srgb,var(--subnav-hover-bg) 48%,transparent);color:var(--subnav-hover-fg)}.local-actions.planning-local-actions .search-box.compact{min-height:34px;padding:.2rem .55rem}.local-actions.planning-local-actions .search-box.planning-search input{min-width:148px;max-width:180px;font-size:.84rem}.mobile-inline-actions{display:none;gap:.4rem;margin-bottom:.6rem}.planning-mobile-view-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem}.planning-mobile-view-switch button{min-height:32px;padding:.22rem .4rem;font-size:.78rem;box-sizing:border-box;border-radius:10px;border:1px solid #dbe4f3;background:#f5f8ff;color:#334155}.planning-mobile-view-switch button.active{border-color:var(--accent);background:#e7f2ed;color:var(--accent);font-weight:700}.planning-mobile-view-switch button:hover,.planning-mobile-view-switch button:focus-visible{border-color:var(--subnav-hover-bg);background:var(--subnav-hover-bg);color:var(--subnav-hover-fg)}.mobile-date-nav{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:.3rem}.mobile-date-nav-arrow{min-width:34px;width:34px;min-height:34px;height:34px;padding:0;box-sizing:border-box;font-size:1rem}.mobile-date-nav-label{min-width:0;text-align:center;font-size:.82rem;font-weight:600;line-height:1.1;color:#2f3a5c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-actions{display:none}.mobile-action{background:#fff;border:1px solid #dde4f2;border-radius:14px;padding:.45rem .65rem;display:grid;place-items:center;gap:.15rem;font-size:.75rem;color:#1f2937;box-shadow:0 10px 20px #0f172a14}.mobile-action-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.mobile-action-icon{font-size:1.1rem}.mobile-action-label{line-height:1.05;text-align:center}.mobile-action-primary .mobile-action-label{font-weight:600}.mobile-bottom-nav{display:none}.mobile-nav-item{background:transparent;border:none;color:#64748b;display:grid;justify-items:center;gap:.2rem;padding:.35rem .3rem;border-radius:12px;min-height:44px}.mobile-nav-item.active{color:var(--accent);background:#eaf2ee}.mobile-nav-icon{font-size:1.05rem;line-height:1}.mobile-nav-icon-wrap{position:relative;display:inline-flex}.mobile-nav-badge{position:absolute;top:-.45rem;right:-.8rem;display:inline-flex;align-items:center;justify-content:center;min-width:1rem;height:1rem;padding:.02rem .24rem 0;border-radius:999px;background:#e25555;color:#fff;font-size:.6rem;font-weight:800;line-height:1.08;box-shadow:0 4px 10px #e255553d}.mobile-nav-label{font-size:.72rem;font-weight:600;line-height:1}.mobile-action-sheet{display:none}.mobile-action-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0f172a61}.mobile-action-sheet-panel{position:absolute;left:0;right:0;bottom:0;transform:translateY(104%);transition:transform .24s ease;background:#fff;border-radius:20px 20px 0 0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));box-shadow:0 -12px 30px #0f172a33;max-height:min(72vh,520px);overflow-y:auto}.mobile-action-sheet.open .mobile-action-sheet-panel{transform:translateY(0)}.mobile-action-sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem;font-weight:600}.mobile-action-sheet-list{display:grid;gap:.5rem}.mobile-action-sheet-item{width:100%;border:1px solid #dde4f2;background:#f8faff;border-radius:12px;padding:.75rem .9rem;display:flex;align-items:center;gap:.6rem;color:#1f2937;text-align:left}.mobile-action-sheet-icon{font-size:1rem}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .2s ease;z-index:60}.mobile-drawer.open{pointer-events:auto;opacity:1}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a59;border:none}.drawer-panel{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));display:grid;grid-template-rows:auto 1fr auto;gap:1.2rem;overflow-y:auto}.drawer-header{display:flex;align-items:center;justify-content:space-between;font-weight:600}.drawer-nav{display:grid;gap:.5rem}.drawer-item{background:#f3f5fa;border:none;padding:.85rem 1rem;border-radius:12px;text-align:left;font-size:1rem;color:#1f2937;font-weight:500}.drawer-item-content{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.drawer-item:hover,.drawer-item:focus-visible{background:#e9edf6;color:#111827}.drawer-item.active{background:#e6f2ec;color:var(--accent)}.drawer-actions{display:grid;gap:.5rem}.icon-btn{background:transparent;border:none;font-size:1.4rem;cursor:pointer}.header-actions{margin-top:.8rem}section{background:#fff;padding:1.25rem;border-radius:16px;margin-bottom:1.25rem;box-shadow:0 12px 26px #0f172a14}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}form{display:grid;gap:.5rem}.form-inline{align-items:start}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.form-actions button{padding:.7rem 1.4rem;font-size:1rem;border-radius:12px}.faq-form textarea{min-height:120px}.faq-list{display:grid;gap:1rem;margin-top:1rem}.faq-item{display:grid;gap:.75rem}.faq-item.drag-over{outline:2px dashed #9aa8ff;outline-offset:2px}.faq-header{display:flex;align-items:center;gap:.75rem}.faq-drag{width:34px;height:34px;border-radius:10px;border:1px solid #e5e7eb;background:#f8f9ff;color:#374151;cursor:grab;display:inline-flex;align-items:center;justify-content:center;padding:0}.faq-drag:active{cursor:grabbing}.faq-actions{display:flex;gap:.5rem;justify-content:flex-end}input,button,select,textarea{padding:.55rem .8rem;border-radius:10px;border:1px solid var(--border-default);font-size:.95rem;font-family:inherit;font-weight:500;color:var(--text-primary);background:var(--bg-elevated)}button{background:var(--accent);color:var(--accent-ink);border:none;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}button:hover,button:focus-visible{background:var(--primary-hover)}button.ghost{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default)}button.painful{background:var(--state-danger-bg);color:var(--state-danger-fg);border:1px solid color-mix(in srgb,var(--state-danger-fg) 35%,transparent)}button.primary{background:var(--accent);color:var(--accent-ink);border:none}button.ghost.unavailability-trigger{border:1px solid color-mix(in srgb,var(--state-warning-fg) 35%,transparent);background:var(--state-warning-bg);color:var(--state-warning-fg)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--focus-ring) 70%,transparent);outline-offset:2px}.public-shell{background:var(--bg-surface);border-radius:20px;padding:2rem}.public-state-shell{min-height:min(520px,calc(100vh - 200px));display:grid;place-items:center}.public-state-card{width:min(100%,560px);display:grid;gap:.75rem;justify-items:center;text-align:center;padding:2rem}.public-error-card{border:1px solid #f1d3cc;background:#fff9f7}.public-state-actions{justify-content:center}.public-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.public-hero-main{display:grid;gap:.4rem}.public-hero-header{display:flex;align-items:center;gap:1rem}.public-avatar{width:72px;height:72px;border-radius:50%;background:#eef2ff;display:grid;place-items:center;color:#2f3a5c;font-size:.75rem;font-weight:600;text-transform:uppercase;overflow:hidden;flex-shrink:0}.public-avatar img{width:100%;height:100%;object-fit:cover}.public-hero h2{margin:0 0 .4rem;font-size:2rem;font-family:Fraunces,serif}.public-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.9rem;color:#4b5563}.public-meta-divider{color:#b0b7c3}.public-info ul{margin:.5rem 0 0;padding-left:1.2rem}.public-info li{margin-bottom:.25rem}.app.public .public-shell{background:var(--page-bg)}.app.public .public-meta{color:var(--muted)}.app.public .public-tabs a{border-color:var(--border);background:var(--surface);color:var(--text)}.app.public .public-section.card{background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 30px #2d201814}.app.public .chip{background:var(--chip-bg);color:var(--chip-text)}.app.public .inline-pill,.app.public .public-list-item{background:var(--surface);border-color:var(--border)}.app.public .booking-card{background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 30px #2d201814}.app.public .day-row{background:#fbf7f1;border-color:var(--border)}.app.public .profile-card{background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 30px #2d201814}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.section-title .hint{margin:0}.content-shell-settings>section{border:1px solid #e7ecf3;background:radial-gradient(circle at top left,rgba(14,116,144,.08),transparent 42%),#fff}.planning-work-title h3{margin:0;font-size:1.5em}.planning-display-settings-page .settings-form-modern{gap:.3rem}.planning-display-settings-page .settings-grid-modern.single{gap:.35rem}.planning-display-settings-page .settings-panel{padding:.58rem .65rem;gap:.08rem}.planning-display-settings-page .settings-panel-head{gap:0;margin:0}.planning-display-settings-page .settings-panel-head .hint{margin:0!important}.planning-display-settings-page .planning-display-time-grid,.planning-display-settings-page .planning-display-days-grid{margin-top:0}.public-actions{display:flex;gap:.5rem;flex-wrap:wrap}.public-tabs{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.5rem}.public-tabs a{padding:.4rem .8rem;border-radius:999px;border:1px solid #e6eaf2;background:#fff;color:#1f2937;text-decoration:none;font-size:.9rem}.public-tabs a:hover{border-color:#cfd6e4}.app.public .public-tabs a:hover{border-color:#d9cfc3}.public-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}.public-main{display:grid;gap:.35rem;min-width:0}.public-aside{display:grid;gap:1rem;align-self:start}@media(max-width:1024px){.public-layout{grid-template-columns:1fr}.booking-card{position:static}}@media(max-width:720px){.public-page,.public-shell{padding:1.25rem}.public-hero{flex-direction:column;align-items:flex-start}.public-hero-header{align-items:flex-start}.public-tabs{overflow-x:auto}.waitlist-public-shell .waitlist-public-hero h2{font-size:1.3rem}.waitlist-public-shell .waitlist-public-badges{gap:.35rem}.waitlist-public-shell .waitlist-practitioners-row{flex-direction:column;align-items:flex-start;gap:.1rem}.waitlist-public-header{flex-direction:column;align-items:flex-start}.waitlist-powered-mark{margin-top:0}.waitlist-public-shell .waitlist-form-steps{gap:.35rem}.waitlist-public-shell .waitlist-form-step-chip{font-size:.74rem}.waitlist-public-shell .waitlist-motif-options{grid-template-columns:1fr}.waitlist-public-shell .waitlist-step-head{gap:.55rem}.waitlist-public-shell .waitlist-step-index{width:28px;height:28px}.waitlist-public-shell .waitlist-selected-slots-head{flex-direction:column;align-items:flex-start}.waitlist-public-shell .waitlist-availability-legend{flex-direction:column;align-items:flex-start;gap:.4rem}.waitlist-public-shell .waitlist-alltime-toggle{margin-bottom:.4rem}}.public-section{display:grid;gap:.6rem}.public-main .card{margin-top:0;padding:.85rem}.public-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.public-chips{display:flex;gap:.4rem;flex-wrap:wrap}.chip{padding:.2rem .6rem;border-radius:999px;background:var(--state-info-bg);color:var(--state-info-fg);font-size:.8rem;font-weight:600}.public-inline-list{display:flex;flex-wrap:wrap;gap:.5rem}.inline-pill{padding:.35rem .6rem;border-radius:8px;background:var(--bg-elevated);border:1px solid var(--border-default);font-size:.85rem}.public-list{display:grid;gap:.75rem}.public-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.75rem;border-radius:12px;background:var(--bg-elevated);border:1px solid var(--border-default)}.badge{padding:.2rem .6rem;border-radius:999px;background:var(--bg-surface);font-size:.75rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.public-faq{display:grid;gap:.8rem}.booking-card{background:var(--bg-elevated);border-radius:16px;padding:1rem;box-shadow:var(--shadow-2);border:1px solid var(--border-default);position:sticky;top:24px;display:grid;gap:.75rem}.booking-card-head{display:grid;gap:.3rem}.booking-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.booking-controls label{display:grid;gap:.35rem;min-width:0}.booking-controls select{width:100%}.week-nav.compact{margin:0;justify-content:space-between;font-size:.85rem}.patient-portal-booking-bar{position:sticky;top:.35rem;z-index:2;display:grid;gap:.55rem;padding:.75rem;border-radius:14px;background:var(--bg-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-1)}.patient-portal-booking-bar-main{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.patient-portal-booking-summary{flex:1 1 260px;min-width:0}.patient-portal-booking-summary span{min-width:0}.patient-portal-booking-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.patient-portal-booking-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.week-list{display:grid;gap:.65rem}.day-row{display:grid;gap:.45rem;padding:.5rem;border-radius:12px;background:#f8f9ff;border:1px solid #edf0f7}.day-row.empty{opacity:.7}.day-row-head{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;text-transform:capitalize;color:#4b5563}.slots-row{display:flex;flex-wrap:wrap;gap:.35rem}.booking-form{display:grid;gap:.5rem}@media(max-width:640px){.booking-controls{grid-template-columns:1fr}.patient-portal-booking-bar{top:.25rem;padding:.65rem}.patient-portal-booking-bar-main,.patient-portal-booking-actions,.patient-portal-booking-toolbar{align-items:stretch;flex-direction:column}.patient-portal-booking-actions>button,.patient-portal-booking-toolbar>button,.patient-portal-booking-toolbar .week-nav{width:100%}}.booking-summary{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:10px;background:#eef2ff;font-size:.85rem}.info-editor{display:grid;gap:.6rem}.info-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.info-quill .ql-toolbar{border-radius:10px 10px 0 0;border:1px solid #e5e7eb;background:#fff}.info-quill{min-width:0}.rich-text-editor-fallback{border:1px solid #e5e7eb;border-radius:10px;background:#fff;min-height:140px;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:.88rem}.info-quill.quill{height:auto}.info-quill .ql-container{border-radius:0 0 10px 10px;border:1px solid #e5e7eb;border-top:none;background:#fff;height:auto;min-height:140px;font-family:Work Sans,system-ui,sans-serif}.info-quill .ql-editor{min-height:140px;line-height:1.5;font-weight:400}.info-quill .ql-editor ul{margin:.5rem 0 0;padding-left:1.2rem}.info-quill .ql-editor li{margin-bottom:.25rem}.report-editor .ql-container{height:auto;min-height:130px;max-height:300px;overflow-y:auto;overflow-x:hidden;position:relative;z-index:1}.report-editor .ql-editor{min-height:130px;max-height:300px;overflow-y:auto;overflow-wrap:anywhere;word-break:break-word}.report-editor .ql-toolbar{min-width:0;overflow:visible;white-space:nowrap;position:relative;z-index:3}.report-editor .ql-snow .ql-picker.ql-expanded .ql-picker-options{z-index:4}.report-editor{height:auto;min-width:0}.report-column-current .report-field-card-editor .report-editor,.report-column-current .report-field-card-editor .report-editor.quill,.report-column-current .report-field-card-editor .report-editor .ql-toolbar,.report-column-current .report-field-card-editor .report-editor .ql-container,.report-column-current .report-field-card-editor .report-editor .ql-editor{width:100%;max-width:none}.info-quill .ql-snow .ql-picker.ql-size .ql-picker-label:before,.info-quill .ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.info-quill .ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.info-quill .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Petit"}.info-quill .ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.info-quill .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Grand"}.info-quill .ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.info-quill .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Très grand"}.ql-size-small{font-size:.75em}.ql-size-large{font-size:1.5em}.ql-size-huge{font-size:2.5em}.public-rich-text.ql-editor{padding:0}.patient-portal-rich-note.ql-editor{padding:0;margin-top:.4rem}.profile-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 40px #0f172a14;position:sticky;top:24px}.profile-photo{height:180px;background:linear-gradient(135deg,#dfe7ff,#f7f9ff);display:grid;place-items:center}.profile-photo img{width:100%;height:100%;object-fit:cover}.profile-placeholder{width:86px;height:86px;border-radius:50%;background:#eef1ff;display:grid;place-items:center;font-weight:600;color:#41517a}.profile-content{padding:1.2rem}.profile-content h3{margin:.2rem 0 .3rem}.divider{height:1px;background:var(--border-subtle);margin:.9rem 0}.muted{color:var(--text-secondary);margin:.2rem 0 .6rem}.batch-action-description{margin-bottom:1rem}.app.public .muted{color:var(--muted)}.subtle{background:var(--bg-elevated);border:1px solid var(--border-default);box-shadow:none}.app.public .subtle{background:var(--surface);border-color:var(--border)}.row{display:flex;gap:.5rem;flex-wrap:wrap}.card{margin-top:1rem;padding:1rem;border-radius:12px;background:var(--bg-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-1)}.app.public .card{background:var(--surface);border:1px solid var(--border)}.hint{font-size:.85rem;color:var(--text-secondary);margin:.25rem 0 .75rem}.settings-subnav-section{margin-bottom:.9rem}.settings-subnav{display:flex;flex-wrap:wrap;gap:.5rem}.settings-subnav-item{border:1px solid #d9e3ef;background:#f5f8fc;color:#334155;border-radius:999px;padding:.42rem .8rem;font-size:.88rem;font-weight:600}.settings-subnav-item.active{border-color:#0f766e;background:#ecfdf5;color:#14532d}.settings-subnav-item:hover,.settings-subnav-item:focus-visible{border-color:color-mix(in srgb,var(--state-info-fg) 26%,transparent);background:color-mix(in srgb,var(--state-info-bg) 74%,white);color:var(--state-info-fg)}.settings-page{border:1px solid #e9eef5;background:radial-gradient(circle at top right,rgba(20,119,79,.08),transparent 44%),#fff;padding:.8rem .9rem}.settings-hero{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start;padding:0;margin-bottom:.1rem}.settings-hero h2{margin:0}.settings-hero-copy{max-width:600px;margin:0}.settings-kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-left:auto;width:min(560px,100%)}.settings-kpi-row-right{grid-template-columns:minmax(0,1fr);margin-left:auto;width:max-content}.settings-kpi-row-inline-duo{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:auto;width:min(360px,100%)}.settings-kpi{border:1px solid #dce6ef;border-radius:12px;background:#f7fafc;padding:.55rem .7rem;display:grid;gap:.15rem}.settings-kpi-label{font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#5f6b7b}.settings-kpi strong{font-size:.95rem;color:#132030}.settings-kpi-status.settings-kpi-status-success{color:var(--state-success-fg)}.settings-kpi-status.settings-kpi-status-danger{color:var(--state-danger-fg)}.settings-form-modern{display:grid;gap:.35rem}.settings-messages-stacked-form{gap:.7rem}.settings-messages-stacked-form .settings-page{background:radial-gradient(circle at top left,rgba(20,119,79,.08),transparent 44%),#fff}.settings-page.settings-page-waitlist,.settings-page.settings-page-messages-secondary,.settings-page.settings-page-finance,.settings-messages-stacked-form .settings-page.settings-page-finance{background:#fff}.settings-page.settings-page-messages-primary,.settings-page.settings-page-finance,.settings-messages-stacked-form .settings-page.settings-page-messages-primary,.settings-messages-stacked-form .settings-page.settings-page-finance{border:none;border-radius:0;background:var(--bg-app);box-shadow:none}.settings-grid-modern{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:.4rem}.settings-grid-modern.single{grid-template-columns:1fr}.settings-panel{margin:0;background:#fff;border:1px solid #e6ebf3;border-radius:14px;padding:.6rem .7rem;box-shadow:0 8px 18px #0f172a0d;display:grid;gap:.22rem}.settings-panel-plain{background:transparent;border:none;border-radius:0;box-shadow:none;padding:0}.settings-panel-head{display:grid;gap:.02rem;margin:0}.settings-panel-head h3{margin:0;font-size:1.02rem;line-height:1.2;color:#0f172a}.settings-panel-head-hero-like h2{margin:0;color:#0f172a}.settings-panel-head .hint{margin:0;line-height:1.3}.settings-panel>.settings-toggle-grid,.settings-panel>.settings-field-grid,.settings-panel>.planning-display-time-grid,.settings-panel>.planning-display-days-grid,.settings-panel>label,.settings-panel>.field-block{margin-top:0}.settings-panel-booking{grid-column:1 / 2}.settings-panel-booking.settings-planning-story-surface{gap:.5rem}.settings-panel-booking.settings-planning-story-surface>.settings-panel-head h3{font-size:1.5rem;line-height:1.2}.settings-planning-qr-section{margin-top:1rem}.settings-panel-full{grid-column:1 / -1}.settings-planning-qr-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-items:start;width:100%;min-width:0}.settings-planning-qr-footer>.settings-panel{grid-column:auto;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.settings-planning-qr-footer>.settings-panel-booking-qr,.settings-planning-qr-footer>.settings-panel-portal-qr{grid-column:auto}.settings-panel-reschedule{grid-column:2 / 3}.settings-panel-waitlist{grid-column:1 / 2}.settings-panel-waitlist-qr{grid-column:1 / -1}.settings-panel-booking-qr{grid-column:1 / 2}.settings-panel-portal-qr{grid-column:2 / 3}.settings-panel-cabinet-members,.settings-panel-cabinet-requests{grid-column:1 / -1}.settings-panel-slots{grid-column:2 / 3}.cabinet-member-list,.cabinet-request-list{display:grid;gap:.65rem}.cabinet-member-row,.cabinet-request-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem .9rem;border:1px solid var(--border-default);border-radius:12px;background:color-mix(in srgb,var(--bg-surface) 92%,var(--bg-app))}.cabinet-member-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.cabinet-status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:108px;padding:.35rem .65rem;border-radius:999px;font-size:.8rem;font-weight:700;background:var(--state-review-bg);color:var(--state-review-fg)}.cabinet-status-badge.status-accepted{background:var(--state-success-bg);color:var(--state-success-fg)}.cabinet-status-badge.status-rejected,.cabinet-status-badge.status-cancelled{background:var(--state-danger-bg);color:var(--state-danger-fg)}.settings-panel-messages-automation,.settings-panel-messages-templates{grid-column:1 / -1}.message-automation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.message-automation-block{border:1px solid #dbe6f0;border-radius:12px;padding:.65rem .7rem;background:#f8fbff;display:grid;gap:.4rem}.message-automation-block-plain{border:none;border-radius:0;padding:0;background:transparent}.message-automation-block h4{margin:0;font-size:.95rem;color:#111827}.settings-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.settings-toggle{display:flex;align-items:center;gap:.55rem;border:1px solid #dbe6f0;border-radius:12px;padding:.6rem .7rem;background:#f8fbff;font-weight:600}.settings-toggle input{width:18px;height:18px;margin:0}.settings-toggle span{color:#1f2937}.settings-inline-field{display:grid;gap:.35rem;border:1px solid #dbe6f0;border-radius:12px;padding:.48rem .62rem .52rem;background:#fcfdff}.settings-message-pair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .65rem;margin:0 0 .2rem}.settings-message-pair-grid>label{background:#fcfdff;border:1px solid #e7edf5;border-radius:12px;padding:.48rem .62rem .52rem}.settings-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .65rem}.settings-planning-groups{display:grid;gap:.7rem}.settings-planning-summary-card{display:grid;gap:.14rem;padding:.56rem .68rem;border:1px solid var(--border-subtle);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--state-info-bg) 40%,var(--bg-surface)),color-mix(in srgb,var(--bg-surface) 92%,var(--bg-app)))}.settings-planning-summary-card p{margin:0;color:var(--text-primary);line-height:1.22}.settings-planning-storyboard{display:grid;gap:.42rem}.settings-planning-story-surface{border-color:color-mix(in srgb,var(--state-info-fg) 10%,var(--border-default));background:linear-gradient(180deg,color-mix(in srgb,var(--state-info-bg) 68%,var(--bg-surface)),color-mix(in srgb,var(--state-info-bg) 42%,var(--bg-app)))}.settings-planning-story-card{display:grid;gap:.04rem;padding:.54rem .66rem;border:1px solid color-mix(in srgb,var(--state-info-fg) 10%,var(--border-default));border-radius:18px;background:color-mix(in srgb,var(--bg-elevated) 92%,var(--state-info-bg));box-shadow:var(--card-shadow)}.settings-planning-story-head{display:grid;gap:0;margin:0 0 .14rem}.settings-planning-story-head h4{margin:0;color:var(--text-primary);font-size:.92rem;line-height:1.05}.settings-planning-story-head .hint{margin:0;font-size:.82rem;line-height:1.15}.settings-planning-sentence-list{display:grid;gap:.22rem}.settings-planning-sentence{display:flex;flex-wrap:wrap;align-items:center;column-gap:.26rem;row-gap:.1rem;color:var(--text-primary);line-height:1.16;font-size:.95rem}.settings-planning-status-dot{width:10px;height:10px;border-radius:999px;flex:0 0 10px;background:var(--state-warning-fg);box-shadow:0 0 0 3px color-mix(in srgb,var(--state-warning-bg) 72%,transparent)}.settings-planning-status-dot.is-on{background:var(--state-success-fg);box-shadow:0 0 0 3px color-mix(in srgb,var(--state-success-bg) 72%,transparent)}.settings-planning-status-dot.is-off{background:var(--state-danger-fg);box-shadow:0 0 0 3px color-mix(in srgb,var(--state-danger-bg) 72%,transparent)}.settings-inline-control{height:34px;min-width:0;padding:0 .48rem;border:none;border-radius:14px;background:color-mix(in srgb,var(--state-info-bg) 72%,var(--bg-elevated));color:var(--input-fg);box-sizing:border-box;font:inherit;font-variant-numeric:tabular-nums;box-shadow:inset 0 1px color-mix(in srgb,var(--bg-surface) 88%,transparent),0 1px 2px color-mix(in srgb,var(--state-info-fg) 8%,transparent)}.settings-inline-control:hover{background:color-mix(in srgb,var(--state-info-bg) 58%,var(--bg-elevated))}.settings-inline-control-xs{width:56px;text-align:center}.settings-inline-control-md{min-width:96px}.settings-inline-control-lg{min-width:148px}.settings-inline-control-date{min-width:134px}.settings-inline-control:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--input-focus) 45%,transparent),inset 0 1px color-mix(in srgb,var(--bg-surface) 88%,transparent),0 1px 2px color-mix(in srgb,var(--state-info-fg) 10%,transparent)}.settings-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}.settings-planning-group{display:grid;gap:.55rem;padding:.72rem;border:1px solid var(--border-subtle);border-radius:16px;background:color-mix(in srgb,var(--bg-surface) 88%,var(--bg-app))}.settings-planning-group-head{display:grid;gap:.12rem}.settings-planning-group-head h4{margin:0;font-size:.95rem;line-height:1.25;color:var(--text-primary)}.settings-planning-group-head .hint{margin:0}.settings-planning-group-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-planning-composite-field{display:grid;gap:.6rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;padding:.48rem .62rem .52rem}.settings-planning-composite-field>label{margin:0}.settings-toggle-compact{background:color-mix(in srgb,var(--bg-surface) 86%,var(--bg-app))}.settings-field-grid-two-col-inline{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .65rem}.settings-field-grid-full{grid-column:1 / -1}.settings-field-grid>label{background:#fcfdff;border:1px solid #e7edf5;border-radius:12px;padding:.48rem .62rem .52rem}.settings-field-grid-two-col-inline>label{background:#fcfdff;border:1px solid #e7edf5;border-radius:12px;padding:.48rem .62rem .52rem}.profile-settings-page .section-title{margin-bottom:.35rem}.profile-settings-form{gap:.3rem;margin-bottom:.5rem}.profile-settings-layout{align-items:start;gap:.5rem;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.profile-settings-layout>.settings-panel-full{grid-column:1 / -1}.settings-check-grid{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-check-grid .settings-toggle{margin:0}.settings-check-grid-stacked{grid-template-columns:1fr}.profile-settings-layout .profile-settings-grid>label>input,.profile-settings-layout .profile-settings-grid>label>select,.profile-settings-layout .profile-settings-grid>label>textarea{width:100%;min-width:0;box-sizing:border-box}.profile-settings-cabinet{display:grid;gap:.7rem}.profile-settings-two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.profile-settings-subsection{display:grid;gap:.5rem}.profile-settings-panel{gap:.3rem}.profile-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-settings-bio-field{grid-column:1 / -1}.profile-settings-bio-field textarea{min-height:110px;resize:vertical}.profile-settings-info-field{margin-top:0}.profile-settings-page .info-quill .ql-container,.settings-page .info-quill .ql-container{height:auto}.profile-public-link{margin:.35rem 0 .1rem}.settings-qr-layout{display:grid;grid-template-columns:1fr;gap:.75rem;align-items:start;min-width:0}.settings-qr-preview-panel{display:grid;gap:.45rem;min-width:0}.settings-qr-preview{min-height:212px;border:1px solid var(--border-default);border-radius:18px;background:var(--bg-surface);display:grid;place-items:center;padding:.75rem;box-shadow:var(--shadow-1);width:100%;min-width:0;overflow:hidden;box-sizing:border-box}.settings-qr-preview>*{width:min(calc(100% - 24px),196px)!important;max-width:min(calc(100% - 24px),196px)!important;height:auto!important}.settings-qr-preview canvas,.settings-qr-preview svg{display:block;width:min(calc(100% - 24px),196px)!important;max-width:min(calc(100% - 24px),196px)!important;height:auto!important}.settings-qr-link{margin:0;font-size:.9rem;color:var(--text-secondary);word-break:break-all}.settings-qr-controls{display:grid;gap:.7rem;min-width:0}.settings-qr-field{display:grid;gap:.35rem;padding:.65rem .75rem;border:1px solid var(--border-subtle);border-radius:14px;background:color-mix(in srgb,var(--bg-surface) 82%,var(--bg-elevated) 18%);min-width:0;overflow:hidden;box-sizing:border-box}.settings-qr-field input[type=text],.settings-qr-field input[type=file]{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.settings-qr-color-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:.55rem;align-items:center}.settings-qr-color-row input[type=color]{width:56px;height:44px;padding:.2rem;border-radius:12px;border:1px solid var(--border-default);background:var(--bg-elevated)}.settings-qr-logo-name,.settings-qr-error{margin:0;font-size:.9rem}.settings-qr-logo-name{color:var(--text-secondary)}.settings-qr-error{color:var(--state-danger-fg)}.settings-qr-actions{display:flex;flex-wrap:wrap;gap:.55rem}.planning-display-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.planning-display-time-grid>label{background:#fcfdff;border:1px solid #e7edf5;border-radius:12px;padding:.48rem .62rem .52rem}.planning-display-days-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.35rem}.planning-display-day-option{display:flex;align-items:center;gap:.55rem;border:1px solid #dbe6f0;border-radius:12px;padding:.42rem .55rem;background:#f8fbff;font-weight:600}.planning-display-day-option input{margin:0;width:16px;height:16px}.booking-horizon-rolling-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;background:#fcfdff;border:1px solid #e7edf5;border-radius:12px;padding:.48rem .62rem .52rem}.booking-horizon-rolling-fields>label{margin:0;padding:0;border:none;background:transparent}.booking-horizon-rolling-fields>.hint{grid-column:1 / -1;margin:0}.message-settings-list{display:grid;gap:.45rem}.message-settings-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;border:1px solid #dbe6f0;border-radius:12px;padding:.6rem .7rem;min-height:72px;background:#f8fbff}.message-settings-item-plain{border:none;border-radius:0;padding:0;min-height:auto;background:transparent}.message-settings-copy{display:grid;align-content:center;gap:.15rem}.message-settings-item-title{font-weight:700;color:#1f2937}.message-settings-item input{width:18px;height:18px;margin-top:0}.message-settings-note{margin:.05rem 0 .1rem}.message-settings-subject{display:grid;gap:.32rem}.message-template-list{display:grid;gap:.6rem}.message-template-card{border:1px solid #dbe6f0;border-radius:12px;padding:.65rem .7rem;background:#f8fbff;display:grid;gap:.45rem}.message-template-head{display:grid;gap:.1rem}.message-template-head h4{margin:0;font-size:.95rem;color:#111827}.message-template-head .hint{margin:0}.message-template-textarea{width:100%;min-height:120px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.84rem;line-height:1.45}.message-template-placeholders{margin:.12rem 0 0;display:grid;gap:.32rem}.message-template-placeholders-title{margin:0}.message-template-placeholders code{white-space:pre-wrap;word-break:break-word}.message-template-variables-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:.4rem}.message-template-variable-item{border:1px solid #dbe6f0;border-radius:10px;padding:.42rem .5rem;background:#fff;display:grid;gap:.15rem}.message-template-variable-item code{width:fit-content;max-width:100%;font-size:.76rem;font-weight:700;background:#eef4ff;color:#1e293b;border-radius:8px;padding:.1rem .35rem}.message-template-variable-label{font-size:.78rem;color:#334155;font-weight:600}.message-template-variable-example{font-size:.76rem;color:#475569;line-height:1.4;word-break:break-word}.message-reminder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.42rem}.message-reminder-option{display:flex;align-items:center;gap:.55rem;border:1px solid #dbe6f0;border-radius:12px;padding:.48rem .58rem;background:#f8fbff;font-weight:700;color:#1f2937}.message-reminder-option input{margin:0;width:16px;height:16px}.settings-submit-bar{position:sticky;bottom:12px;z-index:12;border:1px solid #dbe6f0;border-radius:14px;background:#fafdfff0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.4rem;display:flex;justify-content:flex-end}.settings-submit-bar button{padding:.72rem 1.3rem;border-radius:11px}.app.public .hint{color:var(--muted)}label{display:grid;gap:.25rem;font-weight:600}.field-block{display:grid;gap:.35rem}.field-label{font-weight:600;color:#1f2937}.slots{display:grid;gap:.5rem;margin-top:1rem}.slot{padding:.6rem;border-radius:8px;background:#eef2ff;border:1px solid transparent;text-align:left;color:#2f3a5c}.slot.selected{border-color:#31457a;background:#dfe6ff}.week-list .slot:hover,.week-list .slot:focus-visible,.slots-row .slot:hover,.slots-row .slot:focus-visible{color:#fff}.week-list .link:hover,.week-list .link:focus-visible,.slots-row .link:hover,.slots-row .link:focus-visible{background:none;color:#3750a6}.booking{margin-top:1rem;display:grid;gap:.5rem}.picker{display:grid;gap:.5rem;margin-top:.5rem}.picker label{display:grid;gap:.3rem;font-size:.9rem}textarea{min-height:90px}.list{margin-top:1rem;display:grid;gap:.5rem}.list-item{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.6rem;border-radius:10px;background:#f8f7f4}.list-item.clickable{cursor:pointer}.list-item.clickable:hover{background:#f1efeb}.contacts-table{margin-top:1rem;display:grid;gap:.5rem;overflow-x:auto}.contacts-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.contacts-header,.contacts-row{display:grid;grid-template-columns:1.4fr 1.1fr 1.1fr 1.1fr 1.6fr 1.1fr;gap:1rem;align-items:center;min-width:760px}.contacts-header{padding:.4rem .6rem;font-weight:600;color:#4b5563}.contacts-row{padding:.6rem;border-radius:10px;background:#f8f7f4}.contacts-actions{display:flex;gap:.4rem;justify-content:flex-end}.professionals-header,.professionals-row{grid-template-columns:1.25fr 1fr .9fr 1.15fr 1.25fr 1.5fr 1fr;min-width:1020px}.professionals-patients-cell{min-width:0}.professionals-patients-list{display:grid;gap:.15rem}.professionals-patients-list>span{display:block;white-space:normal;overflow:visible;text-overflow:clip}.professional-patient-link{border:none;background:transparent;color:#1f2937;font:inherit;font-weight:400;padding:0;text-align:left;cursor:pointer;display:block;width:100%;white-space:normal;overflow:visible;text-overflow:clip}.professional-patient-link:hover,.professional-patient-link:focus-visible{background:transparent;color:inherit;text-decoration:underline}.button-item{border:none;width:100%;text-align:left;cursor:pointer;background:transparent;color:inherit}.waitlist-table .materials-table-header,.waitlist-table .waitlist-item{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1.05fr) minmax(0,.82fr);gap:1rem;align-items:center}.waitlist-page{display:grid;gap:1rem}.waitlist-share-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface) 86%,var(--bg-app))}.waitlist-share-bar-copy{display:grid;gap:.2rem}.waitlist-share-bar-label{color:var(--text-secondary);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.waitlist-share-bar-actions{display:flex;flex-wrap:wrap;gap:.6rem}.waitlist-toolbar{margin-top:-.1rem}.waitlist-review-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface) 86%,var(--bg-app))}.waitlist-review-banner-main{display:grid;gap:.45rem}.waitlist-review-drawer{margin-top:-.35rem;padding:1rem;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--card-shadow)}@media(max-width:900px){.waitlist-share-bar,.waitlist-review-banner{grid-auto-flow:row;display:grid}.waitlist-share-bar-actions{width:100%}.waitlist-share-bar-actions>button{flex:1 1 220px}}.waitlist-table .materials-table-header>span,.waitlist-table .waitlist-item>span,.waitlist-table .waitlist-item>div{min-width:0}.waitlist-motifs-preview,.waitlist-note-preview{text-align:left;font-size:.85rem;white-space:pre-wrap}.waitlist-note-preview{display:block;width:100%;margin:0;line-height:1.3;overflow-wrap:anywhere;word-break:break-word}.waitlist-cell-stack{display:grid;gap:.1rem;align-content:center}.waitlist-secondary-text{color:#6b7280;font-size:.78rem;line-height:1.25}.waitlist-review-panel{display:grid;gap:.9rem;margin:0 0 1rem;padding:1rem;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--card-shadow)}.waitlist-review-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.waitlist-review-title{margin:0;font-weight:700;color:var(--text-primary)}.waitlist-review-copy{margin:.2rem 0 0;max-width:72ch}.waitlist-review-reason{margin:-.2rem 0 0;color:var(--text-secondary);font-size:.88rem}.waitlist-review-stats,.waitlist-inline-badges,.waitlist-review-badges{display:flex;flex-wrap:wrap;gap:.4rem}.waitlist-review-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.waitlist-review-stats .waitlist-review-badge{justify-content:center;width:100%;box-sizing:border-box}.waitlist-inline-badges{margin-top:.2rem}.waitlist-review-badge{display:inline-flex;align-items:center;min-height:28px;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700;line-height:1.1;border:1px solid transparent}.waitlist-review-badge.success{background:var(--state-success-bg);color:var(--state-success-fg)}.waitlist-review-badge.warning{background:var(--state-warning-bg);color:var(--state-warning-fg)}.waitlist-review-badge.review{background:var(--state-review-bg);color:var(--state-review-fg)}.waitlist-inline-badge{min-height:24px;padding:.12rem .45rem;font-size:.72rem}.waitlist-review-list{display:grid;gap:.75rem}.waitlist-review-card{display:grid;gap:.7rem;padding:.95rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface) 62%,var(--card-bg))}.waitlist-review-card-head,.waitlist-review-card-title,.waitlist-review-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.waitlist-review-card-head{justify-content:space-between}.waitlist-review-card-title strong{font-size:1rem}.waitlist-review-actions{justify-content:flex-start}.waitlist-review-actions>button{width:auto;flex:0 0 auto}.waitlist-empty-state{margin:.85rem 0 0}.waitlist-related-block{align-items:flex-start}.waitlist-related-list{display:grid;gap:.45rem}.waitlist-related-item{justify-content:space-between;gap:.75rem;text-align:left}.waitlist-table .waitlist-header span:nth-child(5),.waitlist-table .waitlist-header span:nth-child(6){text-align:center;justify-self:stretch}.waitlist-table .waitlist-item>:nth-child(5),.waitlist-table .waitlist-item>:nth-child(6){justify-self:stretch}.waitlist-table .waitlist-item{align-items:center;position:relative;z-index:0}.waitlist-table .waitlist-item:hover,.waitlist-table .waitlist-item:focus-within{z-index:8}@media(min-width:901px){.waitlist-table{--waitlist-status-actions-shift: .72rem}.waitlist-table .waitlist-header span:nth-child(5),.waitlist-table .waitlist-header span:nth-child(6),.waitlist-table .waitlist-item>:nth-child(5),.waitlist-table .waitlist-item>:nth-child(6){transform:translate(var(--waitlist-status-actions-shift))}}.waitlist-item .row{justify-content:center;width:100%}.waitlist-item .row .waitlist-action-emoji{position:relative;width:2.4rem;min-width:2.4rem;height:2.4rem;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1}.waitlist-patient-name{display:inline-flex;align-items:center;gap:.28rem;min-width:0}.waitlist-priority-indicator{font-size:.95em;line-height:1}.waitlist-item .row .waitlist-priority-toggle{filter:grayscale(1);opacity:.62}.waitlist-item .row .waitlist-priority-toggle.is-active{filter:none;opacity:1}.waitlist-item .row .waitlist-action-emoji:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%,2px);width:max-content;max-width:min(70vw,220px);padding:.34rem .46rem;border-radius:8px;background:#0f172a;color:#fff;font-size:.74rem;line-height:1.2;white-space:normal;box-shadow:0 8px 18px #0f172a3d;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .06s ease,transform .06s ease;z-index:60}.waitlist-item .row .waitlist-action-emoji:hover:after,.waitlist-item .row .waitlist-action-emoji:focus-visible:after{opacity:1;visibility:visible;transform:translate(-50%)}.table-header{display:grid;grid-template-columns:2fr 1fr 2fr;gap:1rem;padding:.4rem .6rem;font-weight:600;color:#4b5563}.button-item{display:grid;grid-template-columns:2fr 1fr 2fr;gap:1rem;align-items:center}.inline{display:inline-flex;align-items:center;gap:.4rem}.calendar-nav{margin:.5rem 0 1rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));gap:.75rem;padding-bottom:.5rem;overflow-x:auto}.calendar-col{background:#fff;border:1px solid #eef1f6;border-radius:12px;padding:.75rem;display:grid;gap:.6rem}.calendar-col.today{border-color:#7c8cff;box-shadow:0 0 0 2px #7c8cff33}.calendar-col.today .day-name,.calendar-col.today .day-date{color:#2f3a5c;font-weight:600}.calendar-col-head{display:grid;gap:.2rem}.calendar-events{display:grid;gap:.5rem}.event{background:#eef2ff;border-radius:10px;padding:.5rem;display:grid;gap:.2rem;text-align:left;border:none;cursor:pointer;height:110px;overflow:hidden}.event.block{background:#ffe9e9}.event-name{font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event .muted{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.planning-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.planning-actions{display:flex;align-items:center;gap:.75rem}.search-box{display:flex;align-items:center;gap:.5rem;background:var(--bg-surface);border-radius:999px;padding:.35rem .7rem;border:1px solid var(--border-default);min-height:38px}.search-box.compact{padding:.35rem .8rem;min-height:42px}.search-box input{border:none;background:transparent;outline:none;min-width:180px;color:var(--text-primary)}.search-box input::placeholder{color:var(--text-secondary)}.search-box.compact input,.search-box.planning-search input{min-width:240px}.button-like{background:var(--state-review-bg);color:var(--state-review-fg);border:1px solid color-mix(in srgb,var(--state-review-fg) 22%,transparent);padding:.45rem .8rem;border-radius:12px;font-size:.95rem}.search-icon{font-size:.95rem;opacity:.6}.search-table{width:100%;border-collapse:collapse;background:var(--bg-elevated);border-radius:12px;overflow:hidden}.search-table th,.search-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-subtle)}.search-table tbody tr{cursor:pointer}.search-table tbody tr:hover{background:var(--bg-surface)}.planning-calendar{background:var(--bg-surface);color:inherit;border-radius:16px;padding:1rem;border:1px solid var(--border-default)}.planning-calendar .event{background:var(--state-info-bg);color:var(--state-info-fg)}.planning-calendar .event.block{background:var(--state-danger-bg)}.planning-footer-summary{margin-top:0;padding:.35rem .75rem;border:1px solid var(--border-default);border-radius:12px;background:var(--bg-surface);display:flex;align-items:center;justify-content:space-between;gap:.7rem}.planning-footer-bookable-link{border:none;background:transparent;padding:0;min-height:0;color:var(--primary);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:.16em}.planning-footer-bookable-link:hover,.planning-footer-bookable-link:focus-visible{color:var(--primary-hover)}.planning-footer-count{font-weight:700;color:var(--text-primary);display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap}.planning-footer-count-separator{color:var(--text-muted)}.planning-trash-page{display:grid;gap:.85rem}.planning-trash-header h3{margin:0}.planning-trash-header .muted{margin:.2rem 0 0}.planning-trash-table-wrap{overflow-x:auto}.planning-trash-table tbody tr{cursor:default}.planning-trash-table tbody tr:hover{background:transparent}.planning-trash-actions{display:grid;grid-template-columns:repeat(2,minmax(11rem,1fr));gap:.45rem}.planning-trash-actions>button{width:100%;justify-content:center}.availability-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.availability-actions{display:flex;align-items:center;gap:.5rem}.availability-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:start}.availability-board{background:#f8f9ff;border-radius:16px;padding:1rem;border:1px solid #e8ecf6;display:grid;gap:.75rem}.planning-board{gap:.14rem}.availability-board-header{background:#eef1f7;border-radius:12px;padding:0;display:flex;align-items:center}.availability-board-header .week-nav{margin-top:0;padding:0 .45rem;width:100%;align-items:center;justify-content:space-between;height:7px;line-height:30px;padding-top:15px}.availability-board-header .week-nav button{padding:.25rem .5rem;line-height:30px;height:30px;display:inline-flex;align-items:center}.availability-board-header .week-nav span{font-size:.9rem;line-height:30px;padding:0 .25rem;display:inline-flex;align-items:center;height:30px}.availability-board-header .week-nav>*{align-self:center}.availability-days{display:grid;grid-template-columns:80px repeat(7,minmax(120px,1fr));align-items:center;font-weight:600;color:#2f3a5c;font-size:.9rem}.availability-days.planning-days-with-tasks{align-items:stretch;row-gap:.04rem}.availability-days.planning-days-with-tasks .availability-day-head{padding:.24rem .2rem .08rem}.availability-time-head{text-align:right;padding-right:.5rem;font-size:.8rem;color:#6b7280}.availability-time-head-nav{padding-right:0;display:flex;align-items:center;justify-content:center}.availability-day-head{text-align:center;padding:.4rem .2rem;text-transform:capitalize}.availability-day-head-nav{display:flex;align-items:center;justify-content:center;gap:.4rem}.availability-day-head-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability-day-head.today .availability-day-head-label{display:inline-block;padding:.12rem .5rem;border-radius:999px;border:1px solid #b8dac9;background:#e9f6ef;color:#0b3d2e;font-weight:700}.planning-inline-tasks-time-head{min-height:20px}.planning-inline-task-cell{min-height:20px;min-width:0;padding:0 .16rem .04rem;display:flex;align-items:flex-start;justify-content:center;position:relative}.content-shell.content-shell-planning .planning-board .availability-days.planning-days-with-tasks{row-gap:0}.content-shell.content-shell-planning .planning-board .availability-time-head{min-height:28px;padding:0 .5rem 0 0;display:flex;align-items:center;justify-content:flex-end}.content-shell.content-shell-planning .planning-board .availability-day-head{min-height:28px;padding:0 .2rem;display:flex;align-items:center;justify-content:center;line-height:1.15}.content-shell.content-shell-planning .planning-board .planning-inline-tasks-time-head,.content-shell.content-shell-planning .planning-board .planning-inline-task-cell{min-height:14px}.content-shell.content-shell-planning .planning-board .planning-inline-task-cell{padding-bottom:0}.planning-inline-cell-stack{width:100%;min-width:0;display:grid;gap:.18rem}.planning-inline-public-holiday-list{display:grid;min-width:0;gap:.18rem}.planning-inline-public-holiday-pill{width:100%;max-width:100%;min-height:20px;min-width:0;box-sizing:border-box;border:1px solid #d5dcee;background:#eef4ff;border-radius:8px;color:#214c9c;padding:.16rem .3rem}.planning-inline-public-holiday-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:.71rem;font-weight:700}.planning-inline-holiday-list{display:grid;min-width:0;gap:.18rem}.planning-inline-holiday-pill{width:100%;max-width:100%;min-height:20px;min-width:0;box-sizing:border-box;border:1px solid #d7dfe9;background:#fff8e5;border-radius:8px;color:#6a4b00;padding:.16rem .3rem;display:grid;gap:.16rem}.planning-inline-holiday-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:.71rem;font-weight:700}.planning-inline-holiday-zones{display:flex;flex-wrap:wrap;gap:.18rem}.planning-inline-holiday-zone{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;border-radius:999px;background:#6a4b001f;color:#6a4b00;font-size:.64rem;font-weight:800;line-height:1;padding:.16rem .34rem}.planning-inline-task-single{width:100%;min-height:20px;border:1px solid #c7d6ea;background:#fff;border-radius:8px;color:#1f2937;padding:.12rem .24rem;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-content:flex-start;gap:.3rem}.planning-inline-task-single input{margin:0}.planning-inline-task-single-open{border:none;background:transparent;padding:0;margin:0;color:#1f2937;min-width:0;width:100%;display:inline-flex;align-items:center;justify-content:flex-start;gap:.3rem;cursor:pointer}.planning-inline-task-single-title{display:block;flex:1 1 auto;color:#1f2937;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:.74rem;font-weight:700}.planning-inline-task-cell .tasks-category-badge{flex:0 0 auto;font-size:.66rem;padding:.1rem .34rem}.planning-inline-task-accordion{width:100%}.planning-inline-task-accordion>summary{list-style:none;cursor:pointer;min-height:20px;border:1px solid #c7d6ea;background:#fff;border-radius:8px;color:#334155;font-size:.74rem;font-weight:700;padding:.2rem .35rem;text-align:center}.planning-inline-task-accordion>summary::-webkit-details-marker{display:none}.planning-inline-task-accordion[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.planning-inline-task-list{border:1px solid #c7d6ea;border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;background:#fff;padding:.25rem .3rem .3rem;display:grid;gap:.2rem}.planning-inline-task-list>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.25rem}.planning-inline-task-list input{margin:0}.planning-inline-task-open{border:none;background:transparent;padding:0;min-width:0;text-align:left;color:#1f2937;font-size:.72rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planning-inline-task-open:hover,.planning-inline-task-open:focus-visible,.planning-inline-task-single-open:hover,.planning-inline-task-single-open:focus-visible{background:transparent;color:#1f2937}.header-nav-button{width:30px;height:30px;min-width:30px;border-radius:9px;border:1px solid #dbe3f4;background:#f8fbff;color:#334155;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;line-height:1;padding:0}.availability-scroll{max-height:620px;overflow:auto;border-radius:12px;border:1px solid #e6eaf5;background:#fff}.availability-scroll.planning-scroll{max-height:none;overflow:visible;border:none;border-radius:0;background:transparent}.availability-grid{--slot-height: 18px;--slot-count: 96;display:grid;grid-template-columns:80px repeat(7,minmax(120px,1fr));align-items:start;position:relative}.availability-time-col{display:flex;flex-direction:column;position:sticky;left:0;background:#fff;border-right:1px solid #eef1f6;z-index:2}.availability-grid.planning-grid .availability-time-col{position:static}.availability-time-label{height:calc(var(--slot-height) * 4);padding-right:.5rem;text-align:right;font-size:.75rem;color:#6b7280;border-bottom:1px solid #f0f2f8;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:flex-end;padding-top:2px}.availability-day{position:relative;min-height:calc(var(--slot-height) * var(--slot-count));border-left:1px solid #eef1f6;background-image:linear-gradient(to bottom,rgba(148,163,184,.18) 1px,transparent 1px),linear-gradient(to bottom,rgba(71,85,105,.4) 1px,transparent 1px);background-size:100% var(--slot-height),100% calc(var(--slot-height) * 4);background-position:0 0,0 0}.planning-board .availability-day{overflow:hidden}.availability-day-slots{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:repeat(var(--slot-count),var(--slot-height))}.availability-now-indicator{position:absolute;left:0;right:0;height:2px;background:var(--state-danger-fg);pointer-events:none;z-index:4;box-shadow:0 0 0 1px color-mix(in srgb,var(--state-danger-bg) 72%,transparent)}.availability-now-indicator:before{content:"";position:absolute;left:6px;top:50%;width:8px;height:8px;border-radius:999px;background:var(--state-danger-fg);transform:translateY(-50%)}.availability-slot{cursor:crosshair}.availability-block{position:absolute;left:6px;right:6px;width:auto;box-sizing:border-box;background:transparent;border:none;color:#0c4a6e;border-radius:10px;padding:.35rem .4rem .3rem;font-size:.75rem;display:grid;gap:.2rem;align-content:start;z-index:1;box-shadow:none;overflow:hidden}.availability-block.hide-meta{padding:0}.availability-block:before{content:"";position:absolute;left:0;top:0;bottom:0;width:75%;background:#e0f2fe99;border:1px solid #7dd3fc;border-radius:10px;box-sizing:border-box;box-shadow:0 8px 20px #0f172a14;pointer-events:none}.planning-board .availability-block{left:2px;right:2px}.planning-board .availability-block:before{left:0;right:0;width:auto}.availability-block-content{position:relative;width:90%;z-index:1}.availability-block.hide-meta .availability-block-content{display:none}.planning-board .availability-block-content{width:100%}.availability-badges{display:flex;flex-direction:column;gap:4px;align-items:flex-start;margin-top:2px;max-width:100%;position:relative;pointer-events:none}.planning-board .availability-badges{flex-direction:row;flex-wrap:wrap;gap:3px}.availability-block.badges-outside{overflow:visible}.availability-badges.outside{position:absolute;left:6px;top:calc(var(--slot-height) * -2.5)}.availability-block.badges-outside strong{position:absolute;left:6px;top:calc(var(--slot-height) * -3.25);white-space:nowrap}.availability-badge{font-size:.7rem;line-height:1;font-weight:600;text-transform:uppercase;color:#6b7280;background:#eef2f7;border:1px solid #e2e8f0;border-radius:999px;padding:2px 6px;max-width:100%;display:inline-flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availability-badge-more{background:#f1f5f9;color:#64748b}.availability-appointment{--appt-font-scale: 1;--appt-time-scale: 1;position:absolute;left:10px;right:10px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0b3d2e;color:#fff;border:1px solid rgba(255,255,255,.85);border-radius:10px;padding:3px 5px 4px;min-height:0;font-size:calc(var(--appt-font-size, .75rem) * var(--appt-font-scale));display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:.25rem;z-index:3;text-align:left;cursor:pointer;box-shadow:0 10px 22px #0f172a2e;box-sizing:border-box;line-height:1.1;overflow:hidden}.availability-appointment.ghost{opacity:.4;background:#0b3d2e;pointer-events:none;border:1px dashed rgba(255,255,255,.6);box-shadow:none}.availability-appointment strong,.availability-appointment span{line-height:1.1;width:auto;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availability-appointment .patient-name-link.patient-name-link-inline{display:inline-block;width:auto;max-width:100%}.availability-appointment .availability-appointment-patient-links{display:inline;width:auto;max-width:100%;min-width:0}.availability-appointment strong{font-size:calc(var(--appt-time-size, .72rem) * var(--appt-time-scale));font-weight:600}.availability-appointment.compact{padding:2px 4px;gap:.1rem}.availability-appointment.tight{padding:1px 3px;gap:.15rem}.availability-appointment.tight.single-line{padding:2px 4px}.availability-appointment.tight.single-line strong{display:block;width:100%;font-size:calc(var(--appt-inline-size, var(--appt-time-size, .72rem)) * var(--appt-time-scale));line-height:1.08}.availability-appointment-name-line,.availability-appointment-patient,.availability-appointment-patient-links,.availability-appointment .patient-name-link.patient-name-link-inline{font-size:calc(var(--appt-name-size, var(--appt-font-size, .75rem)) * var(--appt-font-scale));font-weight:600}.availability-appointment.single-line .availability-appointment-patient-links,.availability-appointment.single-line .patient-name-link.patient-name-link-inline,.availability-appointment.single-line .availability-appointment-name-inline,.availability-appointment.single-line .availability-appointment-meta-inline,.availability-appointment.single-line .availability-appointment-note-inline{display:inline;width:auto;max-width:100%;min-width:0;font-size:calc(var(--appt-inline-name-size, var(--appt-name-size, .75rem)) * var(--appt-font-scale));font-weight:700}.availability-appointment.single-line .availability-appointment-meta-inline,.availability-appointment.single-line .availability-appointment-note-inline{font-size:calc(var(--appt-inline-size, var(--appt-time-size, .72rem)) * var(--appt-time-scale));font-weight:400}.availability-appointment.single-line{align-items:center}.availability-appointment.single-line .cancelled-text,.availability-appointment.single-line strong{width:100%}.availability-appointment-participant-cancelled{text-decoration:line-through;text-decoration-thickness:1.5px}.availability-appointment+.availability-appointment{box-shadow:0 10px 22px #0f172a2e}.availability-appointment.block{background:#7f1d1d}.availability-appointment.cancelled{background:#f8d7da!important;color:#7f1d1d!important}.cancelled-text{text-decoration:line-through}.badge.cancelled{display:inline-flex;align-items:center;margin-left:.6rem;font-size:.75rem;font-weight:600;color:#7f1d1d;background:#fde8e8;border:1px solid #f5c2c7;border-radius:999px;padding:2px 8px}.type-badge.cancelled{background:#f8d7da!important;color:#7f1d1d!important}.month-view{background:#f8f9ff;border-radius:16px;border:1px solid #e8ecf6;padding:1rem}.month-grid{display:grid;gap:.5rem}.month-head{font-weight:600;font-size:.8rem;text-transform:uppercase;color:#64748b;padding:.4rem .5rem}.month-cell{background:#fff;border-radius:12px;border:1px solid #edf1f7;padding:.5rem;min-height:110px;display:grid;gap:.35rem}.month-cell.muted{opacity:.5}.month-cell-header{font-weight:600;color:#1f2937;font-size:.85rem}.month-chips{display:grid;gap:.3rem}.month-chip{display:inline-flex;align-items:center;padding:.2rem .4rem;border-radius:999px;font-size:.75rem;background:#eef3f8;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-chip.availability{background:#e8f3ff;color:#1f4e79}.month-chip.appointment{background:#e6f2ec;color:#0b3d2e}.month-chip.cancelled{background:#f8d7da;color:#7f1d1d;text-decoration:line-through}.month-more{font-size:.75rem;color:#64748b}.color-picker{display:grid;gap:.5rem}.color-swatches{display:flex;gap:.4rem;flex-wrap:wrap}.color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#0f172a;background:#e2e8f0}.color-swatch.active{border-color:#0f172a}.color-swatch input[type=color]{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer}.color-swatch.color-swatch-add{border-color:#cbd5f5;position:relative;color:#0f172a}.color-swatch.color-swatch-add.active{border-color:#0f172a}.catalog-settings-section{display:grid;gap:1rem;margin-top:1.25rem}.catalog-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.catalog-settings-head h2{margin:0}.catalog-settings-head-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.catalog-settings-head .hint{margin:.25rem 0 0;max-width:56ch}.catalog-count-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.4rem .8rem;border-radius:999px;background:color-mix(in srgb,var(--state-info-bg) 74%,white);color:var(--state-info-fg);font-size:.88rem;font-weight:700;white-space:nowrap}.catalog-toolbar{display:flex;justify-content:flex-start}.catalog-toolbar-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.7rem 1rem;border-radius:12px;font-weight:700}.catalog-modal{width:min(760px,94vw);display:grid;gap:1rem}.catalog-modal-actions{grid-template-columns:repeat(2,minmax(0,max-content));justify-content:end;align-items:center}.catalog-create-card,.catalog-item-card,.catalog-empty-state{border:1px solid var(--border-default);border-radius:18px;background:var(--bg-elevated);box-shadow:var(--shadow-1)}.catalog-create-card{padding:1rem;display:grid;gap:.9rem}.catalog-create-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.catalog-create-head h3{margin:0}.catalog-create-head .hint{margin:.22rem 0 0}.catalog-create-form{display:grid;gap:.9rem}.catalog-form-grid,.catalog-edit-grid{display:grid;gap:.8rem}.catalog-form-grid-locations{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-form-grid-types{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-edit-grid-locations{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-edit-grid-types{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-field{display:grid;gap:.35rem;min-width:0}.catalog-field-full{grid-column:1 / -1}.catalog-field-label{font-size:.83rem;font-weight:700;color:var(--text-secondary)}.catalog-toggle-card{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem .95rem;border:1px solid var(--border-subtle);border-radius:14px;background:color-mix(in srgb,var(--bg-surface) 76%,white);min-width:0}.catalog-toggle-card input{width:18px;height:18px;margin:.15rem 0 0;flex:0 0 auto}.catalog-toggle-copy{display:grid;gap:.18rem}.catalog-color-block{display:grid;gap:.5rem;padding:.85rem .95rem;border:1px solid var(--border-subtle);border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 95%,white),var(--bg-surface))}.catalog-color-copy{display:grid;gap:.14rem}.catalog-color-selection{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;color:var(--text-secondary)}.catalog-create-actions{display:flex;justify-content:flex-end}.catalog-create-actions button{min-width:180px}.catalog-card-list{display:grid;gap:.8rem}.catalog-item-card{padding:.95rem 1rem;display:grid;gap:.95rem}.catalog-item-card.is-editing{border-color:color-mix(in srgb,var(--primary) 28%,var(--border-default));box-shadow:0 12px 28px #0f172a14}.catalog-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.catalog-item-main{display:flex;align-items:flex-start;gap:.8rem;min-width:0}.catalog-item-dot{width:14px;height:14px;border-radius:999px;border:1px solid rgba(15,23,42,.14);margin-top:.32rem;flex:0 0 auto}.catalog-item-copy{display:grid;gap:.2rem;min-width:0}.catalog-item-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.catalog-item-title-row strong{font-size:1rem;color:var(--text-primary)}.catalog-item-subtitle,.catalog-item-note{margin:0;line-height:1.35}.catalog-item-subtitle{color:var(--text-secondary)}.catalog-item-note{color:var(--text-primary)}.catalog-item-note.is-muted{color:var(--text-secondary)}.catalog-item-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.catalog-meta-row{display:flex;flex-wrap:wrap;gap:.45rem}.catalog-meta-pill,.catalog-badge{display:inline-flex;align-items:center;min-height:28px;padding:.28rem .62rem;border-radius:999px;font-size:.85rem;font-weight:700}.catalog-meta-pill{background:color-mix(in srgb,var(--bg-surface) 72%,white);color:var(--text-secondary);border:1px solid var(--border-subtle)}.catalog-badge{background:color-mix(in srgb,var(--state-info-bg) 74%,white);color:var(--state-info-fg)}.catalog-color-inline-field{grid-column:1 / -1}.catalog-color-inline-input{display:inline-flex;align-items:center;gap:.7rem;flex-wrap:wrap}.catalog-color-inline-input input[type=color]{width:56px;height:40px;padding:.2rem;border-radius:12px}.catalog-empty-state{padding:1rem;color:var(--text-secondary)}@media(max-width:1100px){.catalog-form-grid-types,.catalog-edit-grid-types{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.catalog-settings-head,.catalog-item-head{flex-direction:column}.catalog-item-actions,.catalog-create-actions{justify-content:flex-start}.catalog-form-grid-locations,.catalog-edit-grid-locations{grid-template-columns:1fr}}@media(max-width:720px){.catalog-form-grid-types,.catalog-edit-grid-types{grid-template-columns:1fr}.catalog-item-card,.catalog-create-card{padding:.9rem}.catalog-modal-actions{grid-template-columns:1fr}}.type-name{display:inline-flex;align-items:center;gap:.5rem}.type-color{width:14px;height:14px;border-radius:50%;border:1px solid rgba(15,23,42,.2)}.type-color-editor{display:inline-flex;align-items:center;gap:.5rem}.type-row{flex-direction:column;align-items:stretch;gap:.75rem}.type-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem}.type-waitlist-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.type-waitlist-controls select,.type-waitlist-controls input{min-width:160px}.motifs-builder{border:1px solid #e7ecf3;background:#fff}.motifs-builder-head h2{margin-bottom:.25rem}.motifs-builder-top-actions{margin:.55rem 0 .9rem}.motifs-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}.motifs-inline-form-with-order{grid-template-columns:minmax(0,1fr) minmax(110px,130px) auto}.motifs-add-section-form{max-width:760px}.motifs-preview-editor{display:grid;gap:.7rem}.motifs-section-card{border:1px solid #dde6ef;border-radius:14px;background:#fff;padding:.85rem;box-shadow:inset 0 1px #fffc;display:grid;gap:.75rem}.motifs-section-card-ungrouped{border-style:dashed;background:#fff}.motifs-section-card.drag-over,.motifs-group-item.drag-over{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e26}.motifs-section-card.motif-drop-target{border-color:#1d4ed8;box-shadow:0 0 0 2px #2563eb24}.motifs-section-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.motifs-section-head h3{margin:0;font-size:1rem;font-weight:700;color:#1f2937}.motifs-section-main{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.motifs-section-title-input{min-width:180px;flex:1;background:#fff;border:1px solid #e4e9f1;border-radius:10px;padding:.5rem .65rem;font-weight:600}.motifs-section-body{display:grid;gap:.55rem}.motifs-create-in-section{grid-template-columns:minmax(0,1fr) auto;padding:.55rem;border:1px solid #dfe8f1;border-radius:11px;background:#fff}.motifs-group-items{display:grid;gap:.5rem}.motifs-group-item{display:flex;gap:.45rem;align-items:center;border:1px solid #e1e8f1;border-radius:10px;background:#fff;padding:.45rem}.motifs-group-item input{flex:1;min-width:140px}.motifs-question-item{justify-content:space-between}.motifs-question-actions{display:flex;align-items:center;gap:.4rem;margin-left:auto;flex-wrap:wrap}.motifs-actions-menu{position:relative}.motifs-actions-menu>summary{list-style:none;cursor:pointer;border:1px solid #d7e0eb;border-radius:10px;background:#f8fafc;padding:.3rem .55rem;line-height:1;font-weight:700}.motifs-actions-menu>summary::-webkit-details-marker{display:none}.motifs-actions-menu[open]>summary{border-color:#94a3b8;background:#eef2f7}.motifs-actions-menu-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:3;min-width:210px;border:1px solid #d8e2ee;border-radius:10px;background:#fff;box-shadow:0 12px 28px #0f172a24;padding:.4rem;display:grid;gap:.32rem}.motifs-actions-menu-panel button{width:100%;text-align:left}.drag-handle{border:1px solid #d7e0eb;background:#f8fafc;color:#475569;border-radius:10px;padding:.35rem .45rem;line-height:1;cursor:grab;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.motif-handle{flex:0 0 auto}.motifs-collapse-btn{border:1px solid #d7e0eb;background:#f8fafc;color:#334155;border-radius:10px;width:34px;height:34px;line-height:1;padding:0}.waitlist-public-shell{display:grid;gap:.75rem;padding-top:.75rem;background:radial-gradient(1200px 220px at 10% -10%,rgba(34,197,94,.12),transparent 60%),radial-gradient(900px 220px at 90% -20%,rgba(14,165,233,.1),transparent 55%),#f4f7fb}.waitlist-public-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.waitlist-powered-mark{margin-top:.25rem;white-space:nowrap;font-size:.82rem;font-weight:700;color:#0f766e;border:1px solid #bcd7cc;background:#effaf4;border-radius:999px;padding:.35rem .7rem}.waitlist-public-hero{display:grid;gap:.5rem;border:1px solid #dce9f5;box-shadow:0 14px 40px #0f172a14}.waitlist-public-kicker{margin:0;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#0f766e;font-weight:700}.waitlist-public-hero h2{margin:0;font-size:1.55rem;font-family:Fraunces,serif;color:#0f172a}.waitlist-public-lead{margin:0;color:#334155;line-height:1.45}.waitlist-public-badges{display:flex;flex-wrap:wrap;gap:.45rem}.waitlist-practitioners-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:baseline;color:#0f172a}.waitlist-practitioners-row strong{font-size:.88rem;color:#0f766e}.waitlist-practitioners-row span{font-size:.92rem;color:#1f2937}.waitlist-public-intro{border-color:#dce7f6;margin-top:0;background:transparent;border-color:transparent;box-shadow:none;padding-top:0;padding-bottom:0}.waitlist-disabled-card h3{margin:0 0 .35rem}.waitlist-disabled-card .muted{margin:0}.waitlist-public-form{display:grid;gap:.9rem}.waitlist-form-steps{display:flex;flex-wrap:wrap;gap:.45rem}.waitlist-form-step-chip{padding:.25rem .55rem;border-radius:999px;border:1px solid #d2deec;background:#f8fbff;color:#334155;font-size:.78rem;font-weight:600}.waitlist-form-field-legend{margin:0;font-size:.84rem;color:#475569}.waitlist-step-card{display:grid;gap:.65rem;border-color:#dce6f2;box-shadow:0 10px 26px #0f172a0f}.waitlist-step-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.65rem}.waitlist-step-index{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(160deg,#0f766e,#0ea5e9);color:#fff;font-weight:700;font-size:.84rem;box-shadow:inset 0 0 0 1px #fff3}.waitlist-step-head h3{margin:0}.waitlist-step-head .muted{margin:.2rem 0 0}.waitlist-step-card .field-label{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.28rem}.field-optional-tag{display:inline-flex;align-items:center;padding:.08rem .45rem;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:.72rem;font-weight:700;letter-spacing:.01em}.waitlist-step-card label{display:grid;gap:.35rem;align-content:start;font-weight:600;color:#1f2937}.waitlist-step-card input,.waitlist-step-card select,.waitlist-step-card textarea{background:#fff;border-color:#cfdae8}.waitlist-motifs{display:grid;gap:.9rem}.waitlist-motif-group{display:grid;gap:.45rem}.waitlist-motif-title{margin:0;font-weight:700;color:#1f2937}.waitlist-motif-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.45rem}.waitlist-motif-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;font-weight:500;border:1px solid #d8e2f0;background:#f8fbff;border-radius:12px;padding:.55rem .65rem;cursor:pointer}.waitlist-motif-option input{margin:0;align-self:center;flex-shrink:0}.waitlist-motif-option:has(input:checked){border-color:#2f8f71;background:#ecfdf5}.waitlist-motif-option input:checked+span{color:#14532d;font-weight:700}.waitlist-availability-planner{border:1px solid #d8e4f2;border-radius:14px;padding:.55rem;background:#f8fbff}.waitlist-availability-planner .availability-day{overflow:hidden}.waitlist-availability-planner .availability-block{left:8px;right:8px;box-sizing:border-box}.waitlist-availability-planner .availability-block:before{width:100%;box-sizing:border-box}.waitlist-availability-planner .availability-block-content{width:100%}.waitlist-availability-legend{display:flex;flex-wrap:wrap;gap:.6rem .9rem;align-items:center;margin-bottom:.2rem}.waitlist-step-card label.waitlist-alltime-toggle{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 .35rem;font-weight:500;width:fit-content}.waitlist-step-card .waitlist-alltime-toggle input{width:auto;margin:0}.waitlist-legend-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:#334155}.waitlist-legend-swatch{width:12px;height:12px;border-radius:4px;display:inline-block;border:1px solid transparent}.waitlist-legend-swatch.available{background:#e0f2feb3;border-color:#b6d7f0}.waitlist-legend-swatch.unavailable{background:#94a3b840;border-color:#94a3b873}.waitlist-legend-swatch.selected{background:#22c55e33;border-color:#167a4a}.waitlist-selected-slots-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-top:.1rem}.waitlist-selected-slots-head .muted{margin:0}.waitlist-selected-slots .slot-card{background:#eff8ff;border-color:#c9ddf2;position:relative;padding-right:2rem}.waitlist-selected-slots .slot-card-remove{position:absolute;top:.35rem;right:.35rem;width:22px;height:22px;min-width:22px;border-radius:999px;border:1px solid #c9ddf2;background:#fff;color:#475569;padding:0;line-height:1}.waitlist-selected-slots .slot-card-remove:hover,.waitlist-selected-slots .slot-card-remove:focus-visible{border-color:#94a3b8;color:#1f2937}.waitlist-final-card{border-color:#d5e3f4;background:linear-gradient(180deg,#f4fbfff2,#fffffffa)}.waitlist-prescription-block{display:grid;gap:.35rem;padding:.7rem;border-radius:12px;border:1px dashed #bfd3e8;background:#fffc}.waitlist-prescription-title{margin:0;font-weight:700;color:#1f2937}.waitlist-consent-row{margin-top:.15rem}.waitlist-step-card .waitlist-consent-row{display:inline-flex;align-items:center;gap:.45rem;font-weight:500}.waitlist-captcha-row{display:grid;gap:.35rem}.waitlist-captcha-row .muted{margin:0;font-size:.82rem}.waitlist-submit-row{display:grid;gap:.4rem}.waitlist-submit-row button{width:100%;padding:.72rem .9rem;font-weight:700}.waitlist-submit-row .muted{margin:0}.type-badge{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1.2;white-space:nowrap}.waitlist-status{display:inline-grid;justify-items:center;align-content:center;padding:.2rem .6rem;border-radius:999px;font-size:.82rem;font-weight:600;line-height:1.2;gap:.08rem}.waitlist-status-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:.08rem;text-align:center}.waitlist-status-main{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.waitlist-status-practitioner{display:inline-flex;align-items:center;margin:0;font-size:.72rem;font-weight:400;line-height:1.2;color:var(--text-secondary)}.waitlist-status-date{margin:0;font-size:.68rem;font-weight:400;line-height:1.2;color:var(--text-secondary);white-space:nowrap;justify-self:center;text-align:center}.waitlist-status-elapsed{margin:0;font-size:.68rem;font-weight:400;line-height:1.2;color:var(--text-secondary);white-space:nowrap;text-align:center}.waitlist-status.status-pending{background:#fef3c7;color:#92400e}.waitlist-status.status-accepted{background:#dcfce7;color:#166534}.waitlist-status.status-rejected{background:#fee2e2;color:#991b1b}.availability-selection{position:absolute;left:8px;right:8px;background:#0e749024;border:1px dashed #0ea5e9;border-radius:10px;z-index:3;pointer-events:none}.availability-selection.dragging{background:#0e749014}.availability-form{display:grid;gap:.6rem;margin-top:.8rem}.availability-scope{display:grid;gap:.4rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:.65rem .75rem}.availability-scope .muted{margin:0}.availability-magic-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:.75rem}.availability-magic-grid .field-label{font-size:.84rem}.availability-no-lunch-toggle-row{grid-column:1 / -1}.availability-no-lunch-toggle{display:inline-flex;align-items:center;gap:.45rem;width:fit-content;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:.82rem;font-weight:600;padding:.35rem .8rem}.availability-no-lunch-toggle:before{content:"";width:.9rem;height:.9rem;border-radius:3px;border:1px solid #94a3b8;background:#fff;flex:0 0 .9rem}.availability-no-lunch-toggle:hover,.availability-no-lunch-toggle:focus-visible{border-color:#94a3b8;background:#f8fafc}.availability-no-lunch-toggle.active{border-color:var(--state-info-fg);background:color-mix(in srgb,var(--state-info-bg) 84%,white);color:var(--state-info-fg)}.availability-no-lunch-toggle.active:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;border-color:var(--state-info-fg);color:var(--state-info-fg);font-size:.72rem;font-weight:700;background:#fff}.unavailability-modal{width:min(620px,94vw);max-height:min(92vh,900px);overflow-y:auto;overscroll-behavior:contain}.unavailability-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.unavailability-planning-note{min-height:38px;height:38px;resize:none}.unavailability-inline-range{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem;min-width:0}.unavailability-inline-text{font-size:.92rem;font-weight:600;color:#0f172a;white-space:nowrap}.unavailability-inline-date{flex:0 0 186px;min-width:186px}.unavailability-inline-time{width:auto;min-width:132px;flex:0 0 132px}@media(max-width:760px){.unavailability-inline-range{flex-wrap:wrap}}.unavailability-impact{display:grid;gap:.3rem;border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:.75rem}.unavailability-patient-message{min-height:64px}.unavailability-patients{display:flex;flex-wrap:wrap;gap:.45rem}.availability-actions-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.availability-actions-row button{width:100%}.waitlist-detail-save-row{grid-template-columns:max-content;justify-content:center;margin-top:.7rem;margin-bottom:.95rem}.waitlist-detail-save-row button{width:auto;min-width:180px}.availability-selection-summary{display:grid;gap:.2rem;margin-bottom:.6rem}.availability-apply-future-toggle{margin-bottom:.45rem}@media(max-width:960px){.availability-layout{grid-template-columns:1fr}.availability-days,.availability-grid{grid-template-columns:64px repeat(7,minmax(110px,1fr))}}.availability-overlay .modal{width:min(420px,94vw)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:grid;place-items:center;z-index:1000;overflow-y:auto;overscroll-behavior:contain}.app.practitioner .overlay{place-items:start center;padding:calc(var(--topbar-height) + 14px) 1rem 1rem;box-sizing:border-box}.patient-general-info-overlay{overflow:visible}.modal{background:#fff;border-radius:16px;padding:1.5rem;width:min(520px,92vw);box-sizing:border-box;max-height:min(92vh,900px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 25px 50px #0f172a33;position:relative}.patient-general-info-modal{overflow:visible}.waitlist-detail-overlay{padding:1rem}.waitlist-detail-modal{width:min(640px,94vw);max-height:min(92vh,900px);overflow-y:auto;overscroll-behavior:contain}.waitlist-detail-header{display:grid;gap:.2rem;margin-bottom:.85rem;padding-bottom:.7rem;border-bottom:1px solid var(--border-subtle, #e5e7eb)}.waitlist-detail-context{margin:0;font-size:.76rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary, #6b7280)}.waitlist-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;flex-wrap:wrap}.waitlist-detail-header-status{display:inline-flex;align-items:flex-start;flex:0 0 auto;margin-left:auto;margin-top:.08rem}.waitlist-detail-patient-name{margin:0;font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.15;font-weight:700;color:var(--text-primary, #111827);flex:1 1 240px;min-width:0}.waitlist-detail-grid{display:grid;gap:.45rem}.waitlist-detail-section-title{margin:0;padding:.32rem .55rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border-subtle) 72%);background:color-mix(in srgb,var(--state-info-bg) 72%,var(--bg-elevated) 28%);color:var(--state-info-fg);font-size:.76rem;font-weight:700;letter-spacing:.01em;text-transform:uppercase}.waitlist-detail-section-title-spaced{margin-top:.55rem}.waitlist-detail-grid .modal-row{display:grid;grid-template-columns:minmax(145px,190px) minmax(0,1fr);column-gap:.7rem;row-gap:.1rem;align-items:start;margin-bottom:0}.waitlist-detail-grid .modal-row>strong{margin:0;white-space:nowrap}.waitlist-detail-grid .modal-row>span,.waitlist-detail-grid .modal-row>div,.waitlist-detail-grid .modal-row>textarea{margin:0}.waitlist-detail-grid .modal-row>textarea{width:100%}.waitlist-detail-form-answers{display:grid;gap:.35rem}.waitlist-detail-form-answer-item{margin:0;color:var(--text-secondary)}.waitlist-detail-grid .waitlist-status-cell{align-items:flex-start;justify-content:flex-start;text-align:left}.waitlist-detail-grid .waitlist-status{justify-items:center;align-content:center}.waitlist-detail-grid .waitlist-status-main{justify-content:center}.waitlist-detail-grid .waitlist-status-date{justify-self:center;text-align:center}.waitlist-detail-grid .waitlist-status-elapsed{align-self:center;justify-self:center;text-align:center}.waitlist-availability-lines{display:grid;gap:.08rem}.waitlist-availability-lines>span{display:block}.appointment-detail-overlay{padding:1rem}.appointment-detail-modal{width:min(640px,94vw);max-height:min(92vh,900px);overflow-y:auto;overscroll-behavior:contain}.appointment-detail-header{display:grid;gap:.2rem;margin-bottom:.85rem;padding-bottom:.7rem;border-bottom:1px solid var(--border-subtle, #e5e7eb)}.appointment-detail-context{margin:0;font-size:.76rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary, #6b7280)}.appointment-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;flex-wrap:wrap;margin-bottom:.38rem}.appointment-detail-title{margin:0;font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.15;font-weight:700;color:var(--text-primary, #111827);flex:1 1 240px;min-width:0}.appointment-detail-title-link{background:none;border:none;padding:0;margin:0;color:var(--text-primary, #111827);font:inherit;font-weight:inherit;line-height:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:none}.appointment-detail-title-link:hover,.appointment-detail-title-link:focus-visible{background:none;color:var(--text-primary, #111827);text-decoration:underline}.appointment-detail-title-list,.appointment-detail-patient-list{display:inline}.appointment-detail-participant{color:inherit}.appointment-detail-participant-cancelled{color:var(--state-danger-fg, #991b1b);text-decoration:line-through;text-decoration-thickness:1.5px}.appointment-detail-participant-meta{color:inherit;font-size:.8em;text-decoration:none}.appointment-detail-participant-meta-cancelled{color:var(--state-danger-fg, #991b1b)}.appointment-detail-header-status{display:inline-flex;align-items:flex-start;flex:0 0 auto;margin-left:auto;margin-top:.08rem}.appointment-detail-status{display:inline-flex;align-items:center;justify-content:center;padding:.22rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700;line-height:1.2;white-space:nowrap;background:var(--state-danger-bg, #fee2e2);color:var(--state-danger-fg, #991b1b)}.appointment-detail-subtitle{margin:0;font-size:1.05rem;font-weight:400;line-height:1.35;color:var(--text-secondary, #6b7280);display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.appointment-detail-subtitle-main{display:inline-flex;align-items:baseline;gap:.55rem;flex-wrap:wrap}.appointment-detail-date-label{font-weight:400}.appointment-detail-time-label{font-weight:700;color:var(--text-primary, #111827)}.appointment-detail-edit-button{margin-left:auto;flex:0 0 auto;min-height:36px;padding:.45rem .9rem;font-size:.9rem;font-weight:700}.appointment-detail-inline-link{background:none;border:none;padding:0;margin:0;color:var(--primary);font-size:.92rem;font-weight:600;text-decoration:underline;text-align:left;cursor:pointer}.appointment-detail-inline-link:hover,.appointment-detail-inline-link:focus-visible{background:none;color:var(--primary)}.appointment-detail-grid{display:grid;gap:.45rem}.appointment-detail-section-title{margin:0;padding:.32rem .55rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border-subtle) 72%);background:color-mix(in srgb,var(--state-info-bg) 72%,var(--bg-elevated) 28%);color:var(--state-info-fg);font-size:.76rem;font-weight:700;letter-spacing:.01em;text-transform:uppercase}.appointment-detail-section-title-spaced{margin-top:.55rem}.appointment-detail-grid .modal-row{display:grid;grid-template-columns:minmax(145px,190px) minmax(0,1fr);column-gap:.7rem;row-gap:.1rem;align-items:start;margin-bottom:0}.appointment-detail-grid .modal-row>strong{margin:0;white-space:nowrap}.appointment-detail-grid .modal-row>span,.appointment-detail-grid .modal-row>div{margin:0}.appointment-detail-grid .patient-name-link{align-self:start;text-align:left}.appointment-detail-type-field{display:grid;gap:.2rem;position:relative;width:min(100%,320px)}.appointment-detail-type-trigger{width:100%;min-height:34px;border-radius:10px;border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);padding:.35rem .55rem;font-size:.9rem;display:flex;align-items:center;justify-content:space-between;gap:.45rem;text-align:left}.appointment-detail-type-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 48%,#ffffff 52%);outline-offset:1px}.appointment-detail-type-trigger:hover{border-color:#9eb1e6;background:#eff4ff}.appointment-detail-type-trigger:disabled{opacity:.72;cursor:not-allowed}.appointment-detail-type-caret{font-size:.72rem;color:var(--text-secondary)}.appointment-detail-type-menu{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:4;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:12px;box-shadow:var(--shadow-3);padding:.35rem;display:grid;gap:.25rem;max-height:220px;overflow-y:auto}.appointment-detail-type-option{width:100%;border:none;background:transparent;border-radius:10px;padding:.35rem .4rem;text-align:left;cursor:pointer}.appointment-detail-type-option:hover,.appointment-detail-type-option:focus-visible{background:var(--state-info-bg)}.appointment-detail-type-option.is-selected{background:color-mix(in srgb,var(--state-info-bg) 70%,var(--bg-elevated) 30%)}.appointment-detail-type-badge{display:inline-flex;align-items:center;justify-content:center;min-height:1.5rem;border-radius:999px;padding:.14rem .62rem;font-size:.8rem;font-weight:600;line-height:1.2;background:var(--type-badge-bg, #e2e8f0);color:var(--type-badge-fg, #0f172a)}.planning-badge-select-field{width:100%}.planning-badge-select-trigger{min-height:44px;border-radius:10px;border-color:#cbd5e1;background:#f8fafc;padding:.24rem .7rem;transition:background .18s ease,border-color .18s ease,color .18s ease}.planning-badge-select-trigger:hover,.planning-badge-select-trigger:focus-visible{border-color:#9eb1e6;background:#eff4ff}.planning-badge-multi-trigger{align-items:center}.planning-badge-multi-value{display:flex;flex-wrap:wrap;align-items:center;align-content:center;gap:.35rem;min-width:0;flex:1 1 auto}.planning-badge-select-trigger .appointment-detail-type-badge,.planning-badge-select-menu .appointment-detail-type-badge{min-height:1.55rem;padding:.12rem .72rem;font-size:.86rem;font-weight:700}.planning-badge-select-menu{z-index:20;max-height:260px}.planning-badge-select-empty-option{display:inline-flex;align-items:center;min-height:1.55rem;font-size:.86rem;font-weight:600;color:var(--text-secondary)}.appointment-detail-type-hint{margin:0}.appointment-detail-actions{margin-top:.7rem}.appointment-detail-actions .muted{margin:0}.appointment-detail-action-row-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;align-items:stretch}.appointment-status-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:44px;padding:.7rem 1rem;border-radius:10px;border:1px solid transparent;font-weight:600;line-height:1.2}.appointment-status-button-icon-svg{width:1rem;height:1rem;flex:0 0 auto}.appointment-status-button--cancel{background:#fffbeb;color:#854d0e;border-color:#854d0e2e}.appointment-status-button--cancel:hover,.appointment-status-button--cancel:focus-visible{background:#fef3c7}.appointment-status-button--professional{background:#fffbeb;color:#854d0e;border-color:#854d0e2e}.appointment-status-button--professional:hover,.appointment-status-button--professional:focus-visible{background:#fef3c7}.appointment-status-button--patient{background:#fef2f2;color:#991b1b;border-color:#991b1b29}.appointment-status-button--patient:hover,.appointment-status-button--patient:focus-visible{background:#fee2e2}.appointment-status-button--absent{background:#fee2e2;color:#7f1d1d;border-color:#7f1d1d2e}.appointment-status-button--absent:hover,.appointment-status-button--absent:focus-visible{background:#fecaca}.appointment-status-button--delete{background:#f3f4f6;color:#4b5563;border-color:#4b55632e}.appointment-status-button--delete:hover,.appointment-status-button--delete:focus-visible{background:#e5e7eb}.appointment-status-button--send{background:color-mix(in srgb,var(--primary) 10%,var(--bg-elevated) 90%);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 20%,var(--border-default) 80%)}.appointment-status-button--send:hover,.appointment-status-button--send:focus-visible{background:color-mix(in srgb,var(--primary) 16%,var(--bg-elevated) 84%)}.appointment-modal{width:min(720px,94vw);max-height:min(92vh,900px);overflow-y:auto}.appointment-modal-unavailability{width:min(860px,96vw)}.appointment-modal-title{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.appointment-modal-title-date{font-size:.92rem;font-weight:600;color:var(--text-secondary)}.appointment-modal-title-date.is-primary{color:var(--text-secondary)}.past-appointment-warning-overlay{z-index:1200}.past-appointment-warning-modal{width:min(560px,94vw)}.patient-reschedule-overlay{z-index:1100}.patient-reschedule-modal{width:min(1100px,96vw);max-height:min(92vh,980px);overflow-y:auto;display:grid;gap:1rem}.patient-reschedule-head{display:grid;gap:.35rem;padding-right:2rem}.patient-reschedule-head h3,.patient-reschedule-head p{margin:0}.patient-reschedule-card{position:static;top:auto;box-shadow:none;border:1px solid #e8ecf6;padding:1rem}.patient-reschedule-confirm-modal{width:min(560px,94vw)}.patient-reschedule-confirm-overlay,.patient-cancel-confirm-overlay{z-index:1200}.patient-cancel-confirm-modal{width:min(560px,94vw);display:grid;gap:1rem}.patient-cancel-reason-field textarea{min-height:110px;resize:vertical}.report-modal{width:min(1100px,96vw);max-height:min(92vh,980px);overflow-y:auto;overflow-x:hidden}.material-modal{max-height:min(92vh,900px);overflow-y:auto}.message-modal{width:min(980px,96vw);max-height:min(92vh,720px);overflow-y:auto}.waitlist-archive-modal{width:min(720px,95vw);max-height:min(92vh,760px);overflow-y:auto}.waitlist-archive-head{display:grid;gap:.35rem;margin:0 0 .45rem;padding:0 2.35rem .6rem 0;border-bottom:1px solid var(--border-subtle, #e5e7eb)}.waitlist-archive-eyebrow{display:inline-flex;width:fit-content;padding:.22rem .62rem;border-radius:999px;font-size:.69rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;border:1px solid color-mix(in srgb,var(--state-danger-fg) 24%,var(--border-default) 76%);background:var(--state-danger-bg);color:var(--state-danger-fg)}.waitlist-archive-title{margin:0;font-size:clamp(1.18rem,1.8vw,1.5rem);line-height:1.15;color:var(--text-primary, #111827);position:relative;padding-bottom:.38rem}.waitlist-archive-title:after{content:"";position:absolute;left:0;bottom:0;width:min(180px,48%);height:3px;border-radius:999px;background:color-mix(in srgb,var(--state-danger-fg) 78%,var(--text-primary) 22%)}.waitlist-accept-modal{width:min(720px,95vw);max-height:min(92vh,760px);overflow-y:auto}.waitlist-accept-head{display:grid;gap:.35rem;margin:0 0 .45rem;padding:0 2.35rem .6rem 0;border-bottom:1px solid var(--border-subtle, #e5e7eb)}.waitlist-accept-eyebrow{display:inline-flex;width:fit-content;padding:.22rem .62rem;border-radius:999px;font-size:.69rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;border:1px solid color-mix(in srgb,var(--state-success-fg) 24%,var(--border-default) 76%);background:var(--state-success-bg);color:var(--state-success-fg)}.waitlist-accept-title{margin:0;font-size:clamp(1.18rem,1.8vw,1.5rem);line-height:1.15;color:var(--text-primary, #111827);position:relative;padding-bottom:.38rem}.waitlist-accept-title:after{content:"";position:absolute;left:0;bottom:0;width:min(180px,48%);height:3px;border-radius:999px;background:color-mix(in srgb,var(--primary) 82%,var(--text-primary) 18%)}.waitlist-accept-recipient{margin:.15rem 0 .35rem;font-size:.82rem}.waitlist-accept-form .message-compose-editor .ql-editor{min-height:170px}.waitlist-accept-actions{justify-content:flex-end;flex-wrap:wrap}.waitlist-archive-recipient{margin:.15rem 0 .35rem;font-size:.82rem}.waitlist-archive-form .message-compose-editor .ql-editor{min-height:170px}.waitlist-archive-actions{justify-content:flex-end;flex-wrap:wrap}.patient-contacts-overlay{z-index:1000}.patient-contacts-modal{width:min(980px,96vw);max-height:min(92vh,940px);overflow-y:auto;display:grid;gap:.7rem}.patient-contacts-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;flex-wrap:wrap;padding-right:2rem}.patient-contacts-head h3{margin:0}.patient-contacts-table{margin-top:.25rem}.patient-contacts-empty{margin:.2rem 0}.report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.65rem}.report-title h3{margin:0}.report-title-line{display:flex;align-items:baseline;gap:.65rem;flex-wrap:wrap}.report-patient-name{margin:0;font-size:1.05rem}.report-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.4rem}.report-badge{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:999px;border:1px solid #cbd5f5;background:#eef2ff;color:#1e3a8a}.report-badge.past{background:#eef2ff;color:#1e3a8a;border-color:#cbd5f5}.report-badge.future{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.report-meta-item{font-size:.85rem;color:#475569}.report-header-actions{margin-left:auto;margin-right:2.6rem;display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start;min-width:0}.report-grid.single{grid-template-columns:1fr}.report-column{background:#f8f9ff;border-radius:14px;padding:1rem;border:1px solid #e6e9f5;display:flex;flex-direction:column;gap:.9rem;align-self:start;min-width:0}.report-column.report-column-current{background:#eef6ff;border-color:#8ab7e6}.report-column.report-column-previous{background:#f8fafc;border-color:#e6edf7}.report-previous{display:grid;gap:.8rem;margin:1rem 0}.report-previous-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.report-previous-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.report-previous-card{background:#fff;border:1px solid #e6e9f5;border-radius:12px;padding:.75rem;display:grid;gap:.35rem}.report-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;align-content:start;min-width:0}.report-fields-grid.report-fields-grid-stacked{grid-template-columns:1fr}.report-therapeutic-card{grid-column:1 / -1}.report-field-card{background:#fff;border:1px solid #e6e9f5;border-radius:12px;padding:.8rem;display:grid;gap:.5rem;min-width:0;overflow:hidden}.report-field-card.report-field-card-editor{overflow:visible}.report-field-card.full-width{grid-column:1 / -1}.report-rich-readonly{padding:0;color:#111827}.report-rich-readonly p{margin:0 0 .5rem}.report-rich-readonly p:last-child{margin-bottom:0}.report-field-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.report-field-title{font-size:.8rem;font-weight:600;letter-spacing:.02em;line-height:1.2;text-transform:uppercase;color:var(--text-secondary)}.report-field-title-note{text-transform:lowercase;letter-spacing:0}.report-field-checkbox{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;color:#334155;font-weight:500}.report-field-checkbox input{margin:0}.report-public-email-action{margin-top:.15rem}.report-preview-modal{width:min(520px,92vw)}.report-preview-card{margin:1rem 0;padding:.9rem;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc}.report-preview-rich{margin-top:.5rem}.report-preview-card p{margin:.35rem 0 0}.report-column-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.report-column-meta{display:flex;align-items:center;justify-content:flex-start;gap:.42rem;flex-wrap:nowrap;min-width:0}.report-column-badges{display:flex;align-items:center;justify-content:flex-start;gap:.3rem;flex-wrap:nowrap}.report-session-datetime{font-size:.76rem;line-height:1.2}.report-column h4{margin:0}.report-column-title{display:inline-flex;align-items:center;gap:.38rem}.report-edit-trigger{width:28px;min-width:28px;height:28px;padding:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;line-height:1}.report-previous-edit-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.report-column.report-column-current .report-column-header,.report-column.report-column-previous .report-column-header{align-items:baseline;justify-content:flex-start;gap:.55rem;flex-wrap:wrap}.report-column.report-column-current .report-column-meta,.report-column.report-column-previous .report-column-meta{align-items:baseline}.report-pill{font-size:.7rem;font-weight:600;color:#334155;background:#e2e8f0;border-radius:999px;padding:2px 8px}.report-section{display:grid;gap:.5rem}.report-section-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.report-section h5{margin:0;font-size:.95rem}.report-list{display:grid;gap:.35rem}.report-line{display:flex;justify-content:space-between;gap:.5rem;font-size:.9rem}.report-range{display:grid;gap:.4rem}.report-range input[type=range]{width:100%}.report-range-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#64748b}.report-checklist{display:grid;gap:.4rem}.report-check{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem}.report-selectable-chip{gap:.45rem;cursor:pointer}.report-selectable-chip.done{text-decoration:line-through;color:#64748b}.report-selectable-chip input{margin:0}.report-inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.report-support-picker{margin-bottom:.25rem}.report-support-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}.report-support-column{border:1px solid #e6e9f5;border-radius:12px;background:#f8fbff;padding:.65rem .7rem;display:grid;gap:.45rem}.report-support-column h5{margin:0;font-size:.9rem}.report-support-column h5.done{text-decoration:line-through;color:#64748b}.report-footer{margin-top:1rem;display:flex;align-items:center;justify-content:flex-end;gap:1rem;flex-wrap:wrap}@media(max-width:980px){.report-grid{grid-template-columns:1fr}.report-header-actions{width:100%;margin-right:0;justify-content:flex-end}.report-inline-grid,.report-previous-grid,.report-fields-grid{grid-template-columns:1fr}}.appointment-form{display:grid;gap:1rem}.appointment-mode-picker{display:grid;gap:.45rem;margin:.25rem 2rem .7rem 0}.appointment-mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.appointment-mode-button{border:1px solid #d6deee;background:#f8fbff;color:#3750a6;border-radius:10px;padding:.5rem .6rem;font-size:.86rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.appointment-mode-button:hover{border-color:#9eb1e6;background:#eff4ff}.appointment-mode-button.active{border-color:#3750a6;background:#3750a6;color:#fff}.appointment-section{display:grid;gap:.6rem}.appointment-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.appointment-label{font-weight:600}.material-tag-create-toggle{padding:0;color:#334155}.material-tag-create-toggle:hover,.material-tag-create-toggle:focus-visible{color:#334155;background:transparent}.material-tag-create-toggle:focus-visible{outline:2px solid #cbd5e1;outline-offset:2px}.material-tag-creation-label{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap;color:#334155}.material-tag-creation-label strong{color:#0f172a}.material-tag-creation-panel{padding:.7rem .85rem}.material-tag-creation-row{align-items:center}.patient-search{display:grid;gap:.5rem}.patient-search-input-shell{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;min-height:46px;padding:.45rem .7rem;border-radius:14px;border:1px solid var(--border-default);background:var(--bg-elevated);cursor:text}.patient-search-input-inline{min-width:min(220px,100%);flex:1 1 220px;border:none;background:transparent;outline:none;padding:.2rem 0;color:var(--text-primary)}.patient-search-input-inline::placeholder{color:var(--text-secondary)}.patient-search-results{display:grid;gap:.35rem;padding:.45rem;border-radius:12px;border:1px solid var(--border-default);background:color-mix(in srgb,var(--bg-app) 55%,var(--bg-elevated))}.patient-search-results.scroll-results{max-height:150px;overflow-y:auto}.patient-search-item{display:flex;justify-content:space-between;gap:.6rem;padding:.5rem .7rem;border-radius:10px;border:1px solid var(--border-default);background:var(--bg-elevated);cursor:pointer;color:var(--text-primary)}.patient-search-item:hover{background:color-mix(in srgb,var(--state-info-bg) 72%,var(--bg-elevated))}.patient-search-item span{color:inherit}.patient-search-item .muted{color:var(--text-secondary)}.patient-search-empty{padding:.35rem .6rem;color:var(--text-secondary);font-size:.9rem}.patient-name-link{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:left;text-decoration:none}.patient-name-link:hover strong,.patient-name-link:focus-visible strong,.patient-name-link:hover,.patient-name-link:focus-visible{text-decoration:underline}.add-patient-link{text-align:left}.add-patient-link:hover,.add-patient-link:focus-visible{background:transparent;color:#3750a6}.new-patient-header .link:hover,.new-patient-header .link:focus-visible{background:transparent;color:#3750a6}.patient-selected-list{display:flex;flex-wrap:wrap;gap:.4rem}.patient-selected-badge{width:fit-content;padding:.3rem .75rem;border-radius:999px;background:var(--state-success-bg);color:var(--state-success-fg);font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;max-width:100%}.patient-selected-remove{border:none;background:transparent;color:inherit;font-size:.95rem;line-height:1;cursor:pointer;padding:0}.patient-selected-remove:hover,.patient-selected-remove:focus-visible{background:transparent}.patient-summary{display:flex;flex-wrap:nowrap;gap:.5rem;align-items:stretch}.patient-summary-item{min-width:0;flex:1 1 0;min-height:88px;padding:.45rem .6rem;border-radius:10px;background:#f8f7f4;border:none;display:flex;flex-direction:column;justify-content:center;text-align:center}.patient-summary-item.success{background:#ecfdf3}.patient-summary-item.warning{background:#fffbeb}.patient-summary-item.danger{background:#fef2f2}.patient-summary-item.painful{background:#fee2e2}.patient-summary-value{display:block;font-size:1rem;font-weight:700;line-height:1.2}.patient-summary-label{display:block;font-size:1rem;font-weight:700;color:#1f2937;margin-top:.15rem;line-height:1.2}.patient-summary-item.success .patient-summary-value{color:#166534}.patient-summary-item.warning .patient-summary-value{color:#854d0e}.patient-summary-item.danger .patient-summary-value{color:#991b1b}.patient-summary-item.painful .patient-summary-value{color:#7f1d1d}.new-patient-section{border-radius:14px;border:1px solid #e2e8f0;padding:.9rem;background:#f8fafc}.new-patient-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.new-patient-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:.6rem}.appointment-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.appointment-grid>label{display:grid;align-content:start;gap:.35rem}.appointment-grid-primary{grid-template-columns:minmax(220px,1.35fr) repeat(2,minmax(160px,1fr));align-items:start}.appointment-grid-secondary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start}@media(max-width:820px){.appointment-grid-primary{grid-template-columns:1fr}}:root{--planning-picker-accent: #4358b7}.french-date-input,.french-date-input-control{position:relative;width:100%}.french-date-input-control input{width:100%;box-sizing:border-box;padding-right:3rem}.french-date-input-toggle{position:absolute;top:50%;right:.45rem;transform:translateY(-50%);width:1.9rem;height:1.9rem;min-width:1.9rem;padding:0;border-radius:9px;border:1px solid #d6deee;background:#f8fbff;color:var(--planning-picker-accent);display:inline-flex;align-items:center;justify-content:center}.french-date-input-toggle:hover,.french-date-input-toggle:focus-visible{border-color:#9eb1e6;background:#eff4ff}.french-date-input-toggle svg{width:1rem;height:1rem}.planning-time-control{width:100%;min-height:44px;box-sizing:border-box;padding:.55rem .8rem;border-radius:10px;border:1px solid #d6deee;background:#fff;color:#0f172a;font-size:.95rem;font-weight:600;line-height:1.2;letter-spacing:.01em;font-variant-numeric:tabular-nums;transition:background .18s ease,border-color .18s ease,color .18s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;accent-color:var(--planning-picker-accent)}.planning-time-control:hover,.planning-time-control:focus-visible{border-color:#9eb1e6;background:#eff4ff}.planning-time-control::-webkit-datetime-edit{color:inherit;font:inherit;letter-spacing:inherit}.planning-time-control::-webkit-datetime-edit-fields-wrapper{padding:0}.planning-time-control::-webkit-datetime-edit-hour-field,.planning-time-control::-webkit-datetime-edit-minute-field,.planning-time-control::-webkit-datetime-edit-text{color:inherit;font:inherit}.planning-time-control::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1;filter:brightness(0) saturate(100%) invert(34%) sepia(32%) saturate(1714%) hue-rotate(207deg) brightness(90%) contrast(88%)}.planning-time-control:hover::-webkit-calendar-picker-indicator,.planning-time-control:focus-visible::-webkit-calendar-picker-indicator{filter:brightness(0) saturate(100%) invert(34%) sepia(32%) saturate(1714%) hue-rotate(207deg) brightness(90%) contrast(88%)}.french-date-picker-popover{position:absolute;top:calc(100% + .45rem);left:0;z-index:30;width:min(100%,320px);min-width:280px;padding:.8rem;border:1px solid #d6deee;border-radius:16px;background:#fff;box-shadow:0 22px 45px #0f172a29}.french-date-picker-header{display:grid;grid-template-columns:2rem minmax(0,1fr) 2rem;align-items:center;gap:.5rem;margin-bottom:.75rem}.french-date-picker-header strong{text-align:center;font-size:.95rem;color:#0f172a;text-transform:capitalize}.french-date-picker-nav{width:2rem;height:2rem;min-width:2rem;padding:0;border-radius:10px;border:1px solid #d6deee;background:#f8fbff;color:var(--planning-picker-accent);display:inline-flex;align-items:center;justify-content:center;font-weight:700}.french-date-picker-weekdays,.french-date-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.french-date-picker-weekdays{margin-bottom:.35rem}.french-date-picker-weekdays span{display:inline-flex;justify-content:center;font-size:.78rem;font-weight:700;color:#64748b}.french-date-picker-day{width:100%;aspect-ratio:1;padding:0;border-radius:10px;border:1px solid transparent;background:#fff;color:#0f172a;display:inline-flex;align-items:center;justify-content:center;font-weight:600}.french-date-picker-day:hover,.french-date-picker-day:focus-visible{border-color:#9eb1e6;background:#eff4ff}.french-date-picker-day.outside-month{color:#94a3b8}.french-date-picker-day.today{border-color:#cbd5e1}.french-date-picker-day.selected{border-color:var(--planning-picker-accent);background:var(--planning-picker-accent);color:#fff}.appointment-recurrence-shell{display:grid;gap:.85rem}.appointment-recurrence-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.appointment-recurrence-presets{display:flex;flex-wrap:nowrap;gap:.45rem;overflow-x:auto;padding-bottom:.1rem;scrollbar-width:none}.appointment-recurrence-presets::-webkit-scrollbar{display:none}.appointment-recurrence-preset{min-height:38px;padding:.4rem .72rem;border-radius:999px;border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);font-size:.88rem;font-weight:600;white-space:nowrap;flex:0 0 auto}.appointment-recurrence-preset:hover,.appointment-recurrence-preset:focus-visible{background:color-mix(in srgb,var(--state-info-bg) 70%,var(--bg-elevated));border-color:color-mix(in srgb,var(--state-info-fg) 18%,var(--border-default))}.appointment-recurrence-preset.active,.appointment-recurrence-preset.active:hover,.appointment-recurrence-preset.active:focus-visible{background:color-mix(in srgb,var(--primary) 14%,var(--bg-elevated));border-color:color-mix(in srgb,var(--primary) 38%,var(--border-default));color:var(--primary)}.appointment-recurrence-editor{display:grid;gap:.8rem;padding:.85rem;border-radius:16px;border:1px solid var(--border-default);background:color-mix(in srgb,var(--bg-app) 52%,var(--bg-elevated))}.appointment-recurrence-custom-top{display:grid;gap:.65rem;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start}.appointment-recurrence-inline-grid,.appointment-recurrence-inline-field{display:grid;gap:.3rem}.appointment-recurrence-custom-top .field-label{font-size:.94rem;line-height:1.15;white-space:nowrap}.appointment-recurrence-rule-controls{display:grid;gap:.45rem;grid-template-columns:minmax(76px,92px) minmax(120px,1fr)}.appointment-recurrence-interval-input{text-align:center}.appointment-recurrence-weekdays-panel{display:grid;gap:.35rem}.appointment-recurrence-weekdays-header{display:flex;align-items:baseline;justify-content:flex-start;gap:.45rem;flex-wrap:nowrap}.appointment-recurrence-weekdays{display:flex;flex-wrap:wrap;gap:.35rem}.appointment-recurrence-weekday{width:2rem;min-width:2rem;height:2rem;padding:0;border-radius:999px;border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700}.appointment-recurrence-weekday:hover,.appointment-recurrence-weekday:focus-visible{background:color-mix(in srgb,var(--state-info-bg) 70%,var(--bg-elevated));border-color:color-mix(in srgb,var(--state-info-fg) 18%,var(--border-default));color:var(--state-info-fg)}.appointment-recurrence-weekday.active,.appointment-recurrence-weekday.active:hover,.appointment-recurrence-weekday.active:focus-visible{background:var(--primary);border-color:var(--primary);color:#fff}.appointment-recurrence-weekday.locked{box-shadow:inset 0 0 0 1px color-mix(in srgb,#ffffff 30%,transparent)}.appointment-recurrence-end-grid{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-recurrence-end-section{display:grid;gap:.45rem}.appointment-recurrence-end-option{display:flex;align-items:center;gap:.75rem;padding:.6rem .7rem;border-radius:12px;border:1px solid var(--border-default);background:var(--bg-elevated)}.appointment-recurrence-end-option.active{border-color:color-mix(in srgb,var(--primary) 26%,var(--border-default));background:color-mix(in srgb,var(--primary) 7%,var(--bg-elevated))}.appointment-recurrence-end-toggle{display:flex;align-items:center;gap:.55rem;font-weight:600;white-space:nowrap}.appointment-recurrence-end-toggle input{margin:0}.appointment-recurrence-end-control{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;flex:1 1 auto;min-width:0}.appointment-recurrence-end-control .planning-time-control{width:min(104px,100%);min-height:38px}.appointment-recurrence-end-control .french-date-input{width:min(190px,100%)}.appointment-recurrence-summary{padding:.75rem .85rem;border-radius:12px;background:var(--state-info-bg);color:var(--state-info-fg);font-size:.92rem;font-weight:600}.appointment-recurrence-preview{display:grid;gap:.45rem;padding:.65rem;border:1px solid var(--border-default);border-radius:12px;background:var(--bg-elevated)}.appointment-recurrence-preview strong{font-size:.84rem;color:var(--primary)}.appointment-recurrence-preview-list{display:grid;gap:.28rem;max-height:220px;overflow-y:auto}.appointment-recurrence-preview-item{display:flex;align-items:baseline;gap:.45rem;padding:.1rem 0;min-width:0;flex-wrap:wrap}.appointment-recurrence-preview-main{display:inline-flex;align-items:baseline;gap:.45rem;flex:0 0 auto;flex-wrap:nowrap}.appointment-recurrence-preview-item.is-conflict .appointment-recurrence-preview-main{text-decoration:line-through;text-decoration-thickness:1.5px;color:var(--state-danger-fg)}.appointment-recurrence-preview-date{font-size:.86rem;font-weight:600;color:var(--text-primary);text-transform:capitalize;white-space:nowrap}.appointment-recurrence-preview-time{font-size:.84rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.appointment-recurrence-preview-item.is-conflict .appointment-recurrence-preview-date,.appointment-recurrence-preview-item.is-conflict .appointment-recurrence-preview-time{color:inherit}.appointment-recurrence-preview-conflict{font-size:.8rem;font-weight:700;color:var(--state-danger-fg);white-space:nowrap}@media(max-width:820px){.appointment-recurrence-custom-top,.appointment-recurrence-rule-controls,.appointment-recurrence-end-grid{grid-template-columns:1fr}.appointment-recurrence-end-option{align-items:stretch;flex-direction:column}.appointment-recurrence-end-control .planning-time-control,.appointment-recurrence-end-control .french-date-input{width:100%}}.appointment-notes textarea{min-height:90px;resize:vertical}.appointment-actions{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.4rem}.patient-archive-actions{align-items:stretch}.patient-archive-confirm-button,.patient-archive-blacklist-button{width:100%;min-height:54px}.patient-archive-confirm-button{background:var(--state-warning-bg);color:var(--state-warning-fg);border:1px solid color-mix(in srgb,var(--state-warning-fg) 28%,transparent)}.patient-archive-confirm-button:hover,.patient-archive-confirm-button:focus-visible{background:color-mix(in srgb,var(--state-warning-bg) 82%,var(--bg-elevated) 18%)}.patient-archive-blacklist-button:hover,.patient-archive-blacklist-button:focus-visible{background:color-mix(in srgb,var(--state-danger-bg) 82%,var(--bg-elevated) 18%)}.field-error{color:#b91c1c;font-size:.8rem}.turnstile-wrapper{display:grid;gap:.35rem;justify-items:start}.turnstile-wrapper .field-error{margin:0}.required-asterisk{color:#b91c1c;margin-left:.2rem;font-weight:600}.field-label{display:inline-flex;align-items:center;gap:.2rem}button:disabled{cursor:not-allowed;opacity:.6}.close{position:absolute;top:12px;right:12px;background:#e2e8f0;border:none;border-radius:999px;width:32px;height:32px;cursor:pointer;color:#0f172a;display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;line-height:1;padding:0;font-family:Arial,sans-serif}.close:hover,.close:focus-visible{color:#fff}.patient-panel-close{position:static;flex:0 0 auto}.modal-row{display:grid;gap:.25rem;margin-bottom:.75rem}.appointment-delete-note{font-size:.82rem;font-style:italic}.appointment-delete-scope{display:grid;gap:.4rem}.appointment-cancel-email-toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.92rem;color:var(--text-primary);font-weight:500}.appointment-cancel-email-toggle input{margin:0}.appointment-cancel-patient-targets{display:grid;gap:.55rem}.appointment-cancel-patient-target-actions{display:flex;flex-wrap:wrap;gap:.55rem}.appointment-cancel-patient-list{display:grid;gap:.45rem}.appointment-cancel-patient-option{display:inline-flex;align-items:center;gap:.55rem;color:var(--text-primary);font-weight:500}.appointment-cancel-patient-option input{margin:0}.danger{background:#f7dada;color:#7f1d1d;border:none;padding:.7rem 1rem;border-radius:10px;width:100%;font-weight:600;cursor:pointer}.success{background:#dcfce7;color:#166534;border:none;padding:.7rem 1rem;border-radius:10px;width:100%;font-weight:600;cursor:pointer}.modal-actions{display:grid;gap:.6rem}.danger.ghost{background:#fff1f2;color:#991b1b}.day-block{background:#fff;border-radius:14px;padding:1rem;border:1px solid #eef1f6}.day-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.day-header h4{margin:0;text-transform:capitalize;font-weight:600}.slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.5rem}.link{background:none;border:none;color:#3750a6;padding:0;font-weight:600;cursor:pointer}@media(max-width:720px){.overlay.appointment-overlay{place-items:stretch}.overlay.appointment-detail-overlay{place-items:stretch;padding:0}.appointment-modal,.appointment-detail-modal{width:100vw;height:100vh;border-radius:0;padding:1.25rem 1rem 1.5rem;overflow-y:auto}.appointment-detail-grid .modal-row{grid-template-columns:1fr;gap:.2rem}.appointment-detail-grid .modal-row>strong{white-space:normal}.appointment-actions{grid-template-columns:1fr}.french-date-picker-popover{left:0;right:0;width:auto;min-width:0}.new-patient-header{align-items:flex-start;flex-direction:column}}.week-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:1rem}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:.8rem;overflow-x:auto;padding-bottom:.5rem}.day-column{background:#fff;border-radius:12px;padding:.75rem;border:1px solid #eef1f6;display:grid;gap:.6rem;min-width:120px}.day-column.empty{opacity:.5}.day-header{display:grid;gap:.2rem}.day-name{font-weight:600;text-transform:capitalize}.day-date{color:#6b7280;font-size:.85rem}@media(max-width:900px){.public-layout{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}.message{padding:.8rem;border-radius:8px;background:#ffe9c0}.toast{position:fixed;left:50%;top:18%;transform:translate(-50%,-50%);background:#0f172ae6;color:#f8fafc;padding:.9rem 1.2rem;border-radius:12px;box-shadow:0 12px 30px #0f172a2e;z-index:1200;max-width:420px;width:calc(100% - 3rem);text-align:center;font-weight:600;opacity:0;animation:toast-fade 3s ease forwards}@keyframes toast-fade{0%{opacity:0;transform:translate(-50%,-55%)}10%{opacity:1;transform:translate(-50%,-50%)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-45%)}}.patients-shell{display:block}.patients-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(320px,3fr);gap:1.5rem;align-items:start}.patients-layout-list-only{grid-template-columns:minmax(0,1fr)}.patients-list{min-width:0}.patients-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.patients-actions{display:flex;gap:.6rem;flex-wrap:wrap}.patients-filters{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.patient-status-dropdown,.patient-type-dropdown{position:relative}.patient-type-dropdown>summary{list-style:none}.patient-type-dropdown>summary::-webkit-details-marker{display:none}.patient-type-dropdown-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:.55rem;min-width:220px;font-size:.95rem;font-family:inherit;font-weight:500;color:var(--state-review-fg);line-height:1.2;-webkit-appearance:none;-moz-appearance:none;appearance:none}.patient-type-dropdown-caret{font-size:.8rem;transition:transform .18s ease}.patient-type-dropdown[open] .patient-type-dropdown-caret{transform:rotate(180deg)}.patient-type-dropdown-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:45;width:min(320px,calc(100vw - 2rem));padding:.45rem;border-radius:14px;border:1px solid var(--border-default);background:var(--bg-elevated);box-shadow:var(--shadow-2);display:grid;gap:.2rem}.patient-type-dropdown-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .6rem;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-primary);font-size:.84rem;font-weight:500;text-align:left}.patient-type-dropdown-option:hover,.patient-type-dropdown-option:focus-visible{background:color-mix(in srgb,var(--state-info-bg) 72%,var(--bg-elevated) 28%);border-color:color-mix(in srgb,var(--state-info-fg) 16%,transparent)}.patient-type-dropdown-option.active{background:color-mix(in srgb,var(--state-review-bg) 80%,var(--bg-elevated) 20%);color:var(--state-review-fg);border-color:color-mix(in srgb,var(--state-review-fg) 18%,transparent)}.patient-type-dropdown-option-label{min-width:0}.patient-type-dropdown-option-check{font-size:.82rem;font-weight:700}.patient-status-dropdown>summary{list-style:none}.patient-status-dropdown>summary::-webkit-details-marker{display:none}.patient-status-dropdown-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:.55rem;min-width:188px;font-size:.95rem;font-family:inherit;font-weight:500;color:var(--state-review-fg);line-height:1.2;-webkit-appearance:none;-moz-appearance:none;appearance:none}.patient-status-dropdown-caret{font-size:.8rem;transition:transform .18s ease}.patient-status-dropdown[open] .patient-status-dropdown-caret{transform:rotate(180deg)}.patient-status-dropdown-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:45;width:min(320px,calc(100vw - 2rem));padding:.7rem;border-radius:14px;border:1px solid var(--border-default);background:var(--bg-elevated);box-shadow:var(--shadow-2);display:grid;gap:.65rem}.patient-status-dropdown-options{display:grid;gap:.35rem}.patient-status-dropdown-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;padding:.38rem .1rem;color:var(--text-primary);font-size:.84rem}.patient-status-dropdown-option input[type=checkbox]{margin:0;width:16px;height:16px}.patient-status-dropdown-option-label{min-width:0}.patient-status-dropdown-option-count{color:var(--text-secondary);font-size:.78rem}.patient-status-filter-bar{display:grid;gap:.55rem;margin-bottom:.9rem}.patient-status-filter-bar-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.patient-status-filter-label{font-size:.82rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.patient-status-filter-clear{padding:.28rem .7rem;font-size:.78rem}.patient-status-filter-chips{display:flex;flex-wrap:wrap;gap:.45rem}.patient-status-filter-chip{min-height:32px;padding:.28rem .75rem;border-radius:999px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);font-size:.8rem;font-weight:600}.patient-status-filter-chip.success.active{background:var(--state-success-bg);color:var(--state-success-fg);border-color:color-mix(in srgb,var(--state-success-fg) 28%,transparent)}.patient-status-filter-chip.info.active{background:var(--state-info-bg);color:var(--state-info-fg);border-color:color-mix(in srgb,var(--state-info-fg) 24%,transparent)}.patient-status-filter-chip.warning.active{background:var(--state-warning-bg);color:var(--state-warning-fg);border-color:color-mix(in srgb,var(--state-warning-fg) 28%,transparent)}.patients-table{border:1px solid #eef1f6;border-radius:16px;overflow:hidden;background:#fff}.patients-table-header,.patient-row{display:grid;grid-template-columns:1.35fr .7fr .8fr 1fr .95fr 1.2fr .7fr;gap:1rem;align-items:center}.patients-table-header{padding:.85rem 1rem;background:#f7f9ff;font-size:.85rem;font-weight:600;color:#3f4b6b;text-transform:uppercase;letter-spacing:.03em}.patients-table-header-centered{text-align:center}.patients-table-body{display:grid}.patient-row{padding:.85rem 1rem;border-top:1px solid #eef1f6;background:#fff;text-align:left;transition:background .2s ease;cursor:pointer}.patient-row:hover{background:#f8f9ff}.patient-row:focus-visible{outline:2px solid #2b3a6b;outline-offset:-2px}.patient-row.selected{background:#eef3ff}.patient-row .cell{display:flex;flex-direction:column;gap:.2rem}.patient-row .cell.compact{align-items:center;justify-content:center;text-align:center}.patient-row .cell .chip{align-self:flex-start;font-size:.75rem;padding:.2rem .5rem}.patient-status-chip-row{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.1rem}.patient-status-chip{width:fit-content;max-width:100%;flex:0 0 auto}.patient-status-chip.success{padding-inline:.35rem;background:var(--state-success-bg);color:var(--state-success-fg);border-color:color-mix(in srgb,var(--state-success-fg) 28%,transparent)}.patient-status-chip.info{background:var(--state-info-bg);color:var(--state-info-fg);border-color:color-mix(in srgb,var(--state-info-fg) 24%,transparent)}.patient-status-chip.warning{background:var(--state-warning-bg);color:var(--state-warning-fg);border-color:color-mix(in srgb,var(--state-warning-fg) 28%,transparent)}.patient-row .cell.actions{align-items:flex-end}.patient-row .cell.types{align-items:center}.patient-row .cell.types .chip-row{justify-content:center}.patient-row .cell.types .patient-type-chip{cursor:default;pointer-events:none;background:#eef1ff!important;color:#2b3a6b!important;border-color:#e1e7ff!important}.patient-row .cell.types .patient-type-chip:hover,.patient-row .cell.types .patient-type-chip:focus-visible,.patient-row .cell.types .patient-type-chip:active{background:#eef1ff!important;color:#2b3a6b!important;border-color:#e1e7ff!important}.row-actions{display:inline-flex;gap:.4rem;opacity:0;transition:opacity .2s ease}.patient-row:hover .row-actions,.patient-row.selected .row-actions,.row-actions.always-visible{opacity:1}.patients-archived-layout{grid-template-columns:minmax(0,1fr)}.patients-archived-layout .patients-list{width:100%}.patients-archived-header-note{margin-bottom:.45rem}.patients-archived-table .patients-table-header,.patients-archived-table .patient-row{grid-template-columns:42px minmax(0,1.4fr) minmax(0,1.15fr) minmax(0,.95fr) minmax(0,.8fr) minmax(0,.75fr) minmax(0,1.5fr);min-width:0}.patients-archived-table .patient-row{cursor:default}.patients-archived-table .patient-row:hover{background:#fff}.patients-archived-table .cell.checkbox{flex-direction:row;align-items:center;justify-content:center}.patients-archived-table .cell.actions{align-items:flex-end}.patients-archived-table .row-actions{justify-content:flex-end;flex-wrap:nowrap}.patients-archived-table .row-actions button{width:auto}.patients-archived-table .cell{min-width:0}.patients-archived-table .cell:not(.actions):not(.checkbox){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patients-archived-empty{padding:1rem}.messages-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.messages-table{border:1px solid #eef1f6;border-radius:16px;overflow:hidden;background:#fff}.messages-table-header,.message-row{display:grid;grid-template-columns:1.2fr 2fr 1fr .7fr;gap:1rem;align-items:center}.messages-table-header{padding:.85rem 1rem;background:#f7f9ff;font-size:.85rem;font-weight:600;color:#3f4b6b;text-transform:uppercase;letter-spacing:.03em}.messages-table-body{display:grid}.message-row{padding:.85rem 1rem;border-top:1px solid #eef1f6;background:#fff;text-align:left;transition:background .2s ease;cursor:pointer}.message-row:hover{background:#f8f9ff}.message-row:focus-visible{outline:2px solid #2b3a6b;outline-offset:-2px}.message-row.selected{background:#eef3ff}.message-cell{display:flex;flex-direction:column;gap:.2rem}.message-cell.actions{align-items:flex-end}.message-unread-badge{display:inline-flex;width:fit-content;margin-top:.2rem;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;color:#21409a;background:#e5edff}.messages-thread-panel{gap:.85rem}.message-thread-item{align-items:stretch;padding-left:.8rem}.message-thread-item+.message-thread-item{margin-top:.85rem;padding-top:.85rem;border-top:1px solid #e5ebf5}.message-thread-item.outbound{border-left:3px solid #2b3a6b}.message-thread-item.inbound{border-left:3px solid #0d9488}.message-thread-head{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;font-size:.83rem}.message-auto-pill{display:inline-flex;align-items:center;justify-content:center;padding:.1rem .44rem;border-radius:999px;background:#dbeafe;color:#1e3a8a;font-size:.7rem;font-weight:700;line-height:1}.message-read-pill{padding:.12rem .42rem;border-radius:999px;font-size:.72rem;font-weight:700}.message-read-pill.read{color:#155e75;background:#e0f2fe}.message-read-pill.unread{color:#9a3412;background:#ffedd5}.message-thread-body{margin-top:.35rem;color:#1f2937;font-size:.92rem;line-height:1.45}.message-thread-body p{margin:0 0 .45rem}.message-thread-body p:last-child{margin-bottom:0}.message-reply-composer{display:grid;grid-template-rows:minmax(0,auto) auto;gap:.6rem;min-height:0}.message-reply-editor{min-height:0}.message-reply-editor .ql-container{max-height:190px;overflow-y:auto}.message-reply-composer .modal-actions{position:sticky;bottom:0;background:#fff;padding-top:.25rem}.message-reply-editor .ql-editor,.message-compose-editor .ql-editor{min-height:120px}.message-reply-editor .ql-editor{max-height:190px;overflow-y:auto}.message-row:hover .row-actions,.message-row.selected .row-actions{opacity:1}.materials-shell,.messages-shell{display:grid;gap:1.2rem}.messages-page-layout{display:grid;grid-template-columns:220px minmax(280px,360px) minmax(0,1fr);gap:1rem;box-sizing:border-box;height:calc(100dvh - var(--topbar-height) - 4.25rem);min-height:0}.messages-sidebar{border:1px solid #e5edf8;border-radius:14px;background:#f8fbff;padding:.8rem;display:grid;align-content:start;gap:.75rem}.messages-compose-btn{width:100%}.messages-mailboxes{display:grid;gap:.35rem}.messages-mailbox-item{border:1px solid #dbe5f3;border-radius:11px;background:#fff;color:#1f2937;padding:.52rem .62rem;text-align:left;font-size:.86rem;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.messages-mailbox-item.active{background:#e6efff;border-color:#b9cdf6}.messages-mailbox-item:hover,.messages-mailbox-item:focus-visible{background:color-mix(in srgb,var(--state-info-bg) 72%,white);color:var(--state-info-fg);border-color:color-mix(in srgb,var(--state-info-fg) 26%,transparent)}.messages-mailbox-count{min-width:1.7rem;height:1.35rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#eef3fb;color:#334155;font-size:.75rem;font-weight:700}.messages-mailbox-item:hover .messages-mailbox-count,.messages-mailbox-item:focus-visible .messages-mailbox-count{background:#fff;color:var(--state-info-fg)}.messages-list-pane,.messages-view-shell{border:1px solid #e5edf8;border-radius:14px;background:#fff;min-height:0;padding:.75rem;overflow:hidden}.messages-list-pane{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.65rem}.messages-list-toolbar{display:flex;gap:.55rem}.messages-list-toolbar .search-box{flex:1 1 auto}.messages-conversation-list{display:grid;align-content:start;gap:.45rem;overflow:auto;min-height:0}.messages-list-empty{margin:0}.messages-conversation-row{border:1px solid #e6ecf7;border-radius:12px;background:#fff;color:#1f2937;padding:.62rem .7rem;text-align:left;display:grid;gap:.5rem;cursor:pointer;transition:border-color .18s ease,background .18s ease}.messages-conversation-row:hover{border-color:#c9d8ef;background:#f8fbff}.messages-conversation-row.selected{border-color:#9eb9ea;background:#eef4ff;color:#1f2937}.messages-conversation-primary,.messages-conversation-secondary{display:grid;gap:.22rem}.messages-conversation-subject,.messages-conversation-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-conversation-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.78rem}.messages-view-shell{display:grid;padding:0;height:100%}.messages-view-pane{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;height:100%;padding:.8rem;gap:.75rem}.messages-view-empty{align-items:center}.messages-mobile-back{display:none}.messages-thread-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.messages-thread-header h3{margin:0;font-size:1rem}.messages-thread-header .muted{margin-top:.2rem}.messages-thread-header-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.messages-thread-timeline{min-height:0;overflow:auto;display:grid;align-content:start;gap:.6rem}.messages-thread-empty{margin:0}.messages-thread-address{margin:.35rem 0 0;font-size:.78rem}.messages-recipient-fieldset{margin:0;padding:0;border:0;display:grid;gap:.65rem}.messages-recipient-fieldset legend{padding:0;font-weight:600}.messages-recipient-modes{display:grid;gap:.55rem}.messages-recipient-mode{display:flex;align-items:center;gap:.55rem}.messages-recipient-grid{display:grid;gap:1rem}.messages-date-range-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.messages-patient-picker{display:grid;gap:.75rem}.messages-patient-picker-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.messages-patient-picker-actions{display:flex;gap:.5rem;flex-wrap:wrap}.messages-patient-checkboxes{display:grid;gap:.55rem;max-height:16rem;overflow-y:auto;padding:.85rem;border:1px solid var(--border-subtle, #d8dde8);border-radius:12px;background:var(--surface-subtle, #f8fafc)}.messages-patient-checkbox{display:flex;align-items:flex-start;gap:.65rem}.messages-patient-checkbox input{margin-top:.15rem}.messages-preview-panel{display:grid;gap:.6rem}.messages-send-summary{display:grid;gap:.55rem}.messages-send-summary-title{margin:0;font-weight:600}.messages-send-summary-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;border:1px solid var(--border-subtle, #d8dde8);border-radius:12px;background:var(--surface-subtle, #f8fafc)}.messages-send-summary-chip{display:inline-flex;align-items:center;padding:.35rem .6rem;border-radius:999px;background:var(--surface-default, #ffffff);border:1px solid var(--border-subtle, #d8dde8);color:var(--text-primary, #111827);font-size:.9rem}.messages-recipient-hint{margin:.1rem 0 .15rem}.mobile-only{display:none}@media(max-width:1200px){.settings-planning-qr-footer{grid-template-columns:1fr}.messages-page-layout{grid-template-columns:200px minmax(250px,320px) minmax(0,1fr)}}@media(max-width:1100px){.messages-page-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.messages-sidebar{display:none}}.tasks-shell{display:grid;gap:.9rem}.tasks-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.tasks-filters{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.tasks-filter-btn{border:1px solid #d5deec;border-radius:999px;background:#f8fafc;color:#334155;font-size:.82rem;font-weight:600;padding:.3rem .58rem;display:inline-flex;align-items:center;gap:.3rem}.tasks-filter-btn.active{background:#0b4f3c;border-color:#0b4f3c;color:#fff}.tasks-filter-count{border-radius:999px;background:#ffffff4d;font-size:.72rem;padding:.03rem .38rem;line-height:1.1}.tasks-filter-btn:not(.active) .tasks-filter-count{background:#e2e8f0;color:#475569}.tasks-filters .tasks-filter-btn:hover,.tasks-filters .tasks-filter-btn:focus-visible{color:#fff}.tasks-groups{display:grid;gap:.7rem}.tasks-completed{display:grid;gap:.5rem;margin-top:.3rem}.tasks-completed-toggle{border:1px solid #d5deec;border-radius:12px;background:#f8fafc;color:#334155;font-weight:700;padding:.5rem .7rem;text-align:left;transition:none}.tasks-completed-toggle:hover,.tasks-completed-toggle:focus-visible{background:#f8fafc;color:#334155;border-color:#d5deec}.tasks-completed-body{display:grid;gap:.6rem}.tasks-group-card{border:1px solid #dbe6f4;border-radius:14px;background:#fff;padding:.5rem .6rem;display:grid;gap:.22rem}.tasks-group-head{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.tasks-group-head h3{margin:0;font-size:.98rem}.tasks-group-head .hint{margin:0;line-height:1;display:inline-flex;align-items:center}.tasks-list{display:grid;gap:.35rem;margin:0}.tasks-item{border:1px solid #e2e8f0;border-radius:10px;padding:.45rem .55rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem .7rem;align-items:center;background:#f8fafc}.tasks-item:hover{background:color-mix(in srgb,var(--state-info-bg) 34%,white);border-color:var(--border-default)}.tasks-item-content{display:grid;gap:.35rem;min-width:0}.tasks-item-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem;align-items:start}.tasks-item-open{border:none;background:transparent;padding:0;margin:0;min-width:0;text-align:left;display:grid;gap:.28rem;cursor:pointer}.tasks-item-open:hover,.tasks-item-open:focus-visible{background:transparent;color:inherit}.tasks-item-open:hover .tasks-item-title{text-decoration:none}.tasks-item-title{font-weight:700;color:#1f2937;line-height:1.3}.tasks-item.done .tasks-item-title{text-decoration:line-through;color:#64748b}.tasks-item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.tasks-item-date{font-size:.8rem;color:#334155;font-weight:600}.tasks-category-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.14rem .48rem;font-size:.72rem;font-weight:700;border:1px solid transparent;line-height:1.15}.tasks-category-badge.task-rdv{color:#1e3a8a;background:#e0ecff;border-color:#bfd5ff}.tasks-category-badge.task-a_contacter{color:#7c2d12;background:#ffedd5;border-color:#fed7aa}.tasks-category-badge.task-facturation{color:#92400e;background:#fef3c7;border-color:#fde68a}.tasks-category-badge.task-document{color:#166534;background:#dcfce7;border-color:#bbf7d0}.tasks-source-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.16rem .52rem;font-size:.72rem;font-weight:700;border:1px solid transparent}.tasks-source-badge.auto{color:#7c2d12;background:#fff7ed;border-color:#fed7aa}.tasks-source-badge.manual{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.tasks-item-patients{font-size:.82rem;color:#475569}.tasks-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;align-self:center;white-space:nowrap}.tasks-item-actions .task-category-action.task-rdv,.appointment-actions .task-category-complete.task-rdv{background:#e0ecff;border-color:#bfd5ff;color:#1e3a8a}.tasks-item-actions .task-category-action.task-a_contacter,.appointment-actions .task-category-complete.task-a_contacter{background:#ffedd5;border-color:#fed7aa;color:#7c2d12}.tasks-item-actions .task-category-action.task-facturation,.appointment-actions .task-category-complete.task-facturation{background:#fef3c7;border-color:#fde68a;color:#92400e}.tasks-item-actions .task-category-action.task-document,.appointment-actions .task-category-complete.task-document{background:#dcfce7;border-color:#bbf7d0;color:#166534}.task-modal{max-width:760px}.task-edit-actions{display:grid;gap:.45rem}.task-edit-actions-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.task-edit-actions-row>button,.task-edit-complete{width:100%;justify-content:center}.task-create-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.task-modal-grid{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.task-create-fields{display:grid;gap:.65rem}.task-category-field{display:grid;gap:.35rem}.task-category-field-full{margin-top:.15rem}.task-date-field{display:grid;gap:.35rem}.task-category-pill-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;width:100%}.task-category-pill{border:1px solid #d6e0ef;border-radius:999px;background:#fff;color:#334155;font-size:.76rem;font-weight:700;line-height:1.05;padding:.14rem .58rem;width:100%;display:inline-flex;align-items:center;justify-content:center}.task-category-pill.task-none{border-color:#d6dde8;color:#475569}.task-category-pill.task-rdv{background:#e0ecff;border-color:#bfd5ff;color:#1e3a8a}.task-category-pill.task-a_contacter{background:#ffedd5;border-color:#fed7aa;color:#7c2d12}.task-category-pill.task-facturation{background:#fef3c7;border-color:#fde68a;color:#92400e}.task-category-pill.task-document{background:#dcfce7;border-color:#bbf7d0;color:#166534}.task-category-pill:not(.active){opacity:1}.task-category-pill.active{box-shadow:inset 0 0 0 2px #0f172a29}.task-category-pill.task-none:not(.active){background:#fff}.task-category-pill.task-rdv:not(.active){background:#e0ecff}.task-category-pill.task-a_contacter:not(.active){border-color:#fed7aa;color:#7c2d12;background:#ffedd5}.task-category-pill.task-facturation:not(.active){background:#fef3c7}.task-category-pill.task-document:not(.active){background:#dcfce7}.task-patient-search-box{margin-bottom:.45rem}.task-patient-results{border:1px solid #dbe6f4;border-radius:10px;background:#f8fafc;max-height:200px;overflow:auto;padding:.4rem;display:grid;gap:.2rem}.task-patient-option{display:flex;align-items:center;gap:.45rem;padding:.26rem .2rem}.materials-count{font-size:.85rem;color:var(--muted-ink);background:#eef3f8;padding:.2rem .6rem;border-radius:999px}.materials-mobile-search{display:none}.materials-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.materials-inline-toolbar{align-items:flex-end;justify-content:flex-end}.materials-reset-button{position:relative;min-width:44px;width:44px;min-height:38px;height:38px;flex:0 0 44px;padding:0;display:inline-grid;place-items:center;line-height:0;color:#0f172a;box-sizing:border-box;border-radius:12px;align-self:flex-end}.materials-reset-button-icon{display:inline-grid;place-items:center;width:18px;height:18px}.materials-reset-button-icon svg{display:block;width:18px;height:18px;stroke-width:2.2}.materials-reset-button:after{content:attr(data-tooltip);position:absolute;right:0;top:calc(100% + 8px);width:max-content;max-width:min(80vw,220px);padding:.38rem .5rem;border-radius:8px;background:#0f172a;color:#fff;font-size:.76rem;line-height:1.2;white-space:normal;box-shadow:0 8px 18px #0f172a47;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .08s ease;z-index:20}.materials-reset-button:before{content:"";position:absolute;right:12px;top:calc(100% + 2px);border:6px solid transparent;border-bottom-color:#0f172a;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .08s ease;z-index:20}.materials-reset-button:hover:after,.materials-reset-button:hover:before,.materials-reset-button:focus-visible:after,.materials-reset-button:focus-visible:before{opacity:1;visibility:visible}.materials-assignment-panel{display:grid;gap:.85rem;padding:1rem;border:1px solid #dbe5f0;border-radius:16px;background:#f8fbff}.materials-assignment-copy{display:grid;gap:.2rem}.materials-assignment-copy p{margin:0;color:#94a3b8}.materials-assignment-grid{display:flex;align-items:center;justify-content:space-between;gap:.9rem;flex-wrap:wrap}.materials-assignment-patient-search{width:min(420px,100%);min-width:280px}.materials-assignment-patient-search>input{width:100%}.materials-assignment-patient-search .patient-search-results{width:100%;box-sizing:border-box}.materials-assignment-copy strong{white-space:nowrap}.materials-assignment-summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:.9rem;flex-wrap:wrap;padding:.8rem .9rem;border:1px solid #dbe5f0;border-radius:12px;background:#fff}.materials-assignment-count{color:#475569;font-weight:600}.journal-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.journal-toggle{display:inline-flex;align-items:center;background:#edf2fa;border:1px solid #d8e2ef;border-radius:999px;padding:.2rem;gap:.2rem}.journal-toggle button{border:none;background:transparent;color:#334155;font-weight:600;border-radius:999px;padding:.45rem .8rem}.journal-toggle button.active{background:#0b4f3c;color:#fff}.journal-day-label{color:#334155;font-weight:600}.journal-day-stats-inline{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-left:.45rem;color:#64748b;font-weight:500}.journal-day-label-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-right:.5rem}.journal-day-stats-inline{margin-left:auto;justify-content:flex-end}.journal-day-stats{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;color:inherit}.journal-day-stats-separator{color:var(--text-muted)}.journal-shell{display:grid;gap:.8rem}.planning-day-tasks{border:1px solid #dbe6f4;background:#f8fbff;border-radius:12px;padding:.55rem .7rem;display:grid;gap:.45rem;margin-bottom:.65rem}.planning-day-tasks-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.planning-day-tasks-head h4{margin:0;font-size:.98rem}.planning-day-tasks-head .hint{margin:.1rem 0 0;display:block}.planning-day-tasks-summary{border:1px solid #c7d6ea;background:#fff;border-radius:10px;color:#1f2937;font-weight:600;justify-self:flex-start;padding:.35rem .7rem}.planning-day-task-list{display:grid;gap:.35rem}.planning-day-task-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem;align-items:center;background:#fff;border:1px solid #dbe6f4;border-radius:10px;padding:.35rem .5rem}.planning-day-task-row.done .planning-day-task-title{text-decoration:line-through;color:#64748b}.planning-day-task-title{font-weight:600;color:#1f2937}.planning-day-task-body{display:grid;gap:.16rem;min-width:0}.planning-day-task-meta{display:flex;align-items:center;gap:.38rem;min-width:0}.planning-day-task-patients{color:#64748b;font-size:.78rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-day-tasks-collapse{justify-self:flex-start}.journal-day-tasks-panel{border:1px solid #dbe6f4;border-radius:14px;background:#fff;padding:.65rem .75rem;display:grid;gap:.5rem}.journal-day-tasks-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.journal-day-tasks-head h3{margin:0;font-size:1rem}.journal-day-tasks-head-actions{display:inline-flex;align-items:center;gap:.3rem}.journal-day-tasks-fab{width:34px;min-width:34px;height:34px;padding:0;border-radius:10px;border:none;display:inline-grid;place-items:center;flex-shrink:0}.journal-day-tasks-fab-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;transform:none}.journal-day-tasks-fab-icon:before,.journal-day-tasks-fab-icon:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:currentColor;border-radius:999px}.journal-day-tasks-fab-icon:before{width:12px;height:2.5px}.journal-day-tasks-fab-icon:after{width:2.5px;height:12px}.journal-day-tasks-fab:hover,.journal-day-tasks-fab:focus-visible{transform:translateY(-1px)}.journal-day-tasks-list{display:grid;gap:.35rem}.journal-day-task-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem;align-items:center;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:.35rem .5rem}.journal-day-task-title{font-weight:600}.journal-day-task-row.done .journal-day-task-title{text-decoration:line-through;color:#64748b}.journal-day-task-patients{font-size:.78rem;color:#64748b;margin-left:.4rem}.journal-table-wrap{border:1px solid #e6edf7;border-radius:14px;background:#fff;overflow:auto;-ms-overflow-style:none;scrollbar-width:none}.journal-table-wrap::-webkit-scrollbar{width:0;height:0;display:none}.journal-table{width:100%;min-width:1340px;border-collapse:collapse}.journal-shell .journal-table{min-width:0;table-layout:fixed}.journal-table thead th{text-align:left;font-size:.8rem;letter-spacing:.02em;text-transform:uppercase;color:#41506b;background:#f7f9ff;padding:.75rem .7rem;border-bottom:1px solid #e4ebf7}.journal-table thead th:first-child{position:relative;width:82px;min-width:82px;white-space:nowrap;line-height:1.15;padding-left:.68rem;padding-right:.4rem;text-align:left}.journal-table thead th:first-child:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#fff}.journal-th-day-report{min-width:260px;white-space:normal;line-height:1.2}.journal-shell .journal-table thead th:nth-child(2),.journal-shell .journal-table tbody td:nth-child(2){width:14%;min-width:0}.journal-shell .journal-table thead th:nth-child(3),.journal-shell .journal-table tbody td:nth-child(3),.journal-shell .journal-table thead th:nth-child(4),.journal-shell .journal-table tbody td:nth-child(4),.journal-shell .journal-table thead th:nth-child(5),.journal-shell .journal-table tbody td:nth-child(5){width:calc((100% - 82px - 14%) / 3);min-width:0}.journal-shell .journal-th-past-report,.journal-shell .journal-th-day-report{min-width:0}.journal-table thead th.journal-th-day-report{background:#dceeff;color:var(--state-info-fg);border-left:1px solid #8ab7e6}.journal-th-day-report-label{display:inline-flex;align-items:center;gap:.4rem}.journal-th-info-tip{width:14px;min-width:14px;height:14px;font-size:.56rem;font-weight:700;line-height:1;border-color:#b8cde3;background:#f7fbff;color:#35526d}.journal-table tbody td{vertical-align:top;padding:.75rem .7rem;border-top:1px solid #eef3fb}.journal-table tbody td:first-child{width:82px;min-width:82px;white-space:nowrap;position:relative;padding-left:.68rem;padding-right:.4rem;text-align:left}.journal-table tbody td:first-child:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#fff}.journal-table tbody td:first-child strong{display:block;font-size:.86rem;font-weight:600;color:#334155;text-align:left;line-height:1.2}.journal-day-report-cell{min-width:260px;background:#eef6ff;border-left:1px solid #8ab7e6;padding-left:.5rem;padding-right:.5rem}.journal-shell .journal-day-report-cell{min-width:0;padding-left:.7rem;padding-right:.7rem}.journal-shell .journal-table tbody tr+tr .journal-day-report-cell{border-top:1px solid #a9c6e3;box-shadow:inset 0 1px #a9c6e3}.journal-day-report-cell textarea{display:block;width:100%;max-width:none;box-sizing:border-box;resize:vertical;background:#fff;border:1px solid #b8cbe3}.journal-shell .journal-day-report-input{display:block;width:calc(100% - 4px)!important;max-width:100%!important;min-width:0;box-sizing:border-box;margin:0;background:#fff;border:1px solid #b8cbe3;border-radius:10px;resize:vertical;font-family:inherit;font-size:.84rem;font-weight:400;line-height:1.35}.journal-shell .journal-day-report-input::placeholder{font-family:inherit;font-size:.84rem;font-weight:400}.journal-table tbody tr:first-child td{border-top:none}.journal-past-column{background:#f8fafc}.journal-shell .journal-past-column{min-width:0}.journal-note-preview{margin:0;color:#64748b;white-space:pre-wrap}.journal-shell .journal-note-preview{overflow-wrap:anywhere;font-family:inherit;font-size:.84rem;font-weight:400;line-height:1.35}.journal-note-preview-rich{padding:0;background:transparent}.journal-note-preview-rich p{margin:0 0 .35rem}.journal-note-preview-rich p:last-child{margin-bottom:0}.journal-shell .journal-support-cell{min-width:0}.journal-shell .journal-table thead th,.journal-shell .journal-table tbody td{overflow-wrap:anywhere;word-break:break-word}.journal-report-actions{margin-top:.45rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.journal-report-link{font-size:.82rem;transition:none;text-decoration:none}.journal-report-link:hover,.journal-report-link:focus-visible{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1.5px}.journal-consultation-badges{display:flex;flex-wrap:wrap;gap:.35rem}.journal-patient-cell{display:grid;gap:.38rem}.journal-session-label{font-size:.82rem;font-weight:600;color:#475569}.journal-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.76rem;font-weight:700;line-height:1.2;padding:.18rem .55rem;border:1px solid transparent}.journal-badge-type{background:var(--type-badge-bg, #ecfdf5);border-color:var(--type-badge-bg, #bbf7d0);color:var(--type-badge-fg, #166534)}.journal-badge-location{background:var(--location-badge-bg, #eff6ff);border-color:var(--location-badge-bg, #bfdbfe);color:var(--location-badge-fg, #1d4ed8)}.journal-support-cell{display:grid;gap:.45rem;min-width:230px}.journal-support-summary-list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.journal-support-summary-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.journal-support-summary-name{font-size:.84rem;font-weight:600;color:#1f2937}.journal-support-summary-ratio{font-size:.8rem;font-weight:700;color:#475569;font-variant-numeric:tabular-nums}.journal-support-summary-item.done .journal-support-summary-name{text-decoration:line-through;color:#64748b}.journal-support-toggle{border:none;background:transparent;color:#2563eb;font-size:.82rem;font-weight:600;padding:0;text-align:left;transition:none;text-decoration:none}.journal-support-toggle:hover,.journal-support-toggle:focus-visible{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1.5px}.journal-support-accordion{border:1px solid #dbe6f4;border-radius:12px;background:#f8fbff;padding:.5rem;display:grid;gap:.55rem}.journal-support-group{display:grid;gap:.32rem}.journal-support-group h5{margin:0;font-size:.8rem;color:#334155}.journal-support-group.done h5{text-decoration:line-through;color:#64748b}.journal-support-checklist{display:grid;gap:.28rem}.journal-support-check{display:flex;align-items:flex-start;gap:.4rem;font-size:.78rem;color:#1f2937;line-height:1.3}.journal-support-check input{margin-top:.1rem}.journal-support-saving{margin:0;font-size:.75rem;color:#64748b}.journal-day-report-editor .ql-container,.journal-day-report-editor .ql-editor{min-height:96px;max-height:220px;font-weight:400}.journal-day-report-editor .ql-container{border-top:1px solid #e5e7eb;border-radius:10px}.journal-day-tasks-list .tasks-item{transition:none}.journal-day-tasks-list .tasks-item:hover{background:#f8fafc;border-color:#e2e8f0}.journal-day-tasks-fab{transition:none}.journal-day-tasks-fab:hover,.journal-day-tasks-fab:focus-visible{transform:none}.journal-shell .journal-patient-link,.journal-shell .journal-report-link,.journal-shell .journal-support-toggle{transition:none;text-decoration:none}.journal-shell .journal-patient-link:hover,.journal-shell .journal-patient-link:focus-visible,.journal-shell .journal-patient-link:hover strong,.journal-shell .journal-patient-link:focus-visible strong{background:transparent;color:inherit;border-color:transparent;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1.5px}.journal-shell .journal-support-toggle:hover,.journal-shell .journal-support-toggle:focus-visible,.journal-shell .journal-report-link:hover,.journal-shell .journal-report-link:focus-visible{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1.5px}.materials-filters-mobile{display:none;border:1px solid #e2e8f0;border-radius:14px;padding:.4rem .8rem;background:#fff}.materials-filters-mobile summary{cursor:pointer;font-weight:600}.materials-filters-mobile-grid{display:grid;gap:.6rem;margin-top:.6rem}.materials-table{border:1px solid #eef1f6;border-radius:16px;overflow:visible;background:#fff}.materials-table-header,.materials-row{display:grid;grid-template-columns:1.25fr 1fr .7fr .85fr .95fr 1.1fr 1.05fr .5fr;gap:1rem;align-items:center}.materials-table.is-selecting .materials-table-header,.materials-table.is-selecting .materials-row{grid-template-columns:.5fr 1.25fr 1fr .7fr .85fr .95fr 1.1fr 1.05fr .5fr}.materials-table:not(.waitlist-table) .materials-table-header{padding:.85rem 1rem;background:#f7f9ff;font-size:.8rem;font-weight:600;color:#3f4b6b;text-transform:none;letter-spacing:.03em}.materials-row{padding:.85rem 1rem;border-top:1px solid #eef1f6;background:#fff;cursor:pointer;transition:background .2s ease}.materials-row.is-selecting{cursor:default}.materials-row:hover{background:#f8f9ff}.materials-row.is-selecting:hover{background:#fff}.materials-row:focus-visible{outline:2px solid #2b3a6b;outline-offset:-2px}.professionals-table .materials-table-header,.professionals-table .materials-row{grid-template-columns:1.25fr 1fr .9fr 1.15fr 1.25fr 1.5fr .7fr;min-width:1020px}.professionals-table .materials-row{cursor:default}.professionals-table .materials-cell{min-width:0}.professionals-table .materials-cell:not(.actions):not(.professionals-patients-cell){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.professionals-table .materials-cell.actions{align-self:stretch;overflow:visible;white-space:normal;text-overflow:clip}.professionals-table .materials-cell.actions .row-menu{margin-left:auto}.professionals-table .materials-row .materials-cell:nth-child(7){overflow:visible;white-space:normal;text-overflow:clip}.professionals-table .materials-row .materials-cell:nth-child(5){overflow:visible;white-space:normal;text-overflow:clip}.professionals-table .materials-row .materials-cell:nth-child(6){overflow:visible;white-space:normal;text-overflow:clip}.materials-cell.actions{display:flex;justify-content:flex-end}.materials-selection-cell{display:flex;align-items:center;justify-content:center}.materials-selection-cell input,.materials-card-checkbox input{width:16px;height:16px;margin:0}.materials-selection-cell input:disabled,.materials-card-checkbox input:disabled{cursor:default}.materials-card-checkbox input:disabled+span{opacity:.72}.materials-row .materials-cell:nth-child(6),.materials-row .materials-cell:nth-child(7){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.professionals-table .materials-row .materials-cell:nth-child(4){white-space:normal;overflow:visible;text-overflow:clip}.support-type-badge{display:inline-flex;align-items:center;justify-content:center;padding:.18rem .55rem;border-radius:999px;font-size:.76rem;font-weight:700;line-height:1.2;border:1px solid #d9e2ef;background:#f3f7fc;color:#1e293b}.support-type-badge.with_material{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.support-type-badge.without_material{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.sort-button{background:transparent;border:none;color:inherit;font:inherit;padding:0;display:inline-flex;align-items:center;gap:.3rem;cursor:pointer}.materials-table .sort-button:hover,.materials-table .sort-button:focus-visible{background:transparent;color:inherit}.sort-indicator{font-size:.85rem}.row-menu{position:relative}.row-menu summary{list-style:none;cursor:pointer;padding:.2rem .45rem;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc}.row-menu summary::-webkit-details-marker{display:none}.row-menu-list{position:absolute;right:0;top:120%;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.4rem;display:grid;gap:.3rem;min-width:140px;box-shadow:0 16px 28px #0f172a1f;z-index:5}.row-menu-list button{background:transparent;color:#1f2937;border:none;padding:.4rem .6rem;text-align:left;border-radius:8px}.row-menu-list button:hover{background:#eef5f1;color:var(--accent)}.materials-cards{display:none;gap:.8rem}.materials-card{border:1px solid #e8edf7;border-radius:16px;padding:.9rem;background:#fff;display:grid;gap:.5rem;cursor:pointer}.materials-card.is-selecting{cursor:default}.materials-card-header{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.materials-card-checkbox{display:inline-flex;align-items:center;gap:.45rem;color:#334155;font-size:.88rem;font-weight:600;cursor:pointer}.materials-card-meta{display:flex;align-items:center;gap:.4rem;color:#475569;font-size:.9rem}.materials-card-location{color:#1f2937;font-weight:500}.follow-up-shell{display:grid;gap:1rem}.follow-up-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.follow-up-header h2{margin:0}.follow-up-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.follow-up-section-list{display:grid;gap:.9rem}.follow-up-section-card{display:grid;gap:.75rem;padding:1rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--border-default) 82%,transparent);background:color-mix(in srgb,var(--bg-elevated) 90%,var(--bg-app))}.follow-up-section-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.follow-up-table .materials-row{cursor:default}.follow-up-table .materials-row:hover{background:#fff}.follow-up-table .materials-row.is-clickable{cursor:pointer}.follow-up-table .materials-row.is-clickable:hover{background:#f8f9ff}.follow-up-table .materials-row.is-clickable:focus-visible,.follow-up-card.is-clickable:focus-visible{outline:2px solid #2b3a6b;outline-offset:-2px}.follow-up-send-button{display:inline-flex;align-items:center;justify-content:center}.follow-up-table .materials-cell.follow-up-cell-center{display:flex;align-items:center;justify-content:center;text-align:center}.follow-up-domain-list{display:flex;flex-wrap:wrap;gap:.4rem}.follow-up-domain-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .55rem;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border-default));background:color-mix(in srgb,var(--accent-soft, var(--state-info-bg)) 70%,#fff);color:var(--text-primary);font-size:.78rem;font-weight:600}.follow-up-card{cursor:default}.follow-up-card.is-clickable{cursor:pointer}.follow-up-card-actions{display:flex;justify-content:flex-end}.follow-up-modal{max-width:720px}.follow-up-questionnaire-modal{width:min(1120px,calc(100vw - 2rem));max-width:1120px}.follow-up-send-modal{width:min(560px,calc(100vw - 2rem));max-width:calc(100vw - 2rem);overflow-x:hidden}.follow-up-question-row{align-items:center}.follow-up-question-row input{flex:1 1 auto}.follow-up-question-list{margin:0;padding-left:1.1rem;display:grid;gap:.55rem}.follow-up-question-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.follow-up-question-item button{width:auto;flex:0 0 auto}.follow-up-questionnaire-modal .appointment-actions{flex-wrap:wrap}.resource-row-actions{display:flex;flex-wrap:wrap;gap:.45rem}.resource-row-actions button{width:auto}.resource-row-actions-mobile{margin-top:.35rem}.resource-description-cell{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.resource-taxonomy-field-head .appointment-label{margin:0}.resource-filter-control{display:grid;gap:.25rem;align-items:start;align-self:flex-end;justify-items:center}.resource-filter-manage-button{min-height:auto;padding:.12rem 0;border:none;background:transparent;color:var(--text-muted);font-size:.74rem;font-weight:400;text-align:center;justify-self:center;white-space:nowrap}.resource-filter-manage-button:hover,.resource-filter-manage-button:focus-visible{background:transparent;border:none;color:var(--text-muted)}.professionals-cards .materials-card{cursor:default}.professionals-card-lines{display:grid;gap:.5rem}.professionals-card-line{display:grid;gap:.15rem}.professionals-card-label{color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.materials-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.materials-pagination-count{color:#475569;font-size:.9rem}.materials-pagination-controls{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.materials-pagination-pages{display:inline-flex;gap:.4rem}.materials-pagination-pages button{background:#eef3f8;color:#1f2937;border:none;padding:.35rem .7rem;border-radius:8px}.materials-pagination-pages button.active{background:var(--accent);color:var(--accent-ink)}.materials-empty{border:1px dashed #d7dbe7;border-radius:18px;padding:2rem;text-align:center;background:#fff;display:grid;gap:1rem;justify-items:center}.icon-btn{border-radius:8px;background:#eef1ff;color:#2b3a6b;border:none;padding:.35rem .55rem;cursor:pointer}.icon-btn svg{width:18px;height:18px;display:block}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:999px;background:#eef1ff;color:#2b3a6b;font-size:.85rem;border:1px solid #e1e7ff;cursor:pointer}.chip.is-draggable{cursor:grab;-webkit-user-select:none;user-select:none}.chip.is-draggable.dragging{opacity:.55;cursor:grabbing}.chip.is-draggable.drag-over{outline:2px dashed #94a3b8;outline-offset:2px}.chip:hover,.chip:focus-visible,.chip.active:hover,.chip.active:focus-visible{background:var(--primary-hover);color:var(--accent-ink);border-color:var(--primary-hover)}.chip.active{background:#0b3d2e;color:#fff;border-color:#0b3d2e}.chip-remove{background:transparent;border:none;padding:0;cursor:pointer;color:inherit;font-size:.9rem;line-height:1}.patient-consultation-access-summary,.patient-consultation-editor{display:grid;gap:.85rem}.patient-consultation-access-card{display:grid;gap:.45rem;padding:1rem 1.05rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--border-default) 78%,transparent);background:radial-gradient(circle at top right,color-mix(in srgb,var(--state-info-bg) 62%,transparent),transparent 38%),color-mix(in srgb,var(--bg-elevated) 92%,var(--bg-app))}.patient-consultation-access-card.restricted{background:radial-gradient(circle at top right,color-mix(in srgb,var(--state-success-bg) 64%,transparent),transparent 38%),color-mix(in srgb,var(--bg-elevated) 92%,var(--bg-app))}.patient-consultation-access-card strong{color:var(--text-primary)}.patient-consultation-access-card p{margin:0;color:var(--text-secondary)}.patient-consultation-editor{padding:1rem 1.05rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--border-default) 82%,transparent);background:color-mix(in srgb,var(--bg-surface) 86%,var(--bg-app))}.patient-consultation-editor-section{display:grid;gap:.6rem}.patient-consultation-badge-list{display:flex;flex-wrap:wrap;gap:.45rem}.patient-consultation-option-grid{display:flex;flex-wrap:wrap;gap:.55rem}.patient-consultation-option{display:inline-flex;align-items:center;padding:.22rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--border-default) 82%,transparent);background:color-mix(in srgb,var(--bg-elevated) 90%,var(--bg-app));cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.patient-consultation-option:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 42%,var(--border-default));box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 14%,transparent)}.patient-consultation-option.is-selected{border-color:color-mix(in srgb,var(--accent) 46%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.patient-consultation-option:disabled{cursor:not-allowed;opacity:.58}.patient-consultation-mode-toggle{color:var(--text-primary);font-weight:600}.patient-panel{position:sticky;top:24px;display:flex;flex-direction:column;background:#fff;border-radius:18px;border:1px solid #eef1f6;box-shadow:0 12px 30px #0f172a14;max-height:calc(100vh - 120px);height:calc(100vh - 120px);min-height:0;overflow:hidden}.patient-panel-inner{display:flex;flex-direction:column;flex:1 1 auto;gap:1rem;padding:1rem;box-sizing:border-box;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.patient-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.patient-panel-content{display:grid;gap:1rem}.patient-panel-content p{margin:.2rem 0 0}.panel-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.panel-actions{display:grid;gap:.6rem}.panel-action-row{display:flex;align-items:center;gap:.5rem}.panel-action-row .ghost{flex:1}.info-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;border:1px solid #d7dce4;background:#fff;color:#475569;font-size:.85rem;font-weight:600;cursor:help}.info-tip:hover{border-color:#c3c9d4;color:#1f2937}.info-tip:after{content:attr(data-tooltip);position:absolute;right:0;top:calc(100% + 8px);max-width:260px;width:max-content;padding:.5rem .6rem;border-radius:10px;background:#111827;color:#fff;font-size:.75rem;line-height:1.2;box-shadow:0 10px 24px #0f172a33;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:20;white-space:normal}.info-tip.availability-fill-mode-tip:after{content:none;display:none}.info-tip.availability-fill-mode-tip{width:20px;min-width:20px;height:20px;font-size:.7rem;font-weight:700;line-height:1;border-color:#cbd5e1}.availability-fill-mode-tip-wrap{position:relative;display:inline-flex}.availability-fill-mode-popover{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);max-width:min(82vw,460px);width:max-content;border-radius:10px;background:#111827;color:#fff;font-size:.75rem;line-height:1.35;font-weight:400;text-align:left;box-shadow:0 10px 24px #0f172a33;padding:.55rem .7rem;display:grid;gap:.32rem;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:25}.availability-fill-mode-popover-title{font-size:.82rem;font-weight:600}.availability-fill-mode-popover-description{margin-bottom:.15rem}.availability-fill-mode-popover-list{margin:0;padding-left:1rem;display:grid;gap:.2rem}.availability-fill-mode-option-label{text-decoration:underline;text-underline-offset:2px}.availability-fill-mode-tip-wrap:hover .availability-fill-mode-popover,.availability-fill-mode-tip-wrap:focus-within .availability-fill-mode-popover{opacity:1;transform:translate(-50%)}.info-tip:hover:after,.info-tip:focus-visible:after{opacity:1;transform:translateY(0)}.journal-shell .journal-th-info-tip{width:14px!important;min-width:14px!important;height:14px!important;padding:0!important;font-size:.56rem!important;font-weight:700;line-height:1;border-color:#b8cde3;background:#f7fbff;color:#35526d;text-transform:none}.journal-shell .journal-th-info-tip:after{text-transform:none}.panel-section{display:grid;gap:.4rem;padding-bottom:.8rem;border-bottom:1px solid #eef1f6}.panel-section.compact{gap:.2rem;padding-bottom:0;border-bottom:none}.panel-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;padding-bottom:.6rem;border-bottom:1px solid #eef1f6}.panel-two-col+.panel-section{padding-top:.2rem}.panel-section:last-of-type{border-bottom:none;padding-bottom:0}.full{width:100%}.empty-state{padding:1rem;color:#6b7280}.patient-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;border:none;z-index:800;display:none}.patient-detail-page{display:grid;gap:1.5rem}.patient-detail-header{position:sticky;top:calc(var(--topbar-height) + var(--local-actions-height) + 8px);z-index:28;background:#fff;border-radius:16px;border:1px solid #eef1f6;padding:1rem 1.2rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;box-shadow:0 12px 24px #0f172a0f}.content-shell.content-shell-patient-detail .patient-detail-header{top:calc(var(--topbar-height) + 8px)}.patient-header-main{display:flex;flex-direction:column;gap:.35rem;min-width:220px}.patient-header-meta{margin:0;color:#667085;font-size:.9rem;font-weight:500}.patient-detail-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.patient-detail-actions.patient-detail-actions-stacked{flex-direction:column;flex-wrap:nowrap;align-items:stretch;width:min(220px,100%)}.patient-detail-actions.patient-detail-actions-stacked>button{width:100%}.patient-detail-nav{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;border:none;background:transparent}.patient-detail-nav a{display:inline-flex;align-items:center;text-decoration:none;color:#334155;border:1px solid #d9e3ef;background:#f5f8fc;border-radius:999px;padding:.42rem .8rem;font-size:.88rem;font-weight:600;line-height:1.2}.patient-detail-nav a:hover{border-color:#c9d7e7;background:#eef4fa}.patient-detail-nav a:focus-visible{outline:2px solid #0f766e;outline-offset:2px}.patient-detail-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,1fr) minmax(0,1fr);gap:.8rem;align-items:start}.patient-layout-left{grid-column:1;grid-row:1}.patient-layout-right-stack{grid-column:2 / span 2;grid-row:1;min-width:0;display:grid;gap:.8rem;align-content:start}.patient-layout-right-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.8rem;align-items:start}.patient-layout-right{grid-column:2 / span 2}.patient-layout-right-half-left{grid-column:2}.patient-layout-right-half-right{grid-column:3}.patient-layout-full{grid-column:1 / -1}.patient-section{background:#fff;border-radius:16px;border:1px solid #eef1f6;padding:1.2rem;display:grid;gap:.7rem}.patient-section>.card{margin-top:0}#patient-info .card,#patient-info .notes-card .notes-readonly,#patient-info .notes-card textarea{background:#fff}.patient-documents-section{margin-top:0}.patient-workspace-section{gap:1rem}.patient-workspace-head{display:grid;gap:.85rem}.patient-workspace-tabs{display:flex;flex-wrap:wrap;gap:.55rem}.patient-workspace-tab{min-height:auto;padding:.55rem 1rem;border-radius:999px;border:1px solid var(--border-default);background:color-mix(in srgb,var(--bg-elevated) 68%,white 32%);color:var(--text-secondary);font-weight:700;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.patient-workspace-tab:hover,.patient-workspace-tab:focus-visible{background:color-mix(in srgb,var(--state-info-bg) 46%,var(--bg-elevated) 54%);color:var(--text-primary);border-color:color-mix(in srgb,var(--state-info-fg) 24%,var(--border-default))}.patient-workspace-tab.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 18%,transparent);transform:translateY(-1px)}.patient-workspace-tab.active:hover,.patient-workspace-tab.active:focus-visible{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.patient-workspace-panel{display:grid;gap:.9rem}.patient-workspace-block{display:grid;gap:.8rem;padding:1rem;border-radius:16px;border:1px solid var(--border-default);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-elevated) 76%,white 24%) 0%,var(--bg-surface) 100%)}.patient-document-modal{width:min(560px,92vw)}.patient-document-confirm-modal{width:min(480px,92vw)}.patient-document-modal-form{display:grid;gap:.9rem}.patient-document-confirm-text{margin:0;color:var(--text-primary);line-height:1.5}.patient-documents-table{border-radius:16px;overflow-x:auto;overflow-y:hidden;background:#fff}.patient-documents-table-header,.patient-document-table-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.95fr) 112px;gap:1rem;align-items:center;min-width:680px}.patient-documents-table-header{padding:.85rem 1rem;background:#f7f9ff;font-size:.85rem;font-weight:600;color:#3f4b6b;text-transform:uppercase;letter-spacing:.03em}.patient-documents-table-body{display:grid}.patient-document-table-row{padding:.8rem 1rem;background:#fff}.patient-document-title-cell,.patient-document-visibility-cell{min-width:0;display:flex;align-items:center}.patient-documents-actions-head{text-align:right}.patient-document-link{min-width:0;width:fit-content;max-width:100%;padding:0;border:none;background:transparent;color:var(--accent);font:inherit;font-weight:600;text-align:left;text-decoration:underline;text-underline-offset:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-document-link:hover,.patient-document-link:focus-visible{color:color-mix(in srgb,var(--accent) 80%,var(--text-primary) 20%);background:transparent}.patient-document-visibility{display:inline-flex;align-items:center;min-height:24px;max-width:100%;padding:.18rem .58rem;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.25}.patient-document-visibility.patient{background:color-mix(in srgb,var(--state-success-bg) 86%,var(--bg-elevated) 14%);color:var(--state-success-fg);border:1px solid color-mix(in srgb,var(--state-success-fg) 18%,transparent)}.patient-document-visibility.pro{background:color-mix(in srgb,var(--bg-elevated) 40%,var(--bg-app) 60%);color:var(--text-secondary);border:1px solid color-mix(in srgb,var(--border-default) 88%,var(--text-secondary) 12%)}.patient-document-row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:.35rem;flex-wrap:nowrap;flex:0 0 auto}.patient-document-delete-btn{min-width:32px;min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1}.patient-document-download-btn{min-width:32px;min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1}.patient-document-modal-form label{display:grid;gap:.35rem}.patient-document-modal-form label>span{font-size:.84rem;font-weight:700;color:var(--text-secondary)}.patient-document-modal-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.patient-document-confirm-actions{flex-wrap:nowrap}.patient-prescription-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}.patient-prescription-request-btn{display:inline-flex;align-items:center;gap:.55rem}.patient-prescription-request-icon{display:inline-flex;align-items:center;justify-content:center}.patient-prescription-request-icon svg{width:.95rem;height:.95rem}.patient-prescription-email-modal{width:min(760px,94vw)}.patient-prescription-email-recipient,.patient-prescription-email-hint{margin:0 0 .65rem}.patient-prescription-email-form{display:grid;gap:.9rem}.patient-prescription-email-form label{display:grid;gap:.35rem}.patient-prescription-email-form label>span{font-size:.84rem;font-weight:700;color:var(--text-secondary)}.patient-prescription-email-editor .ql-editor{min-height:220px}.patient-antecedent-form{display:grid;gap:.7rem;padding:.8rem .9rem;border-radius:16px;background:color-mix(in srgb,var(--state-info-bg) 34%,var(--bg-elevated) 66%);border:1px solid color-mix(in srgb,var(--state-info-fg) 14%,var(--border-default))}.patient-antecedent-form-grid{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.patient-antecedent-form label{display:grid;gap:.25rem}.patient-antecedent-date-field,.patient-antecedent-tag-field{align-content:start;grid-template-rows:32px 40px auto}.patient-antecedent-form label>span{font-size:.78rem;font-weight:700;color:var(--text-secondary)}.patient-antecedent-field-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:nowrap;min-height:32px}.patient-antecedent-manage-tags-btn{min-height:auto;padding:0;border:none;background:transparent;color:var(--accent);font-size:.76rem;font-weight:700;white-space:nowrap}.patient-antecedent-manage-tags-btn:hover,.patient-antecedent-manage-tags-btn:focus-visible{background:transparent;border:none}.patient-antecedent-tag-help{font-size:.76rem;line-height:1.3}.patient-antecedent-form input[type=date],.patient-antecedent-form select,.patient-antecedent-tag-trigger{box-sizing:border-box;min-height:40px;height:40px;padding-top:.45rem;padding-bottom:.45rem;line-height:1.2}.patient-antecedent-tag-trigger{width:100%;justify-content:space-between;gap:.7rem;border-color:var(--border-default);background:var(--bg-elevated);padding-inline:.7rem}.patient-antecedent-tag-trigger:hover,.patient-antecedent-tag-trigger:focus-visible,.patient-antecedent-tag-trigger.open{border-color:#9eb1e6;background:#eff4ff}.patient-antecedent-tag-trigger-value{display:inline-flex;align-items:center;min-width:0;flex:1 1 auto}.patient-antecedent-tag-trigger-placeholder{color:var(--text-secondary);font-weight:500}.patient-antecedent-tag-trigger-caret{flex:0 0 auto;color:var(--text-secondary);font-size:.85rem}.patient-antecedent-tag-menu{z-index:20;display:grid;gap:.3rem;padding:.35rem;border:1px solid var(--border-default);border-radius:12px;background:var(--bg-elevated);box-shadow:var(--shadow-1);max-height:240px;overflow:auto}.patient-antecedent-tag-menu-option{justify-content:flex-start;background:transparent;border:none;padding:.12rem}.patient-antecedent-tag-menu-option:hover,.patient-antecedent-tag-menu-option:focus-visible{background:color-mix(in srgb,var(--state-info-bg) 58%,white 42%)}.patient-antecedent-tag-select-badge{min-height:26px;max-width:100%;padding-inline:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-antecedent-form input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.patient-antecedent-color-field{display:inline-flex;align-items:center;gap:.45rem}.patient-antecedent-color-label{font-size:.78rem}.patient-antecedent-color-preview{width:.75rem;height:.75rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--border-default) 80%,var(--text-secondary) 20%);flex:0 0 auto}.patient-antecedent-tag-color-picker{display:grid;gap:.55rem}.patient-antecedent-tag-color-swatches{display:flex;gap:.45rem;flex-wrap:wrap}.patient-antecedent-tag-color-swatch{width:28px;min-width:28px;height:28px;min-height:28px;padding:0;border-radius:999px;border:2px solid transparent;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:.8rem;font-weight:800;box-shadow:inset 0 0 0 1px #0f172a14}.patient-antecedent-tag-color-swatch.active{border-color:color-mix(in srgb,var(--text-primary) 84%,white 16%)}.patient-antecedent-tag-color-swatch-custom{position:relative;background:color-mix(in srgb,var(--bg-elevated) 88%,white 12%);color:var(--text-primary);overflow:hidden;box-shadow:inset 0 0 0 1px #0f172a14,0 1px 2px #0f172a0a}.patient-antecedent-tag-color-swatch-custom:before{content:"";position:absolute;inset:0 auto 0 0;width:50%;background:conic-gradient(from 180deg,#ef4444,#f59e0b,#eab308,#22c55e,#14b8a6,#3b82f6,#8b5cf6,#ec4899,#ef4444)}.patient-antecedent-tag-color-swatch-custom:after{content:"";position:absolute;top:3px;bottom:3px;left:calc(50% - .5px);width:1px;background:color-mix(in srgb,var(--border-default) 72%,var(--text-secondary) 28%)}.patient-antecedent-tag-color-swatch-custom-icon{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;margin-left:11px}.patient-antecedent-tag-color-swatch-custom-icon svg{width:12px;height:12px}.patient-antecedent-tag-color-swatch-custom input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%;padding:0}.patient-antecedent-tag-color-swatch:hover,.patient-antecedent-tag-color-swatch:focus-visible{transform:translateY(-1px)}.patient-antecedent-form-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.patient-antecedent-tags-modal{display:grid;gap:.85rem}.patient-antecedent-tags-hint{margin:-.2rem 0 0}.patient-antecedent-tag-manager-form{display:grid;gap:.7rem;padding:.85rem .95rem;border-radius:14px;background:color-mix(in srgb,var(--state-info-bg) 28%,var(--bg-elevated) 72%);border:1px solid color-mix(in srgb,var(--state-info-fg) 14%,var(--border-default))}.patient-antecedent-tag-manager-form label{display:grid;gap:.25rem}.patient-antecedent-tag-manager-form label>span{font-size:.78rem;font-weight:700;color:var(--text-secondary)}.patient-antecedent-tag-manager-form-actions{display:flex;gap:.5rem;justify-content:flex-end}.patient-antecedent-add-tag-btn{justify-self:flex-start}.patient-antecedent-tag-manager-list{display:grid;gap:.35rem}.patient-antecedent-tag-manager-item{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.3rem 0}.patient-antecedent-tag-manager-main{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.patient-antecedent-tag-manager-dot{width:.7rem;height:.7rem}.patient-antecedent-tag-manager-label{font-size:.88rem;font-weight:600;color:var(--text-primary)}.patient-antecedent-list{display:grid;gap:.3rem}.patient-antecedent-item{display:grid;gap:.14rem;padding:.2rem 0}.patient-antecedent-item-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.patient-antecedent-item-meta{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.patient-antecedent-date{color:var(--text-secondary);font-size:.78rem;font-weight:700}.patient-antecedent-tag{display:inline-flex;align-items:center;min-height:22px;padding:.08rem .48rem;border-radius:999px;background:var(--state-info-bg);color:var(--state-info-fg);font-size:.72rem;font-weight:800}.patient-antecedent-actions{display:flex;gap:.2rem}button.ghost.patient-antecedent-icon-btn,button.ghost.patient-antecedent-delete-btn,button.ghost.danger.patient-antecedent-delete-btn{min-width:28px;min-height:28px;width:auto;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;border:none;background:transparent;box-shadow:none}button.ghost.patient-antecedent-icon-btn:hover,button.ghost.patient-antecedent-icon-btn:focus-visible,button.ghost.patient-antecedent-delete-btn:hover,button.ghost.patient-antecedent-delete-btn:focus-visible,button.ghost.danger.patient-antecedent-delete-btn:hover,button.ghost.danger.patient-antecedent-delete-btn:focus-visible{background:transparent;border:none;box-shadow:none}.patient-antecedent-note{margin:0;color:var(--text-primary);line-height:1.25;font-size:.88rem;white-space:pre-wrap}.patient-portal-document-upload{display:grid;gap:.9rem;margin-bottom:1rem}.patient-portal-document-upload-grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.patient-portal-document-upload-grid label{display:grid;gap:.35rem}.patient-portal-document-upload-actions{align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.patient-past-list{display:grid;gap:.6rem}.patient-today-session-table-wrap{overflow:auto}.patient-today-session-table{min-width:1220px}.patient-past-table-wrap{overflow:auto}.patient-past-table{min-width:900px}.patient-past-report-full{margin:0;color:#334155;white-space:pre-wrap;overflow-wrap:anywhere}.patient-past-action-cell{text-align:right;white-space:nowrap}.patient-past-accordion{display:grid;gap:.5rem}.patient-past-accordion-toggle{width:fit-content}#patient-upcoming .list-item{background:#fff;border:1px solid #e6ecf7}#patient-upcoming .list-item.clickable:hover{background:#f8fbff}#patient-cancelled .list-item{background:#fff;border:1px solid #e6ecf7}#patient-cancelled .list-item.clickable:hover{background:#f8fbff}.patient-appointments-list .patient-appointment-row{display:grid;grid-template-columns:250px 150px minmax(0,1fr) auto;gap:.9rem;align-items:center}.patient-appointments-list .patient-appointment-row>*{min-width:0}.patient-portal-appointments-list,.patient-portal-appointment-group{display:grid;gap:.85rem}.patient-portal-appointment-group h3{margin:0}.patient-portal-appointment-group-toggle{justify-self:flex-start;padding-left:0}.patient-portal-appointment-group-toggle:hover,.patient-portal-appointment-group-toggle:focus-visible{background:none;color:#3750a6}.patient-portal-appointment-item{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e6ecf7;border-radius:14px;padding:.95rem;box-shadow:0 10px 24px #0f172a0f;align-items:stretch;position:relative;z-index:0;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.patient-portal-appointment-item:hover{transform:translateY(-1px);border-color:#d7e2f3;box-shadow:0 14px 26px #0f172a14}.patient-portal-appointment-main{display:grid;gap:.3rem}.patient-portal-appointment-main strong{font-size:1.05rem;color:#0f172a}.patient-portal-appointment-meta{color:#4b5563}.patient-portal-appointment-actions{width:min(280px,100%);margin-left:auto;position:relative;flex-wrap:wrap;justify-content:flex-end}.patient-appointment-reschedule{width:100%}.patient-calendar-menu{width:100%;z-index:20}.patient-calendar-menu summary{width:100%}.patient-calendar-menu-trigger{display:block;width:100%;box-sizing:border-box;padding:.55rem .8rem;text-align:center;font-family:inherit;font-size:.95rem;font-weight:500;line-height:normal;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:10px}.patient-calendar-menu-trigger:hover,.patient-calendar-menu-trigger:focus-visible{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-default)}.patient-calendar-menu[open] .patient-calendar-menu-trigger{border-color:color-mix(in srgb,var(--border-default) 82%,var(--accent))}.patient-calendar-menu .row-menu-list{left:0;right:auto;min-width:100%;z-index:50}.patient-calendar-menu .row-menu-list button{width:100%}.patient-portal-appointment-item:has(.patient-calendar-menu[open]){z-index:40}.patient-portal-empty-state{display:grid;place-items:center;min-height:160px}.patient-questionnaires-section{display:grid;gap:1rem}.patient-questionnaires-layout{display:grid;gap:1rem;grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start}.patient-questionnaires-list{display:grid;gap:.75rem}.patient-questionnaire-card{display:grid;gap:.35rem;text-align:left;color:#0f172a;background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid #e6ecf7}.patient-questionnaire-card.active{border-color:#9db6dd;box-shadow:0 0 0 1px #577bb31f}.patient-questionnaire-card:hover,.patient-questionnaire-card:focus-visible{color:#0f172a;background:linear-gradient(180deg,#fff,#f7fbff);border-color:#e6ecf7}.patient-questionnaire-card strong,.patient-questionnaire-card .muted{color:#0f172a}.patient-questionnaire-card .muted{opacity:.72}.patient-questionnaire-detail{display:grid;gap:1rem}.patient-questionnaire-detail-head h3{margin:0 0 .2rem}.patient-questionnaire-section-list{display:grid;gap:1rem}.patient-questionnaire-section{display:grid;gap:.75rem}.patient-questionnaire-section h4{margin:0}.patient-questionnaire-question-list{display:grid;gap:.9rem}.patient-questionnaire-question{display:grid;gap:.4rem}.patient-questionnaire-question textarea{min-height:90px;resize:vertical}.patient-questionnaire-actions{justify-content:flex-end}.patient-questionnaire-practitioner-list{display:grid;gap:.9rem}.patient-questionnaire-practitioner-card,.patient-questionnaire-practitioner-sections,.patient-questionnaire-practitioner-section,.patient-questionnaire-practitioner-answers{display:grid;gap:.85rem}.patient-questionnaire-practitioner-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.patient-questionnaire-practitioner-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none}.patient-questionnaire-practitioner-summary::-webkit-details-marker{display:none}.patient-questionnaire-practitioner-card[open] .patient-questionnaire-practitioner-summary{margin-bottom:.9rem}.patient-questionnaire-practitioner-section h4{margin:0}.patient-questionnaire-practitioner-answer{display:grid;gap:.25rem;padding:.8rem .9rem;border-radius:12px;background:#f8fbff;border:1px solid #e6ecf7}.patient-questionnaire-practitioner-answer strong,.patient-questionnaire-practitioner-answer p{margin:0}.patient-appointment-type,.patient-appointment-note,.patient-appointment-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-appointment-actions{justify-content:flex-end;flex-wrap:nowrap}.section-header{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.section-header h3{margin:0;line-height:1.2}.section-actions{display:flex;gap:.5rem;flex-wrap:wrap}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.4rem .8rem}.patient-general-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.patient-general-card{display:grid;gap:.45rem}.patient-info-summary-card{margin-top:0}.patient-info-toggle-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.8rem}.patient-info-toggle-row .patient-info-toggle-button{margin-left:0}.patient-info-summary-list{display:grid;gap:.32rem}.patient-info-line{margin:0;display:flex;align-items:baseline;gap:.35rem;flex-wrap:wrap;color:#1f2937;line-height:1.35}.patient-info-line-label{font-weight:700;color:#334155}.patient-info-line-tip{width:20px;min-width:20px;height:20px;padding:0;font-size:.62rem;line-height:1}.patient-info-line-tip:after{left:0;right:auto;transform:translateY(-4px);max-width:min(260px,calc(100vw - 2rem))}.patient-info-line-tip:hover:after,.patient-info-line-tip:focus-visible:after{transform:translateY(0)}.patient-info-line-value{color:#111827}.patient-info-toggle-button{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-height:0;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.2;text-align:center}.patient-info-toggle-button:disabled{cursor:wait;opacity:.72}.patient-info-tooltip-trigger{position:relative}.patient-info-tooltip-trigger:after{content:attr(data-tooltip);position:absolute;right:0;top:calc(100% + 8px);max-width:min(260px,calc(100vw - 2rem));width:max-content;padding:.5rem .6rem;border-radius:10px;background:#111827;color:#fff;font-size:.75rem;line-height:1.2;font-weight:400;box-shadow:0 10px 24px #0f172a33;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:20;white-space:normal}.patient-info-tooltip-trigger:hover:after,.patient-info-tooltip-trigger:focus-visible:after{opacity:1;transform:translateY(0)}.patient-info-toggle-button.patient-info-toggle-button--active{background:var(--state-success-bg);color:var(--state-success-fg);border-color:color-mix(in srgb,var(--state-success-fg) 28%,transparent)}.patient-info-toggle-button.patient-info-toggle-button--active:hover,.patient-info-toggle-button.patient-info-toggle-button--active:focus-visible{background:color-mix(in srgb,var(--state-success-bg) 78%,var(--bg-elevated) 22%)}.patient-info-toggle-button.patient-info-toggle-button--info{background:var(--state-info-bg);color:var(--state-info-fg);border-color:color-mix(in srgb,var(--state-info-fg) 24%,transparent)}.patient-info-toggle-button.patient-info-toggle-button--info:hover,.patient-info-toggle-button.patient-info-toggle-button--info:focus-visible{background:color-mix(in srgb,var(--state-info-bg) 78%,var(--bg-elevated) 22%)}.patient-info-toggle-button.patient-info-toggle-button--warning{background:var(--state-warning-bg);color:var(--state-warning-fg);border-color:color-mix(in srgb,var(--state-warning-fg) 28%,transparent)}.patient-info-toggle-button.patient-info-toggle-button--warning:hover,.patient-info-toggle-button.patient-info-toggle-button--warning:focus-visible{background:color-mix(in srgb,var(--state-warning-bg) 78%,var(--bg-elevated) 22%)}.patient-info-toggle-button.patient-info-toggle-button--inactive{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-default)}.patient-info-toggle-button.patient-info-toggle-button--inactive:hover,.patient-info-toggle-button.patient-info-toggle-button--inactive:focus-visible{background:color-mix(in srgb,var(--state-info-bg) 62%,var(--bg-elevated) 38%)}.patient-info-pill{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid transparent;margin-left:auto}.patient-info-pill--success{background:var(--state-success-bg);color:var(--state-success-fg);border-color:color-mix(in srgb,var(--state-success-fg) 28%,transparent)}.patient-info-pill--danger{background:var(--state-danger-bg);color:var(--state-danger-fg);border-color:color-mix(in srgb,var(--state-danger-fg) 28%,transparent)}.patient-info-pill--warning{background:var(--state-warning-bg);color:var(--state-warning-fg);border-color:color-mix(in srgb,var(--state-warning-fg) 28%,transparent)}.patient-info-pill--neutral{background:var(--state-info-bg);color:var(--state-info-fg);border-color:color-mix(in srgb,var(--state-info-fg) 24%,transparent)}.patient-inline-warning,.settings-inline-warning{margin:0;padding:.7rem .9rem;border-radius:14px;background:var(--state-warning-bg);color:var(--state-warning-fg);border:1px solid color-mix(in srgb,var(--state-warning-fg) 28%,transparent)}.patient-inline-warning{margin-top:.35rem}.patient-inline-warning .link{color:#3750a6}.patient-inline-warning .link:hover,.patient-inline-warning .link:focus-visible{background:transparent;color:#3750a6;text-decoration:underline}.settings-inline-warning{margin-top:.2rem;margin-bottom:0;padding:.55rem .8rem}.settings-inline-warning+.field-block{margin-top:-.2rem}.patient-info-summary-grid{display:grid;grid-template-columns:1fr;gap:.7rem}.patient-info-summary-col{display:grid;gap:.45rem}.patient-info-summary-col p{margin:.15rem 0 0}.patient-info-summary-right{border:1px dashed #d4dfef;border-radius:12px;padding:.65rem .7rem;background:#f8fbff;align-content:start}.patient-ordonnance-placeholder{font-weight:700;color:#1f2937}.patient-prescription-card{display:grid;gap:.65rem}.patient-prescription-debt-list{display:grid;gap:.35rem}.patient-prescription-debt-item{margin:0;color:#9a3412;font-weight:600;font-size:.86rem}.patient-prescription-list{display:grid;gap:.45rem}.patient-prescription-item{border:1px solid #dbe6f4;border-radius:12px;background:#f8fbff;padding:.55rem .65rem;display:grid;gap:.45rem}.patient-prescription-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.patient-prescription-actions button{width:auto;min-width:0;min-height:30px;padding:.28rem .7rem;font-size:.78rem;line-height:1.1}button.ghost.patient-prescription-archive-btn{background:var(--state-warning-bg);color:var(--state-warning-fg);border:1px solid color-mix(in srgb,var(--state-warning-fg) 28%,transparent)}button.ghost.patient-prescription-archive-btn:hover{background:color-mix(in srgb,var(--state-warning-bg) 78%,var(--bg-elevated) 22%)}.patient-prescription-main{display:grid;grid-template-columns:1fr;gap:.18rem}.patient-prescription-meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.patient-prescription-date,.patient-prescription-type{color:#334155;font-size:.84rem;font-weight:600}.patient-prescription-ratio{color:#1f2937;font-size:.94rem;font-weight:800;font-variant-numeric:tabular-nums}.patient-prescription-item.consumed .patient-prescription-ratio{color:#64748b}.patient-prescription-archive-accordion{border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;padding:.2rem .45rem .45rem}.patient-prescription-archive-accordion>summary{cursor:pointer;font-size:.85rem;color:#334155;font-weight:700;padding:.4rem .2rem}.patient-prescription-archive-accordion>summary::-webkit-details-marker{display:none}.patient-prescription-archive-accordion>summary:before{content:"+";margin-right:.35rem}.patient-prescription-archive-accordion[open]>summary:before{content:"−"}.patient-placeholder-card{margin-top:0}.patient-task-placeholder-list{margin:0;padding:0;list-style:none;display:grid;gap:.35rem}.patient-task-placeholder-list li{display:flex;align-items:center;gap:.45rem;color:#475569}.patient-task-placeholder-list input{margin:0}.patient-linked-task-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem;align-items:center;width:100%}.patient-linked-task-open{border:none;background:transparent;padding:0;width:100%;min-width:0;text-align:left;cursor:pointer}.patient-linked-task-open:hover,.patient-linked-task-open:focus-visible{background:transparent}.patient-linked-task-open:hover .patient-linked-task-title{text-decoration:underline}.patient-linked-task-content{min-width:0}.patient-linked-task-inline{display:flex;align-items:center;gap:.45rem;min-width:0;white-space:nowrap}.patient-linked-task-date{color:#334155;font-size:.8rem;flex:0 0 auto}.patient-linked-task-title{color:#1f2937;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis}.patient-linked-task-separator{color:#64748b;flex:0 0 auto}.patient-linked-task-content.done .patient-linked-task-title{text-decoration:line-through;color:#64748b}.patient-task-footer{margin-top:.35rem;display:flex;justify-content:flex-end}.patient-task-footer .link:hover,.patient-task-footer .link:focus-visible{background:transparent;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1.5px}.patient-allowed-slots-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;align-items:start}.patient-general-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.55rem;flex-wrap:wrap}.patient-task-head-actions{display:inline-flex;align-items:center;gap:.45rem}.patient-task-add-btn{min-width:34px;height:34px;border-radius:10px;padding:0;display:inline-grid;place-items:center;line-height:1}.patient-task-add-icon{position:relative;display:inline-flex;width:14px;height:14px}.patient-task-add-icon:before,.patient-task-add-icon:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:currentColor;border-radius:999px}.patient-task-add-icon:before{width:12px;height:2px}.patient-task-add-icon:after{width:2px;height:12px}.patient-general-card-title{margin:0;font-size:1rem;color:#1f2937}.patient-general-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .7rem}.patient-general-info-grid p{margin:.15rem 0 0}.patient-other-contacts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.patient-other-contacts-list{display:grid;gap:.35rem}.patient-other-contact-row{display:flex;align-items:baseline;gap:.45rem;width:100%;border:none;background:transparent;padding:0;text-align:left;color:#1f2937;cursor:pointer;min-width:0}.patient-other-contact-row:hover,.patient-other-contact-row:focus-visible{background:transparent;color:inherit}.patient-other-contact-row:hover .patient-other-contact-name,.patient-other-contact-row:focus-visible .patient-other-contact-name{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1.5px}.patient-other-contact-name{min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.patient-other-contact-role{flex:1 1 auto;min-width:0;font-size:.8rem;color:#64748b;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-other-contact-item{border:1px solid #deebf7;border-radius:12px;background:#fff;padding:.6rem .7rem;display:grid;gap:.2rem}.patient-other-contact-name{margin:0;font-weight:700;color:#1f2937}.patient-other-contact-meta{margin:0;color:#475569;font-size:.84rem}.patient-other-contact-line{margin:0;color:#334155;font-size:.84rem;overflow-wrap:anywhere}.contact-detail-grid p{margin:.15rem 0 0;color:#111827}.label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.notes-card textarea{width:100%;border-radius:12px;border:1px solid #e3e8f5;background:#f8f9ff;padding:.75rem;resize:vertical;box-sizing:border-box;max-width:100%;display:block}.notes-card .notes-readonly{width:100%;border-radius:12px;border:1px solid #e3e8f5;background:#f8f9ff;padding:.75rem;min-height:4.5rem;white-space:pre-wrap;color:#111827;box-sizing:border-box;max-width:100%;display:block}.notes-card .notes-readonly.is-empty{color:#9ca3af}.patient-project-edit-trigger{min-width:32px;height:32px;padding:0;font-weight:700;line-height:1}.therapeutic-project-preview{min-height:0;margin:0;white-space:normal}.therapeutic-project-preview:not(.expanded){max-height:9.5rem;overflow:hidden}.therapeutic-project-preview.expanded{max-height:none}.therapeutic-project-preview p{margin:0 0 .5rem}.therapeutic-project-preview p:last-child{margin-bottom:0}.therapeutic-project-preview ul,.therapeutic-project-preview ol{margin:.5rem 0 0;padding-left:1.2rem}.therapeutic-project-inline-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.therapeutic-project-toggle{border:none;background:transparent;color:#1d4ed8;font-weight:600;padding:0;cursor:pointer}.therapeutic-project-toggle:hover,.therapeutic-project-toggle:focus-visible{background:transparent;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1.5px}.therapeutic-project-modal form{display:grid;gap:.8rem}.therapeutic-project-editor .ql-container,.therapeutic-project-editor .ql-editor{min-height:220px}.patient-support-accordion-list{margin-top:.6rem;display:grid;gap:.5rem}.patient-support-accordion-item{border:1px solid #dbe6f4;border-radius:12px;background:#f8fbff;overflow:hidden}.patient-support-accordion-trigger{width:100%;border:none;background:transparent;padding:.55rem .65rem;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.45rem;text-align:left;cursor:pointer}.patient-support-accordion-trigger:hover,.patient-support-accordion-trigger:focus-visible{background:transparent}.patient-support-accordion-name{font-size:.88rem;font-weight:700;color:#1f2937}.patient-support-accordion-ratio{font-size:.8rem;font-weight:700;color:#475569;font-variant-numeric:tabular-nums}.patient-support-accordion-chevron{font-size:1rem;font-weight:700;color:#334155}.patient-support-accordion-item.done .patient-support-accordion-name{text-decoration:line-through;color:#64748b}.patient-support-accordion-body{border-top:1px solid #e2e8f0;padding:.55rem .65rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.patient-support-group{display:grid;gap:.32rem}.patient-support-group h5{margin:0;font-size:.8rem;color:#334155}.patient-support-group.done h5{color:#64748b}.patient-support-checklist{margin:0;padding:0;list-style:none;display:grid;gap:.3rem}.patient-support-check{display:flex;align-items:flex-start;gap:.42rem;color:#1f2937;font-size:.8rem;line-height:1.3}.patient-support-check input{margin-top:.1rem}.patient-general-info-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.patient-general-info-edit-grid label{display:grid;gap:.35rem}.patient-general-info-edit-grid input:not([type=checkbox]){width:100%;box-sizing:border-box}.patient-general-info-edit-grid textarea{width:100%;box-sizing:border-box;border-radius:10px;border:1px solid #dbe3f3;padding:.6rem .7rem;resize:vertical;min-height:96px}.patient-general-info-edit-grid input[readonly]{background:#f1f5f9;color:#475569}.patient-general-info-note-field{grid-column:1 / -1}.patient-general-info-edit-grid label.patient-general-info-waitlist-toggle{grid-column:1 / -1;display:inline-flex;align-items:center;justify-content:flex-start;gap:.5rem;font-weight:600;color:#1f2937}.patient-general-info-edit-grid label.patient-general-info-waitlist-toggle input[type=checkbox]{width:18px;height:18px;margin:0;flex:0 0 auto}@media(max-width:720px){.patient-support-accordion-body,.patient-general-info-edit-grid{grid-template-columns:1fr}}.slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem}.slot-card{border-radius:12px;background:#f8f9ff;border:1px solid #e1e7ff;padding:.6rem .7rem;display:flex;flex-direction:column;gap:.2rem}.slot-card.compact{padding:.5rem .6rem;font-size:.85rem}.slot-day{font-weight:600;color:#2b3a6b}.slot-time{color:#4b5563}.patient-slot-planner{margin-top:.3rem}.patient-slot-scroll{max-height:none;overflow:visible;border:none;border-radius:0;background:transparent}.patient-slot-grid{min-width:0}.patient-slot-selectable{cursor:crosshair}.patient-slot-available{background:#ffffff03}.patient-slot-unavailable{background:#94a3b838;cursor:not-allowed}.patient-open-window{pointer-events:none;opacity:.65}.patient-open-window:before{width:100%;background:#e0f2fe80}.patient-allowed-block{position:absolute;left:2px;right:2px;border:1px solid #167a4a;background:#22c55e29;color:#14532d;border-radius:10px;text-align:left;padding:3px 5px;z-index:3;cursor:pointer;overflow:hidden}.patient-allowed-block strong{font-size:.72rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.eyebrow{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin:0 0 .3rem}@media(max-width:1024px){.patients-layout{grid-template-columns:1fr}.patient-panel{position:fixed;top:0;right:0;height:100vh;max-height:none;width:min(420px,92vw);transform:translate(110%);transition:transform .3s ease;z-index:900;border-radius:20px 0 0 20px}.patient-panel.open{transform:translate(0)}.patient-panel-inner{min-height:0}.panel-two-col{grid-template-columns:1fr}.patient-panel-backdrop{display:block}.patients-table-header,.patient-row{grid-template-columns:1.35fr .72fr .78fr 1fr .95fr 1.1fr .72fr}}@media(max-width:720px){.patients-table-header{display:none}.patient-row{grid-template-columns:1fr;gap:.6rem}.patient-row .cell.actions{align-items:flex-start}.row-actions{opacity:1}.messages-table-header{display:none}.message-row{grid-template-columns:1fr;gap:.6rem}.message-cell.actions{align-items:flex-start}.patient-panel{width:100%;border-radius:0}.patient-detail-header{position:sticky;top:calc(var(--topbar-height-mobile) + 8px)}.patient-appointments-list .patient-appointment-row{grid-template-columns:1fr;align-items:flex-start}.patient-appointment-type,.patient-appointment-note,.patient-appointment-meta{white-space:normal;text-overflow:clip}.patient-appointment-actions{justify-content:flex-start;flex-wrap:wrap}}@media(max-width:1024px){.topbar-inner{padding:0 20px}.patient-auth-feature-grid{grid-template-columns:1fr}.action-label{display:none}.more-menu{display:inline-flex}.top-tabs .tab:nth-of-type(n+4){display:none}.local-actions-row{justify-content:flex-start}.settings-grid-modern{grid-template-columns:1fr}.settings-panel-booking,.settings-panel-reschedule,.settings-panel-waitlist,.settings-panel-waitlist-qr,.settings-panel-booking-qr,.settings-panel-portal-qr,.settings-panel-slots{grid-column:1 / -1}.settings-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.motifs-section-main{flex-wrap:wrap}.motifs-group-item input{min-width:0}.settings-qr-layout{grid-template-columns:1fr}.settings-qr-preview{min-height:260px}}@media(max-width:1024px){.app.practitioner{padding-top:var(--topbar-height-mobile)}.topbar-inner{grid-template-columns:1fr auto;height:var(--topbar-height-mobile);padding:0 16px}.brand-wordmark{height:calc(var(--topbar-height-mobile) - 8px)}.top-tabs,.topbar-actions .icon-only{display:none}.mobile-menu-button{display:inline-flex}.local-actions{display:none}.patient-portal .local-actions{display:block;top:var(--topbar-height-mobile)}.patient-portal .local-actions-inner{padding:.45rem 16px;min-height:auto;align-items:flex-start}.patient-portal .local-actions-title{display:none}.patient-portal .patient-local-actions-row{width:100%;justify-content:flex-start}.patient-portal .patient-local-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:.1rem}.patient-portal .patient-action-tab{white-space:nowrap;flex:0 0 auto}.patient-portal .patient-portal-name-pill{display:none}.patient-portal .patient-profile-switch{width:100%}.patient-portal .patient-profile-switch select{min-width:0;width:100%}.patient-portal-appointment-actions{width:100%;margin-left:0}.patient-questionnaires-layout{grid-template-columns:1fr}.patient-detail-header{top:calc(var(--topbar-height-mobile) + 8px)}.mobile-inline-actions{display:grid}.mobile-inline-actions .search-box,.mobile-inline-actions select{width:100%}.mobile-actions{display:grid;position:fixed!important;left:12px;right:12px;bottom:calc(var(--mobile-bottom-nav-height) + 10px + env(safe-area-inset-bottom));grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;z-index:2002}.mobile-bottom-nav{position:fixed!important;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;padding:.45rem .55rem calc(.45rem + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #dce4f3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2001;min-height:var(--mobile-bottom-nav-height)}.mobile-action-sheet{display:block;position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;z-index:2100;transition:opacity .2s ease}.mobile-action-sheet.open{opacity:1;pointer-events:auto}.content-shell{padding:0 16px calc(var(--mobile-bottom-nav-height) + var(--mobile-actions-height) + 1.9rem + env(safe-area-inset-bottom))}button,input,select,textarea{min-height:44px}.info-quill .ql-toolbar.ql-snow{padding:.3rem .35rem}.info-quill .ql-toolbar.ql-snow .ql-formats{margin-right:.35rem}.info-quill .ql-snow.ql-toolbar button,.info-quill .ql-snow .ql-toolbar button{min-height:28px!important;height:28px;width:28px;padding:2px}.info-quill .ql-snow .ql-picker.ql-size{min-height:28px;height:28px;width:74px;font-size:.9rem}.info-quill .ql-snow .ql-picker.ql-size .ql-picker-label{min-height:28px;height:28px;padding-left:6px;padding-right:18px;display:inline-flex;align-items:center}.settings-page{padding:1rem}.settings-hero{flex-direction:column;gap:.7rem}.settings-kpi-row{width:100%;grid-template-columns:1fr}.settings-kpi-row-inline-duo{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-toggle-grid,.settings-field-grid,.settings-message-pair-grid,.settings-planning-group-grid-three,.planning-display-time-grid,.booking-horizon-rolling-fields,.message-reminder-grid,.message-automation-grid{grid-template-columns:1fr}.planning-footer-summary{flex-direction:column;align-items:flex-start}.settings-planning-sentence{align-items:flex-start}.settings-inline-control-md,.settings-inline-control-lg,.settings-inline-control-date{width:100%}.message-settings-item{grid-template-columns:1fr;gap:.45rem}.profile-settings-grid,.settings-check-grid,.profile-settings-two-cols{grid-template-columns:1fr}.settings-submit-bar{position:static;padding:0;border:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.settings-submit-bar button{width:100%}.motifs-inline-form,.motifs-create-in-section{grid-template-columns:1fr}.motifs-section-main{gap:.4rem}.motifs-group-item{flex-wrap:wrap}.motifs-group-item>button,.motifs-group-item .motifs-actions-menu{width:100%}.motifs-question-actions{width:100%;margin-left:0}.motifs-question-actions button{width:100%}.motifs-actions-menu-panel{left:0;right:auto;min-width:180px}}@media(max-width:640px){.materials-mobile-search{display:block}.materials-inline-toolbar{display:none}.materials-filters-mobile{display:block}.materials-table{display:none}.materials-cards{display:grid}.materials-pagination.hide-mobile{display:none}}@media(max-width:900px){.materials-assignment-grid{align-items:stretch}.patient-detail-page{gap:1rem;min-width:0}.patient-detail-header{top:calc(var(--topbar-height-mobile) + 8px);padding:.9rem;display:grid;gap:.8rem;min-width:0;overflow:hidden}.patient-header-main{min-width:0;width:100%}.patient-header-main h2{margin:0;font-size:2rem;line-height:1.1;overflow-wrap:anywhere}.patient-summary{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.patient-summary-item{min-height:72px;padding:.45rem .5rem}.patient-summary-value{font-size:.95rem}.patient-summary-label{font-size:.8rem;font-weight:600;line-height:1.2}.patient-detail-actions{width:100%;display:grid;grid-template-columns:1fr;gap:.45rem}.patient-detail-actions>button{width:100%}.patient-detail-nav{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:.5rem;padding:0;margin:0;max-width:100%;border-radius:0;border:none;background:transparent}.patient-detail-nav a{white-space:nowrap;flex:0 0 auto;display:inline-flex;align-items:center;min-height:auto;padding:.42rem .8rem;border-radius:999px;background:#f5f8fc;border:1px solid #d9e3ef;color:#334155;font-size:.88rem}.patient-detail-grid{min-width:0;grid-template-columns:1fr}.patient-layout-left,.patient-layout-right-stack,.patient-layout-right,.patient-layout-right-half-left,.patient-layout-right-half-right,.patient-layout-full{grid-column:1;grid-row:auto}.patient-layout-right-top{grid-template-columns:1fr}.patient-workspace-tabs,.patient-document-modal-actions,.patient-antecedent-form-actions,.patient-antecedent-tag-manager-form-actions{display:grid;grid-template-columns:1fr}.patient-antecedent-form-grid{grid-template-columns:1fr}.patient-antecedent-item-head,.patient-antecedent-item-meta{align-items:flex-start;flex-direction:column}.patient-past-table{min-width:680px}.patient-today-session-table{min-width:920px}.patient-allowed-slots-grid,.patient-general-grid,.patient-other-contacts-grid,.patient-general-info-grid,.patient-info-summary-grid{grid-template-columns:1fr}.patient-section{padding:.9rem;min-width:0;overflow:hidden}.patient-documents-section{margin-top:0}.patient-detail-page .section-header{align-items:flex-start;flex-direction:column;gap:.5rem}.patient-detail-page .section-actions{width:100%}.patient-detail-page .section-actions>button{width:100%}.patient-contacts-head .section-actions{width:100%;display:grid;grid-template-columns:1fr;gap:.45rem}.patient-contacts-head .section-actions>button{width:100%;min-width:0;box-sizing:border-box;color:#1f2937;text-align:center}.info-grid{grid-template-columns:1fr}.patient-appointments-list .patient-appointment-row{grid-template-columns:1fr;gap:.5rem;align-items:flex-start}.patient-appointment-type,.patient-appointment-note,.patient-appointment-meta{white-space:normal;text-overflow:clip;overflow:visible}.patient-appointment-actions{justify-content:flex-start;flex-wrap:wrap;width:100%}.patient-appointment-actions>button{flex:1 1 140px}}@media(min-width:640px)and (max-width:900px){.patient-contacts-head .section-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){.app.practitioner .overlay{padding-top:calc(var(--topbar-height-mobile) + 12px);padding-left:.75rem;padding-right:.75rem}.messages-page-layout{height:calc(100dvh - var(--topbar-height-mobile) - 3.3rem)}.search-box input,.search-box.compact input,.search-box.planning-search input{min-width:0;width:100%}.planning-menu-panel{left:auto;right:0;width:min(320px,calc(100vw - 32px));min-width:0;max-width:calc(100vw - 32px)}.week-control{flex-wrap:wrap;gap:.3rem}.week-range{min-width:0;overflow-wrap:anywhere}.planning-calendar,.availability-board{padding:.75rem}.search-table{display:block;overflow-x:auto;white-space:nowrap}.availability-board-header .week-nav{height:auto;line-height:normal;padding:.35rem .45rem;gap:.35rem;flex-wrap:wrap}.availability-board-header .week-nav span{height:auto;line-height:normal;min-width:0;overflow-wrap:anywhere}.availability-appointment,.availability-appointment+.availability-appointment{box-shadow:none}.availability-appointment{--appt-font-scale: .88;--appt-time-scale: .86}.availability-scroll{max-height:calc(100vh - 260px)}.patients-table,.messages-table,.materials-table,.waitlist-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.patients-table-header,.patient-row{min-width:1120px}.messages-table-header,.message-row{min-width:720px}.materials-table-header,.materials-row{min-width:980px}.waitlist-table .materials-table-header,.waitlist-table .waitlist-item{min-width:920px}.materials-pagination-controls{width:100%;justify-content:space-between}}@media(max-width:900px){.week-control{width:100%;justify-content:center}.messages-page-layout{grid-template-columns:1fr;gap:.75rem;height:auto;min-height:0}.messages-sidebar{display:none}.messages-list-pane,.messages-view-shell{padding:.65rem}.messages-mobile-back{display:block}.messages-thread-header{flex-direction:column;align-items:flex-start;gap:.55rem}.messages-thread-header-actions{width:100%;justify-content:space-between}.mobile-only{display:inline-flex;align-items:center;justify-content:center}.patients-table-header,.messages-table-header{display:none}.patient-row,.message-row{min-width:0;grid-template-columns:1fr;gap:.6rem}.patient-row .cell.actions,.message-cell.actions{align-items:flex-start}.row-actions{opacity:1}.materials-pagination{gap:.6rem}.materials-pagination-pages{flex-wrap:wrap}.waitlist-table .materials-table-header{display:none}.waitlist-table .waitlist-item{min-width:0;grid-template-columns:1fr;gap:.55rem;align-items:flex-start}.waitlist-item .row{justify-content:flex-start;flex-wrap:wrap;width:100%}.waitlist-item .row button{flex:1 1 140px}.waitlist-item .row .waitlist-action-emoji{flex:0 0 auto}.waitlist-status{width:fit-content}.contacts-header{display:none}.contacts-row{min-width:0;grid-template-columns:1fr;gap:.45rem}.contacts-actions{justify-content:flex-start;flex-wrap:wrap}.task-modal-grid{grid-template-columns:1fr}.task-category-pill-group{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-day-tasks-head,.journal-day-tasks-head,.tasks-group-head{align-items:flex-start;flex-direction:column}.tasks-item{grid-template-columns:1fr}.tasks-item-actions{justify-content:flex-start;flex-wrap:wrap}}@media(max-width:640px){.materials-table.waitlist-table{display:block}.materials-table.waitlist-table .materials-table-body{display:grid;gap:.6rem}.materials-table.waitlist-table .waitlist-item{border-radius:12px;border:1px solid #e8edf7}.materials-pagination-controls{align-items:stretch;gap:.5rem}.materials-pagination-controls>button{flex:1}.task-category-pill-group{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.availability-board{padding:.55rem}.availability-day-head{font-size:.76rem;padding:.3rem .1rem}.task-category-pill-group{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-time-head,.availability-time-label{font-size:.7rem}.header-nav-button{width:26px;height:26px;min-width:26px;border-radius:8px;font-size:.95rem}.availability-block{left:4px;right:4px;padding:.25rem .3rem;font-size:.68rem}.availability-appointment{left:6px;right:6px;--appt-font-scale: .8;--appt-time-scale: .78}}@media(max-width:860px){.message-template-variables-grid{grid-template-columns:1fr}}html,body,#root,.app{background:var(--bg-app);color:var(--text-primary);font-family:Plus Jakarta Sans,Inter,Segoe UI,Arial,sans-serif}.app.practitioner .content-shell>section{background:transparent;border:0;box-shadow:none}.content-shell,.public-shell,.patients-shell,.messages-shell,.materials-shell,.tasks-shell,.journal-shell,.settings-page,.waitlist-public-shell{color:var(--text-primary)}.content-shell>section,.settings-panel,.settings-kpi,.materials-card,.patient-panel,.booking-card{background:var(--bg-elevated);border-color:var(--border-default);box-shadow:var(--shadow-1)}.settings-hero{background:transparent;border-color:transparent;box-shadow:none}.planning-calendar,.availability-board,.month-view,.calendar-col,.tasks-item,.tasks-completed-toggle,.messages-sidebar,.messages-list-pane,.messages-view-shell,.messages-conversation-row,.materials-filters-mobile,.row-menu summary,.row-menu-list,.journal-day-tasks-panel,.planning-day-tasks,.journal-support-accordion,.journal-table-wrap{background:var(--bg-surface);border-color:var(--border-default)}.patients-table,.messages-table,.materials-table,.waitlist-table{background:var(--bg-elevated);border-color:var(--border-default)}.patients-table-header,.messages-table-header,.materials-table-header,.waitlist-table .materials-table-header,.journal-table thead th{background:var(--bg-surface);color:var(--text-secondary);border-bottom-color:var(--border-subtle)}.patient-row,.message-row,.materials-row,.waitlist-table .waitlist-item,.search-table tr{background:var(--bg-elevated);border-top-color:var(--border-subtle)}.patient-row:hover,.message-row:hover,.materials-row:hover,.messages-conversation-row:hover,.search-table tbody tr:hover{background:color-mix(in srgb,var(--state-info-bg) 36%,white)}.patients-table .patient-row{transition:none}.patients-table .patient-row:hover{background:color-mix(in srgb,var(--state-info-bg) 26%,var(--bg-elevated))}.patients-table .patient-row .row-actions{opacity:1}.patients-table .patient-row .icon-btn{background:color-mix(in srgb,var(--state-info-bg) 52%,var(--bg-surface));color:color-mix(in srgb,var(--primary) 74%,var(--text-primary));border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border-default));box-shadow:none}.patients-table .patient-row .icon-btn:hover,.patients-table .patient-row .icon-btn:focus-visible{background:color-mix(in srgb,var(--state-info-bg) 72%,var(--bg-surface));color:var(--primary);border-color:color-mix(in srgb,var(--primary) 26%,var(--border-default))}.patients-table .patient-name-link:hover,.patients-table .patient-name-link:focus-visible{background:transparent;color:inherit;text-decoration:underline}.patients-table .patient-name-link:hover strong,.patients-table .patient-name-link:focus-visible strong{color:inherit;text-decoration:underline}.patient-row.selected,.message-row.selected,.messages-conversation-row.selected{background:color-mix(in srgb,var(--state-info-bg) 70%,white);border-color:color-mix(in srgb,var(--state-info-fg) 28%,var(--border-default))}.tasks-filter-btn,.tasks-completed-toggle,.materials-pagination-pages button,.button-like{background:var(--bg-surface);color:var(--text-secondary);border-color:var(--border-default)}.tasks-filter-btn.active,.materials-pagination-pages button.active,.chip.active,.tasks-category-pill.active,.journal-toggle button.active{background:var(--primary);border-color:var(--primary);color:#fff}.search-box,.topbar-pill,.message-unread-badge,.task-category-pill.task-rdv,.tasks-category-badge.task-rdv,.tasks-source-badge.manual,.support-type-badge.without_material,.journal-badge-location{background:var(--location-badge-bg, var(--state-info-bg));color:var(--location-badge-fg, var(--state-info-fg));border-color:color-mix(in srgb,var(--location-badge-bg, var(--state-info-fg)) 24%,transparent)}.patient-action-tab,.chip,.icon-btn{background:var(--state-review-bg);color:var(--state-review-fg);border-color:color-mix(in srgb,var(--state-review-fg) 22%,transparent)}.patient-action-tab:hover,.patient-action-tab:focus-visible{background:var(--subnav-hover-bg);color:var(--subnav-hover-fg);border-color:color-mix(in srgb,var(--subnav-hover-fg) 34%,transparent)}.patient-action-tab.active:hover,.patient-action-tab.active:focus-visible{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.follow-up-table .follow-up-send-button,.follow-up-card .follow-up-send-button{background:color-mix(in srgb,var(--state-info-bg) 52%,var(--bg-surface));color:color-mix(in srgb,var(--primary) 74%,var(--text-primary));border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border-default));box-shadow:none}.follow-up-table .follow-up-send-button:hover,.follow-up-table .follow-up-send-button:focus-visible,.follow-up-card .follow-up-send-button:hover,.follow-up-card .follow-up-send-button:focus-visible{background:color-mix(in srgb,var(--state-info-bg) 72%,var(--bg-surface));color:var(--primary);border-color:color-mix(in srgb,var(--primary) 26%,var(--border-default))}.tasks-category-badge.task-document,.tasks-source-badge.auto,.support-type-badge.with_material,.journal-badge-type{background:var(--type-badge-bg, var(--state-success-bg));color:var(--type-badge-fg, var(--state-success-fg));border-color:color-mix(in srgb,var(--type-badge-bg, var(--state-success-fg)) 28%,transparent)}.event.block,.planning-calendar .event.block,.message-read-pill.unread,.badge.cancelled,.danger,.danger.ghost{background:var(--state-danger-bg);color:var(--state-danger-fg);border-color:color-mix(in srgb,var(--state-danger-fg) 28%,transparent)}.danger:not(.ghost):hover,.danger:not(.ghost):focus-visible{background:var(--state-danger-bg);color:var(--state-danger-fg);border-color:color-mix(in srgb,var(--state-danger-fg) 28%,transparent)}.task-category-pill.task-a_contacter,.tasks-category-badge.task-a_contacter,.tasks-category-badge.task-facturation,.message-read-pill.read,button.ghost.unavailability-trigger{background:var(--state-warning-bg);color:var(--state-warning-fg);border-color:color-mix(in srgb,var(--state-warning-fg) 28%,transparent)}.muted,.hint,.waitlist-secondary-text,.tasks-item-patients,.materials-card-meta,.journal-note-preview,.journal-support-saving{color:var(--text-secondary)}.local-actions{background:var(--subnav-bg);border-color:var(--subnav-border);box-shadow:inset 0 1px color-mix(in srgb,#ffffff 30%,transparent)}.topbar,.app.public .topbar{background:var(--primary);border-bottom:1px solid color-mix(in srgb,var(--primary-hover) 78%,#000 22%)}.topbar .brand-sub{color:color-mix(in srgb,#ffffff 80%,transparent)}.topbar .brand-mark,.topbar .tab,.topbar .action-label,.topbar .user-menu-caret,.topbar .mobile-menu-button,.topbar .tab.active,.topbar .topbar-actions .ghost,.topbar .topbar-actions .ghost .action-label,.topbar .topbar-actions .ghost .user-menu-caret{color:#fff}.topbar .topbar-actions .ghost:hover,.topbar .topbar-actions .ghost:focus-visible,.topbar .mobile-menu-button:hover,.topbar .mobile-menu-button:focus-visible{color:#fff}.tasks-shell .tasks-completed-toggle,.tasks-shell .tasks-completed-toggle:hover,.tasks-shell .tasks-completed-toggle:focus-visible{background:var(--bg-surface);color:var(--text-secondary);border-color:var(--border-default);box-shadow:none;transform:none;transition:none}.local-actions.planning-local-actions .local-actions-row .week-control>button.ghost.week-nav-arrow:not(.unavailability-trigger),.local-actions.planning-local-actions .local-actions-row .week-control>button.ghost.week-nav-arrow:not(.unavailability-trigger):hover,.local-actions.planning-local-actions .local-actions-row .week-control>button.ghost.week-nav-arrow:not(.unavailability-trigger):focus-visible{border:0;box-shadow:none;outline:none;width:26px;min-width:26px;height:26px;min-height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:1.04rem}
