@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;--font-family-ui: "Plus Jakarta Sans", Inter, "Segoe UI", Arial, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--bg-app: #eef4f8;--bg-surface: #fcfeff;--bg-elevated: #ffffff;--border-default: #dde7ef;--border-subtle: #e9f0f5;--text-primary: #1f2933;--text-secondary: #5f6b76;--primary: #0a40bf;--primary-hover: #0937a5;--text-on-primary: #ffffff;--action-primary-bg: var(--primary);--action-primary-bg-hover: var(--primary-hover);--focus-ring: #3a67db;--subnav-bg: #e1ebff;--subnav-border: #c7d6ff;--subnav-text: #0a40bf;--subnav-hover-bg: #0a40bf;--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;--voice: oklch(.66 .16 32);--voice-soft: oklch(.96 .03 35);--voice-strong: oklch(.55 .19 30);--magic: oklch(.55 .18 290);--magic-soft: oklch(.96 .03 290);--tooltip-bg: var(--primary);--tooltip-fg: #ffffff;--tooltip-shadow: 0 8px 18px color-mix(in srgb, var(--primary) 24%, transparent);--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)}@media(min-width:1025px){.app.practitioner.patients-overview-scroll-app{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.patients-overview-scroll-app>.local-actions{position:relative;top:auto;flex:0 0 auto}.patients-overview-scroll-app>.content-shell-patients-overview{flex:1 1 auto;min-height:0;width:100%;overflow:hidden;box-sizing:border-box}.content-shell-patients-overview .content-shell-layout,.content-shell-patients-overview .content-shell-main,.content-shell-patients-overview .patients-shell,.content-shell-patients-overview .patients-layout,.content-shell-patients-overview .patients-list{height:100%;min-height:0}.content-shell-patients-overview .content-shell-main{display:flex;flex-direction:column}.content-shell-patients-overview .patients-shell{flex:1 1 auto;height:auto}.content-shell-patients-overview .patients-list{display:flex;flex-direction:column}.content-shell-patients-overview .patients-table{flex:1 1 auto;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.content-shell-patients-overview .patients-table-body{display:block;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.content-shell-patients-overview .patients-table-header{overflow-y:hidden;scrollbar-gutter:stable}.app.practitioner .content-shell-main>.patients-shell{padding-top:.65rem}.local-actions.patients-local-actions .local-actions-inner{padding-block:.5rem;gap:.45rem .75rem}.patients-local-actions .patient-header-primary-action{min-height:38px;padding-block:.45rem}.patients-local-actions .patient-local-actions-row{gap:.55rem}.patient-header-filter-group,.patient-header-secondary-actions{gap:.45rem}.patients-local-actions .patient-local-actions-row .search-box.compact,.patients-local-actions .patient-local-actions-row .button-like,.patients-local-actions .patient-local-actions-row button.ghost{min-height:38px;height:38px}.patients-layout-list-only .patients-table-header{padding:.65rem .85rem}.patients-layout-list-only .patient-row{min-height:58px;padding:.35rem .85rem}.patients-layout-list-only .patients-table-header,.patients-layout-list-only .patient-row{gap:.75rem}.patients-layout-list-only .patient-row .cell{gap:.15rem}.patients-layout-list-only .patient-row .cell.name{justify-content:center}.patients-layout-list-only .patient-follow-up-cell,.patients-layout-list-only .patient-last-consultation-cell{flex-direction:row;align-items:center;align-content:center;flex-wrap:wrap;gap:.3rem .4rem}.patients-layout-list-only .patient-appointment-date{font-size:.86rem}.patients-layout-list-only .patient-empty-appointment{font-size:.82rem}.patients-layout-list-only .patient-row .cell .chip{padding:.12rem .4rem;font-size:.68rem;line-height:1.25}.patients-layout-list-only .patient-status-chip-row{margin-top:0}.patients-layout-list-only .patient-consultation-restrictions{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .35rem;margin-top:0}.patients-layout-list-only .patient-consultation-restrictions-label{font-size:.68rem}.patients-layout-list-only .patient-row .cell.actions{justify-content:center}.patients-layout-list-only .row-actions{gap:.3rem}.patients-layout-list-only .row-actions .app-icon-button{width:34px;min-width:34px;max-width:34px;height:34px;min-height:34px;max-height:34px;flex-basis:34px;border-radius:var(--radius-sm)}.patients-layout-list-only .row-actions .app-icon-button svg{width:1rem;height:1rem}.patients-layout-list-only .patient-open-record-button{min-height:34px;height:34px;padding:.35rem .65rem;border-radius:var(--radius-sm);font-size:.8rem}}.app.practitioner .content-shell-main>.patients-shell{margin-bottom:0;padding:1rem 0 0;border-radius:0;background:transparent;box-shadow:none;box-sizing:border-box}.local-actions.patients-local-actions .local-actions-inner{min-height:auto;padding-block:.75rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"title filters primary";gap:.65rem 1rem}.patients-local-actions .local-actions-title{grid-area:title;align-self:center;font-size:1.05rem}.patients-local-actions .local-actions-title-hint{color:color-mix(in srgb,var(--subnav-text) 68%,transparent);font-size:.84rem}.patients-local-actions .local-actions-header-action{grid-area:primary;justify-self:end}.patients-local-actions .patient-header-primary-action{min-height:42px;white-space:nowrap}.patients-local-actions .patient-local-actions-row{grid-area:filters;width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.patient-header-filter-group,.patient-header-secondary-actions{display:flex;align-items:center;gap:.6rem;min-width:0}.patient-header-filter-group{flex:1 1 0}.patient-header-secondary-actions{flex:0 0 auto}.patient-header-actions-menu{position:relative}.patient-header-actions-menu>summary{list-style:none}.patient-header-actions-menu>summary::-webkit-details-marker{display:none}.patient-header-actions-menu-trigger{display:inline-flex;align-items:center;gap:.4rem;min-height:42px;padding-inline:.7rem;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--subnav-text)}.patient-header-actions-menu-caret{display:inline-flex;transition:transform .18s ease}.patient-header-actions-menu-caret svg{width:.85rem;height:.85rem}.patient-header-actions-menu[open] .patient-header-actions-menu-caret{transform:rotate(180deg)}.patient-header-actions-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:45;display:grid;gap:.2rem;width:-moz-max-content;width:max-content;min-width:224px;padding:.4rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.patient-header-actions-menu-panel button{display:flex;align-items:center;gap:.55rem;width:100%;min-height:38px;padding:.5rem .65rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;font-size:.88rem;font-weight:600;text-align:left}.patient-header-actions-menu-panel button:hover,.patient-header-actions-menu-panel button:focus-visible{background:var(--subnav-hover-bg);color:var(--subnav-hover-fg)}.patient-header-actions-menu-panel button:disabled{cursor:not-allowed;opacity:.55}.patient-header-actions-menu-panel button:disabled:hover,.patient-header-actions-menu-panel button:disabled:focus-visible{background:transparent;color:var(--text-primary)}.patient-header-actions-menu-panel .ui-inline-icon{display:inline-flex;flex:0 0 auto}.patient-header-actions-menu-panel .ui-inline-icon svg{width:1rem;height:1rem}.patient-header-search{width:clamp(210px,22vw,320px)}.patient-header-search input{width:100%;min-width:0}.patients-local-actions .patient-scope-select{display:flex;align-items:center;gap:.4rem}.patients-local-actions .patient-scope-select>span{color:var(--text-secondary);font-size:.78rem;font-weight:700}.patients-layout-list-only .patients-table-header,.patients-layout-list-only .patient-row{grid-template-columns:minmax(250px,1.2fr) minmax(245px,1.1fr) minmax(190px,.85fr) minmax(220px,.8fr);gap:1.25rem}.patients-layout-list-only .patient-row{min-height:92px}.patients-layout-list-only .patient-row .cell{min-width:0}.patient-identity-stack{display:grid;gap:.1rem;min-width:0;width:100%}.patient-identity-head{display:flex;align-items:baseline;gap:.45rem;min-width:0}.patient-identity-head .patient-name-link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-age{flex:0 0 auto;font-size:.8rem;font-variant-numeric:tabular-nums;white-space:nowrap}.patient-identity-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;font-size:.8rem;font-variant-numeric:tabular-nums}.patient-email{max-width:100%;overflow:hidden;font-size:.76rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.patient-phone{font-size:.84rem;font-variant-numeric:tabular-nums}.patient-appointment-date{color:var(--text-primary);font-size:.93rem;font-weight:650;font-variant-numeric:tabular-nums}.patient-consultation-restrictions{display:grid;gap:.3rem;margin-top:.2rem}.patient-consultation-restrictions-label{font-size:.72rem;font-weight:650}.patient-next-type-chip{width:-moz-fit-content;width:fit-content;background:var(--state-info-bg);color:var(--state-info-fg);border-color:color-mix(in srgb,var(--state-info-fg) 18%,var(--border-default))}.patients-layout-list-only .patient-row .patient-type-chip{cursor:default;pointer-events:none;background:var(--state-review-bg);color:var(--state-review-fg);border-color:color-mix(in srgb,var(--state-review-fg) 18%,var(--border-default))}.patient-row .cell .chip.patient-report-chip--pending,.patient-row .cell .chip.patient-report-chip--pending:hover,.patient-row .cell .chip.patient-report-chip--pending:focus-visible{background:var(--state-warning-bg);color:var(--state-warning-fg);border-color:color-mix(in srgb,var(--state-warning-fg) 26%,var(--border-default))}.patients-layout-list-only .patient-row .cell.actions{align-items:flex-start}.patients-layout-list-only .row-actions{align-items:center;justify-content:flex-start;flex-wrap:nowrap}.patient-empty-appointment{font-size:.88rem;font-weight:500}.patient-action-label{display:none}.patient-open-record-button{min-height:40px;width:auto;padding-inline:.8rem;white-space:nowrap}.patient-mobile-status-filter{position:relative}.patient-mobile-status-filter>summary{list-style:none}.patient-mobile-status-filter>summary::-webkit-details-marker{display:none}.patient-mobile-status-filter-panel{position:absolute;top:calc(100% + .4rem);right:0;z-index:45;width:min(310px,calc(100vw - 2rem));display:grid;gap:.45rem;padding:.75rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.patient-mobile-status-filter-option{display:flex;align-items:center;gap:.55rem;min-height:36px;color:var(--text-primary);font-size:.84rem}.patient-mobile-status-filter-option input{margin:0}@media(min-width:721px){.patients-layout-list-only .patients-table-header>span{text-align:center}.patients-layout-list-only .patient-row .cell{align-items:center;text-align:center}.patients-layout-list-only .patients-table-header>span:first-child{text-align:left}.patients-layout-list-only .patient-row .cell.name{align-items:flex-start;text-align:left}.patients-layout-list-only .patient-identity-meta,.patients-layout-list-only .patient-status-chip-row,.patients-layout-list-only .patient-consultation-restrictions,.patients-layout-list-only .patient-consultation-restrictions .chip-row,.patients-layout-list-only .row-actions{justify-content:center}.patients-layout-list-only .cell.name .patient-identity-meta,.patients-layout-list-only .cell.name .patient-status-chip-row,.patients-layout-list-only .cell.name .patient-consultation-restrictions,.patients-layout-list-only .cell.name .patient-consultation-restrictions .chip-row{justify-content:flex-start}}@media(max-width:1320px)and (min-width:1025px){.patients-local-actions .patient-local-actions-row{align-items:center}.patient-header-filter-group{flex-wrap:nowrap}.patient-header-search{width:clamp(160px,17vw,240px)}.patient-header-secondary-actions{flex-wrap:nowrap}}@media(max-width:1024px){.patients-layout-list-only .patients-table-header,.patients-layout-list-only .patient-row{grid-template-columns:minmax(210px,1.2fr) minmax(205px,1.1fr) minmax(165px,.85fr) minmax(170px,.8fr);gap:.8rem}.patients-layout-list-only .mobile-inline-actions{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(150px,.7fr));align-items:center;gap:.55rem;margin-bottom:.8rem}.patients-layout-list-only .mobile-inline-actions .search-box{width:100%}}@media(max-width:720px){.patients-layout-list-only .mobile-inline-actions{grid-template-columns:1fr 1fr}.patients-layout-list-only .mobile-inline-actions .search-box,.patients-layout-list-only .patient-mobile-status-filter{grid-column:1 / -1}.patients-layout-list-only .patient-mobile-status-filter>summary{width:100%}.patients-layout-list-only .patients-table{border:0;border-radius:0;background:transparent}.patients-layout-list-only .patients-table-body{gap:.75rem}.patients-layout-list-only .patient-row{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.85rem;padding:1rem;border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.patients-layout-list-only .patients-table-body .patient-row:last-child,.patients-layout-list-only .patients-table-header+.patients-table-body .patient-row:first-child{border-radius:var(--radius-lg)}.patients-layout-list-only .patient-row .cell.name,.patients-layout-list-only .patient-row .cell.actions,.patients-layout-list-only .patient-row .cell.cell-empty{grid-column:1 / -1}.patients-layout-list-only .patient-meta-phone-separator{display:none}.patients-layout-list-only .patient-follow-up-cell,.patients-layout-list-only .patient-last-consultation-cell{min-height:92px;padding:.75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface)}.patient-mobile-section-label{justify-content:flex-start;color:var(--text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.patients-layout-list-only .patient-row .cell.actions{align-items:stretch;padding-top:.1rem}.patients-layout-list-only .row-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.patients-layout-list-only .row-actions .app-icon-button,.patients-layout-list-only .patient-open-record-button{width:100%;min-width:0;max-width:none;padding-inline:.55rem;gap:.35rem}.patient-action-label{display:inline;font-size:.78rem;font-weight:650}}[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;--voice: oklch(.66 .16 32);--voice-soft: color-mix(in srgb, oklch(.66 .16 32) 20%, var(--bg-elevated));--voice-strong: oklch(.78 .12 35);--magic: oklch(.7 .14 290);--magic-soft: color-mix(in srgb, oklch(.7 .14 290) 20%, var(--bg-elevated));--tooltip-bg: color-mix(in srgb, var(--primary) 34%, #0f172a 66%);--tooltip-fg: #ffffff;--tooltip-shadow: 0 8px 18px rgba(0, 0, 0, .34);--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}.patient-auth-focused-app .public-entry-topbar .topbar-inner{justify-content:center}.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:calc(var(--radius-lg) + 6px);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-login-shell{grid-template-columns:minmax(0,540px);justify-content:center;gap:1rem;max-width:640px;margin:0 auto}.auth-login-shell .auth-page-copy{width:100%;min-width:0;box-sizing:border-box;align-content:start;gap:.45rem;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--border-default) 86%,transparent);border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--state-info-bg) 64%,transparent),transparent 72%),color-mix(in srgb,var(--bg-elevated) 86%,var(--bg-surface));box-shadow:var(--shadow-1)}.auth-login-shell .auth-page-copy h1{font-size:1.45rem;line-height:1.15;letter-spacing:0;overflow-wrap:anywhere}.auth-login-shell .public-landing-kicker{font-size:.75rem}.auth-login-shell .public-landing-lead{max-width:none;font-size:.95rem;line-height:1.55}.auth-login-shell .auth-card{width:100%;min-width:0;box-sizing:border-box;padding:2rem}.auth-login-shell .auth-field,.auth-login-shell .auth-field input,.auth-login-shell .auth-field select{min-width:0}.auth-login-shell .auth-field input,.auth-login-shell .auth-field select{width:100%;box-sizing:border-box}.auth-register-shell{grid-template-columns:minmax(0,620px);max-width:720px}.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-password-wrapper{position:relative;display:block;width:100%}.auth-password-wrapper input{width:100%;box-sizing:border-box;padding-right:2.75rem}.auth-password-toggle{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;border-radius:8px}.auth-password-toggle:hover{color:var(--text-primary);background:color-mix(in srgb,var(--bg-app) 60%,transparent)}.auth-password-toggle:focus-visible{color:var(--text-primary);background:color-mix(in srgb,var(--bg-app) 60%,transparent);outline:2px solid var(--focus-ring, currentColor);outline-offset:2px}.auth-password-toggle svg{width:20px;height:20px}.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);font-size:.92rem;font-weight:400;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)}.auth-context-topbar .topbar-inner{grid-template-columns:auto auto;justify-content:space-between;gap:1rem}.auth-context-action{display:flex;align-items:center;justify-self:end;gap:.75rem;min-width:0}.auth-login-topbar-actions{display:flex;align-items:center;justify-self:end;gap:.65rem;min-width:0}.auth-register-topbar-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem .85rem;border:1px solid color-mix(in srgb,var(--text-on-primary) 30%,transparent);border-radius:var(--radius-pill);color:var(--text-on-primary);font-size:.82rem;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap}.auth-register-topbar-link:hover,.auth-register-topbar-link:focus-visible{background:color-mix(in srgb,var(--text-on-primary) 18%,transparent);color:var(--text-on-primary)}.auth-space-selector{display:flex;align-items:center;justify-self:end;gap:.55rem;min-width:0;padding:.3rem;border:1px solid color-mix(in srgb,var(--text-on-primary) 30%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--text-on-primary) 10%,transparent)}.auth-space-selector-label{padding-left:.55rem;color:color-mix(in srgb,var(--text-on-primary) 82%,transparent);font-size:.78rem;font-weight:700;white-space:nowrap}.auth-space-selector-options{display:flex;align-items:center;gap:.25rem}.auth-space-selector-option{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:36px;padding:.45rem .75rem;border-radius:var(--radius-pill);color:var(--text-on-primary);font-size:.84rem;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;transition:background .18s ease-out,color .18s ease-out,box-shadow .18s ease-out}.auth-space-selector-option svg{width:17px;height:17px}.auth-space-selector-option:not(.active):hover,.auth-space-selector-option:not(.active):focus-visible{background:color-mix(in srgb,var(--text-on-primary) 18%,transparent);color:var(--text-on-primary)}.auth-space-selector-option.active,.auth-space-selector-option.active:hover,.auth-space-selector-option.active:focus-visible{background:var(--bg-elevated);color:var(--primary);box-shadow:var(--shadow-1)}.auth-space-selector-option:focus-visible{outline:2px solid var(--text-on-primary);outline-offset:2px}.auth-context-prompt{color:color-mix(in srgb,var(--accent-ink) 82%,transparent);font-size:.9rem;font-weight:600;white-space:nowrap}.auth-brand-button{padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer}.auth-brand-button:hover,.auth-brand-button:focus-visible{background:transparent;color:var(--accent-ink)}.auth-context-link{min-height:42px;padding:.65rem 1rem;border-radius:var(--radius-pill);color:var(--accent-ink);font-weight:700;text-align:right;white-space:nowrap}.auth-context-link:hover,.auth-context-link:focus-visible{background:color-mix(in srgb,var(--accent-ink) 18%,transparent);color:var(--accent-ink)}.auth-journey-main{padding-top:clamp(1.5rem,3vw,2.5rem);padding-bottom:clamp(2.5rem,7vw,6rem)}.auth-journey-shell{grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);align-items:center;gap:clamp(2rem,6vw,5rem);max-width:1060px;margin:0 auto}.auth-journey-copy{align-content:center;justify-items:start;gap:1rem}.auth-journey-copy h1{font-size:clamp(2.35rem,5vw,4rem);line-height:1.02;letter-spacing:-.035em}.auth-space-login-shell .auth-journey-copy h1{font-size:clamp(2rem,4.25vw,3.4rem)}.auth-trust-line{display:flex;align-items:center;gap:.55rem;margin:.3rem 0 0;color:var(--text-secondary)}.auth-trust-line svg{flex:0 0 auto;width:20px;height:20px;color:var(--state-success-fg)}.auth-journey-card{width:100%;min-width:0;max-width:540px;box-sizing:border-box;justify-self:end;padding:clamp(1.4rem,3vw,2rem);border-radius:calc(var(--radius-lg) + 8px);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.auth-journey-card .auth-form,.auth-journey-card .auth-register-step,.auth-journey-card .auth-field,.auth-journey-card .auth-field input,.auth-journey-card .auth-field select{min-width:0}.auth-journey-card .auth-field input,.auth-journey-card .auth-field select{width:100%;box-sizing:border-box}.auth-card-space-heading{display:flex;align-items:center;gap:.8rem;margin:-.15rem 0 1.15rem;padding-bottom:1rem;border-bottom:1px solid var(--border-default)}.auth-card-space-icon{display:inline-grid;flex:0 0 auto;place-items:center;width:44px;height:44px;border-radius:var(--radius-md)}.auth-card-space-heading-practitioner .auth-card-space-icon{background:color-mix(in srgb,var(--primary) 12%,var(--bg-elevated));color:var(--primary)}.auth-card-space-heading-patient .auth-card-space-icon{background:var(--state-info-bg);color:var(--state-info-fg)}.auth-card-space-icon svg{width:23px;height:23px}.auth-card-space-heading>div{display:grid;gap:.1rem}.auth-card-space-heading h2{margin:0;color:var(--text-primary);font-size:1.15rem;line-height:1.25}.auth-space-footer-link{display:grid;justify-items:center;gap:.55rem;margin-top:1.15rem;padding-top:1.1rem;border-top:1px solid var(--border-default);color:var(--text-secondary);font-size:.86rem;text-align:center}.patient-auth-card>.auth-space-footer-link{margin-top:0}.auth-space-footer-link a{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:100%;min-height:44px;box-sizing:border-box;padding:.65rem 1rem;border:1px solid color-mix(in srgb,var(--state-info-fg) 18%,var(--border-default));border-radius:var(--radius-md);background:var(--state-info-bg);color:var(--state-info-fg);font-weight:700;text-decoration:none}.auth-space-footer-link a:hover,.auth-space-footer-link a:focus-visible{border-color:color-mix(in srgb,var(--primary) 34%,var(--border-default));background:color-mix(in srgb,var(--state-info-bg) 72%,var(--bg-elevated));color:var(--primary)}.auth-space-footer-link svg{width:18px;height:18px}.auth-register-step{display:grid;gap:1rem}.auth-register-step[hidden]{display:none}.auth-step-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--text-secondary);font-size:.88rem}.auth-step-head strong{color:var(--text-primary)}.auth-step-progress{height:5px;overflow:hidden;border-radius:var(--radius-pill);background:var(--state-info-bg)}.auth-step-progress span{display:block;height:100%;border-radius:inherit;background:var(--btn-primary-bg);transition:width .18s ease-out}.auth-password-checks{display:flex;flex-wrap:wrap;gap:.5rem 1rem;color:var(--text-secondary);font-size:.82rem}.auth-password-checks span{display:inline-flex;align-items:center;gap:.3rem}.auth-password-checks svg{width:15px;height:15px}.auth-password-checks span.valid{color:var(--state-success-fg);font-weight:700}.auth-public-page-preview{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.8rem;padding:1rem;border:1px solid color-mix(in srgb,var(--state-info-fg) 18%,var(--border-default));border-radius:var(--radius-md);background:var(--state-info-bg);color:var(--state-info-fg)}.auth-public-page-preview>div{display:grid;gap:.18rem;min-width:0}.auth-public-page-preview span{font-size:.82rem}.auth-public-page-preview strong{overflow-wrap:anywhere}.auth-field-label-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.auth-field-label-row>label{font-size:.92rem;font-weight:600}.auth-field-label-row .auth-inline-link{font-size:.82rem}.auth-form-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem}.auth-secondary-button{min-height:48px;border-radius:14px}.auth-switch-centered{justify-content:center;text-align:center}.auth-status{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.7rem;margin:0 0 1rem;padding:.9rem 1rem;border:1px solid var(--border-default);border-radius:var(--radius-md)}.auth-status>div{display:grid;gap:.15rem}.auth-status svg{width:20px;height:20px}.auth-status-success{border-color:color-mix(in srgb,var(--state-success-fg) 20%,var(--border-default));background:var(--state-success-bg);color:var(--state-success-fg)}.auth-status-info{grid-template-columns:1fr;background:var(--state-info-bg);color:var(--state-info-fg)}.auth-status-warning{grid-template-columns:1fr;background:var(--state-warning-bg);color:var(--state-warning-fg)}.patient-auth-app .patient-public-legal-footer{width:min(1240px,calc(100% - 48px))}.patient-auth-shell{gap:2.5rem}.patient-auth-shell.auth-login-shell{gap:1rem}.patient-auth-copy{align-content:center;justify-items:start;gap:1rem}.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:calc(var(--radius-lg) + 6px);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-method-note{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.7rem;padding:.9rem 1rem;border:1px solid color-mix(in srgb,var(--state-info-fg) 18%,var(--border-default));border-radius:var(--radius-md);background:var(--state-info-bg);color:var(--state-info-fg)}.patient-auth-method-note svg{width:20px;height:20px}.patient-auth-method-note p{margin:0;line-height:1.55}.patient-auth-alternative{min-height:44px;color:var(--primary);font-weight:700}.patient-auth-alternative:hover,.patient-auth-alternative:focus-visible{background:color-mix(in srgb,var(--state-info-bg) 58%,transparent);color:var(--primary-hover)}.patient-auth-success{display:grid;justify-items:center;gap:1rem;padding:.75rem 0;text-align:center}.patient-auth-success-icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-pill);background:var(--state-success-bg);color:var(--state-success-fg)}.patient-auth-success-icon svg{width:26px;height:26px}.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)}.auth-login-shell .patient-auth-methods{gap:.5rem}.auth-login-shell .patient-auth-method-button{min-height:42px;padding:.55rem .85rem}.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 minmax(0,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;min-width:0;overflow:visible}.top-tabs-measure{position:absolute;inset:0 auto auto 0;display:flex;align-items:center;gap:.45rem;width:-moz-max-content;width:max-content;visibility:hidden;pointer-events:none;z-index:-1}.top-tabs-section-measure{flex:0 0 auto;overflow:visible}.top-tabs-section-measure .tab{flex:0 0 auto}.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-capacity-open: color-mix(in srgb, var(--text-secondary) 24%, var(--bg-surface));--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:-moz-fit-content;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(--border-default);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-1);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(92dvh,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:-moz-fit-content;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="Statistiques 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="Statistiques revenu"] .finance-table-head,.finance-table[aria-label="Statistiques 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-filters-card .finance-analytics-granularity-select{min-height:46px;padding:0 .9rem;border-color:color-mix(in srgb,var(--state-info-fg) 22%,var(--border-default));background:linear-gradient(180deg,color-mix(in srgb,var(--state-info-bg) 66%,var(--bg-elevated)),var(--bg-elevated));box-shadow:inset 0 1px color-mix(in srgb,white 75%,transparent),0 10px 24px color-mix(in srgb,var(--state-info-fg) 10%,transparent)}.finance-analytics-filters-card .finance-analytics-granularity-select:hover,.finance-analytics-filters-card .finance-analytics-granularity-select:focus-visible,.finance-analytics-filters-card .settings-select.is-open .finance-analytics-granularity-select{border-color:color-mix(in srgb,var(--primary) 44%,var(--border-default));background:linear-gradient(180deg,color-mix(in srgb,var(--state-info-bg) 82%,var(--bg-elevated)),var(--bg-surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--input-focus) 20%,transparent),0 14px 28px color-mix(in srgb,var(--primary) 14%,transparent)}.finance-analytics-granularity-dropdown .settings-select-panel{border-color:color-mix(in srgb,var(--primary) 24%,var(--border-default));background:linear-gradient(180deg,color-mix(in srgb,var(--state-info-bg) 72%,var(--bg-elevated)),var(--bg-elevated));box-shadow:0 18px 40px color-mix(in srgb,var(--state-info-fg) 16%,transparent),var(--shadow-2)}.finance-analytics-granularity-dropdown .settings-select-option{color:var(--text-primary)}.finance-analytics-granularity-dropdown .settings-select-option:hover,.finance-analytics-granularity-dropdown .settings-select-option:focus-visible,.finance-analytics-granularity-dropdown .settings-select-option.active{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary-hover) 72%,#12305f));color:#fff}.finance-analytics-granularity-dropdown .settings-select-option:hover .settings-select-option-label,.finance-analytics-granularity-dropdown .settings-select-option:focus-visible .settings-select-option-label,.finance-analytics-granularity-dropdown .settings-select-option.active .settings-select-option-label{color:#fff}.finance-analytics-toolbar-actions{align-self:end}.finance-analytics-error{margin:0;color:var(--state-danger-fg)}.finance-analytics-dashboard{display:grid;gap:1rem}.finance-analytics-dashboard>section{margin:0}.finance-analytics-dashboard>.finance-analytics-page-head,.finance-analytics-dashboard>.finance-analytics-kpis,.finance-analytics-dashboard>.finance-analytics-grid{padding:0;border-radius:0;background:transparent;box-shadow:none}.finance-analytics-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.finance-analytics-page-head>div:first-child{display:grid;gap:.25rem}.finance-analytics-page-head h2,.finance-analytics-page-head p,.finance-analytics-chart-card h3,.finance-analytics-chart-card header p{margin:0}.finance-analytics-period-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.finance-analytics-range-card{display:grid;gap:.75rem;padding:.75rem .9rem;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-surface) 76%,var(--bg-app));box-shadow:none}.finance-analytics-quick-ranges{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.finance-analytics-control-label{margin-right:.15rem;color:var(--text-secondary);font-size:.82rem;font-weight:700}.finance-analytics-range-button{border:1px solid var(--btn-secondary-border);border-radius:var(--radius-pill);background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);padding:.48rem .8rem;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;transition:background-color .18s ease-out,border-color .18s ease-out,color .18s ease-out}.finance-analytics-range-button:hover,.finance-analytics-range-button:focus-visible,.finance-analytics-range-button.active{border-color:var(--btn-primary-bg);background:var(--btn-primary-bg);color:var(--btn-primary-fg)}.finance-analytics-range-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--input-focus) 38%,transparent)}.finance-analytics-custom-range{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding-top:.75rem;border-top:1px solid var(--border-default)}.finance-analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.finance-analytics-kpi{gap:.4rem;background:color-mix(in srgb,var(--bg-elevated) 92%,var(--bg-app))}.finance-analytics-kpi-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--text-secondary);font-size:.82rem;font-weight:700}.finance-analytics-kpi>strong{color:var(--text-primary);font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.1;font-variant-numeric:tabular-nums}.finance-analytics-kpi-delta{color:var(--text-secondary);font-size:.78rem;line-height:1.35}.finance-analytics-kpi-delta.is-positive{color:var(--state-success-fg)}.finance-analytics-kpi-delta.is-negative{color:var(--state-danger-fg)}.finance-analytics-insight{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;padding:.8rem 1rem;border:1px solid color-mix(in srgb,var(--state-info-fg) 20%,var(--border-default));border-radius:var(--radius-lg);background:var(--state-info-bg);color:var(--state-info-fg)}.finance-analytics-insight-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--state-info-fg) 12%,transparent)}.finance-analytics-insight>div{display:grid;gap:.12rem}.finance-analytics-insight span{font-size:.86rem}.finance-analytics-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(18rem,1fr);gap:.75rem;align-items:stretch}.finance-analytics-chart-card{align-content:start;min-width:0}.finance-analytics-chart-card>header:not(.finance-card-head){display:grid;gap:.25rem}.finance-analytics-chart-main{min-width:0}.finance-analytics-heatmap-card{grid-column:1 / -1}.finance-chart-line-key{width:1.6rem;height:0;border-top:3px solid var(--finance-chart-paid)}.finance-chart-line-key.realized{border-color:var(--finance-chart-realized);border-top-width:2px}.finance-chart-line-key.planned{border-color:var(--finance-chart-planned);border-top-width:2px}.finance-chart-line-key.dashed{border-top-style:dashed}.finance-analytics-revenue-chart,.finance-analytics-activity-chart{height:320px}.finance-analytics-pipeline,.finance-analytics-mix{display:grid;gap:.8rem}.finance-analytics-pipeline-row,.finance-analytics-mix-row{display:grid;grid-template-columns:minmax(5rem,.9fr) minmax(4rem,1.4fr) auto;align-items:center;gap:.6rem;font-size:.86rem}.finance-analytics-pipeline-row strong,.finance-analytics-mix-row strong{font-variant-numeric:tabular-nums;white-space:nowrap}.finance-analytics-progress{display:block;height:.6rem;overflow:hidden;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--text-secondary) 18%,var(--bg-surface))}.finance-analytics-progress>i{display:block;min-width:2px;height:100%;border-radius:inherit;background:var(--finance-chart-paid)}.finance-analytics-progress>i.planned{background:var(--finance-chart-planned)}.finance-analytics-progress>i.realized{background:var(--finance-chart-realized)}.finance-analytics-progress>i.invoiced{background:var(--finance-chart-invoiced)}.finance-analytics-progress>i.paid{background:var(--finance-chart-paid)}.finance-analytics-card-note{margin:0;padding-top:.75rem;border-top:1px solid var(--border-default);color:var(--text-secondary);font-size:.84rem}.finance-analytics-card-note strong{color:var(--text-primary)}.finance-chart-swatch.capacity-open{background:var(--finance-chart-capacity-open)}.finance-analytics-mix-row{grid-template-columns:minmax(7rem,1.2fr) minmax(4rem,1fr) auto}.finance-analytics-missed{display:grid;gap:.55rem;padding-top:.75rem;border-top:1px solid var(--border-default)}.finance-analytics-missed>span{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.82rem}.finance-analytics-missed>span strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.finance-analytics-empty{min-height:12rem}.finance-analytics-heatmap-scroll{overflow-x:auto;padding-bottom:.25rem}.finance-analytics-heatmap{display:grid;min-width:42rem;gap:.35rem;align-items:center}.finance-analytics-heatmap-row{display:contents}.finance-analytics-heatmap-row>strong{font-size:.82rem}.finance-analytics-heatmap-hour{color:var(--text-secondary);font-size:.76rem;text-align:center}.finance-analytics-heatmap-cell{display:grid;place-items:center;min-height:2rem;border-radius:var(--radius-sm);background:var(--state-info-bg);color:var(--state-info-fg);font-size:.72rem;font-variant-numeric:tabular-nums}.finance-analytics-heatmap-cell.level-0,.finance-analytics-heatmap-legend i.level-0{background:color-mix(in srgb,var(--finance-chart-fill-rate) 8%,var(--bg-surface))}.finance-analytics-heatmap-cell.level-1,.finance-analytics-heatmap-legend i.level-1{background:color-mix(in srgb,var(--finance-chart-fill-rate) 22%,var(--bg-surface))}.finance-analytics-heatmap-cell.level-2,.finance-analytics-heatmap-legend i.level-2{background:color-mix(in srgb,var(--finance-chart-fill-rate) 42%,var(--bg-surface))}.finance-analytics-heatmap-cell.level-3,.finance-analytics-heatmap-legend i.level-3{background:color-mix(in srgb,var(--finance-chart-fill-rate) 66%,var(--bg-surface))}.finance-analytics-heatmap-cell.level-4,.finance-analytics-heatmap-legend i.level-4{background:color-mix(in srgb,var(--finance-chart-fill-rate) 88%,var(--bg-surface));color:var(--text-on-primary)}.finance-analytics-heatmap-cell.is-closed{background:color-mix(in srgb,var(--border-default) 35%,transparent)}.finance-analytics-heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:.3rem;color:var(--text-secondary);font-size:.74rem}.finance-analytics-heatmap-legend i{width:1rem;height:.65rem;border-radius:calc(var(--radius-sm) / 2)}.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}.finance-analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.finance-analytics-grid{grid-template-columns:1fr}.finance-analytics-heatmap-card{grid-column:auto}}@media(max-width:720px){.topbar.compact.public-entry-topbar .topbar-inner{grid-template-columns:1fr;justify-items:stretch;gap:.75rem;height:auto;min-height:var(--topbar-height-mobile);padding-top:.75rem;padding-bottom:.85rem}.public-entry-topbar .brand{justify-content:center;min-height:calc(var(--topbar-height-mobile) - 8px)}.public-entry-topbar .brand-wordmark{height:40px}.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%}.topbar.compact.public-entry-topbar.auth-context-topbar .topbar-inner{grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:initial;gap:.75rem;min-height:68px;padding:.65rem 16px}.topbar.compact.public-entry-topbar.auth-space-selector-topbar .topbar-inner{grid-template-columns:1fr;justify-items:stretch;gap:.55rem;padding-top:.75rem;padding-bottom:.75rem}.auth-space-selector-topbar .auth-brand-button{justify-self:center}.auth-login-topbar-actions{display:grid;justify-self:stretch;gap:.45rem}.auth-register-topbar-link{justify-self:center;min-height:34px;padding:.35rem .75rem;border-color:transparent;text-decoration:underline;text-underline-offset:.18em}.auth-space-selector{width:100%;box-sizing:border-box;justify-self:stretch;justify-content:space-between}.auth-space-selector-options{flex:1 1 auto}.auth-space-selector-option{flex:1 1 0}.auth-context-topbar .auth-brand-button{justify-content:flex-start;min-height:0}.auth-context-topbar .brand-wordmark{height:36px}.auth-context-prompt{display:none}.auth-context-link{width:auto;max-width:100%;min-height:40px;justify-self:end;padding:.5rem .8rem;font-size:.86rem}.auth-journey-main{padding:1.25rem 16px 2.5rem}.auth-journey-shell{gap:1rem}.auth-journey-copy{gap:.55rem;padding:0}.auth-journey-copy h1{font-size:clamp(2rem,10vw,2.6rem)}.auth-space-login-shell .auth-journey-copy h1{font-size:clamp(1.7rem,8.5vw,2.21rem)}.auth-trust-line{display:none}.auth-journey-card,.patient-auth-card{max-width:none;padding:1.25rem;border-radius:var(--radius-lg)}.auth-form-actions{grid-template-columns:1fr}.auth-form-actions .auth-secondary-button{order:2}.patient-auth-focused-app .public-entry-main{padding-top:1.25rem}.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}.finance-analytics-page-head{display:grid}.finance-analytics-period-summary{justify-content:flex-start}.finance-analytics-kpis,.finance-analytics-custom-range{grid-template-columns:1fr}.finance-analytics-quick-ranges{align-items:stretch}.finance-analytics-control-label{flex-basis:100%}.finance-analytics-range-button{flex:1 1 calc(50% - .45rem)}.finance-analytics-pipeline-row,.finance-analytics-mix-row{grid-template-columns:minmax(6.5rem,1fr) minmax(3rem,1fr) auto}}.top-tabs-section{display:inline-flex;align-items:center;gap:.2rem;min-width:0;flex:1 1 auto;overflow:hidden}.ui-inline-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0;color:currentColor;flex:0 0 auto;vertical-align:middle}.ui-inline-icon svg{width:1rem;height:1rem;display:block}.top-tab-label,.drawer-item-label,.user-menu-item-label{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.top-tab-label>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-tab-icon svg{width:.95rem;height:.95rem}.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;min-width:0;flex:0 1 auto}.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;flex:0 0 auto}.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:220px;z-index:20}.more-item{background:transparent;border:none;padding:.5rem .7rem;text-align:left;border-radius:10px;cursor:pointer;color:var(--text-primary);width:100%}.more-item:hover,.more-item:focus-visible,.more-item.active{background:var(--primary);color:#fff}.more-item:hover .more-item-label,.more-item:hover .ui-inline-icon,.more-item:focus-visible .more-item-label,.more-item:focus-visible .ui-inline-icon,.more-item.active .more-item-label,.more-item.active .ui-inline-icon{color:#fff}.more-toggle{flex-shrink:0}.more-toggle-muted{color:color-mix(in srgb,#ffffff 70%,transparent)}.more-toggle-muted:hover,.more-toggle-muted:focus-visible{color:color-mix(in srgb,#ffffff 92%,transparent)}.more-toggle-caret svg{width:.82rem;height:.82rem}.more-item-label{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.topbar-actions{display:flex;align-items:center;gap:.5rem;justify-self:end;flex-shrink:0}.topbar .topbar-actions .ghost{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{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;white-space:nowrap}.user-menu{position:relative}.user-menu-trigger{min-height:34px;max-width:100%;color:#fff;background:color-mix(in srgb,#ffffff 16%,transparent);border-color:color-mix(in srgb,#ffffff 30%,transparent);box-shadow:inset 0 1px #ffffff2e,0 8px 18px #080e1638}.user-menu-trigger:hover,.user-menu-trigger:focus-visible{background:color-mix(in srgb,#ffffff 22%,transparent);color:#fff}.user-menu-trigger.active{color:#fff;background:color-mix(in srgb,#ffffff 24%,transparent);border-color:color-mix(in srgb,#ffffff 36%,transparent);box-shadow:inset 0 1px #ffffff3d,0 10px 22px #080e1647;transform:translateY(-1px)}.user-menu-trigger .action-label{font-weight:700}.user-menu-caret{display:inline-flex;align-items:center;justify-content:center}.user-menu-caret svg{width:.85rem;height:.85rem;display:block}.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);display:flex;align-items:center;justify-content:space-between;gap:.75rem}.user-menu-item:hover,.user-menu-item:focus-visible{background:var(--state-success-bg);color:var(--accent)}.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,.settings-subnav{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.finance-local-subnav-item,.follow-up-local-subnav-item,.settings-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,.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);outline:none}.finance-local-subnav-item.active,.follow-up-local-subnav-item.active,.settings-subnav-item.active{border-color:color-mix(in srgb,var(--subnav-hover-fg) 34%,transparent);background:var(--subnav-hover-bg);color:var(--subnav-hover-fg);box-shadow:none}.mobile-subpage-nav-slot{display:none}.mobile-subpage-nav{background:var(--subnav-bg);border-bottom:1px solid var(--subnav-border)}.mobile-subpage-nav-scroll{display:flex;gap:.5rem;overflow-x:auto;overscroll-behavior-x:contain;padding:.5rem 16px;scrollbar-width:none}.mobile-subpage-nav-scroll::-webkit-scrollbar{display:none}.mobile-subpage-nav-item{flex:0 0 auto;min-height:38px;border:1px solid var(--border-default);border-radius:999px;background:var(--bg-surface);color:var(--text-primary);padding:.44rem .78rem;font-size:.86rem;font-weight:700;white-space:nowrap}.mobile-subpage-nav-item:hover,.mobile-subpage-nav-item:focus-visible{border-color:color-mix(in srgb,var(--subnav-hover-fg) 34%,transparent);background:var(--subnav-hover-bg);color:var(--subnav-hover-fg);outline:none}.mobile-subpage-nav-item.active{border-color:color-mix(in srgb,var(--subnav-hover-fg) 38%,transparent);background:var(--subnav-hover-bg);color:var(--subnav-hover-fg)}.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}.settings-local-actions-row,.follow-up-local-actions-inner{justify-content:flex-start}.follow-up-local-actions-title{white-space:normal}.follow-up-local-actions-row,.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{flex:1 1 auto;min-width:0;flex-wrap:nowrap;justify-content:flex-end;gap:.42rem}.patient-local-actions-row .search-box.compact{flex:1 1 150px;min-width:130px;max-width:185px}.patient-local-actions-row .search-box.compact input{min-width:0}.patient-local-actions-row .button-like,.patient-local-actions-row button.ghost,.patient-local-actions-row button.primary{min-height:34px;padding:.36rem .58rem;font-size:.84rem;white-space:nowrap}.patient-local-actions-row>button{flex:0 0 auto}.patient-scope-select,.planning-practitioner-select{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-secondary);font-size:.82rem;font-weight:700}.patient-scope-select select,.planning-practitioner-select select{min-width:150px}.patient-local-actions-row .patient-scope-select{flex:0 0 auto;gap:.28rem}.patient-local-actions-row .patient-scope-select>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.patient-local-actions-row .patient-scope-select select{min-width:132px;max-width:142px}.patient-local-actions-row .patient-type-dropdown,.patient-local-actions-row .patient-status-dropdown{flex:0 0 auto}.patient-local-actions-row .patient-type-dropdown-trigger{min-width:148px;max-width:168px}.patient-local-actions-row .patient-status-dropdown-trigger{min-width:138px;max-width:158px}.patient-local-actions-row .patient-type-dropdown-trigger>span:first-child,.patient-local-actions-row .patient-status-dropdown-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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{display:inline-flex;align-items:center;justify-content:center}.planning-menu-trigger .caret svg{width:.9rem;height:.9rem;display:block}.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-layout{display:block}.content-shell-layout.has-side-panel{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.content-shell-main,.content-shell-aside{min-width:0}.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-messages{max-width:none;height:calc(100dvh - var(--topbar-height));min-height:calc(100dvh - var(--topbar-height));padding:0 24px 1rem;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}.content-shell.content-shell-messages .content-shell-layout,.content-shell.content-shell-messages .content-shell-main{min-height:0;flex:1 1 auto;display:flex;flex-direction:column}.content-shell.content-shell-messages>section{flex:1 1 auto;min-height:0}.content-shell.content-shell-planning>section,.content-shell.content-shell-planning .content-shell-main>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:0 .35rem}.content-shell.content-shell-planning .availability-board{background:transparent}.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;overflow:visible}.planning-left-controls{display:inline-flex;align-items:center;gap:.45rem;margin-right:auto}.planning-today-button{position:relative}.planning-openings-toggle{position:relative;display:inline-flex;align-items:center;gap:.45rem}.planning-guided-action{position:relative;display:inline-flex;overflow:visible}.planning-guided-callout{position:absolute;left:50%;top:calc(100% + 12px);transform:translate(-50%);width:min(260px,calc(100vw - 32px));padding:12px 14px;border:1px solid color-mix(in srgb,var(--primary-hover) 82%,white 18%);border-radius:var(--radius-md, 14px);background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 88%,white 12%),var(--primary));color:#fff;box-shadow:0 14px 30px color-mix(in srgb,var(--primary) 30%,transparent);display:grid;gap:4px;z-index:35;pointer-events:none}.planning-guided-callout:after{content:"";position:absolute;left:calc(50% - 8px);top:-8px;width:16px;height:16px;background:inherit;border-left:1px solid color-mix(in srgb,var(--primary-hover) 82%,white 18%);border-top:1px solid color-mix(in srgb,var(--primary-hover) 82%,white 18%);transform:rotate(45deg)}.planning-guided-callout strong{font-size:.86rem}.planning-guided-callout span{line-height:1.45}.local-actions.planning-local-actions .local-actions-row button.planning-openings-toggle.is-guided-button{border-color:color-mix(in srgb,var(--primary) 38%,var(--border-default));background:color-mix(in srgb,var(--primary) 12%,var(--bg-surface));color:var(--primary);box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 10%,transparent)}.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:var(--tooltip-bg);color:var(--tooltip-fg);padding:.38rem .5rem;border-radius:8px;font-size:.76rem;line-height:1.2;white-space:pre-line;width:-moz-max-content;width:max-content;max-width:min(80vw,360px);box-shadow:var(--tooltip-shadow);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:var(--tooltip-bg);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-openings-toggle.is-guided-button[data-tooltip]:after,.planning-openings-toggle.is-guided-button[data-tooltip]:before{display:none}.planning-date-controls{display:inline-flex;align-items:center;gap:.45rem}.waitlist-settings-shortcut{position:relative}.waitlist-settings-shortcut svg{width:1rem;height:1rem;display:block}.waitlist-settings-shortcut:after{content:attr(data-tooltip);position:absolute;right:0;top:calc(100% + 6px);width:-moz-max-content;width:max-content;max-width:min(70vw,260px);padding:.34rem .46rem;border-radius:8px;background:var(--tooltip-bg);color:var(--tooltip-fg);font-size:.74rem;line-height:1.2;white-space:normal;box-shadow:var(--tooltip-shadow);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-trigger .caret{display:inline-flex;align-items:center;justify-content:center}.planning-tools-trigger .caret svg{width:.9rem;height:.9rem;display:block}.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;display:inline-flex;align-items:center;gap:.55rem;transition:background-color .18s ease,color .18s ease}.planning-tools-item-text{flex:1 1 auto}.planning-tools-item-state{margin-left:auto;font-size:.82rem;color:#64748b}.planning-tools-item:hover,.planning-tools-item:focus-visible,.planning-tools-item.active{background:var(--subnav-hover-bg);color:var(--subnav-hover-fg)}.planning-tools-item.active .planning-tools-item-state,.planning-tools-item:hover .planning-tools-item-state,.planning-tools-item:focus-visible .planning-tools-item-state{color:color-mix(in srgb,var(--subnav-hover-fg) 72%,transparent)}.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.planning-tools-trigger{background:color-mix(in srgb,var(--subnav-bg) 88%,var(--bg-elevated));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-tools-trigger:hover,.local-actions.planning-local-actions .local-actions-row button.planning-tools-trigger:focus-visible,.local-actions.planning-local-actions .local-actions-row button.planning-tools-trigger[aria-expanded=true]{background:color-mix(in srgb,var(--subnav-bg) 88%,var(--bg-elevated));color:var(--subnav-text);border-color:var(--subnav-border)}.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}.replacement-context-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;padding:.75rem 1rem;border:1px solid color-mix(in srgb,var(--state-info-fg) 24%,var(--border-default));border-radius:var(--radius-md);background:var(--state-info-bg);color:var(--text-primary)}.replacement-context-banner span{display:grid;gap:.2rem}.replacement-context-banner small{color:var(--text-secondary)}.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}@media(min-width:641px)and (max-width:1024px){.content-shell.content-shell-planning .mobile-date-nav{grid-template-columns:40px minmax(0,1fr) 40px;gap:var(--space-1)}.content-shell.content-shell-planning .mobile-date-nav-arrow{width:40px;min-width:40px;height:40px;min-height:40px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary)}.mobile-planning-date-picker{position:relative;min-width:0}.mobile-planning-date-picker .mobile-date-nav-trigger{display:flex;align-items:center;justify-content:center;gap:var(--space-1);width:100%;min-width:0;min-height:40px;padding:0 var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);box-shadow:none}.mobile-planning-date-picker .mobile-date-nav-trigger>svg:first-child{display:none}.mobile-planning-date-picker .mobile-date-nav-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.mobile-date-nav-caret{width:14px;min-width:14px;height:14px;transition:transform .16s ease}.mobile-planning-date-picker .mobile-date-nav-trigger[aria-expanded=true] .mobile-date-nav-caret{transform:rotate(180deg)}.mobile-planning-date-picker .mobile-planning-date-popover{position:fixed;z-index:2300;top:calc(var(--topbar-height-mobile) + 58px);left:var(--space-4);right:var(--space-4);width:auto;min-width:0;max-width:480px;margin-inline:auto;transform:none}}.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;display:inline-flex;align-items:center;justify-content:center}.mobile-action-icon svg{width:1.05rem;height:1.05rem;display:block}.mobile-action-label{line-height:1.05;text-align:center}.mobile-action-primary .mobile-action-label{font-weight:600}.mobile-action:hover,.mobile-action:focus-visible{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.mobile-action-primary:hover,.mobile-action-primary:focus-visible{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.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-item:hover,.mobile-nav-item:focus-visible{background:var(--primary-hover);color:#fff}.mobile-nav-icon{font-size:1.05rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.mobile-nav-icon svg{width:1.05rem;height:1.05rem;display:block}.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(72dvh,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-item-icon{display:inline-flex;align-items:center;justify-content:center}.mobile-action-sheet-item-icon svg{width:1rem;height:1rem;display:block}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .2s ease;z-index:2100}.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;box-sizing:border-box;height:100dvh;max-height:100dvh;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-x:hidden;overflow-y:auto;overscroll-behavior:contain}.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;display:inline-flex;align-items:center;justify-content:center}.icon-btn svg{width:1.15rem;height:1.15rem;display:block}.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 .ui-inline-icon svg{width:1rem;height:1rem}.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.auth-context-link{border:1px solid color-mix(in srgb,var(--accent-ink) 42%,transparent);background:color-mix(in srgb,var(--accent-ink) 12%,transparent);color:var(--accent-ink)}button.auth-context-link:hover,button.auth-context-link:focus-visible{border-color:color-mix(in srgb,var(--accent-ink) 44%,transparent);background:color-mix(in srgb,var(--accent-ink) 18%,transparent);color:var(--accent-ink)}button.auth-secondary-button{border:1px solid var(--btn-secondary-border);background:var(--btn-secondary-bg);color:var(--btn-secondary-fg)}button.auth-secondary-button:hover,button.auth-secondary-button:focus-visible{border-color:color-mix(in srgb,var(--primary) 34%,var(--btn-secondary-border));background:color-mix(in srgb,var(--state-info-bg) 54%,var(--btn-secondary-bg));color:var(--btn-secondary-fg)}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%;-o-object-fit:cover;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{background:var(--surface);border-color:var(--border)}.app.public .public-list-item{background:transparent;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:.95rem 1rem;gap:.3rem}.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-layout.is-info-only{grid-template-columns:minmax(0,1fr)}.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}}.quick-task-composer{position:relative;z-index:4;display:grid;gap:.55rem;padding:.72rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-1)}.quick-task-title-row{position:relative}.quick-task-title-row>input{width:100%;height:44px;padding-right:5.8rem;border-color:var(--border-default);background:var(--bg-elevated);color:var(--text-primary);font-size:.95rem;font-weight:600}.quick-task-title-row>input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 45%,transparent)}.quick-task-enter-hint{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);color:var(--text-secondary);font-size:.72rem;font-weight:700;pointer-events:none}.quick-task-submit-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);border:0;white-space:nowrap}.quick-task-options{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.quick-task-picker-wrap{position:relative}button.quick-task-option{min-height:34px;padding:.34rem .62rem;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--text-secondary);font-size:.79rem;font-weight:700;line-height:1}button.quick-task-option.active{border-color:color-mix(in srgb,var(--primary) 28%,var(--border-default));background:color-mix(in srgb,var(--state-info-bg) 62%,var(--bg-elevated));color:var(--text-primary)}button.quick-task-option:hover,button.quick-task-option:focus-visible{border-color:var(--primary);background:var(--primary);color:var(--accent-ink)}.quick-task-popover{position:absolute;top:calc(100% + .38rem);left:0;z-index:20;min-width:220px;padding:.55rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.quick-task-patient-popover{width:min(360px,calc(100vw - 2rem));display:grid;gap:.5rem}.quick-task-patient-popover>input,.quick-task-date-popover input{width:100%;min-height:40px}.quick-task-selected-patients{display:flex;flex-wrap:wrap;gap:.3rem}.quick-task-selected-patients button{padding:.24rem .48rem;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--state-info-bg);color:var(--state-info-fg);font-size:.72rem;font-weight:700}.quick-task-patient-results{max-height:260px;overflow-y:auto;display:grid}.quick-task-patient-results>button{display:grid;gap:.1rem;padding:.5rem;border:0;border-bottom:1px solid var(--border-subtle);border-radius:0;background:transparent;color:var(--text-primary);text-align:left}.quick-task-patient-results>button:hover,.quick-task-patient-results>button:focus-visible,.quick-task-category-popover>button:hover,.quick-task-category-popover>button:focus-visible{background:var(--primary);color:var(--accent-ink)}.quick-task-patient-results small{color:var(--text-secondary)}.quick-task-patient-results>button:hover small,.quick-task-patient-results>button:focus-visible small{color:var(--accent-ink)}.quick-task-patient-results p{margin:0;padding:.65rem;color:var(--text-secondary);font-size:.8rem}.quick-task-date-popover label{display:grid;gap:.35rem;color:var(--text-secondary);font-size:.78rem;font-weight:700}.quick-task-category-popover{display:grid;gap:.18rem}.quick-task-category-popover>button{padding:.48rem .58rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);text-align:left;font-size:.8rem;font-weight:700}.quick-task-category-popover>button.active{background:var(--state-info-bg);color:var(--state-info-fg)}.tasks-shell--flat{gap:1rem}.tasks-flat-group,.tasks-completed--flat{display:grid;gap:0;border-top:1px solid var(--border-default);background:transparent}.tasks-flat-group-head{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 .2rem}.tasks-flat-group-head h3{margin:0;color:var(--text-primary);font-size:.96rem}.tasks-flat-group-head>span{color:var(--text-secondary);font-size:.78rem;font-weight:700}.tasks-flat-list{display:grid}.tasks-flat-row{min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.58rem .2rem;border-top:1px solid var(--border-subtle);background:transparent}.tasks-flat-row:hover{background:color-mix(in srgb,var(--state-info-bg) 36%,transparent)}.tasks-flat-row>input{width:17px;height:17px;margin:0}.tasks-flat-row-content{min-width:0;display:grid;gap:.25rem}.tasks-flat-row-title{overflow:hidden;color:var(--text-primary);font-size:.88rem;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.tasks-flat-row.done .tasks-flat-row-title{color:var(--text-secondary);text-decoration:line-through}.tasks-flat-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.38rem;color:var(--text-secondary);font-size:.76rem}.tasks-flat-row-actions{display:inline-flex;align-items:center;gap:.2rem}button.tasks-emoji-action{width:34px;min-width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.92rem;line-height:1}button.tasks-emoji-action:hover,button.tasks-emoji-action:focus-visible{border-color:var(--border-default);background:var(--bg-surface);color:var(--text-primary)}button.tasks-emoji-action.danger:hover,button.tasks-emoji-action.danger:focus-visible{border-color:color-mix(in srgb,var(--state-danger-fg) 24%,var(--border-default));background:var(--state-danger-bg);color:var(--state-danger-fg)}.tasks-flat-empty,.task-day-empty{margin:0;padding:1.1rem .2rem;border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.84rem}.tasks-completed-toggle--flat{border:0;border-radius:0;background:transparent;padding:.7rem .2rem}.tasks-completed-toggle--flat:hover,.tasks-completed-toggle--flat:focus-visible{border:0;background:transparent;color:var(--text-primary)}.planning-inline-task-add{justify-content:space-between;gap:.35rem;border-color:var(--border-default);background:transparent;color:var(--text-secondary)}.planning-inline-task-add:hover,.planning-inline-task-add:focus-visible{border-color:var(--primary);background:var(--primary);color:var(--accent-ink)}.planning-inline-task-single{border-color:var(--border-default);background:var(--bg-elevated);color:var(--text-primary)}.planning-inline-task-single-open,.planning-inline-task-single-title{color:var(--text-primary)}.planning-inline-task-more{flex:0 0 auto;color:var(--text-secondary);font-size:.66rem;font-weight:700;white-space:nowrap}.planning-inline-task-single-open:hover .planning-inline-task-more,.planning-inline-task-single-open:focus-visible .planning-inline-task-more{color:inherit}.task-day-drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;display:flex;justify-content:flex-end}.task-day-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;border-radius:0;background:color-mix(in srgb,var(--text-primary) 28%,transparent)}.task-day-drawer{position:relative;z-index:1;width:min(520px,100%);height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--bg-app);color:var(--text-primary);box-shadow:var(--shadow-3);overflow:hidden}.task-day-drawer-head{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:1rem 1.1rem;border-bottom:1px solid var(--border-default);background:var(--bg-elevated)}.task-day-drawer-kicker{display:block;margin-bottom:.15rem;color:var(--text-secondary);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.task-day-drawer-head h2{margin:0;font-size:1.08rem;text-transform:capitalize}.task-day-drawer-head-actions{display:inline-flex;align-items:center;gap:.3rem}.task-day-drawer-close{width:34px;min-width:34px;height:34px;padding:0;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:1.5rem;line-height:1}.task-day-drawer-close:hover,.task-day-drawer-close:focus-visible{border-color:var(--border-default);background:var(--bg-surface);color:var(--text-primary)}.task-day-drawer-body{overflow-y:auto;display:grid;align-content:start;gap:1rem;padding:1rem 1.1rem}.task-day-section,.task-day-completed{display:grid}.task-day-section-head{display:flex;align-items:center;justify-content:space-between;min-height:40px;border-bottom:1px solid var(--border-default)}.task-day-section-head h3{margin:0;font-size:.92rem}.task-day-section-head span{color:var(--text-secondary);font-size:.76rem;font-weight:700}.task-day-drawer-footer{padding:.78rem 1.1rem;border-top:1px solid var(--border-default);background:var(--bg-elevated);text-align:right}.task-day-drawer-footer .link{font-weight:800}@media(max-width:640px){.quick-task-composer{padding:.62rem}.quick-task-enter-hint{display:none}.quick-task-title-row>input{padding-right:.72rem}.quick-task-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}button.quick-task-option{width:100%;min-width:0;overflow:hidden;padding-inline:.38rem;text-overflow:ellipsis;white-space:nowrap}.quick-task-picker-wrap{min-width:0}.quick-task-popover{position:fixed;top:auto;right:.75rem;bottom:.75rem;left:.75rem;width:auto;max-height:min(420px,70vh);overflow-y:auto}.tasks-flat-row{grid-template-columns:auto minmax(0,1fr)}.tasks-flat-row-actions{grid-column:2;justify-self:end}.task-day-drawer{width:100%}.task-day-drawer-head,.task-day-drawer-body,.task-day-drawer-footer{padding-inline:.85rem}}@media print{body *{visibility:hidden!important}.task-day-drawer,.task-day-drawer *{visibility:visible!important}.task-print-hidden{display:none!important}.task-day-drawer-layer,.task-day-drawer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:auto;overflow:visible;box-shadow:none;background:var(--bg-elevated);color:var(--text-primary)}.task-day-drawer{display:block}.task-day-drawer-head,.task-day-drawer-body{padding:12mm;background:var(--bg-elevated)}.task-day-drawer-body{overflow:visible}.task-day-drawer-head{border-bottom:1px solid var(--border-default)}.tasks-flat-row{-moz-column-break-inside:avoid;break-inside:avoid;border-top-color:var(--border-default);background:transparent}.tasks-flat-row-title,.tasks-flat-row-meta,.task-day-drawer-head h2,.task-day-drawer-kicker{color:var(--text-primary)}}.planning-mobile-meta-toggle,.availability-appointment-mobile-type,.planning-mobile-overlap-sheet{display:none}@media(max-width:1024px){.mobile-actions.mobile-actions-single{left:auto;right:16px;grid-template-columns:56px;width:56px}.mobile-action-planning-launcher{width:56px;min-width:56px;height:56px;min-height:56px;padding:0;border-radius:var(--radius-pill);box-shadow:var(--shadow-2)}.mobile-action-planning-launcher .mobile-action-icon{font-size:2rem;font-weight:400;line-height:1}}@media(max-width:640px){.content-shell.content-shell-planning .mobile-inline-actions{position:sticky;top:calc(var(--topbar-height-mobile) + 4px);z-index:120;margin:0 -4px var(--space-2);padding:4px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-canvas) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.content-shell.content-shell-planning .mobile-date-nav{grid-template-columns:40px minmax(0,1fr) 40px;gap:var(--space-1)}.content-shell.content-shell-planning .mobile-date-nav-arrow{width:40px;min-width:40px;height:40px;min-height:40px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary)}.mobile-planning-date-picker{position:relative;min-width:0}.mobile-planning-date-picker .mobile-date-nav-trigger{width:100%;min-width:0;min-height:40px;padding:0 var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:var(--space-1);box-shadow:none}.mobile-planning-date-picker .mobile-date-nav-trigger>svg:first-child{display:none}.mobile-planning-date-picker .mobile-date-nav-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.mobile-date-nav-caret{width:14px;min-width:14px;height:14px;transition:transform .16s ease}.mobile-planning-date-picker .mobile-date-nav-trigger[aria-expanded=true] .mobile-date-nav-caret{transform:rotate(180deg)}.mobile-planning-date-popover{position:fixed;z-index:2300;top:calc(var(--topbar-height-mobile) + 58px);left:12px;right:12px;width:auto;max-width:360px;margin-inline:auto;padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-2)}.mobile-planning-date-popover .french-date-picker-month-year{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1)}.mobile-planning-date-popover select{min-width:0;border-color:var(--input-border);background:var(--input-bg);color:var(--input-fg)}.planning-mobile-meta-toggle{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--border-default);border-radius:0;background:var(--bg-subtle);color:var(--text-primary);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);text-align:left;box-shadow:none}.planning-mobile-meta-copy{min-width:0;display:grid;gap:1px}.planning-mobile-meta-copy strong{font-size:.72rem;line-height:1.1}.planning-mobile-meta-copy>span{color:var(--text-secondary);font-size:.68rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-mobile-meta-toggle>svg{width:16px;min-width:16px;height:16px;transition:transform .16s ease}.planning-mobile-meta-toggle>svg.is-expanded{transform:rotate(180deg)}.planning-days-with-tasks.planning-mobile-meta-collapsed .planning-inline-tasks-time-head,.planning-days-with-tasks.planning-mobile-meta-collapsed .planning-inline-task-cell{display:none}.availability-appointment{padding-right:24px}.availability-appointment strong{font-size:max(9.5px,var(--appt-inline-size, 9.5px))}.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{font-size:max(10px,var(--appt-inline-name-size, 10px))}.availability-appointment-time{flex:0 0 auto;font-size:max(8.5px,var(--appt-time-size, 8.5px));font-variant-numeric:tabular-nums}.availability-appointment-note-text{display:none}.availability-appointment-mobile-type{min-width:0;color:var(--text-secondary);display:block;font-size:8.5px;font-weight:650;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability-appointment.tight .availability-appointment-mobile-type{display:none}.availability-appointment.is-mobile-overlap-stack{box-shadow:3px 3px 0 var(--bg-elevated),5px 5px 0 var(--border-default)}.planning-mobile-overlap-count{position:absolute;right:3px;bottom:3px;min-width:20px;height:18px;padding:0 4px;border-radius:var(--radius-pill);background:var(--text-primary);color:var(--bg-elevated);display:inline-grid;place-items:center;font-size:9px;font-weight:800;line-height:1}.planning-mobile-overlap-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2400;display:grid;align-items:end}.planning-mobile-overlap-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;border-radius:0;background:color-mix(in srgb,var(--text-primary) 42%,transparent)}.planning-mobile-overlap-panel{position:relative;z-index:1;width:100%;max-height:min(72vh,560px);padding:var(--space-3) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom));border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-2);overflow:auto}.planning-mobile-overlap-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.planning-mobile-overlap-panel>header>div{display:grid;gap:2px}.planning-mobile-overlap-panel>header span{color:var(--text-secondary);font-size:.78rem}.planning-mobile-overlap-list{display:grid;gap:var(--space-2)}.planning-mobile-overlap-list>button{min-height:58px;padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--text-primary);display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px var(--space-2);text-align:left;box-shadow:none}.planning-mobile-overlap-list>button>span{grid-row:1 / 3;align-self:center;color:var(--text-secondary);font-size:.76rem;font-weight:800}.planning-mobile-overlap-list>button>strong,.planning-mobile-overlap-list>button>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-mobile-overlap-list>button>small{color:var(--text-secondary)}.planning-footer-summary .planning-footer-action-groups{display:none}.planning-footer-summary{min-height:38px;padding-inline:var(--space-3);justify-content:space-between}}@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-location-selector{display:grid;gap:.35rem;max-width:24rem;font-weight:600}.public-location-selector select{width:100%;font-weight:500}.public-location-details{display:grid;gap:0}.public-location-summary{padding:.8rem 0}.public-location-summary strong{font-size:1.05rem}.public-location-summary p,.public-location-additional p{margin-bottom:0}.public-location-summary+.public-list,.public-location-summary+.public-location-additional,.public-location-details .public-list+.public-location-additional{border-top:1px solid var(--border-default)}.public-location-additional{padding:.9rem 0 0}.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:0}.public-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 0;border:0;border-radius:0;background:transparent}.public-list-item+.public-list-item{border-top: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%;-o-object-fit:cover;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{justify-content:flex-start}.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-page.settings-page-practitioner-profile,.settings-page.settings-page-cabinet,.settings-page.planning-display-settings-page,.settings-page.settings-page-planning,.settings-page.settings-page-waitlist,.settings-page.settings-page-messages-primary,.settings-page.settings-page-messages-secondary,.settings-page.settings-page-finance{border:none;box-shadow:none;border-radius:0;padding:0}.settings-page.settings-page-practitioner-profile,.settings-page.settings-page-cabinet,.settings-page.planning-display-settings-page,.settings-page.settings-page-planning,.settings-page.settings-page-waitlist{background:transparent}.settings-hero{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start;padding:0;margin-bottom:.1rem}.settings-page.settings-page-practitioner-profile .settings-hero,.settings-page.settings-page-cabinet .settings-hero,.settings-page.planning-display-settings-page .settings-hero{margin-bottom:.65rem}.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%);align-items:stretch}.settings-kpi-row-right{grid-template-columns:minmax(0,1fr);margin-left:auto;width:min(220px,100%)}.settings-kpi-row-inline-duo{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:auto;width:min(420px,100%)}.settings-sms-quota-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:.45rem;margin-bottom:.85rem}.settings-sms-kpi-row{margin-left:0;width:-moz-fit-content;width:fit-content}.sms-overage-card{display:grid;gap:.85rem;margin-bottom:1rem}.sms-overage-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem}.sms-overage-card-head h4,.sms-overage-copy p{margin:0}.sms-overage-copy{display:grid;gap:.45rem}.sms-overage-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.sms-overage-status-pill{white-space:nowrap}.sms-overage-status-pill.status-active{background:var(--state-success-bg);color:var(--state-success-fg)}.sms-overage-status-pill.status-pending{background:var(--state-info-bg);color:var(--state-info-fg)}.sms-overage-status-pill.status-past_due,.sms-overage-status-pill.status-canceled,.sms-overage-status-pill.status-inactive{background:var(--state-warning-bg);color:var(--state-warning-fg)}.settings-inline-action-button{align-self:center;padding:.72rem 1.1rem;border-radius:11px;white-space:nowrap}.settings-kpi{border:1px solid color-mix(in srgb,var(--state-info-fg) 8%,var(--border-default));border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-elevated) 82%,white 18%),color-mix(in srgb,var(--state-info-bg) 28%,var(--bg-elevated)));padding:.72rem .82rem;display:grid;gap:.22rem;min-height:78px;align-content:start;box-shadow:inset 0 1px color-mix(in srgb,white 80%,transparent),var(--shadow-1)}.settings-kpi-label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--text-secondary) 92%,var(--state-info-fg))}.settings-kpi strong{display:inline-flex;align-items:center;min-height:1.6rem;font-size:1.02rem;line-height:1.2;color:var(--text-primary)}.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-messages-secondary,.settings-page.settings-page-finance,.settings-messages-stacked-form .settings-page.settings-page-finance{background:#fff}.settings-page.settings-page-messages-secondary{border:1px solid var(--border-default);border-radius:calc(var(--radius-lg) + 2px);background:var(--bg-elevated);box-shadow:var(--shadow-1);padding:1rem}.settings-page.settings-page-messages-secondary .settings-hero{margin-bottom:.7rem}.settings-page.settings-page-messages-secondary .settings-hero-copy{margin-top:.25rem}.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:.95rem 1rem;box-shadow:0 8px 18px #0f172a0d;display:grid;gap:.3rem}.settings-panel-plain{background:transparent;border:none;border-radius:0;box-shadow:none;padding:0}.settings-panel-head{display:grid;gap:0;margin:0 0 .7rem}.settings-panel-head h3{margin:0;font-size:1.5rem;line-height:1.2;font-weight:700;letter-spacing:-.03em;color:#0f172a}.settings-panel-head-hero-like h2{margin:0;font-size:1.5rem;line-height:1.08;font-weight:700;letter-spacing:-.03em;color:#0f172a}.settings-panel-head .hint{margin:.25rem 0 0;font-size:.82rem;line-height:1.35}.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-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-rule-row-button{width:100%;border:1px solid var(--border-default);color:inherit;font:inherit;text-align:left;cursor:pointer}.cabinet-rule-row-button:hover,.cabinet-rule-row-button:focus-visible{border-color:color-mix(in srgb,var(--primary) 38%,var(--border-default));background:color-mix(in srgb,var(--bg-elevated) 86%,var(--state-info-bg));outline:none}.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-field-label-with-info{display:inline-flex;align-items:center;gap:.35rem}.settings-info-hint{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;border:1px solid color-mix(in srgb,var(--text-secondary) 32%,transparent);border-radius:999px;color:var(--text-secondary);font-size:.72rem;font-weight:700;line-height:1;cursor:help;-webkit-user-select:none;-moz-user-select:none;user-select:none}.settings-info-hint:hover,.settings-info-hint:focus-visible{border-color:var(--primary);color:var(--primary);outline:none}.settings-info-hint.app-tooltip:after{left:0;right:auto;top:calc(100% + 8px);min-width:min(72vw,220px);text-align:left}.settings-info-hint.app-tooltip:before{left:2px;right:auto;top:calc(100% + 2px)}.cabinet-rule-detail-modal{display:grid;gap:1rem;width:min(620px,92vw)}.cabinet-rule-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.cabinet-rule-detail-header h3{margin:0 0 .25rem}.cabinet-rule-detail-grid{display:grid;gap:.75rem}.cabinet-rule-detail-list{display:grid;gap:.35rem;margin:0;padding-left:1.1rem;color:var(--text-secondary)}.cabinet-rule-detail-actions{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.cabinet-rule-detail-actions button{width:auto}.cabinet-rule-delete-overlay{z-index:1010}.cabinet-rule-delete-modal{display:grid;gap:1rem;width:min(440px,92vw)}.cabinet-rule-delete-modal h3{margin:0 0 .35rem}.cabinet-rule-delete-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.cabinet-rule-delete-actions button{width:auto}.cabinet-tier-editor,.cabinet-rule-preview-controls{display:grid;gap:.75rem;padding:.85rem;border:1px solid var(--border-default);border-radius:12px;background:color-mix(in srgb,var(--bg-elevated) 88%,var(--bg-app))}.settings-form-grid-wide{grid-column:1 / -1}.cabinet-tier-editor-head,.cabinet-tier-row{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap}.cabinet-tier-editor-head{align-items:center;justify-content:space-between}.cabinet-tier-list{display:grid;gap:.65rem}.cabinet-tier-row label{min-width:min(100%,160px)}.settings-kpi-grid.is-stale{opacity:.62}.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;align-items:stretch}.message-automation-left-stack{display:flex;flex-direction:column;justify-content:space-between;gap:.6rem}.message-automation-patient{grid-area:patient}.message-automation-professional{align-self:start}.message-automation-reminders{grid-area:reminders}.message-automation-block{border:1px solid #dbe6f0;border-radius:12px;padding:.65rem .7rem;background:#f8fbff;display:grid;gap:.4rem}.settings-page.settings-page-messages-primary .message-automation-block,.settings-page.settings-page-messages-secondary .message-automation-block,.settings-page.settings-page-messages-primary .message-settings-item,.settings-page.settings-page-messages-secondary .message-settings-item,.settings-page.settings-page-messages-primary .message-template-card,.settings-page.settings-page-messages-secondary .message-template-card,.settings-page.settings-page-messages-primary .message-template-variable-item,.settings-page.settings-page-messages-secondary .message-template-variable-item,.settings-page.settings-page-messages-primary .message-reminder-option,.settings-page.settings-page-messages-secondary .message-reminder-option{background:transparent;border:none;border-radius:0;box-shadow:none}.settings-page.settings-page-messages-primary .message-automation-framed,.settings-page.settings-page-messages-secondary .message-automation-framed{background:color-mix(in srgb,var(--bg-surface) 90%,var(--bg-app));border:1px solid var(--border-subtle);border-radius:16px;padding:.8rem .9rem;box-shadow:none}.message-automation-framed-full{grid-column:1 / -1}.message-automation-framed-title{display:inline-flex;align-items:center;gap:.45rem}.message-automation-framed>.message-automation-framed-title{margin-bottom:1.35rem}.message-automation-framed-title .ui-inline-icon svg{width:.95rem;height:.95rem}.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}.waitlist-mantine-switch-root{width:-moz-fit-content;width:fit-content}.waitlist-mantine-switch-body{align-items:center;gap:.65rem}.waitlist-mantine-switch-label{padding-inline-end:0;cursor:pointer;font-weight:600;color:var(--text-primary)}.waitlist-form-requirements{margin:1.15rem 0 1.25rem;padding:.7rem .8rem;border:1px solid var(--border-subtle);border-radius:16px;background:color-mix(in srgb,var(--bg-surface) 90%,var(--bg-app))}.waitlist-intro-zone{margin-bottom:.55rem}.waitlist-prescription-zone{display:grid;gap:.35rem;align-content:start;margin:.55rem 0 .95rem}.waitlist-form-requirements-title{grid-column:1 / -1;margin:0 0 .1rem}.waitlist-form-requirements .settings-toggle,.waitlist-form-requirements .settings-toggle span{font-weight:400}.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:16px;height:16px;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-page.settings-page-waitlist .settings-toggle,.settings-page.settings-page-waitlist .settings-inline-field,.settings-page.settings-page-waitlist .settings-field-grid>label,.settings-page.settings-page-waitlist .settings-message-pair-grid>label,.settings-page.settings-page-waitlist .field-block.settings-field-grid-full{background:transparent;border:none;border-radius:0;box-shadow:none}.settings-page.settings-page-waitlist .settings-toggle,.settings-page.settings-page-waitlist .settings-inline-field,.settings-page.settings-page-waitlist .settings-field-grid>label,.settings-page.settings-page-waitlist .settings-message-pair-grid>label{padding:0}.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:calc(var(--radius-lg) + 2px);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;-moz-column-gap:.26rem;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-select{position:relative;display:inline-grid;min-width:0;vertical-align:middle}.settings-select.is-full-width{display:grid;width:100%}.settings-select-trigger{width:100%;min-height:42px;display:inline-flex;align-items:center;justify-content:space-between;gap:.55rem;text-align:left;color:var(--text-primary);border:1px solid var(--border-default);border-radius:12px;background:var(--bg-elevated);box-shadow:var(--shadow-1)}.settings-select-trigger:hover,.settings-select-trigger:focus-visible,.settings-select.is-open .settings-select-trigger{background:var(--bg-surface);border-color:color-mix(in srgb,var(--primary) 18%,var(--border-default))}.settings-select-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--input-focus) 34%,transparent),var(--shadow-1)}.settings-select-trigger:disabled{cursor:default;opacity:.72}.settings-select-trigger.settings-inline-control{padding:0 .7rem;border:1px solid var(--border-default);border-radius:12px;background:var(--bg-elevated);box-shadow:var(--shadow-1)}.settings-select-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-select-caret{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--text-secondary);transition:transform .18s ease}.settings-select.is-open .settings-select-caret{transform:rotate(180deg)}.settings-select-caret svg{width:.9rem;height:.9rem;display:block}.settings-select-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:50;min-width:100%;width:-moz-max-content;width:max-content;max-width:min(320px,calc(100vw - 2rem));padding:.4rem;border-radius:12px;border:1px solid var(--border-default);background:var(--bg-elevated);box-shadow:var(--shadow-2);display:grid;gap:.25rem}.settings-select-option{width:100%;background:transparent;border:none;padding:.5rem .7rem;text-align:left;border-radius:10px;color:var(--text-primary);font-size:.95rem;font-weight:500}.settings-select-option:hover,.settings-select-option:focus-visible,.settings-select-option.active{background:var(--primary);color:#fff}.settings-select-option:focus-visible{outline:none}.settings-select-option-label{min-width:0}.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}.subscription-settings-page{background:var(--bg-app)}.content-shell-settings>section.subscription-settings-page{border:none;background:transparent}.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-page .settings-field-grid>label,.profile-settings-page .settings-inline-field{background:transparent;border:none;border-radius:0;padding:0}.profile-settings-page .settings-toggle{background:transparent;border:none;border-radius:0;padding:0;font-weight:400}.profile-settings-page .settings-toggle span{font-weight:400}.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}.subscription-current-offer-card{gap:.85rem;padding:1rem 1.05rem;border-radius:22px;border:1px solid color-mix(in srgb,var(--action-primary-bg) 18%,var(--border-default));background:linear-gradient(135deg,color-mix(in srgb,var(--state-info-bg) 46%,var(--bg-elevated)) 0%,var(--bg-elevated) 52%);box-shadow:0 10px 24px color-mix(in srgb,var(--action-primary-bg) 8%,transparent)}.subscription-current-offer-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.8rem 1rem}.subscription-current-offer-head{margin:0}.subscription-current-offer-layout,.subscription-current-offer-main{display:grid;gap:.75rem}.subscription-offer-pill,.subscription-status-pill,.subscription-plan-badge{display:inline-flex;align-items:center;justify-content:center;min-height:1.85rem;padding:.2rem .72rem;border-radius:var(--radius-pill);border:1px solid transparent;font-size:.78rem;font-weight:700;line-height:1;letter-spacing:.01em}.subscription-offer-pill--neutral{background:var(--state-info-bg);color:var(--state-info-fg);border-color:color-mix(in srgb,var(--state-info-fg) 22%,transparent)}.subscription-offer-pill--info{background:color-mix(in srgb,var(--action-primary-bg) 10%,var(--bg-elevated));color:var(--action-primary-bg);border-color:color-mix(in srgb,var(--action-primary-bg) 22%,transparent)}.subscription-offer-pill--review{background:var(--state-review-bg);color:var(--state-review-fg);border-color:color-mix(in srgb,var(--state-review-fg) 22%,transparent)}.subscription-status-pill--success{background:var(--state-success-bg);color:var(--state-success-fg);border-color:color-mix(in srgb,var(--state-success-fg) 22%,transparent)}.subscription-status-pill--warning{background:var(--state-warning-bg);color:var(--state-warning-fg);border-color:color-mix(in srgb,var(--state-warning-fg) 22%,transparent)}.subscription-status-pill--danger{background:var(--state-danger-bg);color:var(--state-danger-fg);border-color:color-mix(in srgb,var(--state-danger-fg) 22%,transparent)}.subscription-status-pill--info,.subscription-status-pill--neutral{background:var(--state-info-bg);color:var(--state-info-fg);border-color:color-mix(in srgb,var(--state-info-fg) 22%,transparent)}.profile-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-static-field{gap:.18rem}.subscription-static-field-value{margin:0;color:var(--text-primary);font-size:1rem;line-height:1.3;font-weight:500}.subscription-current-offer-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem;align-items:start}.subscription-current-offer-heading-row{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem .7rem}.subscription-current-offer-meta{display:grid;gap:.28rem}.subscription-current-offer-meta .hint,.subscription-current-offer-meta .settings-inline-warning{margin:0}.subscription-current-offer-name{margin:0;color:var(--text-primary);font-size:clamp(1.45rem,2.7vw,1.95rem);line-height:1.02;letter-spacing:-.04em;font-weight:800}.subscription-current-offer-description{margin:.12rem 0 0;max-width:54ch;color:var(--text-secondary);font-size:.93rem;line-height:1.4}.subscription-usage-card{display:grid;gap:.32rem;padding:.8rem .92rem;border-radius:16px;background:color-mix(in srgb,var(--bg-elevated) 86%,var(--state-info-bg));border:1px solid color-mix(in srgb,var(--border-default) 88%,transparent);box-shadow:var(--shadow-1)}.subscription-current-offer-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.65rem}.subscription-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.65rem;margin-top:.55rem}.subscription-current-offer-actions,.subscription-billing-interval-switch{display:flex;flex-wrap:wrap;gap:.6rem}.subscription-current-offer-actions{margin-top:0}.subscription-current-offer-actions>button,.subscription-interval-pill{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.7rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--border-default) 84%,transparent);background:var(--bg-elevated);color:var(--text-primary);font-weight:700;padding:.75rem 1rem}.subscription-current-offer-manage-button{box-shadow:var(--shadow-1)}.subscription-current-offer-inline-action{background:color-mix(in srgb,var(--state-warning-bg) 70%,var(--bg-elevated));color:var(--state-warning-fg)}.subscription-interval-pill{flex-direction:column;align-items:flex-start;min-width:180px;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.subscription-interval-pill small{color:var(--text-secondary);font-size:.75rem}.subscription-interval-pill:hover{background:var(--bg-elevated)}.subscription-interval-pill:focus-visible{background:var(--bg-elevated);outline:2px solid color-mix(in srgb,var(--focus-ring) 42%,transparent);outline-offset:2px}.subscription-interval-pill.is-active{border-color:color-mix(in srgb,var(--primary) 72%,var(--border-default));background:color-mix(in srgb,var(--primary) 10%,var(--bg-elevated));box-shadow:0 10px 18px color-mix(in srgb,var(--primary) 12%,transparent)}.subscription-interval-pill.is-active:hover,.subscription-interval-pill.is-active:focus-visible{border-color:color-mix(in srgb,var(--primary) 72%,var(--border-default));background:color-mix(in srgb,var(--primary) 10%,var(--bg-elevated));box-shadow:0 10px 18px color-mix(in srgb,var(--primary) 12%,transparent)}.subscription-plan-card{position:relative;display:grid;align-content:start;gap:.82rem;min-height:100%;padding:1rem .95rem .95rem;border:1px solid var(--border-default);border-radius:20px;background:var(--bg-elevated);box-shadow:var(--shadow-1)}.subscription-plan-card.is-unavailable{border-color:color-mix(in srgb,var(--border-default) 92%,transparent);background:color-mix(in srgb,var(--surface-muted) 72%,var(--bg-elevated));box-shadow:none}.subscription-plan-card.is-featured{border-color:color-mix(in srgb,var(--primary) 78%,var(--border-default));box-shadow:0 10px 28px color-mix(in srgb,var(--primary) 14%,transparent)}.subscription-plan-card.is-current:not(.is-featured){border-color:color-mix(in srgb,var(--action-primary-bg) 24%,var(--border-default));background:linear-gradient(180deg,color-mix(in srgb,var(--state-info-bg) 42%,var(--bg-elevated)) 0%,var(--bg-elevated) 34%);box-shadow:0 12px 24px color-mix(in srgb,var(--action-primary-bg) 10%,transparent)}.subscription-plan-card-topline{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.subscription-plan-badge{background:color-mix(in srgb,var(--action-primary-bg) 12%,var(--bg-elevated));color:var(--action-primary-bg);border-color:color-mix(in srgb,var(--action-primary-bg) 22%,transparent)}.subscription-plan-badge--soon{background:color-mix(in srgb,var(--surface-muted) 84%,var(--bg-elevated));color:var(--text-secondary);border-color:color-mix(in srgb,var(--border-default) 84%,transparent)}.subscription-plan-card-head{display:grid;gap:.28rem}.subscription-plan-title-row h3{margin:0;font-size:1.45rem;line-height:1.03;letter-spacing:-.03em}.subscription-plan-summary,.subscription-plan-note{margin:0;color:var(--text-secondary)}.subscription-plan-summary{font-size:.91rem;line-height:1.35}.subscription-plan-card.is-unavailable .subscription-plan-title-row h3,.subscription-plan-card.is-unavailable .subscription-plan-price,.subscription-plan-card.is-unavailable .subscription-plan-list li{color:var(--text-secondary)}.subscription-plan-price-block{display:grid;gap:.12rem}.subscription-plan-price-line{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.35rem;margin:0}.subscription-plan-price{font-size:clamp(2.2rem,4vw,3rem);line-height:.95;letter-spacing:-.05em;font-weight:800;color:var(--text-primary)}.subscription-plan-price-suffix{padding-bottom:.22rem;color:var(--text-secondary);font-size:.95rem;line-height:1.1}.subscription-plan-note{font-size:.82rem;line-height:1.3}.subscription-plan-note-highlight{margin:0;color:var(--state-success-fg);font-size:.95rem;line-height:1.2;font-weight:700}.subscription-plan-cta{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.9rem;width:100%;border-radius:16px;font-weight:700;line-height:1.1;cursor:pointer}.subscription-plan-cta svg{width:1rem;height:1rem;flex:0 0 auto}.subscription-plan-cta--ghost{border:1px solid color-mix(in srgb,var(--primary) 70%,var(--border-default));background:var(--bg-elevated);color:var(--primary)}.subscription-plan-cta--ghost:hover,.subscription-plan-cta--ghost:focus-visible{background:var(--primary-hover);border-color:color-mix(in srgb,var(--primary-hover) 70%,var(--border-default));color:#fff}.subscription-plan-cta--primary{border:1px solid color-mix(in srgb,var(--primary) 70%,var(--border-default));background:var(--primary);color:#fff;box-shadow:0 10px 18px color-mix(in srgb,var(--primary) 16%,transparent)}.subscription-plan-cta:disabled,.subscription-current-offer-actions>button:disabled{cursor:not-allowed;opacity:.55}.subscription-plan-sections{display:grid;gap:.72rem;align-content:start}.subscription-plan-section{display:grid;gap:.5rem;padding-top:.72rem;border-top:1px solid color-mix(in srgb,var(--border-default) 88%,transparent)}.subscription-plan-section h4{margin:0;color:var(--text-secondary);font-size:.74rem;line-height:1.1;font-weight:800;letter-spacing:0;text-transform:uppercase}.subscription-plan-list{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.subscription-plan-list li{position:relative;padding-left:1.2rem;color:var(--text-primary);font-size:.92rem;line-height:1.3}.subscription-plan-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--action-primary-bg);font-weight:700}.subscription-invoices-card{margin-top:.55rem}.subscription-sms-summary-card{gap:.75rem}.subscription-sms-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem}.subscription-sms-summary-head h3{margin:0}.subscription-sms-summary-kpis{max-width:420px}.subscription-sms-summary-foot{display:grid;gap:.35rem}.subscription-invoice-list{display:grid;gap:.75rem}.subscription-invoice-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1rem;border:1px solid color-mix(in srgb,var(--border-default) 88%,transparent);border-radius:18px;background:color-mix(in srgb,var(--bg-elevated) 92%,var(--state-info-bg))}@media(max-width:900px){.subscription-current-offer-header,.subscription-sms-summary-head,.subscription-invoice-row{flex-direction:column;align-items:stretch}.subscription-current-offer-actions{width:100%}.subscription-current-offer-actions>button,.subscription-sms-summary-head>button{width:100%}.subscription-invoice-meta{justify-content:flex-start}}.subscription-invoice-title{margin:0;color:var(--text-primary);font-weight:700}.subscription-invoice-meta{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.subscription-invoice-meta a{color:var(--primary);font-weight:700;text-decoration:none}.subscription-invoice-meta a:hover{text-decoration:underline}.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-settings-page .planning-display-time-grid>label{background:transparent;border:none;border-radius:0;padding:0}.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-settings-page .planning-display-day-option{border:none;border-radius:0;padding:0;background:transparent;font-weight:400}.planning-display-day-option input{margin:0;width:16px;height:16px}.profile-settings-page .settings-toggle input,.settings-page-waitlist .settings-toggle input,.settings-page .planning-display-day-option input{width:14px;height:14px}.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:1.35rem}.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-copy .hint{margin:0;font-size:.82rem;line-height:1.2;font-weight:400;color:color-mix(in srgb,var(--text-secondary) 88%,transparent)}.message-settings-item-title{font-weight:700;color:#1f2937}.message-settings-item input{width:16px;height:16px;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:-moz-fit-content;width:fit-content;max-width:100%;font-size:.76rem;font-weight:700;background:#eef4ff;color:#1e293b;border-radius:8px;padding:.1rem .35rem}.settings-page.settings-page-messages-primary .message-template-variable-item code,.settings-page.settings-page-messages-secondary .message-template-variable-item code{background:transparent;border-radius:0;padding:0}.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}.settings-page.settings-page-messages-primary .message-settings-item,.settings-page.settings-page-messages-secondary .message-settings-item,.settings-page.settings-page-messages-primary .message-reminder-option,.settings-page.settings-page-messages-secondary .message-reminder-option{padding:0}.settings-page.settings-page-messages-primary .message-settings-item,.settings-page.settings-page-messages-secondary .message-settings-item{min-height:auto;align-items:flex-start;padding:.1rem 0}.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;font-size:.92rem;line-height:1.05}.settings-page .settings-hero-copy{font-size:.82rem;line-height:1.15}.settings-page label,.settings-page .settings-toggle span,.settings-page .message-settings-item-title{font-size:.95rem;line-height:1.16}.settings-page select:not([multiple]){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.2rem;border:1px solid var(--border-default);border-radius:12px;background-color:var(--bg-elevated);background-image:linear-gradient(45deg,transparent 50%,color-mix(in srgb,var(--text-secondary) 88%,transparent) 50%),linear-gradient(135deg,color-mix(in srgb,var(--text-secondary) 88%,transparent) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 1px),calc(100% - 11px) calc(50% - 1px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;box-shadow:var(--shadow-1);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.settings-page select.settings-inline-control:not([multiple]){padding-right:2rem;background-color:var(--bg-elevated)}.settings-page select:not([multiple]):hover{background-color:var(--bg-surface);border-color:color-mix(in srgb,var(--border-default) 84%,var(--text-secondary) 16%)}.settings-page select:not([multiple]):focus-visible{outline:none;background-color:var(--bg-surface);border-color:color-mix(in srgb,var(--primary) 28%,var(--border-default));box-shadow:0 0 0 3px color-mix(in srgb,var(--input-focus) 34%,transparent),var(--shadow-1)}.settings-page select option{background:var(--bg-elevated);color:var(--text-primary)}.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-row.contacts-row-empty{cursor:default}.contacts-cell-empty{grid-column:1 / -1;text-align:center}.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}.professionals-row-actions,.professionals-card-actions{display:inline-flex;align-items:center;align-self:center;justify-content:flex-end;flex-wrap:nowrap;gap:.45rem;width:auto;max-width:-moz-max-content;max-width:max-content;flex:0 0 auto}.professionals-row-actions .icon-btn,.professionals-card-actions .icon-btn{width:36px;height:36px;min-width:36px;min-height:36px;max-width:36px;max-height:36px;padding:0;flex:0 0 36px;align-self:center;box-sizing:border-box;line-height:0;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}.professionals-row-actions .icon-btn:hover,.professionals-row-actions .icon-btn:focus-visible,.professionals-card-actions .icon-btn:hover,.professionals-card-actions .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))}.professionals-row-actions .icon-btn:disabled,.professionals-card-actions .icon-btn:disabled{opacity:.45;cursor:not-allowed}.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-header,.waitlist-item{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1.15fr) minmax(0,.95fr) minmax(0,1.05fr) minmax(0,1.1fr) minmax(0,.72fr);gap:1rem;align-items:center}.waitlist-table{border:1px solid var(--border-default);border-radius:16px;overflow:hidden;background:var(--bg-elevated)}.waitlist-table-header{padding:.85rem 1rem;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.waitlist-table-header-centered{text-align:center}.waitlist-table-body{display:grid}.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-status-filter-dropdown{position:relative}.waitlist-status-filter-dropdown>summary{list-style:none}.waitlist-status-filter-dropdown>summary::-webkit-details-marker{display:none}.waitlist-status-filter-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:.55rem;min-width:220px}.waitlist-status-filter-caret{display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease}.waitlist-status-filter-caret svg{width:.9rem;height:.9rem;display:block}.waitlist-status-filter-dropdown[open] .waitlist-status-filter-caret{transform:rotate(180deg)}.waitlist-status-filter-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:45;width:min(320px,calc(100vw - 2rem));padding:.4rem;border-radius:12px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 16px 28px #0f172a29;display:grid;gap:.35rem}.waitlist-status-filter-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.55rem;padding:.55rem .7rem;border:none;border-radius:10px;background:transparent;color:#1f2937;font-size:.84rem;font-weight:500;text-align:left}.waitlist-status-filter-option:hover,.waitlist-status-filter-option:focus-visible,.waitlist-status-filter-option.active{background:var(--subnav-hover-bg);color:var(--subnav-hover-fg)}.waitlist-status-filter-option-label{min-width:0}.waitlist-status-filter-option-check{display:inline-flex;align-items:center;justify-content:center;color:inherit}.waitlist-status-filter-option-check svg{width:.9rem;height:.9rem;display:block}.waitlist-share-bar+.waitlist-toolbar{margin-top:-.7rem}.waitlist-review-block{display:grid;gap:.35rem;margin-top:-1.05rem;margin-bottom:-.35rem}.waitlist-review-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated)}.waitlist-review-banner-main{display:grid;gap:.45rem}.waitlist-review-drawer{margin-top:0;padding:.85rem 1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:none}@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-header>span,.waitlist-item>span{min-width:0}.waitlist-motifs-preview,.waitlist-note-cell{text-align:left;font-size:.85rem;white-space:pre-wrap}.waitlist-note-cell{color:var(--text-secondary);line-height:1.3;overflow-wrap:anywhere;word-break:break-word}.waitlist-item{padding:.85rem 1rem;border-top:1px solid var(--border-subtle);background:var(--bg-elevated);text-align:left;cursor:pointer;transition:none;position:relative;z-index:0}.waitlist-item:first-child{border-top:0}.waitlist-item:hover{background:color-mix(in srgb,var(--state-info-bg) 26%,var(--bg-elevated))}.waitlist-item:focus-visible{outline:2px solid color-mix(in srgb,var(--focus-ring) 70%,transparent);outline-offset:-2px}.waitlist-item:hover,.waitlist-item:focus-within{z-index:8}.waitlist-item .cell{display:flex;flex-direction:column;gap:.2rem;min-width:0}.waitlist-item .cell.status{align-items:center;justify-content:center;text-align:center}.waitlist-item .cell.actions{align-items:flex-end}.waitlist-cell-stack{display:grid;gap:.1rem;align-content:center}.waitlist-time-value{font-variant-numeric:tabular-nums}.waitlist-secondary-text{color:var(--text-secondary);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:none}.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:flex;flex-wrap:wrap;gap:.55rem}.waitlist-review-stats .waitlist-review-badge{flex:0 0 auto;width:auto;min-width:0;justify-content:center;text-align:center}.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-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:none}.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-motifs-row{justify-content:flex-start}.waitlist-motif-chip{cursor:default;pointer-events:none;background:color-mix(in srgb,var(--state-info-bg) 58%,var(--bg-surface))!important;color:color-mix(in srgb,var(--primary) 74%,var(--text-primary))!important;border-color:color-mix(in srgb,var(--primary) 18%,var(--border-default))!important}.waitlist-actions{display:inline-flex;justify-content:flex-end;flex-wrap:wrap;opacity:1;gap:.4rem;visibility:visible}.waitlist-action-button{position:relative;width:2.25rem;min-width:2.25rem;height:2.25rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-default);border-radius:12px;box-shadow:none;font-size:1rem;line-height:1}.waitlist-action-button svg{width:1rem;height:1rem;display:block}.waitlist-action-button.is-success{background:color-mix(in srgb,var(--state-success-bg) 72%,var(--bg-surface));color:var(--state-success-fg);border-color:color-mix(in srgb,var(--state-success-fg) 20%,var(--border-default))}.waitlist-action-button.is-danger{background:color-mix(in srgb,var(--state-danger-bg) 72%,var(--bg-surface));color:var(--state-danger-fg);border-color:color-mix(in srgb,var(--state-danger-fg) 20%,var(--border-default))}.waitlist-action-button.is-ghost{background:color-mix(in srgb,var(--state-review-bg) 72%,var(--bg-surface));color:var(--state-review-fg);border-color:color-mix(in srgb,var(--state-review-fg) 18%,var(--border-default))}.waitlist-action-button:hover,.waitlist-action-button:focus-visible{box-shadow:none}.waitlist-action-button.is-success:hover,.waitlist-action-button.is-success:focus-visible{background:color-mix(in srgb,var(--state-success-bg) 88%,var(--bg-surface))}.waitlist-action-button.is-danger:hover,.waitlist-action-button.is-danger:focus-visible{background:color-mix(in srgb,var(--state-danger-bg) 88%,var(--bg-surface))}.waitlist-action-button.is-ghost:hover,.waitlist-action-button.is-ghost:focus-visible{background:color-mix(in srgb,var(--state-review-bg) 88%,var(--bg-surface))}.waitlist-patient-name{display:inline-flex;align-items:center;gap:.28rem;min-width:0}.waitlist-priority-indicator{font-size:.95em;line-height:1}.waitlist-priority-toggle{filter:grayscale(1);opacity:.68}.waitlist-priority-toggle.is-active{filter:none;opacity:1}.waitlist-action-button:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%,2px);width:-moz-max-content;width:max-content;max-width:min(70vw,220px);padding:.34rem .46rem;border-radius:8px;background:var(--tooltip-bg);color:var(--tooltip-fg);font-size:.74rem;line-height:1.2;white-space:normal;box-shadow:var(--tooltip-shadow);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .06s ease,transform .06s ease;z-index:60}.waitlist-action-button:hover:after,.waitlist-action-button:focus-visible:after{opacity:1;visibility:visible;transform:translate(-50%)}.waitlist-priority-toggle:after{left:auto;right:0;transform:translateY(2px)}.waitlist-priority-toggle:hover:after,.waitlist-priority-toggle:focus-visible:after{transform:translate(0)}.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::-moz-placeholder{color:var(--text-secondary)}.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{display:inline-grid;place-items:center;font-size:.95rem;opacity:.6}.search-icon svg{width:1rem;height:1rem;display:block}.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:.15rem 0;border:none;border-radius:0;background:transparent;box-shadow:none;display:flex;align-items:center;justify-content:space-between;gap:.7rem}.planning-footer-summary.is-openings-mode{padding:.72rem .9rem;border:1px solid color-mix(in srgb,var(--state-info-fg) 14%,var(--border-default));border-radius:var(--radius-md);background:color-mix(in srgb,var(--state-info-bg) 38%,var(--bg-elevated));box-shadow:var(--shadow-1)}.planning-footer-summary.is-openings-mode .planning-footer-count{color:var(--state-info-fg);font-weight:700}.planning-footer-bookable-link{border:none;background:transparent;padding:0;min-height:0;color:var(--primary);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:.16em}.planning-footer-bookable-link:hover,.planning-footer-bookable-link:focus-visible,.planning-footer-bookable-link:active{color:var(--primary);background:transparent;border-color:transparent;box-shadow:none}.planning-footer-count{font-weight:700;color:var(--primary);display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap}.planning-footer-count-button{border:none;background:transparent;padding:0;min-height:0;cursor:pointer}.planning-footer-count-link-label{text-decoration:underline;text-underline-offset:.16em}.planning-footer-count-button:hover,.planning-footer-count-button:focus-visible,.planning-footer-count-button:active{color:var(--primary);background:transparent;border-color:transparent;box-shadow:none}.planning-footer-count-separator{color:color-mix(in srgb,var(--primary) 62%,transparent)}.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-status-cell{width:1%;white-space:nowrap}.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}.planning-openings-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.54rem .85rem;border:1px solid color-mix(in srgb,var(--primary) 72%,white 28%);border-radius:20px;background:var(--primary);box-shadow:0 14px 28px color-mix(in srgb,var(--primary) 26%,transparent)}.planning-openings-banner-main{display:grid;gap:.2rem;min-width:0}.planning-openings-banner-badge{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;min-height:20px;padding:.08rem .5rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent-ink) 18%,transparent);color:var(--accent-ink);font-size:.7rem;font-weight:800;letter-spacing:.01em;border:1px solid color-mix(in srgb,var(--accent-ink) 24%,transparent)}.planning-openings-banner-copy{display:grid;gap:.08rem}.planning-openings-banner-heading{display:flex;align-items:center;gap:.45rem;min-width:0;flex-wrap:wrap}.planning-openings-banner-copy h3,.planning-openings-banner-copy p{margin:0}.planning-openings-banner-copy h3{font-size:.9rem;line-height:1.15;color:var(--accent-ink)}.planning-openings-banner-copy p{color:color-mix(in srgb,var(--accent-ink) 84%,transparent);font-size:.85rem;line-height:1.25}.planning-openings-banner-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.planning-openings-banner-back{display:inline-flex;align-items:center;gap:.35rem;min-height:24px;padding:.18rem .6rem;border:1px solid color-mix(in srgb,var(--subnav-hover-fg) 28%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--subnav-hover-fg) 14%,transparent);color:var(--subnav-hover-fg);font-size:.76rem;font-weight:700;white-space:nowrap}.planning-openings-banner-back:hover,.planning-openings-banner-back:focus-visible{border-color:color-mix(in srgb,var(--subnav-hover-fg) 42%,transparent);background:color-mix(in srgb,var(--subnav-hover-fg) 22%,transparent);color:var(--subnav-hover-fg)}.planning-openings-banner-back svg{width:.95rem;height:.95rem}.planning-openings-banner-meta{display:inline-flex;align-items:center;min-height:24px;padding:.18rem .6rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent-ink) 14%,transparent);color:var(--accent-ink);border:1px solid color-mix(in srgb,var(--accent-ink) 20%,transparent);font-size:.76rem;font-weight:700;white-space:nowrap}@media(max-width:900px){.planning-openings-banner{display:grid}.planning-openings-banner-heading{gap:.45rem}.planning-openings-banner-actions{justify-content:flex-start}}.availability-board{background:#f8f9ff;border-radius:16px;padding:1rem;border:1px solid #e8ecf6;display:grid;gap:.75rem}.availability-board.is-openings-mode{border-color:color-mix(in srgb,var(--state-info-fg) 14%,var(--border-default));background:radial-gradient(120% 120% at 0% 0%,color-mix(in srgb,var(--state-info-bg) 58%,transparent),transparent 52%),linear-gradient(180deg,color-mix(in srgb,var(--state-info-bg) 48%,var(--bg-surface)),color-mix(in srgb,var(--bg-elevated) 92%,var(--state-info-bg)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--state-info-fg) 7%,transparent)}.planning-grid-guided-callout{justify-self:start;max-width:min(360px,100%);padding:12px 14px;border:1px solid color-mix(in srgb,var(--primary-hover) 82%,white 18%);border-radius:var(--radius-md, 14px);background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 88%,white 12%),var(--primary));color:#fff;box-shadow:0 14px 30px color-mix(in srgb,var(--primary) 30%,transparent);display:grid;gap:4px}.planning-grid-guided-callout strong{font-size:.86rem}.planning-grid-guided-callout span{line-height:1.45}.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,.planning-inline-tasks-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.is-openings-mode .availability-day-head-label{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;padding:.16rem .62rem;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--state-info-fg) 16%,transparent);background:color-mix(in srgb,var(--state-info-bg) 68%,white);color:var(--state-info-fg);font-weight:700}.availability-day-head.is-openings-mode .availability-day-head-label:before{content:"";width:7px;height:7px;border-radius:999px;background:currentColor;flex:0 0 auto;opacity:.82}.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;display:flex;align-items:center;justify-content:flex-end}.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}.planning-inline-task-add{width:100%;min-height:22px;min-width:0;border:1px dashed color-mix(in srgb,var(--planning-blue) 22%,var(--planning-line));border-radius:8px;background:color-mix(in srgb,var(--planning-blue) 2%,transparent);color:color-mix(in srgb,var(--planning-blue-deep) 72%,var(--text-secondary));padding:.14rem .28rem;display:inline-flex;align-items:center;justify-content:center;gap:.24rem;font-size:.5544rem;font-weight:800;line-height:1;cursor:pointer}.planning-inline-task-add svg{width:.6776rem;height:.6776rem;flex:0 0 auto}.planning-inline-task-add span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-inline-task-add:hover,.planning-inline-task-add:focus-visible{background:color-mix(in srgb,var(--planning-blue) 4%,transparent);border-color:color-mix(in srgb,var(--planning-blue) 30%,var(--planning-line));color:color-mix(in srgb,var(--planning-blue-deep) 78%,var(--text-secondary))}.planning-inline-task-add:disabled{cursor:not-allowed;opacity:.58}.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-tasks-time-head{padding:0 .5rem 0 0;border-bottom:1px solid var(--planning-line-soft)}.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 color-mix(in srgb,var(--state-danger-fg) 12%,var(--border-default));background:color-mix(in srgb,var(--state-danger-bg) 32%,transparent);border-radius:8px;color:color-mix(in srgb,var(--state-danger-fg) 74%,var(--text-secondary));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:.5467rem;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 color-mix(in srgb,var(--state-warning-fg) 12%,var(--border-default));background:color-mix(in srgb,var(--planning-cream) 32%,transparent);border-radius:8px;color:color-mix(in srgb,var(--state-warning-fg) 74%,var(--text-secondary));padding:.16rem .3rem;display:flex;align-items:center;gap:.3rem}.planning-inline-holiday-title{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:.5467rem;font-weight:700}.planning-inline-holiday-zones{display:flex;flex:0 0 auto;flex-wrap:nowrap;white-space:nowrap;gap:.18rem}.planning-inline-holiday-zone{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;border-radius:999px;background:color-mix(in srgb,var(--state-warning-fg) 5%,transparent);color:color-mix(in srgb,var(--state-warning-fg) 70%,var(--text-secondary));font-size:.4928rem;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-grid.is-openings-mode .availability-time-col{background:color-mix(in srgb,var(--state-info-bg) 34%,white);border-right-color:color-mix(in srgb,var(--state-info-fg) 14%,transparent)}.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-grid.is-openings-mode .availability-time-label{color:color-mix(in srgb,var(--state-info-fg) 82%,var(--text-secondary));border-bottom-color:color-mix(in srgb,var(--state-info-fg) 9%,transparent)}.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}.availability-day.is-openings-mode{background-image:linear-gradient(to bottom,color-mix(in srgb,var(--state-info-fg) 10%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--state-info-fg) 18%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in srgb,var(--state-info-bg) 28%,white),color-mix(in srgb,var(--bg-elevated) 96%,var(--state-info-bg)));background-size:100% var(--slot-height),100% calc(var(--slot-height) * 4),100% 100%;background-position:0 0,0 0,0 0;border-left-color:color-mix(in srgb,var(--state-info-fg) 12%,transparent)}.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;z-index:1;width:90%}.availability-block.hide-meta .availability-block-content{display:none}.planning-board .availability-block-content{width:100%}.availability-block-period{display:block;margin-top:2px;color:var(--planning-ink-2);font-size:.68rem;font-weight:700;line-height:1.05}.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:none;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}.appointment-indicators{display:inline-flex;align-items:center;gap:.22rem;margin-right:.28rem;vertical-align:middle}.appointment-indicators svg{width:1em;height:1em;display:block}.appointment-indicators .appointment-indicator-icon path{stroke-width:2.5}.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-patient-links{display:inline-flex;align-items:center}.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:none}.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-view.is-openings-mode{border-color:color-mix(in srgb,var(--state-info-fg) 14%,var(--border-default));background:radial-gradient(120% 120% at 0% 0%,color-mix(in srgb,var(--state-info-bg) 54%,transparent),transparent 46%),linear-gradient(180deg,color-mix(in srgb,var(--state-info-bg) 34%,white),color-mix(in srgb,var(--bg-elevated) 96%,var(--state-info-bg)))}.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:.45rem;flex-wrap:wrap}.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:700;cursor:pointer;box-shadow:inset 0 0 0 1px #0f172a14}.color-swatch.active{border-color:color-mix(in srgb,var(--text-primary) 84%,white 16%)}.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{position:relative;overflow:hidden;background:color-mix(in srgb,var(--bg-elevated) 88%,white 12%);color:var(--text-primary);box-shadow:inset 0 0 0 1px #0f172a14,0 1px 2px #0f172a0a}.color-swatch.color-swatch-add: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)}.color-swatch.color-swatch-add: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%)}.color-swatch.color-swatch-add.active{border-color:color-mix(in srgb,var(--text-primary) 84%,white 16%)}.color-swatch-add-icon{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;margin-left:11px}.color-swatch-add-icon svg{width:12px;height:12px}.color-swatch:hover,.color-swatch:focus-visible{transform:translateY(-1px)}.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,.catalog-form-grid-types,.catalog-edit-grid-locations,.catalog-edit-grid-types{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-field{display:grid;gap:.35rem;min-width:0}.catalog-field-full,.catalog-field-type-name,.catalog-toggle-card-type{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;box-sizing:border-box}.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);flex-wrap:wrap}.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:none;background:transparent;box-shadow:none;border-radius:0;padding:0;margin-bottom:0}.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;-moz-user-select:none;user-select:none}.drag-handle .ui-inline-icon svg{width:1rem;height:1rem}.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:-moz-fit-content;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:1px solid transparent;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:var(--state-warning-bg);color:var(--state-warning-fg);border-color:color-mix(in srgb,var(--state-warning-fg) 24%,transparent)}.waitlist-status.status-accepted{background:var(--state-success-bg);color:var(--state-success-fg);border-color:color-mix(in srgb,var(--state-success-fg) 24%,transparent)}.waitlist-status.status-rejected{background:var(--state-danger-bg);color:var(--state-danger-fg);border-color:color-mix(in srgb,var(--state-danger-fg) 24%,transparent)}.availability-selection{position:absolute;left:8px;right:8px;background:#0e749024;border:1px dashed #0ea5e9;border-radius:10px;z-index:3;pointer-events:none}.availability-grid.is-openings-mode .availability-selection{background:color-mix(in srgb,var(--state-info-bg) 70%,transparent);border-color:color-mix(in srgb,var(--state-info-fg) 68%,white 32%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--state-info-fg) 12%,transparent),0 10px 18px color-mix(in srgb,var(--state-info-fg) 10%,transparent)}.availability-selection.dragging{background:#0e749014}.availability-selection-label{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;min-height:22px;padding:.12rem .45rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--state-info-fg) 88%,white 12%);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.01em;line-height:1.1;white-space:nowrap}.availability-form{display:grid;gap:.6rem;margin-top:.8rem}.availability-edit-head{padding-right:2.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-default)}.availability-edit-head .appointment-modal-title{margin:0}.availability-edit-context{margin:.25rem 0 0;color:var(--text-secondary);font-size:.9rem;font-weight:600;text-transform:capitalize}.availability-edit-fieldset{display:grid;gap:.85rem;min-width:0;margin:0;padding:0;border:0}.availability-edit-section{display:grid;gap:.75rem;padding:.15rem 0 .9rem;border-bottom:1px solid var(--border-default)}.availability-edit-section-title{margin:0;color:var(--text-primary);font-size:.78rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.availability-form-row{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.availability-form-row>label{min-width:0}.availability-scope{display:grid;gap:.65rem;grid-template-columns:minmax(0,1fr);padding:.15rem 0 .9rem;border-bottom:1px solid var(--border-default)}.availability-scope .muted{margin:0}.availability-scope>.availability-edit-section-title{grid-column:1 / -1}.availability-scope-option{display:flex;align-items:center;gap:.55rem;min-width:0;min-height:58px;margin:0;padding:.65rem .75rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-secondary);font-size:.88rem;font-weight:650;line-height:1.25;cursor:pointer;transition:border-color .16s ease-out,background .16s ease-out,color .16s ease-out,box-shadow .16s ease-out}.availability-scope-option input{flex:0 0 auto;margin:0;accent-color:var(--btn-primary-bg)}.availability-scope-option span{min-width:0}.availability-scope-copy{display:grid;gap:.15rem}.availability-scope-copy strong{color:inherit;font-size:.88rem}.availability-scope-copy small{color:var(--text-secondary);font-size:.78rem;font-weight:500;line-height:1.35}.availability-scope-option:hover,.availability-scope-option:focus-within{border-color:color-mix(in srgb,var(--primary) 32%,var(--border-default) 68%);color:var(--text-primary)}.availability-scope-option.active{border-color:color-mix(in srgb,var(--primary) 42%,var(--border-default) 58%);background:color-mix(in srgb,var(--primary) 9%,var(--bg-elevated) 91%);color:var(--text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 12%,transparent)}.availability-magic-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border:1px solid var(--border-default);border-radius:var(--radius-md);background:color-mix(in srgb,var(--state-review-bg) 48%,var(--bg-elevated) 52%);padding:.75rem}.availability-magic-grid>.availability-edit-section-title{grid-column:1 / -1}.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:-moz-fit-content;width:fit-content;border-radius:var(--radius-pill);border:1px solid var(--btn-secondary-border);background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);font-size:.82rem;font-weight:600;padding:.35rem .8rem}.availability-no-lunch-toggle:before{content:"";width:.9rem;height:.9rem;border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--input-bg);flex:0 0 .9rem}.availability-no-lunch-toggle:hover,.availability-no-lunch-toggle:focus-visible{border-color:color-mix(in srgb,var(--focus-ring) 45%,var(--border-default));background:var(--bg-surface)}.availability-no-lunch-toggle.active{border-color:var(--state-info-fg);background:color-mix(in srgb,var(--state-info-bg) 84%,var(--bg-elevated));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:var(--input-bg)}.unavailability-modal{width:min(620px,94vw);max-height:min(92dvh,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-edit-actions{align-items:center;grid-template-columns:max-content minmax(0,1fr) max-content max-content;margin-top:.1rem;padding-top:.9rem;border-top:1px solid var(--border-default)}.availability-actions-row:not(.availability-edit-actions) button{width:100%}.availability-edit-actions button{width:auto}.availability-delete-confirmation-overlay{z-index:1200;background:color-mix(in srgb,var(--text-primary) 48%,transparent)}.modal.availability-delete-confirmation-modal{width:min(480px,94vw);border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-2)}.availability-delete-confirmation-modal h3{margin-top:0}.availability-delete-confirmation-actions{margin-top:var(--space-5)}.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))}}.appointment-modal.availability-modal{width:min(720px,94vw);max-height:min(92dvh,900px);overflow-y:auto;overscroll-behavior:contain}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:grid;align-items:safe center;justify-items:center;z-index:1000;overflow-y:auto;overscroll-behavior:contain;padding:1rem;box-sizing:border-box}.material-overlay-on-top{z-index:1200}.material-overlay-on-top~.appointment-overlay{z-index:1300}.app.practitioner .overlay{align-items:safe start;justify-items:center;padding:calc(var(--topbar-height) + 14px) 1rem 1rem;box-sizing:border-box}.modal{background:#fff;border-radius:16px;padding:1.5rem;width:min(520px,92vw);box-sizing:border-box;max-height:min(92dvh,900px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 25px 50px #0f172a33;position:relative}.patient-general-info-modal{display:grid;grid-template-rows:auto minmax(0,1fr);padding:0;overflow:hidden;background:var(--bg-elevated)}.app.practitioner .overlay.patient-general-info-overlay>.patient-general-info-modal{max-height:calc(100dvh - var(--topbar-height) - var(--space-6))}.waitlist-detail-overlay{padding:1rem}.waitlist-detail-modal{width:min(640px,94vw);max-height:min(92dvh,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);-moz-column-gap:.7rem;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(92dvh,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-link{background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;font-weight:inherit;line-height:inherit;text-align:left;text-decoration:none;cursor:pointer}.appointment-detail-participant-link:hover,.appointment-detail-participant-link:focus-visible{background:none;text-decoration:underline}.appointment-detail-participant-link:hover .appointment-detail-participant,.appointment-detail-participant-link:focus-visible .appointment-detail-participant{text-decoration:underline}.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);-moz-column-gap:.7rem;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);display:inline-flex;align-items:center;justify-content:center}.appointment-detail-type-caret svg{width:.9rem;height:.9rem;display:block}.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)}.patient-consultation-type-badge{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}.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}.future-no-show-tooltip-trigger{display:block;width:100%;cursor:not-allowed}.future-no-show-tooltip-trigger>button:disabled{pointer-events:none}.future-no-show-tooltip-trigger.app-tooltip:focus-visible{border-radius:var(--radius-md);outline:2px solid var(--input-focus);outline-offset:2px}.future-no-show-tooltip-trigger.app-tooltip:after{top:auto;right:0;bottom:calc(100% + 8px);max-width:min(80vw,300px)}.future-no-show-tooltip-trigger.app-tooltip:before{top:auto;right:12px;bottom:calc(100% + 2px);border-top-color:var(--tooltip-bg);border-bottom-color:transparent}.appointment-detail-modal .appointment-detail-actions.appointment-detail-actions--future-no-show{max-height:none;overflow:visible}.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--restore{background:var(--state-success-bg);color:var(--state-success-fg);border-color:color-mix(in srgb,var(--state-success-fg) 22%,transparent)}.appointment-status-button--restore:hover,.appointment-status-button--restore:focus-visible{background:color-mix(in srgb,var(--state-success-bg) 78%,var(--bg-elevated) 22%)}.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(92dvh,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)}.practitioner-overlap-confirmation-overlay{background:color-mix(in srgb,var(--text-primary) 46%,transparent)!important;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.practitioner-overlap-confirmation-modal{--modal-bg: var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-elevated)!important;color:var(--text-primary);box-shadow:var(--shadow-2);overflow:hidden}.practitioner-overlap-confirmation-header{min-height:0;padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--border-default);background:var(--bg-elevated)}.practitioner-overlap-confirmation-title{flex:1;min-width:0;color:var(--text-primary);font-family:var(--font-family-ui)}.practitioner-overlap-confirmation-heading{display:flex;align-items:center;gap:var(--space-3);min-width:0;font-size:1.05rem;font-weight:750;line-height:1.3}.practitioner-overlap-confirmation-heading-copy{display:grid;gap:var(--space-1);min-width:0}.practitioner-overlap-confirmation-kicker{color:var(--state-warning-fg);font-size:.72rem;font-weight:750;letter-spacing:.04em;line-height:1.2;text-transform:uppercase}.practitioner-overlap-confirmation-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--state-warning-fg) 28%,transparent);border-radius:var(--radius-md);background:var(--state-warning-bg);color:var(--state-warning-fg)}.practitioner-overlap-confirmation-icon svg{width:22px;height:22px;color:currentColor}.practitioner-overlap-confirmation-close{align-self:flex-start;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary)}.practitioner-overlap-confirmation-close:hover,.practitioner-overlap-confirmation-close:focus-visible{background:var(--state-warning-bg);color:var(--state-warning-fg)}.practitioner-overlap-confirmation-body{display:grid;gap:var(--space-4);padding:var(--space-3) var(--space-5) var(--space-5);background:var(--bg-elevated);font-family:var(--font-family-ui)}.practitioner-overlap-confirmation-description{margin:0;color:var(--text-primary);font-size:.95rem;line-height:1.6}.practitioner-overlap-confirmation-impact{display:grid;gap:var(--space-2);padding:var(--space-4);border:1px solid color-mix(in srgb,var(--state-warning-fg) 28%,transparent);border-radius:var(--radius-md);background:var(--state-warning-bg);color:var(--state-warning-fg)}.practitioner-overlap-confirmation-impact strong{font-size:.86rem}.practitioner-overlap-confirmation-impact ul{display:grid;gap:var(--space-2);margin:0;padding-left:var(--space-5);font-size:.86rem;line-height:1.5}.practitioner-overlap-confirmation-impact li::marker{color:var(--state-warning-fg)}.practitioner-overlap-confirmation-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-1)}.practitioner-overlap-confirmation-button{min-height:42px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-family-ui);font-size:.9rem;font-weight:700;transition:background-color .18s ease-out,border-color .18s ease-out,color .18s ease-out}.practitioner-overlap-confirmation-button--secondary{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary)}.practitioner-overlap-confirmation-button--secondary:hover,.practitioner-overlap-confirmation-button--secondary:focus-visible{border-color:color-mix(in srgb,var(--text-primary) 32%,var(--border-default));background:color-mix(in srgb,var(--bg-surface) 72%,var(--bg-app));color:var(--text-primary)}.practitioner-overlap-confirmation-button--primary{border:1px solid var(--primary);background:var(--primary);color:var(--accent-ink)}.practitioner-overlap-confirmation-button--primary:hover,.practitioner-overlap-confirmation-button--primary:focus-visible{border-color:var(--primary-hover);background:var(--primary-hover);color:var(--accent-ink)}@media(max-width:560px){.practitioner-overlap-confirmation-header,.practitioner-overlap-confirmation-body{padding:var(--space-4)}.practitioner-overlap-confirmation-body{padding-top:var(--space-3)}.practitioner-overlap-confirmation-actions{flex-direction:column-reverse}.practitioner-overlap-confirmation-button{width:100%}}.patient-reschedule-overlay{z-index:1100}.patient-reschedule-modal{width:min(1100px,96vw);max-height:min(92dvh,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(var(--max-content-width),calc(100vw - 48px));max-height:min(92dvh,980px);overflow-y:auto;overflow-x:hidden}.material-modal{width:min(980px,calc(100vw - 2rem));max-width:980px;max-height:min(92dvh,900px);overflow-y:auto}.message-modal{width:min(980px,96vw);max-height:min(92dvh,720px);overflow-y:auto}.message-resource-modal{width:min(820px,94vw);max-height:min(88dvh,820px)}.waitlist-archive-modal{width:min(720px,95vw);max-height:min(92dvh,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:-moz-fit-content;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(92dvh,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:-moz-fit-content;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}.modal-actions.waitlist-accept-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap}.modal-actions.waitlist-accept-actions button{flex:0 1 auto;width:auto;white-space:nowrap}.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(92dvh,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}.report-modal-redesign{--report-voice: var(--voice);--report-voice-soft: var(--voice-soft);--report-voice-strong: var(--voice-strong);--report-magic: var(--magic);--report-magic-soft: var(--magic-soft);--report-modal-shadow: 0 30px 60px -10px rgba(15, 30, 60, .25), 0 18px 30px -15px rgba(15, 30, 60, .18);padding:0;border-radius:22px;border:1px solid var(--border-subtle);background:var(--bg-elevated);box-shadow:var(--report-modal-shadow);color:var(--text-primary)}.report-modal-close{position:absolute;top:16px;right:16px;z-index:10;width:32px;height:32px;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;padding:0}.report-modal-close:hover,.report-modal-close:focus-visible{background:color-mix(in srgb,var(--bg-app) 72%,var(--bg-elevated));color:var(--primary);outline:none}.report-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:22px 32px 16px;border-bottom:1px solid var(--border-subtle)}.report-title{min-width:0}.report-title h3{margin:0;font-size:1.19rem;line-height:1.25;font-weight:700}.report-title-line{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.report-patient-name{margin:0;font-size:.9rem;font-weight:500}.report-patient-name-link:hover,.report-patient-name-link:focus-visible{background:transparent;color:inherit;text-decoration:underline}.report-rdv-row{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.report-rdv-divider{width:22px;height:1px;background:var(--border-default)}.report-rdv-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;border:1px solid transparent;background:var(--primary);color:#fff;font-size:.75rem;font-weight:600}.report-rdv-chip strong{font-weight:500;opacity:.86}.report-rdv-chip>span{width:6px;height:6px;border-radius:999px;background:currentColor}.report-rdv-chip.muted-chip{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border-default)}.report-header-actions{margin-right:2.6rem;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.j-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600}.j-badge--type{background:var(--state-success-bg);color:var(--state-success-fg)}.j-badge--loc{background:color-mix(in srgb,var(--primary) 12%,var(--bg-elevated));color:var(--primary)}.eyebrow{font-size:.69rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-weight:700}.report-grid-redesign{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr) minmax(250px,280px);gap:0;align-items:stretch}.report-column{min-width:0;align-self:stretch}.report-column-previous{padding:20px 22px;border-right:1px solid var(--border-subtle);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-app) 36%,var(--bg-elevated)) 0%,var(--bg-surface) 100%)}.report-column-current{padding:20px 26px;position:relative}.report-therapeutic-card{padding:20px 22px;border-left:1px solid var(--border-subtle);background:linear-gradient(180deg,var(--bg-surface) 0%,color-mix(in srgb,var(--bg-app) 40%,var(--bg-elevated)) 100%)}.report-column-kicker,.report-current-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.report-current-head{margin-bottom:14px}.report-column-date,.report-therapeutic-hint{margin:4px 0 14px;font-size:.78rem;line-height:1.45}.report-objectives-card{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}.report-objectives-card>*{min-width:0}.report-objectives-header,.report-objectives-header>div,.report-objectives-header .eyebrow,.report-selected-objective-head,.report-objective-observation-toggle,.report-objective-evolution-row,.report-objective-achieve,.report-objective-picker-head,.report-objective-picker-list label,.report-objective-quick-create>div{display:flex;align-items:center}.report-objectives-header,.report-selected-objective-head,.report-objective-picker-head{justify-content:space-between}.report-objectives-header{gap:10px;flex-wrap:wrap}.report-objectives-header>div{min-width:0;flex-wrap:wrap;gap:6px}.report-objectives-header>.btn{margin-left:auto}.report-objectives-header .eyebrow{gap:5px}.report-objectives-header .eyebrow svg{color:var(--primary)}.report-objectives-optional{color:var(--text-tertiary);font-size:.66rem}.report-objectives-empty{margin:0;font-size:.78rem;overflow-wrap:anywhere}.report-selected-objectives{display:grid;gap:7px}.report-selected-objective{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);overflow:hidden}.report-selected-objective-head{gap:8px;padding:9px 9px 4px 11px}.report-selected-objective-title{min-width:0;display:grid;flex:1 1 auto;gap:2px;padding:0;border:0;background:transparent;color:var(--text-primary);text-align:left}.report-selected-objective-title span{font-size:.8rem;font-weight:800;line-height:1.35}.report-selected-objective-title small{color:var(--text-secondary);font-size:.68rem}.report-selected-objective-title:hover,.report-selected-objective-title:focus-visible{background:transparent;color:var(--text-primary)}.report-selected-objective-remove{width:32px;min-width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary)}.report-selected-objective-remove:hover,.report-selected-objective-remove:focus-visible{background:color-mix(in srgb,var(--state-danger-fg) 10%,transparent);color:var(--state-danger-fg)}.report-objective-observation-toggle{gap:4px;padding:3px 11px 9px;border:0;background:transparent;color:var(--primary);font-size:.7rem;font-weight:800}.report-objective-observation-toggle:hover,.report-objective-observation-toggle:focus-visible{background:transparent;color:var(--primary)}.report-objective-observation{display:grid;gap:9px;padding:10px 11px 12px;border-top:1px solid var(--border-subtle);background:var(--bg-surface)}.report-objective-field-label{color:var(--text-secondary);font-size:.7rem;font-weight:800}.report-objective-field-label small{color:var(--text-tertiary);font-weight:600}.report-objective-evolution-row{flex-wrap:wrap;gap:6px}.report-objective-evolution-row button{min-height:32px;padding:5px 9px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-secondary);font-size:.7rem;font-weight:800}.report-objective-evolution-row button.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 11%,var(--bg-elevated));color:var(--primary)}.report-objective-observation label{display:grid;gap:5px}.report-objective-observation textarea{width:100%;min-height:68px;resize:vertical}.report-objective-achieve{width:-moz-max-content;width:max-content;gap:5px;padding:4px 0;border:0;background:transparent;color:var(--state-success-fg);font-size:.72rem;font-weight:800}.report-objective-achieve:hover,.report-objective-achieve:focus-visible{background:transparent;color:var(--state-success-fg)}.report-objective-picker-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%;max-width:100%;min-width:0;padding:12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.report-objective-picker-head{gap:12px}.report-objective-picker-head>div{min-width:0;display:grid;gap:2px;overflow-wrap:anywhere}.report-objective-picker-head strong{font-size:.82rem}.report-objective-picker-head span{color:var(--text-secondary);font-size:.7rem}.report-objective-picker-list{display:grid;gap:5px;max-height:240px;overflow-y:auto}.report-objective-picker-list label{gap:9px;min-height:42px;padding:7px 9px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface)}.report-objective-picker-list label:hover{border-color:var(--border-subtle);background:var(--bg-surface)}.report-objective-picker-list label>span{min-width:0;display:grid;gap:1px;overflow-wrap:anywhere}.report-objective-picker-list strong{font-size:.76rem;line-height:1.35}.report-objective-picker-list small{color:var(--text-secondary);font-size:.66rem}.report-objective-quick-create{display:grid;gap:6px;padding-top:10px;border-top:1px solid var(--border-subtle)}.report-objective-quick-create>span{color:var(--text-secondary);font-size:.7rem;font-weight:700}.report-objective-quick-create input{width:100%;min-width:0}.report-objective-picker-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.report-modal .report-objective-picker-actions .btn{min-height:32px;padding:5px 10px;font-size:.74rem}.report-therapeutic-divider{height:1px;margin:18px 0;background:var(--border-subtle)}.report-icon-ghost{width:28px;height:28px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center}.report-icon-ghost:hover,.report-icon-ghost:focus-visible{background:color-mix(in srgb,var(--primary) 10%,var(--bg-elevated));color:var(--primary);outline:none}.report-icon-ghost svg{width:14px;height:14px}.report-previous-block{margin-bottom:16px}.report-previous-card,.report-previous-public{padding:12px 14px;background:var(--bg-elevated);border-radius:12px;border:1px solid var(--border-subtle);font-size:.81rem;line-height:1.5}.report-empty-line{margin:0;font-size:.78rem}.report-field-eyebrow{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--text-secondary)}.report-field-eyebrow .eyebrow{font-size:.66rem}.report-history-card{margin-top:26px;padding:12px 14px;background:var(--bg-elevated);border-radius:12px;border:1px dashed var(--border-default)}.report-history-head{display:flex;align-items:center;gap:8px;margin-bottom:4px;color:var(--text-secondary)}.report-history-card p{margin:0;font-size:.75rem;color:var(--text-secondary)}.report-history-list{display:grid;gap:12px;margin-top:14px}.report-history-item{padding:12px 14px;border-radius:12px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 84%,var(--bg-surface));box-shadow:0 1px 2px #0f1e3c0a}.report-history-item-head{margin-bottom:10px}.report-history-item .report-column-date{margin-bottom:0}.report-history-item .report-previous-block:last-child{margin-bottom:0}.report-editor-block{margin-bottom:14px}.report-field-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:8px}.report-field-label{display:inline-flex;align-items:baseline;gap:6px;min-width:0;font-size:.81rem;font-weight:700;line-height:1.25}.report-field-label>svg{align-self:center;transform:translateY(-1px)}.report-field-title-note{font-size:.75rem;font-weight:500;line-height:1.25;position:relative;top:1px}.report-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:1.55rem;padding:.12rem .55rem;border-radius:999px;border:1px solid transparent;font-size:.74rem;font-weight:700;line-height:1.2;white-space:nowrap}.report-status-pill--draft{background:color-mix(in srgb,var(--bg-app) 66%,var(--bg-elevated));color:var(--text-secondary);border-color:var(--border-default)}.report-status-pill--sent{background:var(--state-success-bg);color:var(--state-success-fg);border-color:color-mix(in srgb,var(--state-success-fg) 28%,transparent)}.report-autosave-error{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--state-danger-fg) 28%,var(--border-default));border-radius:var(--radius-sm);background:var(--state-danger-bg);color:var(--state-danger-fg)}.report-autosave-error>div{display:grid;gap:2px}.report-autosave-error strong{font-size:.78rem}.report-autosave-error span{font-size:.74rem;line-height:1.35}.report-autosave-error .btn{flex:0 0 auto;border-color:color-mix(in srgb,var(--state-danger-fg) 30%,transparent);color:var(--state-danger-fg)}.report-public-status-row{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;margin-left:auto;flex-wrap:nowrap}.report-public-edit-trigger{width:32px;min-width:32px;max-width:32px;height:32px;min-height:32px;max-height:32px;flex:0 0 32px;padding:0;border-radius:10px}.report-public-edit-trigger svg{width:.98rem;height:.98rem}.report-rich-readonly{padding:0;color:var(--text-primary);font-size:.85rem;line-height:1.55}.report-rich-readonly p{margin:0 0 .5rem}.report-rich-readonly p:last-child{margin-bottom:0}.report-rich-readonly.ql-editor ol,.report-rich-readonly.ql-editor ul{margin:.5rem 0;padding-left:1.5rem}.report-rich-readonly.ql-editor ol>li{list-style-type:decimal}.report-rich-readonly.ql-editor ul>li{list-style-type:disc}.report-rich-readonly.ql-editor li{margin-bottom:.25rem;padding-left:.25rem}.report-public-readonly{padding:12px 14px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-elevated)}.report-editor.report-editor,.report-editor.report-editor.quill{border:1px solid var(--border-default);border-radius:12px;background:var(--bg-elevated);display:flex;flex-direction:column;overflow:hidden}.report-editor.report-editor:focus-within{border-color:var(--focus-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 18%,transparent)}.report-editor.report-editor.report-editor-ai-structuring{position:relative;border-color:color-mix(in srgb,var(--report-magic) 64%,var(--border-default));background:color-mix(in srgb,var(--report-magic-soft) 38%,var(--bg-elevated));box-shadow:0 0 0 3px color-mix(in srgb,var(--report-magic) 12%,transparent),0 12px 28px color-mix(in srgb,var(--report-magic) 12%,transparent)}.report-editor.report-editor.report-editor-ai-structuring:after{content:"";position:absolute;left:-45%;right:auto;bottom:0;width:45%;height:3px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--report-magic) 70%,var(--bg-elevated)),var(--report-magic));animation:report-ai-sweep 1.35s ease-in-out infinite;pointer-events:none}.report-editor.report-editor.report-editor-ai-structuring .ql-toolbar{background:color-mix(in srgb,var(--report-magic-soft) 58%,var(--bg-elevated));border-bottom-color:color-mix(in srgb,var(--report-magic) 20%,var(--border-subtle))}.report-editor.report-editor.report-editor-ai-structuring .ql-container{background:color-mix(in srgb,var(--report-magic-soft) 22%,var(--bg-elevated))}@keyframes report-ai-sweep{0%{transform:translate(0);opacity:.35}48%{opacity:1}to{transform:translate(320%);opacity:.35}}.report-editor.report-editor .ql-toolbar{display:flex;align-items:center;gap:4px;padding:6px 8px;border:none;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-app) 36%,var(--bg-elevated));flex-wrap:wrap}.report-editor.report-editor .ql-toolbar .ql-formats{margin-right:4px}.report-editor.report-editor .ql-toolbar button,.report-editor.report-editor .ql-toolbar .ql-picker-label{border-radius:6px;color:var(--text-secondary)}.report-editor.report-editor .ql-toolbar button:hover,.report-editor.report-editor .ql-toolbar button:focus-visible,.report-editor.report-editor .ql-toolbar .ql-picker-label:hover{background:color-mix(in srgb,var(--primary) 12%,var(--bg-elevated));color:var(--primary)}.report-editor.report-editor .ql-container{border:none;font-family:var(--font-family-ui, "Plus Jakarta Sans", Inter, "Segoe UI", Arial, sans-serif);font-size:.84rem}.report-editor.report-editor .ql-editor{min-height:170px;padding:12px 14px;line-height:1.55;color:var(--text-primary)}.report-editor-public.report-editor .ql-editor{min-height:130px}.report-editor-compact.report-editor .ql-editor{min-height:120px}.report-editor.report-editor .ql-editor.ql-blank:before{color:color-mix(in srgb,var(--text-secondary) 68%,var(--bg-elevated));font-style:normal}.report-editor.report-editor .rich-text-toolbar-addon{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;margin-left:auto;padding-left:8px;flex:0 0 auto;min-width:-moz-fit-content;min-width:fit-content;align-self:center}.report-rte-tool,.report-rte-dictate{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;border-radius:7px;border:1px solid transparent;min-height:28px;font-size:.72rem;font-weight:700;line-height:1;white-space:nowrap;overflow:visible;vertical-align:middle}.report-editor.report-editor .ql-toolbar .rich-text-toolbar-addon .report-rte-tool svg,.report-editor.report-editor .ql-toolbar .rich-text-toolbar-addon .report-rte-dictate svg{width:13px;height:13px;flex:0 0 auto;display:block!important;margin:0!important;color:currentColor!important;stroke:currentColor!important}.report-editor.report-editor .ql-toolbar .rich-text-toolbar-addon .report-rte-tool svg *,.report-editor.report-editor .ql-toolbar .rich-text-toolbar-addon .report-rte-dictate svg *{stroke:currentColor!important}.report-rte-tool span,.report-rte-dictate span{display:inline-block;line-height:1}.report-rte-tool{width:auto;min-width:0;height:30px;padding:0 10px;background:var(--report-magic-soft);color:var(--report-magic);border-color:color-mix(in srgb,var(--report-magic) 25%,transparent);box-shadow:0 3px 10px -6px color-mix(in srgb,var(--report-magic) 60%,transparent)}.report-editor.report-editor .ql-toolbar .rich-text-toolbar-addon button.report-rte-tool,.report-editor.report-editor .ql-toolbar .rich-text-toolbar-addon button.report-rte-dictate{width:auto;height:30px;min-height:30px;padding:0 10px;float:none;overflow:visible;display:inline-flex!important;align-items:center!important;justify-content:center!important}.report-rte-tool:hover,.report-rte-tool:focus-visible{background:color-mix(in srgb,var(--report-magic-soft) 74%,var(--report-magic) 26%);color:var(--report-magic);outline:none}.report-rte-dictate{height:30px;padding:0 11px;background:var(--report-voice-soft);color:var(--report-voice-strong);border-color:color-mix(in srgb,var(--report-voice) 25%,transparent);box-shadow:0 3px 10px -6px color-mix(in srgb,var(--report-voice) 60%,transparent)}.report-rte-dictate:hover,.report-rte-dictate:focus-visible{background:color-mix(in srgb,var(--report-voice-soft) 72%,var(--report-voice) 28%);outline:none}.report-rte-tool:disabled{opacity:.42;cursor:not-allowed}.report-rte-dictate:disabled{opacity:.42;cursor:not-allowed}.report-editor.report-editor .ql-toolbar .rich-text-toolbar-addon button.report-rte-tool,.report-editor.report-editor .ql-toolbar .rich-text-toolbar-addon button.report-rte-tool:hover,.report-editor.report-editor .ql-toolbar .rich-text-toolbar-addon button.report-rte-tool:focus-visible{background:var(--report-magic-soft)!important;border-color:color-mix(in srgb,var(--report-magic) 28%,transparent)!important;color:var(--report-magic)!important}.report-editor.report-editor .ql-toolbar .rich-text-toolbar-addon button.report-rte-dictate,.report-editor.report-editor .ql-toolbar .rich-text-toolbar-addon button.report-rte-dictate:hover,.report-editor.report-editor .ql-toolbar .rich-text-toolbar-addon button.report-rte-dictate:focus-visible{background:var(--report-voice-soft)!important;border-color:color-mix(in srgb,var(--report-voice) 32%,transparent)!important;color:var(--report-voice-strong)!important}.report-ai-progress{display:inline-flex;align-items:center;gap:7px;margin-top:8px;color:var(--report-magic);font-size:.76rem;font-weight:700}.report-ai-progress svg{animation:report-ai-pulse .95s ease-in-out infinite}.report-ai-restore-row{display:flex;justify-content:flex-end;margin-top:8px}.report-ai-restore{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 11px;border-radius:8px;border:1px solid color-mix(in srgb,var(--report-magic) 28%,transparent);background:var(--report-magic-soft);color:var(--report-magic);font-size:.74rem;font-weight:750;line-height:1}.report-ai-restore:hover,.report-ai-restore:focus-visible{background:color-mix(in srgb,var(--report-magic-soft) 74%,var(--report-magic) 26%);outline:none}.report-ai-restore:disabled{opacity:.48;cursor:not-allowed}@keyframes report-ai-pulse{0%,to{transform:scale(1);opacity:.72}50%{transform:scale(1.12);opacity:1}}.report-template-selector{position:relative;flex:0 0 auto}.report-template-trigger{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:999px;color:var(--text-primary);font-size:.78rem;font-weight:600}.report-template-trigger svg,.report-template-trigger strong{color:var(--report-magic)}.report-template-trigger:hover,.report-template-trigger:focus-visible{border-color:color-mix(in srgb,var(--report-magic) 28%,var(--border-default));background:color-mix(in srgb,var(--report-magic-soft) 42%,var(--bg-elevated));color:var(--text-primary);outline:none}.report-template-trigger:disabled{cursor:not-allowed;opacity:.58}.report-template-menu{position:absolute;right:0;top:calc(100% + 6px);width:280px;background:var(--bg-elevated);border-radius:12px;box-shadow:var(--shadow-3);border:1px solid var(--border-subtle);padding:6px;z-index:20}.report-template-menu-hint{margin:0;padding:7px 10px 9px;color:var(--text-secondary);font-size:.7rem;line-height:1.4;border-bottom:1px solid var(--border-subtle)}.report-template-menu-empty{margin:0;padding:10px;color:var(--text-secondary);font-size:.76rem}.report-template-menu>button{display:grid;gap:2px;width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:none;background:transparent;color:var(--text-primary)}.report-template-menu>button.active,.report-template-menu>button:hover,.report-template-menu>button:focus-visible{background:var(--report-magic-soft);outline:none}.report-template-menu span{font-size:.81rem;font-weight:700}.report-template-menu small{color:var(--text-secondary);font-size:.72rem}.report-template-footer{padding:8px 10px;border-top:1px solid var(--border-subtle);margin-top:4px}.report-template-change-overlay{z-index:1400}.report-template-change-modal{width:min(560px,calc(100vw - 2rem));display:grid;gap:14px;padding-right:3.5rem}.report-template-change-close{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border-default);border-radius:999px;background:var(--bg-elevated);color:var(--text-secondary)}.report-template-change-close:hover,.report-template-change-close:focus-visible{background:color-mix(in srgb,var(--bg-app) 72%,var(--bg-elevated));color:var(--primary);outline:none}.report-template-change-modal h3,.report-template-change-modal p{margin:0}.report-template-change-modal p{color:var(--text-secondary);line-height:1.55}.report-template-change-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.report-template-change-modal .btn--danger{border-color:color-mix(in srgb,var(--state-danger-fg) 28%,var(--border-default));background:var(--state-danger-bg);color:var(--state-danger-fg)}.report-template-change-modal .btn--danger:hover,.report-template-change-modal .btn--danger:focus-visible{border-color:color-mix(in srgb,var(--state-danger-fg) 42%,var(--border-default));background:color-mix(in srgb,var(--state-danger-bg) 78%,var(--state-danger-fg));outline:none}.report-copy-bridge{display:flex;align-items:center;justify-content:center;margin:6px 0 14px;position:relative}.report-copy-bridge>span{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--border-subtle);z-index:0}.report-copy-bridge button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:var(--bg-elevated);color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border-default));font-size:.75rem;font-weight:700;box-shadow:0 1px 3px #0f1e3c0f}.report-copy-bridge button.copied{background:var(--state-success-bg);color:var(--state-success-fg);border-color:color-mix(in srgb,var(--state-success-fg) 30%,transparent)}.report-copy-bridge button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.report-public-share-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;flex-wrap:wrap}.report-public-email-hint,.report-public-edit-hint{margin:8px 0 0;color:var(--text-secondary);font-size:.72rem;line-height:1.45}.report-public-shared-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}.report-public-sharing-feedback{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--state-success-fg);font-size:.75rem;font-weight:700}.report-public-sharing-feedback svg{flex:0 0 auto}.report-modal .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:.81rem;font-weight:700;border:1px solid transparent;background:var(--bg-elevated);color:var(--text-primary);transition:background .12s ease,box-shadow .12s ease}.report-modal .btn:hover,.report-modal .btn:focus-visible{background:color-mix(in srgb,var(--bg-app) 72%,var(--bg-elevated));outline:none}.report-modal .btn--primary{background:var(--primary);color:#fff}.report-modal .btn--primary:hover,.report-modal .btn--primary:focus-visible{background:var(--primary-hover)}.report-modal .btn--ghost{background:transparent;color:var(--text-secondary)}.report-modal .btn--ghost:hover,.report-modal .btn--ghost:focus-visible{background:color-mix(in srgb,var(--primary) 10%,var(--bg-elevated));color:var(--primary)}.report-modal .btn--magic{background:var(--bg-elevated);color:var(--report-magic);border-color:color-mix(in srgb,var(--report-magic) 30%,transparent)}.report-modal .btn--magic:hover,.report-modal .btn--magic:focus-visible{background:var(--report-magic-soft)}.report-modal .btn--voice{background:var(--bg-elevated);color:var(--report-voice-strong);border-color:color-mix(in srgb,var(--report-voice) 30%,transparent)}.report-modal .btn--voice:hover,.report-modal .btn--voice:focus-visible{background:var(--report-voice-soft)}.report-modal .btn--sm{padding:5px 10px;font-size:.75rem}.report-modal .btn:disabled{opacity:.5;cursor:not-allowed}.report-support-picker{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}.support-assignment-picker{display:grid;gap:.45rem;justify-items:start;min-width:0}.support-assignment-trigger{padding:0;font-size:.8rem;font-weight:700;color:var(--primary);text-align:left}.support-assignment-trigger:hover,.support-assignment-trigger:focus-visible{background:transparent;color:var(--primary)}.support-assignment-popover{width:min(100%,320px);padding:.65rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.support-assignment-popover>input{width:100%}.support-assignment-results{position:static;width:100%;max-height:180px;margin-top:.4rem;overflow-y:auto}.report-material-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);font-size:.72rem;font-weight:700;cursor:pointer}.report-material-chip input{position:absolute;opacity:0;pointer-events:none}.report-material-chip.selected{background:color-mix(in srgb,var(--primary) 12%,var(--bg-elevated));color:var(--primary);border-color:transparent}.report-material-chip.done span{text-decoration:line-through}.report-support-columns{display:grid;gap:12px}.report-support-column{background:var(--bg-elevated);border-radius:12px;padding:12px 14px;border:1px solid var(--border-subtle)}.report-support-column h5{margin:0 0 8px;font-size:.81rem;font-weight:700}.report-support-column h5.done{text-decoration:line-through;color:var(--text-secondary)}.report-checklist{display:grid;gap:.4rem}.report-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:.78rem;color:var(--text-primary)}.report-check input{width:14px;height:14px;margin:0;accent-color:var(--primary)}.report-check.completed{color:var(--text-secondary)}.report-check.completed span{text-decoration:line-through}@keyframes voicePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.18);opacity:.6}}@keyframes barWave{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.voice-dot{width:10px;height:10px;border-radius:999px;background:var(--report-voice);box-shadow:0 0 color-mix(in srgb,var(--report-voice) 50%,transparent);animation:voicePulse 1.4s ease-in-out infinite}.voice-bars{display:inline-flex;align-items:center;gap:3px;height:18px;color:var(--report-voice)}.voice-bars span{width:3px;height:100%;background:currentColor;border-radius:2px;transform-origin:center;animation:barWave 1s ease-in-out infinite}.voice-bars span:nth-child(1){animation-delay:0s}.voice-bars span:nth-child(2){animation-delay:.12s}.voice-bars span:nth-child(3){animation-delay:.06s}.voice-bars span:nth-child(4){animation-delay:.2s}.voice-bars span:nth-child(5){animation-delay:.04s}.voice-bars span:nth-child(6){animation-delay:.16s}.voice-bars span:nth-child(7){animation-delay:.1s}.report-dictation-sheet{margin-top:8px;border-radius:12px;border:1px solid color-mix(in srgb,var(--report-voice) 30%,transparent);background:linear-gradient(180deg,var(--report-voice-soft) 0%,color-mix(in srgb,var(--report-voice-soft) 72%,var(--bg-elevated)) 100%);overflow:hidden}.report-dictation-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid color-mix(in srgb,var(--report-voice) 18%,transparent)}.report-dictation-status{display:flex;align-items:center;gap:10px;color:var(--report-voice-strong);font-size:.78rem;font-weight:700}.report-dictation-status small{color:var(--text-secondary);font-size:.72rem;font-weight:500}.report-dictation-actions{display:flex;gap:6px}.report-dictation-body{padding:12px 14px}.report-dictation-text{display:flex;flex-direction:column;gap:5px;padding:12px;border-radius:8px;background:var(--bg-elevated);min-height:70px;border:1px solid color-mix(in srgb,var(--report-voice) 12%,transparent);color:var(--text-secondary);font-size:.81rem;line-height:1.55}.report-dictation-text strong{color:var(--report-voice-strong);font-size:1.12rem}.report-dictation-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:8px;font-size:.75rem;color:var(--text-secondary)}.report-preview-modal{width:min(520px,92vw)}.report-preview-card{margin:1rem 0;padding:.9rem;border-radius:12px;border:1px solid var(--border-default);background:color-mix(in srgb,var(--bg-app) 52%,var(--bg-elevated))}.report-preview-rich{margin-top:.5rem}.report-preview-card p{margin:.35rem 0 0}@media(min-width:1181px){.report-objectives-card{position:relative}.report-objective-picker-panel{position:absolute;z-index:20;top:52px;right:0;width:min(340px,calc(100vw - 64px));max-width:none;max-height:min(70vh,620px);overflow-y:auto}}@media(max-width:1180px){.report-grid-redesign{grid-template-columns:minmax(260px,300px) minmax(0,1fr)}.report-therapeutic-card{grid-column:1 / -1;border-left:0;border-top:1px solid var(--border-subtle)}.report-support-columns{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media(max-width:860px){.report-modal{width:min(100vw - 24px,var(--max-content-width))}.report-header{padding:20px 20px 16px}.report-header-actions{width:100%;margin-right:0;justify-content:flex-start}.report-grid-redesign{grid-template-columns:1fr}.report-column-previous,.report-therapeutic-card{border-right:0;border-left:0;border-top:1px solid var(--border-subtle)}.report-column-current{order:-1}.report-current-head{align-items:flex-start;flex-direction:column}.report-template-selector,.report-template-trigger{width:100%}.report-template-trigger{justify-content:center}.report-template-menu{left:0;right:auto;width:min(280px,100%)}.report-objective-picker-panel{position:fixed;z-index:80;inset:auto 0 0;max-height:min(82vh,680px);padding:16px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-3);overflow-y:auto}.report-objective-picker-list{max-height:none}}@media(max-width:560px){.report-objectives-header{align-items:flex-start}.report-objectives-header .btn{min-height:40px}.report-objective-quick-create input{width:100%;min-height:44px}.report-objective-picker-actions{width:100%}.report-modal .report-objective-picker-actions .btn{min-height:44px;flex:1 1 0}}@media(max-width:720px){.report-field-head,.report-dictation-head,.report-dictation-footer{align-items:flex-start;flex-direction:column}.report-public-status-row{margin-left:0}.report-public-share-actions,.report-public-shared-footer{align-items:stretch;flex-direction:column}.report-public-share-actions .btn,.report-public-shared-footer .btn{justify-content:center;width:100%}.report-editor.report-editor .rich-text-toolbar-addon{width:100%;margin-left:0;justify-content:flex-end}}.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}.material-modal-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.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:focus-visible{outline:none}.patient-search-input-inline::-moz-placeholder{color:var(--text-secondary)}.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)}.appointment-patient-results{gap:0;padding:var(--space-1);overflow:hidden;background:var(--bg-elevated);box-shadow:var(--shadow-1)}.appointment-patient-search-item{display:grid;grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:var(--space-2);min-height:48px;padding:6px var(--space-2);border:0;border-bottom:1px solid var(--border-soft);border-radius:var(--radius-sm);text-align:left;transition:background-color .16s ease-out,color .16s ease-out}.appointment-patient-search-item:hover{background:var(--state-info-bg)}.appointment-patient-search-item:focus-visible{position:relative;z-index:1;outline:2px solid var(--focus-ring);outline-offset:-2px;background:var(--state-info-bg)}.appointment-patient-avatar{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--state-info-bg);color:var(--state-info-fg);font-size:.72rem;font-weight:800;letter-spacing:.02em}.appointment-patient-identity{display:grid;min-width:0;gap:1px}.appointment-patient-identity strong{overflow:hidden;color:var(--text-primary);font-size:.84rem;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.appointment-patient-contact{display:flex;min-width:0;align-items:center;gap:var(--space-1);color:var(--text-secondary);font-size:.74rem;line-height:1.25}.appointment-patient-contact svg{width:12px;height:12px;flex:0 0 auto}.appointment-patient-contact>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-patient-add-icon{width:18px;height:18px;color:var(--state-info-fg);opacity:.72;transition:opacity .16s ease-out,transform .16s ease-out}.appointment-patient-search-item:hover .appointment-patient-add-icon,.appointment-patient-search-item:focus-visible .appointment-patient-add-icon{opacity:1;transform:scale(1.08)}.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}.appointment-patient-section-header{align-items:center}.appointment-new-patient-button{display:inline-flex;align-items:center;gap:.4rem;min-height:36px;padding:.45rem .75rem;border-radius:10px;font-weight:700}.appointment-new-patient-button svg{width:16px;height:16px}.appointment-new-patient-list{display:flex;flex-direction:column;gap:.4rem}.patient-selected-badge-new{border-style:dashed}.appointment-new-patient-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.55rem .7rem;border:1px solid color-mix(in srgb,var(--state-success-fg) 22%,transparent);border-radius:12px;background:var(--state-success-bg);color:var(--state-success-fg);font-size:.9rem}.appointment-new-patient-summary-actions{display:inline-flex;align-items:center;gap:.55rem}.appointment-new-patient-summary .link{color:inherit;padding:0;font-weight:700}.appointment-new-patient-summary .link:hover,.appointment-new-patient-summary .link:focus-visible{background:transparent;text-decoration:underline}.appointment-nested-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:safe center;justify-content:center;padding:1rem;background:color-mix(in srgb,var(--text-primary) 35%,transparent);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}.appointment-new-patient-modal{max-height:min(720px,92dvh);overflow-y:auto}.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:-moz-fit-content;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:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.appointment-recurrence-end-section{display:grid;gap:.45rem}.appointment-recurrence-end-option{display:flex;align-items:center;gap:.45rem;padding:.35rem .5rem;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:.35rem;font-weight:600;white-space:nowrap}.appointment-recurrence-end-toggle input{margin:0}.appointment-recurrence-end-control{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;flex:1 1 auto;min-width:0}.appointment-recurrence-end-control .planning-time-control{width:min(104px,100%);min-height:30px;padding:.28rem .6rem;font-size:.9rem}.appointment-recurrence-end-control .french-date-input{width:min(176px,100%)}.appointment-recurrence-end-control .french-date-input-control input{min-height:30px;padding:.28rem 2.4rem .28rem .6rem;font-size:.9rem}.appointment-recurrence-end-control .french-date-input-toggle{width:1.6rem;height:1.6rem;min-width:1.6rem;right:.28rem;border-radius:8px}.appointment-recurrence-end-control .french-date-input-toggle svg{width:.9rem;height:.9rem}.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-recap{display:grid;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-md);background:var(--state-success-bg);color:var(--state-success-fg)}.appointment-recurrence-preview-recap.has-conflicts{background:var(--state-warning-bg);color:var(--state-warning-fg)}.appointment-recurrence-preview-recap strong{font-size:.84rem;color:inherit}.appointment-recurrence-preview-recap span{font-size:.8rem;line-height:1.4}.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-warning-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-status{font-size:.8rem;font-weight:700;white-space:nowrap}.appointment-recurrence-preview-status.is-conflict{color:var(--state-warning-fg)}.appointment-recurrence-submit-hint{margin:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--state-info-bg);color:var(--state-info-fg);font-size:.84rem;line-height:1.45}.appointment-recurrence-submit-hint.is-blocking{background:var(--state-warning-bg);color:var(--state-warning-fg)}@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}.appointment-submit-tooltip{display:block;min-width:0}.appointment-submit-tooltip>button{width:100%}.appointment-submit-tooltip>button:disabled{border:1px solid var(--border-default);background:color-mix(in srgb,var(--text-secondary) 18%,var(--bg-surface));color:var(--text-secondary);opacity:1;pointer-events:none}.appointment-submit-tooltip.app-tooltip:focus-visible{border-radius:var(--radius-md);outline:2px solid var(--focus-ring);outline-offset:2px}.appointment-submit-tooltip.app-tooltip:after{top:auto;right:0;bottom:calc(100% + 8px);max-width:min(80vw,320px)}.appointment-submit-tooltip.app-tooltip:before{top:auto;right:12px;bottom:calc(100% + 2px);border-top-color:var(--tooltip-bg);border-bottom-color:transparent}.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}.field-label-icon{width:.95rem;height:.95rem;flex:0 0 auto;color:var(--text-secondary)}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}.new-patient-modal{width:min(720px,94vw)}.new-patient-modal-header{margin-bottom:1rem}.new-patient-modal-form{gap:1rem}.new-patient-modal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border:0;margin:0;min-width:0;padding:0}.new-patient-modal-field-wide,.new-patient-modal-actions{grid-column:1 / -1}.modal-actions.new-patient-modal-actions{display:flex;justify-content:flex-end;gap:.6rem}.professional-modal{width:min(680px,94vw)}.professional-modal-header{margin-bottom:1rem}.professional-modal-heading{display:grid;gap:.35rem;padding-right:.75rem}.professional-modal-heading h3,.professional-modal-heading p{margin:0}.professional-modal-title-icon{width:2rem;height:2rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--state-info-bg) 74%,var(--bg-elevated));color:var(--primary)}.professional-modal-title-icon svg{width:1.12rem;height:1.12rem}.professional-modal-form{display:grid;gap:1rem}.professional-modal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border:0;margin:0;min-width:0;padding:0}.professional-modal-field-wide,.professional-modal-actions{grid-column:1 / -1}.modal-actions.professional-modal-actions{display:flex;justify-content:flex-end;gap:.6rem}.waitlist-manual-create-modal{max-height:90vh;overflow-y:auto}.waitlist-manual-create-block{display:grid;gap:.6rem}.waitlist-manual-create-block-head,.waitlist-manual-create-options,.waitlist-manual-create-availability{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.waitlist-manual-create-block-head{justify-content:space-between}.waitlist-manual-create-inline-hint{margin:0;font-size:.78rem}.waitlist-manual-create-motifs{display:grid;gap:.75rem}.waitlist-manual-create-motif-group{display:grid;gap:.45rem}.waitlist-manual-create-motif-title{margin:0;color:var(--text-secondary);font-size:.82rem;font-weight:700}.waitlist-manual-create-motif-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem}.waitlist-manual-create-motif-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;margin:0;padding:.55rem .65rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;font-weight:500}.waitlist-manual-create-motif-option input{margin:0}.waitlist-manual-create-motif-option:has(input:checked){border-color:color-mix(in srgb,var(--primary) 58%,var(--border-default));background:color-mix(in srgb,var(--primary) 10%,var(--bg-elevated))}.waitlist-manual-create-motif-option input:checked+span{color:var(--primary);font-weight:700}.waitlist-manual-create-options label{margin:0}.waitlist-manual-create-block .waitlist-question-choice-field{display:grid;gap:.4rem;margin:0;padding:0;border:0}.waitlist-manual-create-block .waitlist-question-choice-field legend{padding:0}.waitlist-manual-create-block .waitlist-question-options{display:flex;flex-wrap:wrap;gap:.6rem}.waitlist-manual-create-block .waitlist-question-option{display:flex;align-items:center;gap:.4rem;margin:0}.waitlist-manual-create-availability select,.waitlist-manual-create-availability input{flex:1 1 120px}.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}.no-show-modal,.no-show-modal button,.no-show-modal input,.no-show-modal textarea,.no-show-modal label,.no-show-modal summary{font-family:var(--font-family-ui)}.no-show-modal .no-show-subtitle{margin:.2rem 0 .4rem;font-weight:500;color:var(--text-primary)}.no-show-modal .no-show-context{margin:0 0 1rem;font-size:.88rem;color:var(--text-secondary)}.no-show-tone-control{display:inline-flex;border:1px solid var(--border-default);border-radius:999px;padding:.2rem;gap:.15rem;background:var(--bg-elevated)}.no-show-tone-option{border:none;background:transparent;padding:.4rem .85rem;border-radius:999px;font-size:.88rem;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;font-weight:500;transition:background-color .12s ease,color .12s ease}.no-show-tone-option:hover:not(:disabled):not(.is-active){background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.no-show-tone-option.is-active{background:var(--primary);color:#fff}.no-show-tone-option.is-active:hover:not(:disabled){background:var(--primary-hover);color:#fff}.no-show-tone-option.is-suggested:not(.is-active){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 55%,transparent)}.no-show-tone-option.is-active small{color:#fff}.no-show-tone-option small{font-size:.7rem;opacity:.75;font-weight:400}.no-show-channels{display:flex;flex-direction:column;gap:.45rem}.no-show-editor{display:flex;flex-direction:column;gap:.55rem}.no-show-editor-tabs{align-self:flex-start;margin-bottom:.45rem}.no-show-editor-tabs button:hover:not(:disabled):not(.active){background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.no-show-editor-tabs button.active:hover:not(:disabled){background:var(--primary-hover, var(--primary));color:#fff}.no-show-editor-label{display:grid;gap:.3rem;font-size:.85rem;color:var(--text-secondary)}.no-show-editor-label input,.no-show-editor-label textarea{font-size:.95rem}.no-show-rich-editor .ql-editor{min-height:160px;background:var(--bg-elevated)}.no-show-modal .availability-actions-row{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-subtle, var(--border-default))}.no-show-reset{align-self:flex-start;font-size:.82rem}.no-show-disclosure{border-top:1px solid var(--border-subtle, var(--border-default));padding-top:.55rem;margin-top:.3rem;font-family:inherit}.no-show-disclosure>summary{cursor:pointer;font-weight:500;font-size:.92rem;color:var(--text-primary);font-family:inherit;list-style:none;display:flex;align-items:center;gap:.4rem}.no-show-disclosure>summary::-webkit-details-marker{display:none}.no-show-disclosure label,.no-show-disclosure textarea{font-family:inherit}.no-show-disclosure>summary:before{content:"▸";font-size:.75rem;transition:transform .12s ease}.no-show-disclosure[open]>summary:before{transform:rotate(90deg)}.no-show-disclosure textarea{margin-top:.5rem;width:100%}.no-show-suggestion-note{color:var(--text-secondary);font-style:italic}.appointment-cancel-email-toggle input{margin:0}.sms-compose-card{display:grid;gap:.55rem;padding:.85rem .95rem;border:1px solid color-mix(in srgb,var(--border-default) 84%,transparent);border-radius:16px;background:color-mix(in srgb,var(--bg-elevated) 94%,var(--state-info-bg))}.sms-compose-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sms-compose-header strong{color:var(--text-primary)}.sms-compose-counter{display:inline-flex;align-items:center;padding:.22rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--state-info-bg) 70%,var(--bg-elevated));color:var(--text-secondary);font-size:.78rem;font-weight:700;white-space:nowrap}.sms-compose-card textarea{min-height:92px;resize:vertical}.sms-compose-meta{display:flex;flex-wrap:wrap;gap:.45rem 1rem;color:var(--text-secondary);font-size:.8rem;line-height:1.35}.sms-compose-hint{margin:0}.sms-quota-warning-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .85rem;margin-top:-.15rem}.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:start center;overflow-x:hidden}.overlay.appointment-detail-overlay{place-items:stretch;padding:0}.appointment-modal{width:100%;max-width:100%;height:auto;min-height:0;border-radius:var(--radius-lg);padding:1.25rem 1rem 1.5rem;overflow-y:auto;overflow-x:hidden}.appointment-modal>.appointment-form,.appointment-modal>.availability-form,.appointment-modal .appointment-section,.appointment-modal .appointment-grid,.appointment-modal .appointment-recurrence-shell,.appointment-modal .appointment-recurrence-editor,.appointment-modal .appointment-recurrence-custom-top,.appointment-modal .appointment-recurrence-inline-field,.appointment-modal .appointment-recurrence-end-section,.appointment-modal .appointment-recurrence-end-option,.appointment-modal .appointment-recurrence-end-control{min-width:0;max-width:100%}.appointment-modal>.appointment-form,.appointment-modal>.availability-form,.appointment-modal>.appointment-form>*,.appointment-modal>.availability-form>*,.appointment-modal .appointment-section>*,.appointment-modal .appointment-grid>*,.appointment-modal label,.appointment-modal .french-date-input,.appointment-modal .french-date-input-control{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.appointment-modal input:not([type=checkbox]):not([type=radio]),.appointment-modal select,.appointment-modal textarea,.appointment-modal .button-like{min-width:0;max-width:100%;box-sizing:border-box}.appointment-mode-picker{min-width:0;margin-right:2.5rem}.appointment-mode-switch{display:flex;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.appointment-mode-button{flex:0 0 auto;scroll-snap-align:start}.appointment-recurrence-presets{min-width:0;max-width:100%;overscroll-behavior-inline:contain}.appointment-recurrence-custom-top .field-label,.appointment-recurrence-end-toggle,.appointment-recurrence-preview-date,.appointment-recurrence-preview-time,.appointment-recurrence-preview-status{white-space:normal}.appointment-recurrence-preview-main{min-width:0;flex-wrap:wrap}.unavailability-inline-range{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}.unavailability-inline-date,.unavailability-inline-time{width:100%;min-width:0;max-width:100%;flex:none}.unavailability-grid,.availability-magic-grid{grid-template-columns:minmax(0,1fr)}.availability-no-lunch-toggle{width:100%;max-width:100%;justify-content:flex-start;text-align:left}.appointment-modal>.appointment-form>.appointment-actions,.appointment-modal>.availability-form>.appointment-actions,.appointment-modal>.availability-form>.availability-actions-row{display:grid;position:sticky;z-index:20;bottom:0;width:auto;min-width:0;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));margin-right:-1rem;margin-bottom:-1.5rem;margin-left:-1rem;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--border-default);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.appointment-modal>.appointment-form>.appointment-actions button,.appointment-modal>.availability-form>.appointment-actions button,.appointment-modal>.availability-form>.availability-actions-row button{min-width:0;width:100%}.appointment-modal>.availability-form>.availability-edit-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-edit-actions .availability-delete-button{grid-column:1 / -1}.availability-edit-actions-spacer{display:none}.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-viewport{position:fixed;top:max(16px,calc(env(safe-area-inset-top) + 16px));right:16px;z-index:1200;width:min(420px,calc(100vw - 24px));display:flex;flex-direction:column;gap:12px}.toast-notification{--toast-bg: color-mix(in srgb, var(--state-info-bg) 82%, var(--bg-elevated));--toast-fg: var(--state-info-fg);--toast-border: color-mix(in srgb, var(--state-info-fg) 20%, var(--border-default));--toast-shadow: color-mix(in srgb, var(--state-info-fg) 14%, transparent);position:relative;overflow:hidden;border:1px solid var(--toast-border);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--toast-bg) 78%,white 22%),color-mix(in srgb,var(--bg-elevated) 92%,var(--toast-bg)));box-shadow:0 18px 40px var(--toast-shadow),inset 0 1px color-mix(in srgb,#ffffff 72%,transparent);color:var(--toast-fg);animation:toast-enter .18s ease-out}.toast-notification:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:16px 0 0 16px;background:var(--toast-fg)}.toast-notification--success{--toast-bg: color-mix(in srgb, var(--state-success-bg) 84%, var(--bg-elevated));--toast-fg: var(--state-success-fg);--toast-border: color-mix(in srgb, var(--state-success-fg) 20%, var(--border-default));--toast-shadow: color-mix(in srgb, var(--state-success-fg) 16%, transparent)}.toast-notification--warning{--toast-bg: color-mix(in srgb, var(--state-warning-bg) 86%, var(--bg-elevated));--toast-fg: var(--state-warning-fg);--toast-border: color-mix(in srgb, var(--state-warning-fg) 24%, var(--border-default));--toast-shadow: color-mix(in srgb, var(--state-warning-fg) 14%, transparent)}.toast-notification--error{--toast-bg: color-mix(in srgb, var(--state-danger-bg) 86%, var(--bg-elevated));--toast-fg: var(--state-danger-fg);--toast-border: color-mix(in srgb, var(--state-danger-fg) 24%, var(--border-default));--toast-shadow: color-mix(in srgb, var(--state-danger-fg) 16%, transparent)}.toast-notification--info{--toast-bg: color-mix(in srgb, var(--state-info-bg) 82%, var(--bg-elevated));--toast-fg: var(--state-info-fg);--toast-border: color-mix(in srgb, var(--state-info-fg) 20%, var(--border-default));--toast-shadow: color-mix(in srgb, var(--state-info-fg) 14%, transparent)}.toast-notification__body{gap:4px}.toast-notification__icon{background:color-mix(in srgb,var(--toast-fg) 12%,var(--bg-elevated));color:var(--toast-fg);border:1px solid color-mix(in srgb,var(--toast-fg) 14%,transparent)}.toast-notification__icon svg{width:18px;height:18px}.toast-notification__title{color:var(--toast-fg);font-size:.96rem;font-weight:700}.toast-notification__message{color:color-mix(in srgb,var(--toast-fg) 88%,var(--text-primary));font-size:.92rem;line-height:1.45}.toast-notification__close{color:var(--toast-fg)}.toast-notification__close:hover{background:color-mix(in srgb,var(--toast-fg) 10%,transparent)}.toast-notification__close:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 24%,transparent)}@keyframes toast-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.toast-viewport{top:max(12px,calc(env(safe-area-inset-top) + 12px));right:12px;left:12px;width:auto}}.patients-shell{display:block;position:relative}.patient-detail-onboarding-float{position:absolute;top:16px;right:16px;z-index:45;width:min(320px,calc(100% - 32px));pointer-events:none}.patient-detail-onboarding-mini-card{padding:14px;border:2px solid color-mix(in srgb,var(--primary) 34%,var(--border-default));border-radius:var(--radius-lg, 18px);background:var(--bg-elevated);box-shadow:0 18px 42px color-mix(in srgb,black 16%,transparent);display:grid;gap:12px;pointer-events:auto}.patient-detail-onboarding-mini-card strong{font-size:.95rem;line-height:1.2;color:var(--text-primary)}.patient-detail-onboarding-mini-card>button{width:100%;justify-content:center}.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{display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease}.patient-type-dropdown-caret svg,.patient-status-dropdown-caret svg,.patient-antecedent-tag-trigger-caret svg{width:.9rem;height:.9rem;display:block}.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:.4rem;border-radius:12px;border:1px solid var(--border-default);background:var(--bg-elevated);box-shadow:var(--shadow-2);display:grid;gap:.35rem}.patient-type-dropdown-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.55rem;padding:.55rem .7rem;border:none;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:var(--subnav-hover-bg);color:var(--subnav-hover-fg)}.patient-type-dropdown-option.active{background:var(--subnav-hover-bg);color:var(--subnav-hover-fg)}.patient-type-dropdown-option-label{min-width:0}.patient-type-dropdown-option-check{display:inline-flex;align-items:center;justify-content:center;color:inherit}.patient-type-dropdown-option-check svg{width:.9rem;height:.9rem;display:block}.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{display:inline-flex;align-items:center;justify-content:center;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{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.patient-status-dropdown-option-label .ui-inline-icon svg{width:.9rem;height:.9rem}.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:0}.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{position:relative;border:1px solid var(--border-default);border-radius:16px;overflow:visible;background:var(--bg-elevated)}.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;border-radius:16px 16px 0 0;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:none;letter-spacing:.03em}.patients-table-header-centered{text-align:center}.patients-table-body{display:grid}.patient-row{padding:.85rem 1rem;border-top:1px solid var(--border-subtle);background:var(--bg-elevated);text-align:left;transition:background .2s ease;cursor:pointer}.patients-table-header+.patients-table-body .patient-row:first-child{border-top:none}.patients-table-body .patient-row:last-child{border-radius:0 0 16px 16px}.patient-row:hover{background:color-mix(in srgb,var(--state-info-bg) 36%,var(--bg-elevated))}.patient-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.patient-row.selected{background:color-mix(in srgb,var(--state-info-bg) 70%,var(--bg-elevated))}.patient-row.patient-row-empty{cursor:default}.patient-row.patient-row-empty:hover{background:var(--bg-elevated)}.patient-row .cell{display:flex;flex-direction:column;gap:.2rem}.patient-row .cell.cell-empty{grid-column:1 / -1;align-items:center;justify-content:center;text-align:center;padding-block:.15rem}.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-shared-chip{width:-moz-fit-content;width:fit-content;margin-top:.1rem}.patient-status-chip{display:inline-flex;align-items:center;gap:.3rem;width:-moz-fit-content;width:fit-content;max-width:100%;flex:0 0 auto}.patient-status-chip-icon svg{width:.82rem;height:.82rem}.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 .chip.patient-report-chip--empty,.patient-row .cell .chip.patient-report-chip--empty:hover,.patient-row .cell .chip.patient-report-chip--empty:focus-visible{background:color-mix(in srgb,var(--bg-muted, var(--bg-app)) 74%,var(--bg-surface));color:var(--text-secondary);border-color:var(--border-default)}.patient-row .cell .chip.patient-report-chip--filled,.patient-row .cell .chip.patient-report-chip--filled:hover,.patient-row .cell .chip.patient-report-chip--filled:focus-visible{background:var(--state-success-bg);color:var(--state-success-fg);border-color:color-mix(in srgb,var(--state-success-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:var(--state-review-bg)!important;color:var(--state-review-fg)!important;border-color:color-mix(in srgb,var(--state-review-fg) 18%,var(--border-default))!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:var(--state-review-bg)!important;color:var(--state-review-fg)!important;border-color:color-mix(in srgb,var(--state-review-fg) 18%,var(--border-default))!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}.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:-moz-fit-content;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,.message-thread-body div{margin:0 0 .45rem}.message-thread-body p:last-child{margin-bottom:0}.message-thread-body div:last-child{margin-bottom:0}.message-attachment-block{display:grid;gap:.45rem;margin-top:.65rem;padding:.7rem .8rem;border:1px solid #dbe5f3;border-radius:12px;background:#f8fbff}.message-attachment-title{margin:0;font-size:.8rem;font-weight:700;color:#1f2937}.message-attachment-list{display:grid;gap:.45rem}.message-attachment-item{display:grid;gap:.1rem}.message-reply-composer{display:grid;grid-template-rows:minmax(0,auto) auto;gap:.6rem;min-height:0}.message-reply-attachments-summary{display:grid;gap:.65rem}.message-reply-attachments-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.message-reply-editor{min-height:0}.message-reply-editor .ql-container{max-height:none;overflow:visible}.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;overflow-x:hidden}.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:100%;min-height:0;flex:1 1 auto}.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:.2rem 0 0}.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-recipient-targets{display:grid;gap:.15rem}.messages-recipient-external-card{display:grid;gap:.25rem;padding:.85rem;border:1px solid var(--border-subtle, #d8dde8);border-radius:12px;background:var(--surface-subtle, #f8fafc)}.messages-patient-checkboxes{display:grid;gap:.85rem;max-height:16rem;overflow-y:auto;padding:.85rem;border:1px solid var(--border-subtle, #d8dde8);border-radius:12px;background:var(--surface-subtle, #f8fafc)}.messages-recipient-section{display:grid;gap:.55rem}.messages-recipient-section-title{font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary, #475569)}.messages-patient-checkbox{display:flex;align-items:flex-start;gap:.65rem}.messages-patient-checkbox-disabled{opacity:.68}.messages-patient-checkbox input{margin-top:.15rem}.messages-recipient-option-text{display:grid;gap:.12rem}.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}.messages-accordion{display:grid;gap:.65rem}.messages-accordion-trigger{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.8rem .9rem;border:1px solid var(--border-subtle, #d8dde8);border-radius:12px;background:var(--surface-subtle, #f8fafc);color:var(--text-primary, #111827);text-align:left}.messages-accordion-trigger:hover,.messages-accordion-trigger:focus-visible{border-color:#c4d0e0;background:#f1f5f9}.messages-accordion-meta{display:block;margin-top:.15rem;font-size:.83rem}.messages-accordion-caret{flex:0 0 auto;font-size:1.1rem;line-height:1;color:var(--text-secondary, #475569)}.messages-accordion-panel,.messages-attachment-picker{display:grid;gap:.75rem}.messages-attachment-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.messages-attachment-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.7rem .85rem;border:1px solid var(--border-subtle, #d8dde8);border-radius:12px;background:var(--surface-subtle, #f8fafc);font-size:.9rem;color:var(--text-secondary, #475569)}.messages-attachment-chip-list{display:flex;flex-wrap:wrap;gap:.5rem}.messages-attachment-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .65rem;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#0f172a;font-size:.85rem}.messages-attachment-chip:hover,.messages-attachment-chip:focus-visible{border-color:#94a3b8;background:#f8fafc}.messages-attachment-warning{margin:0;padding:.7rem .85rem;border:1px solid #fdba74;border-radius:12px;background:#fff7ed;color:#9a3412;font-size:.9rem}.messages-attachment-list{display:grid;gap:.6rem;max-height:15rem;overflow-y:auto;padding:.85rem;border:1px solid var(--border-subtle, #d8dde8);border-radius:12px;background:var(--surface-subtle, #f8fafc)}.messages-attachment-option{display:flex;align-items:flex-start;gap:.65rem}.messages-attachment-option input{margin-top:.15rem}.messages-attachment-option-text{display:grid;gap:.12rem}.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 var(--border-default);border-radius:10px;background:color-mix(in srgb,var(--bg-app) 55%,var(--bg-elevated));max-height:200px;overflow:auto;padding:.4rem;display:grid;gap:.2rem}.task-patient-option{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;padding:.45rem .6rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.task-patient-option:hover,.task-patient-option:focus-visible{border-color:var(--border-default);background:var(--bg-elevated)}.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-supports-toolbar{align-items:flex-end;gap:.45rem;justify-content:flex-end;flex-wrap:nowrap}.materials-supports-toolbar>*{min-width:0}.materials-supports-toolbar .search-box.compact{flex:0 1 18rem;min-width:12rem;min-height:40px;height:40px;padding:.3rem .65rem}.materials-supports-toolbar .search-box.compact input{min-width:0;width:100%}.materials-supports-toolbar>select.button-like{flex:0 0 9.25rem;min-width:9.25rem;min-height:40px;height:40px;display:inline-flex;align-items:center}.materials-supports-toolbar .resource-filter-control{flex:0 0 8.75rem;min-width:8.75rem}.materials-supports-toolbar .resource-taxonomy-dropdown-trigger{width:100%;min-width:0;min-height:40px;height:40px;padding-inline:.75rem}.materials-supports-toolbar .resource-taxonomy-dropdown-trigger-chips{flex-wrap:nowrap;overflow:hidden}.materials-supports-toolbar .resource-taxonomy-dropdown-trigger-badge{max-width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.materials-supports-toolbar .materials-reset-button{min-width:40px;width:40px;min-height:40px;height:40px}.materials-supports-toolbar>button.ghost,.materials-supports-toolbar>button.primary{white-space:nowrap;padding-inline:.85rem;font-size:.92rem;min-height:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}.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}.app-tooltip:not(.native-title-tooltip),.resource-themed-tooltip,.app-tooltip-position-anchor{position:relative}.native-title-tooltip:after{max-width:min(80vw,300px)}.app-tooltip:hover,.app-tooltip:focus-visible,.resource-themed-tooltip:hover,.resource-themed-tooltip:focus-visible{z-index:40}.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,.app-tooltip:after,.resource-themed-tooltip:after{content:attr(data-tooltip);position:absolute;right:0;top:calc(100% + 8px);width:-moz-max-content;width:max-content;max-width:min(80vw,220px);padding:.38rem .5rem;border-radius:8px;background:var(--tooltip-bg);color:var(--tooltip-fg);font-size:.76rem;line-height:1.2;white-space:normal;box-shadow:var(--tooltip-shadow);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .08s ease;z-index:20}.materials-reset-button:before,.app-tooltip:before,.resource-themed-tooltip:before{content:"";position:absolute;right:12px;top:calc(100% + 2px);border:6px solid transparent;border-bottom-color:var(--tooltip-bg);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,.app-tooltip:hover:after,.app-tooltip:hover:before,.app-tooltip:focus-visible:after,.app-tooltip:focus-visible:before,.resource-themed-tooltip:hover:after,.resource-themed-tooltip:hover:before,.resource-themed-tooltip:focus-visible:after,.resource-themed-tooltip:focus-visible:before{opacity:1;visibility:visible}.materials-assignment-panel{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface)}.materials-assignment-copy{display:grid;gap:var(--space-1)}.materials-assignment-copy p{margin:0;color:var(--text-secondary)}.materials-assignment-context{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.materials-assignment-eyebrow{color:var(--text-secondary);font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.materials-assignment-context-actions,.resources-mobile-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.resources-mobile-actions{display:none}.materials-assignment-select-all{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-soft)}.materials-assignment-selection-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap}.materials-assignment-count{color:var(--text-secondary);font-weight:600}.materials-assignment-patient-modal,.materials-assignment-confirm-modal{width:min(560px,calc(100vw - 2rem))}.materials-assignment-patient-modal{overflow:visible}.materials-assignment-patient-modal>p{margin:0 0 var(--space-4)}.materials-assignment-patient-search{width:100%}.materials-assignment-patient-search>input,.materials-assignment-patient-search .patient-search-results{width:100%;box-sizing:border-box}.materials-assignment-recap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-3)}.materials-assignment-recap>div{display:grid;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-surface)}.materials-assignment-recap span{color:var(--text-secondary);font-size:.78rem}.materials-assignment-resource-list{display:grid;gap:var(--space-1);max-height:180px;margin:0 0 var(--space-4);padding:var(--space-3) var(--space-3) var(--space-3) 2rem;overflow-y:auto;border:1px solid var(--border-soft);border-radius:var(--radius-md);color:var(--text-primary)}.materials-assignment-delivery-options{display:grid;gap:var(--space-2);margin:0;padding:0;border:0}.materials-assignment-delivery-options legend{margin-bottom:var(--space-2);font-weight:700}.materials-assignment-delivery-options label{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);cursor:pointer}.materials-assignment-delivery-options label:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,var(--bg-elevated))}.materials-assignment-delivery-options label.is-disabled{cursor:not-allowed;opacity:.58}.materials-assignment-delivery-options label>span{display:grid;gap:var(--space-1)}.materials-assignment-delivery-options small{color:var(--text-secondary)}.materials-assignment-info{margin:var(--space-3) 0 0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--state-info-bg);color:var(--state-info-fg);font-size:.86rem}.materials-card-title{display:grid;justify-items:start;gap:var(--space-1)}.materials-already-shared-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-top:var(--space-1);padding:.2rem .45rem;border-radius:var(--radius-pill);background:var(--state-success-bg);color:var(--state-success-fg);font-size:.72rem;font-weight:700}.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-toggle .date-picker-button{position:relative;display:inline-flex}.journal-toggle-date-picker{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;padding:0}.journal-toggle-date-picker svg{width:2rem;height:2rem}.journal-toggle .french-date-picker-popover{left:auto;right:0}.journal-day-label{color:#334155;font-weight:600}.journal-actions-day-label{margin:0;display:inline-flex;align-items:center;gap:.45rem;text-transform:capitalize}.journal-actions-day-label .journal-day-stats-inline{margin-left:.45rem;justify-content:flex-start}.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-head-actions .hint{height:34px;margin:0;display:inline-flex;align-items:center;line-height:1}.journal-all-tasks-button{height:34px;padding:.35rem .65rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-size:.82rem;font-weight:700;line-height:1}.journal-all-tasks-button svg{width:16px;height:16px}.journal-all-tasks-button--mobile{display:none}.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:.35rem .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::-moz-placeholder{font-family:inherit;font-size:.84rem;font-weight:400}.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.3;padding:0}.journal-shell .journal-note-preview-rich.ql-editor{padding:0;min-height:0}.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:.2rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.journal-report-share{display:inline-flex;align-items:center;gap:var(--space-2, 8px);min-width:0}.journal-report-share-label{color:var(--text-secondary);font-size:.72rem;font-weight:600;white-space:nowrap}.journal-report-share-status{display:inline-flex;align-items:center;gap:var(--space-1, 4px);min-height:22px;padding:.14rem .48rem;border:1px solid var(--border-default);border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;line-height:1;white-space:nowrap}.journal-report-share-status svg{width:12px;height:12px}.journal-report-share-status--pending{background:var(--bg-surface);color:var(--text-secondary)}.journal-report-share-status--sent{border-color:color-mix(in srgb,var(--state-success-fg) 24%,var(--border-default));background:var(--state-success-bg);color:var(--state-success-fg)}.journal-report-share-marker{width:8px;height:8px;border:1.5px solid currentColor;border-radius:var(--radius-pill)}.journal-report-share-loading{min-width:22px;color:var(--text-secondary);font-size:.78rem;text-align:center}.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-report-link--empty,.journal-report-link--empty:hover,.journal-report-link--empty:focus-visible{color:var(--text-secondary)}.journal-consultation-badges{display:flex;flex-wrap:wrap;gap:.35rem}.journal-patient-cell{display:grid;gap:.2rem}.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:32px;max-height:220px;font-weight:400}.journal-day-report-editor .ql-editor{padding:.3rem .55rem;line-height:1.3}.journal-day-report-editor .ql-editor.ql-blank:before{left:.55rem;right:.55rem;font-style:normal}.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{position:relative;border:1px solid var(--border-default);border-radius:16px;overflow:visible;background:var(--bg-elevated)}.materials-supports-table{position:relative;isolation:isolate;border:none;background:var(--bg-elevated)}.materials-supports-table:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--border-default);border-radius:16px;pointer-events:none;z-index:1}.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;border-radius:16px 16px 0 0;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:none;letter-spacing:.03em}.materials-supports-table .materials-table-header{border-radius:16px 16px 0 0;overflow:visible;position:relative}.materials-supports-table .materials-table-body{border-radius:0 0 16px 16px;overflow:visible;position:relative}.materials-row{padding:.85rem 1rem;border-top:1px solid var(--border-subtle);background:var(--bg-elevated);cursor:pointer;transition:background .2s ease}.materials-table-header+.materials-table-body .materials-row:first-child{border-top:none}.materials-table-body .materials-row:last-child{border-radius:0 0 16px 16px}.materials-row.is-selecting{cursor:default}.materials-row:hover{background:#f8f9ff}.materials-row.materials-row-empty{cursor:default}.materials-row.materials-row-empty:hover{background:#fff}.materials-row.is-reorder-mode{cursor:grab}.materials-row.is-reorder-mode.is-dragging{opacity:.56}.materials-row.is-reorder-mode.drag-over{background:color-mix(in srgb,var(--state-info-bg) 72%,var(--bg-elevated));border-top-color:color-mix(in srgb,var(--primary) 22%,var(--border-default))}.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:center;align-items:center;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:center;align-items:center;overflow:visible;white-space:normal;text-overflow:clip;position:relative}.materials-cell.materials-cell-empty{grid-column:1 / -1;justify-content:center;text-align:center}.materials-table-header .materials-cell.actions{justify-content:center;text-align:center}.materials-actions-group{display:inline-flex;align-items:center;justify-content:flex-end;gap:.45rem;overflow:visible}.materials-actions-group-mobile{flex-wrap:nowrap}.materials-reorder-trigger.is-active{background:var(--subnav-bg);color:var(--subnav-text);border-color:var(--subnav-border)}.materials-reorder-trigger.is-active:hover,.materials-reorder-trigger.is-active:focus-visible{background:color-mix(in srgb,var(--subnav-bg) 74%,var(--bg-surface));color:var(--subnav-text);border-color:var(--subnav-border)}.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):not(.actions),.materials-row .materials-cell:nth-child(7):not(.actions){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.materials-row .materials-cell.actions{overflow:visible;white-space:normal;text-overflow:clip}.professionals-table .materials-row .materials-cell:nth-child(4){white-space:normal;overflow:visible;text-overflow:clip}.materials-supports-table .materials-row .materials-cell.actions,.follow-up-table .materials-row .materials-cell.actions,.follow-up-table .materials-table-header .materials-cell.actions{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;display:inline-flex;align-items:center;justify-content:center}.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-reorder-mode{cursor:grab}.materials-card.is-reorder-mode.is-dragging{opacity:.56}.materials-card.is-reorder-mode.drag-over{border-color:color-mix(in srgb,var(--primary) 34%,var(--border-default));background:color-mix(in srgb,var(--state-info-bg) 48%,var(--bg-elevated))}.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}.materials-reorder-hint{margin-top:.55rem}.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-primary-title-field{display:grid;gap:.5rem;padding:.9rem 1rem 1rem;border-radius:18px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border-default));background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft, var(--state-info-bg)) 42%,var(--bg-elevated)),color-mix(in srgb,var(--bg-elevated) 94%,var(--bg-app)));box-shadow:0 12px 24px color-mix(in srgb,var(--accent) 8%,transparent)}.follow-up-primary-title-label{font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase;color:var(--text-secondary)}.follow-up-primary-title-field input{border:none;background:transparent;box-shadow:none;padding:0;font-size:1.28rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.follow-up-primary-title-field input::-moz-placeholder{color:color-mix(in srgb,var(--text-secondary) 74%,white)}.follow-up-primary-title-field input::placeholder{color:color-mix(in srgb,var(--text-secondary) 74%,white)}.follow-up-primary-title-field input:focus-visible{outline:none}.follow-up-section-title-bar{display:flex;align-items:center;flex:1 1 360px;gap:.75rem;min-width:0;padding:.3rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--border-default) 88%,white);background:color-mix(in srgb,var(--bg-surface) 82%,var(--bg-elevated))}.follow-up-section-title-prefix{display:inline-flex;align-items:center;flex:0 0 auto;min-height:2.35rem;padding:0 .8rem;border-radius:11px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border-default));background:color-mix(in srgb,var(--accent-soft, var(--state-info-bg)) 78%,var(--bg-elevated));color:var(--accent);font-size:.74rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.follow-up-section-title-bar input{flex:1 1 auto;min-width:0;border:none;background:transparent;box-shadow:none;font-size:1.02rem;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}.follow-up-section-title-bar input:focus-visible{outline:none}.follow-up-section-help{margin:0}.follow-up-table .materials-row{cursor:default}.follow-up-table{position:relative;isolation:isolate;overflow:visible;border:none;background:var(--bg-elevated);box-shadow:none}.follow-up-table:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--border-default);border-radius:16px;pointer-events:none;z-index:1}.follow-up-table .materials-table-header{border-radius:16px 16px 0 0;overflow:visible;position:relative}.follow-up-table .materials-table-body{border-radius:0 0 16px 16px;overflow:visible;position:relative}.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}.assessment-table .materials-table-header,.assessment-table .materials-row{min-width:920px}.assessment-row .materials-cell{min-width:0}.assessment-title-cell{display:grid;gap:.18rem}.assessment-title-cell span,.assessment-card .materials-card-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assessment-title-cell small,.assessment-file-note{color:var(--text-secondary);font-size:.82rem}.assessment-sort-button.active{color:var(--text-primary)}.assessment-status-badge{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;border-radius:var(--radius-pill);border:1px solid transparent;padding:.22rem .62rem;font-size:.78rem;font-weight:700;line-height:1.2}.assessment-status-badge.imported{background:var(--state-info-bg);color:var(--state-info-fg);border-color:color-mix(in srgb,var(--state-info-fg) 24%,transparent)}.assessment-status-badge.sent{background:var(--state-success-bg);color:var(--state-success-fg);border-color:color-mix(in srgb,var(--state-success-fg) 24%,transparent)}.assessment-actions{justify-content:center}.assessment-modal{max-width:100%;overflow-x:hidden}.assessment-modal form,.assessment-modal fieldset,.assessment-modal label,.assessment-modal input,.assessment-modal select{min-width:0;max-width:100%;box-sizing:border-box}.assessment-modal input:not([type=checkbox]),.assessment-modal select{width:100%}.assessment-form label{display:grid;gap:.35rem}.assessment-form label>span{color:var(--text-secondary);font-size:.84rem;font-weight:700}.assessment-checkbox{grid-template-columns:auto minmax(0,1fr);align-items:center}.assessment-checkbox input{width:16px;height:16px;margin:0}.assessment-checkbox span{color:var(--text-primary);font-weight:600}.assessment-subcheckbox{margin-left:1.45rem}.assessment-send-notice{margin:0;padding:.62rem .75rem;border:1px solid color-mix(in srgb,var(--state-info-fg) 18%,var(--border-default));border-radius:var(--radius-md);background:var(--state-info-bg);color:var(--state-info-fg);font-weight:700}.assessment-attachment-label{display:inline-flex;align-items:center;gap:.35rem}.assessment-email-info{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--state-warning-fg)}.assessment-email-info svg{width:16px;height:16px}.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-section-title-list{display:flex;flex-wrap:wrap;gap:.4rem}.follow-up-section-title-pill{display:inline-flex;align-items:center;border-radius:.85rem;padding:.24rem .6rem;background:color-mix(in srgb,var(--bg-muted, var(--bg-app)) 74%,var(--bg-surface));border:1px solid color-mix(in srgb,var(--border-default) 78%,transparent);color:var(--text-primary);font-size:.8rem;font-weight:600;line-height:1.25}.follow-up-questionnaire-actions{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem;overflow:visible}.follow-up-table .follow-up-questionnaire-actions{width:100%}.follow-up-card-actions .follow-up-questionnaire-actions{justify-content:flex-end}.resource-search-badge{pointer-events:none}.resource-taxonomy-dropdown-field{position:relative}.resource-taxonomy-dropdown-trigger{width:100%;min-height:46px;justify-content:space-between;color:var(--text-primary)}.resource-taxonomy-dropdown-trigger:hover,.resource-taxonomy-dropdown-trigger:focus-visible,.resource-taxonomy-dropdown-trigger.open{background:var(--bg-elevated);border-color:var(--border-default);box-shadow:none}.resource-taxonomy-dropdown-trigger-value{min-width:0;flex:1 1 auto}.resource-taxonomy-dropdown-trigger-chips{display:flex;flex-wrap:wrap;gap:.35rem}.resource-taxonomy-dropdown-trigger-badge{border:none;box-shadow:none}.resource-taxonomy-dropdown-panel{left:0;right:auto;width:100%;max-height:280px;overflow:auto}.resource-taxonomy-dropdown-search{width:100%;margin-bottom:.35rem}.resource-taxonomy-dropdown-options{display:grid;gap:.2rem}.resource-taxonomy-dropdown-option{padding-block:.42rem}.resource-taxonomy-dropdown-option:hover,.resource-taxonomy-dropdown-option:focus-visible{background:color-mix(in srgb,var(--bg-app) 65%,var(--bg-elevated) 35%);border-color:transparent}.resource-taxonomy-dropdown-option.active{background:color-mix(in srgb,var(--bg-app) 55%,var(--bg-elevated) 45%);color:var(--text-primary);border-color:transparent}.resource-taxonomy-dropdown-option.active:hover,.resource-taxonomy-dropdown-option.active:focus-visible{background:color-mix(in srgb,var(--bg-app) 65%,var(--bg-elevated) 35%);color:var(--text-primary);border-color:transparent}.resource-taxonomy-dropdown-option-label{display:flex;align-items:center}.resource-taxonomy-dropdown-option-check{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--accent);flex:0 0 auto}.resource-taxonomy-dropdown-option-check svg{width:.85rem;height:.85rem;display:block}.resource-taxonomy-dropdown-option .follow-up-domain-pill{border:none;box-shadow:none}.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;overflow-x:hidden}.follow-up-questionnaire-modal form,.follow-up-questionnaire-modal fieldset,.follow-up-questionnaire-modal input,.follow-up-questionnaire-modal select,.follow-up-questionnaire-modal button,.follow-up-questionnaire-modal .appointment-section,.follow-up-questionnaire-modal .follow-up-section-list,.follow-up-questionnaire-modal .follow-up-section-card{min-width:0;max-width:100%;box-sizing:border-box}.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{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:.75rem}.follow-up-question-item.has-actions{grid-template-columns:minmax(0,1fr);padding-right:12.5rem;min-height:2.9rem}.follow-up-question-item:before,.follow-up-question-item:after{content:"";position:absolute;left:0;right:0;height:3px;border-radius:999px;background:transparent;pointer-events:none}.follow-up-question-item.is-drop-target-before:before{top:-.45rem;background:var(--accent)}.follow-up-question-item.is-drop-target-after:after{bottom:-.45rem;background:var(--accent)}.follow-up-question-item-editor{min-width:0}.follow-up-question-input{width:100%}.follow-up-question-item.is-draggable,.patient-anamnesis-editor-item.is-draggable{cursor:grab}.follow-up-question-item.is-dragging,.patient-anamnesis-editor-item.is-dragging{opacity:.55}.follow-up-question-actions{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex:0 0 auto;justify-content:flex-end}.follow-up-question-item.has-actions .follow-up-question-actions{position:absolute;top:50%;right:0;transform:translateY(-50%);max-width:12rem}.follow-up-question-sync-label{white-space:nowrap}.follow-up-drag-handle{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border-default));background:color-mix(in srgb,var(--accent-soft, var(--state-info-bg)) 55%,var(--bg-elevated));color:var(--text-secondary);font-size:.76rem;font-weight:600;cursor:grab}.follow-up-drag-handle svg{width:.95rem;height:.95rem;display:block}.follow-up-question-item button{width:auto;flex:0 0 auto}.follow-up-reorder-hint{margin:0}.follow-up-question-dropzone{width:100%;justify-content:center;border-style:dashed;background:color-mix(in srgb,var(--bg-surface) 85%,var(--bg-elevated))}.follow-up-insert-select{display:grid;gap:.25rem;margin-top:.45rem}.follow-up-insert-select select{max-width:100%}.follow-up-inline-meta{align-items:center;gap:.45rem;flex-wrap:wrap}.follow-up-inline-meta .chip,.follow-up-question-sync-label{cursor:default;pointer-events:none}.follow-up-inline-meta .chip:hover,.follow-up-inline-meta .chip:focus-visible{background:#eef1ff;color:#2b3a6b;border-color:#e1e7ff;box-shadow:none}.follow-up-questionnaire-modal .appointment-actions{flex-wrap:wrap}@media(max-width:720px){.app.practitioner .overlay.follow-up-editor-overlay{align-items:stretch;justify-items:stretch;padding:var(--topbar-height-mobile) 0 0;overflow:hidden}.app.practitioner .overlay.follow-up-editor-overlay>.follow-up-questionnaire-modal{width:100%;max-width:none;height:calc(100dvh - var(--topbar-height-mobile));max-height:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow-x:hidden;overflow-y:auto;padding:var(--space-4)}.follow-up-questionnaire-modal{width:100%;max-width:100%;padding:var(--space-4)}.follow-up-questionnaire-modal .follow-up-primary-title-field{padding:var(--space-3);border-radius:var(--radius-lg)}.follow-up-questionnaire-modal .follow-up-primary-title-field input{width:100%;min-width:0;font-size:1rem}.follow-up-questionnaire-modal .follow-up-section-header{align-items:stretch;flex-direction:column}.follow-up-questionnaire-modal .follow-up-section-header>.primary{width:100%;box-sizing:border-box}.follow-up-questionnaire-modal .follow-up-section-card{padding:var(--space-3)}.follow-up-questionnaire-modal .follow-up-section-card-head{align-items:stretch;flex-direction:column}.follow-up-questionnaire-modal .follow-up-section-title-bar{align-items:stretch;flex:1 1 auto;flex-direction:column;gap:var(--space-2);width:100%;box-sizing:border-box}.follow-up-questionnaire-modal .follow-up-section-title-prefix{align-self:stretch;justify-content:flex-start}.follow-up-questionnaire-modal .follow-up-section-title-bar input{width:100%;min-width:0;box-sizing:border-box}.follow-up-questionnaire-modal .follow-up-inline-meta{align-items:stretch;flex-direction:column}.follow-up-questionnaire-modal .follow-up-inline-meta>*{width:100%;box-sizing:border-box}.follow-up-questionnaire-modal .follow-up-question-list{padding-left:var(--space-4)}.follow-up-questionnaire-modal .follow-up-question-item,.follow-up-questionnaire-modal .follow-up-question-item.has-actions{grid-template-columns:minmax(0,1fr);gap:var(--space-2);padding-right:0}.follow-up-questionnaire-modal .follow-up-question-item.has-actions .follow-up-question-actions{position:static;max-width:none;transform:none}.follow-up-editor-overlay .follow-up-questionnaire-modal .appointment-actions{position:sticky;bottom:calc(-1 * var(--space-4));z-index:4;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--border-subtle);background:var(--bg-elevated)}.follow-up-editor-overlay .follow-up-questionnaire-modal .appointment-actions button{width:100%}body:has(.follow-up-editor-overlay) .mobile-bottom-nav{display:none}html:has(.follow-up-editor-overlay),body:has(.follow-up-editor-overlay){overflow:hidden}}.follow-up-section-footer{margin-top:.75rem;display:flex;justify-content:flex-end}.resource-row-actions{display:flex;flex-wrap:wrap;gap:.45rem}.resource-icon-actions{flex-wrap:nowrap;align-items:center;gap:.4rem}.resource-icon-actions svg{width:1.2rem;height:1.2rem;display:block}.resource-filter-manage-option-text{display:inline-flex;align-items:center;gap:.5rem}.resource-filter-manage-option-text svg{width:1rem;height:1rem;display:block}.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{position:relative;align-self:flex-end}.patient-email-reply-toggle{display:inline-flex;align-items:center;gap:.55rem;font-size:.92rem;font-weight:600}.patient-email-reply-toggle input[type=checkbox]{width:auto;min-width:0}@media(max-width:720px){.resource-filter-control,.resource-filter-control .button-like,.resource-taxonomy-dropdown-trigger{width:100%}.material-modal-grid-two{grid-template-columns:minmax(0,1fr)}}.professionals-cards .materials-card{cursor:default}.professionals-card-lines{display:grid;gap:.5rem}.professionals-card-actions{align-items:center}.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}.resource-taxonomy-chip{cursor:default}.resource-taxonomy-chip:hover,.resource-taxonomy-chip:focus-visible,.resource-taxonomy-chip.active:hover,.resource-taxonomy-chip.active:focus-visible{background:var(--resource-taxonomy-chip-bg, #eef1ff);color:var(--resource-taxonomy-chip-fg, #2b3a6b);border-color:transparent}.chip.is-draggable{cursor:grab;-webkit-user-select:none;-moz-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:static;top:auto;display:flex;flex-direction:column;background:#fff;border-radius:18px;border:1px solid #eef1f6;box-shadow:0 12px 30px #0f172a14;max-height:none;height:auto;min-height:auto;overflow:visible}.patient-panel-inner{display:flex;flex-direction:column;flex:1 1 auto;gap:1rem;padding:1rem;box-sizing:border-box;min-height:auto;overflow:visible}.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:-moz-max-content;width:max-content;padding:.5rem .6rem;border-radius:10px;background:var(--tooltip-bg);color:var(--tooltip-fg);font-size:.75rem;line-height:1.2;box-shadow:var(--tooltip-shadow);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:-moz-max-content;width:max-content;border-radius:10px;background:var(--tooltip-bg);color:var(--tooltip-fg);font-size:.75rem;line-height:1.35;font-weight:400;text-align:left;box-shadow:var(--tooltip-shadow);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.is-portal{position:fixed;bottom:auto;transform:translate(-50%,-100%);width:min(460px,calc(100vw - 32px));max-width:calc(100vw - 32px);opacity:1;pointer-events:none;z-index:1300}.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%)}@media(max-width:720px){.availability-form-row,.availability-scope{grid-template-columns:1fr}}.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:.18rem;min-width:220px;align-self:stretch;justify-content:center}.patient-header-main h2{margin:0;line-height:1.08}.patient-header-meta{margin:0;color:#667085;font-size:.9rem;font-weight:500}.patient-header-main .eyebrow{margin-bottom:.14rem}.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-action-button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem}.patient-detail-action-button svg{width:1.05rem;height:1.05rem;flex:0 0 auto}.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}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-detail-page{gap:1rem;min-width:0}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-detail-header{padding:.9rem;display:grid;gap:.8rem;min-width:0;overflow:hidden}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-header-main{min-width:0;width:100%;align-self:stretch}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-header-main h2{margin:0;font-size:2rem;line-height:1.1;overflow-wrap:anywhere}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-summary{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-summary-item{min-height:72px;padding:.45rem .5rem}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-summary-value{font-size:.95rem}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-summary-label{font-size:.8rem;font-weight:600;line-height:1.2}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-detail-actions{width:100%;display:grid;grid-template-columns:1fr;gap:.45rem}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-detail-actions>button{width:100%}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-detail-grid{min-width:0;grid-template-columns:1fr}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-layout-left,.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-layout-right-stack,.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-layout-right,.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-layout-right-half-left,.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-layout-right-half-right,.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-layout-full{grid-column:1;grid-row:auto}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-layout-right-top{grid-template-columns:1fr}.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;display:inline-flex;align-items:center;gap:.45rem;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-communication-toolbar{display:flex;flex-wrap:wrap;gap:.65rem}.patient-communication-filter{display:inline-flex;flex-wrap:wrap;gap:.45rem}.patient-communication-filter-button{min-height:auto;padding:.45rem .8rem;border-radius:var(--radius-pill);border:1px solid var(--border-default);background:color-mix(in srgb,var(--bg-elevated) 72%,white 28%);color:var(--text-secondary);font-weight:700;display:inline-flex;align-items:center;gap:.45rem}.patient-communication-filter-button:hover,.patient-communication-filter-button:focus-visible{background:color-mix(in srgb,var(--state-info-bg) 42%,var(--bg-elevated) 58%);color:var(--text-primary);border-color:color-mix(in srgb,var(--state-info-fg) 24%,var(--border-default))}.patient-communication-filter-button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.patient-communication-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;min-height:1.2rem;padding:0 .3rem;border-radius:999px;background:color-mix(in srgb,var(--bg-elevated) 22%,transparent);font-size:.72rem;line-height:1}.patient-communication-list{display:grid;gap:.8rem}.patient-communication-actions{display:flex;justify-content:center}.patient-communication-toggle{padding:0;font-weight:700}.patient-communication-toggle:hover,.patient-communication-toggle:focus-visible{background:transparent;text-decoration:underline;text-underline-offset:2px}.patient-communication-item{display:grid;gap:.65rem;padding:.95rem 1rem;border-radius:14px;border:1px solid var(--border-default);background:color-mix(in srgb,var(--bg-elevated) 82%,white 18%)}.patient-communication-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.55rem}.patient-communication-meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem}.patient-communication-recipients{color:var(--text-secondary);font-size:.8rem;word-break:break-word}.patient-communication-manual-pill{display:inline-flex;align-items:center;justify-content:center;padding:.1rem .44rem;border-radius:999px;background:color-mix(in srgb,var(--bg-app) 62%,var(--bg-elevated) 38%);color:var(--text-secondary);border:1px solid color-mix(in srgb,var(--border-default) 84%,var(--text-secondary) 16%);font-size:.7rem;font-weight:700;line-height:1}.patient-communication-body{color:var(--text-primary);font-size:.92rem;line-height:1.5;overflow-wrap:anywhere}.patient-communication-body--text{margin:0;white-space:pre-wrap}.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-waitlist-notification-modal{width:min(600px,92vw)}.patient-waitlist-notification-modal>h3{margin-bottom:.45rem}.patient-waitlist-notification-form{display:grid;gap:1rem;margin-top:1rem}.patient-waitlist-notification-form fieldset{display:grid;gap:.7rem;min-width:0;margin:0;padding:0;border:0}.patient-waitlist-notification-form legend{margin-bottom:.55rem;color:var(--text-primary);font-size:.88rem;font-weight:800}.patient-waitlist-notification-types{display:grid;gap:.55rem}.patient-waitlist-notification-type{display:flex;align-items:center;gap:.7rem;min-height:44px;padding:.65rem .75rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font-weight:700;cursor:pointer}.patient-waitlist-notification-type:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--bg-elevated))}.patient-waitlist-notification-type input{width:1rem;height:1rem;accent-color:var(--primary)}.patient-waitlist-notification-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}.patient-waitlist-notification-actions .danger{margin-right:auto}.patient-sharing-modal{width:min(680px,94vw);padding:0;overflow-y:auto}.patient-sharing-modal-head{display:grid;gap:.3rem;padding:1.35rem 1.45rem 1rem;border-bottom:1px solid var(--border-subtle)}.patient-sharing-modal-head h3{margin:0;color:var(--text-primary);font-size:1.25rem;line-height:1.2}.patient-sharing-modal-head p{margin:0;color:var(--text-secondary);font-size:.86rem;line-height:1.45}.patient-sharing-modal-form{display:grid;gap:0}.patient-sharing-modal-section{display:grid;gap:.75rem;padding:1rem 1.45rem;border-bottom:1px solid var(--border-subtle)}.patient-sharing-modal-section h4{margin:0;color:var(--text-primary);font-size:.9rem;font-weight:800;line-height:1.25}.patient-sharing-mode-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;padding:.25rem;border:1px solid var(--border-default);border-radius:14px;background:var(--bg-surface)}.patient-sharing-mode-control button{min-height:36px;padding:.45rem .65rem;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:800;white-space:nowrap}.patient-sharing-mode-control button:hover,.patient-sharing-mode-control button:focus-visible{background:var(--patient-bg-soft);color:var(--text-primary)}.patient-sharing-mode-control button.active{border-color:var(--primary);background:var(--primary);color:var(--accent-ink)}.patient-sharing-member-list,.patient-sharing-scope-grid{display:grid;gap:.55rem}.patient-sharing-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-sharing-check-row{display:flex;align-items:center;gap:.65rem;min-width:0;margin:0;padding:.65rem .75rem;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-elevated);color:var(--text-primary);font-size:.86rem;font-weight:700;line-height:1.3}.patient-sharing-check-row input{width:16px;height:16px;flex:0 0 auto;margin:0}.patient-sharing-check-row span{min-width:0;overflow-wrap:anywhere}.patient-sharing-global-section{background:color-mix(in srgb,var(--bg-surface) 72%,var(--bg-elevated))}.patient-sharing-global-section p{margin:0;color:var(--text-secondary);font-size:.78rem;line-height:1.45}.patient-sharing-modal-actions{padding:1rem 1.45rem 1.25rem;background:var(--bg-elevated)}.patient-document-confirm-modal{width:min(480px,92vw)}.patient-portal-invitation-overlay{background:color-mix(in srgb,var(--text-primary) 48%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.patient-portal-invitation-modal{width:min(480px,92vw);padding:0;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.patient-portal-invitation-content{padding:var(--space-5)}.patient-portal-invitation-header{display:grid;grid-template-columns:44px minmax(0,1fr) 36px;align-items:center;gap:var(--space-3)}.patient-portal-invitation-header h3{margin:0;color:var(--text-primary);font-size:1.18rem;line-height:1.3}.patient-portal-invitation-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--state-info-bg);color:var(--primary)}.patient-portal-invitation-icon svg{width:1.25rem;height:1.25rem}.close.patient-portal-invitation-close{position:static;width:36px;height:36px;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary)}.close.patient-portal-invitation-close:hover,.close.patient-portal-invitation-close:focus-visible{background:var(--state-info-bg);color:var(--primary)}.patient-portal-invitation-description{margin:var(--space-4) 0 0;color:var(--text-secondary);line-height:1.55}.patient-portal-invitation-recipient{min-width:0;display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface) 74%,var(--bg-elevated));color:var(--text-primary)}.patient-portal-invitation-recipient svg{width:1.15rem;height:1.15rem;flex:0 0 auto;color:var(--primary)}.patient-portal-invitation-recipient strong{min-width:0;overflow-wrap:anywhere}.patient-portal-invitation-warning{display:flex;align-items:flex-start;gap:var(--space-2);margin:var(--space-3) 0 0;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--state-warning-fg) 22%,transparent);border-radius:var(--radius-md);background:var(--state-warning-bg);color:var(--state-warning-fg);font-size:.86rem;line-height:1.45}.patient-portal-invitation-warning svg{width:1rem;height:1rem;flex:0 0 auto;margin-top:.12rem}.patient-portal-invitation-actions{margin:0;padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-default);background:var(--bg-surface)}button.patient-portal-invitation-submit{min-height:42px;padding-inline:var(--space-4);border:1px solid var(--btn-primary-bg);border-radius:var(--radius-md);background:var(--btn-primary-bg);color:var(--btn-primary-fg)}button.patient-portal-invitation-submit:hover,button.patient-portal-invitation-submit:focus-visible{border-color:var(--btn-primary-bg-hover);background:var(--btn-primary-bg-hover);color:var(--btn-primary-fg)}button.ghost.patient-portal-invitation-cancel{min-height:42px;padding-inline:var(--space-4);border-radius:var(--radius-md);background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);border-color:var(--btn-secondary-border)}button.ghost.patient-portal-invitation-cancel:hover,button.ghost.patient-portal-invitation-cancel:focus-visible{background:var(--state-info-bg);color:var(--text-primary)}.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{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border-default);border-radius:16px;background:var(--bg-elevated)}.patient-documents-table .materials-table-header,.patient-documents-table .materials-row{min-width:680px}.patient-documents-table .materials-table-header{border-radius:16px 16px 0 0}.patient-documents-table .materials-row{border-top:1px solid var(--border-subtle);background:var(--bg-elevated);padding:.1rem 1rem;gap:.55rem}.patient-documents-table .materials-table-header+.materials-table-body .materials-row:first-child{border-top:none}.patient-document-title-cell,.patient-document-visibility-cell{min-width:0;display:flex;align-items:center}.patient-document-title-cell{flex-direction:column;align-items:flex-start;gap:.18rem}.patient-documents-actions-head{text-align:center}.patient-document-link{display:inline;min-width:0;width:auto;max-width:none;padding:0;border:none;background:transparent;color:var(--accent);font:inherit;font-weight:600;text-align:left;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1.5px;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;white-space:normal;overflow:visible;text-overflow:clip}.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:18px;max-width:100%;padding:.05rem .42rem;border-radius:999px;font-size:.64rem;font-weight:700;line-height:1.05}.patient-document-visibility-meta{display:inline-flex;align-items:center;gap:.3rem;flex-wrap:wrap}.patient-document-origin,.patient-document-date{color:var(--text-secondary);font-size:.72rem;line-height:1.2}.patient-document-visibility.app-tooltip{cursor:help}.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:center;gap:.08rem;flex-wrap:nowrap;flex:0 0 auto;width:100%}.patient-documents-table .materials-table-body .materials-row:last-child .patient-document-row-actions .app-tooltip:after,.patient-documents-cards .materials-card:last-child .patient-document-row-actions .app-tooltip:after{top:auto;bottom:calc(100% + 8px)}.patient-documents-table .materials-table-body .materials-row:last-child .patient-document-row-actions .app-tooltip:before,.patient-documents-cards .materials-card:last-child .patient-document-row-actions .app-tooltip:before{top:auto;bottom:calc(100% + 2px);border-bottom-color:transparent;border-top-color:var(--tooltip-bg)}.patient-document-card-meta{display:grid;gap:.2rem}.patient-document-card-actions{margin-top:0}.patient-documents-cards{gap:.25rem}.patient-documents-cards .materials-card{padding:.35rem .55rem;gap:.18rem}.patient-document-delete-btn{color:var(--state-danger-fg)}.patient-document-download-btn,.patient-document-delete-btn,.patient-document-delete-btn.danger,.patient-document-delete-btn.danger.ghost{width:24px;min-width:24px;max-width:24px;height:24px;min-height:24px;max-height:24px;padding:0;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:none;border-radius:7px;background:color-mix(in srgb,var(--accent-soft, var(--state-info-bg)) 58%,var(--bg-elevated) 42%);box-shadow:none;line-height:0}.patient-document-download-btn:hover,.patient-document-download-btn:focus-visible,.patient-document-delete-btn:hover,.patient-document-delete-btn:focus-visible,.patient-document-delete-btn.danger:hover,.patient-document-delete-btn.danger:focus-visible,.patient-document-delete-btn.danger.ghost:hover,.patient-document-delete-btn.danger.ghost:focus-visible{background:color-mix(in srgb,var(--accent-soft, var(--state-info-bg)) 78%,var(--bg-elevated) 22%);border:none;box-shadow:none}.patient-document-download-btn svg,.patient-document-delete-btn svg{width:.76rem;height:.76rem;display:block}.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}@media(max-width:720px){.patient-portal-invitation-content{padding:var(--space-4)}.patient-portal-invitation-actions{display:grid;grid-template-columns:1fr;padding:var(--space-3) var(--space-4) var(--space-4)}.patient-portal-invitation-actions>button{width:100%}.patient-portal-invitation-submit{grid-row:1}}.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:.7rem;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);display:inline-flex;align-items:center;justify-content:center}.patient-antecedent-tag-menu{z-index:20;display:flex;flex-wrap:wrap;align-items:flex-start;gap:.45rem;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{display:inline-flex;align-items:center;justify-content:flex-start;min-width:auto;min-height:auto;background:transparent;border:none;padding:0}.patient-antecedent-tag-menu-option:hover,.patient-antecedent-tag-menu-option:focus-visible{background:transparent}.patient-antecedent-tag-menu-option:hover .patient-antecedent-tag-select-badge,.patient-antecedent-tag-menu-option:focus-visible .patient-antecedent-tag-select-badge{filter:brightness(.96);transform:translateY(-1px)}.patient-antecedent-tag-select-badge{min-height:26px;max-width:100%;padding-inline:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:transform .14s ease,filter .14s ease}.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;overflow-y:hidden;scrollbar-width:none}.patient-antecedent-tags-modal.is-scrollable{overflow-y:auto;scrollbar-width:auto}.patient-antecedent-tags-modal::-webkit-scrollbar{width:0;height:0}.patient-antecedent-tags-modal.is-scrollable::-webkit-scrollbar{width:10px;height:10px}.patient-antecedent-tags-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.patient-antecedent-tags-modal-header.has-create-action{display:block}.patient-antecedent-tags-modal-header.has-create-action .patient-antecedent-tags-modal-heading{padding-right:0}.patient-antecedent-tags-modal-heading{display:grid;gap:.25rem;min-width:0;flex:1 1 auto;padding-bottom:.35rem;padding-right:4rem}.patient-antecedent-tags-modal-header .appointment-modal-title{margin:0;padding-right:3rem}.patient-antecedent-tags-modal-header.has-create-action .appointment-modal-title{padding-right:0;white-space:nowrap}.patient-antecedent-tags-modal-meta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;-moz-column-gap:.9rem;column-gap:.9rem}.patient-antecedent-tags-hint{margin:0;font-size:.84rem;line-height:1.35}.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}.resource-taxonomy-manager-add-btn{align-self:start;flex:0 0 auto;justify-self:end;margin-top:0;min-height:40px;white-space:nowrap}.patient-antecedent-tags-modal-header .patient-antecedent-add-tag-btn{justify-self:end;margin-top:0;flex-shrink:0}@media(max-width:760px){.patient-antecedent-tags-modal-meta-row{-moz-column-gap:.65rem;column-gap:.65rem}}.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:.45rem}button.ghost.patient-antecedent-icon-btn,button.ghost.patient-antecedent-delete-btn,button.ghost.danger.patient-antecedent-delete-btn{min-width:36px;min-height:36px;width:auto;padding:.1rem;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;border:none;background:color-mix(in srgb,var(--accent-soft, var(--state-info-bg)) 58%,var(--bg-elevated) 42%);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:color-mix(in srgb,var(--accent-soft, var(--state-info-bg)) 78%,var(--bg-elevated) 22%);border:none;box-shadow:none}button.ghost.patient-antecedent-icon-btn svg,button.ghost.patient-antecedent-delete-btn svg,button.ghost.danger.patient-antecedent-delete-btn svg{width:1.1rem;height:1.1rem;display:block}.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{border-left:4px solid color-mix(in srgb,#2563eb 78%,var(--state-info-fg));border-color:color-mix(in srgb,#2563eb 32%,var(--border-default));background:linear-gradient(180deg,color-mix(in srgb,var(--state-info-bg) 42%,var(--bg-elevated)),var(--bg-elevated) 58%);box-shadow:var(--shadow-2)}#patient-today-session .section-header{align-items:flex-start}.patient-today-session-title{display:inline-flex;align-items:center;gap:.55rem;flex-wrap:wrap;min-width:0}.patient-today-session-badge{display:inline-flex;align-items:center;justify-content:center;min-height:1.55rem;padding:.12rem .58rem;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--state-info-fg) 24%,transparent);background:color-mix(in srgb,var(--state-info-bg) 78%,var(--bg-elevated));color:var(--state-info-fg);font-size:.76rem;font-weight:800;line-height:1.2;white-space:nowrap}.patient-today-session-date{padding-top:.18rem}.patient-today-session-table{min-width:0;table-layout:fixed}.patient-today-session-time-col{width:11%}.patient-today-session-type-col{width:16%}.patient-today-session-support-col{width:21%}.patient-today-session-previous-col{width:25%}.patient-today-session-report-col{width:27%}.patient-today-session-table .patient-today-session-time-cell{white-space:normal;word-break:keep-all;min-width:0}.patient-today-session-table .journal-support-cell,.patient-today-session-table .journal-support-summary-item{min-width:0}.patient-today-session-table .journal-support-summary-name{min-width:0;overflow-wrap:anywhere}.patient-today-session-table .journal-day-report-cell,.patient-today-session-table .journal-day-report-cell textarea{min-width:0}.patient-today-session-table .journal-day-report-editor{min-width:0;width:100%;box-sizing:border-box}.patient-today-session-table .journal-day-report-editor .ql-container{min-width:0;max-width:100%;background:#fff;border:1px solid #b8cbe3;border-radius:10px;box-sizing:border-box}.patient-today-session-table .journal-day-report-editor .ql-editor{min-height:4.5rem;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.patient-today-session-table .journal-note-preview-rich{max-width:100%;overflow-wrap:anywhere;word-break:break-word}.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:-moz-fit-content;width:fit-content}.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-rdv-block .rdv-table tbody tr.patient-appointment-row.clickable{cursor:pointer}.patient-rdv-block .rdv-table tbody tr.patient-appointment-row.clickable:hover td,.patient-rdv-block .rdv-table tbody tr.patient-appointment-row.clickable:focus-visible td{background:color-mix(in srgb,var(--patient-bg-soft) 70%,transparent)}.patient-cancelled-meta{color:var(--text-secondary)}.patient-cancelled-status-cell{width:1%;white-space:nowrap}.patient-cancelled-status-pill{width:-moz-fit-content;width:fit-content;max-width:100%;padding:.24rem .58rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-muted);color:var(--text-secondary);font-size:.72rem;font-weight:800;line-height:1.2;white-space:nowrap}.patient-cancelled-status-pill--danger{border-color:color-mix(in srgb,var(--state-danger-fg) 28%,transparent);background:var(--state-danger-bg);color:var(--state-danger-fg)}.patient-cancelled-status-pill--warning{border-color:color-mix(in srgb,var(--state-warning-fg) 28%,transparent);background:var(--state-warning-bg);color:var(--state-warning-fg)}.patient-upcoming-action-cell{text-align:right;white-space:nowrap}.patient-upcoming-action-cell .patient-appointment-actions{justify-content:flex-end;flex-wrap:nowrap}.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;align-items:center;flex-wrap:wrap}.patient-questionnaire-actions-menu{position:relative}.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-anamnesis-editor-list{display:grid;gap:.85rem}.patient-anamnesis-editor-item{display:grid;gap:.45rem;padding:.85rem;border-radius:12px;border:1px solid #e6ecf7;background:#f8fbff}.patient-anamnesis-delete-btn{width:auto;min-width:0;padding:.5rem .8rem}.patient-anamnesis-editor-item textarea{min-height:92px;resize:vertical}.patient-anamnesis-editor-question{display:flex;justify-content:space-between;gap:.8rem;align-items:center;flex-wrap:wrap}.patient-appointment-type,.patient-appointment-note,.patient-appointment-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-appointment-type{overflow:visible;text-overflow:clip;white-space:normal}.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;gap:.35rem;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:-moz-max-content;width:max-content;padding:.5rem .6rem;border-radius:10px;background:var(--tooltip-bg);color:var(--tooltip-fg);font-size:.75rem;line-height:1.2;font-weight:400;box-shadow:var(--tooltip-shadow);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-icon svg{width:.9rem;height:.9rem}.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}.access-read-only-banner{display:grid;gap:.35rem;padding:.9rem 1rem;border-radius:18px;background:var(--state-warning-bg);color:var(--state-warning-fg);border:1px solid color-mix(in srgb,var(--state-warning-fg) 30%,transparent);box-shadow:0 12px 24px color-mix(in srgb,var(--state-warning-fg) 10%,transparent)}.access-read-only-banner-title{display:flex;align-items:center;gap:.45rem;font-size:.98rem;line-height:1.35}.access-read-only-banner-copy{margin:0;font-size:.92rem;line-height:1.5}.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{width:min(820px,calc(100vw - 32px));height:auto;max-height:calc(100dvh - var(--topbar-height) - 32px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:0;border-radius:var(--radius-lg);background:var(--bg-elevated);overflow:hidden}.app.practitioner .overlay.therapeutic-project-overlay{align-items:safe center;justify-items:center;padding:calc(var(--topbar-height) + 14px) var(--space-4) var(--space-4)}.therapeutic-project-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--border-default)}.therapeutic-project-modal-header h3,.therapeutic-project-modal-header .close,.therapeutic-project-editor-section h4,.therapeutic-project-supports-header h4{margin:0}.therapeutic-project-modal-header .close{position:static;width:44px;height:44px;flex:0 0 auto}.therapeutic-project-modal-body{min-height:0;display:grid;align-content:start;padding:0 var(--space-5) var(--space-5);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.therapeutic-project-modal .therapeutic-project-editor-section{margin:0;padding:var(--space-5) 0;border-radius:0;background:transparent;box-shadow:none}.therapeutic-project-modal-body>.therapeutic-project-editor-section:first-child{padding-top:0}.therapeutic-project-editor-section h4,.therapeutic-project-supports-header h4{color:var(--text-primary);font-size:.86rem;font-weight:800}.therapeutic-project-editor-section>h4{margin-bottom:var(--space-3)}.therapeutic-project-modal .patient-proto-page .patient-objectives-section.is-project-editor{margin:0;padding:var(--space-5) 0;border-top:1px solid var(--border-default);border-radius:0;background:transparent;box-shadow:none}.therapeutic-project-modal .therapeutic-project-supports-section{border-top:1px solid var(--border-default)}.therapeutic-project-modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:0;padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-default);background:var(--bg-elevated)}.therapeutic-project-modal-actions button{min-height:44px}.patient-general-info-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5)}.patient-general-info-modal-header h3{margin:0;min-width:0}.patient-general-info-modal-header .close{position:static;flex:0 0 auto;width:44px;height:44px;margin:calc(var(--space-2) * -1) calc(var(--space-2) * -1) 0 0}.patient-general-info-modal .patient-general-info-form{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;overflow:hidden;gap:0}.patient-general-info-modal-body{min-height:0;padding:0 var(--space-5) var(--space-5);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.patient-general-info-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:0;padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-default);background:var(--bg-elevated)}.patient-general-info-actions button{min-height:44px}.therapeutic-project-supports-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.therapeutic-project-supports-header .appointment-label{margin:0}.therapeutic-project-create-support{flex:0 0 auto;min-height:26px;padding:3px 8px;font-size:.74rem}.therapeutic-project-create-support svg{width:.9rem;height:.9rem}.therapeutic-project-editor .ql-container,.therapeutic-project-editor .ql-editor{min-height:220px}@media(max-width:640px){.app.practitioner .therapeutic-project-overlay{align-items:safe center;justify-items:center;padding-top:calc(var(--topbar-height-mobile) + 12px);padding-inline:var(--space-3);padding-bottom:calc(var(--mobile-bottom-nav-height) + var(--space-3) + env(safe-area-inset-bottom))}.app.practitioner .therapeutic-project-overlay>.therapeutic-project-modal{width:100%;height:auto;max-height:calc(100dvh - var(--topbar-height-mobile) - var(--mobile-bottom-nav-height) - env(safe-area-inset-bottom));border-radius:var(--radius-lg)}.therapeutic-project-modal-header{padding:var(--space-4)}.therapeutic-project-modal-body{padding:0 var(--space-4) var(--space-4);scrollbar-gutter:auto}.therapeutic-project-modal .therapeutic-project-editor-section,.therapeutic-project-modal .patient-proto-page .patient-objectives-section.is-project-editor{padding-block:var(--space-4)}.therapeutic-project-editor .ql-container,.therapeutic-project-editor .ql-editor{min-height:160px}.therapeutic-project-modal-actions{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom))}}.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-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.patient-support-remove-btn{width:32px;height:32px;margin-right:.65rem;padding:7px;border:0;background:transparent;color:var(--state-danger-fg)}.patient-support-remove-btn svg{width:100%;height:100%}.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-toggle-icon svg{width:1rem;height:1rem}.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{grid-template-columns:1fr}.app.practitioner .overlay.patient-general-info-overlay{align-items:stretch;padding:var(--topbar-height-mobile) 0 0}.app.practitioner .overlay.patient-general-info-overlay>.patient-general-info-modal{width:100%;max-width:none;height:calc(100dvh - var(--topbar-height-mobile));max-height:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.patient-general-info-modal-header{padding:var(--space-4)}.patient-general-info-modal-body{padding:0 var(--space-4) var(--space-4);scrollbar-gutter:auto}.patient-general-info-edit-grid{grid-template-columns:1fr}.patient-general-info-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom))}body:has(.patient-general-info-overlay) .mobile-bottom-nav{display:none}html:has(.patient-general-info-overlay),body:has(.patient-general-info-overlay){overflow:hidden}}.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:0;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){.new-patient-modal-fields,.professional-modal-fields{grid-template-columns:1fr}.new-patient-modal-actions,.professional-modal-actions{flex-direction:row}.new-patient-modal-actions button,.professional-modal-actions button{flex:1 1 0;width:auto}.modal-actions.waitlist-accept-actions{display:grid;grid-template-columns:1fr}.modal-actions.waitlist-accept-actions button{width:100%;white-space:normal}.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}.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:1360px){.tab{padding-inline:.58rem}.top-tabs{gap:.28rem}.top-tabs-section{gap:.12rem}.user-menu-trigger .action-label{display:none}}@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,.topbar-actions .settings-menu-trigger,.local-actions{display:none}.mobile-subpage-nav-slot{position:sticky;top:var(--topbar-height-mobile);z-index:29;display:block}.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 .waitlist-status-filter-dropdown,.mobile-inline-actions .waitlist-status-filter-trigger{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-sms-quota-toolbar{flex-direction:column;align-items:stretch}.settings-sms-kpi-row{width:100%}.sms-overage-card-head,.sms-overage-actions{flex-direction:column;align-items:stretch}.settings-inline-action-button{width:100%}.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){.resources-mobile-actions{display:flex}.resources-mobile-actions>button{flex:1 1 100%}.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){.patient-detail-onboarding-float{position:static;width:100%;margin-bottom:12px;pointer-events:auto}.patient-detail-onboarding-float .practitioner-onboarding-banner{box-shadow:var(--shadow-1)}.materials-assignment-context,.materials-assignment-select-all{align-items:stretch;flex-direction:column}.materials-assignment-context-actions,.materials-assignment-context-actions>button,.materials-assignment-selection-actions,.materials-assignment-selection-actions>button{width:100%}.materials-assignment-recap{grid-template-columns:1fr}.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-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-waitlist-notification-actions,.patient-sharing-modal-actions,.patient-antecedent-form-actions,.patient-antecedent-tag-manager-form-actions{display:grid;grid-template-columns:1fr}.patient-waitlist-notification-actions .danger{margin-right:0}.patient-sharing-mode-control,.patient-sharing-scope-grid,.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;padding-bottom:calc(var(--mobile-bottom-nav-height) + var(--mobile-actions-height) + .75rem + env(safe-area-inset-bottom))}.app.practitioner .overlay>.modal,.app.practitioner .appointment-nested-overlay>.modal{max-height:calc(100dvh - var(--topbar-height-mobile) - var(--mobile-bottom-nav-height) - var(--mobile-actions-height) - 2rem - env(safe-area-inset-bottom))}.app.practitioner .appointment-nested-overlay{padding-top:calc(var(--topbar-height-mobile) + 12px);padding-bottom:calc(var(--mobile-bottom-nav-height) + var(--mobile-actions-height) + .75rem + env(safe-area-inset-bottom))}.content-shell.content-shell-messages{height:calc(100dvh - var(--topbar-height-mobile));min-height:calc(100dvh - var(--topbar-height-mobile));padding:0 16px calc(var(--mobile-bottom-nav-height) + 1rem + env(safe-area-inset-bottom))}.messages-page-layout{height:100%}.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,.waitlist-table-header,.waitlist-item{min-width:980px}.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:100%;min-height:100%}.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-header{display:none}.waitlist-item{min-width:0;grid-template-columns:1fr;gap:.6rem;align-items:flex-start}.waitlist-item .cell.status,.waitlist-item .cell.actions{align-items:flex-start;text-align:left}.waitlist-actions{justify-content:flex-start}.waitlist-status,.waitlist-status-main{justify-items:start;justify-content:flex-start}.waitlist-status{width:-moz-fit-content;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}.journal-all-tasks-button--desktop{display:none}.journal-all-tasks-button--mobile{display:inline-flex;width:100%}.tasks-item{grid-template-columns:1fr}.tasks-item-actions{justify-content:flex-start;flex-wrap:wrap}}@media(max-width:640px){.waitlist-table{display:block;border:0;background:transparent;overflow:visible}.waitlist-table-body{display:grid;gap:.6rem}.waitlist-item{border-radius:12px;border:1px solid var(--border-default)}.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}}.planning-tools-free-slots{display:grid;gap:var(--space-1)}.planning-tools-free-slots-panel{max-height:min(320px,52vh);overflow-y:auto;padding:var(--space-1);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-surface);display:grid;gap:var(--space-1)}.planning-tools-free-slots-panel>button{width:100%;min-height:38px;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font:inherit;font-size:.8rem;font-weight:700;text-align:left}.planning-tools-free-slots-panel>button small{flex:0 0 auto;color:var(--text-secondary);font-size:.72rem}.planning-tools-free-slots-panel>button:hover,.planning-tools-free-slots-panel>button:focus-visible,.planning-tools-free-slots-panel>button.active{background:var(--subnav-hover-bg);color:var(--subnav-hover-fg)}.planning-tools-free-slots-panel>button:hover small,.planning-tools-free-slots-panel>button:focus-visible small,.planning-tools-free-slots-panel>button.active small{color:var(--subnav-hover-fg)}.planning-tools-free-slots-panel>button.planning-tools-free-slots-clear{color:var(--state-danger-fg)}.planning-tools-free-slots-empty{padding:var(--space-2) var(--space-3);color:var(--text-secondary);font-size:.78rem}.planning-free-slots-summary{min-height:44px;margin:var(--space-2) 14px;padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb,var(--state-info-fg) 24%,var(--border-default));border-radius:var(--radius-md);background:color-mix(in srgb,var(--state-info-bg) 72%,var(--bg-elevated));color:var(--state-info-fg);display:flex;align-items:center;gap:var(--space-3);box-shadow:var(--shadow-1)}.planning-free-slots-summary.is-empty{border-style:dashed;background:color-mix(in srgb,var(--state-info-bg) 48%,var(--bg-elevated))}.planning-free-slots-summary-copy{min-width:0;display:flex;align-items:baseline;gap:var(--space-2)}.planning-free-slots-summary-copy strong{color:var(--text-primary);font-size:.82rem}.planning-free-slots-summary-copy span,.planning-free-slots-summary-state{font-size:.76rem;font-weight:650}.planning-free-slots-summary-state{margin-left:auto;color:var(--text-secondary)}.planning-free-slots-next{flex:0 0 auto;min-height:32px;padding:var(--space-1) var(--space-3);border:1px solid color-mix(in srgb,var(--state-info-fg) 32%,var(--border-default));border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--state-info-fg);font:inherit;font-size:.74rem;font-weight:750}.planning-free-slots-next:hover,.planning-free-slots-next:focus-visible{border-color:var(--action-primary-bg);background:var(--action-primary-bg);color:var(--text-on-primary)}.planning-free-slots-summary-close{flex:0 0 auto;width:30px;min-width:30px;height:30px;min-height:30px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--state-info-fg);font-size:1.2rem;line-height:1}.planning-free-slots-summary-close:hover,.planning-free-slots-summary-close:focus-visible{background:var(--action-primary-bg);color:var(--text-on-primary)}.planning-free-slot-window{position:absolute;left:var(--space-2);right:var(--space-2);z-index:1;border:1px dashed color-mix(in srgb,var(--state-info-fg) 42%,var(--border-default));border-radius:var(--radius-sm);background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--state-info-bg) 72%,transparent) 0,color-mix(in srgb,var(--state-info-bg) 72%,transparent) 7px,transparent 7px,transparent 14px),color-mix(in srgb,var(--state-info-bg) 36%,transparent);pointer-events:none}.planning-free-slot-start{position:absolute;left:var(--space-3);right:var(--space-3);z-index:5;min-height:calc(var(--slot-height) - 2px);max-height:calc(var(--slot-height) - 2px);padding:0 var(--space-2);border:1px solid color-mix(in srgb,var(--state-info-fg) 52%,var(--border-default));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--state-info-bg) 86%,var(--bg-elevated));color:var(--state-info-fg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-1);overflow:hidden;font-family:var(--font-family-ui);font-size:.64rem;font-weight:800;line-height:1;text-align:left;white-space:nowrap;transition:background-color .16s ease-out,color .16s ease-out}.planning-free-slot-start:hover,.planning-free-slot-start:focus-visible{background:var(--action-primary-bg);color:var(--text-on-primary);border-color:var(--action-primary-bg)}.planning-free-slot-start:disabled{cursor:not-allowed;opacity:.62}.planning-free-slot-start-status{font-size:.58rem;text-transform:uppercase}@media(max-width:640px){.planning-free-slots-summary{margin-inline:var(--space-3);align-items:flex-start;flex-wrap:wrap}.planning-free-slots-summary-copy{flex:1 1 calc(100% - 42px);display:grid;gap:2px}.planning-free-slots-summary-state{order:3;width:100%;margin-left:0}.planning-free-slots-next{order:4;width:100%}.mobile-planning-free-slots{padding:var(--space-3);border:1px solid color-mix(in srgb,var(--state-info-fg) 24%,var(--border-default));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--state-info-bg) 58%,var(--bg-elevated));color:var(--state-info-fg);display:grid;gap:var(--space-2)}.mobile-planning-free-slots>strong{font-size:.8rem}.mobile-planning-free-slots-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.mobile-planning-free-slots-list button{min-height:38px;padding:0 var(--space-3);border:1px solid color-mix(in srgb,var(--state-info-fg) 30%,var(--border-default));border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--state-info-fg);font-size:.76rem;font-weight:800}.mobile-planning-free-slots-list button:hover,.mobile-planning-free-slots-list button:focus-visible{background:var(--action-primary-bg);color:var(--text-on-primary);border-color:var(--action-primary-bg)}}@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}.app.practitioner .finance-shell{margin-bottom:0;padding:0;border-radius:0;background:transparent;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-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 .top-tab-icon,.topbar .user-menu-trigger .ui-inline-icon,.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{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}.app-icon-button{width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;padding:0;flex:0 0 40px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border-default));border-radius:var(--radius-md, 12px);background:color-mix(in srgb,var(--state-info-bg) 60%,var(--bg-surface));color:color-mix(in srgb,var(--primary) 74%,var(--text-primary));line-height:1;box-shadow:none;transition:background .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease}.app-icon-button svg{width:1.15rem;height:1.15rem;display:block}.app-icon-button:hover,.app-icon-button:focus-visible{background:color-mix(in srgb,var(--state-info-bg) 78%,var(--bg-surface));color:var(--primary);border-color:color-mix(in srgb,var(--primary) 28%,var(--border-default));box-shadow:none}.app-icon-button:disabled,.app-icon-button:disabled:hover,.app-icon-button:disabled:focus-visible{opacity:.45;cursor:not-allowed;box-shadow:none}.practitioner-onboarding-screen{min-height:100vh;padding-top:0!important;background:radial-gradient(circle at top left,color-mix(in srgb,var(--primary) 12%,transparent),transparent 32%),linear-gradient(180deg,var(--bg-app),color-mix(in srgb,var(--bg-app) 82%,var(--bg-surface)))}.practitioner-onboarding-screen-main{min-height:100vh;padding:0 24px 40px;display:flex;align-items:flex-start;justify-content:center}.practitioner-onboarding-intro-card{width:min(920px,100%);padding:32px;border:1px solid var(--card-border);border-radius:var(--radius-lg, 20px);background:color-mix(in srgb,var(--card-bg) 94%,white);box-shadow:var(--card-shadow);display:grid;gap:28px}.practitioner-onboarding-intro-head{display:grid;gap:10px;margin-bottom:0}.practitioner-onboarding-intro-head .brand-wordmark{width:168px;max-width:100%}.practitioner-onboarding-kicker,.practitioner-onboarding-panel-kicker,.practitioner-onboarding-banner-kicker{margin:0;font-size:.8rem;font-weight:700;letter-spacing:0;text-transform:uppercase;color:var(--text-secondary)}.practitioner-onboarding-intro-head h1,.practitioner-onboarding-banner h2{margin:0;font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.08}.practitioner-onboarding-lead{margin:0;max-width:58ch;color:var(--text-secondary)}.practitioner-onboarding-intro-form{display:grid;gap:24px}.practitioner-onboarding-preview-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:24px;align-items:stretch}.practitioner-onboarding-preview-copy{display:grid;align-content:start;gap:20px;min-width:0;height:100%}.practitioner-onboarding-preview-copy-block{display:grid;gap:12px}.practitioner-onboarding-preview-copy-block h2,.practitioner-onboarding-preview-copy-block p{margin:0}.practitioner-onboarding-preview-copy-block p{color:var(--text-secondary)}.practitioner-onboarding-preview-points{margin:0;padding-left:1.25rem;list-style:disc;display:grid;gap:8px}.practitioner-onboarding-preview-points li{padding:0;border:0;border-radius:0;background:transparent;font-weight:400;color:var(--text-secondary)}.practitioner-onboarding-preview-actions{justify-content:flex-start;flex-wrap:wrap;gap:12px}.practitioner-onboarding-panel-preview{min-height:100%}.practitioner-onboarding-question{display:grid;gap:16px}.practitioner-onboarding-question-heading{display:flex;align-items:center;gap:12px}.practitioner-onboarding-question-icon{width:48px;height:48px;flex:0 0 48px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:color-mix(in srgb,var(--primary) 10%,var(--bg-surface));color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 16%,var(--border-default))}.practitioner-onboarding-question-icon svg{width:22px;height:22px}.practitioner-onboarding-question h2{margin:0;font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.2;letter-spacing:-.01em}.practitioner-onboarding-choice-list{display:grid;gap:12px}.practitioner-onboarding-choice{display:block;cursor:pointer}.practitioner-onboarding-choice input{position:absolute;opacity:0;pointer-events:none}.practitioner-onboarding-choice-body{display:grid;gap:6px;padding:16px 18px;border:1px solid var(--border-default);border-radius:var(--radius-md, 14px);background:color-mix(in srgb,var(--bg-surface) 88%,white);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.practitioner-onboarding-choice:hover .practitioner-onboarding-choice-body,.practitioner-onboarding-choice.is-selected .practitioner-onboarding-choice-body{border-color:color-mix(in srgb,var(--primary) 34%,var(--border-default));background:color-mix(in srgb,var(--primary) 10%,var(--bg-surface));box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 10%,transparent);transform:translateY(-1px)}.practitioner-onboarding-choice-body strong{font-size:1rem}.practitioner-onboarding-choice-body span:last-child{color:var(--text-secondary)}.practitioner-onboarding-intro-actions{display:flex;justify-content:flex-end}.practitioner-onboarding-panel{position:static;width:100%;height:100%;max-height:100%;padding:18px;border:1px solid var(--card-border);border-radius:var(--radius-lg, 18px);background:color-mix(in srgb,var(--card-bg) 94%,white);box-shadow:0 18px 42px color-mix(in srgb,black 14%,transparent);display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px;overflow:hidden}.practitioner-onboarding-panel-head,.practitioner-onboarding-step-main,.practitioner-onboarding-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.practitioner-onboarding-dismiss{min-height:36px;padding:0 14px;border-radius:12px;font-size:.95rem;font-weight:600}.practitioner-onboarding-step-copy span,.practitioner-onboarding-banner-copy p{margin:0;color:var(--text-secondary)}.practitioner-onboarding-banner-actions,.practitioner-onboarding-step-actions{display:flex;flex-wrap:wrap;gap:10px}.practitioner-onboarding-step-list{margin:0;padding:0 6px 0 0;list-style:none;display:grid;align-content:start;gap:10px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.practitioner-onboarding-step-item{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--border-default);border-radius:var(--radius-md, 14px);background:color-mix(in srgb,var(--bg-surface) 92%,white)}.practitioner-onboarding-step-item.is-current{border-color:color-mix(in srgb,var(--primary) 36%,var(--border-default));background:color-mix(in srgb,var(--primary) 10%,var(--bg-surface));box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 10%,transparent)}.practitioner-onboarding-step-item.is-complete{background:color-mix(in srgb,var(--state-success-bg) 44%,var(--bg-surface))}.practitioner-onboarding-step-item.is-skipped{opacity:.78}.practitioner-onboarding-step-copy{display:grid;gap:4px}.practitioner-onboarding-step-item.is-current .practitioner-onboarding-step-copy strong{color:var(--text-primary)}.practitioner-onboarding-step-pill{flex:0 0 auto;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700;background:color-mix(in srgb,var(--bg-muted, var(--bg-surface)) 76%,white);color:var(--text-secondary)}.practitioner-onboarding-step-pill.is-active{background:color-mix(in srgb,var(--state-info-bg) 72%,var(--bg-surface));color:var(--state-info-fg)}.practitioner-onboarding-step-pill.is-success{background:color-mix(in srgb,var(--state-success-bg) 76%,var(--bg-surface));color:var(--state-success-fg)}.practitioner-onboarding-step-pill.is-muted{background:color-mix(in srgb,var(--border-default) 46%,var(--bg-surface));color:var(--text-secondary)}.practitioner-onboarding-resume{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border-default));border-radius:999px;background:color-mix(in srgb,var(--card-bg) 94%,white);box-shadow:var(--shadow-1);font:inherit;font-weight:700;color:var(--text-primary)}.practitioner-onboarding-inline-resume{margin-bottom:18px}.practitioner-onboarding-completion-overlay{z-index:1300}.practitioner-onboarding-completion-modal{width:min(560px,92vw);display:grid;gap:1rem}.practitioner-onboarding-completion-copy{display:grid;gap:.75rem}.practitioner-onboarding-completion-logo{width:170px;max-width:100%}.practitioner-onboarding-completion-copy h3,.practitioner-onboarding-completion-copy p{margin:0}.practitioner-onboarding-completion-copy a{color:var(--primary);font-weight:700}.practitioner-onboarding-completion-actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:.75rem}.practitioner-onboarding-completion-actions>button{width:auto}.sms-credit-pack-grid{display:grid;gap:.9rem}.sms-credit-pack-card{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-elevated) 92%,white)}.sms-credit-pack-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.sms-credit-pack-head h4,.sms-credit-pack-head p,.sms-credit-pack-price strong,.sms-credit-pack-price span,.sms-credit-overage-note{margin:0}.sms-credit-pack-head h4{font-size:1rem}.sms-credit-pack-head p{color:var(--text-secondary);font-size:.95rem}.sms-credit-pack-badge{display:inline-flex;align-items:center;justify-content:center;padding:.32rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-size:.82rem;font-weight:700;white-space:nowrap}.sms-credit-pack-price{display:flex;align-items:baseline;gap:.6rem}.sms-credit-pack-price strong{font-size:1.2rem}.sms-credit-pack-price span,.sms-credit-overage-note{color:var(--text-secondary);font-size:.92rem}.practitioner-onboarding-transition-modal{width:min(640px,92vw)}.practitioner-onboarding-transition-copy{gap:.9rem}.practitioner-onboarding-transition-section{display:grid;gap:.7rem;padding:1rem 1.1rem;border:1px solid var(--border-default);border-radius:var(--radius-lg, 18px)}.practitioner-onboarding-transition-section.is-success{background:color-mix(in srgb,var(--state-success-bg) 62%,var(--bg-surface));border-color:color-mix(in srgb,var(--state-success-fg) 18%,var(--border-default))}.practitioner-onboarding-transition-section.is-next{background:color-mix(in srgb,var(--bg-surface) 94%,white)}.practitioner-onboarding-transition-checklist{margin:0;padding:0;list-style:none;display:grid;gap:.7rem}.practitioner-onboarding-transition-checklist-item{display:flex;align-items:center;gap:.7rem;font-size:1rem;font-weight:700;color:var(--text-primary)}.practitioner-onboarding-transition-checkmark{width:32px;height:32px;flex:0 0 32px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb,var(--state-success-fg) 16%,white);color:var(--state-success-fg)}.practitioner-onboarding-transition-checkmark svg{width:18px;height:18px}.practitioner-onboarding-transition-section.is-next p:last-child{color:var(--text-primary);line-height:1.5}.practitioner-onboarding-transition-actions{justify-content:flex-start}.catalog-settings-section.is-guided-section{border-color:color-mix(in srgb,var(--primary) 26%,var(--border-default));box-shadow:0 16px 36px color-mix(in srgb,var(--primary) 10%,transparent)}.catalog-guided-callout{position:relative;max-width:260px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--primary-hover) 82%,white 18%);border-radius:var(--radius-md, 14px);background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 88%,white 12%),var(--primary));color:#fff;box-shadow:0 14px 30px color-mix(in srgb,var(--primary) 30%,transparent);display:grid;gap:4px}.catalog-guided-callout:after{content:"";position:absolute;top:calc(50% - 8px);right:-8px;width:16px;height:16px;background:inherit;border-top:1px solid color-mix(in srgb,var(--primary-hover) 82%,white 18%);border-right:1px solid color-mix(in srgb,var(--primary-hover) 82%,white 18%);transform:rotate(45deg)}.catalog-guided-callout strong{font-size:.86rem}.catalog-guided-callout span{line-height:1.45}.catalog-toolbar-button.is-guided-button{border-color:color-mix(in srgb,var(--primary) 38%,var(--border-default));background:color-mix(in srgb,var(--primary) 12%,var(--bg-surface));color:var(--primary);box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 10%,transparent)}@media(max-width:900px){.practitioner-onboarding-screen-main{padding:0 14px 110px}.practitioner-onboarding-intro-card{padding:22px}.practitioner-onboarding-preview-layout,.content-shell-layout.has-side-panel{grid-template-columns:1fr}.content-shell-aside{position:static;top:auto;max-height:none;overflow:visible}.practitioner-onboarding-panel{position:static;order:-1;height:auto;max-height:none;overflow:visible}.practitioner-onboarding-panel-head{flex-direction:column}.catalog-guided-callout{max-width:none}.catalog-guided-callout:after{display:none}}@media(min-width:901px){.content-shell.content-shell-with-side-panel{height:calc(100dvh - var(--topbar-height) - var(--local-actions-height));box-sizing:border-box;overflow:hidden}.content-shell.content-shell-with-side-panel .content-shell-layout.has-side-panel{height:100%;min-height:0;align-items:stretch}.content-shell.content-shell-with-side-panel .content-shell-main,.content-shell.content-shell-with-side-panel .content-shell-aside{min-height:0}.content-shell.content-shell-with-side-panel .content-shell-main{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.content-shell.content-shell-with-side-panel .content-shell-aside{position:relative;align-self:stretch;overflow:hidden}}.patient-detail-page-redesign{display:grid;gap:var(--space-5, 24px);min-width:0}.patient-detail-page-redesign .patient-detail-header{position:sticky;top:calc(var(--topbar-height) + 8px);z-index:28;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-5, 24px);padding:18px 22px;border:1px solid var(--border-subtle);border-radius:calc(var(--radius-lg) + 6px);background:var(--bg-elevated);box-shadow:var(--shadow-1);overflow:visible}.patient-detail-avatar{width:56px;height:56px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border-default));border-radius:calc(var(--radius-lg) + 2px);background:color-mix(in srgb,var(--primary) 12%,var(--bg-elevated));color:var(--primary);font-size:1.05rem;font-weight:800;letter-spacing:0}.patient-detail-page-redesign .patient-header-main{min-width:0;display:grid;gap:4px}.patient-detail-page-redesign .patient-header-main h2{margin:0;font-size:1.72rem;line-height:1.08;overflow-wrap:anywhere}.patient-detail-page-redesign .patient-header-meta{color:var(--text-secondary)}.patient-detail-status-tags,.patient-detail-page-redesign .patient-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.patient-detail-tag{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:24px;padding:3px 9px;border:1px solid transparent;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;line-height:1.15;white-space:nowrap}.patient-detail-tag svg{width:.78rem;height:.78rem;flex:0 0 auto}.patient-detail-tag.success{border-color:color-mix(in srgb,var(--state-success-fg) 18%,transparent);background:var(--state-success-bg);color:var(--state-success-fg)}.patient-detail-tag.info{border-color:color-mix(in srgb,var(--state-info-fg) 18%,transparent);background:var(--state-info-bg);color:var(--state-info-fg)}.patient-detail-tag.warning{border-color:color-mix(in srgb,var(--state-warning-fg) 18%,transparent);background:var(--state-warning-bg);color:var(--state-warning-fg)}.patient-detail-page-redesign .patient-detail-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--space-2, 8px);width:auto}.patient-detail-page-redesign .patient-detail-actions>button{width:auto}.patient-detail-layout{display:grid;grid-template-columns:minmax(280px,300px) minmax(0,1fr);gap:18px;align-items:start;min-width:0}.patient-detail-sidebar{display:grid;gap:14px;position:sticky;top:calc(var(--topbar-height) + 104px);min-width:0}.patient-detail-main{display:grid;gap:14px;min-width:0}.patient-detail-card,.patient-detail-page-redesign .patient-workspace-block{display:grid;gap:14px;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-1);overflow:hidden}.patient-detail-card{padding-bottom:14px}.patient-detail-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);padding:14px 16px 12px;border-bottom:1px solid color-mix(in srgb,var(--border-subtle) 72%,transparent)}.patient-detail-card-head h3,.patient-detail-page-redesign .patient-workspace-block h3,.patient-detail-page-redesign .patient-workspace-block h4{margin:0;color:var(--text-primary)}.patient-detail-card-action{min-height:32px;padding:.32rem .7rem;font-size:.78rem}.patient-detail-info-list,.patient-sidebar-contact-list,.patient-sidebar-access-section,.patient-detail-toggle-list{display:grid;gap:10px;padding-inline:16px}.patient-detail-info-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start}.patient-detail-info-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-app) 62%,var(--bg-elevated));color:var(--text-secondary)}.patient-detail-info-icon svg{width:.85rem;height:.85rem}.patient-detail-info-label{display:block;color:var(--text-secondary);font-size:.7rem;font-weight:800;letter-spacing:0;line-height:1.2;text-transform:uppercase}.patient-detail-info-value{display:block;min-width:0;margin-top:2px;color:var(--text-primary);font-size:.9rem;font-weight:600;overflow-wrap:anywhere}.patient-detail-info-value.empty{color:var(--text-secondary);font-style:italic;font-weight:500}.patient-detail-note-box{display:grid;gap:6px;margin-inline:16px;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-app) 52%,var(--bg-elevated))}.patient-detail-note-box p{margin:0;color:var(--text-primary);font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}.patient-detail-toggle-list .patient-info-toggle-button{width:100%;justify-content:flex-start;text-align:left}.patient-sidebar-contact{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;width:100%;min-height:auto;padding:10px 0;border:none;border-bottom:1px solid color-mix(in srgb,var(--border-subtle) 72%,transparent);border-radius:0;background:transparent;color:var(--text-primary);text-align:left}.patient-sidebar-contact:last-child{border-bottom:none}.patient-sidebar-contact:hover,.patient-sidebar-contact:focus-visible{background:color-mix(in srgb,var(--bg-app) 54%,transparent)}.patient-sidebar-contact-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-md);background:color-mix(in srgb,var(--state-review-bg) 78%,var(--bg-elevated));color:var(--state-review-fg);font-size:.72rem;font-weight:800;letter-spacing:0}.patient-sidebar-contact-main{display:grid;gap:3px;min-width:0}.patient-sidebar-contact-main strong,.patient-sidebar-contact-main span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-sidebar-contact-main span{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:.78rem}.patient-sidebar-contact-main svg{width:.72rem;height:.72rem;flex:0 0 auto}.patient-sidebar-access-section+.patient-sidebar-access-section{padding-top:14px;border-top:1px solid color-mix(in srgb,var(--border-subtle) 72%,transparent)}.patient-sidebar-access-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2, 8px)}.patient-sidebar-slot-list{display:grid;gap:6px}.patient-sidebar-slot-pill{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);min-width:0;padding:8px 10px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-app) 62%,var(--bg-elevated));color:var(--text-secondary);font-size:.78rem;font-variant-numeric:tabular-nums}.patient-sidebar-slot-pill strong{color:var(--text-primary)}.patient-slot-mini-grid{display:grid;gap:7px;padding:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-app) 56%,var(--bg-elevated))}.patient-slot-mini-hours{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:.64rem;font-weight:800;font-variant-numeric:tabular-nums}.patient-slot-mini-days{display:grid;gap:5px}.patient-slot-mini-day{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center}.patient-slot-mini-label{color:var(--text-secondary);font-size:.66rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.patient-slot-mini-track{position:relative;height:14px;overflow:hidden;border-radius:5px;background:var(--bg-elevated)}.patient-slot-mini-open,.patient-slot-mini-allowed{position:absolute;top:0;bottom:0;min-width:2px}.patient-slot-mini-open{background:color-mix(in srgb,var(--state-info-fg) 14%,transparent)}.patient-slot-mini-allowed{top:1px;bottom:1px;border-radius:4px;background:color-mix(in srgb,var(--state-success-fg) 70%,var(--bg-elevated))}.patient-slot-mini-legend{display:flex;flex-wrap:wrap;gap:10px;color:var(--text-secondary);font-size:.68rem;font-weight:600}.patient-slot-mini-legend span{display:inline-flex;align-items:center;gap:4px}.patient-slot-mini-legend i{width:8px;height:8px;border-radius:2px}.patient-slot-mini-legend i.open{background:color-mix(in srgb,var(--state-info-fg) 14%,transparent)}.patient-slot-mini-legend i.allowed{background:color-mix(in srgb,var(--state-success-fg) 70%,var(--bg-elevated))}.patient-detail-search{position:relative;display:grid;gap:8px}.patient-detail-search-field{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:0 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-1);cursor:text}.patient-detail-search-field:focus-within{border-color:color-mix(in srgb,var(--primary) 38%,var(--border-default));box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 10%,transparent)}.patient-detail-search-icon{color:var(--text-secondary);line-height:0}.patient-detail-search-icon svg{width:1rem;height:1rem}.patient-detail-search-field input{width:100%;min-height:0;border:none;outline:none;background:transparent;color:var(--text-primary);font:inherit}.patient-detail-search-field input::-moz-placeholder{color:var(--text-secondary)}.patient-detail-search-field input::placeholder{color:var(--text-secondary)}.patient-detail-search-kbd,.patient-detail-search-clear{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:28px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-app) 58%,var(--bg-elevated));color:var(--text-secondary);font-size:.75rem;font-weight:800}.patient-detail-search-clear{padding:0;cursor:pointer}.patient-detail-search-results{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-1);overflow:hidden}.patient-detail-search-results-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);padding:12px 14px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.88rem}.patient-detail-search-results-list{display:grid}.patient-detail-search-result{display:grid;grid-template-columns:106px minmax(0,1fr) auto;gap:12px;align-items:start;width:100%;min-height:auto;padding:12px 14px;border:none;border-bottom:1px solid color-mix(in srgb,var(--border-subtle) 72%,transparent);border-radius:0;background:transparent;color:var(--text-primary);text-align:left}.patient-detail-search-result:last-child{border-bottom:none}.patient-detail-search-result:hover,.patient-detail-search-result:focus-visible{background:color-mix(in srgb,var(--bg-app) 56%,transparent)}.patient-detail-search-result-date{color:var(--text-secondary);font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums}.patient-detail-search-result-main{display:grid;gap:4px;min-width:0}.patient-detail-search-result-main span{color:var(--text-secondary);line-height:1.5;overflow-wrap:anywhere}.patient-detail-search-result mark{border-radius:4px;background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.patient-detail-search-result-kind{padding:2px 7px;border-radius:var(--radius-pill);background:var(--state-info-bg);color:var(--state-info-fg);font-size:.68rem;font-weight:800;text-transform:uppercase}.patient-detail-search-empty{padding:26px 16px;text-align:center}.patient-detail-page-redesign .patient-workspace-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:6px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-1)}.patient-detail-page-redesign .patient-workspace-tab{min-height:38px;padding:.48rem .82rem;border-radius:var(--radius-md);white-space:nowrap}.patient-workspace-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding-inline:.35rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg-app) 70%,var(--bg-elevated));color:inherit;font-size:.72rem;font-weight:800;line-height:1}.patient-detail-page-redesign .patient-workspace-tab.active .patient-workspace-tab-count{background:color-mix(in srgb,var(--accent-ink) 22%,transparent)}.patient-detail-page-redesign .patient-workspace-block{padding:0;background:var(--bg-elevated)}.patient-detail-page-redesign .patient-workspace-block>.section-header,.patient-detail-page-redesign .patient-workspace-block>.patient-general-card-head{padding:14px 18px;border-bottom:1px solid var(--border-subtle)}.patient-detail-page-redesign .patient-workspace-block>:not(.section-header):not(.patient-general-card-head){margin-inline:18px}.patient-detail-page-redesign .patient-workspace-block>:last-child{margin-bottom:16px}.patient-detail-page-redesign .notes-card,.patient-detail-page-redesign .card.subtle{border-color:var(--border-subtle);background:color-mix(in srgb,var(--bg-app) 34%,var(--bg-elevated))}.patient-appointment-stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.patient-appointment-stat{position:relative;display:grid;gap:2px;min-height:74px;padding:12px 14px 12px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-1);overflow:hidden}.patient-appointment-stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--text-secondary)}.patient-appointment-stat.success:before{background:var(--state-success-fg)}.patient-appointment-stat.warning:before{background:var(--state-warning-fg)}.patient-appointment-stat.info:before{background:var(--state-info-fg)}.patient-appointment-stat.danger:before{background:var(--state-danger-fg)}.patient-appointment-stat-value{font-size:1.5rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.patient-appointment-stat.success .patient-appointment-stat-value{color:var(--state-success-fg)}.patient-appointment-stat.warning .patient-appointment-stat-value{color:var(--state-warning-fg)}.patient-appointment-stat.info .patient-appointment-stat-value{color:var(--state-info-fg)}.patient-appointment-stat.danger .patient-appointment-stat-value{color:var(--state-danger-fg)}.patient-appointment-stat-label{color:var(--text-secondary);font-size:.8rem;font-weight:700}.patient-appointments-panel .journal-table-wrap{margin:0;border-color:var(--border-subtle);border-radius:0;border-left:none;border-right:none;background:var(--bg-elevated)}.patient-rdv-block .journal-table{margin:0}.patient-rdv-block .journal-table th{color:var(--text-secondary);font-size:.72rem;letter-spacing:0;text-transform:uppercase}.patient-rdv-block .journal-table td,.patient-rdv-block .journal-table th{padding:.75rem 1rem}.patient-rdv-today-row td{background:color-mix(in srgb,var(--primary) 4%,var(--bg-elevated))}.patient-appointment-time-cell{color:var(--text-secondary);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.patient-access-editor-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.35fr);gap:14px;padding-bottom:2px}.patient-access-editor-card{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-app) 30%,var(--bg-elevated))}.patient-access-editor-card .patient-general-card-head{padding:0;border:none}.patient-access-editor-card .availability-board{min-width:0}.patient-access-editor-card .availability-scroll{max-height:520px;overflow:auto}.patient-access-editor-card .slots-grid{margin-top:0}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-detail-page-redesign .patient-detail-layout{grid-template-columns:1fr}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-detail-page-redesign .patient-detail-sidebar{position:static}@media(max-width:1100px){.patient-detail-layout,.patient-access-editor-grid{grid-template-columns:1fr}.patient-detail-sidebar{position:static}}@media(max-width:900px){.patient-detail-page-redesign .patient-detail-header{top:calc(var(--topbar-height-mobile) + 8px);grid-template-columns:auto minmax(0,1fr);gap:var(--space-3, 12px);padding:14px;border-radius:var(--radius-lg)}.patient-detail-page-redesign .patient-detail-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.patient-detail-page-redesign .patient-detail-actions>button{width:100%}.patient-detail-avatar{width:48px;height:48px;border-radius:var(--radius-md)}.patient-detail-page-redesign .patient-header-main h2{font-size:1.45rem}.patient-detail-page-redesign .patient-workspace-tabs{flex-wrap:nowrap;overflow-x:auto}.patient-appointment-stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-detail-search-result{grid-template-columns:1fr}}@media(max-width:560px){.patient-detail-page-redesign .patient-detail-actions,.patient-appointment-stats-strip{grid-template-columns:1fr}.patient-detail-tag{white-space:normal}}.patient-proto-page{--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-pill: 999px;--patient-bg-soft: color-mix(in srgb, var(--bg-app) 62%, var(--bg-elevated));--patient-border-faint: color-mix(in srgb, var(--border-subtle) 72%, transparent);--patient-text-tertiary: color-mix(in srgb, var(--text-secondary) 72%, var(--bg-elevated));width:100%;max-width:var(--max-content-width);margin:0 auto;padding:18px 24px 64px;display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}.app.practitioner .content-shell.content-shell-patient-detail,.app.practitioner .content-shell.content-shell-patient-detail .content-shell-main,.app.practitioner .content-shell.content-shell-patient-detail .patients-shell{background:transparent;border:0;box-shadow:none}.app.practitioner .content-shell.content-shell-patient-detail{max-width:none;padding-top:0;padding-inline:0;padding-bottom:0;overflow:visible}.app.practitioner .content-shell.content-shell-patient-detail .patients-shell{padding:0;margin-bottom:0;border-radius:0}.app.practitioner .content-shell.content-shell-patient-detail .content-shell-main{overflow:visible}.app.practitioner .content-shell.content-shell-patient-detail .content-shell-layout{display:block}.app.practitioner .content-shell.content-shell-with-side-panel.content-shell-patient-detail{height:auto;overflow:visible}.app.practitioner .content-shell.content-shell-with-side-panel.content-shell-patient-detail .content-shell-layout.has-side-panel{height:auto;min-height:0;display:block}.app.practitioner .content-shell.content-shell-with-side-panel.content-shell-patient-detail .content-shell-main{overflow:visible}.app.practitioner .content-shell.content-shell-with-side-panel.content-shell-patient-detail .content-shell-aside{display:none}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-proto-page{grid-template-columns:300px minmax(0,1fr)}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-proto-page .sidebar{grid-column:1;grid-row:2}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-proto-page .main-col{grid-column:2;grid-row:2}.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-proto-page .sidebar{position:static}.patient-proto-page .patient-hero{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;margin-bottom:0;padding:18px 22px;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-1)}.patient-proto-page .patient-avatar{width:56px;height:56px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border-default));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 14%,var(--bg-elevated)),color-mix(in srgb,var(--primary) 6%,var(--bg-elevated)));color:var(--primary);font-size:1.05rem;font-weight:800;letter-spacing:0}.patient-proto-page .patient-id{display:grid;gap:4px;min-width:0}.patient-proto-page .patient-eyebrow,.patient-proto-page .eyebrow{margin:0;color:var(--patient-text-tertiary);font-size:.66rem;font-weight:800;letter-spacing:0;line-height:1.2;text-transform:uppercase}.patient-proto-page .patient-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin:0;color:var(--text-primary);font-size:1.5rem;font-weight:800;letter-spacing:0;line-height:1.1;overflow-wrap:anywhere}.patient-proto-page .patient-name small{color:var(--text-secondary);font-size:.82rem;font-weight:500;letter-spacing:0;white-space:nowrap}.patient-proto-page .patient-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.patient-proto-page .tag{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:3px 9px;border:1px solid transparent;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;letter-spacing:0;line-height:1.15;white-space:nowrap}.patient-proto-page .tag svg{width:.78rem;height:.78rem}.patient-proto-page .tag-ok{border-color:color-mix(in srgb,var(--state-success-fg) 18%,transparent);background:var(--state-success-bg);color:var(--state-success-fg)}.patient-proto-page .tag-info{border-color:color-mix(in srgb,var(--state-info-fg) 18%,transparent);background:var(--state-info-bg);color:var(--state-info-fg)}.patient-proto-page .tag-warning{border-color:color-mix(in srgb,var(--state-warning-fg) 18%,transparent);background:var(--state-warning-bg);color:var(--state-warning-fg)}.patient-proto-page .hero-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.patient-proto-page .patient-header-actions-menu{position:relative}.patient-proto-page .patient-header-actions-menu summary{min-height:32px;padding:8px 14px;border-color:var(--primary);border-radius:10px;background:var(--primary);color:var(--text-on-primary);font-size:.82rem;font-weight:700;gap:6px}.patient-proto-page .patient-header-actions-menu summary:hover,.patient-proto-page .patient-header-actions-menu summary:focus-visible{border-color:var(--primary-hover);background:var(--primary-hover);color:var(--text-on-primary)}.patient-proto-page .patient-header-actions-menu summary svg{width:.9rem;height:.9rem}.patient-proto-page .patient-header-actions-menu .row-menu-list{z-index:20;min-width:300px;max-height:min(70vh,540px);overflow-y:auto;border-color:var(--border-default);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.patient-proto-page .patient-header-actions-group{display:grid;gap:2px;padding:var(--space-1) 0}.patient-proto-page .patient-header-actions-group+.patient-header-actions-group{margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--border-soft)}.patient-proto-page .patient-header-actions-group-label{padding:2px var(--space-2) var(--space-1);color:var(--text-tertiary);font-size:.68rem;font-weight:800;letter-spacing:.03em;line-height:1.2;text-transform:uppercase}.patient-proto-page .patient-header-actions-menu .row-menu-list button{display:flex;align-items:center;gap:var(--space-2);color:var(--text-primary)}.patient-proto-page .patient-header-actions-menu .row-menu-list button:hover,.patient-proto-page .patient-header-actions-menu .row-menu-list button:focus-visible{background:var(--patient-bg-soft);color:var(--primary)}.patient-proto-page .patient-header-action-icon{display:inline-grid;flex:0 0 auto;width:1.75rem;height:1.75rem;place-items:center;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--primary) 9%,var(--bg-elevated));color:var(--primary)}.patient-proto-page .patient-header-action-icon svg{width:1rem;height:1rem}.patient-proto-page .btn,.patient-proto-page .btn-icon,.patient-proto-page .ghost,.patient-proto-page .primary,.patient-proto-page .danger,.patient-proto-page .painful{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;font-size:.82rem;font-weight:700;letter-spacing:0;line-height:1.2;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.patient-proto-page .btn,.patient-proto-page .ghost{padding:8px 14px;border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary)}.patient-proto-page .btn:hover,.patient-proto-page .ghost:hover{border-color:color-mix(in srgb,var(--primary) 28%,var(--border-default));background:var(--patient-bg-soft);color:var(--primary)}.patient-proto-page .btn-primary,.patient-proto-page .primary{border-color:var(--primary);background:var(--primary);color:var(--accent-ink)}.patient-proto-page .btn-primary:hover,.patient-proto-page .primary:hover{border-color:var(--primary-hover);background:var(--primary-hover);color:var(--accent-ink)}.patient-proto-page .btn-sm{min-height:30px;padding:5px 10px;font-size:.78rem}.patient-proto-page .btn-icon,.patient-proto-page .app-icon-button{width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border:1px solid var(--border-default);border-radius:9px;background:var(--bg-elevated);color:var(--text-secondary)}.patient-proto-page .btn-icon:hover,.patient-proto-page .app-icon-button:hover{border-color:color-mix(in srgb,var(--primary) 28%,var(--border-default));background:var(--patient-bg-soft);color:var(--primary)}.patient-proto-page .btn svg,.patient-proto-page .btn-icon svg,.patient-proto-page .ghost svg,.patient-proto-page .primary svg,.patient-proto-page .app-icon-button svg{width:1rem;height:1rem;flex:0 0 auto}.patient-proto-page .sidebar{grid-column:1;grid-row:2;display:grid;gap:14px;min-width:0;align-self:start;position:static}.patient-proto-page .main-col{grid-column:2;grid-row:2;display:grid;gap:16px;min-width:0;align-self:start;padding-top:0}.patient-proto-page .patient-workspace-navigation{min-width:0;align-self:start}.patient-proto-page .patient-workspace-navigation-mobile,.patient-proto-page .patient-mobile-panel-toolbar{display:none}.patient-proto-page .patient-mobile-sharing-slot{display:contents}.patient-proto-page .card,.patient-proto-page .patient-workspace-block{min-width:0;padding:0;margin-bottom:0;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-1);overflow:hidden}.patient-proto-page .card-head,.patient-proto-page .section-header,.patient-proto-page .patient-general-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:14px 16px;border-bottom:1px solid var(--patient-border-faint)}.patient-proto-page .section-header h3,.patient-proto-page .card-head h3,.patient-proto-page .patient-general-card-head h4{margin:0;color:var(--text-primary);font-size:.95rem;font-weight:800;letter-spacing:0;line-height:1.25}.patient-proto-page .card-body{padding:14px 16px}.patient-proto-page .card-body.tight{padding-top:10px}.patient-proto-page .patient-general-info-card{position:relative;z-index:4;overflow:visible}.patient-proto-page .patient-general-info-card .card-body,.patient-proto-page .patient-general-info-card .patient-detail-toggle-list{overflow:visible}.patient-proto-page .info-list{display:grid;gap:10px}.patient-proto-page .info-row{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;color:var(--text-primary);font-size:.82rem}.patient-proto-page .ico{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:var(--patient-bg-soft);color:var(--patient-text-tertiary)}.patient-proto-page .ico svg{width:.78rem;height:.78rem}.patient-proto-page .lbl{display:block;color:var(--patient-text-tertiary);font-size:.66rem;font-weight:800;letter-spacing:0;line-height:1.2;text-transform:uppercase}.patient-proto-page .val{display:block;margin-top:1px;color:var(--text-primary);font-weight:600;overflow-wrap:anywhere}.patient-proto-page .val.empty{color:var(--patient-text-tertiary);font-style:italic;font-weight:500}.patient-proto-page .note-box{display:grid;gap:5px;margin-top:10px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--patient-bg-soft),var(--bg-elevated))}.patient-proto-page .note-box p{margin:0;color:var(--text-primary);font-size:.82rem;line-height:1.5;overflow-wrap:anywhere}.patient-proto-page .patient-portal-access-box{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--patient-bg-soft)}.patient-proto-page .patient-portal-access-box>div{display:grid;gap:3px}.patient-proto-page .patient-portal-access-box strong,.patient-proto-page .patient-portal-access-box small{display:block}.new-patient-modal-form label.inline>span{display:grid;gap:4px}.patient-proto-page .patient-detail-toggle-list{display:grid;gap:8px;margin-top:10px}.patient-proto-page .patient-info-toggle-button{width:100%;min-height:34px;justify-content:flex-start;padding:7px 10px;border-radius:9px;text-align:left}.patient-proto-page .patient-general-info-card .patient-info-tooltip-trigger:after{z-index:80}.patient-proto-page .patient-inline-warning{margin:10px 0 0;padding:9px 10px;border:1px solid color-mix(in srgb,var(--state-warning-fg) 18%,var(--border-subtle));border-radius:var(--radius-sm);background:var(--state-warning-bg);color:var(--state-warning-fg);font-size:.78rem;line-height:1.45}.patient-proto-page .patient-share-header-tag{max-width:100%}.patient-proto-page .patient-sharing-card-body{display:grid;gap:8px}.patient-proto-page .patient-sharing-card-body p{margin:0;color:var(--text-secondary);font-size:.8rem;line-height:1.45}.patient-proto-page .patient-sharing-status{width:-moz-fit-content;width:fit-content;max-width:100%;display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--patient-bg-soft);color:var(--text-secondary);font-size:.72rem;font-weight:800;line-height:1.15}.patient-proto-page .patient-sharing-status.tag-info{border-color:color-mix(in srgb,var(--state-info-fg) 18%,transparent);background:var(--state-info-bg);color:var(--state-info-fg)}.patient-proto-page .patient-sharing-status.tag-warning{border-color:color-mix(in srgb,var(--state-warning-fg) 18%,transparent);background:var(--state-warning-bg);color:var(--state-warning-fg)}.patient-proto-page .patient-sidebar-contact-list{display:grid;gap:0}.patient-proto-page .contact-card{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;min-height:auto;padding:10px 0;border:none;border-bottom:1px solid var(--patient-border-faint);border-radius:0;background:transparent;color:var(--text-primary);text-align:left}.patient-proto-page .contact-card:first-child{padding-top:4px}.patient-proto-page .contact-card:last-child{padding-bottom:4px;border-bottom:none}.patient-proto-page .contact-card:hover,.patient-proto-page .contact-card:focus-visible{background:var(--patient-bg-soft)}.patient-proto-page .contact-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--state-review-fg) 14%,var(--patient-bg-soft)),var(--patient-bg-soft));color:var(--state-review-fg);font-size:.72rem;font-weight:800;letter-spacing:0}.patient-proto-page .contact-info{display:grid;gap:3px;min-width:0}.patient-proto-page .contact-name{color:var(--text-primary);font-size:.82rem;font-weight:800}.patient-proto-page .contact-role,.patient-proto-page .contact-meta{min-width:0;color:var(--text-secondary);font-size:.75rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-proto-page .contact-role{display:inline-flex;align-items:center;gap:4px}.patient-proto-page .contact-role svg{width:.72rem;height:.72rem}.patient-proto-page .access-section{display:grid;gap:10px}.patient-proto-page .access-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.patient-proto-page .access-divider{height:1px;margin:14px 0;background:var(--patient-border-faint)}.patient-proto-page .muted-tiny{color:var(--patient-text-tertiary);font-size:.72rem;font-weight:700}.patient-proto-page .auth-chips,.patient-proto-page .patient-consultation-badge-list{display:flex;flex-wrap:wrap;gap:5px}.patient-proto-page .appointment-detail-type-badge{max-width:100%;border-color:color-mix(in srgb,var(--type-badge-bg, var(--state-info-fg)) 18%,transparent)}.patient-proto-page .slot-list{display:grid;gap:6px;margin-top:6px}.patient-proto-page .slot-pill{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:8px 12px;border-radius:8px;background:var(--patient-bg-soft);color:var(--text-secondary);font-size:.78rem;font-variant-numeric:tabular-nums}.patient-proto-page .slot-day{color:var(--text-primary);font-weight:800}.patient-proto-page .slot-time{color:var(--text-secondary);white-space:nowrap}.patient-proto-page .slot-grid{display:grid;gap:6px;padding:10px;border:1px solid var(--patient-border-faint);border-radius:10px;background:var(--patient-bg-soft)}.patient-proto-page .slot-grid-hours{display:flex;justify-content:space-between;padding:0 2px;color:var(--patient-text-tertiary);font-size:.64rem;font-weight:800;letter-spacing:0;font-variant-numeric:tabular-nums}.patient-proto-page .slot-grid-days{display:grid;gap:4px}.patient-proto-page .slot-day-col{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center}.patient-proto-page .slot-day-label{color:var(--text-secondary);font-size:.66rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.patient-proto-page .slot-day-track{position:relative;height:14px;overflow:hidden;border-radius:4px;background:var(--bg-elevated)}.patient-proto-page .slot-allowed{position:absolute;min-width:2px;top:1px;bottom:1px;border-radius:3px;background:linear-gradient(180deg,color-mix(in srgb,var(--state-success-fg) 72%,var(--bg-elevated)),color-mix(in srgb,var(--state-success-fg) 62%,var(--bg-elevated)))}.patient-proto-page .slot-grid-legend{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px;color:var(--patient-text-tertiary);font-size:.68rem;font-weight:600}.patient-proto-page .slot-grid-legend span{display:inline-flex;align-items:center;gap:4px}.patient-proto-page .slot-grid-legend .dot{width:9px;height:9px;border-radius:2px}.patient-proto-page .slot-grid-legend .dot.allowed{background:color-mix(in srgb,var(--state-success-fg) 70%,var(--bg-elevated))}.patient-proto-page .patient-search-stack{display:grid;gap:8px;margin:0}.patient-proto-page .cr-search{display:flex;align-items:center;gap:8px;min-height:48px;padding:4px 6px 4px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-1);cursor:text;transition:border-color .18s ease,box-shadow .18s ease}.patient-proto-page .cr-search:focus-within{border-color:color-mix(in srgb,var(--primary) 38%,var(--border-default));box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 10%,transparent)}.patient-proto-page .cr-search-ico{display:grid;place-items:center;color:var(--patient-text-tertiary);flex:0 0 auto}.patient-proto-page .cr-search-ico svg{width:1rem;height:1rem}.patient-proto-page .cr-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font:inherit;font-size:.86rem}.patient-proto-page .cr-search input::-moz-placeholder{color:var(--patient-text-tertiary)}.patient-proto-page .cr-search input::placeholder{color:var(--patient-text-tertiary)}.patient-proto-page .cr-search-kbd,.patient-proto-page .cr-search-clear{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:28px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--patient-bg-soft);color:var(--patient-text-tertiary);font-size:.75rem;font-weight:800}.patient-proto-page .cr-search-clear{padding:0;cursor:pointer}.patient-proto-page .search-results{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-1);overflow:hidden}.patient-proto-page .search-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--patient-border-faint);color:var(--text-secondary);font-size:.82rem}.patient-proto-page .search-results-list{display:grid}.patient-proto-page .search-result-item{width:100%;min-height:auto;display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:14px;align-items:start;padding:12px 16px;border:none;border-bottom:1px solid var(--patient-border-faint);border-radius:0;background:transparent;color:var(--text-primary);text-align:left}.patient-proto-page .search-result-item:last-child{border-bottom:none}.patient-proto-page .search-result-item:hover,.patient-proto-page .search-result-item:focus-visible{background:var(--patient-bg-soft)}.patient-proto-page .search-result-date{color:var(--text-secondary);font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums}.patient-proto-page .search-result-snippet{display:grid;gap:4px;min-width:0;color:var(--text-primary);font-size:.82rem;line-height:1.55}.patient-proto-page .search-result-snippet span{color:var(--text-secondary);overflow-wrap:anywhere}.patient-proto-page .search-result-snippet mark{padding:0 2px;border-radius:3px;background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary);font-weight:800}.patient-proto-page .search-result-meta{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border-radius:var(--radius-pill);background:var(--state-info-bg);color:var(--state-info-fg);font-size:.68rem;font-weight:800;text-transform:uppercase}.patient-proto-page .search-empty{margin:0;padding:26px 16px;text-align:center}.patient-proto-page .tabs{width:-moz-fit-content;width:fit-content;max-width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--bg-elevated);box-shadow:var(--shadow-1)}.patient-proto-page .tab-label-mobile,.patient-proto-page .tab-mobile-more,.patient-proto-page .patient-mobile-section-nav,.patient-proto-page .patient-mobile-header-back{display:none}.patient-proto-page .tab{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-secondary);font-size:.86rem;font-weight:700;letter-spacing:0;white-space:nowrap;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.patient-proto-page .tab.tab-mobile-more{display:none}.patient-proto-page .tab:hover{background:var(--patient-bg-soft);color:var(--text-primary)}.patient-proto-page .tab.active{background:var(--primary);color:var(--accent-ink);box-shadow:0 4px 10px -3px color-mix(in srgb,var(--primary) 50%,transparent);transform:none;animation:none}.patient-proto-page .tab:after,.patient-proto-page .tab.active:after{display:none;content:none}.patient-proto-page .tab .count{min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 5px;border-radius:9px;background:var(--patient-bg-soft);color:var(--text-secondary);font-size:.68rem;font-weight:800}.patient-proto-page .tab.active .count{background:color-mix(in srgb,var(--accent-ink) 22%,transparent);color:var(--accent-ink)}.patient-proto-page [id^=patient-history-],.patient-proto-page [id^=patient-followup-],.patient-proto-page #patient-workspace,.patient-proto-page #patient-general-info,.patient-proto-page #patient-sharing-info,.patient-proto-page #patient-other-contacts,.patient-proto-page #patient-access-slots{scroll-margin-top:calc(var(--topbar-height-mobile) + 84px)}.patient-proto-page .panel,.patient-proto-page .patient-workspace-panel{display:grid;gap:16px;min-width:0}.patient-proto-page .patient-workspace-block{display:grid;gap:0;padding:0}.patient-proto-page .patient-workspace-block>.muted,.patient-proto-page .patient-workspace-block>p.muted{margin:0;padding:16px 18px}.patient-proto-page .patient-workspace-block>.card.subtle,.patient-proto-page .patient-workspace-block>.notes-card,.patient-proto-page .patient-workspace-block>.patient-prescription-card,.patient-proto-page .patient-workspace-block>.patient-antecedent-form,.patient-proto-page .patient-workspace-block>.patient-antecedent-list,.patient-proto-page .patient-workspace-block>.list,.patient-proto-page .patient-workspace-block>.patient-communication-toolbar,.patient-proto-page .patient-workspace-block>.patient-communication-list,.patient-proto-page .patient-workspace-block>.materials-table,.patient-proto-page .patient-workspace-block>.materials-cards,.patient-proto-page .patient-workspace-block>.patient-access-editor-grid{margin:16px 18px}.patient-proto-page .patient-workspace-block>.patient-communication-toolbar{margin-bottom:0}.patient-proto-page .patient-workspace-block>.patient-communication-list{margin-top:12px}.patient-proto-page .card.subtle,.patient-proto-page .notes-card{border-color:var(--border-subtle);background:var(--patient-bg-soft)}.patient-proto-page .therapeutic-card .section-header h3{display:inline-flex;align-items:center;gap:8px}.patient-proto-page .therapeutic-card .section-header h3 svg{color:var(--primary)}.patient-proto-page .therapeutic-card .patient-project-edit-trigger{width:auto;min-width:0}.patient-proto-page .therapeutic-project-section{margin-inline:18px}.patient-proto-page.therapeutic-project-modal-body{width:100%;max-width:none;margin:0;padding:0 var(--space-5) var(--space-5);grid-template-columns:minmax(0,1fr);gap:0;align-items:stretch}.patient-proto-page.therapeutic-project-modal-body>*{min-width:0;grid-column:1}.patient-proto-page .therapeutic-project-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.patient-proto-page .therapeutic-project-section-action{width:auto;min-width:0;flex:0 0 auto}.patient-proto-page .therapeutic-project-orientation{padding-top:16px}.patient-proto-page .patient-therapeutic-orientation-label{margin:0;color:var(--patient-text-tertiary);font-size:.68rem;font-weight:800;line-height:1.2;text-transform:uppercase}.patient-proto-page .therapeutic-card .notes-card{margin:8px 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.patient-proto-page .therapeutic-card .notes-readonly{min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-primary);font-size:.84rem;line-height:1.65;overflow:visible;white-space:normal}.patient-proto-page .therapeutic-card .notes-readonly p{margin:0 0 10px}.patient-proto-page .therapeutic-card .notes-readonly p:last-child{margin-bottom:0}.patient-proto-page .therapeutic-card .therapeutic-project-preview:not(.expanded){max-height:none;overflow:visible}.patient-proto-page .therapeutic-card .therapeutic-project-preview:not(.expanded):after,.patient-proto-page .therapeutic-card .therapeutic-project-inline-actions{display:none}.patient-proto-page .therapeutic-card .appointment-section{margin:16px 18px 18px;padding:14px 0 0;border-top:1px solid var(--patient-border-faint)}.patient-proto-page .therapeutic-card .appointment-label{display:block;margin:0;color:var(--patient-text-tertiary);font-size:.66rem;font-weight:800;letter-spacing:0;line-height:1.2;text-transform:uppercase}.patient-proto-page .patient-objectives-section{display:grid;gap:10px;margin:16px 18px 0;padding:14px 0 0;border-top:1px solid var(--patient-border-faint);border-radius:0;background:transparent;box-shadow:none}.patient-proto-page .patient-objectives-header,.patient-proto-page .patient-objectives-header>div,.patient-proto-page .patient-objectives-kicker,.patient-proto-page .patient-objective-row-actions,.patient-proto-page .patient-objective-form-actions,.patient-proto-page .patient-objectives-completed-toggle{display:flex;align-items:center}.patient-proto-page .patient-objectives-header{justify-content:space-between;gap:12px}.patient-proto-page .patient-objectives-header>div,.patient-proto-page .patient-objectives-kicker{gap:7px}.patient-proto-page .patient-objectives-kicker{color:var(--patient-text-tertiary);font-size:.68rem;font-weight:800;line-height:1.2;text-transform:uppercase}.patient-proto-page .patient-objectives-kicker svg{color:var(--primary)}.patient-proto-page .patient-objectives-count{min-width:20px;height:20px;display:inline-grid;place-items:center;padding:0 6px;border-radius:var(--radius-pill);background:var(--patient-bg-soft);color:var(--text-secondary);font-size:.7rem;font-weight:800}.patient-proto-page .patient-objectives-list{display:grid;gap:7px}.patient-proto-page .patient-objective-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);overflow:hidden}.patient-proto-page .patient-objective-item.status-achieved{background:color-mix(in srgb,var(--state-success-bg) 42%,var(--bg-elevated))}.patient-proto-page .patient-objective-row{min-height:52px;display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,auto) auto 36px;align-items:center;gap:8px;padding:7px 8px 7px 12px}.patient-proto-page .patient-objective-expand{min-width:0;display:grid;gap:2px;padding:0;border:0;background:transparent;color:var(--text-primary);text-align:left}.patient-proto-page .patient-objective-title{overflow:hidden;font-size:.84rem;font-weight:800;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.patient-proto-page .patient-objective-last-session{color:var(--text-secondary);font-size:.7rem;line-height:1.3}.patient-proto-page .patient-objective-status{min-height:34px;padding:5px 28px 5px 9px;border-color:var(--border-default);border-radius:var(--radius-pill);background-color:var(--patient-bg-soft);color:var(--text-secondary);font-size:.72rem;font-weight:800}.patient-proto-page .patient-objective-row-actions{gap:2px}.patient-proto-page .patient-objective-row-actions .btn,.patient-proto-page .patient-objective-chevron{width:34px;min-width:34px;height:34px;min-height:34px;display:grid;place-items:center;padding:0}.patient-proto-page .patient-objective-chevron{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary)}.patient-proto-page .patient-objective-delete:hover,.patient-proto-page .patient-objective-delete:focus-visible{background:color-mix(in srgb,var(--state-danger-fg) 10%,transparent);color:var(--state-danger-fg)}.patient-proto-page .patient-objective-detail{display:grid;gap:14px;padding:2px 12px 14px;border-top:1px solid var(--patient-border-faint)}.patient-proto-page .patient-objective-mobile-actions{display:none}.patient-proto-page .patient-objective-detail dl{display:grid;gap:10px;margin:12px 0 0}.patient-proto-page .patient-objective-detail dl>div{display:grid;gap:3px}.patient-proto-page .patient-objective-detail dt,.patient-proto-page .patient-objective-history h5{color:var(--patient-text-tertiary);font-size:.68rem;font-weight:800;text-transform:uppercase}.patient-proto-page .patient-objective-detail dd{margin:0;color:var(--text-primary);font-size:.82rem;line-height:1.5}.patient-proto-page .patient-objective-history{display:grid;gap:8px}.patient-proto-page .patient-objective-history h5{margin:0}.patient-proto-page .patient-objective-history ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.patient-proto-page .patient-objective-history li{padding-left:10px;border-left:2px solid var(--border-default);color:var(--text-secondary);font-size:.75rem}.patient-proto-page .patient-objective-history li p{margin:3px 0 0;color:var(--text-primary);font-size:.8rem;line-height:1.45}.patient-proto-page .patient-objective-form{display:grid;gap:10px;padding:12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--patient-bg-soft)}.patient-proto-page .patient-objective-form.is-editing{margin:0 8px 8px}.patient-proto-page .patient-objective-form label,.patient-proto-page .patient-objective-form fieldset{min-width:0;display:grid;gap:6px;margin:0;padding:0;border:0}.patient-proto-page .patient-objective-form label>span,.patient-proto-page .patient-objective-form legend{color:var(--text-secondary);font-size:.74rem;font-weight:800}.patient-proto-page .patient-objective-form small{color:var(--text-tertiary);font-size:.68rem;font-weight:600}.patient-proto-page .patient-objective-form input[type=text],.patient-proto-page .patient-objective-form input:not([type]),.patient-proto-page .patient-objective-form textarea,.patient-proto-page .patient-objective-form select{width:100%}.patient-proto-page .patient-objective-title-field input{width:100%;min-height:42px}.patient-proto-page .patient-objective-advanced-toggle{width:-moz-max-content;width:max-content;display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:var(--primary);font-size:.74rem;font-weight:800}.patient-proto-page .patient-objective-advanced-fields{display:grid;gap:12px}.patient-proto-page .patient-objective-form-actions{justify-content:flex-end;gap:8px}.patient-proto-page .patient-objectives-empty{display:flex;align-items:center;gap:6px;min-height:36px;margin:0;color:var(--text-secondary);font-size:.8rem}.patient-proto-page .patient-objectives-empty p{margin:0}.patient-proto-page .patient-objectives-empty .link:hover,.patient-proto-page .patient-objectives-empty .link:focus-visible{background:transparent;text-decoration:underline}.patient-proto-page .patient-objectives-completed{display:grid;gap:8px;padding-top:2px}.patient-proto-page .patient-objectives-completed-toggle{justify-content:space-between;width:100%;min-height:38px;padding:7px 9px;border:0;border-radius:var(--radius-sm);background:var(--patient-bg-soft);color:var(--text-secondary);font-size:.76rem;font-weight:800}.patient-proto-page .therapeutic-card .patient-support-accordion-list{display:grid;gap:8px}.patient-proto-page .therapeutic-card .patient-support-accordion-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:none;overflow:visible}@media(max-width:900px){.patient-proto-page .patient-objective-row{grid-template-columns:minmax(0,1fr) auto 36px;gap:7px}.patient-proto-page .patient-objective-status{grid-column:1;grid-row:2;justify-self:start}.patient-proto-page .patient-objective-row-actions{grid-column:2;grid-row:1 / span 2}.patient-proto-page .patient-objective-chevron{grid-column:3;grid-row:1 / span 2}}@media(max-width:560px){.patient-proto-page .patient-objectives-section{margin-inline:14px}.patient-proto-page .patient-objective-row{min-height:64px;grid-template-columns:minmax(0,1fr) 44px;padding:9px 8px 9px 11px}.patient-proto-page .patient-objective-expand{grid-column:1;grid-row:1}.patient-proto-page .patient-objective-title{white-space:normal}.patient-proto-page .patient-objective-status{grid-column:1;grid-row:2;min-height:36px}.patient-proto-page .patient-objective-chevron{grid-column:2;grid-row:1 / span 2;width:44px;min-width:44px;height:44px;min-height:44px}.patient-proto-page .patient-objective-row-actions{display:none}.patient-proto-page .patient-objective-mobile-actions{display:flex;gap:8px;padding-top:10px}.patient-proto-page .patient-objective-mobile-actions .btn{min-height:44px;flex:1 1 0}.patient-proto-page .patient-objective-form{padding:12px 10px}.patient-proto-page .patient-objective-form-actions{position:sticky;bottom:0;padding-top:8px;background:var(--patient-bg-soft)}.patient-proto-page .patient-objective-form-actions .btn{min-height:44px;flex:1 1 0}}.patient-proto-page .therapeutic-card .patient-support-actions-menu{position:relative;margin-right:8px}.patient-proto-page .therapeutic-card .patient-support-actions-menu>summary{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;list-style:none}.patient-proto-page .therapeutic-card .patient-support-actions-menu>summary::-webkit-details-marker{display:none}.patient-proto-page .therapeutic-card .patient-support-actions-menu>summary:hover,.patient-proto-page .therapeutic-card .patient-support-actions-menu>summary:focus-visible{background:var(--patient-bg-soft);outline:2px solid var(--focus-ring);outline-offset:1px}.patient-proto-page .therapeutic-card .patient-support-actions-menu>summary svg{width:20px;height:20px}.patient-proto-page .therapeutic-card .patient-support-actions-popover{position:absolute;z-index:5;top:calc(100% + 4px);right:0;min-width:170px;display:grid;padding:5px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.patient-proto-page .therapeutic-card .patient-support-actions-popover button{min-height:38px;padding:7px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);text-align:left}.patient-proto-page .therapeutic-card .patient-support-actions-popover button:hover,.patient-proto-page .therapeutic-card .patient-support-actions-popover button:focus-visible{background:var(--patient-bg-soft)}.patient-proto-page .therapeutic-card .patient-support-actions-popover button.danger{color:var(--state-danger-fg)}.patient-proto-page .therapeutic-card .patient-support-accordion-trigger{width:100%;min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:9px 10px 9px 12px;border:0;border-radius:0;background:transparent;color:var(--text-primary);text-align:left}.patient-proto-page .therapeutic-card .patient-support-accordion-trigger:hover,.patient-proto-page .therapeutic-card .patient-support-accordion-trigger:focus-visible{background:color-mix(in srgb,var(--patient-bg-soft) 52%,transparent)}.patient-proto-page .therapeutic-card .patient-support-accordion-name{min-width:0;overflow:hidden;color:var(--text-primary);font-size:.84rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.patient-proto-page .therapeutic-card .support-progress{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.74rem;font-weight:800;white-space:nowrap}.patient-proto-page .therapeutic-card .support-bar{width:60px;height:5px;overflow:hidden;border-radius:3px;background:var(--patient-bg-soft)}.patient-proto-page .therapeutic-card .support-bar i{display:block;height:100%;border-radius:inherit;background:var(--primary)}.patient-proto-page .therapeutic-card .patient-support-accordion-chevron{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border-default);border-radius:9px;color:var(--text-secondary);font-size:1rem;line-height:1}.patient-proto-page .therapeutic-card .patient-support-accordion-body{display:grid;gap:12px;padding:0 12px 12px}@media(max-width:560px){.patient-proto-page.therapeutic-project-modal-body{padding:0 var(--space-4) var(--space-4)}.patient-proto-page .therapeutic-card>.section-header .patient-project-edit-trigger{width:100%;min-height:44px;justify-content:center}.patient-proto-page .therapeutic-project-section,.patient-proto-page .patient-objectives-section{margin-inline:14px}.patient-proto-page .therapeutic-project-section-header,.patient-proto-page .patient-objectives-header{align-items:stretch;flex-direction:column;gap:8px}.patient-proto-page .therapeutic-project-section-action,.patient-proto-page .patient-objectives-header>.btn{width:-moz-max-content;width:max-content;min-height:44px;align-self:flex-start}.patient-proto-page .therapeutic-card .patient-support-accordion-trigger{grid-template-columns:minmax(0,1fr) 44px;gap:6px;padding-block:10px}.patient-proto-page .therapeutic-card .patient-support-accordion-name{grid-column:1;grid-row:1;white-space:normal}.patient-proto-page .therapeutic-card .support-progress{grid-column:1;grid-row:2;justify-self:start}.patient-proto-page .therapeutic-card .patient-support-accordion-chevron{grid-column:2;grid-row:1 / span 2;width:44px;height:44px}.patient-proto-page .therapeutic-card .patient-support-actions-menu>summary{width:44px;height:44px}}.patient-proto-page .stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.patient-proto-page .stat{position:relative;min-height:74px;display:grid;gap:4px;align-content:center;padding:14px 16px 14px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-1);overflow:hidden}.patient-proto-page .muted-count{color:var(--patient-text-tertiary);font-size:.78rem;font-weight:600}.patient-proto-page .stat:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--patient-text-tertiary)}.patient-proto-page .stat.success:before{background:var(--state-success-fg)}.patient-proto-page .stat.warning:before{background:var(--state-warning-fg)}.patient-proto-page .stat.info:before{background:var(--state-info-fg)}.patient-proto-page .stat.danger:before{background:var(--state-danger-fg)}.patient-proto-page .stat-num{color:var(--text-primary);font-size:1.6rem;font-weight:800;letter-spacing:0;line-height:1;font-variant-numeric:tabular-nums}.patient-proto-page .stat.success .stat-num{color:var(--state-success-fg)}.patient-proto-page .stat.warning .stat-num{color:var(--state-warning-fg)}.patient-proto-page .stat.info .stat-num{color:var(--state-info-fg)}.patient-proto-page .stat.danger .stat-num{color:var(--state-danger-fg)}.patient-proto-page .stat-lbl{color:var(--text-secondary);font-size:.8rem;font-weight:600}.patient-proto-page .rdv-block .card-head h3,.patient-proto-page .rdv-block .section-header h3{display:inline-flex;align-items:center;gap:8px}.patient-proto-page .dot-today{width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 18%,transparent)}.patient-proto-page .patient-today-session-title{display:inline-flex;align-items:center;gap:10px;min-width:0}.patient-proto-page .patient-today-session-badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--primary) 10%,var(--bg-elevated));color:var(--primary);font-size:.7rem;font-weight:800}.patient-proto-page .journal-table-wrap{margin:0;border:none;border-radius:0;background:var(--bg-elevated);overflow-x:auto}.patient-proto-page .rdv-table{width:100%;margin:0;border-collapse:collapse;font-size:.82rem}.patient-proto-page .rdv-table th{padding:10px 18px;border-bottom:1px solid var(--patient-border-faint);background:transparent;color:var(--patient-text-tertiary);font-size:.66rem;font-weight:800;letter-spacing:0;text-align:left;text-transform:uppercase}.patient-proto-page .rdv-table th:first-child{padding-left:22px}.patient-proto-page .rdv-table th:last-child{padding-right:22px}.patient-proto-page .rdv-table td{padding:14px 18px;border-bottom:1px solid var(--patient-border-faint);vertical-align:middle}.patient-proto-page .rdv-table td:first-child{padding-left:22px}.patient-proto-page .rdv-table td:last-child{padding-right:22px}.patient-proto-page .rdv-table tr:last-child td{border-bottom:none}.patient-proto-page .rdv-table tr:hover td{background:color-mix(in srgb,var(--patient-bg-soft) 50%,transparent)}.patient-proto-page .patient-rdv-today-row td{background:color-mix(in srgb,var(--primary) 4%,var(--bg-elevated))}.patient-proto-page .patient-appointment-time-cell{color:var(--text-secondary);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.patient-proto-page .patient-past-report-full,.patient-proto-page .journal-note-preview{max-width:360px;margin:0;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-proto-page .journal-day-report-cell textarea{width:100%;min-width:220px;border-color:var(--border-subtle);border-radius:var(--radius-sm);background:var(--patient-bg-soft);font-size:.82rem}.patient-proto-page .patient-appointment-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.patient-proto-page .patient-past-accordion{border-top:1px solid var(--patient-border-faint)}.patient-proto-page .patient-past-accordion-toggle{margin:12px 18px}.patient-proto-page .patient-access-editor-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.35fr);gap:14px}.patient-proto-page .patient-access-editor-card{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--patient-bg-soft)}.patient-proto-page .patient-access-editor-card .patient-general-card-head{padding:0;border-bottom:none}.patient-proto-page .patient-access-editor-card .availability-scroll{max-height:520px;overflow:auto}.patient-proto-page .patient-antecedent-list{display:grid;gap:0}.patient-proto-page .patient-antecedent-item{display:grid;gap:8px;padding:12px 4px;border:none;border-bottom:1px solid var(--patient-border-faint);border-radius:0;background:transparent;box-shadow:none}.patient-proto-page .patient-antecedent-item:last-child{border-bottom:none}.patient-proto-page .patient-antecedent-item:hover{background:color-mix(in srgb,var(--patient-bg-soft) 50%,transparent)}.patient-proto-page .patient-communication-toolbar{display:flex;justify-content:flex-end}.patient-proto-page .patient-communication-section-header{align-items:center}.patient-proto-page .patient-communication-section-header h3{display:inline-flex;align-items:baseline;gap:4px;min-width:0;flex-wrap:wrap}.patient-proto-page .patient-communication-section-header .patient-communication-toolbar{margin:0;padding:0}.patient-proto-page .patient-communication-filter{display:inline-flex;gap:2px;padding:4px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--patient-bg-soft)}.patient-proto-page .patient-communication-filter-button{min-height:30px;padding:6px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.78rem;font-weight:700}.patient-proto-page .patient-communication-filter-button.active{background:var(--bg-elevated);color:var(--primary);border-color:var(--border-subtle)}.patient-proto-page .patient-communication-list{display:grid;gap:12px}.patient-proto-page .patient-communication-item{padding:14px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:none}.patient-proto-page .patient-communication-head{display:grid;gap:6px;margin-bottom:10px}.patient-proto-page .patient-communication-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.patient-proto-page .patient-communication-meta strong{color:var(--text-primary);font-size:.86rem;font-weight:800;line-height:1.3}.patient-proto-page .patient-communication-meta .muted{margin-left:auto;color:var(--text-secondary);font-size:.78rem;font-weight:600;white-space:nowrap}.patient-proto-page .patient-communication-recipients{color:var(--patient-text-tertiary);font-size:.78rem;font-weight:600;overflow-wrap:anywhere}.patient-proto-page .message-auto-pill,.patient-proto-page .patient-communication-manual-pill{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:5px;font-size:.68rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.patient-proto-page .message-auto-pill{background:var(--state-review-bg);color:var(--state-review-fg)}.patient-proto-page .patient-communication-manual-pill{background:var(--state-info-bg);color:var(--state-info-fg)}.patient-proto-page .patient-communication-body{color:var(--text-primary);font-size:.82rem;line-height:1.65}.patient-proto-page .patient-communication-body p{margin:0 0 10px}.patient-proto-page .patient-communication-body p:last-child{margin-bottom:0}.patient-proto-page .patient-communication-body--text{margin:0;white-space:pre-wrap}.patient-proto-page .patient-ai-summary-head{align-items:flex-start}.patient-proto-page .patient-ai-summary-head h3,.patient-proto-page .patient-ai-summary-head p{margin:0}.patient-proto-page .patient-ai-summary-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.patient-proto-page .patient-ai-summary-actions button{display:inline-flex;align-items:center;gap:6px}.patient-proto-page .patient-ai-state,.patient-proto-page .patient-ai-stale-banner,.patient-proto-page .patient-ai-summary-card,.patient-proto-page .patient-ai-facts-head,.patient-proto-page .patient-ai-fact-groups{margin:16px 18px}.patient-proto-page .patient-ai-state{padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--state-danger-bg);color:var(--state-danger-fg);font-size:.84rem;font-weight:700}.patient-proto-page .patient-ai-stale-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--state-warning-fg) 28%,transparent);border-radius:var(--radius-md);background:var(--state-warning-bg);color:var(--state-warning-fg)}.patient-proto-page .patient-ai-stale-banner>div:first-child{display:grid;gap:3px;min-width:0;font-size:.82rem;line-height:1.45}.patient-proto-page .patient-ai-stale-banner strong{font-size:.84rem}.patient-proto-page .patient-ai-stale-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.patient-proto-page .patient-ai-stale-chips span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:6px;background:var(--bg-elevated);color:var(--text-primary);font-size:.72rem;font-weight:800;white-space:nowrap}.patient-proto-page .patient-ai-summary-card{display:grid;gap:14px;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated)}.patient-proto-page .patient-ai-live-context{display:grid;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.patient-proto-page .patient-ai-live-context h4{margin:3px 0 0}.patient-proto-page .patient-ai-live-context ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.patient-proto-page .patient-ai-live-context li{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.patient-proto-page .patient-ai-live-context li span{color:var(--text-muted);text-align:right}.patient-proto-page .patient-ai-summary-card-head,.patient-proto-page .patient-ai-facts-head,.patient-proto-page .patient-ai-fact-group-head,.patient-proto-page .patient-ai-fact-meta{display:flex;align-items:center;gap:10px}.patient-proto-page .patient-ai-summary-card-head,.patient-proto-page .patient-ai-facts-head,.patient-proto-page .patient-ai-fact-group-head{justify-content:space-between}.patient-proto-page .patient-ai-summary-card-head h4,.patient-proto-page .patient-ai-facts-head h4,.patient-proto-page .patient-ai-fact-group-head h5{margin:0}.patient-proto-page .patient-ai-kicker{display:block;margin-bottom:3px;color:var(--text-secondary);font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.patient-proto-page .patient-ai-status-stack{display:grid;justify-items:end;gap:4px;color:var(--text-secondary);font-size:.74rem;font-weight:700}.patient-proto-page .patient-ai-status{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border-radius:6px;background:var(--state-success-bg);color:var(--state-success-fg);font-size:.7rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.patient-proto-page .patient-ai-status.warning{background:var(--state-warning-bg);color:var(--state-warning-fg)}.patient-proto-page .patient-ai-status.danger{background:var(--state-danger-bg);color:var(--state-danger-fg)}.patient-proto-page .patient-ai-summary-html{color:var(--text-primary);font-size:.86rem;line-height:1.65}.patient-proto-page .patient-ai-summary-html h3,.patient-proto-page .patient-ai-summary-html h4{margin:14px 0 6px;font-size:.92rem}.patient-proto-page .patient-ai-summary-html h3:first-child,.patient-proto-page .patient-ai-summary-html h4:first-child,.patient-proto-page .patient-ai-summary-html p:first-child{margin-top:0}.patient-proto-page .patient-ai-summary-html p,.patient-proto-page .patient-ai-summary-html ul,.patient-proto-page .patient-ai-summary-html ol{margin:0 0 10px}.patient-proto-page .patient-ai-summary-html :last-child{margin-bottom:0}.patient-proto-page .patient-ai-facts-head{margin-bottom:0}.patient-proto-page .patient-ai-facts-head h4>span{color:var(--text-secondary);font-size:.78rem;font-weight:700}.patient-proto-page .patient-ai-facts-head-actions,.patient-proto-page .patient-ai-facts-toggle{display:flex;align-items:center}.patient-proto-page .patient-ai-facts-head-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.patient-proto-page .patient-ai-facts-toggle{gap:6px}.patient-proto-page .patient-ai-facts-toggle .ui-inline-icon{transition:transform .18s ease-out}.patient-proto-page .patient-ai-facts-toggle.is-expanded .ui-inline-icon{transform:rotate(180deg)}.patient-proto-page .patient-ai-fact-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.patient-proto-page .patient-ai-fact-group{display:grid;align-content:start;gap:12px;padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--patient-bg-soft)}.patient-proto-page .patient-ai-fact-group-head span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-secondary);font-size:.74rem;font-weight:800}.patient-proto-page .patient-ai-fact-list{display:grid;gap:10px}.patient-proto-page .patient-ai-fact-item{display:grid;gap:7px;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-elevated)}.patient-proto-page .patient-ai-fact-meta{flex-wrap:wrap;color:var(--text-secondary);font-size:.72rem;font-weight:750}.patient-proto-page .patient-ai-fact-meta span{min-width:0;overflow-wrap:anywhere}.patient-proto-page .patient-ai-fact-meta span:not(:last-child):after{content:"·";margin-left:10px;color:var(--text-tertiary)}.patient-proto-page .patient-ai-fact-item p,.patient-proto-page .patient-ai-empty{margin:0}.patient-proto-page .patient-ai-fact-item p{color:var(--text-primary);font-size:.82rem;line-height:1.55}.patient-proto-page .patient-ai-empty{color:var(--text-secondary);font-size:.82rem}@media(max-width:780px){.patient-proto-page .patient-ai-summary-card-head,.patient-proto-page .patient-ai-facts-head,.patient-proto-page .patient-ai-summary-head{align-items:flex-start}.patient-proto-page .patient-ai-summary-card-head,.patient-proto-page .patient-ai-facts-head{flex-direction:column}.patient-proto-page .patient-ai-facts-head-actions{justify-content:flex-start}.patient-proto-page .patient-ai-status-stack{justify-items:start}.patient-proto-page .patient-ai-stale-banner{flex-direction:column}.patient-proto-page .patient-ai-stale-chips{justify-content:flex-start}.patient-proto-page .patient-ai-fact-groups{grid-template-columns:1fr}}.patient-proto-page .materials-table.patient-documents-table{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.patient-proto-page .patient-documents-block .materials-table.patient-documents-table{border:0;border-top:1px solid var(--patient-border-faint);border-radius:0;background:var(--bg-elevated);box-shadow:none}.patient-proto-page .patient-documents-block .materials-table-header,.patient-proto-page .patient-documents-block .materials-row{min-width:0;padding:0;gap:0;border-color:var(--patient-border-faint);background:var(--bg-elevated)}.patient-proto-page .patient-documents-block .materials-table-header{border-radius:0;background:transparent}.patient-proto-page .patient-documents-block .materials-cell{min-width:0;padding:10px 14px;color:var(--text-primary);font-size:.82rem;line-height:1.4}.patient-proto-page .patient-documents-block .materials-table-header .materials-cell{color:var(--patient-text-tertiary);font-size:.66rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.patient-proto-page .patient-documents-block .patient-document-title-cell{gap:2px}.patient-proto-page .patient-document-link{color:var(--text-primary);font-weight:800;text-decoration:none;overflow-wrap:anywhere}.patient-proto-page .patient-document-link:hover,.patient-proto-page .patient-document-link:focus-visible{color:var(--primary);text-decoration:none}.patient-proto-page .patient-document-date,.patient-proto-page .patient-document-origin{color:var(--text-secondary);font-size:.76rem}.patient-proto-page .patient-documents-block .patient-document-visibility{min-height:20px;padding:2px 7px;border-radius:var(--radius-pill);font-size:.68rem;font-weight:800}.patient-proto-page .patient-documents-block .patient-document-row-actions{justify-content:flex-end;gap:6px}.patient-proto-page .patient-documents-block .patient-document-download-btn,.patient-proto-page .patient-documents-block .patient-document-delete-btn{width:30px;min-width:30px;height:30px;min-height:30px;border:1px solid var(--border-default);border-radius:9px;background:var(--bg-elevated);color:var(--text-secondary)}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-list{gap:0}.patient-proto-page .patient-questionnaire-proto-block{overflow:visible}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-card{display:grid;gap:8px;padding:0;border:0;border-bottom:1px solid var(--patient-border-faint);border-radius:0;background:transparent;box-shadow:none;overflow:visible}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-card:last-child{border-bottom:none}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-summary{min-height:0;padding:12px 4px 4px;border:0;cursor:pointer}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-card[open] .patient-questionnaire-practitioner-summary{margin-bottom:0;border-bottom:0}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-row-title{min-width:0;color:var(--text-primary);font-size:.88rem;font-weight:800;overflow-wrap:anywhere}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-summary strong{color:var(--text-primary);font-size:.86rem;font-weight:800}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-summary .muted{margin-top:2px;color:var(--text-secondary);font-size:.76rem}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-actions{align-items:center;flex-wrap:wrap;justify-content:flex-end}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-actions .ghost,.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-actions .row-menu summary,.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-actions .row-menu-list button{font-family:inherit;font-size:.78rem;font-weight:700;letter-spacing:0;line-height:1.2}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-actions .row-menu{position:relative}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-actions .row-menu-list{right:0;left:auto;z-index:30}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-sections{gap:10px;padding:0 4px 12px;background:transparent}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-section{gap:8px;padding:0;border:0;background:transparent}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-section h4{color:var(--patient-text-tertiary);font-size:.66rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-answers{gap:8px}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-answer{padding:10px 12px;border:1px solid var(--patient-border-faint);border-radius:var(--radius-sm);background:var(--bg-elevated)}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-answer strong{color:var(--text-primary);font-size:.8rem;font-weight:800}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-answer p{color:var(--text-secondary);font-size:.8rem;line-height:1.5}.patient-history-template-modal{width:min(460px,calc(100vw - 32px))}.patient-history-template-patient{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--state-info-bg);color:var(--text-secondary);font-size:.82rem}.patient-history-template-patient strong{color:var(--text-primary)}.patient-proto-page .patient-tasks-block .patient-task-placeholder-list{display:grid;gap:8px;margin:12px 18px 0;padding:0;min-width:0}.patient-proto-page .patient-tasks-block .patient-task-placeholder-list li{min-width:0}.patient-proto-page .patient-tasks-block .patient-linked-task-row{min-width:0;align-items:start}.patient-proto-page .patient-tasks-block .patient-linked-task-open,.patient-proto-page .patient-tasks-block .patient-linked-task-content,.patient-proto-page .patient-tasks-block .patient-linked-task-inline{min-width:0}.patient-proto-page .patient-tasks-block .patient-linked-task-inline{flex-wrap:wrap;white-space:normal}.patient-proto-page .patient-tasks-block .patient-linked-task-title{overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.patient-proto-page .patient-tasks-block .patient-task-footer{margin:0;padding:0 18px 14px}.patient-proto-page .patient-prescription-block .patient-prescription-card{gap:12px;margin:16px 18px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.patient-proto-page .patient-prescription-block .patient-prescription-toolbar{align-items:center;gap:8px}.patient-proto-page .patient-prescription-block .patient-prescription-request-btn{min-height:32px;padding:7px 12px;border:1px solid var(--primary);border-radius:10px;background:var(--primary);color:var(--accent-ink);font-size:.78rem;font-weight:800}.patient-proto-page .patient-prescription-block .patient-prescription-debt-list{gap:8px}.patient-proto-page .patient-prescription-block .patient-prescription-debt-item{display:flex;align-items:center;gap:6px;min-height:28px;margin:0;color:var(--state-danger-fg);font-size:.78rem;font-weight:800}.patient-proto-page .patient-prescription-item{border-color:var(--patient-border-faint);background:var(--bg-elevated);box-shadow:none}.patient-proto-page .patient-prescription-block .patient-prescription-list{gap:8px}.patient-proto-page .patient-prescription-block .patient-prescription-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.patient-proto-page .patient-prescription-block .patient-prescription-meta-line,.patient-proto-page .patient-prescription-block .patient-prescription-main{min-width:0}.patient-proto-page .patient-prescription-block .patient-prescription-date,.patient-proto-page .patient-prescription-block .patient-prescription-type{color:var(--text-secondary);font-size:.76rem;font-weight:700}.patient-proto-page .patient-prescription-block .patient-prescription-ratio{color:var(--text-primary);font-size:.86rem;font-weight:800}.patient-proto-page .patient-prescription-block .patient-prescription-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.patient-proto-page .patient-prescription-block .patient-prescription-actions button{width:auto;min-height:30px;padding:5px 9px;border-radius:9px;font-size:.74rem}.patient-proto-page .patient-prescription-block>.muted,.patient-proto-page .patient-prescription-block .patient-prescription-card>.muted{margin:0;padding:12px 0 0;color:var(--text-secondary);font-size:.84rem}.patient-mobile-more-overlay{display:none}.patient-mobile-more-sheet{width:min(520px,100%);max-height:min(82dvh,720px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid var(--border-default);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg-elevated);box-shadow:var(--shadow-2);overflow:hidden}.patient-mobile-more-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--border-default)}.patient-mobile-more-head h3{margin:var(--space-1) 0 0;color:var(--text-primary);font-size:1rem}.patient-mobile-more-list{display:grid;align-content:start;overflow-y:auto}.patient-mobile-more-list>button{width:100%;min-height:62px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--border-soft);border-radius:0;background:var(--bg-elevated);color:var(--text-primary);text-align:left}.patient-mobile-more-list>button:hover,.patient-mobile-more-list>button:focus-visible{background:var(--patient-bg-soft);color:var(--text-primary)}.patient-mobile-more-list>button>span:last-child{display:grid;gap:2px;min-width:0}.patient-mobile-more-list strong,.patient-mobile-more-list small{display:block}.patient-mobile-more-list strong{font-size:.88rem}.patient-mobile-more-list small{color:var(--text-secondary);font-size:.74rem;line-height:1.35}.patient-mobile-more-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--patient-bg-soft);color:var(--primary)}.patient-mobile-more-icon svg{width:1rem;height:1rem}.patient-mobile-more-actions{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--border-default);background:var(--bg-elevated)}.patient-mobile-more-actions>button{width:100%;min-height:44px}@media(max-width:1100px){.patient-proto-page,.patient-proto-page .patient-access-editor-grid{grid-template-columns:1fr}.patient-proto-page .patient-workspace-navigation-mobile,.patient-proto-page .sidebar,.patient-proto-page .main-col{grid-column:1}.patient-proto-page .patient-workspace-navigation-mobile,.patient-proto-page .main-col,.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-proto-page .main-col{grid-row:2}.patient-proto-page .sidebar,.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-proto-page .sidebar{grid-row:3}.patient-proto-page .main-col{padding-top:0}.patient-proto-page .sidebar{position:static}}@media(max-width:900px){.patient-proto-page{display:flex;flex-direction:column;padding:14px 14px 52px}.patient-proto-page .patient-hero{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:12px;border-radius:var(--radius-lg)}.patient-proto-page .patient-mobile-header-back{width:40px;min-width:40px;height:40px;display:grid;grid-column:1;grid-row:1;place-items:center;align-self:start;padding:0;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary)}.patient-proto-page .patient-mobile-header-back:hover,.patient-proto-page .patient-mobile-header-back:focus-visible{background:var(--patient-bg-soft);color:var(--primary)}.patient-proto-page .patient-mobile-header-back svg{width:1.1rem;height:1.1rem}.patient-proto-page .patient-id{grid-column:2;grid-row:1}.patient-proto-page .hero-actions,.patient-proto-page .patient-avatar{display:none}.patient-proto-page .patient-name{gap:6px;font-size:1.12rem}.patient-proto-page .patient-name small{font-size:.75rem}.patient-proto-page .patient-tags{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.patient-proto-page .patient-tags::-webkit-scrollbar{display:none}.patient-proto-page .patient-workspace-navigation-mobile{display:block;order:2;align-self:stretch;position:sticky;top:calc(var(--topbar-height-mobile) + 6px);z-index:30;min-width:0;padding:3px;border-radius:var(--radius-lg);background:var(--bg-app);box-shadow:var(--shadow-1)}.patient-proto-page .main-col,.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-proto-page .main-col{order:3}.patient-proto-page .main-col,.patient-proto-page .sidebar{order:3;width:100%;max-width:100%;min-width:0;align-self:stretch;box-sizing:border-box}.patient-proto-page .patient-search-stack,.patient-proto-page .patient-workspace-panel,.patient-proto-page .patient-workspace-panel>.patient-workspace-block,.patient-proto-page .patient-appointments-panel,.patient-proto-page .sidebar>.card,.patient-proto-page .sidebar>.patient-mobile-panel-section.is-active,.patient-proto-page .sidebar>.patient-mobile-panel-section.is-active>.card{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.patient-proto-page .patient-ai-state,.patient-proto-page .patient-ai-stale-banner,.patient-proto-page .patient-ai-summary-card,.patient-proto-page .patient-ai-facts-head,.patient-proto-page .patient-ai-fact-groups{margin-inline:0;max-width:100%;box-sizing:border-box}.patient-proto-page .patient-workspace-navigation-desktop,.patient-proto-page .sidebar,.patient-proto-page.patient-mobile-panel-open .main-col{display:none}.patient-proto-page.patient-mobile-panel-open .sidebar,.content-shell.content-shell-with-side-panel.content-shell-patient-detail .patient-proto-page.patient-mobile-panel-open .sidebar{display:grid}.patient-proto-page.patient-mobile-panel-open .patient-mobile-panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.patient-proto-page .patient-mobile-panel-toolbar>.btn{flex:1;min-height:40px}.patient-proto-page .patient-mobile-panel-toolbar>.btn-icon{width:40px;min-width:40px;height:40px}.patient-proto-page.patient-mobile-panel-open .sidebar>.patient-mobile-panel-section{display:none}.patient-proto-page.patient-mobile-panel-open .sidebar>.patient-mobile-panel-section.is-active{display:block}.patient-proto-page .tabs{width:100%;min-width:0;max-width:100%;flex-wrap:nowrap;gap:var(--space-2);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-padding-inline:var(--space-1);scroll-snap-type:x proximity;touch-action:pan-x;scrollbar-width:none}.patient-proto-page .tabs::-webkit-scrollbar{display:none}.patient-proto-page .tab{flex:0 0 auto;min-width:-moz-max-content;min-width:max-content;max-width:none;scroll-snap-align:start}.patient-proto-page .tab-label-desktop,.patient-proto-page .tab-mobile-secondary{display:none}.patient-proto-page .tab-label-mobile,.patient-proto-page .tab.tab-mobile-more{display:inline-flex}.patient-proto-page .tab-mobile-more{position:sticky;right:0;z-index:2;border-color:var(--border-default);background:var(--bg-elevated)}.patient-proto-page .tab-mobile-more.active{border-color:var(--primary);background:var(--primary);color:var(--text-on-primary)}.patient-proto-page .tab>.ui-inline-icon,.patient-proto-page .tab>.count{flex:0 0 auto}.patient-proto-page .patient-mobile-section-nav{display:flex;gap:var(--space-2);min-width:0;padding-bottom:2px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.patient-proto-page .patient-mobile-section-nav::-webkit-scrollbar{display:none}.patient-proto-page .patient-mobile-section-nav>button{min-height:38px;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:8px 12px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-secondary);font-size:.78rem;font-weight:700;white-space:nowrap}.patient-proto-page .patient-mobile-section-nav>button:hover,.patient-proto-page .patient-mobile-section-nav>button:focus-visible{border-color:color-mix(in srgb,var(--primary) 28%,var(--border-default));background:var(--patient-bg-soft);color:var(--primary)}.patient-proto-page .patient-mobile-section-nav .count{min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 5px;border-radius:var(--radius-pill);background:var(--patient-bg-soft);color:var(--text-secondary);font-size:.68rem}.app.practitioner .overlay.patient-mobile-more-overlay,.patient-mobile-more-overlay{display:grid;align-items:end;justify-items:center;padding:calc(var(--topbar-height-mobile) + 12px) 0 calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom))}.patient-proto-page .stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-proto-page .search-result-item{grid-template-columns:1fr}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-practitioner-card:has(.patient-questionnaire-actions-menu[open]){position:relative;z-index:2}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-actions:has(>.patient-questionnaire-actions-menu){width:100%;justify-content:flex-start}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-actions-menu{width:100%;max-width:100%}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-actions-menu>summary{width:-moz-max-content;width:max-content}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-actions-menu .row-menu-list{left:0;right:0;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.patient-proto-page .patient-questionnaire-proto-block .patient-questionnaire-actions-menu .row-menu-list button{min-width:0;white-space:normal;overflow-wrap:anywhere}.patient-proto-page .therapeutic-card .patient-support-actions-popover{max-width:min(220px,calc(100vw - 32px));box-sizing:border-box}.patient-proto-page .therapeutic-card .patient-support-actions-popover button{min-width:0;overflow-wrap:anywhere}}@media(max-width:560px){.patient-proto-page .patient-hero{grid-template-columns:auto minmax(0,1fr)}.patient-proto-page .stats-strip{grid-template-columns:1fr}.patient-proto-page .tag,.patient-proto-page .patient-name small{white-space:normal}}.patient-portal.pc-app{--pc-brand-900: #0f2a6b;--pc-brand-800: #173a8c;--pc-brand-700: var(--primary, #2453b8);--pc-brand-600: var(--focus-ring, #3a6ddb);--pc-brand-200: color-mix(in srgb, var(--primary, #2453b8) 22%, var(--border-default, #e4e9f2));--pc-brand-100: color-mix(in srgb, var(--primary, #2453b8) 12%, var(--bg-elevated, #ffffff));--pc-brand-50: color-mix(in srgb, var(--primary, #2453b8) 6%, var(--bg-elevated, #ffffff));--pc-ink: #0e1830;--pc-text: var(--text-primary, #1b2540);--pc-text-2: var(--text-secondary, #5b6783);--pc-text-3: color-mix(in srgb, var(--text-secondary, #5b6783) 72%, var(--bg-elevated, #ffffff));--pc-line: var(--border-default, #e4e9f2);--pc-line-2: color-mix(in srgb, var(--border-default, #e4e9f2) 62%, var(--bg-elevated, #ffffff));--pc-bg: #f7f8fc;--pc-card: var(--bg-elevated, #ffffff);--pc-success: var(--state-success-fg, #1f8a57);--pc-success-bg: var(--state-success-bg, #e5f4ec);--pc-warn: var(--state-warning-fg, #b5780e);--pc-warn-bg: var(--state-warning-bg, #fbf1dc);--pc-danger: var(--state-danger-fg, #b0364a);--pc-danger-bg: var(--state-danger-bg, #fbe9ec);--pc-r-sm: 10px;--pc-r: 14px;--pc-r-lg: 20px;--pc-r-xl: 28px;--pc-shadow-sm: 0 1px 2px rgba(15, 42, 107, .05), 0 1px 1px rgba(15, 42, 107, .03);--pc-shadow: 0 6px 24px rgba(15, 42, 107, .07), 0 1px 2px rgba(15, 42, 107, .04);--pc-shadow-lg: 0 24px 60px rgba(15, 42, 107, .12), 0 2px 6px rgba(15, 42, 107, .06);--pc-tap: 48px;min-height:100vh;padding-top:76px;background:var(--pc-bg);color:var(--pc-text);font-family:var(--font-family-ui);line-height:1.45}.patient-portal *{box-sizing:border-box}.patient-portal-shell-topbar{position:fixed;top:0;right:0;left:0;z-index:40;width:100%;color:#fff;background:linear-gradient(180deg,var(--pc-brand-800) 0%,var(--pc-brand-700) 100%);box-shadow:var(--shadow-2)}.patient-portal-shell-topbar-inner{max-width:1440px;min-height:76px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(14px,1.5vw,24px)}.patient-portal-brand{display:inline-flex;align-items:center;gap:10px;min-width:0}.patient-portal-logo{display:block;width:auto;height:34px;flex:none}.patient-portal-brand strong,.patient-portal-brand small{display:block;line-height:1.1}.patient-portal-brand strong{font-size:1.05rem;font-weight:800}.patient-portal-brand small{margin-top:3px;opacity:.76;font-size:.78rem;font-weight:650}.patient-portal-shell-topbar .patient-portal-brand{max-width:160px;flex-direction:column;align-items:flex-start;gap:2px}.patient-portal-shell-topbar .patient-portal-logo{max-width:100%;height:32px}.patient-portal-shell-topbar .patient-portal-brand small{margin-top:-5px;margin-left:48px;color:#ffffffd1}.patient-portal-mark{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--pc-brand-800);background:#fff;font-size:1rem;font-weight:900;position:relative;box-shadow:var(--pc-shadow-sm)}.patient-portal-mark:after{content:"";position:absolute;right:-3px;bottom:-3px;width:13px;height:13px;border-radius:999px;border:2px solid var(--pc-brand-700);background:var(--pc-brand-100)}.patient-portal-desktop-tabs{display:flex;align-items:center;justify-content:center;gap:0;min-width:0}.patient-portal-tab{min-width:0;min-height:76px;padding:0 clamp(7px,.75vw,13px);border:0;border-bottom:3px solid transparent;display:inline-flex;align-items:center;gap:6px;color:#ffffffb8;background:transparent;font:inherit;font-size:clamp(.78rem,.9vw,.92rem);font-weight:700;white-space:nowrap;cursor:pointer}.patient-portal-tab svg{width:18px;height:18px}.patient-portal-tab svg path{stroke:currentColor}.patient-portal-tab.active{color:#fff;border-bottom-color:#fff}.patient-portal-tab:hover,.patient-portal-tab:focus-visible{color:#fff;outline:none}.patient-portal-account{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end;min-width:0}.pc-care-space-switch-desktop{width:210px;min-width:0}.pc-care-space-switch-desktop .mantine-Select-root{min-width:0}.pc-care-space-select-input{min-height:40px;overflow:hidden;border:1px solid color-mix(in srgb,var(--action-primary-bg) 24%,var(--text-on-primary));border-radius:var(--radius-pill);color:var(--action-primary-bg);background:var(--text-on-primary);box-shadow:var(--shadow-1);font-family:var(--font-family-ui);font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.pc-care-space-select-input:hover{border-color:var(--text-on-primary);background:var(--text-on-primary);color:var(--action-primary-bg-hover)}.pc-care-space-select-input:focus,.pc-care-space-select-input:focus-visible{border-color:var(--text-on-primary);outline:3px solid color-mix(in srgb,var(--text-on-primary) 58%,transparent);outline-offset:2px}.pc-care-space-select-dropdown{padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.pc-care-space-select-option{min-height:54px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-family-ui)}.pc-care-space-select-option:hover,.pc-care-space-select-option:focus-visible,.pc-care-space-select-option[data-combobox-selected]{background:var(--action-primary-bg);color:var(--text-on-primary)}.pc-care-space-option-copy{min-width:0;display:grid;gap:2px}.pc-care-space-option-copy strong,.pc-care-space-option-copy small{overflow:hidden;color:inherit;text-overflow:ellipsis;white-space:nowrap}.pc-care-space-option-copy strong{font-size:.86rem;font-weight:800}.pc-care-space-option-copy small{opacity:.82;font-size:.74rem;font-weight:650}.patient-portal-shell-topbar .pc-profile-switch>span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0;white-space:nowrap}.patient-portal-shell-topbar .pc-profile-switch select{width:170px}.patient-portal-avatar{min-width:48px;min-height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);color:#fff;font-weight:800}.pc-profile-switch{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:.82rem}.pc-profile-switch select{min-height:36px;max-width:170px;border-radius:999px;border:1px solid rgba(255,255,255,.24);padding:0 12px;color:#fff;background:#ffffff24;font:inherit}.pc-profile-switch select option{color:var(--pc-ink);background:var(--pc-card)}.pc-appointment-timezone{width:-moz-fit-content;width:fit-content;display:inline-flex;align-items:center;color:var(--text-secondary);font-size:.76rem;font-weight:700}.pc-next-rdv-card .pc-appointment-timezone{color:var(--text-on-primary);opacity:.84}.pc-icon-button{width:40px;height:40px;padding:0;border-radius:999px;border:1px solid var(--pc-line);display:inline-flex;align-items:center;justify-content:center;color:var(--pc-text);background:var(--pc-card);font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.pc-icon-button svg{width:18px;height:18px}.pc-icon-button:hover,.pc-icon-button:focus-visible{color:var(--pc-brand-800);background:var(--pc-brand-50);border-color:var(--pc-brand-200);outline:none}.patient-portal-account .pc-icon-button{color:#fff;background:#ffffff1f;border-color:#ffffff3d}.patient-portal-mobile-header,.patient-portal-bottom-tabs{display:none}.patient-portal-content{max-width:1180px;min-height:calc(100vh - 76px);margin:0 auto;padding:32px 40px 60px}.patient-portal-loading{margin:0 0 16px}.pc-screen{display:block;margin:0;padding:0;border-radius:0;background:transparent;box-shadow:none}.pc-screen-head{margin-bottom:24px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.pc-screen-head .pc-muted{margin:6px 0 0;font-size:1.06rem}.pc-mobile-title{display:none}.pc-h1,.pc-h2{margin:0;color:var(--pc-ink);font-weight:800}.pc-h1{font-size:2rem;line-height:1.15}.pc-h2{font-size:1.45rem;line-height:1.2}.pc-eyebrow{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--pc-text-2)}.pc-muted{color:var(--pc-text-2)}.pc-subtle{color:var(--pc-text-3)}.pc-card{background:var(--pc-card);border:1px solid var(--pc-line);border-radius:var(--pc-r-lg);box-shadow:var(--pc-shadow-sm)}.pc-btn{min-height:var(--pc-tap);padding:0 22px;border:1px solid transparent;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--pc-text);background:transparent;font:inherit;font-size:1rem;font-weight:750;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.pc-btn svg{width:18px;height:18px}.pc-btn-primary{color:#fff;background:var(--pc-brand-700)}.pc-btn-primary svg,.pc-btn-primary svg path{color:#fff;stroke:currentColor}.pc-btn-primary:hover,.pc-btn-primary:focus-visible{color:#fff;background:var(--pc-brand-800);outline:none}.pc-btn-ghost{background:transparent;border-color:var(--pc-line)}.pc-btn-ghost:hover,.pc-btn-ghost:focus-visible{color:var(--pc-brand-800);background:var(--pc-brand-50);border-color:var(--pc-brand-200);outline:none}.pc-btn-danger{color:var(--pc-danger);background:var(--pc-danger-bg)}.pc-btn-danger:hover,.pc-btn-danger:focus-visible{background:color-mix(in srgb,var(--pc-danger-bg) 78%,var(--pc-danger));outline:none}.pc-btn-sm{min-height:36px;padding:0 14px;font-size:.88rem}.pc-btn-block{width:100%}.pc-btn-white{color:var(--pc-brand-800);background:#fff}.pc-btn-translucent{color:#fff;background:#ffffff29;border-color:#ffffff4d}.pc-btn-outline-light{color:#fff;border-color:#ffffff4d}.pc-chip{display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;padding:4px 10px;border-radius:999px;color:var(--pc-brand-800);background:var(--pc-brand-100);font-size:.75rem;font-weight:800;line-height:1.25}.pc-chip.success{color:var(--pc-success);background:var(--pc-success-bg)}.pc-chip.warn{color:var(--pc-warn);background:var(--pc-warn-bg)}.pc-chip.danger{color:var(--pc-danger);background:var(--pc-danger-bg)}.pc-chip svg{width:12px;height:12px}.pc-dot{width:8px;height:8px;border-radius:999px;display:inline-block;flex:none;background:currentColor}.pc-label{display:block;margin-bottom:8px;color:var(--pc-text-2);font-size:.88rem;font-weight:800}.pc-input,.pc-select,.pc-textarea{width:100%;border:1px solid var(--pc-line);border-radius:var(--pc-r-sm);color:var(--pc-text);background:var(--pc-card);font:inherit;outline:none}.pc-input,.pc-select{min-height:var(--pc-tap);padding:0 14px}.pc-textarea{min-height:120px;padding:12px 14px;resize:vertical}.pc-input:focus,.pc-select:focus,.pc-textarea:focus{border-color:var(--pc-brand-600);box-shadow:0 0 0 4px var(--pc-brand-100)}.pc-stack{display:grid;gap:12px}.pc-section-title{margin:36px 0 14px;font-size:1.38rem}.pc-next-rdv-card{position:relative;overflow:hidden;padding:32px;color:#fff;background:linear-gradient(135deg,var(--pc-brand-700),var(--pc-brand-800));border-color:transparent;border-radius:24px;box-shadow:var(--pc-shadow)}.pc-next-rdv-card:has(.pc-calendar-menu[open]){overflow:visible;z-index:30}.pc-next-rdv-card:before,.pc-next-rdv-card:after{content:"";position:absolute;border-radius:999px;background:#ffffff14}.pc-next-rdv-card:before{right:-80px;top:-80px;width:240px;height:240px}.pc-next-rdv-card:after{right:60px;bottom:-120px;width:180px;height:180px;background:#ffffff0f}.pc-next-rdv-content{position:relative;z-index:1}.pc-next-rdv-eyebrow{color:#ffffffdb}.pc-next-rdv-main{margin-top:12px;display:flex;align-items:center;gap:24px}.pc-date-tile{width:56px;height:56px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;color:var(--pc-brand-800);background:var(--pc-brand-50)}.pc-date-tile span{font-size:.65rem;font-weight:900;line-height:1;text-transform:uppercase}.pc-date-tile strong{font-size:1.38rem;line-height:1}.pc-date-tile small{font-size:.75rem;opacity:.86}.pc-date-tile-hero{width:auto;min-width:88px;height:auto;min-height:86px;padding:10px 14px;color:#fff;background:#ffffff24}.pc-date-tile-hero strong{font-size:2.25rem}.pc-next-rdv-copy{min-width:0;display:grid;gap:6px}.pc-next-rdv-copy h2{margin:0;color:#fff;font-size:1.75rem;line-height:1.15}.pc-next-rdv-copy p{margin:0;color:#ffffffe6}.pc-next-rdv-actions{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}.pc-next-rdv-mobile-management{display:none}.pc-calendar-menu{position:relative;width:auto;flex:0 0 auto}.pc-calendar-menu>summary.pc-btn{list-style:none;width:auto;min-height:var(--pc-tap);padding:0 22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.pc-next-rdv-card .pc-calendar-menu>summary.pc-btn-translucent{color:#fff;background:#ffffff29;border-color:#ffffff4d}.pc-next-rdv-card .pc-calendar-menu>summary.pc-btn-translucent:hover,.pc-next-rdv-card .pc-calendar-menu>summary.pc-btn-translucent:focus-visible{color:#fff;background:#ffffff38;border-color:#ffffff6b}.pc-calendar-menu summary::-webkit-details-marker{display:none}.pc-calendar-menu .row-menu-list{top:calc(100% + 8px);right:auto;left:0;min-width:220px;z-index:1000;color:var(--pc-text);white-space:nowrap}.pc-rdv-row{padding:20px;display:flex;align-items:center;gap:18px}.pc-rdv-row-main{min-width:0;flex:1;display:flex;align-items:center;gap:14px}.pc-rdv-row-copy{min-width:0;display:grid;gap:5px}.pc-rdv-row-copy>strong{font-size:1rem}.pc-cancelled-appointment-detail{text-decoration:line-through;text-decoration-thickness:1.5px}.pc-rdv-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--pc-text-2);font-size:.9rem}.pc-rdv-meta svg{width:15px;height:15px}.pc-rdv-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pc-history-row{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.pc-history-row-copy{min-width:0}.pc-history-row p{margin:2px 0 0;font-size:.9rem}.pc-history-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pc-empty-card,.pc-notice-card{padding:20px}.pc-empty-card p,.pc-notice-card p{margin:0}.pc-mobile-book{display:none;margin-top:20px}.pc-appointments-scope{width:min(100%,680px);margin:0 0 20px;padding:18px;border:1px solid var(--pc-brand-200);border-radius:var(--pc-r-lg);color:var(--pc-text);background:var(--pc-brand-50);box-shadow:var(--pc-shadow-sm)}.pc-appointments-scope legend{margin-left:-4px;padding:0 4px;display:flex;align-items:center;gap:8px;color:var(--pc-ink);font-size:1rem;font-weight:800}.pc-appointments-scope legend svg{width:20px;height:20px;color:var(--pc-brand-700)}.pc-appointments-scope>p{margin:2px 0 14px;color:var(--pc-text-2);font-size:.88rem}.pc-appointments-scope-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pc-appointments-scope-option{position:relative;min-width:0;min-height:64px;padding:11px 14px;border:1px solid var(--pc-line);border-radius:var(--pc-r);display:flex;align-items:center;gap:11px;color:var(--pc-text);background:var(--pc-card);cursor:pointer;transition:border-color .16s ease-out,background .16s ease-out,color .16s ease-out}.pc-appointments-scope-option:hover{border-color:var(--pc-brand-700)}.pc-appointments-scope-option:focus-within{outline:3px solid color-mix(in srgb,var(--focus-ring) 42%,transparent);outline-offset:2px}.pc-appointments-scope-option.active{border-color:var(--pc-brand-700);color:var(--pc-card);background:var(--pc-brand-700)}.pc-appointments-scope-option input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pc-appointments-scope-radio{width:18px;height:18px;flex:0 0 18px;border:2px solid var(--pc-brand-700);border-radius:var(--radius-pill);background:var(--pc-card);box-shadow:inset 0 0 0 4px var(--pc-card)}.pc-appointments-scope-option.active .pc-appointments-scope-radio{border-color:var(--pc-card);background:var(--pc-card);box-shadow:inset 0 0 0 4px var(--pc-brand-700)}.pc-appointments-scope-copy{min-width:0;display:grid;gap:2px}.pc-appointments-scope-copy strong,.pc-appointments-scope-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-appointments-scope-copy strong{font-size:.9rem}.pc-appointments-scope-copy small{color:var(--pc-text-2);font-size:.76rem}.pc-appointments-scope-option.active .pc-appointments-scope-copy small{color:var(--pc-card)}.pc-appointments-scope-option:has(input:disabled){cursor:wait;opacity:.7}.pc-booking-patient-context{width:-moz-fit-content;width:fit-content;margin-bottom:16px;padding:10px 14px;border:1px solid var(--pc-brand-200);border-radius:var(--radius-pill);display:flex;align-items:center;gap:8px;color:var(--pc-text-2);background:var(--pc-brand-50)}.pc-booking-patient-context svg{width:18px;height:18px;color:var(--pc-brand-700)}.pc-booking-patient-context strong{color:var(--pc-ink)}.pc-book-controls{margin-bottom:16px;padding:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pc-readonly-field{min-height:var(--pc-tap);padding:7px 12px;border:1px solid var(--pc-line);border-radius:var(--pc-r-sm);display:flex;flex-direction:column;justify-content:center;color:var(--pc-ink);background:var(--bg-surface)}.pc-readonly-field span{color:var(--pc-text-2);font-size:.78rem}.pc-booking-multi-hint{margin:0 0 12px;color:var(--state-info-fg);font-weight:700}.pc-week-card{margin-bottom:16px;padding:22px}.pc-week-toolbar{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:8px}.pc-week-nav{display:inline-flex;align-items:center;gap:8px}.pc-week-nav>div{min-width:180px;display:grid;text-align:center}.pc-week-nav span{color:var(--pc-text-3);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.pc-week-nav strong{color:var(--pc-ink)}.pc-week-grid-wrap{overflow-x:auto}.pc-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-width:0}.pc-week-day-head{padding:4px 0 10px;border-bottom:1px solid var(--pc-line-2);display:grid;justify-items:center;gap:2px}.pc-week-day-head span{color:var(--pc-text-2);font-size:.75rem;font-weight:800;text-transform:uppercase}.pc-week-day-head strong{color:var(--pc-ink);font-size:1.25rem}.pc-week-day-slots{padding-top:10px;display:flex;flex-direction:column;gap:6px}.pc-slot-pill{min-height:38px;border:1px solid var(--pc-brand-200);border-radius:8px;color:var(--pc-brand-800);background:var(--pc-brand-50);font:inherit;font-size:.88rem;font-weight:800;cursor:pointer}.pc-slot-pill:hover,.pc-slot-pill.selected{color:#fff;background:var(--pc-brand-700);border-color:var(--pc-brand-700)}.pc-slot-pill.is-unavailable{border-color:var(--state-danger-fg);color:var(--state-danger-fg);background:var(--state-danger-bg);text-decoration:line-through}.pc-empty-slot{padding:12px 4px;color:var(--pc-text-3);text-align:center}.pc-slot-more{justify-self:center;align-self:center;font-size:.78rem}.pc-book-confirm{padding:20px;display:grid;grid-template-columns:minmax(170px,.9fr) minmax(220px,1.2fr) auto;align-items:center;gap:14px}.pc-book-confirm.is-ready{background:var(--pc-brand-50);border-color:var(--pc-brand-200)}.pc-book-confirm-copy{min-width:0}.pc-book-confirm-copy strong{display:block;margin-top:4px;color:var(--pc-ink);font-size:1.18rem}.pc-book-confirm>.pc-muted{margin:0;text-align:center}.pc-form-status{grid-column:1 / -1;margin:0;color:var(--pc-text-2)}.pc-booking-basket{position:sticky;bottom:20px;z-index:25;padding:14px 16px;border:1px solid var(--pc-brand-200);border-radius:var(--pc-r);display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--pc-card);box-shadow:var(--pc-shadow)}.pc-booking-basket>div{display:grid;gap:2px}.pc-booking-basket span{color:var(--pc-text-2);font-size:.82rem}.pc-booking-summary,.pc-booking-success{min-width:0;padding:24px;grid-template-columns:minmax(0,1fr)}.pc-booking-summary{display:grid;gap:20px}.pc-booking-summary>.pc-btn-block{height:auto;min-width:0;min-height:var(--pc-tap);padding-top:10px;padding-bottom:10px;line-height:1.3;overflow-wrap:anywhere;text-align:center;white-space:normal}.pc-booking-summary-head{width:100%;min-width:0;max-width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.pc-booking-summary-head>div{min-width:0}.pc-booking-summary-head .pc-h2{overflow-wrap:anywhere}.pc-booking-summary-head .pc-h2,.pc-booking-summary-head p{margin-bottom:0}.pc-booking-summary-slots,.pc-booking-success-slots{margin:0;padding:0;display:grid;gap:8px;list-style:none}.pc-booking-summary-slots li,.pc-booking-success-slots li{padding:12px 14px;border:1px solid var(--pc-line);border-radius:var(--pc-r-sm);display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-surface)}.pc-booking-summary-slots li>div{display:grid;gap:3px}.pc-booking-summary-slots li span{color:var(--state-danger-fg);font-size:.82rem;font-weight:700}.pc-booking-summary-slots li.is-unavailable{border-color:var(--state-danger-fg);background:var(--state-danger-bg)}.pc-booking-notes{min-height:90px;resize:vertical}.pc-booking-success{display:grid;justify-items:start;gap:18px}.pc-booking-success-icon{width:48px;height:48px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;color:var(--state-success-fg);background:var(--state-success-bg);font-size:1.5rem;font-weight:900}.pc-booking-success-actions{display:flex;flex-wrap:wrap;gap:10px}.pc-document-upload{margin-bottom:22px;padding:24px;border-style:dashed;border-color:var(--pc-brand-200);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;background:var(--pc-brand-50)}.pc-document-upload-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:180px}.pc-document-upload-actions .pc-btn{width:100%}.pc-document-upload-icon{width:52px;height:52px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--pc-brand-700);background:var(--pc-brand-100)}.pc-document-upload-icon svg{width:24px;height:24px}.pc-document-upload-copy{min-width:0;display:grid;gap:8px}.pc-document-upload-copy strong{color:var(--pc-ink);font-size:1.05rem}.pc-document-upload-copy p{margin:0;font-size:.88rem}.pc-file-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.pc-file-button{position:relative;overflow:hidden}.pc-filter-pills{margin-bottom:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pc-filter-pills button{min-height:38px;padding:0 16px;border:1px solid var(--pc-line);border-radius:999px;color:var(--pc-text);background:#fff;font:inherit;font-size:.88rem;font-weight:800;cursor:pointer}.pc-filter-pills button.active{color:#fff;background:var(--pc-brand-700);border-color:var(--pc-brand-700)}.pc-filter-pills span{margin-left:4px;opacity:.72}.pc-message-filter{min-height:var(--pc-tap);display:inline-flex;align-items:center;gap:8px;color:var(--pc-text-2);font-size:.9rem;font-weight:800}.pc-message-layout{display:grid;grid-template-columns:minmax(240px,.82fr) minmax(0,1.6fr);gap:16px;align-items:start}.pc-message-layout.single{grid-template-columns:minmax(0,1fr)}.pc-message-list,.pc-message-thread{min-width:0}.pc-message-list{display:grid;gap:10px}.pc-message-conversation{width:100%;min-height:84px;padding:14px;border:1px solid var(--pc-line);border-radius:var(--pc-r-md);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;color:var(--pc-text);background:var(--pc-card);font:inherit;text-align:left;cursor:pointer}.pc-message-conversation.active,.pc-message-conversation:focus-visible{border-color:var(--pc-brand-500);box-shadow:0 0 0 4px var(--pc-brand-100);outline:none}.pc-message-conversation strong,.pc-message-conversation span span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-message-conversation strong{color:var(--pc-ink);font-size:.95rem}.pc-message-conversation span span,.pc-message-conversation time{color:var(--pc-text-2);font-size:.82rem}.pc-message-thread{border:1px solid var(--pc-line);border-radius:var(--pc-r-lg);background:var(--pc-card);box-shadow:var(--pc-shadow-sm);overflow:hidden}.pc-message-thread-list{min-height:320px;max-height:min(62vh,720px);padding:18px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.pc-message-bubble{width:min(78%,680px);padding:14px 16px;border:1px solid var(--pc-line);border-radius:14px;color:var(--pc-text);background:var(--pc-bg-soft)}.pc-message-bubble.mine{align-self:flex-end;color:#fff;background:var(--pc-brand-700);border-color:var(--pc-brand-700)}.pc-message-meta,.pc-message-badges,.pc-message-attachments,.pc-message-reply-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pc-message-meta{justify-content:space-between;color:var(--pc-text-2);font-size:.82rem}.pc-message-bubble.mine .pc-message-meta{color:#ffffffdb}.pc-message-bubble.mine .pc-message-badges .pc-chip{color:var(--pc-ink)}.pc-message-badges{margin-top:8px}.pc-message-bubble h2{margin:10px 0 6px;color:inherit;font-size:1rem}.pc-message-bubble p{margin:10px 0 0;white-space:pre-wrap}.pc-message-attachments{margin-top:12px}.pc-message-attachment{min-height:36px;max-width:100%;padding:0 12px;border:1px solid var(--pc-line);border-radius:999px;display:inline-flex;align-items:center;gap:8px;color:var(--pc-text);background:var(--pc-card);font:inherit;font-size:.85rem;cursor:pointer}.pc-message-attachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-message-attachment svg{width:15px;height:15px;flex:none}.pc-message-attachment small{color:var(--pc-text-3);white-space:nowrap}.pc-message-reply{padding:14px;border-top:1px solid var(--pc-line);display:grid;gap:10px;background:var(--pc-bg)}.pc-message-reply textarea.pc-input{min-height:104px;padding:12px 14px;resize:vertical}.pc-message-reply-actions{justify-content:space-between}.pc-document-row{padding:18px;display:flex;align-items:center;gap:16px}.pc-document-kind{width:52px;height:64px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex:none;position:relative;overflow:hidden;color:var(--pc-brand-700);background:#e8f0fb;font-size:.7rem;font-weight:900;letter-spacing:.05em}.pc-document-kind.pdf{color:#b5364a;background:#fce9e9}.pc-document-kind span{position:absolute;top:0;right:0;width:12px;height:12px;background:#ffffff6b;clip-path:polygon(0 0,100% 100%,100% 0)}.pc-document-copy{min-width:0;flex:1}.pc-document-copy>strong{display:block;overflow:hidden;color:var(--pc-ink);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.pc-document-meta{margin-top:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--pc-text-2);font-size:.82rem}.pc-document-actions{display:inline-flex;align-items:center;gap:8px;flex:none}.pc-download-button,.pc-delete-button{flex:none}.pc-delete-button{color:var(--pc-danger);background:var(--pc-danger-bg);border-color:color-mix(in srgb,var(--pc-danger) 18%,var(--pc-line))}.pc-delete-button:hover,.pc-delete-button:focus-visible{color:var(--pc-danger);background:color-mix(in srgb,var(--pc-danger-bg) 78%,var(--pc-card));border-color:color-mix(in srgb,var(--pc-danger) 30%,var(--pc-line))}.pc-forms-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}.pc-forms-layout>*,.pc-form-detail,.pc-form-detail-head>*,.pc-question-field{min-width:0}.pc-form-card{padding:18px;display:grid;gap:8px;text-align:left;font:inherit;cursor:pointer}.pc-form-card.todo{border-color:color-mix(in srgb,var(--pc-warn) 42%,var(--pc-line))}.pc-form-card.active{background:var(--pc-brand-50);border-color:var(--pc-brand-700);box-shadow:0 0 0 1px var(--pc-brand-700)}.pc-form-card>strong{color:var(--pc-ink);font-size:1rem}.pc-form-card .pc-btn{width:-moz-fit-content;width:fit-content;margin-top:4px}.pc-form-detail{padding:28px}.pc-form-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.pc-form-detail-head p{margin:8px 0 0}.pc-progress{margin:24px 0 26px;display:grid;grid-template-columns:1fr auto;gap:6px;color:var(--pc-text-2);font-size:.82rem;font-weight:750}.pc-progress>div{grid-column:1 / -1;height:8px;overflow:hidden;border-radius:999px;background:var(--pc-line-2)}.pc-progress>div span{display:block;width:0%;height:100%;background:var(--pc-brand-600)}.pc-questionnaire-section-list,.pc-question-list{display:grid;gap:20px}.pc-questionnaire-section{display:grid;gap:12px}.pc-question-field{display:block}.pc-form-actions{margin-top:30px;padding-top:22px;border-top:1px solid var(--pc-line-2);display:flex;justify-content:space-between;gap:12px}.pc-report-card{padding:26px;display:grid;gap:14px}.pc-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.pc-report-head p{margin:2px 0 0;font-size:.9rem}.pc-report-note{padding:14px 16px;border-left:3px solid var(--pc-brand-600);border-radius:12px;color:var(--pc-text);background:var(--pc-brand-50);line-height:1.6}.pc-report-note .ql-editor{padding:0;min-height:0;white-space:pre-line}.pc-link-button{width:-moz-fit-content;width:fit-content;border:0;padding:0;color:var(--pc-brand-700);background:transparent;font:inherit;font-weight:800;cursor:pointer}.pc-link-button:hover,.pc-link-button:focus-visible{color:var(--pc-brand-800);background:transparent;text-decoration:underline;text-underline-offset:3px;outline:none}@media(min-width:901px)and (max-width:1320px){.patient-portal-shell-topbar-inner{padding:0 18px;gap:14px}.patient-portal-shell-topbar .patient-portal-brand{max-width:140px}.patient-portal-shell-topbar .patient-portal-logo{height:28px}.patient-portal-tab{width:46px;padding:0;justify-content:center;gap:0;font-size:0}.patient-portal-tab svg{width:20px;height:20px}.patient-portal-shell-topbar .pc-profile-switch select,.pc-care-space-switch-desktop{width:160px}}@media(max-width:900px){.patient-portal.pc-app{--pc-mobile-header-bar-height: 64px;--pc-mobile-header-height: calc( var(--pc-mobile-header-bar-height) + env(safe-area-inset-top, 0px) );padding-top:0}.patient-portal-shell-topbar{display:none}.patient-portal-mobile-header{position:fixed;top:0;right:0;left:0;z-index:46;width:100%;height:var(--pc-mobile-header-height);min-height:0;padding:env(safe-area-inset-top,0px) 14px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(148px,220px);align-items:center;gap:12px;color:var(--text-on-primary);background:var(--action-primary-bg);border-bottom:1px solid color-mix(in srgb,var(--action-primary-bg-hover) 78%,var(--text-primary) 22%);box-shadow:var(--shadow-2)}.patient-portal-mobile-header .patient-portal-brand{min-width:0;align-items:flex-start;flex-direction:column;gap:2px}.patient-portal-mobile-header .patient-portal-logo{max-width:100%;height:22px}.patient-portal-mobile-page-title{max-width:100%;margin:0;overflow:hidden;color:var(--text-on-primary);font-size:.72rem;font-weight:750;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.patient-portal-mobile-header .pc-profile-switch-mobile{position:relative;width:100%;min-width:0;display:block;color:var(--text-on-primary);font-size:.78rem}.patient-portal-mobile-header .pc-profile-switch-mobile span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0;white-space:nowrap}.patient-portal-mobile-header .pc-profile-switch-mobile select{display:block;width:100%;max-width:none;min-width:0;min-height:44px;border:1px solid color-mix(in srgb,var(--action-primary-bg) 22%,var(--text-on-primary));border-radius:var(--radius-pill);padding:0 36px 0 12px;overflow:hidden;color:var(--action-primary-bg);background:var(--text-on-primary);box-shadow:var(--shadow-1);font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.patient-portal-mobile-header .pc-profile-switch-mobile select:focus-visible{outline:3px solid color-mix(in srgb,var(--text-on-primary) 68%,transparent);outline-offset:2px}.patient-portal-content{min-height:100vh;padding:calc(var(--pc-mobile-header-height) + var(--space-3)) 18px 104px}.pc-desktop-only,.patient-portal-desktop-tabs{display:none}.pc-screen-head{align-items:flex-start;margin-bottom:18px}.pc-screen-head .pc-h1{font-size:1.625rem}.pc-screen-head .pc-muted{font-size:1rem}.pc-message-filter{width:100%;justify-content:flex-start}.pc-message-layout{grid-template-columns:1fr}.pc-message-thread-list{max-height:none;min-height:240px}.pc-message-bubble{width:100%}.pc-message-reply-actions{align-items:stretch;flex-direction:column}.pc-message-reply-actions .pc-btn{width:100%}.pc-next-rdv-card{padding:14px;border-radius:var(--pc-r-lg)}.pc-next-rdv-main{align-items:flex-start;flex-direction:row;gap:12px}.pc-date-tile-hero{min-width:64px;min-height:68px;padding:6px 9px}.pc-date-tile-hero strong{font-size:1.6rem}.pc-next-rdv-copy h2{font-size:1.18rem}.pc-next-rdv-copy p{font-size:.8rem}.pc-next-rdv-copy>p:first-of-type{display:none}.pc-next-rdv-actions{margin-top:12px}.pc-next-rdv-desktop-management{display:none}.pc-next-rdv-mobile-management{margin-top:10px;display:block}.pc-next-rdv-mobile-management>summary{min-height:40px;border:1px solid color-mix(in srgb,var(--text-on-primary) 38%,transparent);border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;color:var(--text-on-primary);background:color-mix(in srgb,var(--text-on-primary) 14%,transparent);font-size:.84rem;font-weight:800;cursor:pointer;list-style:none}.pc-next-rdv-mobile-management>summary::-webkit-details-marker{display:none}.pc-next-rdv-mobile-management-actions{margin-top:6px;padding:8px;border-radius:var(--pc-r-sm);display:grid;gap:4px;background:var(--pc-card)}.pc-next-rdv-mobile-management-actions button{min-height:38px;border:0;border-radius:var(--pc-r-sm);color:var(--pc-text);background:transparent;font:inherit;text-align:left;cursor:pointer}.pc-next-rdv-mobile-management-actions button:hover,.pc-next-rdv-mobile-management-actions button:focus-visible{color:var(--text-on-primary);background:var(--btn-primary-bg)}.pc-rdv-row{padding:16px;align-items:stretch;flex-direction:column;gap:14px}.pc-rdv-actions{justify-content:flex-start}.pc-mobile-book{display:inline-flex}.pc-mobile-book-top{margin:0 0 18px}.pc-appointments-scope{width:100%;padding:16px}.pc-appointments-scope-options{grid-template-columns:1fr}.pc-appointments-scope-option{min-height:62px}.pc-history-row{align-items:stretch;flex-direction:column}.pc-history-row-actions{justify-content:flex-start}.pc-book-controls{padding:16px;grid-template-columns:1fr}.pc-week-card{padding:14px}.pc-week-toolbar{align-items:flex-start;flex-direction:column}.pc-week-nav{width:100%;justify-content:space-between}.pc-week-nav>div{min-width:120px}.pc-week-grid{grid-template-columns:repeat(7,78px);min-width:-moz-max-content;min-width:max-content}.pc-book-confirm{padding:16px;grid-template-columns:1fr}.pc-booking-basket{bottom:84px;align-items:stretch;flex-direction:column}.pc-booking-basket .pc-btn{width:100%}.pc-booking-summary,.pc-booking-success{padding:18px}.pc-booking-summary-head{flex-direction:column}.pc-booking-summary-slots li{align-items:flex-start;flex-direction:column}.pc-booking-success-actions,.pc-booking-success-actions .pc-btn{width:100%}.pc-document-upload{padding:18px;grid-template-columns:1fr;align-items:stretch}.pc-document-upload-icon{width:52px}.pc-document-upload-actions{min-width:0}.pc-document-row{padding:14px;gap:12px}.pc-document-kind{width:44px;height:56px}.pc-forms-layout{grid-template-columns:1fr}.pc-forms-layout>.pc-stack{grid-auto-flow:column;grid-auto-columns:min(320px,82vw);overflow-x:auto;padding:1px 1px 8px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}.pc-forms-layout>.pc-stack .pc-form-card{scroll-snap-align:start}.pc-form-detail{display:block;padding:22px}.pc-report-card{padding:18px}.patient-portal-bottom-tabs{position:fixed;right:0;bottom:0;left:0;z-index:45;display:grid;grid-template-columns:repeat(var(--patient-portal-tab-count, 6),minmax(0,1fr));padding:7px 5px 16px;border-top:1px solid var(--pc-line);background:#fff}.patient-portal-bottom-tabs button{min-width:0;min-height:50px;border:0;border-radius:10px;display:grid;justify-items:center;align-content:center;gap:3px;color:var(--pc-text-3);background:transparent;font:inherit;font-size:.64rem;font-weight:800;line-height:1;cursor:pointer}.patient-portal-bottom-tabs button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-portal-bottom-tabs button.active{color:var(--pc-brand-700)}.patient-portal-bottom-tabs svg{width:20px;height:20px}.patient-portal-bottom-tabs svg path{stroke:currentColor}}@media(max-width:520px){.patient-portal-mobile-header{grid-template-columns:minmax(0,1fr) minmax(140px,50vw)}.patient-portal-mobile-header .pc-profile-switch-mobile{width:100%}.pc-form-detail{padding:18px}.pc-form-detail-head{align-items:flex-start;flex-direction:column}.pc-next-rdv-actions,.pc-rdv-actions,.pc-form-actions{align-items:stretch;flex-direction:column}.pc-next-rdv-actions .pc-btn,.pc-rdv-actions .pc-btn,.pc-form-actions .pc-btn{width:100%}.pc-document-row{align-items:flex-start}}:root,[data-theme=perle-bleutee]{--planning-blue: var(--primary);--planning-blue-deep: var(--primary-hover);--planning-blue-soft: color-mix(in srgb, var(--primary) 10%, var(--bg-elevated));--planning-blue-softer: color-mix(in srgb, var(--primary) 5%, var(--bg-elevated));--planning-ink: var(--text-primary);--planning-ink-2: color-mix(in srgb, var(--text-primary) 84%, var(--text-secondary));--planning-ink-3: var(--text-secondary);--planning-line: var(--border-default);--planning-line-soft: var(--border-subtle);--planning-bg-warm: color-mix(in srgb, var(--bg-app) 38%, var(--bg-elevated));--planning-cream: var(--state-warning-bg);--planning-cream-line: color-mix(in srgb, var(--state-warning-fg) 22%, var(--border-default));--planning-danger: var(--state-danger-fg);--planning-grid-shadow: 0 1px 3px color-mix(in srgb, var(--text-primary) 7%, transparent);--planning-secondary-action-bg: var(--state-warning-bg);--planning-secondary-action-fg: var(--state-warning-fg);--planning-secondary-action-border: color-mix( in srgb, var(--state-warning-fg) 28%, var(--border-default) );--planning-quarter-line: color-mix(in srgb, var(--border-default) 57%, transparent);--planning-half-hour-line: color-mix(in srgb, var(--text-secondary) 19%, transparent)}.local-actions.planning-local-actions .local-actions-inner{background:linear-gradient(180deg,var(--planning-blue-softer) 0%,var(--bg-app) 100%);border-bottom:1px solid var(--planning-line)}.local-actions.planning-local-actions .local-actions-title{color:var(--planning-ink-3);font-weight:800}.local-actions.planning-local-actions .local-actions-row{gap:.55rem}.local-actions.planning-local-actions .week-control{background:var(--bg-elevated);border:1px solid var(--planning-line);border-radius:12px;padding:4px;box-shadow:var(--shadow-1)}.local-actions.planning-local-actions .week-range{min-width:150px;color:var(--planning-ink);font-size:.84rem;font-weight:800;text-align:center}.local-actions.planning-local-actions .week-control>.week-nav-arrow{width:30px;min-width:30px;height:30px;min-height:30px;border-radius:9px;color:var(--planning-blue)}.local-actions.planning-local-actions .week-control>.week-nav-arrow:hover,.local-actions.planning-local-actions .week-control>.week-nav-arrow:focus-visible{background:var(--planning-blue);color:#fff}.planning-view-segmented{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--planning-line);border-radius:var(--radius-pill);background:var(--bg-elevated);box-shadow:var(--shadow-1)}.planning-view-segmented button{min-height:29px;padding:.28rem .72rem;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--planning-ink-2);font-size:.8rem;font-weight:800}.planning-view-segmented button.active{background:var(--planning-blue);color:#fff}.local-actions.planning-local-actions .local-actions-row button.planning-today-button{background:var(--planning-blue-soft);color:var(--planning-blue-deep);border-color:color-mix(in srgb,var(--planning-blue) 16%,var(--planning-line));border-radius:var(--radius-pill);font-weight:800}.local-actions.planning-local-actions .local-actions-row button.planning-tools-trigger,.local-actions.planning-local-actions .local-actions-row button.planning-openings-toggle,.local-actions.planning-local-actions .local-actions-row .planning-practitioner-select select{border-radius:var(--radius-pill)}.local-actions.planning-local-actions .local-actions-row button.planning-openings-toggle{background:var(--planning-cream);color:var(--state-warning-fg);border-color:var(--planning-cream-line)}.local-actions.planning-local-actions .local-actions-row button.planning-openings-toggle.active{background:var(--planning-blue);color:#fff;border-color:var(--planning-blue)}.content-shell.content-shell-planning .availability-layout{background:transparent}.content-shell.content-shell-planning .availability-board,.content-shell.content-shell-planning .planning-calendar{padding:12px 14px 14px;border:0;border-radius:0;background:transparent}.content-shell.content-shell-planning .availability-board.planning-board{gap:0}.content-shell.content-shell-planning .planning-board .availability-days,.content-shell.content-shell-planning .planning-board .availability-grid{background:var(--bg-elevated);border-right:1px solid var(--planning-line);border-left:1px solid var(--planning-line)}.content-shell.content-shell-planning .planning-board .availability-days{border-top:1px solid var(--planning-line);border-top-left-radius:14px;border-top-right-radius:14px;overflow:hidden;box-shadow:var(--planning-grid-shadow)}.content-shell.content-shell-planning .planning-board .availability-grid{border-bottom:1px solid var(--planning-line);border-bottom-left-radius:14px;border-bottom-right-radius:14px;overflow:hidden;box-shadow:var(--planning-grid-shadow)}.content-shell.content-shell-planning .planning-board .availability-time-head,.content-shell.content-shell-planning .planning-board .planning-inline-tasks-time-head,.content-shell.content-shell-planning .planning-board .availability-time-col{background:var(--planning-bg-warm)}.content-shell.content-shell-planning .planning-board .availability-time-head{min-height:56px;color:var(--planning-ink-3);font-size:.75rem;font-weight:800}.content-shell.content-shell-planning .planning-board .planning-inline-tasks-time-head{min-height:34px;color:var(--planning-ink-3);font-size:.75rem;font-weight:800}.content-shell.content-shell-planning .planning-board .availability-day-head{min-height:56px;padding:0;border-left:1px solid var(--planning-line-soft);border-bottom:1px solid var(--planning-line-soft);background:var(--bg-elevated)}.content-shell.content-shell-planning .planning-board .availability-day-head.today{background:var(--planning-blue-softer);box-shadow:inset 0 -2px 0 var(--planning-blue)}.availability-day-head-label{display:inline-flex;align-items:baseline;justify-content:center;gap:.42rem;min-width:0}.availability-day-head-weekday{color:var(--planning-ink-3);font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.availability-day-head-number{color:var(--planning-ink);font-size:1.04rem;font-weight:800;font-variant-numeric:tabular-nums}.availability-day-head.today .availability-day-head-label{padding:0;border:0;border-radius:0;background:transparent;color:inherit}.content-shell.content-shell-planning .planning-board .planning-inline-task-cell{min-height:34px;padding:.22rem .28rem;border-left:1px solid var(--planning-line-soft);border-bottom:1px solid var(--planning-line-soft);background:var(--bg-elevated)}.planning-inline-public-holiday-pill,.planning-inline-holiday-pill,.planning-inline-task-single,.planning-inline-task-accordion>summary,.planning-inline-task-add{min-height:26px;border-radius:8px;box-shadow:none}.planning-inline-holiday-pill{background:color-mix(in srgb,var(--planning-cream) 32%,transparent);border-color:color-mix(in srgb,var(--state-warning-fg) 12%,var(--border-default));color:color-mix(in srgb,var(--state-warning-fg) 74%,var(--text-secondary))}.planning-inline-task-single,.planning-inline-task-accordion>summary{background:var(--bg-elevated);border-color:var(--planning-line);color:var(--planning-ink)}.content-shell.content-shell-planning .planning-board .availability-time-label{color:var(--planning-ink-3);border-bottom-color:var(--planning-line-soft);font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums}.content-shell.content-shell-planning .planning-board .availability-day{border-left:1px solid var(--planning-line-soft);background-color:var(--bg-elevated);background-image:linear-gradient(to bottom,color-mix(in srgb,var(--planning-line-soft) 74%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--planning-ink-3) 24%,transparent) 1px,transparent 1px)}.availability-block.planning-open-slot{left:6px;right:6px;border:1px dashed color-mix(in srgb,var(--planning-blue) 58%,var(--planning-line));border-radius:12px;background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--planning-blue) 8%,transparent) 0,color-mix(in srgb,var(--planning-blue) 8%,transparent) 7px,transparent 7px,transparent 14px),color-mix(in srgb,var(--planning-blue) 8%,var(--bg-elevated));color:var(--planning-blue-deep);padding:.5rem .58rem}.availability-block.planning-open-slot:before{content:none}.availability-block.planning-open-slot strong{color:var(--planning-blue-deep);font-size:.7rem;font-weight:800;letter-spacing:0;text-transform:uppercase;font-variant-numeric:tabular-nums}.availability-block.planning-open-slot .availability-badge{background:color-mix(in srgb,var(--bg-elevated) 78%,var(--planning-blue-soft));border-color:color-mix(in srgb,var(--planning-blue) 13%,var(--planning-line));color:var(--planning-ink-3);font-size:.63rem;text-transform:none}.availability-appointment{background:linear-gradient(90deg,var(--appointment-accent, var(--planning-blue)) 0 3px,transparent 3px),color-mix(in srgb,var(--appointment-accent, var(--planning-blue)) 18%,var(--bg-elevated));color:var(--planning-ink);border:1px solid color-mix(in srgb,var(--appointment-accent, var(--planning-blue)) 22%,var(--planning-line));border-radius:12px;padding:3px 7px 4px 9px;box-shadow:none}.availability-appointment:hover,.availability-appointment:focus-visible{box-shadow:none;transform:translateY(-1px)}.availability-appointment strong,.availability-appointment .patient-name-link.patient-name-link-inline,.availability-appointment .availability-appointment-name-inline{color:var(--planning-ink);font-weight:800}.availability-appointment .availability-appointment-meta-inline,.availability-appointment .availability-appointment-note-inline{color:var(--planning-ink-2)}.availability-appointment.block{--appointment-accent: var(--planning-danger)}.availability-appointment.cancelled{background:linear-gradient(90deg,var(--state-danger-fg) 0 3px,transparent 3px),var(--state-danger-bg)!important;color:var(--state-danger-fg)!important;border-color:color-mix(in srgb,var(--state-danger-fg) 22%,var(--planning-line))}.availability-appointment-resize-handle{position:absolute;left:12px;right:12px;height:7px;z-index:3;cursor:ns-resize}.availability-appointment-resize-handle-top{top:0}.availability-appointment-resize-handle-bottom{bottom:0}.availability-appointment-resize-handle:after{content:"";position:absolute;left:40%;right:40%;height:2px;border-radius:999px;background:color-mix(in srgb,var(--appointment-accent, var(--planning-blue)) 70%,transparent);opacity:0;transition:opacity .15s ease-out}.availability-appointment-resize-handle-top:after{top:2px}.availability-appointment-resize-handle-bottom:after{bottom:2px}.availability-appointment:hover .availability-appointment-resize-handle:after{opacity:1}.availability-selection{border:1px dashed var(--planning-blue);border-radius:12px;background:color-mix(in srgb,var(--planning-blue) 12%,transparent)}.planning-hover-preview{position:fixed;z-index:80;width:260px;padding:.75rem .85rem;border:1px solid var(--planning-line);border-radius:12px;background:var(--bg-elevated);color:var(--planning-ink);box-shadow:var(--shadow-3);display:grid;gap:.18rem;pointer-events:none}.planning-hover-preview-time{color:var(--planning-blue);font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums}.planning-hover-preview strong{font-size:.94rem}.planning-hover-preview-type{color:var(--planning-ink-3);font-size:.82rem}.planning-hover-preview-note{color:var(--planning-ink-3);font-size:.82rem;font-style:italic}.planning-hover-preview-indicators{display:grid;align-items:start;gap:.3rem;width:100%;max-width:100%;margin-top:.22rem;color:var(--planning-blue)}.planning-hover-preview-indicator{display:grid;grid-template-columns:1.1rem minmax(0,1fr);align-items:center;gap:.4rem;width:100%;min-width:0;color:var(--planning-ink-2);font-size:.78rem;line-height:1.25}.planning-hover-preview-indicator .appointment-indicator-icon{width:.95rem;height:.95rem;color:var(--planning-blue)}.planning-openings-banner{background:linear-gradient(180deg,var(--planning-blue) 0%,var(--planning-blue-deep) 100%);border:0;border-radius:14px;color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--planning-blue) 20%,transparent)}.planning-openings-banner-badge{border:1px solid color-mix(in srgb,#ffffff 25%,transparent);background:color-mix(in srgb,#ffffff 14%,transparent);color:#fff}.planning-openings-banner-copy h3,.planning-openings-banner-copy p,.planning-openings-banner-meta{color:#fff}.appointment-detail-overlay{align-items:stretch;justify-content:flex-end;background:color-mix(in srgb,var(--text-primary) 26%,transparent);padding:0}.appointment-detail-modal{width:min(420px,100vw);max-width:min(420px,100vw);height:100vh;max-height:none;margin:0;border-radius:0;border:0;border-left:1px solid var(--planning-line);box-shadow:-18px 0 36px color-mix(in srgb,var(--text-primary) 16%,transparent);animation:appointment-detail-slide-in .18s ease-out;overflow-y:auto}@keyframes appointment-detail-slide-in{0%{transform:translate(24px);opacity:.7}to{transform:translate(0);opacity:1}}.appointment-detail-header{margin:-1.25rem -1.25rem 1rem;padding:1.25rem;background:linear-gradient(180deg,color-mix(in srgb,var(--planning-blue) 10%,var(--bg-elevated)),var(--bg-elevated));border-bottom:1px dashed var(--planning-line)}.appointment-detail-section-title{border-style:dashed;background:var(--planning-blue-softer);color:var(--planning-blue-deep)}.appointment-detail-grid .modal-row{padding:.58rem 0;border-bottom:1px dashed var(--planning-line-soft)}@media(max-width:760px){.planning-view-segmented{display:none}.appointment-detail-modal{width:100vw;max-width:100vw}}.app.practitioner:has(.content-shell-planning),.app.practitioner:has(.content-shell-planning) .content-shell,.app.practitioner:has(.content-shell-planning) .content-shell>section{background:#fbfaf6}.local-actions.planning-local-actions{background:linear-gradient(180deg,#f4f7fe,#fbfaf6);border-bottom:1px solid #e5e7ee;box-shadow:none}.local-actions.planning-local-actions .local-actions-inner{min-height:var(--local-actions-height);padding:0 22px;gap:10px;justify-content:flex-start}.local-actions.planning-local-actions .local-actions-title{display:none}.local-actions.planning-local-actions .local-actions-row{width:100%;gap:10px;flex-wrap:nowrap;justify-content:flex-start}.local-actions.planning-local-actions .planning-left-controls{display:contents}.local-actions.planning-local-actions .planning-date-controls{order:0}.local-actions.planning-local-actions .planning-today-button{order:1}.local-actions.planning-local-actions .planning-view-segmented{order:2}.local-actions.planning-local-actions .planning-practitioner-select-desktop{margin-left:auto}.local-actions.planning-local-actions .week-control{height:42px;min-width:244px;padding:4px;border-radius:12px;border-color:#e5e7ee;background:#fff;box-shadow:0 1px 2px #0f285a0a;gap:4px}.local-actions.planning-local-actions .week-range{min-width:168px;padding:0 12px;color:#1b1f2a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.05}.week-range-context{color:#6b7388;font-size:9.5px;font-weight:800;letter-spacing:0;text-transform:uppercase}.week-range-main{color:#1b1f2a;font-size:13.5px;font-weight:800;text-transform:none}.local-actions.planning-local-actions .week-control>.week-nav-arrow{width:32px;min-width:32px;height:32px;min-height:32px;color:#1853d8;border-radius:9px}.local-actions.planning-local-actions .local-actions-row button.planning-today-button{min-height:36px;padding:0 14px;border:0;border-radius:999px;background:#e8effe;color:#0f3faf;font-size:13px;font-weight:700}.planning-view-segmented{height:36px;padding:3px;border-color:#e5e7ee;border-radius:999px;background:#fff;box-shadow:0 1px 2px #0f285a0a}.planning-view-segmented button{min-height:28px;padding:5px 12px;color:#3a4154;font-size:12.5px;font-weight:800}.planning-view-segmented button.active{background:#1853d8;color:#fff}.local-actions.planning-local-actions .planning-practitioner-select{height:42px;padding:0;border:0;background:transparent}.local-actions.planning-local-actions .planning-practitioner-select>span{display:none}.local-actions.planning-local-actions .planning-practitioner-select select{height:42px;min-width:210px;padding:0 38px 0 18px;border:1px solid #e5e7ee;border-radius:12px;background-color:#fff;color:#1b1f2a;font-size:18px;font-weight:500;box-shadow:0 1px 2px #0f285a0a}.local-actions.planning-local-actions .local-actions-row button.planning-tools-trigger,.local-actions.planning-local-actions .local-actions-row button.planning-openings-toggle,.local-actions.planning-local-actions .local-actions-row button.unavailability-trigger,.local-actions.planning-local-actions .local-actions-row button.primary{min-height:36px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:700;box-shadow:none}.local-actions.planning-local-actions .local-actions-row button.planning-tools-trigger{background:#fff;color:#3a4154;border-color:#e5e7ee}.local-actions.planning-local-actions .local-actions-row button.planning-openings-toggle,.local-actions.planning-local-actions .local-actions-row button.unavailability-trigger{background:var(--planning-secondary-action-bg);color:var(--planning-secondary-action-fg);border-color:var(--planning-secondary-action-border)}.local-actions.planning-local-actions .local-actions-row button.ghost.planning-openings-toggle:not(.active),.local-actions.planning-local-actions .local-actions-row button.ghost.unavailability-trigger{background:var(--subnav-bg);color:var(--subnav-text);border:1px solid var(--subnav-border)}.local-actions.planning-local-actions .local-actions-row button.ghost.planning-openings-toggle:not(.active):hover,.local-actions.planning-local-actions .local-actions-row button.ghost.planning-openings-toggle:not(.active):focus-visible,.local-actions.planning-local-actions .local-actions-row button.ghost.unavailability-trigger:hover,.local-actions.planning-local-actions .local-actions-row button.ghost.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.planning-local-actions .local-actions-row button.primary{background:#1853d8;color:#fff;border-color:#1853d8;box-shadow:0 2px 6px #1853d84d}.content-shell.content-shell-planning{background:#fbfaf6;padding-bottom:0}.content-shell.content-shell-planning>section,.content-shell.content-shell-planning .content-shell-main>section{padding:0}.content-shell.content-shell-planning .availability-layout{gap:0;padding-top:0}.content-shell.content-shell-planning .availability-board,.content-shell.content-shell-planning .planning-calendar{padding:0 14px}.content-shell.content-shell-planning .planning-board .availability-days,.content-shell.content-shell-planning .planning-board .availability-grid{border-color:#e5e7ee;background:#fff}.content-shell.content-shell-planning .planning-board .availability-days,.content-shell.content-shell-planning .planning-board .availability-grid{box-shadow:0 1px 3px #0f285a08}.content-shell.content-shell-planning .planning-board .availability-time-head,.content-shell.content-shell-planning .planning-board .planning-inline-tasks-time-head,.content-shell.content-shell-planning .planning-board .availability-time-col{background:#fafaf7}.content-shell.content-shell-planning .planning-board .availability-time-head{min-height:56px;padding-right:10px;color:#6b7388;font-size:13px;font-weight:700}.content-shell.content-shell-planning .planning-board .planning-inline-tasks-time-head{min-height:42px;padding-right:10px;color:#6b7388;border-bottom-color:#eef0f5;font-size:13px;font-weight:700}.content-shell.content-shell-planning .planning-board .availability-day-head{min-height:56px;border-color:#eef0f5}.availability-day-head-weekday{color:#6b7388;font-size:11px;font-weight:700}.availability-day-head-number{color:#1b1f2a;font-size:17px;font-weight:800}.content-shell.content-shell-planning .planning-board .availability-day-head.today{background:#f4f7fe;box-shadow:inset 16px -2px 0 -14px #1853d8,inset -16px -2px 0 -14px #1853d8}.content-shell.content-shell-planning .planning-board .planning-inline-task-cell{min-height:42px;padding:4px 6px;border-color:#eef0f5}.planning-inline-task-single,.planning-inline-task-accordion>summary,.planning-inline-public-holiday-pill,.planning-inline-holiday-pill,.planning-inline-task-add{min-height:28px;border-radius:9px}.planning-inline-task-single{border-color:#e5e7ee;background:#fff7da}.planning-inline-task-single-title{color:#3a4154;font-size:11.5px;font-weight:800}.planning-inline-public-holiday-pill{background:color-mix(in srgb,var(--state-danger-bg) 32%,transparent);border-color:color-mix(in srgb,var(--state-danger-fg) 12%,var(--border-default));color:color-mix(in srgb,var(--state-danger-fg) 74%,var(--text-secondary))}.planning-inline-calendar-notice{min-width:0;width:100%;padding:2px 1px;border:0;border-radius:0;background:transparent;color:var(--text-secondary);font-size:11.5px;font-weight:500;line-height:1.3;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-shell.content-shell-planning .planning-board .availability-time-label{align-items:flex-start;padding-top:0;padding-right:10px;color:var(--text-secondary);border-top:1px solid var(--planning-quarter-line);border-bottom:0;font-size:11px;font-weight:500;font-family:var(--font-family-ui);line-height:1}.content-shell.content-shell-planning .planning-board .planning-time-label{height:var(--slot-height)}.content-shell.content-shell-planning .planning-board .planning-time-label.is-half-hour-line{border-top:2px solid var(--planning-half-hour-line)}.content-shell.content-shell-planning .planning-board .planning-time-label.is-half-hour{color:color-mix(in srgb,var(--text-secondary) 58%,transparent);font-size:10px;font-weight:400}.content-shell.content-shell-planning .planning-board .availability-day{border-left-color:var(--border-soft);background-color:var(--bg-elevated);background-image:none}.content-shell.content-shell-planning .planning-board .availability-slot{box-sizing:border-box;border-top:1px solid var(--planning-quarter-line)}.content-shell.content-shell-planning .planning-board .availability-slot.is-half-hour-line{border-top:2px solid var(--planning-half-hour-line)}.availability-block.planning-open-slot{left:10px;right:10px;border:1px dashed color-mix(in srgb,#1853d8 45%,#e5e7ee);border-radius:12px;background:repeating-linear-gradient(-45deg,rgba(24,83,216,.045) 0,rgba(24,83,216,.045) 8px,transparent 8px,transparent 16px),#e8effe47;padding:10px}.availability-block.planning-open-slot strong{color:#1853d8;font-size:11px;font-weight:800}.availability-block.planning-open-slot .availability-badge{min-height:20px;padding:2px 7px;border-radius:999px;background:#ffffffb8;border-color:#e5e7ee;color:#6b7388;font-size:11px;font-weight:700}.availability-block strong{display:block;line-height:1.08}.availability-block .availability-block-period{display:block;margin-top:2px;color:var(--planning-ink-2);font-size:10.5px;font-weight:700;line-height:1.05}.availability-block .availability-badges{gap:3px;margin-top:3px}.availability-block .availability-badge,.availability-block.planning-open-slot .availability-badge{min-height:0;max-width:none;height:auto;line-height:1.05;white-space:normal;overflow:visible;text-overflow:clip}.availability-block.planning-open-slot .availability-block-content{display:grid;align-content:start;gap:2px}.availability-appointment{min-height:0;border-radius:9px;border:1px solid color-mix(in srgb,var(--appointment-accent, #1853d8) 34%,rgba(255,255,255,.94));background:linear-gradient(90deg,var(--appointment-accent, #1853d8) 0 6px,transparent 6px),color-mix(in srgb,var(--appointment-accent, #1853d8) 34%,#ffffff);color:#1b1f2a;padding:4px 7px 4px 10px;box-shadow:none;line-height:1.05}.availability-appointment strong{color:#1b1f2a;font-size:max(10px,var(--appt-inline-size, 10px));font-weight:800}.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{color:#1b1f2a;font-size:max(11px,var(--appt-inline-name-size, 11px));font-weight:800}.availability-appointment:hover,.availability-appointment:focus-visible{box-shadow:none;transform:none}.availability-appointment.cancelled{border-color:#fffffff0;background:linear-gradient(90deg,#d24a3d 0 3px,transparent 3px),#fbe7e4!important;color:#1b1f2a!important}.planning-footer-summary{height:32px;padding:0 22px;background:#fbfaf6;color:#6b7388;font-size:12px}.planning-footer-bookable-link,.planning-footer-count-button{color:#1853d8;font-size:12px;font-weight:700;text-decoration-style:dashed;text-underline-offset:3px}.planning-footer-count{color:#6b7388;font-size:12px;font-weight:500}.planning-footer-count-link-label{color:#1853d8;font-weight:800}.planning-footer-tools{--planning-footer-tool-width: 118px;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;max-width:min(780px,58vw);overflow-x:auto;scrollbar-width:none}.planning-footer-tools::-webkit-scrollbar{display:none}.planning-footer-tool{flex:0 0 var(--planning-footer-tool-width);width:var(--planning-footer-tool-width);min-width:var(--planning-footer-tool-width);height:30px;min-height:30px;padding:0 9px;border:1px solid #e5e7ee;border-radius:999px;background:#fff;color:#3a4154;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:11.5px;font-weight:800;line-height:1.25;white-space:nowrap;cursor:pointer;box-shadow:0 1px 2px #0f285a0a}.planning-footer-tool:hover,.planning-footer-tool:focus-visible{border-color:color-mix(in srgb,#1853d8 34%,#e5e7ee);background:#e8effe;color:#0f3faf}.planning-footer-tool.active{border-color:#1853d8;background:#1853d8;color:#fff}.planning-footer-tool.danger:hover,.planning-footer-tool.danger:focus-visible{border-color:color-mix(in srgb,#d24a3d 42%,#e5e7ee);background:#fbe7e4;color:#8f2d3b}.planning-footer-tool:disabled{cursor:not-allowed;opacity:.55}.planning-footer-tool-icon,.planning-footer-tool-icon svg{width:13px;height:13px;flex:0 0 auto}.planning-footer-tool-label{min-width:0;overflow:hidden;text-overflow:ellipsis;line-height:1.25}@media(max-width:1450px){.planning-footer-tools{--planning-footer-tool-width: 108px;gap:5px;max-width:min(680px,54vw)}.planning-footer-tool{padding-inline:8px;font-size:11px}}.availability-appointment{--appointment-fill: color-mix(in srgb, var(--appointment-accent, #1853d8) 34%, #ffffff);background:linear-gradient(90deg,var(--appointment-accent, #1853d8) 0 6px,transparent 6px),var(--appointment-fill)!important;padding-right:34px}.availability-appointment:hover,.availability-appointment:focus-visible{background:linear-gradient(90deg,var(--appointment-accent, #1853d8) 0 6px,transparent 6px),var(--appointment-fill)!important;color:#1b1f2a}.availability-appointment.cancelled{--appointment-fill: #fbe7e4;background:linear-gradient(90deg,#d24a3d 0 3px,transparent 3px),var(--appointment-fill)!important}.availability-appointment-card-indicators{position:absolute;top:50%;right:7px;transform:translateY(-50%);z-index:2;display:inline-flex;align-items:center;justify-content:flex-end;color:#1b1f2a;pointer-events:none}.availability-appointment-card-indicators:empty{display:none}.availability-appointment-card-indicators .appointment-indicators{margin:0;gap:3px}.availability-appointment-card-indicators .appointment-indicator-icon{width:12px;height:12px}.availability-appointment{display:grid;align-content:center;padding:4px 34px 4px 10px}.availability-appointment.compact,.availability-appointment.tight,.availability-appointment.tight.single-line{padding-left:10px}.availability-appointment.compact{padding-top:2px;padding-bottom:2px}.availability-appointment.tight,.availability-appointment.tight.single-line{padding-top:0;padding-bottom:0}.availability-appointment strong{min-width:0;width:100%}.availability-appointment-main{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;min-width:0;width:100%}.availability-appointment-row{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden}.availability-appointment-time{flex:0 0 auto;color:#1b1f2a;font-size:max(10px,var(--appt-time-size, 10px));font-weight:800;font-variant-numeric:tabular-nums}.availability-appointment.single-line .availability-appointment-name-inline{display:inline-flex;flex:0 1 auto;align-items:center;min-width:0;overflow:hidden}.availability-appointment.single-line .availability-appointment-patient-links{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability-appointment .availability-appointment-row .availability-appointment-note-text{flex:1 1 0;min-width:0;overflow:hidden;color:var(--text-secondary);font-size:max(9px,calc(var(--appt-inline-size, 10px) - .5px));font-weight:500;font-style:italic;line-height:1.1;text-align:left;text-overflow:ellipsis;white-space:nowrap}.availability-appointment .availability-appointment-type-line{display:grid!important;grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:baseline;gap:8px;width:100%!important;max-width:100%;min-width:0;overflow:visible;color:#3a4154;font-size:max(10px,calc(var(--appt-inline-size, 10px) - .5px));font-weight:600;line-height:1.3;white-space:nowrap}.availability-appointment .availability-appointment-type-text{min-width:0;width:auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;justify-self:start}.availability-appointment .availability-appointment-note-text{min-width:0;width:auto;max-width:100%;overflow:visible;text-overflow:clip;font-weight:500;font-style:italic;justify-self:end;text-align:right}.availability-appointment.tight .availability-appointment-main{gap:0}.availability-appointment.tight .availability-appointment-type-line{display:grid;width:100%}.availability-appointment:hover,.availability-appointment:focus-visible,.availability-appointment .patient-name-link.patient-name-link-inline:hover,.availability-appointment .patient-name-link.patient-name-link-inline:focus-visible{background:linear-gradient(90deg,var(--appointment-accent, #1853d8) 0 6px,transparent 6px),var(--appointment-fill)!important;color:#1b1f2a!important;box-shadow:none;outline:none;transform:none}.app.practitioner .overlay.appointment-detail-overlay,.overlay.appointment-detail-overlay{inset:calc(var(--topbar-height) + var(--local-actions-height)) 0 auto auto;width:368px;height:calc(100dvh - var(--topbar-height) - var(--local-actions-height));align-items:flex-start;justify-content:flex-end;place-items:start end;background:transparent;padding:12px 14px 12px 0;box-sizing:border-box;pointer-events:none}.appointment-detail-modal{width:340px;max-width:340px;height:auto;max-height:calc(100dvh - var(--topbar-height) - var(--local-actions-height) - 24px);margin:0;padding:0;border:1px solid #e5e7ee;border-radius:14px;background:#fff;box-shadow:0 6px 24px #0f285a14;overflow:hidden;pointer-events:auto}.appointment-detail-modal .close{top:12px;right:12px;z-index:2;width:28px;height:28px;border-radius:6px;color:#3a4154;background:transparent;box-shadow:none}.appointment-detail-header{margin:0;padding:14px 44px 12px 18px;border-bottom:1px solid #eef0f5;background:color-mix(in srgb,var(--appointment-detail-accent, var(--primary)) 14%,var(--bg-elevated))}.appointment-detail-context{color:var(--text-primary);font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.appointment-detail-title-row{align-items:flex-start;gap:8px}.appointment-detail-title{margin-top:4px;color:#1b1f2a;font-size:19px;font-weight:800;line-height:1.18}.appointment-detail-title-link{color:#1b1f2a;font-size:inherit;font-weight:inherit}.appointment-detail-title-link:hover,.appointment-detail-title-link:focus-visible{color:#1b1f2a;text-decoration:underline}.appointment-detail-subtitle{margin-top:2px;color:#3a4154;font-size:12.5px}.appointment-detail-subtitle-main{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0}.appointment-detail-date-label:after,.appointment-detail-time-label:after{content:"·";margin:0 6px;color:#6b7388}.appointment-detail-duration-label{color:#3a4154}.appointment-detail-edit-button{min-height:24px;margin-left:6px;padding:0 10px;border:1px solid #e5e7ee;border-radius:999px;background:#fff;color:#1b1f2a;font-size:12px;font-weight:700;line-height:1}.appointment-detail-edit-button:hover,.appointment-detail-edit-button:focus-visible{border-color:#1853d8;color:#1853d8;background:#fff}.appointment-detail-grid{padding:18px;overflow-y:auto}.appointment-detail-section-title{margin:0 0 6px;padding:0;border:0;background:transparent;color:#6b7388;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.appointment-detail-section-title-spaced{margin-top:18px;margin-bottom:8px}.appointment-detail-grid .modal-row{display:flex;align-items:center;gap:0;padding:9px 0;border-bottom:1px dashed #eef0f5}.appointment-detail-grid .modal-row>strong{display:inline-flex;align-items:center;width:112px;min-width:112px;color:#6b7388;font-size:12.5px;font-weight:500}.appointment-detail-grid .appointment-detail-cancellation-reason-row>strong{width:150px;min-width:150px;white-space:normal}.appointment-detail-grid .appointment-detail-planning-note-row{align-items:flex-start;gap:12px}.appointment-detail-grid .appointment-detail-planning-note-row>strong{width:150px;min-width:150px;white-space:normal}.appointment-detail-grid .appointment-detail-planning-note-row>span{overflow-wrap:anywhere}.appointment-detail-row-icon{width:22px;min-width:22px;color:#6b7388;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.appointment-detail-row-icon svg{width:14px;height:14px;display:block;stroke-width:2}.appointment-detail-grid .modal-row>span,.appointment-detail-grid .modal-row>div{flex:1 1 auto;min-width:0;color:#1b1f2a;font-size:13px;font-weight:600}.appointment-detail-type-trigger{min-height:28px;padding:0;border:0;background:transparent;box-shadow:none}.appointment-detail-type-trigger:hover,.appointment-detail-type-trigger:focus-visible{background:transparent}.appointment-detail-type-badge{min-height:22px;border-radius:999px}.appointment-detail-note-box{padding:12px;border-radius:10px;background:#fafaf7;color:#3a4154;font-size:12.5px;font-weight:500;line-height:1.5}.appointment-detail-primary-actions{display:flex;gap:8px;margin-top:18px}.appointment-detail-proto-button{flex:1 1 0;height:32px;padding:0 14px;border:1px solid #e5e7ee;border-radius:999px;background:#fff;color:#1b1f2a;font-size:13px;font-weight:600;white-space:nowrap}.appointment-detail-proto-button-primary{border-color:#1853d8;background:#1853d8;color:#fff}.appointment-detail-actions{margin:0;padding:0 18px 18px}.appointment-detail-action-row-inline{grid-template-columns:1fr 1fr;gap:8px}.appointment-status-button{min-height:34px;padding:0 10px;border-radius:999px;font-size:12.5px}.availability-appointment .patient-name-link.patient-name-link-inline,.availability-appointment .patient-name-link.patient-name-link-inline:hover,.availability-appointment .patient-name-link.patient-name-link-inline:focus-visible{background:transparent!important;color:#1b1f2a!important;box-shadow:none!important}.availability-appointment .patient-name-link.patient-name-link-inline{text-decoration:none;text-underline-offset:2px;cursor:pointer}.availability-appointment .patient-name-link.patient-name-link-inline:hover,.availability-appointment .patient-name-link.patient-name-link-inline:focus-visible{text-decoration:underline;text-decoration-thickness:1px}.availability-appointment.single-line .availability-appointment-main,.availability-appointment.tight.single-line .availability-appointment-main{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;align-content:center;min-width:0}.availability-appointment.single-line .availability-appointment-row,.availability-appointment.tight.single-line .availability-appointment-row{display:flex;align-items:center;min-width:0}.availability-appointment.single-line .availability-appointment-type-line,.availability-appointment.tight.single-line .availability-appointment-type-line{display:grid;width:100%;min-width:0;color:#3a4154;font-size:max(9.5px,calc(var(--appt-inline-size, 10px) - .5px));font-weight:600;line-height:1.05;overflow:hidden;white-space:nowrap}.availability-appointment.tight.single-line .availability-appointment-time,.availability-appointment.tight.single-line .availability-appointment-name-inline,.availability-appointment.tight.single-line .availability-appointment-patient-links,.availability-appointment.tight.single-line .patient-name-link.patient-name-link-inline{line-height:1}@media(min-width:641px){.availability-appointment.tight.single-line{padding:1px 34px 1px 10px}.availability-appointment.tight.single-line strong{font-size:var(--appt-inline-size, 7.7px);line-height:1}.availability-appointment.tight.single-line .availability-appointment-main{gap:0}.availability-appointment.tight.single-line .availability-appointment-time{font-size:var(--appt-time-size, 6.1px)}.availability-appointment.tight.single-line .availability-appointment-patient-links,.availability-appointment.tight.single-line .patient-name-link.patient-name-link-inline,.availability-appointment.tight.single-line .availability-appointment-name-inline{font-size:var(--appt-inline-name-size, 8.7px)}.availability-appointment.tight.single-line .availability-appointment-type-line{font-size:calc(var(--appt-inline-size, 7.7px) - .5px);line-height:1}}@media(max-width:640px){.availability-appointment{padding-right:26px}.availability-appointment strong{font-size:var(--appt-inline-size, 8px)}.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{font-size:var(--appt-inline-name-size, 8px)}.availability-appointment-time{font-size:var(--appt-time-size, 7px)}.availability-appointment .availability-appointment-type-line,.availability-appointment.single-line .availability-appointment-type-line,.availability-appointment.tight.single-line .availability-appointment-type-line{font-size:calc(var(--appt-inline-size, 8px) - .5px)}.availability-appointment-card-indicators{right:5px}.availability-appointment-card-indicators .appointment-indicators{max-width:20px;gap:2px;overflow:hidden}.availability-appointment-card-indicators .appointment-indicator-icon{flex:0 0 9px;width:9px;height:9px}}.content-shell.content-shell-planning .availability-board,.content-shell.content-shell-planning .planning-calendar,.content-shell.content-shell-planning .month-view{margin:0;padding:0}.content-shell.content-shell-planning .planning-board .availability-days,.content-shell.content-shell-planning .planning-board .availability-grid{border-radius:0}@media(min-width:761px){.local-actions.planning-local-actions+.content-shell.content-shell-planning{margin-top:-14px}}.app.practitioner .overlay.appointment-detail-overlay,.overlay.appointment-detail-overlay{top:0;right:0;bottom:0;left:0;width:auto;height:auto;place-items:center;align-items:center;justify-content:center;background:#0f172a66;padding:calc(var(--topbar-height) + 14px) 1rem 1rem;pointer-events:auto}.appointment-detail-modal{width:min(720px,94vw);max-width:min(720px,94vw);max-height:calc(100dvh - var(--topbar-height) - 32px);display:flex;flex-direction:column;overflow:hidden}.appointment-detail-modal .appointment-detail-grid{flex:1 1 auto;min-height:0;overflow-y:auto}.appointment-detail-modal .appointment-detail-actions{flex:0 0 auto;max-height:160px;overflow-y:auto}.local-actions.planning-local-actions .planning-practitioner-select-desktop{margin-left:0}.local-actions.planning-local-actions .planning-practitioner-select{height:36px}.local-actions.planning-local-actions .planning-practitioner-select select{height:36px;min-width:170px;padding:0 34px 0 14px;border:1px solid #e5e7ee;border-radius:999px;background-color:#fff;color:#3a4154;font-size:13px;font-weight:700;box-shadow:none}.local-actions.planning-local-actions .local-actions-row button.primary{margin-left:auto}.local-actions.planning-local-actions .planning-date-controls,.local-actions.planning-local-actions .planning-view-segmented,.local-actions.planning-local-actions .planning-today-button{order:0}.local-actions.planning-local-actions .planning-tools-menu{margin-left:auto}.local-actions.planning-local-actions .local-actions-row button.primary{margin-left:0}.appointment-detail-modal .appointment-detail-header{padding-top:8px;padding-bottom:8px}.appointment-detail-modal .appointment-detail-grid{padding:8px 16px}.appointment-detail-modal .appointment-detail-section-title{margin-bottom:1px;font-size:10px;line-height:1.2}.appointment-detail-modal .appointment-detail-section-title-spaced{margin-top:6px;margin-bottom:3px}.appointment-detail-modal .modal-row{padding:3px 0;min-height:26px}.appointment-detail-modal .modal-row>strong,.appointment-detail-modal .modal-row>span,.appointment-detail-modal .modal-row>div{font-size:12.5px;line-height:1.2}.appointment-detail-modal .appointment-detail-row-icon{width:20px;min-width:20px}.appointment-detail-modal .appointment-detail-row-icon svg{width:13px;height:13px}.appointment-detail-modal .appointment-detail-note-box{padding:7px 9px;font-size:12.5px;line-height:1.25}.appointment-detail-modal .appointment-detail-primary-actions{margin-top:8px}.appointment-detail-modal .appointment-detail-actions{padding:0 16px 8px}.appointment-detail-modal .appointment-detail-action-row-inline{gap:6px}.appointment-detail-modal .appointment-status-button{min-height:30px;padding:0 9px;font-size:12px}.appointment-detail-modal .appointment-detail-title{margin-top:2px;font-size:18px}.appointment-detail-modal .appointment-detail-subtitle{margin-top:1px;font-size:12px}.appointment-detail-modal .appointment-detail-edit-button{min-height:22px;padding:0 9px;font-size:11.5px}@media(max-width:480px){.appointment-detail-grid .appointment-detail-planning-note-row{flex-direction:column;gap:3px}.appointment-detail-grid .appointment-detail-planning-note-row>strong{width:auto;min-width:0}}.content-shell.content-shell-waitlist{max-width:none;height:calc(100dvh - var(--topbar-height));min-height:calc(100dvh - var(--topbar-height));padding:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}.content-shell.content-shell-waitlist .content-shell-layout,.content-shell.content-shell-waitlist .content-shell-main{min-height:0;flex:1 1 auto;display:flex;flex-direction:column}.content-shell.content-shell-waitlist>section{flex:1 1 auto;min-height:0}.pc-waitlist{--pcw-blue: #1e40c8;--pcw-blue-50: #eff3ff;--pcw-blue-100: #dde6ff;--pcw-blue-tab-bg: #eef3ff;--pcw-ink: #0c1322;--pcw-ink-2: #2a3142;--pcw-mute: #5b6478;--pcw-mute-2: #8b94a8;--pcw-mute-3: #c0c5d2;--pcw-line: #e6e8ee;--pcw-line-2: #eef0f5;--pcw-bg: #f5f6f9;--pcw-bg-soft: #fafbfd;--pcw-amber: #f5a623;--pcw-amber-bg: #fff3dd;--pcw-amber-ink: #8a5a00;--pcw-green: #1f8a5b;--pcw-green-bg: #e6f4ec;--pcw-green-ink: #0f5d3c;--pcw-red: #c83030;--pcw-red-bg: #fdecec;--pcw-purple-bg: #efeaff;--pcw-purple-ink: #4a2eb8;--pcw-orange-bg: #fff3dd;--pcw-orange-ink: #d97706;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);height:100%;min-height:calc(100dvh - var(--topbar-height));background:#fff;font-family:Plus Jakarta Sans,-apple-system,system-ui,sans-serif;color:var(--pcw-ink);overflow:hidden}.pc-waitlist-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff;overflow:hidden}.pc-waitlist .pc-header{padding:22px 28px 0;border-bottom:1px solid var(--pcw-line-2);display:flex;flex-direction:column;gap:18px;flex-shrink:0}.pc-waitlist .pc-header-row{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap}.pc-waitlist .pc-header-title{display:flex;flex-direction:column;gap:4px;min-width:0}.pc-waitlist .pc-header-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.2px;color:var(--pcw-mute-2)}.pc-waitlist .pc-header-title h1{margin:0;font-size:32px;font-weight:800;letter-spacing:-1px;line-height:1;color:var(--pcw-ink);display:inline-flex;align-items:baseline;gap:8px}.pc-waitlist .pc-header-title-suffix{color:var(--pcw-mute);font-weight:500;font-size:18px}.pc-waitlist .pc-header-stats{font-size:13px;color:var(--pcw-mute)}.pc-waitlist .pc-header-stats b{color:var(--pcw-ink-2);font-weight:700}.pc-waitlist .pc-public-share{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:8px 8px 8px 14px;background:linear-gradient(135deg,#eef3ff,#e8eeff);border:1px solid color-mix(in srgb,var(--pcw-blue) 18%,transparent);border-radius:12px}.pc-waitlist .pc-public-share-text{display:flex;flex-direction:column;line-height:1.2}.pc-waitlist .pc-public-share-label{font-size:10.5px;font-weight:700;letter-spacing:1px;color:var(--pcw-blue)}.pc-waitlist .pc-public-share-url{font-size:12.5px;color:var(--pcw-ink-2)}.pc-waitlist .pc-public-share-btn{border:none;padding:7px 11px;border-radius:8px;font-size:12.5px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-family:inherit;line-height:1}.pc-waitlist .pc-public-share-btn svg{width:13px;height:13px}.pc-waitlist .pc-public-share-btn-copy{background:#fff;color:var(--pcw-blue)}.pc-waitlist .pc-public-share-btn-open{background:var(--pcw-blue);color:#fff}.pc-waitlist .pc-header-actions{display:inline-flex;align-items:center;gap:8px}.pc-waitlist .pc-status-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1;border:1px solid transparent}.pc-waitlist .pc-status-chip-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.pc-waitlist .pc-status-chip.is-online{color:#1f8a5b;background:color-mix(in srgb,#1f8a5b 12%,#fff);border-color:color-mix(in srgb,#1f8a5b 25%,transparent)}.pc-waitlist .pc-status-chip.is-offline{color:#6b7280;background:#f1f3f7;border-color:#e2e6ee}.pc-waitlist .pc-settings-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:8px;font-size:12.5px;font-weight:700;font-family:inherit;line-height:1;background:#fff;color:var(--pcw-ink-2);border:1px solid var(--pcw-border, #e2e6ee);cursor:pointer}.pc-waitlist .pc-settings-btn:hover{background:#f7f9fc}.pc-waitlist .pc-settings-btn svg{width:14px;height:14px}.pc-waitlist .pc-tabs-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:4px}.pc-waitlist .pc-tabs{display:inline-flex;align-items:center;gap:2px;flex-wrap:nowrap;white-space:nowrap}.pc-waitlist .pc-desktop-smart-tabs{display:inline-flex;align-items:stretch}.pc-waitlist .pc-tab{background:transparent;border:none;border-bottom:2.5px solid transparent;margin-bottom:-1px;padding:10px 14px 12px;color:var(--pcw-ink-2);font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:7px;line-height:1}.pc-waitlist .pc-tab.is-active{border-bottom-color:var(--pcw-blue);color:var(--pcw-blue);font-weight:700}.pc-waitlist .pc-tab-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.pc-waitlist .pc-tab-dot.tone-warning{background:var(--state-warning-fg)}.pc-waitlist .pc-tab-dot.tone-success{background:var(--state-success-fg)}.pc-waitlist .pc-tab-dot.tone-muted{background:var(--text-secondary)}.pc-waitlist .pc-tab-dot.tone-neutral{background:var(--border-default)}.pc-waitlist .pc-tab-icon{font-size:13px;opacity:.7}.pc-waitlist .pc-tab.is-active .pc-tab-icon{opacity:1}.pc-waitlist .pc-tab-count{font-size:11.5px;font-weight:700;background:var(--pcw-line-2);color:var(--pcw-mute);padding:1px 8px;border-radius:999px;line-height:1.4}.pc-waitlist .pc-tab.is-active .pc-tab-count{background:var(--pcw-blue-100);color:var(--pcw-blue)}.pc-waitlist .pc-tabs-sep{width:1px;background:var(--pcw-line);margin:6px 8px;align-self:stretch}.pc-waitlist .pc-toolbar{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding-bottom:10px;flex-shrink:0}.pc-waitlist .pc-search{display:inline-flex;align-items:center;gap:8px;background:var(--pcw-bg);border-radius:10px;padding:7px 12px;width:220px}.pc-waitlist .pc-search-icon{width:14px;height:14px;color:var(--pcw-mute-2)}.pc-waitlist .pc-search input{border:none;background:transparent;outline:none;font-size:13.5px;flex:1;font-family:inherit;min-width:0;color:var(--pcw-ink)}.pc-waitlist .pc-tool-btn{border:1px solid var(--pcw-line);background:#fff;color:var(--pcw-ink-2);padding:7px 12px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:inherit;white-space:nowrap;line-height:1}.pc-waitlist .pc-tool-btn svg{width:13px;height:13px}.pc-waitlist .pc-mobile-filter-toggle,.pc-waitlist .pc-mobile-filters,.pc-waitlist .pc-mobile-active-filter{display:none}.pc-waitlist .pc-table-wrap{flex:1 1 auto;min-height:0;overflow-y:auto}.pc-waitlist .pc-table{width:100%;border-collapse:collapse;font-size:14px;color:var(--pcw-ink)}.pc-waitlist .pc-table thead tr{background:var(--pcw-bg-soft);border-bottom:1px solid var(--pcw-line);position:sticky;top:0;z-index:1}.pc-waitlist .pc-table thead th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.8px;color:var(--pcw-mute-2);padding:11px 14px;text-transform:uppercase}.pc-waitlist .pc-row{border-bottom:1px solid var(--pcw-line-2);cursor:pointer;transition:background .12s ease}.pc-waitlist .pc-row:hover{background:#f9fafd}.pc-waitlist .pc-row.is-selected{background:var(--pcw-blue-tab-bg)}.pc-waitlist .pc-cell{padding:14px;vertical-align:middle}.pc-waitlist .pc-cell-patient{position:relative;min-width:280px}.pc-waitlist .pc-row-rail{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--pcw-blue);border-radius:0 4px 4px 0}.pc-waitlist .pc-row-patient{display:flex;align-items:center;gap:11px;min-width:0}.pc-waitlist .pc-row-patient-body{min-width:0;display:flex;flex-direction:column;gap:3px}.pc-waitlist .pc-row-patient-name{font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--pcw-ink)}.pc-waitlist .pc-row-patient-age{color:var(--pcw-mute-2);font-weight:500;font-size:13px}.pc-waitlist .pc-row-patient-phone{font-size:12px;color:var(--pcw-mute-2);display:inline-flex;align-items:center;gap:6px}.pc-waitlist .pc-row-patient-phone-icon{width:11px;height:11px}.pc-waitlist .pc-row-inscrit-main{font-weight:600;color:var(--pcw-ink-2);font-size:13px}.pc-waitlist .pc-row-inscrit-main.is-warn{color:var(--pcw-amber-ink)}.pc-waitlist .pc-row-inscrit-date{font-size:11px;color:var(--pcw-mute-2);margin-top:2px}.pc-waitlist .pc-cell-note{max-width:220px;color:var(--pcw-mute);font-size:13px}.pc-waitlist .pc-row-note-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pc-waitlist .pc-row-note-empty{color:var(--pcw-mute-3)}.pc-waitlist .pc-cell-actions{text-align:right;white-space:nowrap}.pc-waitlist .pc-row-actions{display:inline-flex;gap:4px}.pc-waitlist .pc-mobile-row-status,.pc-waitlist .pc-mobile-actions-toggle,.pc-waitlist .pc-mobile-row-actions{display:none}.pc-waitlist .pc-action-btn{width:30px;height:30px;border:none;border-radius:8px;background:var(--pcw-bg);color:var(--pcw-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit;padding:0;line-height:1}.pc-waitlist .pc-action-btn:disabled{opacity:.45;cursor:not-allowed}.pc-waitlist .pc-action-btn svg{width:15px;height:15px}.pc-waitlist .pc-action-btn.tone-green{background:var(--pcw-green-bg);color:var(--pcw-green)}.pc-waitlist .pc-action-btn.tone-red{background:var(--pcw-red-bg);color:var(--pcw-red)}.pc-waitlist .pc-action-btn.tone-grey{background:var(--pcw-bg);color:var(--pcw-mute)}.pc-waitlist .pc-action-btn.tone-orange-active{background:var(--pcw-orange-bg);color:var(--pcw-orange-ink)}.pc-waitlist .pc-empty{padding:60px 20px;text-align:center;color:var(--pcw-mute-2);font-size:14px}.pc-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;position:relative;flex-shrink:0}.pc-avatar-flame{position:absolute;right:-2px;bottom:-2px;width:14px;height:14px;border-radius:50%;background:#ff5a3c;border:2px solid #fff;font-size:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff}.pc-week-strip{display:inline-flex;flex-direction:column;gap:3px}.pc-week-strip-empty{font-size:12px;color:var(--pcw-mute-3)}.pc-week-strip-grid,.pc-week-strip-labels{display:inline-flex}.pc-week-strip-col{display:flex;flex-direction:column;gap:1px;align-items:center}.pc-week-strip-cell{border-radius:2px;display:inline-block;background:var(--pcw-line-2)}.pc-week-strip-cell.is-am{background:var(--pcw-blue)}.pc-week-strip-cell.is-pm{background:var(--pcw-blue);opacity:.7}.pc-week-strip-cell.is-off{background:var(--pcw-line-2)}.pc-week-strip-label{font-size:10px;text-align:center;color:var(--pcw-mute-3);font-weight:500}.pc-week-strip-label.is-on{color:var(--pcw-ink-2);font-weight:700}.pc-week-strip.is-lg .pc-week-strip-label{font-size:11px}.pc-week-strip-legend{display:flex;gap:14px;margin-top:4px;font-size:11px;color:var(--pcw-mute-2)}.pc-week-strip-legend>span{display:inline-flex;align-items:center;gap:5px}.pc-motif-row{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center;position:relative}.pc-motif-row-wrap{display:flex;flex-wrap:wrap}.pc-motif-empty{color:var(--pcw-mute-3);font-size:13px}.pc-motif-pill{padding:4px 10px;border-radius:6px;font-weight:600;font-size:12.5px;white-space:nowrap;display:inline-block}.pc-motif-pill.is-default{background:var(--pcw-blue-50);color:var(--pcw-blue)}.pc-motif-pill.is-visio{background:#f0e8ff;color:#5e30b8}.pc-motif-more{border:1px dashed var(--pcw-mute-3);background:#fff;color:var(--pcw-mute);padding:3px 8px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;line-height:1.4}.pc-motif-popover{position:absolute;top:100%;left:0;margin-top:6px;background:#fff;border:1px solid var(--pcw-line);border-radius:10px;padding:8px;box-shadow:0 8px 24px #141e3c26;display:flex;flex-direction:column;gap:5px;z-index:10;white-space:nowrap}.pc-dup-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:6px;white-space:nowrap;line-height:1.4}.pc-dup-chip.is-compact{padding:2px 7px}.pc-dup-chip-icon{font-weight:700}.pc-dup-chip.is-patient{background:var(--pcw-green-bg);color:var(--pcw-green-ink)}.pc-dup-chip.is-refus{background:var(--pcw-amber-bg);color:var(--pcw-amber-ink)}.pc-dup-chip.is-list{background:var(--pcw-purple-bg);color:var(--pcw-purple-ink)}.pc-rx-chip{border:1px solid #d6e2c8;background:#f4f9eb;color:#3d6622;padding:3px 9px 3px 7px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-family:inherit;white-space:nowrap;line-height:1.4}.pc-rx-chip.is-compact{padding:2px 7px 2px 6px;font-size:11.5px}.pc-rx-chip-icon{width:11px;height:11px}.pc-rx-card{display:flex;align-items:stretch;gap:12px;padding:12px;border:1px solid var(--pcw-line);border-radius:12px;background:#fff}.pc-rx-thumb{width:60px;height:78px;flex-shrink:0;border-radius:8px;border:1px solid var(--pcw-line-2);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.pc-rx-thumb.is-image{background:linear-gradient(135deg,#dbe7ff,#c4d1ff)}.pc-rx-thumb.is-doc{background:linear-gradient(180deg,#fff,#f1f5e8)}.pc-rx-thumb-emoji{font-size:22px}.pc-rx-thumb-lines{position:absolute;top:8px;right:8px;bottom:8px;left:8px;display:flex;flex-direction:column;gap:3px}.pc-rx-thumb-lines span{height:2px;background:#c8d2bf;border-radius:1px;display:block}.pc-rx-thumb-badge{position:absolute;bottom:4px;left:4px;color:#fff;font-size:9px;font-weight:800;letter-spacing:.5px;padding:1px 5px;border-radius:3px;text-transform:uppercase;line-height:1.4}.pc-rx-thumb-badge.is-image{background:var(--pcw-blue)}.pc-rx-thumb-badge.is-doc{background:#3d6622}.pc-rx-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pc-rx-meta-name{font-weight:700;font-size:13px;color:var(--pcw-ink);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-rx-meta-line{font-size:11.5px;color:var(--pcw-mute-2)}.pc-rx-meta-actions{display:flex;gap:6px;margin-top:auto}.pc-waitlist .pc-status-badge{font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap;display:inline-block}.pc-status-badge.status-pending{background:var(--pcw-amber-bg);color:var(--pcw-amber-ink)}.pc-status-badge.status-accepted{background:var(--pcw-green-bg);color:var(--pcw-green-ink)}.pc-status-badge.status-rejected{background:var(--pcw-line-2);color:var(--pcw-mute)}.pc-waitlist .pc-btn,.pc-drawer .pc-btn{border:none;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;line-height:1;background:#fff;color:var(--pcw-ink-2)}.pc-waitlist .pc-btn:disabled,.pc-drawer .pc-btn:disabled{opacity:.5;cursor:not-allowed}.pc-btn-icon{width:14px;height:14px}.pc-waitlist .pc-btn.pc-btn-primary,.pc-drawer .pc-btn.pc-btn-primary{background:var(--pcw-blue);color:#fff}.pc-waitlist .pc-btn.pc-btn-success,.pc-drawer .pc-btn.pc-btn-success{background:var(--pcw-green);color:#fff}.pc-waitlist .pc-btn.pc-btn-danger,.pc-drawer .pc-btn.pc-btn-danger{background:var(--pcw-red);color:#fff}.pc-waitlist .pc-btn.pc-btn-outline,.pc-drawer .pc-btn.pc-btn-outline{background:#fff;border:1px solid var(--pcw-line);color:var(--pcw-ink-2)}.pc-waitlist .pc-btn.pc-btn-ghost,.pc-drawer .pc-btn.pc-btn-ghost{background:transparent;color:var(--pcw-mute)}.pc-btn.pc-btn-grow{flex:1 1 0}.pc-btn.pc-btn-icon{width:38px;height:38px;padding:0;background:var(--pcw-bg);color:var(--pcw-mute);flex:0 0 auto}.pc-btn.pc-btn-icon.is-urgent{background:var(--pcw-orange-bg);color:var(--pcw-orange-ink)}.pc-drawer-shell{width:380px;transition:width .28s cubic-bezier(.4,0,.2,1);overflow:hidden;flex-shrink:0;background:#fff;border-left:1px solid var(--pcw-line)}.pc-drawer-shell.is-closed{width:0;border-left-color:transparent}.pc-drawer-inner{width:380px;height:100%;transform:translate(0);opacity:1;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .22s ease}.pc-drawer-shell.is-closed .pc-drawer-inner{transform:translate(20px);opacity:0}.pc-drawer{width:380px;height:100%;display:flex;flex-direction:column;overflow:hidden;background:#fff}.pc-drawer-header{padding:22px 22px 16px;border-bottom:1px solid var(--pcw-line-2)}.pc-drawer-identity{display:flex;align-items:center;gap:12px}.pc-drawer-identity-text{flex:1;min-width:0}.pc-drawer-identity-text h2{margin:0;font-size:19px;font-weight:800;letter-spacing:-.4px;color:var(--pcw-ink)}.pc-drawer-identity-text p{margin:1px 0 0;font-size:13px;color:var(--pcw-mute-2)}.pc-drawer-close{border:none;background:var(--pcw-bg);width:32px;height:32px;border-radius:8px;cursor:pointer;color:var(--pcw-mute);display:inline-flex;align-items:center;justify-content:center;padding:0}.pc-drawer-close svg{width:18px;height:18px}.pc-drawer-close svg [stroke]{stroke:currentColor!important}.pc-drawer-close:hover,.pc-drawer-close:focus-visible{background:var(--pcw-blue);color:var(--text-on-primary)}.pc-drawer-tags{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}.pc-drawer-urgent{background:#fff5ef;color:#c2410c;font-size:12px;font-weight:600;padding:3px 9px;border-radius:6px;display:inline-flex;align-items:center;gap:4px}.pc-drawer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}.pc-drawer-actions.is-secondary{margin-top:4px;display:flex}.pc-drawer-actions .pc-btn{min-width:0;width:100%}.pc-drawer-body{flex:1;overflow-y:auto;padding:4px 22px 22px}.pc-drawer-section{margin-top:22px}.pc-drawer-section-head{display:flex;align-items:center;margin-bottom:10px}.pc-drawer-section-head h3{margin:0;font-size:11px;font-weight:700;letter-spacing:1px;color:var(--pcw-mute-2);flex:1;text-transform:uppercase}.pc-drawer-section-aside{font-size:11px;font-weight:600;color:var(--pcw-mute-2)}.pc-drawer-field{display:flex;align-items:center;padding:6px 0;border-bottom:1px solid #f4f5f9;font-size:13px;gap:12px}.pc-drawer-field.is-stacked{align-items:flex-start;flex-direction:column;gap:4px}.pc-drawer-field-label{width:110px;color:var(--pcw-mute-2);display:flex;align-items:center;gap:6px;font-size:12.5px}.pc-drawer-field.is-stacked .pc-drawer-field-label{width:auto}.pc-drawer-field-value{flex:1;color:var(--pcw-ink-2);font-weight:500;min-width:0;word-break:break-word}.pc-drawer-field-icon{width:12px;height:12px;color:var(--pcw-mute-2)}.pc-question-answers{display:grid;gap:10px}.pc-question-answer{display:grid;gap:6px;padding:12px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm)}.pc-question-answer-label{color:var(--text-secondary);font-size:12px;font-weight:600;line-height:1.45}.pc-question-answer-value{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.pc-question-answer-empty{color:var(--text-secondary);font-size:13px;font-style:italic}.pc-question-answer-chips{display:flex;flex-wrap:wrap;gap:6px}.pc-question-answer-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;color:var(--state-info-fg);background:var(--state-info-bg);border-radius:var(--radius-pill);font-size:12px;font-weight:600;line-height:1.35}.pc-drawer-availability{background:var(--pcw-bg-soft);border:1px solid var(--pcw-line-2);border-radius:10px;padding:14px 14px 12px}.pc-drawer-availability-details{display:grid;gap:5px;margin-top:12px;padding-top:10px;border-top:1px solid var(--pcw-line-2);color:var(--pcw-ink-2);font-size:12px;line-height:1.45}.pc-drawer-availability-details-label{color:var(--pcw-mute-2);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pc-drawer-textarea{width:100%;min-height:70px;border:1px solid var(--pcw-line);border-radius:8px;padding:10px 12px;font-size:13px;font-family:inherit;resize:vertical;background:var(--pcw-bg-soft);color:var(--pcw-ink);outline:none}.pc-drawer-textarea:focus{border-color:var(--pcw-blue)}.pc-dup-resolve{background:linear-gradient(135deg,#fffaf0,#fff5e0);border:1px solid #f3e3a3;border-radius:12px;padding:14px;margin-bottom:18px}.pc-dup-resolve-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13.5px;color:var(--pcw-ink)}.pc-dup-resolve-note{font-size:12px;color:var(--pcw-mute);margin:0 0 12px}.pc-dup-resolve-actions{display:flex;gap:6px;flex-wrap:wrap}.pc-dup-resolve-list{list-style:none;margin:12px 0 0;padding:0;font-size:12px;color:var(--pcw-ink-2);display:flex;flex-direction:column;gap:4px}.pc-history{position:relative;padding-left:14px}.pc-history-line{position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,#e6e8ee 0%,#e6e8ee 70%,transparent 100%);border-radius:1px}.pc-history-empty{font-size:13px;color:var(--pcw-mute-2);padding:6px 0;margin:0}.pc-history-item{position:relative;display:flex;gap:10px;padding:6px 0}.pc-history-node{position:absolute;left:-14px;top:8px;width:12px;height:12px;border-radius:50%;background:#f1f3f7;border:2px solid #8b94a8;box-shadow:0 0 0 3px #fff}.pc-history-item.tone-green .pc-history-node{background:var(--pcw-green-bg);border-color:var(--pcw-green)}.pc-history-item.tone-purple .pc-history-node{background:var(--pcw-purple-bg);border-color:var(--pcw-purple-ink)}.pc-history-item.tone-red .pc-history-node{background:var(--pcw-red-bg);border-color:var(--pcw-red)}.pc-history-item.tone-grey .pc-history-node{background:var(--pcw-line-2);border-color:var(--pcw-mute)}.pc-history-body{flex:1;min-width:0}.pc-history-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pc-history-pill{font-size:11px;font-weight:700;letter-spacing:.3px;color:var(--pcw-mute);background:#f1f3f7;padding:2px 7px;border-radius:5px;display:inline-flex;align-items:center;gap:4px}.pc-history-item.tone-green .pc-history-pill{background:var(--pcw-green-bg);color:var(--pcw-green-ink)}.pc-history-item.tone-purple .pc-history-pill{background:var(--pcw-purple-bg);color:var(--pcw-purple-ink)}.pc-history-item.tone-red .pc-history-pill{background:var(--pcw-red-bg);color:var(--pcw-red)}.pc-history-item.tone-grey .pc-history-pill{background:var(--pcw-line-2);color:var(--pcw-mute)}.pc-history-pill-icon{font-size:10px}.pc-history-detail{font-size:12.5px;color:var(--pcw-ink-2);font-weight:500}.pc-history-foot{font-size:11.5px;color:var(--pcw-mute-2);margin-top:3px}@media(max-width:1280px){.pc-waitlist .pc-public-share{margin-left:0}}@media(max-width:960px){.pc-waitlist{grid-template-columns:minmax(0,1fr)}.pc-drawer-shell{position:fixed;top:var(--topbar-height);right:0;bottom:0;z-index:50;box-shadow:-10px 0 30px #0f14282e}}@media(max-width:720px){.content-shell.content-shell-waitlist,.pc-waitlist,.pc-waitlist-main{height:auto;min-height:0;overflow:visible}.pc-waitlist .pc-header{gap:var(--space-3);padding:var(--space-4) var(--space-4) 0}.pc-waitlist .pc-header-row{align-items:flex-start;gap:var(--space-3)}.pc-waitlist .pc-header-title{flex:1 1 auto}.pc-waitlist .pc-header-title h1{font-size:26px}.pc-waitlist .pc-header-title-suffix{font-size:16px}.pc-waitlist .pc-header-actions{display:flex;flex:1 1 100%;flex-wrap:wrap;order:2}.pc-waitlist .pc-add-waitlist-btn{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-fg);flex:1 1 auto;justify-content:center;min-height:40px}.pc-waitlist .pc-add-waitlist-btn:hover,.pc-waitlist .pc-add-waitlist-btn:focus-visible{background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover);color:var(--btn-primary-fg)}.pc-waitlist .pc-public-share{display:grid;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto auto;margin-left:0;order:3;padding:var(--space-2);width:100%}.pc-waitlist .pc-public-share-text{min-width:0;padding-inline-start:var(--space-1)}.pc-waitlist .pc-public-share-url{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-waitlist .pc-public-share-btn{justify-content:center;min-height:36px;padding-inline:var(--space-2)}.pc-waitlist .pc-tabs-row{display:grid;gap:var(--space-3);margin-top:0;width:100%}.pc-waitlist .pc-tabs{display:grid;gap:var(--space-1);grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.pc-waitlist .pc-tab{gap:var(--space-1);justify-content:center;min-width:0;padding:10px var(--space-1) 12px}.pc-waitlist .pc-tab-dot{display:none}.pc-waitlist .pc-tab-count{padding-inline:5px}.pc-waitlist .pc-desktop-smart-tabs,.pc-waitlist .pc-desktop-sort{display:none}.pc-waitlist .pc-toolbar{display:grid;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;margin-left:0;padding-bottom:0;width:100%}.pc-waitlist .pc-search{min-height:42px;width:auto}.pc-waitlist .pc-mobile-filter-toggle{display:inline-flex;min-height:42px}.pc-waitlist .pc-mobile-filter-count{align-items:center;background:var(--state-info-bg);border-radius:var(--radius-pill);color:var(--state-info-fg);display:inline-flex;font-size:11px;justify-content:center;min-width:20px;padding:2px 6px}.pc-waitlist .pc-mobile-filters{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-1);gap:var(--space-3);padding:var(--space-3)}.pc-waitlist .pc-mobile-filters.is-open{display:grid}.pc-waitlist .pc-mobile-filter-group{border:0;margin:0;min-width:0;padding:0}.pc-waitlist .pc-mobile-filter-group legend,.pc-waitlist .pc-mobile-sort>span{color:var(--text-secondary);font-size:12px;font-weight:700;margin-bottom:var(--space-2)}.pc-waitlist .pc-mobile-filter-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pc-waitlist .pc-mobile-filter-chip{align-items:center;background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);border-radius:var(--radius-pill);color:var(--btn-secondary-fg);display:inline-flex;font:inherit;font-size:12px;font-weight:700;gap:5px;min-height:36px;padding:7px 10px}.pc-waitlist .pc-mobile-filter-chip.is-active{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-fg)}.pc-waitlist .pc-mobile-filter-chip>span:last-child{background:color-mix(in srgb,currentColor 12%,transparent);border-radius:var(--radius-pill);padding:1px 6px}.pc-waitlist .pc-mobile-sort{display:grid}.pc-waitlist .pc-mobile-sort select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--input-fg);font:inherit;min-height:42px;padding:8px 36px 8px 10px;width:100%}.pc-waitlist .pc-mobile-active-filter{color:var(--text-secondary);display:block;font-size:12px;padding-bottom:var(--space-3)}.pc-waitlist .pc-mobile-active-filter b{color:var(--text-primary)}.pc-waitlist .pc-table-wrap{overflow:visible}.pc-waitlist .pc-table,.pc-waitlist .pc-table tbody{display:block;width:100%}.pc-waitlist .pc-table thead{display:none}.pc-waitlist .pc-row{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;padding:var(--space-4)}.pc-waitlist .pc-row:hover{background:transparent}.pc-waitlist .pc-cell{padding:0}.pc-waitlist .pc-cell-patient{grid-column:1 / -1;min-width:0}.pc-waitlist .pc-row-patient{align-items:flex-start}.pc-waitlist .pc-row-patient-name{padding-inline-end:var(--space-1)}.pc-waitlist .pc-mobile-row-status{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.pc-waitlist .pc-mobile-priority{background:var(--state-warning-bg);border-radius:var(--radius-pill);color:var(--state-warning-fg);font-size:11px;font-weight:700;padding:4px 8px}.pc-waitlist .pc-cell-motif,.pc-waitlist .pc-cell-dispo,.pc-waitlist .pc-cell-inscrit{display:grid;gap:var(--space-1)}.pc-waitlist .pc-cell-motif:before,.pc-waitlist .pc-cell-dispo:before,.pc-waitlist .pc-cell-inscrit:before{color:var(--text-secondary);font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.pc-waitlist .pc-cell-motif:before{content:"Motif"}.pc-waitlist .pc-cell-dispo:before{content:"Disponibilités"}.pc-waitlist .pc-cell-inscrit:before{content:"Inscription"}.pc-waitlist .pc-cell-note,.pc-waitlist .pc-cell-entry-status,.pc-waitlist .pc-cell-refresh-status,.pc-waitlist .pc-row-actions-desktop{display:none}.pc-waitlist .pc-cell-actions{display:grid;grid-column:1 / -1;justify-items:end;text-align:initial}.pc-waitlist .pc-mobile-actions-toggle{align-items:center;background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);border-radius:var(--radius-md);color:var(--btn-secondary-fg);display:inline-flex;font:inherit;font-size:13px;font-weight:700;gap:var(--space-2);min-height:40px;padding:8px 12px}.pc-waitlist .pc-mobile-row-actions{display:none;gap:var(--space-2);grid-template-columns:1fr 1fr;padding-top:var(--space-2);width:100%}.pc-waitlist .pc-mobile-row-actions.is-open{display:grid}.pc-waitlist .pc-mobile-row-action{align-items:center;background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);border-radius:var(--radius-md);color:var(--btn-secondary-fg);display:inline-flex;font:inherit;font-size:12px;font-weight:700;gap:var(--space-2);justify-content:center;min-height:42px;padding:8px 10px}.pc-waitlist .pc-mobile-row-action.is-primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-fg)}.pc-waitlist .pc-mobile-row-action.is-danger{background:var(--btn-danger-bg);border-color:var(--state-danger-fg);color:var(--btn-danger-fg)}.pc-waitlist .pc-mobile-row-action.is-priority{background:var(--state-warning-bg);border-color:var(--state-warning-fg);color:var(--state-warning-fg)}.pc-waitlist .pc-mobile-row-action svg{height:15px;width:15px}.pc-waitlist .pc-mobile-filter-chip:focus-visible,.pc-waitlist .pc-mobile-sort select:focus-visible,.pc-waitlist .pc-mobile-actions-toggle:focus-visible,.pc-waitlist .pc-mobile-row-action:focus-visible{outline:3px solid color-mix(in srgb,var(--focus-ring) 45%,transparent);outline-offset:2px}.pc-waitlist .pc-mobile-filter-chip:disabled,.pc-waitlist .pc-mobile-actions-toggle:disabled,.pc-waitlist .pc-mobile-row-action:disabled{cursor:not-allowed;opacity:.55}.pc-waitlist .pc-drawer-shell,.pc-waitlist .pc-drawer-inner,.pc-waitlist .pc-drawer{width:100%}.pc-waitlist .pc-drawer-shell{bottom:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom));top:var(--topbar-height-mobile)}.pc-waitlist .pc-drawer-shell.is-closed{width:0}}@media(max-width:380px){.pc-waitlist .pc-public-share-btn{font-size:0;width:38px}.pc-waitlist .pc-public-share-btn svg{height:15px;width:15px}.pc-waitlist .pc-public-share-btn-open:after{content:"↗";font-size:16px}.pc-waitlist .pc-tab-count{display:none}.pc-waitlist .pc-tab{font-size:12px}}.patient-import-modal{width:min(820px,96vw);display:flex;flex-direction:column;gap:1rem}.patient-import-header{display:flex;flex-direction:column;gap:.5rem}.patient-import-steps{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0;font-size:.85rem;color:var(--muted, #6b7280)}.patient-import-steps li{padding:.25rem .6rem;border-radius:999px;background:#0000000a}.patient-import-steps li.active{background:var(--primary, #4f46e5);color:#fff}.patient-import-step{display:flex;flex-direction:column;gap:1rem}.patient-import-dropzone{display:flex;align-items:center;justify-content:center;border:2px dashed rgba(0,0,0,.18);border-radius:12px;padding:2.5rem 1rem;cursor:pointer;transition:background .15s ease;text-align:center;font-weight:500}.patient-import-dropzone:hover{background:#00000008}.patient-import-dropzone input[type=file]{display:none}.patient-import-mapping-table{display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.08);border-radius:8px;overflow:hidden;max-height:55vh;overflow-y:auto}.patient-import-mapping-header{position:sticky;top:0;z-index:1}.patient-import-mapping-row{display:grid;grid-template-columns:1.2fr 1fr 1.4fr;gap:.75rem;align-items:center;padding:.5rem .75rem;border-bottom:1px solid rgba(0,0,0,.06)}.patient-import-mapping-row:last-child{border-bottom:0}.patient-import-mapping-header{background:#00000008;font-weight:600;font-size:.85rem}.patient-import-mapping-col{font-weight:500;word-break:break-word}.patient-import-mapping-example{font-size:.85rem;word-break:break-word;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-import-mapping-row select{width:100%;padding:.4rem .5rem}.patient-import-checkbox-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.patient-import-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.patient-import-summary-card{display:flex;flex-direction:column;align-items:center;padding:1rem .5rem;border-radius:10px;background:#0000000a;text-align:center}.patient-import-summary-card strong{font-size:1.6rem;line-height:1.1}.patient-import-summary-card span{font-size:.8rem;color:var(--muted, #6b7280);margin-top:.25rem}.patient-import-summary-card.success{background:#22c55e1f}.patient-import-summary-card.warning{background:#eab30824}.patient-import-summary-card.danger{background:#ef44441f}.patient-import-error-list{font-size:.9rem}.patient-import-error-list summary{cursor:pointer;font-weight:500;padding:.4rem 0}.patient-import-error-list ul{margin:.4rem 0 0;padding-left:1.2rem}.email-verification-banner{position:fixed;top:calc(var(--topbar-height) + 12px);left:50%;transform:translate(-50%);z-index:1099;display:flex;align-items:center;gap:12px;max-width:720px;width:calc(100% - 24px);padding:10px 16px;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--state-warning-fg) 35%,var(--state-warning-bg));background:var(--state-warning-bg);color:var(--state-warning-fg);font-size:14px;line-height:20px;box-shadow:var(--shadow-2)}.email-verification-banner p{margin:0;flex:1;min-width:0;overflow-wrap:anywhere}.email-verification-banner-action{flex-shrink:0;padding:6px 12px;border:1px solid currentColor;border-radius:var(--radius-pill);background:transparent;color:var(--state-warning-fg);font-weight:600;font-size:13px;cursor:pointer}.email-verification-banner-action:hover:not(:disabled){background:var(--state-warning-fg);color:var(--state-warning-bg)}.email-verification-banner-action:focus-visible,.email-verification-banner-dismiss:focus-visible{outline:3px solid color-mix(in srgb,var(--focus-ring) 45%,transparent);outline-offset:2px}.email-verification-banner-action:disabled{opacity:.6;cursor:not-allowed}.email-verification-banner-confirm{flex-shrink:0;font-weight:600;font-size:13px}.email-verification-banner-dismiss{flex-shrink:0;width:24px;height:24px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--state-warning-fg);font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.email-verification-banner-dismiss:hover{background:color-mix(in srgb,var(--state-warning-fg) 12%,transparent)}@media(max-width:640px){.email-verification-banner{top:calc(var(--topbar-height-mobile) + var(--space-2));left:var(--space-2);right:var(--space-2);transform:none;width:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--space-2) var(--space-3);padding:var(--space-3)}.email-verification-banner-action{grid-column:1 / -1;width:100%;min-height:40px}.email-verification-banner-confirm{grid-column:1}}@media(min-width:1025px){.app.practitioner .topbar-inner{max-width:none}}@media(max-width:1024px){body:has(.overlay) .mobile-actions,body:has(.pc-modal-backdrop) .mobile-actions,body:has(.pc-waitlist .pc-drawer-shell.is-open) .mobile-actions,body:has([aria-modal=true]:not(#mobile-action-sheet):not(#mobile-navigation-drawer)) .mobile-actions{display:none!important}.app.practitioner.has-mobile-actions .content-shell{padding-bottom:calc(var(--mobile-bottom-nav-height) + var(--mobile-actions-height) + 1.9rem + env(safe-area-inset-bottom))}.app.practitioner.has-mobile-actions .content-shell-waitlist .pc-waitlist{min-height:0}}.tasks-shell--flat .tasks-completed-toggle.tasks-completed-toggle--flat,.task-day-drawer .tasks-completed-toggle.tasks-completed-toggle--flat{border:0;border-radius:0;background:transparent;padding:.7rem .2rem;color:var(--text-primary)}.quick-task-composer,.quick-task-composer *,.task-day-drawer,.task-day-drawer *{box-sizing:border-box}.tasks-shell--flat .tasks-flat-group,.task-day-drawer .task-day-section,.task-day-drawer .task-day-completed{margin:0;padding:0;border-radius:0;background:transparent;box-shadow:none}.tasks-shell--flat .tasks-completed-toggle.tasks-completed-toggle--flat:hover,.tasks-shell--flat .tasks-completed-toggle.tasks-completed-toggle--flat:focus-visible,.task-day-drawer .tasks-completed-toggle.tasks-completed-toggle--flat:hover,.task-day-drawer .tasks-completed-toggle.tasks-completed-toggle--flat:focus-visible{border:0;background:transparent;color:var(--text-primary)}.content-shell.content-shell-planning .planning-board .planning-inline-task-add{justify-content:space-between;gap:.35rem;border-color:var(--border-default);background:transparent;color:var(--text-secondary)}.content-shell.content-shell-planning .planning-board .planning-inline-task-add:hover,.content-shell.content-shell-planning .planning-board .planning-inline-task-add:focus-visible{border-color:var(--primary);background:var(--primary);color:var(--accent-ink)}.content-shell.content-shell-planning .planning-board .planning-inline-task-single{border-color:var(--border-default);background:var(--bg-elevated);color:var(--text-primary)}.content-shell.content-shell-planning .planning-board .planning-inline-task-single-open,.content-shell.content-shell-planning .planning-board .planning-inline-task-single-title{color:var(--text-primary)}.content-shell.content-shell-planning .planning-board .planning-inline-task-more{flex:0 0 auto;color:var(--text-secondary);font-size:.66rem;font-weight:700;white-space:nowrap}.task-day-drawer-backdrop:hover,.task-day-drawer-backdrop:focus,.task-day-drawer-backdrop:focus-visible{border:0;background:color-mix(in srgb,var(--text-primary) 28%,transparent);color:transparent;box-shadow:none;transform:none}.task-day-drawer-footer button.link:hover,.task-day-drawer-footer button.link:focus-visible{border-color:transparent;background:transparent;color:var(--primary);text-decoration:underline;box-shadow:none;transform:none}.tasks-emoji-action svg{width:17px;height:17px}.task-day-print-sheet{display:none}@media print{@page{size:A4 portrait;margin:12mm}html,body{width:auto!important;height:auto!important;min-height:0!important;margin:0!important;overflow:visible!important;background:var(--bg-elevated)!important}body>#root{display:none!important}body>.task-day-print-sheet,body>.task-day-print-sheet *{visibility:visible!important}body>.task-day-print-sheet{position:static!important;display:block!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:var(--bg-elevated)!important;box-shadow:none!important}.task-day-print-sheet header{margin:0 0 8mm;padding:0 0 5mm;border-bottom:1px solid var(--border-default)}.task-day-print-sheet header>span{color:var(--text-secondary);font-size:9pt;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.task-day-print-sheet h1{margin:1mm 0 0;color:var(--text-primary);font-size:18pt;text-transform:capitalize}.task-day-print-count{margin-bottom:3mm;color:var(--text-secondary);font-size:10pt;font-weight:700}.task-day-print-sheet .tasks-flat-row{min-height:12mm;grid-template-columns:auto minmax(0,1fr);padding:2.5mm 0;-moz-column-break-inside:avoid;break-inside:avoid}.task-day-print-sheet .tasks-flat-row-actions{display:none!important}}.planning-print-header{display:none}.local-actions.planning-local-actions .week-control{min-width:0}.local-actions.planning-local-actions .planning-period-picker{position:relative;display:inline-flex;min-width:0}.local-actions.planning-local-actions .local-actions-row button.planning-period-trigger{min-width:168px;min-height:32px;padding:var(--space-1) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--planning-ink);display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-2);box-shadow:none}.local-actions.planning-local-actions .planning-period-trigger>svg:first-child{width:1rem;min-width:1rem;height:1rem;color:var(--planning-blue)}.local-actions.planning-local-actions .planning-period-labels{min-width:0;display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.05}.local-actions.planning-local-actions .planning-period-caret{width:.8rem;min-width:.8rem;height:.8rem;color:var(--text-secondary)}.local-actions.planning-local-actions .local-actions-row button.planning-period-trigger:hover,.local-actions.planning-local-actions .local-actions-row button.planning-period-trigger:focus-visible,.local-actions.planning-local-actions .local-actions-row button.planning-period-trigger[aria-expanded=true]{background:var(--planning-blue-soft);color:var(--planning-blue-deep)}.local-actions.planning-local-actions .planning-period-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.local-actions.planning-local-actions .planning-period-popover{width:304px;min-width:304px;padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-2)}.local-actions.planning-local-actions .planning-period-popover .french-date-picker-month-year{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1)}.local-actions.planning-local-actions .planning-period-popover .french-date-picker-month-year select{min-width:0;height:32px;padding:0 var(--space-2);border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--input-fg);font:inherit;font-size:.82rem;font-weight:700}.local-actions.planning-local-actions .planning-period-popover .french-date-picker-month-year select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.local-actions.planning-local-actions .planning-period-popover .french-date-picker-nav,.local-actions.planning-local-actions .planning-period-popover .french-date-picker-day{padding:0;border-color:var(--border-default);background:var(--bg-elevated);color:var(--text-primary)}.local-actions.planning-local-actions .planning-period-popover .french-date-picker-nav{color:var(--planning-blue)}.local-actions.planning-local-actions .planning-period-popover .french-date-picker-day{border-color:transparent}.local-actions.planning-local-actions .planning-period-popover .french-date-picker-day:hover,.local-actions.planning-local-actions .planning-period-popover .french-date-picker-day:focus-visible{border-color:var(--planning-blue);background:var(--planning-blue);color:var(--subnav-hover-fg)}.local-actions.planning-local-actions .planning-period-popover .french-date-picker-day.outside-month{color:var(--text-secondary);opacity:.65}.local-actions.planning-local-actions .planning-period-popover .french-date-picker-day.today{border-color:var(--planning-blue);background:var(--planning-blue);color:var(--subnav-hover-fg);opacity:1}.local-actions.planning-local-actions .planning-period-popover .french-date-picker-day.selected{border-color:var(--planning-blue);background:var(--planning-blue);color:var(--subnav-hover-fg)}@media(max-width:760px){.local-actions.planning-local-actions .local-actions-row button.planning-period-trigger{min-width:142px;padding-inline:var(--space-2)}.local-actions.planning-local-actions .planning-period-trigger>svg:first-child{display:none}.local-actions.planning-local-actions .planning-period-popover{left:50%;transform:translate(-50%)}}.planning-footer-action-groups{display:flex;align-items:center;justify-content:center;gap:6px;flex:0 1 min(920px,68vw);width:min(920px,68vw);min-width:0}.planning-footer-action-groups .planning-footer-tools{flex:1 1 auto;max-width:none}.planning-footer-zoom-control{display:inline-flex;align-items:center;flex:0 0 auto;height:30px;padding:1px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-elevated);box-sizing:border-box}.planning-footer-zoom-button{display:inline-grid;place-items:center;flex:0 0 26px;width:26px;min-width:26px;height:26px;min-height:26px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-primary);font-size:.92rem;font-weight:800;line-height:1;box-shadow:none}.planning-footer-zoom-button:hover:not(:disabled),.planning-footer-zoom-button:focus-visible:not(:disabled){background:var(--planning-blue);color:var(--text-on-primary)}.planning-footer-zoom-button:disabled{background:transparent;color:var(--text-secondary);cursor:not-allowed;opacity:.42}.planning-footer-zoom-value{min-width:44px;color:var(--text-primary);font-size:.7rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1;text-align:center;white-space:nowrap}.planning-footer-zoom-reset{margin-left:1px;border-left:1px solid var(--border-default);border-radius:0 var(--radius-pill) var(--radius-pill) 0}.planning-footer-zoom-reset svg{width:13px;height:13px}.availability-appointment.is-zoom-stacked{align-content:center;padding-top:2px;padding-bottom:2px}.availability-appointment.is-zoom-stacked.single-line .availability-appointment-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);grid-template-areas:"time time" "name note";align-items:center;gap:1px 4px;overflow:hidden}.availability-appointment.is-zoom-stacked .availability-appointment-time{grid-area:time;font-size:var(--appt-stacked-time-size);line-height:1}.availability-appointment.is-zoom-stacked.single-line .availability-appointment-row>.availability-appointment-name-inline{grid-area:name;display:flex;align-items:center;min-width:0;font-size:var(--appt-stacked-name-size);line-height:1.05}.availability-appointment.is-zoom-stacked.single-line .availability-appointment-row>.availability-appointment-name-inline:last-child{grid-column:1 / -1}.availability-appointment.is-zoom-stacked.single-line .availability-appointment-patient-links,.availability-appointment.is-zoom-stacked.single-line .patient-name-link.patient-name-link-inline,.availability-appointment.is-zoom-stacked.single-line .availability-appointment-name-inline{font-size:var(--appt-stacked-name-size);line-height:1.05}.availability-appointment.is-zoom-stacked .availability-appointment-row>.availability-appointment-note-text{grid-area:note;align-self:center;font-size:max(8px,calc(var(--appt-stacked-time-size) - 1px));line-height:1}@media(max-width:1024px){.planning-footer-summary{height:auto;min-height:32px;align-items:stretch}.planning-footer-action-groups{width:100%;flex-basis:auto;justify-content:space-between}.planning-footer-action-groups .planning-footer-tools{justify-content:flex-start}}.availability-scroll.planning-scroll.is-zoomed{max-height:var(--planning-scroll-viewport-height);overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}.planning-board.is-zoomed .availability-days{overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.availability-scroll.planning-scroll.is-zoomed:focus-visible{outline:3px solid color-mix(in srgb,var(--focus-ring) 45%,transparent);outline-offset:-3px}@page planning{size:A4 landscape;margin:8mm}@media print{body.planning-print-mode,body.planning-print-mode>#root{display:block!important;width:auto!important;height:auto!important;min-height:0!important;overflow:visible!important;background:#fff!important}body.planning-print-mode *{visibility:hidden!important}body.planning-print-mode .planning-print-area,body.planning-print-mode .planning-print-area *{visibility:visible!important}body.planning-print-mode .planning-print-area{position:absolute;top:0;right:0;bottom:0;left:0;display:block!important;width:100%!important;margin:0!important;padding:0!important;page:planning;zoom:var(--planning-print-scale, 1);color:#1b1f2a;background:#fff!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}body.planning-print-mode .planning-print-header{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-end;gap:6mm;margin:0 0 5mm;padding:0 0 3mm;border-bottom:1px solid #dfe3eb}body.planning-print-mode .planning-print-logo{display:block;width:32mm;height:auto;align-self:center}body.planning-print-mode .planning-print-title{display:grid;gap:1mm}body.planning-print-mode .planning-print-header span{color:#6b7388;font-size:8pt;font-weight:800;letter-spacing:.08em;text-transform:uppercase}body.planning-print-mode .planning-print-header h1{margin:0;color:#1b1f2a;font-size:16pt}body.planning-print-mode .planning-print-header strong{padding-bottom:1mm;color:#3a4154;font-size:10pt}body.planning-print-mode .mobile-inline-actions,body.planning-print-mode .planning-openings-banner-actions,body.planning-print-mode .planning-footer-summary,body.planning-print-mode .planning-inline-task-add,body.planning-print-mode .planning-hover-preview{display:none!important}body.planning-print-mode .availability-layout,body.planning-print-mode .availability-board,body.planning-print-mode .planning-calendar,body.planning-print-mode .month-view,body.planning-print-mode .availability-scroll{width:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;border-radius:0!important;box-shadow:none!important}body.planning-print-mode .availability-days,body.planning-print-mode .availability-grid{-moz-column-break-inside:avoid;break-inside:avoid}body.planning-print-mode .availability-grid{--slot-height: var(--planning-print-slot-height) !important}body.planning-print-mode .availability-appointment.is-zoom-stacked.single-line .availability-appointment-row{display:flex;gap:4px}body.planning-print-mode .availability-appointment.is-zoom-stacked .availability-appointment-time{grid-area:auto;font-size:var(--appt-inline-size)}body.planning-print-mode .availability-appointment.is-zoom-stacked.single-line .availability-appointment-row>.availability-appointment-name-inline{grid-area:auto;grid-column:auto;font-size:var(--appt-inline-name-size)}body.planning-print-mode .availability-appointment.is-zoom-stacked.single-line .availability-appointment-patient-links,body.planning-print-mode .availability-appointment.is-zoom-stacked.single-line .patient-name-link.patient-name-link-inline,body.planning-print-mode .availability-appointment.is-zoom-stacked.single-line .availability-appointment-name-inline{font-size:var(--appt-inline-name-size)}body.planning-print-mode .availability-appointment.is-zoom-stacked .availability-appointment-row>.availability-appointment-note-text{grid-area:auto;font-size:var(--appt-inline-size)}body.planning-print-mode button,body.planning-print-mode select,body.planning-print-mode input{pointer-events:none!important}}.journal-day-tasks-panel{display:grid;gap:var(--space-3);padding:0 0 var(--space-5);border:0;border-radius:0;background:transparent}.journal-day-tasks-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.journal-day-tasks-head h3{margin:0;color:var(--text-primary);font-size:1rem}.journal-day-tasks-head>.hint{margin:0;color:var(--text-secondary);font-size:.78rem;font-weight:700}.journal-day-tasks-head-actions{display:inline-flex;align-items:center;gap:var(--space-2)}.journal-day-tasks-head-actions .hint{height:auto;margin:0;color:var(--text-secondary);font-size:.78rem;font-weight:700}button.journal-quick-task-toggle{min-height:34px;padding:var(--space-1) var(--space-3);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-primary);font-size:.78rem;font-weight:700;box-shadow:none}button.journal-quick-task-toggle svg{width:17px;height:17px;transition:transform .16s ease-out}button.journal-quick-task-toggle.is-open svg{transform:rotate(45deg)}button.journal-quick-task-toggle:hover:not(:disabled),button.journal-quick-task-toggle:focus-visible:not(:disabled){border-color:var(--action-primary-bg);background:var(--action-primary-bg);color:var(--text-on-primary)}.journal-day-task-group{display:grid;margin:0;padding:0;border-top:1px solid var(--border-default);border-radius:0;background:transparent;box-shadow:none}.journal-day-task-group .tasks-flat-group-head h4{margin:0;color:var(--text-primary);font-size:.96rem}.journal-day-task-group .tasks-flat-group-head{min-height:34px}.journal-day-task-group .tasks-flat-row:first-child{padding-top:var(--space-2)}.journal-day-tasks-empty{margin:0;padding:var(--space-4) var(--space-1)}.journal-day-completed{margin-top:0}.journal-day-completed .tasks-completed-toggle.tasks-completed-toggle--flat{padding:.7rem var(--space-1);border:0;border-radius:0;background:transparent;color:var(--text-primary);box-shadow:none}.journal-day-completed .tasks-completed-toggle.tasks-completed-toggle--flat:hover,.journal-day-completed .tasks-completed-toggle.tasks-completed-toggle--flat:focus-visible{border:0;background:transparent;color:var(--text-primary);transform:none}.journal-day-tasks-footer{display:flex;justify-content:flex-end;padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}button.link.journal-all-tasks-button{width:auto;height:auto;padding:var(--space-1) 0;border:0;background:transparent;color:var(--action-primary-bg)}button.link.journal-all-tasks-button:hover,button.link.journal-all-tasks-button:focus-visible{border:0;background:transparent;color:var(--action-primary-bg);text-decoration:underline;text-underline-offset:3px;transform:none}@media(max-width:640px){.journal-day-tasks-panel{padding-bottom:var(--space-4)}.journal-day-tasks-head{flex-direction:row;align-items:center}.journal-day-tasks-head-actions .hint{display:none}button.journal-quick-task-toggle{padding-inline:var(--space-2)}.journal-day-tasks-footer{justify-content:stretch}button.link.journal-all-tasks-button{width:100%;min-height:40px;justify-content:center}}.journal-mobile-appointments{display:grid;gap:var(--space-3);min-width:0}.journal-mobile-appointment-card{display:grid;gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-1)}.journal-mobile-appointment-card.is-expanded{border-color:color-mix(in srgb,var(--action-primary-bg) 24%,var(--border-default))}.journal-mobile-appointment-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-3);min-width:0}.journal-mobile-time{display:grid;min-width:62px;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1.25}.journal-mobile-time strong{font-size:1rem;font-weight:800}.journal-mobile-time span{color:var(--text-secondary);font-size:.74rem;font-weight:600;white-space:nowrap}.journal-mobile-patient-summary{display:grid;gap:var(--space-2);min-width:0}.journal-mobile-patient-summary>strong,.journal-mobile-patient-summary .journal-patient-link strong{overflow-wrap:anywhere;font-size:1rem;line-height:1.3}.journal-mobile-patient-summary .journal-session-label{color:var(--text-secondary);font-size:.78rem;line-height:1.35}.journal-mobile-patient-summary .journal-badge{max-width:100%;min-height:24px;padding:var(--space-1) var(--space-2);overflow-wrap:anywhere;text-align:left}.journal-mobile-statuses{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.journal-mobile-status{display:inline-flex;align-items:center;min-height:24px;padding:var(--space-1) var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--text-secondary);font-size:.72rem;font-weight:700;line-height:1.2}.journal-mobile-status--complete{border-color:color-mix(in srgb,var(--state-success-fg) 24%,var(--border-default));background:var(--state-success-bg);color:var(--state-success-fg)}.journal-mobile-status--pending{border-color:color-mix(in srgb,var(--state-warning-fg) 24%,var(--border-default));background:var(--state-warning-bg);color:var(--state-warning-fg)}.journal-mobile-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.journal-mobile-card-actions button,.journal-mobile-full-report-button{display:inline-flex;min-width:0;min-height:44px;padding:var(--space-2) var(--space-3);align-items:center;justify-content:center;gap:var(--space-2);white-space:normal;line-height:1.25}.journal-mobile-card-actions>:only-child{grid-column:1 / -1}.journal-mobile-card-actions button svg{width:17px;height:17px;flex:0 0 auto}button.primary.journal-mobile-write-button,button.primary.journal-mobile-full-report-button{background:var(--action-primary-bg);color:var(--text-on-primary)}.journal-mobile-write-button:hover:not(:disabled),.journal-mobile-write-button:focus-visible:not(:disabled),.journal-mobile-full-report-button:hover:not(:disabled),.journal-mobile-full-report-button:focus-visible:not(:disabled){background:var(--action-primary-bg-hover);color:var(--text-on-primary)}.journal-mobile-details-toggle{width:100%;min-height:44px;padding:var(--space-2);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:0;border-top:1px solid var(--border-subtle);border-radius:0;background:transparent;color:var(--action-primary-bg);font-size:.8rem;font-weight:700;box-shadow:none}.journal-mobile-details-toggle:hover,.journal-mobile-details-toggle:focus-visible{border-color:var(--border-subtle);background:color-mix(in srgb,var(--state-info-bg) 55%,transparent);color:var(--action-primary-bg);transform:none}.journal-mobile-details-toggle svg{width:18px;height:18px}.journal-mobile-details{display:grid;gap:var(--space-3);min-width:0}.journal-mobile-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1);padding:var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface)}.journal-mobile-tabs button{min-width:0;min-height:44px;padding:var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.74rem;font-weight:700;line-height:1.2;white-space:normal;box-shadow:none}.journal-mobile-tabs button:hover,.journal-mobile-tabs button:focus-visible{border-color:color-mix(in srgb,var(--action-primary-bg) 24%,var(--border-default));background:var(--bg-elevated);color:var(--text-primary)}.journal-mobile-tabs button.active,.journal-mobile-tabs button.active:hover,.journal-mobile-tabs button.active:focus-visible{border-color:var(--action-primary-bg);background:var(--action-primary-bg);color:var(--text-on-primary)}.journal-mobile-tab-panel{min-width:0;padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface)}.journal-mobile-tab-panel[hidden]{display:none}.journal-mobile-tab-panel .journal-note-preview{color:var(--text-primary);overflow-wrap:anywhere;line-height:1.5}.journal-mobile-panel-message{margin:0}.journal-mobile-support{display:grid;gap:var(--space-3);min-width:0}.journal-mobile-support-group{display:grid;gap:var(--space-2);min-width:0;padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.journal-mobile-support-group:last-of-type{padding-bottom:0;border-bottom:0}.journal-mobile-support-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.journal-mobile-support-heading h5{margin:0;min-width:0;color:var(--text-primary);font-size:.84rem;overflow-wrap:anywhere}.journal-mobile-support-heading>span{flex:0 0 auto;color:var(--text-secondary);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.journal-mobile-support-group.done .journal-mobile-support-heading h5{color:var(--state-success-fg);text-decoration:line-through}.journal-mobile-support .journal-support-check{min-height:32px;color:var(--text-primary);font-size:.8rem}.journal-mobile-support .journal-support-check input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--action-primary-bg)}.journal-mobile-support .journal-support-check span{min-width:0;overflow-wrap:anywhere}.journal-mobile-support .support-assignment-picker,.journal-mobile-support .support-assignment-popover{min-width:0;max-width:100%}.journal-mobile-report{display:grid;gap:var(--space-3);min-width:0}.journal-mobile-report-editor{min-width:0}.journal-mobile-report-editor .ql-container,.journal-mobile-report-editor .ql-editor{min-height:140px;max-height:none}.journal-mobile-report-editor .ql-container{border-color:var(--input-border);background:var(--input-bg)}.journal-mobile-report-editor .ql-editor{color:var(--input-fg);line-height:1.5}.journal-mobile-report-footer{display:grid;gap:var(--space-3)}.journal-mobile-report-footer .journal-report-share{justify-content:space-between}.journal-mobile-full-report-button{width:100%}@media(max-width:520px){.journal-mobile-appointment-card{padding:var(--space-3)}.journal-mobile-card-actions{grid-template-columns:minmax(0,1fr)}.journal-mobile-tabs{gap:2px;padding:2px}.journal-mobile-tabs button{padding-inline:var(--space-1);font-size:.7rem}.journal-mobile-tab-panel{padding:var(--space-3)}}.resource-editor-modal{display:grid;grid-template-rows:auto minmax(0,1fr);padding:0;overflow:hidden}.resource-editor-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--border-subtle)}.resource-editor-modal-header h3{min-width:0;margin:0}.resource-editor-modal-header .close{position:static;flex:0 0 auto}.resource-editor-form{min-width:0;max-height:min(76dvh,760px);grid-template-rows:minmax(0,1fr) auto;gap:0}.resource-editor-modal-body{min-width:0;display:grid;gap:var(--space-4);padding:var(--space-5);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.resource-editor-modal-body>*,.resource-editor-modal-body label,.resource-editor-modal-body input,.resource-editor-modal-body textarea,.resource-editor-modal-body button{min-width:0;max-width:100%;box-sizing:border-box}.resource-editor-modal-body input[type=file]{width:100%}.resource-editor-actions{margin:0;padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--bg-elevated)}@media(max-width:720px){.app.practitioner .overlay.resource-editor-overlay{align-items:stretch;justify-items:stretch;padding:var(--topbar-height-mobile) 0 0;overflow:hidden}.app.practitioner .overlay.resource-editor-overlay>.resource-editor-modal{width:100%;max-width:none;height:calc(100dvh - var(--topbar-height-mobile));max-height:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.resource-editor-modal-header{padding:var(--space-4)}.resource-editor-form{min-height:0;max-height:none}.resource-editor-modal-body{padding:var(--space-4);scrollbar-gutter:auto}.resource-editor-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom))}.resource-editor-actions button{width:100%}body:has(.resource-editor-overlay) .mobile-bottom-nav{display:none}html:has(.resource-editor-overlay),body:has(.resource-editor-overlay){overflow:hidden}}@media(max-width:640px){.content-shell.content-shell-planning .availability-appointment strong{font-size:max(9.5px,var(--appt-inline-size, 9.5px))}.content-shell.content-shell-planning .availability-appointment.single-line .availability-appointment-patient-links,.content-shell.content-shell-planning .availability-appointment.single-line .patient-name-link.patient-name-link-inline,.content-shell.content-shell-planning .availability-appointment.single-line .availability-appointment-name-inline{font-size:max(10px,var(--appt-inline-name-size, 10px))}.content-shell.content-shell-planning .availability-appointment-time{font-size:max(8.5px,var(--appt-time-size, 8.5px))}.app.practitioner .overlay.appointment-detail-overlay,.overlay.appointment-detail-overlay{align-items:flex-end;justify-content:stretch;place-items:end stretch;padding:var(--topbar-height-mobile) 0 0;background:color-mix(in srgb,var(--text-primary) 42%,transparent)}.appointment-detail-modal{width:100%;max-width:none;max-height:calc(100dvh - var(--topbar-height-mobile));border-width:1px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:appointment-detail-mobile-rise .18s ease-out}.appointment-detail-modal .appointment-detail-header{flex:0 0 auto;padding-top:var(--space-4)}.appointment-detail-modal .appointment-detail-actions{padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--bg-elevated)}}@keyframes appointment-detail-mobile-rise{0%{transform:translateY(28px);opacity:.75}to{transform:translateY(0);opacity:1}}.mobile-planning-display-switch,.mobile-planning-agenda{display:none}@media(max-width:1024px){.mobile-actions.mobile-actions-single{left:auto;right:16px;width:auto;grid-template-columns:44px 88px;align-items:end}.mobile-action-planning-overflow{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-default);box-shadow:var(--shadow-2)}.mobile-action-planning-overflow svg{width:20px;height:20px}.mobile-action-planning-launcher{width:88px;min-width:88px;padding:0 var(--space-3);display:inline-flex;grid-template-columns:none;align-items:center;justify-content:center;gap:var(--space-1)}.mobile-action-planning-launcher .mobile-action-icon{font-size:1.6rem}.mobile-action-planning-label{font-size:.78rem;font-weight:800}.mobile-action-sheet-panel{background:var(--bg-elevated);color:var(--text-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-2)}.mobile-action-sheet-group{display:grid;gap:var(--space-2)}.mobile-action-sheet-group+.mobile-action-sheet-group{margin-top:var(--space-4)}.mobile-action-sheet-group h3{margin:0;color:var(--text-secondary);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.mobile-action-sheet-group>div{display:grid;gap:var(--space-2)}.mobile-action-sheet-item{min-height:48px;border-color:var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary)}}@media(max-width:640px){.content-shell.content-shell-planning .availability-layout.mobile-agenda-active{padding-inline:var(--space-3)}.mobile-planning-display-switch{position:sticky;top:calc(var(--topbar-height-mobile) + 52px);z-index:118;width:min(100%,260px);margin:0 auto var(--space-3);padding:3px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-elevated);box-shadow:var(--shadow-1);display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-planning-display-switch button{min-height:36px;padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:750;box-shadow:none}.mobile-planning-display-switch button.active{background:var(--action-primary-bg);color:var(--text-on-primary)}.mobile-planning-agenda{display:grid;gap:var(--space-3);padding-bottom:var(--space-3)}.mobile-planning-agenda-context{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.mobile-planning-agenda-task{min-height:40px;padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb,var(--state-warning-fg) 18%,var(--border-default));border-radius:var(--radius-md);background:var(--state-warning-bg);color:var(--state-warning-fg);display:inline-flex;align-items:center;gap:var(--space-2);box-shadow:none}.mobile-planning-agenda-task strong{font-size:.72rem}.mobile-planning-agenda-calendar{min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--state-info-bg);color:var(--state-info-fg);display:inline-flex;align-items:center;font-size:.76rem;font-weight:700}.mobile-planning-agenda-list{overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-1)}.mobile-planning-agenda-item{position:relative;width:100%;min-height:64px;padding:var(--space-3);border:0;border-bottom:1px solid var(--border-soft);border-radius:0;background:var(--bg-elevated);color:var(--text-primary);display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);text-align:left;box-shadow:none}.mobile-planning-agenda-item:last-child{border-bottom:0}.mobile-planning-agenda-item:before{content:"";position:absolute;inset:var(--space-2) auto var(--space-2) 0;width:3px;border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:var(--action-primary-bg)}.mobile-planning-agenda-item:focus-visible{outline:3px solid color-mix(in srgb,var(--focus-ring) 45%,transparent);outline-offset:-3px}.mobile-planning-agenda-item.is-block{background:color-mix(in srgb,var(--state-warning-bg) 42%,var(--bg-elevated))}.mobile-planning-agenda-item.is-block:before{background:var(--state-warning-fg)}.mobile-planning-agenda-item.is-cancelled{background:color-mix(in srgb,var(--state-danger-bg) 52%,var(--bg-elevated))}.mobile-planning-agenda-item.is-cancelled:before{background:var(--state-danger-fg)}.mobile-planning-agenda-time,.mobile-planning-agenda-main{min-width:0;display:grid}.mobile-planning-agenda-time{gap:2px;font-variant-numeric:tabular-nums}.mobile-planning-agenda-time strong{font-size:.9rem}.mobile-planning-agenda-time span,.mobile-planning-agenda-status{color:var(--text-secondary);font-size:.7rem;font-weight:650}.mobile-planning-agenda-main{gap:3px}.mobile-planning-agenda-title{min-width:0;display:flex;align-items:center;gap:var(--space-1)}.mobile-planning-agenda-title>strong{min-width:0;overflow:hidden;font-size:.9rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.mobile-planning-agenda-title .appointment-indicators{flex:0 0 auto}.mobile-planning-agenda-meta{min-width:0;overflow:hidden;color:var(--text-secondary);display:flex;gap:var(--space-1);font-size:.76rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.mobile-planning-agenda-status{justify-self:end;white-space:nowrap}.mobile-planning-agenda-item.is-cancelled .mobile-planning-agenda-status{color:var(--state-danger-fg);font-weight:800}.mobile-planning-agenda-empty{min-height:180px;padding:var(--space-5);border:1px dashed var(--border-default);border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text-secondary);display:grid;place-content:center;gap:var(--space-2);text-align:center}.mobile-planning-agenda-empty strong{color:var(--text-primary)}.content-shell.content-shell-planning .availability-scroll.planning-scroll{max-height:calc(100dvh - var(--topbar-height-mobile) - var(--mobile-bottom-nav-height) - 154px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.content-shell.content-shell-planning .availability-appointment strong,.content-shell.content-shell-planning .availability-appointment.single-line .availability-appointment-patient-links,.content-shell.content-shell-planning .availability-appointment.single-line .patient-name-link.patient-name-link-inline,.content-shell.content-shell-planning .availability-appointment.single-line .availability-appointment-name-inline{font-size:max(12px,var(--appt-inline-name-size, 12px))}.content-shell.content-shell-planning .availability-appointment-time{font-size:max(11px,var(--appt-time-size, 11px))}.content-shell.content-shell-planning .availability-appointment-mobile-type{font-size:11px}.content-shell.content-shell-planning .planning-footer-zoom-control{display:none}body:has(.overlay) .mobile-bottom-nav,body:has(.planning-mobile-overlap-sheet) .mobile-bottom-nav,body:has(.mobile-action-sheet.open) .mobile-bottom-nav{display:none!important}.appointment-detail-modal{height:calc(100dvh - var(--topbar-height-mobile));max-height:calc(100dvh - var(--topbar-height-mobile));padding-bottom:env(safe-area-inset-bottom)}.appointment-detail-modal .close{width:44px;min-width:44px;height:44px;min-height:44px}.appointment-detail-modal .appointment-detail-grid{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.appointment-detail-modal .appointment-detail-actions{position:sticky;bottom:0;z-index:3;flex:0 0 auto;max-height:none;overflow:visible;border-top:1px solid var(--border-default);background:var(--bg-elevated);box-shadow:0 -8px 18px color-mix(in srgb,var(--text-primary) 8%,transparent)}.appointment-detail-modal .modal-row>span,.appointment-detail-modal .modal-row>div,.appointment-detail-modal .appointment-detail-title,.appointment-detail-modal .appointment-detail-subtitle{overflow-wrap:anywhere}}@media(max-width:350px){.mobile-planning-agenda-item{grid-template-columns:50px minmax(0,1fr)}.mobile-planning-agenda-status{display:none}}.professionals-directory{min-width:0;gap:var(--space-5)}.professionals-directory-toolbar{min-width:0;display:grid;gap:var(--space-3)}.professionals-search-field{width:100%;min-height:48px;padding:0 var(--space-4);border:1px solid var(--input-border);border-radius:var(--radius-lg);background:var(--input-bg);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-3);box-sizing:border-box;box-shadow:var(--shadow-1);transition:border-color .18s ease-out,box-shadow .18s ease-out}.professionals-search-field:focus-within{border-color:var(--input-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--input-focus) 45%,transparent),var(--shadow-1)}.professionals-search-field>svg{width:1.2rem;height:1.2rem;flex:0 0 auto}.professionals-search-field input{width:100%;min-width:0;min-height:46px;padding:0;border:0;outline:0;background:transparent;color:var(--input-fg);font:inherit}.professionals-search-field input::-moz-placeholder{color:var(--input-placeholder)}.professionals-search-field input::placeholder{color:var(--input-placeholder)}.professionals-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.professionals-directory-meta{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.professionals-result-count{flex:0 0 auto;color:var(--text-secondary);font-size:.86rem;font-weight:650}.professionals-filter-chips{min-width:0;display:flex;justify-content:flex-end;gap:var(--space-2);overflow-x:auto;padding:3px;scrollbar-width:thin}.professionals-filter-chip{min-height:36px;padding:.35rem .7rem;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-secondary);display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap;box-shadow:none;font-size:.82rem;font-weight:700;transition:background .18s ease-out,border-color .18s ease-out,color .18s ease-out}.professionals-filter-chip:hover,.professionals-filter-chip:focus-visible{border-color:color-mix(in srgb,var(--state-info-fg) 28%,var(--border-default));background:color-mix(in srgb,var(--state-info-bg) 68%,var(--bg-elevated));color:var(--state-info-fg)}.professionals-filter-chip.active,.professionals-filter-chip.active:hover,.professionals-filter-chip.active:focus-visible{border-color:color-mix(in srgb,var(--state-info-fg) 28%,var(--border-default));background:var(--state-info-bg);color:var(--state-info-fg)}.professionals-filter-count{min-width:1.4rem;min-height:1.4rem;padding:0 var(--space-1);border-radius:var(--radius-pill);background:color-mix(in srgb,currentColor 10%,transparent);display:inline-grid;place-items:center;box-sizing:border-box;font-size:.72rem;font-variant-numeric:tabular-nums}.professionals-directory-grid{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start;gap:var(--space-3)}.professionals-directory-card{min-width:0;padding:var(--space-4);border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);display:grid;gap:var(--space-3);box-shadow:var(--card-shadow);transition:border-color .18s ease-out,box-shadow .18s ease-out,transform .18s ease-out}.professionals-directory-card:hover{border-color:color-mix(in srgb,var(--state-info-fg) 24%,var(--card-border));box-shadow:var(--shadow-2);transform:translateY(-1px)}.professionals-directory-card-header{min-width:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:var(--space-2)}.professionals-avatar{width:40px;height:40px;border:1px solid color-mix(in srgb,var(--state-info-fg) 16%,var(--border-default));border-radius:var(--radius-pill);background:var(--state-info-bg);color:var(--state-info-fg);display:inline-grid;place-items:center;font-size:.76rem;font-weight:800;letter-spacing:.02em}.professionals-identity{min-width:0;display:grid;justify-items:start;gap:var(--space-1)}.professionals-identity h2{min-width:0;max-width:100%;margin:0;overflow:hidden;color:var(--text-primary);font-size:.94rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.professionals-profession-chip{max-width:100%;padding:.16rem .48rem;border:1px solid color-mix(in srgb,var(--state-review-fg) 18%,var(--border-default));border-radius:var(--radius-pill);background:var(--state-review-bg);color:var(--state-review-fg);overflow:hidden;font-size:.68rem;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.professionals-card-actions{align-self:start;display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-1)}.professionals-card-actions .app-icon-button{width:32px;min-width:32px;max-width:32px;height:32px;min-height:32px;max-height:32px;flex-basis:32px}.professionals-more-menu{position:relative}.professionals-more-menu>summary{list-style:none;cursor:pointer}.professionals-more-menu>summary::-webkit-details-marker{display:none}.professionals-more-menu[open] .professionals-more-trigger{border-color:color-mix(in srgb,var(--state-info-fg) 28%,var(--border-default));background:var(--state-info-bg);color:var(--state-info-fg)}.professionals-card-menu{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:12;min-width:10rem;padding:var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-2)}.professionals-card-menu button{width:100%;min-height:38px;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2);box-shadow:none;text-align:left}.professionals-card-menu button>svg{width:1rem;height:1rem}.professionals-card-menu .professionals-menu-danger{color:var(--state-danger-fg)}.professionals-card-menu .professionals-menu-danger:hover,.professionals-card-menu .professionals-menu-danger:focus-visible{background:var(--state-danger-bg);color:var(--state-danger-fg)}.professionals-contact-list{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:var(--space-3);column-gap:var(--space-3);row-gap:var(--space-1)}.professionals-contact-line{min-width:0;min-height:26px;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:var(--space-1);color:var(--text-primary);font-size:.8rem}.professionals-contact-line:nth-child(3){grid-column:1 / -1}.professionals-contact-line>svg{width:.9rem;height:.9rem;justify-self:center;color:var(--text-secondary)}.professionals-contact-line>span,.professionals-contact-line>a,.professionals-contact-line>button{min-width:0;overflow-wrap:anywhere}.professionals-contact-line>a,.professionals-contact-line>button{width:-moz-fit-content;width:fit-content;max-width:100%;padding:0;border:0;background:transparent;color:var(--text-primary);box-shadow:none;font:inherit;text-align:left;cursor:pointer}.professionals-contact-line>a:hover,.professionals-contact-line>a:focus-visible,.professionals-contact-line>button:hover,.professionals-contact-line>button:focus-visible{background:transparent;color:var(--state-info-fg);text-decoration:underline;text-underline-offset:2px}.professionals-contact-line>button:disabled{cursor:not-allowed;opacity:.62}.professionals-contact-line.is-missing{color:var(--text-secondary)}.professionals-contact-line.is-missing>svg{color:var(--state-warning-fg)}.professionals-patients{min-width:0;padding-top:var(--space-2);border-top:1px solid var(--border-soft);display:grid;gap:var(--space-1)}.professionals-patients-heading{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:.7rem;font-weight:750}.professionals-patients-heading>svg{width:1rem;height:1rem}.professionals-patient-chips{min-width:0;display:flex;flex-wrap:wrap;gap:var(--space-1)}.professional-patient-chip{min-height:26px;max-width:100%;padding:.18rem .5rem;border:1px solid color-mix(in srgb,var(--state-info-fg) 18%,var(--border-default));border-radius:var(--radius-pill);background:var(--state-info-bg);color:var(--state-info-fg);overflow:hidden;box-shadow:none;font-size:.7rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}button.professional-patient-chip:hover,button.professional-patient-chip:focus-visible{border-color:color-mix(in srgb,var(--state-info-fg) 34%,var(--border-default));background:color-mix(in srgb,var(--state-info-bg) 72%,var(--bg-elevated));color:var(--state-info-fg)}.professionals-no-patients{color:var(--text-secondary);font-size:.76rem}.professionals-empty-state{min-height:280px;padding:var(--space-6);border:1px dashed var(--border-default);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-elevated) 72%,transparent);display:grid;place-items:center;align-content:center;gap:var(--space-4);text-align:center}.professionals-empty-icon{width:56px;height:56px;border-radius:var(--radius-pill);background:var(--state-info-bg);color:var(--state-info-fg);display:grid;place-items:center}.professionals-empty-icon>svg{width:1.5rem;height:1.5rem}.professionals-empty-state h2{margin:0 0 var(--space-2);color:var(--text-primary);font-size:1rem}.professionals-empty-state p{max-width:34rem;margin:0;color:var(--text-secondary);font-size:.88rem;line-height:1.55}@media(max-width:720px){.professionals-directory{gap:var(--space-4)}.professionals-directory-meta{align-items:flex-start;flex-direction:column}.professionals-filter-chips{width:100%;justify-content:flex-start;margin-inline:-3px}}@media(max-width:520px){.professionals-search-field{min-height:44px;padding-inline:var(--space-3)}.professionals-search-field input{min-height:42px;font-size:.86rem}.professionals-directory-card-header{grid-template-columns:44px minmax(0,1fr)}.professionals-avatar{width:44px;height:44px}.professionals-card-actions{grid-column:1 / -1;width:100%;justify-content:flex-end;padding-top:var(--space-1)}.professionals-card-actions .app-icon-button{width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;flex-basis:40px}.professionals-contact-list{grid-template-columns:minmax(0,1fr)}.professionals-contact-line:nth-child(3){grid-column:auto}.professionals-empty-state{min-height:240px;padding:var(--space-5)}}:where(.pc-settings,.pc-settings-subnav){--pc-blue: #1d4ed8;--pc-blue-600: #2547d6;--pc-blue-500: #3b5bdb;--pc-blue-50: #eef2ff;--pc-blue-100: #dbe5ff;--pc-bg: #f6f7fb;--pc-card: #ffffff;--pc-ink: #0f1734;--pc-ink-2: #475079;--pc-ink-3: #7b84a8;--pc-line: #e4e7f0;--pc-line-soft: #eef0f6;--pc-success: #0f8a5f;--pc-success-soft: #e3f5ec;--pc-warn: #a25b00;--pc-warn-soft: #fff1de;--pc-danger: #c8302e;--pc-danger-soft: #fdecec;--pc-sms: #7a3ad6;--pc-sms-soft: #f3ecff;--pc-email: #1d4ed8;--pc-email-soft: #eef2ff;--pc-purple-bg: #efeaff;--pc-purple-ink: #4a2eb8;--pc-radius: 14px;--pc-radius-sm: 10px;--pc-radius-xs: 8px;--pc-font-ui: "Inter", ui-sans-serif, system-ui, sans-serif;--pc-font-title: "Plus Jakarta Sans", "Inter", sans-serif;--pc-font-mono: "JetBrains Mono", ui-monospace, Menlo, monospace}.local-actions:has(.pc-settings-subnav){background:#fff;border-bottom:1px solid var(--pc-line);box-shadow:none}@media(max-width:1024px){.local-actions:has(.pc-settings-subnav){display:block!important;top:var(--topbar-height-mobile);position:sticky;z-index:30}.local-actions:has(.pc-settings-subnav) .local-actions-inner{padding:0 12px;min-height:44px;gap:0}.local-actions:has(.pc-settings-subnav) .local-actions-title{display:none}.local-actions:has(.pc-settings-subnav) .local-actions-row{width:100%;margin:0}}.pc-settings-subnav{display:flex;align-items:stretch;gap:4px;flex:1 1 auto;min-width:0;font-family:var(--pc-font-ui);align-self:stretch}.pc-settings-subnav-tabs{display:flex;align-items:stretch;gap:2px;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;min-width:0}.pc-settings-subnav-tabs::-webkit-scrollbar{display:none}.pc-settings-subnav-tab{background:transparent;border:0;padding:0 12px;font-size:13.5px;font-weight:500;color:var(--pc-ink-2);cursor:pointer;border-radius:0;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;position:relative;font-family:inherit;box-shadow:none;align-self:stretch;min-height:100%}.pc-settings-subnav-tab:hover,.pc-settings-subnav-tab:focus-visible{background:var(--pc-blue-50);color:var(--pc-ink);outline:none}.pc-settings-subnav-tab[aria-current=page]{color:var(--pc-blue);font-weight:600;background:transparent}.pc-settings-subnav-tab[aria-current=page]:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;background:var(--pc-blue);border-radius:2px 2px 0 0}.pc-settings-subnav-tab .pc-settings-subnav-tab-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--pc-ink-3);flex:0 0 auto}.pc-settings-subnav-tab .pc-settings-subnav-tab-icon svg{width:100%;height:100%;display:block}.pc-settings-subnav-tab[aria-current=page] .pc-settings-subnav-tab-icon{color:var(--pc-blue)}.pc-save-indicator{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--pc-ink-3);padding:6px 10px;border-radius:8px;transition:opacity .25s,color .25s,background-color .25s;flex:0 0 auto;font-family:var(--pc-font-ui);white-space:nowrap}.pc-save-indicator[data-state=saving]{color:var(--pc-ink-2)}.pc-save-indicator[data-state=saved]{color:var(--pc-success);background:var(--pc-success-soft)}.pc-save-indicator[data-state=error]{color:var(--pc-danger);background:var(--pc-danger-soft)}.pc-save-indicator[data-state=idle]{opacity:0;pointer-events:none}.pc-save-spin{width:10px;height:10px;border:1.5px solid var(--pc-line);border-top-color:var(--pc-blue);border-radius:50%;animation:pc-spin .8s linear infinite}.pc-save-indicator-check{width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center}.pc-save-indicator-check svg{width:100%;height:100%;display:block}.pc-save-indicator-error{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;font-weight:800;line-height:1;background:currentColor;color:var(--pc-surface)}@keyframes pc-spin{to{transform:rotate(360deg)}}.pc-settings{background:transparent;color:var(--pc-ink);font-family:var(--pc-font-ui);-webkit-font-smoothing:antialiased;min-height:calc(100dvh - var(--topbar-height, 56px) - var(--local-actions-height, 48px));padding:14px 24px 80px;width:100%}.pc-settings :where(h1,h2,h3,h4){font-family:var(--pc-font-title);color:var(--pc-ink);letter-spacing:-.01em;margin:0}.pc-settings ::-webkit-scrollbar{width:10px;height:10px}.pc-settings ::-webkit-scrollbar-thumb{background:#d4d8e0;border-radius:8px}.pc-settings ::-webkit-scrollbar-track{background:transparent}.pc-settings .pc-page-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 auto 16px;max-width:1320px;padding-top:0}.pc-settings .pc-page-hero h2{font-size:26px;font-weight:700;letter-spacing:-.02em}.pc-settings .pc-page-hero p{color:var(--pc-ink-2);margin:4px 0 0;font-size:13.5px;line-height:1.5}.pc-settings .pc-page-hero-actions,.pc-settings .pc-page-hero-kpis{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pc-settings .pc-page-body{max-width:1320px;margin:0 auto}.pc-settings .pc-kpi{background:#fff;border:1px solid var(--pc-line);border-radius:10px;padding:8px 14px;display:flex;flex-direction:column;min-width:130px}.pc-settings .pc-kpi-label{font-size:10.5px;font-weight:600;color:var(--pc-ink-3);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.pc-settings .pc-kpi-value{font-size:14px;font-weight:700;color:var(--pc-ink);margin-top:2px;font-variant-numeric:tabular-nums}.pc-settings .pc-kpi-value.is-success{color:var(--pc-success)}.pc-settings .pc-kpi-value.is-danger{color:var(--pc-danger)}.pc-settings .pc-card{background:#fff;border:1px solid var(--pc-line);border-radius:var(--pc-radius);overflow:hidden}.pc-settings .pc-card-head{padding:12px 20px 8px;margin:0;border-bottom:1px solid var(--pc-line-soft);display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.pc-settings .pc-card-head-inner h3{line-height:1.3}.pc-settings .pc-card-head-inner p{line-height:1.4}.pc-settings .pc-card-head-inner h3{font-size:15px;font-weight:700;color:var(--pc-ink)}.pc-settings .pc-card-head-inner p{font-size:12.5px;color:var(--pc-ink-2);margin:3px 0 0;line-height:1.5}.pc-settings .pc-card-body{padding:4px 20px 8px}.pc-settings input[type=hidden]{display:none!important;padding:0!important;border:0!important;margin:0!important;width:0!important;height:0!important}.pc-settings .pc-card-body.no-pad{padding:0}.pc-settings .pc-card-body .pc-row-list>.pc-row:first-child{padding-top:0}.pc-settings .pc-card-body .pc-row-list>.pc-row:last-child{padding-bottom:0}.pc-settings .pc-card-body>.pc-row:first-child{padding-top:0}.pc-settings .pc-card-body>.pc-row:last-child{padding-bottom:0}.pc-settings .pc-card-foot{padding:12px 20px;background:#fafbfd;border-top:1px solid var(--pc-line-soft);font-size:12.5px;color:var(--pc-ink-2);display:flex;align-items:center;gap:10px}.pc-settings .pc-grid{display:grid;gap:16px}.pc-settings .pc-grid.cols-2{grid-template-columns:1fr 1fr}.pc-settings .pc-grid.cols-3{grid-template-columns:repeat(3,1fr)}.pc-settings .pc-grid.profile-layout{grid-template-columns:minmax(0,1.4fr) minmax(320px,420px);align-items:start}@media(max-width:1100px){.pc-settings .pc-grid.profile-layout{grid-template-columns:1fr}}.pc-settings .pc-grid.planning-display-layout{grid-template-columns:minmax(0,1fr) minmax(380px,540px);gap:18px;align-items:start}@media(max-width:1100px){.pc-settings .pc-grid.planning-display-layout{grid-template-columns:1fr}}.pc-settings .pc-stack{display:flex;flex-direction:column;gap:16px}.pc-settings .pc-stack.sm{gap:10px}.pc-settings .pc-stack.md{gap:14px}.pc-settings .pc-divider{height:1px;background:var(--pc-line-soft);margin:14px 0;border:0}.pc-settings .pc-field{display:flex;flex-direction:column;gap:6px;min-width:0}.pc-settings .pc-field-label{font-size:12.5px;font-weight:600;color:var(--pc-ink-2)}.pc-settings .pc-field-hint{font-size:11.5px;color:var(--pc-ink-3);line-height:1.45}.pc-settings .pc-input,.pc-settings .pc-textarea,.pc-settings .pc-select{width:100%;border:1px solid var(--pc-line);border-radius:var(--pc-radius-sm);background:#fff;padding:9px 12px;font:inherit;font-size:13.5px;color:var(--pc-ink);outline:none;transition:border-color .15s,box-shadow .15s;font-family:var(--pc-font-ui)}.pc-settings .pc-input::-moz-placeholder,.pc-settings .pc-textarea::-moz-placeholder{color:var(--pc-ink-3)}.pc-settings .pc-input::placeholder,.pc-settings .pc-textarea::placeholder{color:var(--pc-ink-3)}.pc-settings .pc-input:focus,.pc-settings .pc-textarea:focus,.pc-settings .pc-select:focus{border-color:var(--pc-blue);box-shadow:0 0 0 3px #1d4ed81f}.pc-settings .pc-input:disabled,.pc-settings .pc-textarea:disabled,.pc-settings .pc-select:disabled{background:var(--pc-bg);color:var(--pc-ink-3)}.pc-settings .pc-textarea{min-height:70px;resize:vertical;line-height:1.5}.pc-settings .pc-input[readonly]{background:var(--pc-bg);color:var(--pc-ink-2)}.pc-settings .pc-input-mono{font-family:var(--pc-font-mono);font-size:12.5px}.pc-settings .pc-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237b84a8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;cursor:pointer}.pc-settings .pc-field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px}.pc-settings .pc-field-grid>.pc-field.full{grid-column:1 / -1}.pc-settings .pc-training-row{display:grid;grid-template-columns:minmax(150px,.35fr) minmax(220px,1fr) auto;gap:10px;align-items:center}@media(max-width:720px){.pc-settings .pc-training-row{grid-template-columns:1fr auto}.pc-settings .pc-training-row .pc-input:first-child{grid-column:1 / -1}}@media(max-width:760px){.pc-settings .pc-field-grid{grid-template-columns:1fr}}.pc-settings .pc-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;text-align:left;color:var(--pc-ink);font-family:var(--pc-font-ui);font-size:0;line-height:1;box-shadow:none;height:20px;min-height:0}.pc-settings .pc-toggle-track{width:36px;height:20px;border-radius:999px;background:#d6dae6;position:relative;transition:background .15s;flex:0 0 auto;display:inline-block}.pc-settings .pc-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .18s ease}.pc-settings .pc-toggle[data-on=true] .pc-toggle-track{background:var(--pc-blue)}.pc-settings .pc-toggle[data-on=true] .pc-toggle-track:after{transform:translate(16px)}.pc-settings .pc-toggle[disabled]{opacity:.55;cursor:not-allowed}.pc-settings .pc-toggle-label{font-size:13px;color:var(--pc-ink);font-weight:500}.pc-settings .pc-toggle-label.is-strong{font-weight:600}.pc-settings .pc-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:6px 0;border-bottom:1px solid var(--pc-line-soft);line-height:1.35}.pc-settings .pc-row:last-child{border-bottom:0}.pc-settings .pc-row-title{line-height:1.3}.pc-settings .pc-row-hint{margin-top:1px;line-height:1.35}.pc-settings .pc-row-copy{flex:1;min-width:0}.pc-settings .pc-row-title{font-size:13.5px;font-weight:600;color:var(--pc-ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pc-settings .pc-row-hint{font-size:12px;color:var(--pc-ink-2);margin-top:3px;line-height:1.5}.pc-settings .pc-check{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:13px;color:var(--pc-ink);background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;text-align:left;font-family:var(--pc-font-ui);box-shadow:none;min-height:0;line-height:1.3}.pc-settings .pc-check-box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--pc-line);background:#fff;display:inline-flex;align-items:center;justify-content:center;transition:all .12s;flex:0 0 auto;color:transparent}.pc-settings .pc-check[data-on=true] .pc-check-box{background:var(--pc-blue);border-color:var(--pc-blue);color:#fff}.pc-settings .pc-check-box svg{width:12px;height:12px;display:block}.pc-settings .pc-check[disabled]{opacity:.55;cursor:not-allowed}.pc-settings .pc-btn{display:inline-flex;align-items:center;gap:7px;background:var(--pc-blue);color:#fff;border:1px solid var(--pc-blue);border-radius:var(--pc-radius-sm);padding:9px 14px;font-size:13.5px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #1d4ed84d;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;font-family:var(--pc-font-ui);line-height:1.2;text-decoration:none}.pc-settings .pc-btn:hover{background:var(--pc-blue-600);border-color:var(--pc-blue-600);color:#fff}.pc-settings .pc-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #1d4ed840}.pc-settings .pc-btn.ghost{background:transparent;color:var(--pc-ink-2);border:1px solid var(--pc-line);box-shadow:none}.pc-settings .pc-btn.ghost:hover{background:var(--pc-bg);color:var(--pc-ink);border-color:var(--pc-line)}.pc-settings .pc-btn.secondary{background:#fff;color:var(--pc-blue);border:1px solid var(--pc-blue-100);box-shadow:none}.pc-settings .pc-btn.secondary:hover{background:var(--pc-blue-50);color:var(--pc-blue);border-color:var(--pc-blue-100)}.pc-settings .pc-btn.danger{background:var(--pc-danger);border-color:var(--pc-danger);box-shadow:0 1px 2px #c8302e4d}.pc-settings .pc-btn.danger:hover{background:#b22a28;border-color:#b22a28}.pc-settings .pc-btn.sm{padding:6px 10px;font-size:12.5px}.pc-settings .pc-btn:disabled{opacity:.5;cursor:not-allowed}.pc-settings .pc-btn .pc-btn-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:inherit}.pc-settings .pc-btn .pc-btn-icon svg{width:100%;height:100%;display:block;color:inherit;stroke:currentColor;fill:none}.pc-settings .pc-btn:not(.ghost):not(.secondary):not(.danger) .pc-btn-icon,.pc-settings .pc-btn:not(.ghost):not(.secondary):not(.danger) .pc-btn-icon svg{color:#fff}.pc-settings .pc-btn.danger .pc-btn-icon,.pc-settings .pc-btn.danger .pc-btn-icon svg{color:#fff}.pc-settings .pc-icon-btn{background:transparent;border:1px solid var(--pc-line);color:var(--pc-ink-2);width:24px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none;padding:0}.pc-settings .pc-icon-btn:hover:not(:disabled){background:var(--pc-bg);color:var(--pc-ink)}.pc-settings .pc-icon-btn:disabled{opacity:.35;cursor:not-allowed}.pc-settings .pc-icon-btn svg{width:12px;height:12px;display:block}.pc-settings .pc-pill{display:inline-flex;align-items:center;gap:5px;background:var(--pc-line-soft);color:var(--pc-ink-2);font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;letter-spacing:.01em;border:0}.pc-settings .pc-pill.is-success{background:var(--pc-success-soft);color:var(--pc-success)}.pc-settings .pc-pill.is-danger{background:var(--pc-danger-soft);color:var(--pc-danger)}.pc-settings .pc-pill.is-warn{background:var(--pc-warn-soft);color:var(--pc-warn)}.pc-settings .pc-pill.is-blue{background:var(--pc-blue-50);color:var(--pc-blue)}.pc-settings .pc-pill.is-purple{background:var(--pc-purple-bg);color:var(--pc-purple-ink)}.pc-settings .pc-pill.is-large{font-size:12px;padding:4px 10px}.pc-settings .pc-section-title{font-size:11px;font-weight:700;color:var(--pc-ink-3);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}.pc-settings .pc-banner{background:var(--pc-warn-soft);border:1px solid color-mix(in srgb,var(--pc-warn) 20%,transparent);color:var(--pc-warn);padding:10px 14px;border-radius:10px;font-size:12.5px;display:flex;align-items:flex-start;gap:10px;line-height:1.5}.pc-settings .pc-banner.is-info{background:var(--pc-blue-50);border-color:color-mix(in srgb,var(--pc-blue) 20%,transparent);color:var(--pc-blue)}.pc-settings .pc-banner.is-success{background:var(--pc-success-soft);border-color:color-mix(in srgb,var(--pc-success) 20%,transparent);color:var(--pc-success)}.pc-settings .pc-banner svg{flex:0 0 auto;margin-top:1px}.pc-settings .pc-inline-link-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:0;text-decoration:underline;cursor:pointer}.pc-settings .pc-inline-link-button:disabled{cursor:not-allowed;opacity:.55}.pc-settings .pc-empty{padding:28px 18px;text-align:center;color:var(--pc-ink-3);font-size:13px}.pc-settings .pc-code{font-family:var(--pc-font-mono);font-size:12px;background:var(--pc-line-soft);color:var(--pc-ink-2);padding:2px 8px;border-radius:5px}.pc-settings .pc-link{background:none;border:0;padding:0;color:var(--pc-blue);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;box-shadow:none}.pc-settings .pc-link:hover{text-decoration:underline}.pc-settings .pc-avatar{width:38px;height:38px;border-radius:11px;background:#e0e8ff;color:#3b5bdb;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;letter-spacing:.02em;flex:0 0 auto;border:1px solid #cdd9fa;font-family:var(--pc-font-title);overflow:hidden}.pc-settings .pc-avatar.lg{width:64px;height:64px;border-radius:18px;font-size:22px}.pc-settings .pc-avatar.xs{width:28px;height:28px;border-radius:8px;font-size:11px}.pc-settings .pc-avatar-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.pc-settings .pc-preview{position:sticky;top:calc(var(--topbar-height, 56px) + var(--local-actions-height, 48px) + 16px);background:#fff;border:1px solid var(--pc-line);border-radius:var(--pc-radius);overflow:hidden}@media(max-width:1100px){.pc-settings .pc-preview{position:static}}.pc-settings .pc-preview-head{background:linear-gradient(180deg,#f7f9ff,#f0f3fb);padding:10px 14px;border-bottom:1px solid var(--pc-line-soft);font-size:11px;font-weight:700;color:var(--pc-ink-3);text-transform:uppercase;letter-spacing:.08em;display:flex;justify-content:space-between;align-items:center}.pc-settings .pc-preview-head-label{display:inline-flex;align-items:center;gap:6px}.pc-settings .pc-preview-body{padding:18px 18px 22px;background:#f7f9fc}.pc-settings .pc-preview-card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 1px 3px #0f17340d,0 0 0 1px var(--pc-line)}.pc-settings .pc-preview-card-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}.pc-settings .pc-preview-card-name{font-size:16px;font-weight:700;color:var(--pc-ink);font-family:var(--pc-font-title)}.pc-settings .pc-preview-card-title{font-size:13px;color:var(--pc-ink-2);margin-top:2px}.pc-settings .pc-preview-card-pills{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.pc-settings .pc-preview-info{font-size:12.5px;color:var(--pc-ink-2);line-height:1.5;margin-bottom:14px;display:flex;flex-direction:column;gap:6px}.pc-settings .pc-preview-info-row{display:flex;gap:6px;align-items:flex-start}.pc-settings .pc-preview-info-row svg{color:var(--pc-ink-3);width:12px;height:12px;flex:0 0 auto;margin-top:2px}.pc-settings .pc-preview-hours{background:#f7f9fc;border-radius:10px;padding:10px 12px;font-size:12px;color:var(--pc-ink-2);line-height:1.55;white-space:pre-line;margin-bottom:12px}.pc-settings .pc-preview-hours-title{font-size:10.5px;font-weight:700;color:var(--pc-ink-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.pc-settings .pc-preview-cta{width:100%;justify-content:center}.pc-settings .pc-preview-foot{text-align:center;font-size:11.5px;color:var(--pc-ink-3);margin-top:12px}.pc-settings .pc-preview-richtext{font-size:12.5px;color:var(--pc-ink-2);line-height:1.55;margin-bottom:12px}.pc-settings .pc-preview-richtext :where(p,ul,ol){margin:0 0 6px}.pc-settings .pc-preview-richtext :where(p,ul,ol):last-child{margin-bottom:0}.pc-settings .pc-preview-richtext ul,.pc-settings .pc-preview-richtext ol{padding-left:18px}.pc-settings .pc-preview-faq{border-top:1px solid var(--pc-line-soft);padding-top:12px;font-size:12px;color:var(--pc-ink-2);line-height:1.5}.pc-settings .pc-preview-faq strong{color:var(--pc-ink);font-weight:600}.pc-settings .pc-preview-faq-item+.pc-preview-faq-item{margin-top:8px}.pc-settings .pc-identity{display:flex;gap:18px;align-items:flex-start}.pc-settings .pc-identity-avatar{background:linear-gradient(135deg,#dbe7ff,#a5bef7);color:var(--pc-blue);border:1px solid #cdd9fa}.pc-settings .pc-identity-fields{flex:1;min-width:0}.pc-settings .pc-check-row{display:flex;gap:18px;flex-wrap:wrap}.pc-settings .pc-faq-add{padding:14px 20px;border-bottom:1px solid var(--pc-line-soft);background:var(--pc-blue-50);display:flex;flex-direction:column;gap:10px}.pc-settings .pc-faq-actions{display:flex;gap:8px;justify-content:flex-end}.pc-settings .pc-faq-item{display:flex;gap:12px;align-items:flex-start;padding:14px 20px;border-top:1px solid var(--pc-line-soft)}.pc-settings .pc-faq-item:first-child{border-top:0}.pc-settings .pc-faq-handle{display:flex;flex-direction:column;align-items:center;gap:4px;flex:0 0 auto;padding-top:2px}.pc-settings .pc-faq-handle-pos{font-size:10px;color:var(--pc-ink-3);font-variant-numeric:tabular-nums}.pc-settings .pc-faq-body{flex:1;min-width:0}.pc-settings .pc-faq-q{font-size:14px;font-weight:600;color:var(--pc-ink);margin-bottom:4px}.pc-settings .pc-faq-a{font-size:12.5px;color:var(--pc-ink-2);line-height:1.5;white-space:pre-line}.pc-settings .pc-faq-a em{color:var(--pc-ink-3);font-style:italic}.pc-settings .pc-faq-tools{display:flex;gap:4px;flex:0 0 auto}.pc-settings .pc-rich-wrap .ql-toolbar.ql-snow,.pc-settings .pc-rich-wrap .ql-container.ql-snow{border-color:var(--pc-line)}.pc-settings .pc-rich-wrap .ql-toolbar.ql-snow{border-top-left-radius:var(--pc-radius-sm);border-top-right-radius:var(--pc-radius-sm);background:#fafbfd}.pc-settings .pc-rich-wrap .ql-container.ql-snow{border-bottom-left-radius:var(--pc-radius-sm);border-bottom-right-radius:var(--pc-radius-sm);font-family:var(--pc-font-ui);font-size:13.5px;color:var(--pc-ink)}.pc-settings .pc-rich-wrap .ql-editor{min-height:110px;padding:12px 14px;line-height:1.55}.pc-settings .pc-fieldset{border:0;margin:0;min-width:0;padding:0}.pc-settings .pc-day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.pc-settings .pc-day-pill{background:var(--pc-bg);border:1.5px solid var(--pc-line);border-radius:10px;padding:10px 0;text-align:center;font-size:12.5px;font-weight:600;color:var(--pc-ink-2);cursor:pointer;transition:all .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:var(--pc-font-ui);line-height:1.2;box-shadow:none}.pc-settings .pc-day-pill:hover:not([data-disabled=true]):not(:disabled){border-color:var(--pc-blue);color:var(--pc-blue);background:#fff}.pc-settings .pc-day-pill[data-on=true]{background:var(--pc-blue-50);border-color:var(--pc-blue);color:var(--pc-blue)}.pc-settings .pc-day-pill[data-disabled=true]{cursor:not-allowed;opacity:.65}.pc-settings .pc-chip-row{display:flex;gap:8px;flex-wrap:wrap}.pc-settings .pc-chip{border:1.5px solid var(--pc-line);background:#fff;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--pc-ink-2);cursor:pointer;transition:all .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:var(--pc-font-ui);line-height:1.2;box-shadow:none}.pc-settings .pc-chip:hover:not(:disabled){border-color:var(--pc-blue);color:var(--pc-blue)}.pc-settings .pc-chip[data-on=true]{background:var(--pc-blue);border-color:var(--pc-blue);color:#fff}.pc-settings .pc-chip:disabled{opacity:.5;cursor:not-allowed}.pc-settings .pc-collapsible{background:#fff;border:1px solid var(--pc-line);border-radius:var(--pc-radius-sm);overflow:hidden;transition:border-color .15s}.pc-settings .pc-collapsible[data-open=true]{border-color:var(--pc-blue-100);box-shadow:0 4px 14px #1d4ed814}.pc-settings .pc-collapsible+.pc-collapsible{margin-top:8px}.pc-settings .pc-collapsible-head{width:100%;background:transparent!important;border:0!important;border-radius:0!important;text-align:left;padding:11px 14px;margin:0!important;display:flex;align-items:center;gap:12px;cursor:pointer;font-family:var(--pc-font-ui);color:var(--pc-ink);box-shadow:none;line-height:1.2}.pc-settings .pc-collapsible-head:hover{background:#fafbfd!important;color:var(--pc-ink)}.pc-settings .pc-collapsible-head-icon{width:32px;height:32px;border-radius:9px;background:var(--pc-blue-50);color:var(--pc-blue);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.pc-settings .pc-collapsible-head-icon.is-sms{background:var(--pc-sms-soft);color:var(--pc-sms)}.pc-settings .pc-collapsible-head-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pc-settings .pc-collapsible-head-title strong{font-size:13.5px;font-weight:600;color:var(--pc-ink)}.pc-settings .pc-collapsible-head-title span{font-size:12px;color:var(--pc-ink-3);line-height:1.4}.pc-settings .pc-collapsible-head-chev{color:var(--pc-ink-3);transition:transform .18s,color .18s;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.pc-settings .pc-collapsible[data-open=true] .pc-collapsible-head-chev{transform:rotate(180deg);color:var(--pc-blue)}.pc-settings .pc-collapsible-body{padding:8px 16px 16px;border-top:1px solid var(--pc-line-soft);display:flex;flex-direction:column;gap:12px}.pc-settings .pc-varlist{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.pc-settings .pc-varchip{background:var(--pc-bg);color:var(--pc-ink-2);border:1px solid var(--pc-line);padding:3px 8px;border-radius:6px;font-family:var(--pc-font-mono);font-size:11px;cursor:pointer;box-shadow:none}.pc-settings .pc-varchip:hover:not(:disabled){background:var(--pc-blue-50);color:var(--pc-blue);border-color:var(--pc-blue-100)}.pc-settings .pc-layout-anchor{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}@media(max-width:980px){.pc-settings .pc-layout-anchor{grid-template-columns:1fr}.pc-settings .pc-anchors{display:none}}.pc-settings .pc-anchors{position:sticky;top:calc(var(--topbar-height, 56px) + var(--local-actions-height, 48px) + 16px);display:flex;flex-direction:column;gap:2px;padding:12px;background:#fff;border:1px solid var(--pc-line);border-radius:var(--pc-radius);font-size:12.5px}.pc-settings .pc-anchors-title{font-size:10.5px;font-weight:700;color:var(--pc-ink-3);text-transform:uppercase;letter-spacing:.08em;padding:4px 10px 6px}.pc-settings .pc-anchors-link{color:var(--pc-ink-2);background:none;border:0;text-align:left;padding:7px 10px;border-radius:7px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12.5px;font-family:var(--pc-font-ui);box-shadow:none}.pc-settings .pc-anchors-link:hover{background:var(--pc-bg);color:var(--pc-ink)}.pc-settings .pc-anchors-link.is-active{background:var(--pc-blue-50);color:var(--pc-blue);font-weight:600}.pc-settings .pc-sentence{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 0;line-height:1.7;font-size:13.5px;color:var(--pc-ink-2);border-bottom:1px dashed var(--pc-line-soft)}.pc-settings .pc-sentence:last-child{border-bottom:0}.pc-settings .pc-sentence-dot{width:8px;height:8px;border-radius:50%;background:#d6dae6;flex:0 0 auto}.pc-settings .pc-sentence-dot.is-on{background:var(--pc-success)}.pc-settings .pc-sentence-dot.is-off{background:var(--pc-danger)}.pc-settings .pc-sentence-inline{background:#fff;border:1px solid var(--pc-line);border-radius:8px;padding:4px 22px 4px 10px;font-weight:600;color:var(--pc-ink);font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .12s;font-family:var(--pc-font-ui);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237b84a8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 6px center}.pc-settings .pc-sentence-inline:hover{border-color:var(--pc-blue);background-color:var(--pc-blue-50);color:var(--pc-blue)}.pc-settings .pc-sentence-inline.is-strong{background-color:var(--pc-blue-50);border-color:var(--pc-blue-100);color:var(--pc-blue)}.pc-settings .pc-sentence-inline-num{background:#fff;border:1px solid var(--pc-line);border-radius:8px;padding:4px 8px;font-weight:700;color:var(--pc-ink);font-size:13px;width:56px;font-variant-numeric:tabular-nums;text-align:center;font-family:var(--pc-font-ui)}.pc-settings .pc-sentence-inline-num:focus,.pc-settings .pc-sentence-inline:focus{outline:none;border-color:var(--pc-blue);box-shadow:0 0 0 3px #1d4ed81f}.pc-settings .pc-sentence-date{background:#fff;border:1px solid var(--pc-line);border-radius:8px;padding:4px 9px;font-weight:600;color:var(--pc-ink);font-size:13px;font-family:var(--pc-font-ui)}.pc-settings .pc-loc-row{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--pc-line-soft)}.pc-settings .pc-loc-row:first-child{border-top:0}.pc-settings .pc-loc-swatch{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.pc-settings .pc-loc-name{font-size:13.5px;font-weight:600;color:var(--pc-ink);display:flex;align-items:center;gap:8px}.pc-settings .pc-loc-address{font-size:12px;color:var(--pc-ink-2);margin-top:2px}.pc-settings .pc-types-table{width:100%;border-collapse:collapse;font-size:13px}.pc-settings .pc-types-table thead tr{background:#fafbfd;border-bottom:1px solid var(--pc-line)}.pc-settings .pc-types-table th{text-align:left;padding:10px 12px;font-size:11px;font-weight:700;color:var(--pc-ink-3);text-transform:uppercase;letter-spacing:.06em}.pc-settings .pc-types-table th:first-child,.pc-settings .pc-types-table td:first-child{padding-left:20px}.pc-settings .pc-types-table th:last-child,.pc-settings .pc-types-table td:last-child{padding-right:20px}.pc-settings .pc-types-table tbody tr{border-bottom:1px solid var(--pc-line-soft)}.pc-settings .pc-types-table td{padding:12px;color:var(--pc-ink-2);vertical-align:middle}.pc-settings .pc-type-actions{display:inline-flex;gap:4px}.pc-settings .pc-types-table tbody tr:last-child .pc-type-actions .app-tooltip:after{top:auto;bottom:calc(100% + 8px)}.pc-settings .pc-types-table tbody tr:last-child .pc-type-actions .app-tooltip:before{top:auto;bottom:calc(100% + 2px);border-bottom-color:transparent;border-top-color:var(--tooltip-bg)}.pc-settings .pc-card-mobile-toggle{display:none}@media(max-width:840px){.pc-settings-planning .pc-field-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.pc-settings.pc-settings-planning{box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow-x:clip;padding:12px 12px 72px}.pc-settings-planning .pc-page-hero{align-items:stretch;flex-direction:column;min-width:0;margin-bottom:12px}.pc-settings-planning .pc-page-hero h2{font-size:22px}.pc-settings-planning .pc-page-hero-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pc-settings-planning .pc-kpi{box-sizing:border-box;min-width:0;padding:8px 10px}.pc-settings-planning .pc-kpi-label{white-space:normal}.pc-settings-planning .pc-page-body,.pc-settings-planning form,.pc-settings-planning .pc-fieldset,.pc-settings-planning .pc-layout-anchor,.pc-settings-planning .pc-stack,.pc-settings-planning .pc-card{min-width:0;max-width:100%}.pc-settings-planning .pc-stack{gap:10px}.pc-settings-planning .pc-card{scroll-margin-top:calc(var(--topbar-height-mobile, 56px) + var(--local-actions-height, 48px) + 12px)}.pc-settings-planning .pc-card-head{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:0}.pc-settings-planning .pc-card-head-inner-desktop{display:none}.pc-settings-planning .pc-card-mobile-toggle{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:0;border-radius:0;background:var(--pc-card);color:var(--pc-ink);box-shadow:none;text-align:left;font-family:var(--pc-font-ui)}.pc-settings-planning .pc-card-mobile-toggle:hover,.pc-settings-planning .pc-card-mobile-toggle:focus-visible{background:var(--pc-blue-50);color:var(--pc-ink)}.pc-settings-planning .pc-card-mobile-toggle:focus-visible{outline:2px solid var(--pc-blue);outline-offset:-2px}.pc-settings-planning .pc-card-mobile-toggle .pc-card-head-inner{min-width:0;display:grid;gap:3px}.pc-settings-planning .pc-card-mobile-title{color:var(--pc-ink);font-family:var(--pc-font-title);font-size:15px;font-weight:700;line-height:1.3}.pc-settings-planning .pc-card-mobile-hint{color:var(--pc-ink-2);font-size:12px;line-height:1.4}.pc-settings-planning .pc-card-mobile-chevron{flex:0 0 auto;color:var(--pc-ink-3);font-size:18px;line-height:1;transition:transform .18s ease-out}.pc-settings-planning .pc-card-mobile-collapsible.is-mobile-open .pc-card-mobile-chevron{transform:rotate(180deg)}.pc-settings-planning .pc-card-mobile-collapsible:not(.is-mobile-open)>.pc-card-head{border-bottom:0}.pc-settings-planning .pc-card-mobile-collapsible:not(.is-mobile-open)>:is(.pc-card-body,.pc-card-foot){display:none}.pc-settings-planning .pc-card-mobile-collapsible:not(.is-mobile-open)>.pc-card-head>.pc-card-head-actions{display:none}.pc-settings-planning .pc-card-head-actions{padding:0 14px 12px}.pc-settings-planning .pc-card-head-actions .pc-btn{width:100%;justify-content:center}.pc-settings-planning .pc-card-body{box-sizing:border-box;min-width:0;padding:4px 14px 10px}.pc-settings-planning .pc-sentence{min-width:0;align-items:center;padding:11px 0;line-height:1.5}.pc-settings-planning :is(.pc-sentence-inline,.pc-sentence-date){box-sizing:border-box;max-width:100%}.pc-settings-planning .pc-visio-input-row{flex-direction:column;align-items:stretch!important}.pc-settings-planning .pc-visio-input-row>svg{display:none}.pc-settings-planning .pc-visio-input-row .pc-input{box-sizing:border-box;min-width:0!important;width:100%}.pc-settings-planning .pc-sentence[data-layout=visio] .pc-field-hint{padding-left:0!important}.pc-settings-planning .pc-loc-row{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px 12px;padding:14px}.pc-settings-planning .pc-loc-copy{min-width:0}.pc-settings-planning .pc-loc-address{overflow-wrap:anywhere}.pc-settings-planning .pc-loc-actions{grid-column:1 / -1;justify-content:flex-end}.pc-settings-planning .pc-types-table,.pc-settings-planning .pc-types-table tbody,.pc-settings-planning .pc-types-table tr,.pc-settings-planning .pc-types-table td{display:block;width:100%;box-sizing:border-box}.pc-settings-planning .pc-types-table thead{display:none}.pc-settings-planning .pc-types-table tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,auto)) minmax(0,1fr);align-items:center;gap:6px 12px;padding:14px}.pc-settings-planning .pc-types-table td,.pc-settings-planning .pc-types-table td:first-child,.pc-settings-planning .pc-types-table td:last-child{width:auto;padding:0}.pc-settings-planning .pc-types-table td:first-child{grid-column:1 / -1;min-width:0}.pc-settings-planning .pc-types-table td:nth-child(2){grid-column:1;grid-row:3}.pc-settings-planning .pc-types-table td:nth-child(3){grid-column:2;grid-row:3}.pc-settings-planning .pc-types-table td:nth-child(4){grid-column:3;grid-row:3}.pc-settings-planning .pc-types-table .pc-type-usage{grid-column:1 / -1;grid-row:2}.pc-settings-planning .pc-types-table td:last-child{grid-column:4;grid-row:3;justify-self:end}.pc-settings-planning .pc-qr-panel .settings-qr-layout,.pc-settings-planning .pc-qr-card{flex-direction:column}.pc-settings-planning .pc-qr-panel .settings-qr-controls{min-width:0;width:100%}.pc-settings-planning .pc-qr-box,.pc-settings-planning .pc-qr-panel .settings-qr-preview-panel{align-self:center}}@media(max-width:350px){.pc-settings-planning .pc-page-hero-kpis{grid-template-columns:minmax(0,1fr)}}.pc-settings .pc-qr-panel{background:#fff;border:1px solid var(--pc-line);border-radius:var(--pc-radius-sm);padding:14px 16px;margin:0;box-shadow:none;display:flex;flex-direction:column;gap:12px}.pc-settings .pc-qr-panel+.pc-qr-panel{margin-top:0}.pc-settings .pc-qr-panel .settings-panel-head{padding:0;margin:0;border:0;background:transparent;display:flex;flex-direction:column;gap:2px}.pc-settings .pc-qr-panel .settings-panel-head h3{font-size:13.5px;font-weight:600;color:var(--pc-ink);margin:0;font-family:var(--pc-font-title);letter-spacing:-.01em;line-height:1.3}.pc-settings .pc-qr-panel .settings-panel-head .hint,.pc-settings .pc-qr-panel .settings-panel-head p{font-size:12px;color:var(--pc-ink-3);margin:0;line-height:1.4;font-weight:400}.pc-settings .pc-qr-panel>.hint{font-size:12px;color:var(--pc-ink-2);margin:0;line-height:1.4}.pc-settings .pc-qr-panel .settings-qr-layout{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.pc-settings .pc-qr-panel .settings-qr-preview-panel{display:flex;flex-direction:column;gap:6px;align-items:center}.pc-settings .pc-qr-panel .settings-qr-preview{border:1px solid var(--pc-line);border-radius:10px;padding:8px;background:#fff}.pc-settings .pc-qr-panel .settings-qr-link{font-family:var(--pc-font-mono);font-size:10.5px;color:var(--pc-ink-3);background:var(--pc-line-soft);padding:2px 6px;border-radius:5px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.pc-settings .pc-qr-panel .settings-qr-controls{flex:1;min-width:240px;display:flex;flex-direction:column;gap:10px}.pc-settings .pc-qr-panel .settings-qr-field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--pc-ink-2)}.pc-settings .pc-qr-panel .settings-qr-field .hint{font-weight:400;font-size:11.5px;color:var(--pc-ink-3)}.pc-settings .pc-qr-panel .settings-qr-color-row{display:flex;gap:6px;align-items:center}.pc-settings .pc-qr-panel .settings-qr-color-row input[type=color]{width:36px;height:32px;padding:2px;border-radius:8px;border:1px solid var(--pc-line);cursor:pointer;background:#fff}.pc-settings .pc-qr-panel .settings-qr-color-row input[type=text],.pc-settings .pc-qr-panel .settings-qr-field input[type=file]{flex:1;border:1px solid var(--pc-line);border-radius:8px;padding:6px 9px;font-size:12.5px;font-family:var(--pc-font-ui);color:var(--pc-ink);background:#fff}.pc-settings .pc-qr-panel .settings-qr-color-row input[type=text]{font-family:var(--pc-font-mono);font-size:12px}.pc-settings .pc-qr-panel .settings-qr-logo-name,.pc-settings .pc-qr-panel .settings-qr-error{font-size:11.5px;color:var(--pc-ink-3);margin:0}.pc-settings .pc-qr-panel .settings-qr-error{color:var(--pc-danger)}.pc-settings .pc-qr-panel .settings-qr-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.pc-settings .pc-qr-panel .settings-qr-actions button{background:var(--pc-blue);color:#fff;border:1px solid var(--pc-blue);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--pc-font-ui);box-shadow:none;line-height:1.2}.pc-settings .pc-qr-panel .settings-qr-actions button:hover:not(:disabled){background:var(--pc-blue-600);border-color:var(--pc-blue-600)}.pc-settings .pc-qr-panel .settings-qr-actions button.ghost{background:#fff;color:var(--pc-ink-2);border-color:var(--pc-line)}.pc-settings .pc-qr-panel .settings-qr-actions button.ghost:hover:not(:disabled){background:var(--pc-bg);color:var(--pc-ink)}.pc-settings .pc-qr-panel .settings-qr-actions button:disabled{opacity:.45;cursor:not-allowed}.pc-settings .pc-qr-card{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.pc-settings .pc-qr-box{background:#fff;border:1px solid var(--pc-line);border-radius:12px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 auto}.pc-settings .pc-qr-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.pc-settings .pc-progress{height:8px;background:var(--pc-line-soft);border-radius:999px;overflow:hidden;position:relative}.pc-settings .pc-progress-bar{height:100%;background:linear-gradient(90deg,var(--pc-sms),var(--pc-purple-ink, #4a2eb8));transition:width .3s}.pc-settings .pc-progress-bar.is-danger{background:var(--pc-danger)}.pc-settings .pc-filter-row{display:flex;gap:6px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid var(--pc-line-soft)}.pc-settings .pc-filter-chip{background:#fff;border:1.5px solid var(--pc-line);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;color:var(--pc-ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:var(--pc-font-ui);box-shadow:none;line-height:1.2}.pc-settings .pc-filter-chip:hover:not(:disabled){border-color:var(--pc-blue);color:var(--pc-blue)}.pc-settings .pc-filter-chip[data-on=true]{background:var(--pc-blue);border-color:var(--pc-blue);color:#fff}.pc-settings .pc-filter-chip-count{padding:0 6px;border-radius:4px;font-size:11px;font-weight:600;background:var(--pc-line-soft);color:var(--pc-ink-2)}.pc-settings .pc-filter-chip[data-on=true] .pc-filter-chip-count{background:#ffffff40;color:#fff}.pc-settings .pc-invoice{background:#fff;border:1px solid var(--pc-line);border-radius:8px;padding:22px;font-size:11.5px;color:var(--pc-ink-2)}.pc-settings .pc-invoice-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;gap:14px}.pc-settings .pc-invoice-title{font-size:18px;font-weight:700;color:var(--pc-ink);letter-spacing:-.01em}.pc-settings .pc-invoice-patient{background:#f7f9fc;border:1px solid var(--pc-line-soft);border-radius:6px;padding:10px 12px;font-size:10.5px;margin-bottom:14px}.pc-settings .pc-invoice-table{width:100%;border-collapse:collapse;font-size:11px}.pc-settings .pc-invoice-table th{text-align:left;padding:8px 4px;font-size:10px;font-weight:700;color:var(--pc-ink-3);text-transform:uppercase;border-bottom:1px solid var(--pc-line)}.pc-settings .pc-invoice-table td{padding:8px 4px}.pc-settings .pc-invoice-totals{margin-top:14px;padding-top:12px;border-top:1px solid var(--pc-line);display:flex;flex-direction:column;gap:4px;align-items:flex-end}.pc-settings .pc-list-row{display:flex;align-items:center;gap:14px;padding:12px 20px;border-top:1px solid var(--pc-line-soft)}.pc-settings .pc-list-row:first-child{border-top:0}.pc-settings .pc-list-row-copy{flex:1;min-width:0}.pc-settings .pc-list-row-title{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--pc-ink)}.pc-settings .pc-list-row-meta{font-size:12px;color:var(--pc-ink-2);margin-top:2px}.pc-settings .pc-cabinet-collab-wrap{display:flex;flex-direction:column;gap:16px}.pc-settings .pc-cabinet-collab-wrap .settings-panel{background:#fff;border:1px solid var(--pc-line);border-radius:var(--pc-radius);padding:0;margin:0;box-shadow:none;overflow:visible}.pc-settings .pc-cabinet-collab-wrap .settings-panel-head{padding:14px 20px 10px;border-bottom:1px solid var(--pc-line-soft);margin:0;background:transparent;display:flex;flex-direction:column;gap:3px}.pc-settings .pc-cabinet-collab-wrap .settings-panel-head h3{font-size:15px;font-weight:700;letter-spacing:-.01em;margin:0;font-family:var(--pc-font-title);color:var(--pc-ink);line-height:1.3}.pc-settings .pc-cabinet-collab-wrap .settings-panel-head p,.pc-settings .pc-cabinet-collab-wrap .settings-panel-head .hint{font-size:12.5px;color:var(--pc-ink-2);margin:0;line-height:1.4}.pc-settings .pc-cabinet-collab-wrap .settings-panel>form,.pc-settings .pc-cabinet-collab-wrap .settings-panel>.settings-form-stack{padding:14px 20px 16px}.pc-settings .pc-cabinet-collab-wrap .settings-form-stack{display:flex;flex-direction:column;gap:12px}.pc-settings .pc-cabinet-collab-wrap label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:var(--pc-ink-2);min-width:0}.pc-settings .pc-cabinet-collab-wrap select,.pc-settings .pc-cabinet-collab-wrap input[type=text],.pc-settings .pc-cabinet-collab-wrap input[type=number],.pc-settings .pc-cabinet-collab-wrap input[type=date],.pc-settings .pc-cabinet-collab-wrap input[type=datetime-local],.pc-settings .pc-cabinet-collab-wrap textarea{width:100%;border:1px solid var(--pc-line);border-radius:var(--pc-radius-sm);background:#fff;padding:9px 12px;font:inherit;font-size:13.5px;color:var(--pc-ink);outline:none;font-family:var(--pc-font-ui);font-weight:400}.pc-settings .pc-cabinet-collab-wrap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237b84a8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;cursor:pointer}.pc-settings .pc-cabinet-collab-wrap input:focus,.pc-settings .pc-cabinet-collab-wrap select:focus,.pc-settings .pc-cabinet-collab-wrap textarea:focus{border-color:var(--pc-blue);box-shadow:0 0 0 3px #1d4ed81f}.pc-settings .pc-cabinet-collab-wrap input:disabled,.pc-settings .pc-cabinet-collab-wrap select:disabled,.pc-settings .pc-cabinet-collab-wrap textarea:disabled{background:var(--pc-bg);color:var(--pc-ink-3);cursor:not-allowed}.pc-settings .pc-cabinet-collab-wrap button[type=submit],.pc-settings .pc-cabinet-collab-wrap .form-actions button{display:inline-flex;align-items:center;gap:7px;background:var(--pc-blue)!important;color:#fff!important;border:1px solid var(--pc-blue)!important;border-radius:var(--pc-radius-sm);padding:9px 14px;font-size:13.5px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #1d4ed84d;font-family:var(--pc-font-ui);line-height:1.2}.pc-settings .pc-cabinet-collab-wrap button[type=submit]:hover:not(:disabled),.pc-settings .pc-cabinet-collab-wrap .form-actions button:hover:not(:disabled){background:var(--pc-blue-600)!important;border-color:var(--pc-blue-600)!important}.pc-settings .pc-cabinet-collab-wrap button.ghost,.pc-settings .pc-cabinet-collab-wrap button[data-variant=ghost]{background:transparent!important;color:var(--pc-ink-2)!important;border:1px solid var(--pc-line)!important;box-shadow:none!important}.pc-settings .pc-cabinet-collab-wrap button.ghost:hover:not(:disabled){background:var(--pc-bg)!important;color:var(--pc-ink)!important}.pc-settings .pc-cabinet-collab-wrap button.danger{background:var(--pc-danger)!important;border:1px solid var(--pc-danger)!important;color:#fff!important;box-shadow:0 1px 2px #c8302e4d;display:inline-flex;align-items:center;gap:7px;border-radius:var(--pc-radius-sm);padding:9px 14px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:var(--pc-font-ui);line-height:1.2}.pc-settings .pc-cabinet-collab-wrap button.danger:hover:not(:disabled){background:#b22a28!important;border-color:#b22a28!important;color:#fff!important}.pc-settings .pc-cabinet-collab-wrap button:disabled{opacity:.55;cursor:not-allowed}.pc-settings .pc-cabinet-collab-wrap .form-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.pc-settings .pc-cabinet-collab-wrap .mantine-Switch-root,.pc-settings .pc-cabinet-collab-wrap .mantine-Switch-body{font-family:var(--pc-font-ui)}.pc-settings .pc-cabinet-collab-wrap .mantine-Switch-labelWrapper,.pc-settings .pc-cabinet-collab-wrap .mantine-Switch-label{font-size:13px;color:var(--pc-ink);font-weight:500}.pc-settings .pc-cabinet-collab-wrap .mantine-Switch-track{background:#d6dae6;border-color:#d6dae6}.pc-settings .pc-cabinet-collab-wrap .mantine-Switch-input:checked+.mantine-Switch-track,.pc-settings .pc-cabinet-collab-wrap .mantine-Switch-input:checked+* .mantine-Switch-track{background:var(--pc-blue);border-color:var(--pc-blue)}.pc-settings .pc-cabinet-collab-wrap .settings-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.pc-settings .pc-cabinet-collab-wrap .settings-check-row{flex-direction:row;align-items:center;gap:9px;font-weight:500;font-size:13px;color:var(--pc-ink)}.pc-settings .pc-cabinet-collab-wrap .settings-check-row input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--pc-blue);cursor:pointer}.pc-settings .pc-cabinet-collab-wrap ul{list-style:none;padding:0;margin:0}.pc-settings .pc-cabinet-collab-wrap li{padding:10px 0;border-top:1px solid var(--pc-line-soft);font-size:13px;color:var(--pc-ink-2)}.pc-settings .pc-cabinet-collab-wrap li:first-child{border-top:0}.pc-settings .pc-cabinet-collab-wrap .settings-grid,.pc-settings .pc-cabinet-collab-wrap .settings-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.pc-settings .pc-cabinet-collab-wrap .settings-card-row,.pc-settings .pc-cabinet-collab-wrap .settings-rule-card,.pc-settings .pc-cabinet-collab-wrap .settings-replacement-card{background:#fafbfd;border:1px solid var(--pc-line-soft);border-radius:var(--pc-radius-sm);padding:12px 14px}.pc-settings .pc-cabinet-collab-wrap h4{font-size:13.5px;font-weight:700;margin:0 0 6px;color:var(--pc-ink);font-family:var(--pc-font-title);letter-spacing:-.01em}.pc-settings .pc-cabinet-collab-wrap .mantine-Switch-thumb{background:#fff}.pc-settings .pc-cabinet-collab-wrap .settings-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.pc-settings .pc-cabinet-collab-wrap .settings-preview-cell{background:var(--pc-bg);border:1px solid var(--pc-line-soft);border-radius:var(--pc-radius-sm);padding:10px 12px}.pc-settings .pc-cabinet-collab-wrap .hint,.pc-settings .pc-cabinet-collab-wrap p.hint{font-size:11.5px;color:var(--pc-ink-3);line-height:1.5;margin:0;font-weight:400}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-radio-group{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column;gap:6px}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-radio-group legend{font-size:11px;font-weight:700;color:var(--pc-ink-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;padding:0}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-radio-hint{margin:-2px 0 6px;font-size:11.5px;color:var(--pc-ink-3);line-height:1.45}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-radio{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border:1px solid var(--pc-line);border-radius:var(--pc-radius-sm);background:#fff;cursor:pointer;transition:border-color .12s,background .12s;font-weight:400;font-size:12.5px}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-radio:hover:not([aria-disabled=true]){border-color:var(--pc-blue-100);background:#fafbfd}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-radio.is-active{border-color:var(--pc-blue);background:var(--pc-blue-50);box-shadow:0 0 0 1px var(--pc-blue)}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-radio input[type=radio]{margin:2px 0 0;width:14px;height:14px;accent-color:var(--pc-blue);cursor:pointer;flex:0 0 auto}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-radio-copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-radio-copy strong{font-size:13px;font-weight:600;color:var(--pc-ink);line-height:1.3}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-radio.is-active .cabinet-policy-radio-copy strong{color:var(--pc-blue)}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-radio-copy span{font-size:11.5px;color:var(--pc-ink-2);line-height:1.45}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-subgroup{margin-top:6px;padding:12px 14px;background:var(--pc-bg);border:1px dashed var(--pc-line);border-radius:var(--pc-radius-sm);display:flex;flex-direction:column;gap:12px}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-subgroup .mantine-Switch-label{font-size:12.5px!important;font-weight:600;color:var(--pc-ink)}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-subgroup .mantine-Switch-description{font-size:11.5px!important;color:var(--pc-ink-3);margin-top:2px;line-height:1.45}.pc-settings .pc-cabinet-collab-wrap .mantine-Switch-description{font-size:11.5px;color:var(--pc-ink-3);margin-top:2px}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-subgroup-label{font-size:11px;font-weight:700;color:var(--pc-ink-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.pc-settings .pc-cabinet-collab-wrap .cabinet-policy-subgroup-hint{font-size:11.5px;color:var(--pc-ink-3);margin:0 0 8px;line-height:1.45}.pc-settings .pc-cabinet-collab-wrap .cabinet-share-scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.pc-settings .pc-cabinet-collab-wrap .cabinet-share-scope-check{display:inline-flex;align-items:center;gap:9px;padding:8px 10px;background:#fff;border:1px solid var(--pc-line);border-radius:8px;font-size:12.5px;color:var(--pc-ink);cursor:pointer;font-weight:500}.pc-settings .pc-cabinet-collab-wrap .cabinet-share-scope-check:hover{border-color:var(--pc-blue-100)}.pc-settings .pc-cabinet-collab-wrap .cabinet-share-scope-check.is-on{border-color:var(--pc-blue);background:var(--pc-blue-50);color:var(--pc-blue)}.pc-settings .pc-cabinet-collab-wrap .cabinet-share-scope-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--pc-blue);margin:0;cursor:pointer}.pc-settings .pc-cabinet-collab-wrap .settings-info-hint{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--pc-line-soft);color:var(--pc-ink-2);font-size:10.5px;font-weight:700;margin-left:4px;cursor:help}.pc-settings .pc-subsection+.pc-subsection{margin-top:14px}.pc-settings .pc-motif-section+.pc-motif-section{border-top:1px solid var(--pc-line-soft)}.pc-settings .pc-motif-section-head{padding:12px 16px;background:#fafbfd;display:flex;align-items:center;gap:10px}.pc-settings .pc-motif-section-body{display:flex;flex-direction:column}.pc-settings .pc-motif-row{display:flex;align-items:center;gap:10px;padding:8px 16px 8px 56px;border-top:1px solid var(--pc-line-soft)}.pc-settings .pc-motif-handle{display:flex;flex-direction:column;gap:2px;flex:0 0 auto}.pc-settings .pc-question-row{display:flex;gap:12px;align-items:flex-start;padding:12px 20px;border-top:1px solid var(--pc-line-soft)}.pc-settings .pc-question-row:first-child{border-top:0}.pc-settings .pc-waitlist-question-form{display:grid;gap:12px;padding:14px 20px;border-bottom:1px solid var(--pc-line-soft);background:var(--pc-blue-50)}.pc-settings .pc-waitlist-question-editor,.pc-settings .pc-waitlist-question-options,.pc-settings .pc-waitlist-question-edit{display:grid;gap:10px;min-width:0}.pc-settings .pc-waitlist-question-edit{flex:1}.pc-settings .pc-waitlist-question-settings{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,auto);gap:12px;align-items:end}.pc-settings .pc-waitlist-question-required{display:flex;align-items:center;gap:8px;min-height:40px;color:var(--pc-ink);font-size:13px;font-weight:600}.pc-settings .pc-waitlist-question-option-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center}.pc-settings .pc-waitlist-question-actions,.pc-settings .pc-waitlist-question-row-actions{display:flex;justify-content:flex-end;gap:8px}.pc-settings .pc-waitlist-question-summary{display:grid;flex:1;min-width:0;gap:4px;color:var(--pc-ink)}.pc-settings .pc-waitlist-question-summary strong{font-size:13.5px}.pc-settings .pc-waitlist-question-summary span{color:var(--pc-muted);font-size:12px}@media(max-width:700px){.pc-settings .pc-waitlist-question-settings{grid-template-columns:1fr}}.pc-settings .pc-rep-row{padding:14px 20px;border-top:1px solid var(--pc-line-soft);display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto auto;gap:10px;align-items:flex-end}.pc-settings .pc-rep-row:first-child{border-top:0}@media(max-width:1100px){.pc-settings .pc-rep-row{grid-template-columns:1fr 1fr}}.pc-settings .pc-retro-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:760px){.pc-settings .pc-retro-kpi-grid{grid-template-columns:repeat(2,1fr)}}.pc-settings .pc-retro-kpi-tile{padding:10px 12px;background:var(--pc-bg);border:1px solid var(--pc-line-soft);border-radius:10px}.pc-settings .pc-retro-kpi-tile.is-accent{background:var(--pc-blue-50);border-color:var(--pc-blue-100)}.pc-settings .pc-retro-kpi-label{font-size:10.5px;font-weight:700;color:var(--pc-ink-3);text-transform:uppercase;letter-spacing:.06em}.pc-settings .pc-retro-kpi-tile.is-accent .pc-retro-kpi-label{color:var(--pc-blue)}.pc-settings .pc-retro-kpi-value{font-size:16px;font-weight:700;color:var(--pc-ink);margin-top:4px;font-variant-numeric:tabular-nums}.pc-settings .pc-retro-kpi-tile.is-accent .pc-retro-kpi-value{color:var(--pc-blue)}.pc-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f173473;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.app.practitioner .pc-modal-backdrop{top:var(--topbar-height)}.pc-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0f173440;max-width:540px;max-height:calc(100vh - 40px);width:100%;overflow:hidden;animation:pc-modal-in .18s ease-out;color:#0f1734;display:flex;flex-direction:column}.app.practitioner .pc-modal{max-height:calc(100dvh - var(--topbar-height) - 40px)}@keyframes pc-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.pc-modal-head{padding:16px 20px;border-bottom:1px solid #eef0f6;display:flex;flex:0 0 auto;justify-content:space-between;align-items:flex-start}.pc-modal-head h3{font-size:16px;margin:0;font-family:Plus Jakarta Sans,Inter,sans-serif;font-weight:700;letter-spacing:-.01em;color:#0f1734}.pc-modal-head button{background:transparent!important;border:0!important;border-radius:7px!important;width:28px;height:28px;padding:0!important;color:#7b84a8;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}.pc-modal-head button:hover{background:#f6f7fb!important;color:#0f1734}.pc-modal-body{padding:18px 20px;font-size:13.5px;color:#475079;flex:1 1 auto;overflow-y:auto;min-height:0}.pc-modal-body .pc-booking-horizon-preview-stack{display:flex;flex-direction:column;gap:10px}.pc-modal-foot{padding:12px 20px;background:#fafbfd;border-top:1px solid #eef0f6;display:flex;flex:0 0 auto;justify-content:flex-end;flex-wrap:wrap;gap:8px}.pc-modal-body .pc-input,.pc-modal-body .pc-select,.pc-modal-body .pc-textarea{width:100%;border:1px solid #e4e7f0;border-radius:10px;background:#fff;padding:9px 12px;font-size:13.5px;color:#0f1734;outline:none;font-family:inherit}.pc-modal-body .pc-input-mono{font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:12.5px}.pc-modal-body .pc-field{display:flex;flex-direction:column;gap:6px;min-width:0}.pc-modal-body .pc-field-label{font-size:12.5px;font-weight:600;color:#475079}.pc-modal-body .pc-field-hint{font-size:11.5px;color:#7b84a8}.pc-modal-foot .pc-btn{display:inline-flex;align-items:center;gap:7px;background:#1d4ed8;color:#fff;border:1px solid #1d4ed8!important;border-radius:10px;padding:9px 14px;font-size:13.5px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #1d4ed84d;font-family:inherit;text-decoration:none}.pc-modal-foot .pc-btn:hover{background:#2547d6;border-color:#2547d6!important}.pc-modal-foot .pc-btn.ghost{background:transparent!important;color:#475079;border:1px solid #e4e7f0!important;box-shadow:none}.pc-modal-foot .pc-btn.ghost:hover{background:#f6f7fb!important;color:#0f1734}.pc-modal-foot .pc-btn.danger{background:#c8302e;border-color:#c8302e!important}.pc-modal-foot .pc-btn.danger:hover{background:#b22a28;border-color:#b22a28!important}.pc-modal-foot .pc-btn:disabled{opacity:.5;cursor:not-allowed}.pc-modal-foot .pc-btn-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center}.pc-modal-foot .pc-btn-icon svg{width:100%;height:100%}.pc-modal-body .pc-btn,.pc-modal-body .pc-btn-icon{font-family:inherit}.pc-modal-body .pc-btn.secondary{background:#fff!important;color:#1d4ed8;border:1px solid #dbe5ff!important;box-shadow:none;padding:9px 14px;border-radius:10px;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.pc-modal-body .pc-btn.secondary:hover{background:#eef2ff!important}.pc-modal-body .pc-btn-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center}.pc-modal-body .pc-btn-icon svg{width:100%;height:100%}.pc-settings .report-templates-settings-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px;align-items:start}.pc-settings .report-template-settings-list{display:grid}.pc-settings .report-template-settings-list-item{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border:0;border-bottom:1px solid var(--pc-line-soft);border-radius:0;background:transparent;color:var(--pc-ink);text-align:left;cursor:pointer}.pc-settings .report-template-settings-list-item:last-child{border-bottom:0}.pc-settings .report-template-settings-list-item:hover,.pc-settings .report-template-settings-list-item:focus-visible{background:var(--pc-blue-50);color:var(--pc-ink);outline:none}.pc-settings .report-template-settings-list-item.active{background:var(--pc-blue-50);box-shadow:inset 3px 0 0 var(--pc-blue)}.pc-settings .report-template-settings-list-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--pc-radius-xs);background:var(--pc-blue-100);color:var(--pc-blue)}.pc-settings .report-template-settings-list-icon svg{width:17px;height:17px}.pc-settings .report-template-settings-list-copy{min-width:0;display:grid;gap:3px}.pc-settings .report-template-settings-list-copy strong,.pc-settings .report-template-settings-list-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-settings .report-template-settings-list-copy strong{font-size:13.5px}.pc-settings .report-template-settings-list-copy small,.pc-settings .report-template-settings-empty{color:var(--pc-ink-3);font-size:12px}.pc-settings .report-template-settings-empty{margin:0;padding:18px}.pc-settings .report-template-settings-badges{display:grid;justify-items:end;gap:4px}.pc-settings .report-template-settings-badges em{padding:3px 6px;border-radius:var(--radius-pill);background:var(--pc-purple-bg);color:var(--pc-purple-ink);font-size:10px;font-style:normal;font-weight:700}.pc-settings .report-template-archive-toggle{display:inline-flex;align-items:center;gap:7px;color:var(--pc-ink-2);font-size:12px}.pc-settings .report-template-archive-toggle input,.pc-settings .report-template-default-types input{accent-color:var(--pc-blue)}.pc-settings .report-template-editor,.pc-settings .report-template-editor-section,.pc-settings .report-template-section-fields{display:grid;gap:14px}.pc-settings .report-template-editor-section{padding-top:16px;border-top:1px solid var(--pc-line)}.pc-settings .report-template-editor-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pc-settings .report-template-editor-section-head h4,.pc-settings .report-template-editor-section-head p,.pc-settings .report-template-preview h4{margin:0}.pc-settings .report-template-editor-section-head h4,.pc-settings .report-template-preview h4{color:var(--pc-ink);font-size:14px}.pc-settings .report-template-editor-section-head p{margin-top:3px;color:var(--pc-ink-3);font-size:12px}.pc-settings .report-template-section-list{display:grid;gap:10px}.pc-settings .report-template-section-card{display:grid;grid-template-columns:32px minmax(0,1fr) 30px;gap:12px;padding:14px;border:1px solid var(--pc-line);border-radius:var(--pc-radius-sm);background:var(--pc-bg)}.pc-settings .report-template-section-order{display:flex;flex-direction:column;align-items:center;gap:5px}.pc-settings .report-template-section-order>span{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--pc-blue-100);color:var(--pc-blue);font-size:11px;font-weight:800}.pc-settings .report-template-section-order button,.pc-settings .report-template-section-delete{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--pc-line);border-radius:var(--pc-radius-xs);background:var(--pc-card);color:var(--pc-ink-2)}.pc-settings .report-template-section-order button:hover,.pc-settings .report-template-section-order button:focus-visible{background:var(--pc-blue-50);color:var(--pc-blue);outline:none}.pc-settings .report-template-section-order button:disabled,.pc-settings .report-template-section-delete:disabled{opacity:.42;cursor:not-allowed}.pc-settings .report-template-section-order svg,.pc-settings .report-template-section-delete svg{width:14px;height:14px}.pc-settings .report-template-section-delete{color:var(--pc-danger)}.pc-settings .report-template-section-delete:hover,.pc-settings .report-template-section-delete:focus-visible{background:var(--pc-danger-soft);color:var(--pc-danger);outline:none}.pc-settings .report-template-default-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.pc-settings .report-template-default-types label{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--pc-line);border-radius:var(--pc-radius-xs);color:var(--pc-ink-2);font-size:12.5px}.pc-settings .report-template-preview{display:grid;gap:10px;padding:14px;border:1px solid var(--pc-line);border-radius:var(--pc-radius-sm);background:var(--pc-card)}.pc-settings .report-template-preview>div{display:grid;gap:8px}.pc-settings .report-template-preview p{margin:0;padding:8px 10px;display:flex;align-items:center;gap:10px;border-radius:var(--pc-radius-xs);background:var(--pc-bg);color:var(--pc-ink);font-size:12.5px}.pc-settings .report-template-editor-actions,.pc-settings .report-template-editor-head-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.pc-settings .report-template-editor-actions .pc-btn{width:auto}.pc-settings .report-template-settings-placeholder{min-height:260px;display:grid;place-items:center;align-content:center;gap:10px;color:var(--pc-ink-3);text-align:center}.pc-settings .report-template-settings-placeholder svg{width:34px;height:34px}.pc-settings .report-template-settings-placeholder p{margin:0}@media(max-width:980px){.pc-settings .report-templates-settings-layout{grid-template-columns:1fr}}@media(max-width:640px){.pc-settings .report-template-editor-section-head{align-items:stretch;flex-direction:column}.pc-settings .report-template-section-card{grid-template-columns:28px minmax(0,1fr)}.pc-settings .report-template-section-delete{grid-column:2;justify-self:end}}.pc-modal-body .pc-patient-name-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.pc-modal-body .pc-patient-name-list li{border:1px solid var(--pc-line);border-radius:var(--pc-radius-sm);padding:8px 10px;background:var(--pc-soft);color:var(--pc-ink);font-size:13px}.pc-settings .pc-url-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pc-settings .pc-url-row .pc-code{flex:1;padding:8px 10px;min-width:200px}
