@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--color-bg:oklch(95.6% .016 88);--color-surface:oklch(98.4% .011 90);--color-surface-sunken:oklch(93.8% .018 90);--color-surface-hover:oklch(92.8% .02 105);--color-surface-selected:oklch(91.6% .036 145);--color-overlay:oklch(22% .03 155/.45);--color-border:oklch(87.5% .02 95);--color-border-strong:oklch(78% .024 110);--color-border-control:oklch(56% .028 140);--color-text:oklch(25% .026 155);--color-text-secondary:oklch(39% .024 150);--color-text-muted:oklch(46.5% .022 145);--color-text-on-accent:oklch(98% .014 90);--color-accent:oklch(43% .085 155);--color-accent-hover:oklch(37.5% .08 155);--color-accent-text:oklch(39% .085 155);--color-accent-subtle:oklch(92.5% .035 145);--color-green-50:oklch(96% .02 140);--color-green-100:oklch(92.5% .035 145);--color-green-200:oklch(85% .055 148);--color-green-400:oklch(68% .08 150);--color-green-600:oklch(48% .085 155);--color-green-800:oklch(33% .06 158);--color-green-900:oklch(26% .045 160);--color-success:oklch(45% .12 138);--color-success-subtle:oklch(94% .05 130);--color-warning:oklch(48% .11 65);--color-warning-subtle:oklch(94.5% .05 80);--color-danger:oklch(48% .16 25);--color-danger-subtle:oklch(94.5% .03 30);--color-info:oklch(46% .13 250);--color-info-subtle:oklch(94% .03 250);--color-neutral:oklch(42% .02 140);--color-neutral-subtle:oklch(92.5% .012 100);--color-focus:oklch(50% .15 250);--color-cat-1:oklch(55% .12 250);--color-cat-2:oklch(52% .13 300);--color-cat-3:oklch(52% .1 175);--color-cat-4:oklch(56% .13 60);--color-cat-5:oklch(55% .14 15);--color-cat-6:oklch(50% .08 220);--color-dent-q1:oklch(42% .11 240);--color-dent-q1-subtle:oklch(94.5% .025 240);--color-dent-q2:oklch(42% .13 305);--color-dent-q2-subtle:oklch(94.5% .03 305);--color-dent-q3:oklch(41% .08 175);--color-dent-q3-subtle:oklch(94.5% .03 175);--color-dent-q4:oklch(45% .11 50);--color-dent-q4-subtle:oklch(94.5% .035 55);--color-admin-surface:oklch(30% .03 250);--color-admin-surface-sunken:oklch(26.5% .028 250);--color-admin-surface-hover:oklch(35% .032 250);--color-admin-surface-selected:oklch(40% .04 250);--color-admin-border:oklch(37% .028 250);--color-admin-text:oklch(96% .008 250);--color-admin-text-secondary:oklch(88% .014 250);--color-admin-text-muted:oklch(80% .02 250);--color-admin-accent:oklch(84% .07 245);--color-admin-accent-text:oklch(87% .06 245);--color-admin-accent-subtle:oklch(40% .045 250);--color-admin-text-on-accent:oklch(24% .03 250);--color-admin-bandeau-bg:oklch(25% .03 250);--color-admin-bandeau-text:oklch(97% .008 250);--color-admin-bandeau-icon:oklch(87% .06 245);--color-admin-bandeau-border:oklch(38% .03 250);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--leading-tight:1.25;--leading-normal:1.5;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:999px;--shadow-raised:0 1px 2px oklch(25% .03 120/.07), 0 1px 3px oklch(25% .03 120/.09);--shadow-overlay:0 12px 32px oklch(25% .03 120/.18), 0 2px 6px oklch(25% .03 120/.08);--control-height:40px;--topbar-height:56px;--target-min:32px;--ease-out:cubic-bezier(.22, 1, .36, 1);--duration-fast:.12s;--duration-normal:.2s}@media (pointer:coarse){:root{--control-height:48px;--target-min:44px}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:oklch(18.5% .014 160);--color-surface:oklch(22.5% .016 158);--color-surface-sunken:oklch(16.5% .012 160);--color-surface-hover:oklch(26.5% .018 155);--color-surface-selected:oklch(29.5% .04 150);--color-overlay:oklch(8% .01 160/.6);--color-border:oklch(31% .018 155);--color-border-strong:oklch(40% .02 150);--color-border-control:oklch(58% .022 140);--color-text:oklch(94% .014 90);--color-text-secondary:oklch(81% .016 95);--color-text-muted:oklch(72% .016 100);--color-text-on-accent:oklch(19% .03 155);--color-accent:oklch(75% .1 150);--color-accent-hover:oklch(81% .09 148);--color-accent-text:oklch(79% .1 148);--color-accent-subtle:oklch(30% .045 152);--color-green-50:oklch(24% .03 158);--color-green-100:oklch(30% .045 152);--color-green-200:oklch(38% .06 150);--color-green-400:oklch(58% .09 150);--color-green-600:oklch(72% .1 150);--color-green-800:oklch(14% .02 160);--color-green-900:oklch(13.5% .016 160);--color-success:oklch(80% .14 135);--color-success-subtle:oklch(29% .05 135);--color-warning:oklch(82% .12 80);--color-warning-subtle:oklch(30% .05 70);--color-danger:oklch(76% .13 25);--color-danger-subtle:oklch(29% .06 25);--color-info:oklch(77% .1 250);--color-info-subtle:oklch(29% .05 250);--color-neutral:oklch(80% .014 100);--color-neutral-subtle:oklch(29% .014 155);--color-focus:oklch(76% .13 250);--color-cat-1:oklch(72% .11 250);--color-cat-2:oklch(72% .12 300);--color-cat-3:oklch(74% .1 175);--color-cat-4:oklch(78% .12 70);--color-cat-5:oklch(72% .13 20);--color-cat-6:oklch(74% .08 220);--color-dent-q1:oklch(83% .08 240);--color-dent-q1-subtle:oklch(29% .045 240);--color-dent-q2:oklch(83% .09 305);--color-dent-q2-subtle:oklch(29% .05 305);--color-dent-q3:oklch(84% .07 175);--color-dent-q3-subtle:oklch(29% .04 175);--color-dent-q4:oklch(84% .09 55);--color-dent-q4-subtle:oklch(29% .045 50);--color-admin-surface:oklch(20% .03 250);--color-admin-surface-sunken:oklch(17.5% .026 250);--color-admin-surface-hover:oklch(25.5% .032 250);--color-admin-surface-selected:oklch(30% .04 250);--color-admin-border:oklch(29% .028 250);--color-admin-text:oklch(94% .01 250);--color-admin-text-secondary:oklch(81% .014 250);--color-admin-text-muted:oklch(72% .016 250);--color-admin-accent:oklch(77% .08 245);--color-admin-accent-text:oklch(80% .07 245);--color-admin-accent-subtle:oklch(29% .04 250);--color-admin-text-on-accent:oklch(19% .03 250);--color-admin-bandeau-bg:oklch(32% .035 250);--color-admin-bandeau-text:oklch(96% .01 250);--color-admin-bandeau-icon:oklch(86% .06 245);--color-admin-bandeau-border:oklch(42% .035 250);--shadow-raised:0 1px 2px oklch(5% 0 0/.4);--shadow-overlay:0 12px 32px oklch(5% 0 0/.55), 0 2px 6px oklch(5% 0 0/.3)}.sidebar{--color-surface:oklch(31% .052 158);--color-surface-sunken:oklch(27.5% .048 158);--color-surface-hover:oklch(36% .056 156);--color-surface-selected:oklch(41% .065 153);--color-border:oklch(38% .045 156);--color-text:oklch(96% .016 90);--color-text-secondary:oklch(88% .024 110);--color-text-muted:oklch(80% .03 130);--color-accent:oklch(84% .09 140);--color-accent-text:oklch(87% .08 138);--color-accent-subtle:oklch(40% .06 153);--color-text-on-accent:oklch(24% .045 158);--color-danger:oklch(80% .12 25);--color-danger-subtle:oklch(36% .07 25);--color-focus:oklch(85% .11 90)}:root[data-theme=dark] .sidebar{--color-surface:oklch(13.5% .016 160);--color-surface-sunken:oklch(12% .014 160);--color-surface-hover:oklch(20% .022 158);--color-surface-selected:oklch(26% .04 152);--color-border:oklch(25% .02 158);--color-text:oklch(94% .014 90);--color-text-secondary:oklch(81% .016 95);--color-text-muted:oklch(72% .016 100);--color-accent:oklch(75% .1 150);--color-accent-text:oklch(79% .1 148);--color-accent-subtle:oklch(28% .045 152);--color-text-on-accent:oklch(19% .03 155);--color-danger:oklch(76% .13 25);--color-danger-subtle:oklch(29% .06 25);--color-focus:oklch(76% .13 250)}[data-mode=admin] .sidebar,:root[data-theme=dark] [data-mode=admin] .sidebar{--color-surface:var(--color-admin-surface);--color-surface-sunken:var(--color-admin-surface-sunken);--color-surface-hover:var(--color-admin-surface-hover);--color-surface-selected:var(--color-admin-surface-selected);--color-border:var(--color-admin-border);--color-text:var(--color-admin-text);--color-text-secondary:var(--color-admin-text-secondary);--color-text-muted:var(--color-admin-text-muted);--color-accent:var(--color-admin-accent);--color-accent-text:var(--color-admin-accent-text);--color-accent-subtle:var(--color-admin-accent-subtle);--color-text-on-accent:var(--color-admin-text-on-accent)}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-normal:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--primary:var(--color-accent);--primary-dark:var(--color-accent-hover);--primary-light:var(--color-accent-text);--primary-bg:var(--color-accent-subtle);--accent:var(--color-accent-text);--accent-bg:var(--color-accent-subtle);--gold:var(--color-accent-text);--bg-main:var(--color-bg);--bg-sidebar:var(--color-surface);--bg-card:var(--color-surface);--bg-card-hover:var(--color-surface-hover);--bg-input:var(--color-surface);--bg-dark:var(--color-bg);--bg-hover:var(--color-surface-hover);--bg-secondary:var(--color-surface-sunken);--text-primary:var(--color-text);--text-secondary:var(--color-text-secondary);--text-muted:var(--color-text-muted);--border:var(--color-border);--border-light:var(--color-border-strong);--success:var(--color-success);--success-bg:var(--color-success-subtle);--warning:var(--color-warning);--warning-bg:var(--color-warning-subtle);--danger:var(--color-danger);--danger-bg:var(--color-danger-subtle);--info:var(--color-info);--info-bg:var(--color-info-subtle);--shadow-sm:var(--shadow-raised);--shadow:var(--shadow-raised);--shadow-lg:var(--shadow-overlay)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:var(--leading-normal);font-size:var(--text-base);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 0}button,input,select,textarea{font-family:inherit}svg:not([width]){flex-shrink:0;width:1.25em;height:1.25em}h1,h2,h3,h4{line-height:var(--leading-tight);font-weight:var(--weight-semibold)}a{color:var(--color-accent-text)}.num,time,td.num,th.num{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}::selection{background:var(--color-accent-subtle);color:var(--color-text)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.app-container{min-height:100vh;display:flex}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);z-index:50;flex-direction:column;width:248px;height:100vh;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.logo{padding:var(--space-5) var(--space-5) var(--space-4);align-items:center;gap:var(--space-3);display:flex}.logo-icon{width:28px;height:28px;color:var(--color-accent)}.logo h1{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text);letter-spacing:0}.logo span{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:0;text-transform:none;margin-top:2px;display:block}.sidebar-clinic-card{margin:0 var(--space-3) var(--space-2);padding:var(--space-3);background:var(--color-surface-sunken);border-radius:var(--radius-md);align-items:center;gap:var(--space-3);display:flex}.sidebar-clinic-icon{border-radius:var(--radius-md);background:var(--color-accent-subtle);width:32px;height:32px;color:var(--color-accent-text);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-clinic-icon svg{width:18px;height:18px}.sidebar-clinic-info{flex:1;min-width:0}.sidebar-clinic-name{font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-clinic-role{font-size:var(--text-xs);color:var(--color-text-muted)}.nav-menu{padding:var(--space-2) var(--space-3);flex-direction:column;flex:1;gap:2px;display:flex}.nav-section-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);padding:var(--space-5) var(--space-3) var(--space-2)}.nav-item{align-items:center;gap:var(--space-3);width:100%;min-height:36px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font:inherit;font-size:var(--text-base);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:0;text-decoration:none;display:flex}.nav-item:hover{background:var(--color-surface-hover);color:var(--color-text)}.nav-item.active,.nav-item[aria-current=page]{background:var(--color-surface-selected);color:var(--color-text);font-weight:var(--weight-medium)}.nav-item.active svg,.nav-item[aria-current=page] svg{color:var(--color-accent-text)}.nav-item svg{flex-shrink:0;width:18px;height:18px}.nav-item .nav-chevron{width:16px;height:16px;color:var(--color-text-muted);transition:transform var(--duration-fast) var(--ease-out);margin-left:auto}.nav-item[aria-expanded=true] .nav-chevron{transform:rotate(90deg)}.nav-item.sub-item{padding-left:calc(var(--space-3) + 18px + var(--space-3));font-size:var(--text-sm);min-height:32px}.nav-item.nav-danger{color:var(--color-danger)}.nav-item.nav-danger:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.nav-bottom{padding-top:var(--space-2);border-top:1px solid var(--color-border);flex-direction:column;gap:2px;margin-top:auto;display:flex}.nav-back{margin-top:var(--space-2)}.nav-title{margin:var(--space-4) var(--space-3) 0;font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text)}.nav-section{flex-direction:column;gap:2px;display:flex}.nav-section-detail{font-weight:var(--weight-normal);color:var(--color-text-secondary);overflow-wrap:anywhere;margin-top:2px;display:block}.settings-page{max-width:760px}.skip-link{left:var(--space-3);z-index:3000;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-text-on-accent);font-weight:var(--weight-medium);text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:var(--space-3)}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-badge{border-radius:var(--radius-full);background:var(--color-danger);min-width:20px;color:var(--color-surface);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-align:center;font-variant-numeric:tabular-nums;margin-left:auto;padding:0 6px;line-height:20px}.icon-button{width:var(--target-min);height:var(--target-min);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--color-surface-hover);color:var(--color-text)}.icon-button svg{width:18px;height:18px}.app-centered{padding:var(--space-6);justify-content:center;align-items:center}.main-content:focus{outline:none}.main-content{min-width:0;padding:calc(var(--topbar-height) + var(--space-8)) var(--space-8) var(--space-6);background:var(--color-bg);flex-direction:column;flex:1;min-height:100vh;margin-left:248px;display:flex}.main-content>*{width:100%;min-width:0}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-breadcrumb{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-1)}.page-breadcrumb a,.page-breadcrumb .link-button{color:var(--color-text-muted);text-decoration:none}.page-breadcrumb .link-button:hover,.page-breadcrumb a:hover{color:var(--color-accent-text);text-decoration:underline}.page-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-text)}.page-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-md);font:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn-primary{background:var(--color-accent);color:var(--color-text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary,.btn-outline{background:var(--color-surface);border-color:var(--color-border-control);color:var(--color-text)}.btn-secondary:hover:not(:disabled),.btn-outline:hover:not(:disabled){background:var(--color-surface-hover)}.btn-danger{background:var(--color-surface);border-color:var(--color-danger);color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-subtle)}.btn-ghost{color:var(--color-text-secondary);padding:0 var(--space-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.btn-sm{min-height:var(--target-min);padding:0 var(--space-3);font-size:var(--text-sm)}.btn-sm svg{width:14px;height:14px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.card-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text);align-items:center;gap:var(--space-2);display:flex}.card-body{padding:var(--space-5)}.stats-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.stat-content{flex:1}.stat-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.stat-value{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-text);font-variant-numeric:tabular-nums;line-height:1.1}.stat-icon{display:none}.form-group{margin-bottom:var(--space-4)}.form-label{font-weight:var(--weight-medium);margin-bottom:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary);display:block}.form-input,.form-select,.form-textarea{width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-control);border-radius:var(--radius-md);font:inherit;font-size:var(--text-base);background:var(--color-surface);color:var(--color-text);transition:border-color var(--duration-fast) var(--ease-out)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted);opacity:1}.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.form-input[readonly]{background:var(--color-surface-sunken);cursor:default}.form-row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}textarea.form-input,.form-textarea{resize:vertical;min-height:96px}@media (pointer:coarse){.form-input,.form-select,.form-textarea{font-size:var(--text-md)}}.search-box{margin-bottom:var(--space-4);position:relative}.search-box input{width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-10);border:1px solid var(--color-border-control);border-radius:var(--radius-md);font:inherit;font-size:var(--text-base);background:var(--color-surface);color:var(--color-text)}.search-box input::placeholder{color:var(--color-text-muted);opacity:1}.search-box input:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.search-box svg{left:var(--space-3);color:var(--color-text-muted);pointer-events:none;width:18px;height:18px;position:absolute;top:50%;transform:translateY(-50%)}.patient-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.patient-card{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--color-border);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out);background:0 0;display:flex}.patient-card:last-child{border-bottom:0}.patient-card:hover{background:var(--color-surface-hover)}.patient-avatar{background:var(--color-accent-subtle);width:36px;height:36px;color:var(--color-accent-text);font-weight:var(--weight-semibold);font-size:var(--text-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.patient-info{flex:1;min-width:0}.patient-name{font-weight:var(--weight-medium);font-size:var(--text-base);color:var(--color-text)}.patient-meta{font-size:var(--text-sm);color:var(--color-text-secondary)}.patient-status{padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium)}.status-due{background:var(--color-warning-subtle);color:var(--color-warning)}.status-ok{background:var(--color-success-subtle);color:var(--color-success)}.status-overdue{background:var(--color-danger-subtle);color:var(--color-danger)}.modal-overlay{background:var(--color-overlay);z-index:1000;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-overlay);overflow-y:auto}.modal-sm{max-width:420px}.modal-lg{max-width:680px}.modal-xl{max-width:880px}.modal:focus{outline:none}.modal-header{padding:var(--space-5) var(--space-6) var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.modal-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text)}.modal-close{width:var(--target-min);height:var(--target-min);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.modal-close svg{width:18px;height:18px}.modal-body{padding:var(--space-3) var(--space-6) var(--space-5)}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);justify-content:flex-end;gap:var(--space-2);display:flex}.empty-state{align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-10) var(--space-6);flex-direction:column;display:flex}.empty-state svg{width:32px;height:32px;color:var(--color-text-muted)}.empty-state h3{font-size:var(--text-md);color:var(--color-text)}.empty-state p{color:var(--color-text-secondary);font-size:var(--text-sm);max-width:40ch}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;background:var(--color-neutral-subtle);color:var(--color-neutral);line-height:1.5;display:inline-flex}.badge-primary{background:var(--color-accent-subtle);color:var(--color-accent-text)}.badge-success{background:var(--color-success-subtle);color:var(--color-success)}.badge-warning{background:var(--color-warning-subtle);color:var(--color-warning)}.badge-danger{background:var(--color-danger-subtle);color:var(--color-danger)}.badge-info{background:var(--color-info-subtle);color:var(--color-info)}.badge-gold{background:var(--color-accent-subtle);color:var(--color-accent-text)}.tabs{gap:var(--space-1);margin-bottom:var(--space-6);border-bottom:1px solid var(--color-border);display:flex;overflow-x:auto}.tab{align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-3);color:var(--color-text-secondary);font:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;display:inline-flex}.tab:hover{color:var(--color-text)}.tab.active,.tab[aria-selected=true]{color:var(--color-text);border-bottom-color:var(--color-accent)}.tab svg{width:16px;height:16px}.auth-container{background:var(--color-bg);min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);width:100%;max-width:400px}.auth-card-wide{max-width:560px}.auth-brand{align-items:center;gap:var(--space-2);margin-bottom:var(--space-8);color:var(--color-accent);font-size:var(--text-lg);font-weight:var(--weight-semibold);display:flex}.auth-brand span{color:var(--color-text)}.auth-lead{margin:calc(-1 * var(--space-4)) 0 var(--space-6);color:var(--color-text-secondary)}.auth-back{align-items:center;gap:var(--space-1);margin-bottom:var(--space-4);font-size:var(--text-sm);display:inline-flex}.auth-back svg{width:16px;height:16px}.auth-forgot{margin-top:calc(-1 * var(--space-2));font-size:var(--text-sm);align-self:flex-start}.auth-icon{width:48px;height:48px;margin-bottom:var(--space-4);background:var(--color-accent-subtle);color:var(--color-accent-text);border-radius:50%;justify-content:center;align-items:center;display:flex}.auth-icon.is-success{background:var(--color-success-subtle);color:var(--color-success)}.auth-steps{margin:var(--space-2) 0 0;padding-left:var(--space-5);color:var(--color-text-secondary);line-height:1.8}.auth-copyright{margin-top:var(--space-8);font-size:var(--text-xs);color:var(--color-text-muted)}.password-field{position:relative}.password-field .control{padding-right:48px}.password-toggle{top:50%;right:var(--space-1);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex;position:absolute;transform:translateY(-50%)}.password-toggle:hover{color:var(--color-text)}.password-toggle svg{width:18px;height:18px}.auth-title{font-size:var(--text-xl);margin-bottom:var(--space-6);color:var(--color-text)}.auth-footer{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-error{background:var(--color-danger-subtle);color:var(--color-text);border-left:3px solid var(--color-danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm)}.loading{justify-content:center;align-items:center;gap:var(--space-3);min-height:50vh;color:var(--color-text-secondary);font-size:var(--text-base);display:flex}.copyright{font-size:var(--text-xs);color:var(--color-text-muted);padding:var(--space-10) 0 0;margin-top:auto}.table-container,.table-responsive{position:relative;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}th{font-weight:var(--weight-medium);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-surface-sunken)}td{font-size:var(--text-base)}tbody tr:hover td{background:var(--color-surface-hover)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-primary,.text-gold{color:var(--color-accent-text)}.bg-dark{background:var(--color-bg)}.bg-card{background:var(--color-surface)}.mt-1{margin-top:var(--space-2)}.mt-2{margin-top:var(--space-4)}.mt-3{margin-top:var(--space-6)}.mb-1{margin-bottom:var(--space-2)}.mb-2{margin-bottom:var(--space-4)}.mb-3{margin-bottom:var(--space-6)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-2)}.gap-2{gap:var(--space-4)}@media (width<=1024px){.sidebar{width:280px;transition:transform var(--duration-normal) var(--ease-out);z-index:1000;box-shadow:none;transform:translate(-100%)}.sidebar.open{box-shadow:var(--shadow-overlay);transform:none}.sidebar-overlay{background:var(--color-overlay);z-index:999;display:block;position:fixed;inset:0}.main-content{padding:calc(var(--topbar-height) + var(--space-6)) var(--space-6) var(--space-6);margin-left:0}}@media (width>=1025px){.sidebar-overlay{display:none}}@media (width<=768px){.main-content{padding:calc(var(--topbar-height) + var(--space-4)) var(--space-4) var(--space-4)}.page-title{font-size:var(--text-lg)}.stats-grid{grid-template-columns:1fr 1fr}.tabs{flex-wrap:nowrap}table{min-width:600px}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:100%;max-height:92vh}.modal-header,.modal-body,.modal-footer{padding-left:var(--space-4);padding-right:var(--space-4)}.action-buttons,.filter-row{gap:var(--space-2);flex-direction:column}.filter-row>*{width:100%}.pagination{gap:var(--space-4);flex-direction:column;align-items:center}.page-controls{flex-wrap:wrap;justify-content:center}.pp-top-grid,.pe-grid,.pe-form-row,.pe-checkbox-grid{grid-template-columns:1fr!important}.pp-profile-card,.pe-profile-card{flex-direction:column!important}.pp-right-col{grid-template-columns:1fr}.pv-tabs{flex-wrap:nowrap;overflow-x:auto}.pv-tab{white-space:nowrap;flex-shrink:0}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}.hide-on-mobile{display:none!important}}.field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.field-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);line-height:var(--leading-tight)}.field-required{color:var(--color-danger);margin-left:2px}.field-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.field-error{font-size:var(--text-xs);color:var(--color-danger)}.control{width:100%;min-width:0;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-base);line-height:var(--leading-normal);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.control::placeholder{color:var(--color-text-muted);opacity:1}.control:hover{border-color:var(--color-text-muted)}.control:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.control[aria-invalid=true]{border-color:var(--color-danger)}.control:disabled{background:var(--color-surface-sunken);color:var(--color-text-muted);cursor:not-allowed}.control-narrow{max-width:200px}.control-xs{max-width:120px}textarea.control{min-height:calc(var(--control-height) * 2);resize:vertical}select.control{cursor:pointer}@media (pointer:coarse){.control{font-size:var(--text-md)}}.fieldset{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.fieldset>legend{margin-bottom:var(--space-2);padding:0}.form-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.form-grid-2{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=560px){.form-grid-2{grid-template-columns:minmax(0,1fr)}}.registration-columns{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}@media (width<=900px){.registration-columns{grid-template-columns:minmax(0,1fr)}}.form-stack{gap:var(--space-4);flex-direction:column;display:flex}.form-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.form-section+.form-section{margin-top:var(--space-4)}.form-section-title{margin:0 0 var(--space-1);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text);line-height:var(--leading-tight)}.form-section-intro{margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal);max-width:65ch}.form-section-title+.form-stack,.form-section-title+.form-grid{margin-top:var(--space-4)}.form-note{font-size:var(--text-sm);color:var(--color-text);line-height:var(--leading-normal);margin:0}.form-note-muted{color:var(--color-text-secondary)}.form-group-title{margin:var(--space-6) 0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent-text)}.form-group-title:first-child{margin-top:0}@media (width<=480px){.form-section{padding:var(--space-4);border-radius:var(--radius-md)}}.choice-group{gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.choice{display:inline-flex;position:relative}.choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.choice span{min-height:var(--target-min);min-width:var(--target-min);padding:0 var(--space-3);border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.choice:hover span{background:var(--color-surface-hover)}.choice input:checked+span{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-on-accent)}.choice input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:2px}@media (pointer:coarse){.choice span{min-width:64px;font-size:var(--text-md)}}.option-cards{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));display:grid}.option-card{align-items:flex-start;gap:var(--space-3);min-height:var(--target-min);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);display:flex}.option-card:hover{background:var(--color-surface-hover)}.option-card:has(input:checked){border-color:var(--color-accent);background:var(--color-surface-selected)}.option-card:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.option-card input{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0;margin:2px 0 0}.option-card input:focus-visible{outline:none}.option-card-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text);display:block}.option-card-description{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal);display:block}.form-actions{justify-content:space-between;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex}.check{align-items:flex-start;gap:var(--space-3);min-height:var(--target-min);padding:var(--space-1) 0;font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-normal);cursor:pointer;display:flex}.check input{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0;margin:2px 0 0}@media (pointer:coarse){.check{font-size:var(--text-md);align-items:center}.check input{width:22px;height:22px;margin:0}}.check-grid{column-gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));display:grid}.yesno-list{border-top:1px solid var(--color-border)}.yesno{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.yesno-question{min-width:0;font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-normal);flex:260px}.yesno-hint{font-size:var(--text-xs);color:var(--color-text-muted);display:block}.yesno-detail{padding-bottom:var(--space-2);flex-basis:100%}@media (pointer:coarse){.yesno-question{font-size:var(--text-md)}}.error-summary{border:1px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-subtle);color:var(--color-text);padding:var(--space-4);border-left-width:4px}.error-summary-title{margin:0 0 var(--space-2);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-danger)}.error-summary ul{padding-left:var(--space-5);margin:0}.error-summary li+li{margin-top:var(--space-1)}.notice{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);line-height:var(--leading-normal);border:1px solid #0000}.notice-warning{background:var(--color-warning-subtle);border-color:var(--color-warning);color:var(--color-text)}.notice-success{background:var(--color-success-subtle);border-color:var(--color-success);color:var(--color-text)}.notice-warning strong{color:var(--color-warning)}.notice ul{margin:var(--space-1) 0 0;padding-left:var(--space-5)}.reading-box{max-height:260px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text);font-size:var(--text-sm);white-space:pre-wrap;line-height:1.65;overflow-y:auto}.reading-box:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.reading-box-md{white-space:normal}.reading-box-md>:first-child{margin-top:0}.reading-box-md p,.reading-box-md ul{margin:0 0 var(--space-3)}.reading-box-md ul{padding-left:var(--space-5)}.reading-box-md li{margin-bottom:var(--space-1)}.reading-box-md h1{margin:0 0 var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:1.3}.reading-box-md .surtitre{margin:0 0 var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-semibold);font-variant:small-caps;letter-spacing:.06em;color:var(--color-accent-text)}.reading-box-md .sous-titre{margin-top:calc(-1 * var(--space-2));color:var(--color-text-secondary)}.reading-box-md h2{align-items:center;gap:var(--space-2);margin:var(--space-4) 0 var(--space-2);font-size:var(--text-base);font-weight:var(--weight-semibold);display:flex}.reading-box-md h2 .picto{color:var(--color-accent-text);flex:none}.reading-box-md .alerte{margin:var(--space-3) 0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-danger);border-radius:var(--radius-sm);background:var(--color-danger-subtle)}.reading-box-md .alerte p{margin:0}.reading-box-md .note{font-size:var(--text-xs);color:var(--color-text-secondary);overflow-wrap:anywhere}.reading-box-md .champs-ligne{gap:var(--space-1) var(--space-4);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.reading-box-md .champ-libelle{color:var(--color-text-secondary)}.reading-box-md .champ-valeur.a-remplir:after{content:"______";color:var(--color-text-muted)}.reading-box-md .saut-page{margin:var(--space-4) 0;border:0;border-top:1px solid var(--color-border)}.reading-box-md .zone{margin:0 0 var(--space-3)}.reading-box-md .zone-libelle{margin:0 0 var(--space-1);font-size:var(--text-xs);color:var(--color-text-secondary)}.reading-box-md .zone-texte{margin:0}.reading-box-md .zone-ligne{border-bottom:1px solid var(--color-border-control);height:1.6em;display:block}.reading-box-md .choix{margin:0 0 var(--space-3);padding:0;list-style:none}.reading-box-md .choix li{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.case{border:1.5px solid;border-radius:2px;flex:none;width:.95em;height:.95em;display:inline-block;position:relative;transform:translateY(.12em)}.case.coche:after{content:"";border:.13em solid;border-width:0 .13em .13em 0;width:.26em;height:.52em;position:absolute;top:.04em;left:.26em;transform:rotate(45deg)}.reading-box-md .signatures{gap:var(--space-4);margin:var(--space-4) 0 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));display:grid}.reading-box-md .signature-titre{margin:0 0 var(--space-2);font-weight:var(--weight-semibold)}.reading-box-md .signature-ligne{align-items:flex-end;gap:var(--space-2);min-height:2em;margin-bottom:var(--space-1);display:flex}.reading-box-md .signature-libelle{color:var(--color-text-secondary);font-size:var(--text-xs);flex:none}.reading-box-md .signature-valeur{border-bottom:1px solid var(--color-border-control);flex:1;min-height:1.4em}.reading-box-md .signature-image{max-width:100%;max-height:64px;display:block}.reading-box-md .signature-attente,.reading-box-md .signature-mention{color:var(--color-text-secondary);font-size:var(--text-xs)}.document-flux{font-size:var(--text-base);color:var(--color-text);line-height:1.6}.document-flux .md-run{display:contents}.decision{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface)}.decision legend{padding:0 var(--space-1);font-weight:var(--weight-semibold)}.decision[aria-invalid=true]{border-color:var(--color-danger)}.apercu-gabarit{white-space:normal;max-height:65vh}.aide-gabarit{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary)}.aide-gabarit summary{min-height:var(--target-min);cursor:pointer;color:var(--color-text);font-weight:var(--weight-medium);align-items:center;display:flex}.aide-gabarit summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.aide-gabarit dl{gap:var(--space-1) var(--space-3);margin:var(--space-2) 0 0;grid-template-columns:minmax(0,max-content) minmax(0,1fr);display:grid}.aide-gabarit dl>div{display:contents}.aide-gabarit dd{margin:0}.aide-gabarit code{font-size:var(--text-xs);overflow-wrap:anywhere}.preparation{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;display:grid}.preparation-apercu{white-space:normal;max-height:70vh;overflow-y:auto}@media (width<=1023px){.preparation{grid-template-columns:minmax(0,1fr)}.preparation-apercu{max-height:none}}.preparation-repli summary{min-height:var(--target-min);cursor:pointer;font-weight:var(--weight-medium);align-items:center;display:flex}.preparation-repli summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.preparation-repli[open] summary{margin-bottom:var(--space-3)}.preparation-section{gap:var(--space-2);display:grid}.preparation-section-corps{padding-left:var(--space-5);border-left:2px solid var(--color-border)}.privacy-list{margin:var(--space-2) 0 0;padding-left:var(--space-5);font-size:var(--text-base)}.privacy-list li+li{margin-top:var(--space-2)}.privacy-list .field-hint,.privacy-description{display:block}.privacy-policy{margin-top:var(--space-3);max-height:320px}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]):not(.control-cell),select:not(.control-cell),textarea{border-color:var(--color-border-control)!important}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-danger)!important}input:not([type=checkbox]):not([type=radio]):focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)!important}input[type=checkbox],input[type=radio]{accent-color:var(--color-accent)}.search-field{margin-bottom:var(--space-4)}.fieldset-bloc{border:0;min-width:0;margin:0;padding:0}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-md);font:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.button:disabled,.button[aria-disabled=true]{opacity:.55;cursor:not-allowed}.button svg{flex-shrink:0;width:16px;height:16px}.button-primary{background:var(--color-accent);color:var(--color-text-on-accent)}.button-primary:hover:not(:disabled){background:var(--color-accent-hover)}.button-secondary{background:var(--color-surface);border-color:var(--color-border-control);color:var(--color-text)}.button-secondary:hover:not(:disabled){background:var(--color-surface-hover)}.button-ghost{color:var(--color-text-secondary);background:0 0}.button-ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.button-danger{background:var(--color-surface);border-color:var(--color-danger);color:var(--color-danger)}.button-danger:hover:not(:disabled){background:var(--color-danger-subtle)}.button-sm{min-height:var(--target-min);padding:0 var(--space-3);font-size:var(--text-sm)}.button-lg{min-height:48px;padding:0 var(--space-6);font-size:var(--text-md)}.button-block{width:100%}.button-icon{width:var(--control-height);padding:0}.button-icon.button-sm{width:var(--target-min)}.link-button{color:var(--color-accent-text);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.link-button-icon{align-self:flex-start;align-items:center;gap:var(--space-2);min-height:var(--target-min);font-size:var(--text-sm);display:inline-flex}.link-button-icon svg{width:16px;height:16px}.page-narrow{max-width:960px;margin-inline:auto}.card-button{width:100%;font:inherit;color:inherit;text-align:inherit;cursor:pointer;transition:border-color var(--duration-fast) ease, background-color var(--duration-fast) ease;padding:0;display:block}.card-button:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.card-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.stretch-host{position:relative}.stretch-host:has(.stretched-button:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.stretched-button{font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;padding:0}.stretched-button:after{content:"";position:absolute;inset:0}.stretched-button:focus-visible{outline:none}.stretch-host .stretch-above{z-index:1;position:relative}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite fh-spin;display:inline-block}.spinner-lg{width:32px;height:32px;color:var(--color-accent);border-width:3px}@keyframes fh-spin{to{transform:rotate(360deg)}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0}.panel-head{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5) 0;flex-wrap:wrap;display:flex}.panel-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.panel-meta{font-size:var(--text-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.panel-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.panel-body{padding:var(--space-4) var(--space-5) var(--space-5)}.panel-body-flush{padding:var(--space-3) 0 0}.panel-intro{margin:var(--space-1) 0 0;padding:0 var(--space-5)}@media (width<=480px){.panel-head{padding:var(--space-4) var(--space-4) 0}.panel-intro{padding:0 var(--space-4)}.panel-body{padding:var(--space-3) var(--space-4) var(--space-4)}}.status-badge{--tone:var(--color-neutral);--tone-bg:var(--color-neutral-subtle);align-items:center;gap:var(--space-2);padding:2px var(--space-2) 2px var(--space-2);border-radius:var(--radius-full);background:var(--tone-bg);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;line-height:1.5;display:inline-flex}.status-badge-sm{font-size:var(--text-xs);padding:1px var(--space-2)}.status-dot{background:var(--tone);border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-info{--tone:var(--color-info);--tone-bg:var(--color-info-subtle)}.status-success{--tone:var(--color-success);--tone-bg:var(--color-success-subtle)}.status-warning{--tone:var(--color-warning);--tone-bg:var(--color-warning-subtle)}.status-danger{--tone:var(--color-danger);--tone-bg:var(--color-danger-subtle)}.status-accent{--tone:var(--color-accent);--tone-bg:var(--color-accent-subtle)}.jalon-badge{align-items:center;gap:var(--space-1);padding:1px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;line-height:1.5;display:inline-flex}.jalon-badge-icone{flex-shrink:0;width:14px;height:14px}.jalon-badge-etat{background:var(--tone-bg);color:var(--color-text);border-color:#0000}.jalon-badge-etat .jalon-badge-icone{color:var(--tone)}.jalon-badge-separateur{color:var(--color-text-muted)}.chip{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.5;display:inline-flex}.chip svg{width:14px;height:14px}.toast{right:var(--space-6);bottom:var(--space-6);z-index:2000;align-items:center;gap:var(--space-3);max-width:min(420px, calc(100vw - 2 * var(--space-4)));padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-text);color:var(--color-bg);box-shadow:var(--shadow-overlay);font-size:var(--text-base);animation:fh-toast-in var(--duration-normal) var(--ease-out);display:flex;position:fixed}.toast-icon{width:20px;height:20px;font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-success .toast-icon{background:var(--color-success);color:var(--color-surface)}.toast-error .toast-icon{background:var(--color-danger);color:var(--color-surface)}@keyframes fh-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=768px){.toast{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);max-width:none}}.sheet-overlay{z-index:1000;background:var(--color-overlay);justify-content:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--color-bg);width:min(820px,100vw);height:100dvh;box-shadow:var(--shadow-overlay);animation:fh-sheet-in var(--duration-normal) var(--ease-out);flex-direction:column;display:flex}@keyframes fh-sheet-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.sheet-header{padding:var(--space-5) var(--space-6) 0;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.sheet-header-top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.sheet-eyebrow{margin:0 0 var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}.sheet-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.sheet-meta{align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.sheet-body{padding:var(--space-5) var(--space-6) var(--space-10);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sheet-loading{gap:var(--space-4);padding:var(--space-6);flex-direction:column;display:flex}.sheet .tabs{margin:var(--space-4) 0 0;border-bottom:0}@media (width<=768px){.sheet-header{padding:var(--space-4) var(--space-4) 0}.sheet-body{padding:var(--space-4) var(--space-4) var(--space-8)}}.progress{align-items:center;gap:var(--space-3);margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;display:flex}.progress-track{border-radius:var(--radius-full);background:var(--color-surface-sunken);flex:1;height:6px;overflow:hidden}.progress-bar{border-radius:inherit;background:var(--color-accent);height:100%;transition:width var(--duration-normal) var(--ease-out)}.progress-bar.is-done{background:var(--color-success)}.phase{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.phase+.phase{margin-top:var(--space-3)}.phase-head{align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-4);background:var(--color-surface-sunken);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;border:0;display:flex}.phase-head:hover{background:var(--color-surface-hover)}.phase-title{font-weight:var(--weight-semibold);font-size:var(--text-base)}.phase-count{font-size:var(--text-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;margin-left:auto}.phase-chevron{width:16px;height:16px;color:var(--color-text-secondary);transition:transform var(--duration-fast) var(--ease-out)}.phase-head[aria-expanded=true] .phase-chevron{transform:rotate(180deg)}.step{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.step-check{align-items:flex-start;gap:var(--space-3);min-width:0;min-height:var(--target-min);padding:var(--space-1) 0;cursor:pointer;font-size:var(--text-base);color:var(--color-text);flex:280px;display:flex}.step-check input{width:18px;height:18px;accent-color:var(--color-success);cursor:pointer;flex-shrink:0;margin-top:2px}.step-check input:checked+span{color:var(--color-text-muted);text-decoration:line-through}.step-extra{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.tooth-grid{gap:var(--space-1);grid-template-columns:repeat(16,minmax(0,1fr));display:grid}.tooth{border-radius:var(--radius-sm);border:1px solid var(--color-border);min-height:32px;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:flex}.tooth.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-on-accent)}.tooth-arch-label{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary)}.tooth-arch-label+.tooth-grid+.tooth-arch-label{margin-top:var(--space-4)}@media (width<=600px){.tooth-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}.data-list{gap:var(--space-2) var(--space-6);font-size:var(--text-base);grid-template-columns:minmax(120px,max-content) 1fr;margin:0;display:grid}.data-list dt{color:var(--color-text-secondary)}.data-list dd{color:var(--color-text);font-variant-numeric:tabular-nums;margin:0}.text-note{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.text-prewrap{white-space:pre-line}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.row-grow{flex:220px;min-width:0}.stack{gap:var(--space-3);flex-direction:column;display:flex}.empty-note{padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-secondary);font-size:var(--text-base)}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--color-surface-sunken) 25%, var(--color-surface-hover) 50%, var(--color-surface-sunken) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite fh-shimmer}.skeleton-text{width:30%;height:16px}.skeleton-title{width:55%;height:28px}.skeleton-block{height:120px}.skeleton-block-lg{height:220px}@keyframes fh-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.slot-day{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text)}.slot-day:first-letter{text-transform:uppercase}.slot-list{gap:var(--space-2)}.summary-box{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken)}.step-when{font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap}.capitalize:first-letter{text-transform:uppercase}.row-between{justify-content:space-between}.form-grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.doc-list{margin:0;padding:0;list-style:none}.doc-item{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.doc-item:first-child{border-top:0;padding-top:0}.doc-main{flex-direction:column;flex:240px;min-width:0;display:flex}.doc-title{font-weight:var(--weight-medium);color:var(--color-text)}.doc-when{font-size:var(--text-sm);color:var(--color-text-secondary)}.doc-side{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.lien-signature-actions{gap:var(--space-2);margin:var(--space-3) 0 var(--space-4);flex-direction:column;display:flex}.lien-signature-url{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.lien-signature-url .control{font-size:var(--text-sm);text-overflow:ellipsis}.note-rattachee,.note-versee{font-variant-numeric:tabular-nums;align-items:center;min-height:2.25rem;display:inline-flex}.doc-orphan{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;flex-basis:100%;display:flex}.consent-signe{gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary);flex-direction:column;flex-basis:100%;display:flex}.consent-signe-ligne{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.signature-vignette{object-fit:contain;border-radius:var(--radius-sm);background:#fff;max-width:140px;height:32px;padding:2px 6px}.signature-apercus{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.signature-apercu{align-items:center;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;margin:0;display:flex}.signature-apercu img{max-width:100%;max-height:120px}.signature-apercu figcaption{font-size:var(--text-xs)}.signature-apercu-clair{color:#5f645d;background:#fff}.signature-apercu-sombre{color:#c9ccc4;background:#1d1f1c}.dictation-head{gap:var(--space-2)}.control.is-listening{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}.sticky-actions{bottom:var(--space-3);padding-right:var(--assistant-aide-reserve,0px);justify-content:flex-end;display:flex;position:sticky}.notes-list .doc-item{align-items:flex-start}.note-apercu{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-basis:100%;margin:0;display:-webkit-box;overflow:hidden}.note-texte{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-normal);white-space:pre-wrap;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;flex-basis:100%}@media (width<=600px){.notes-list .note-apercu,.notes-list .note-texte{order:1}.notes-list .doc-side{order:2}}.dictee-overlay{z-index:1100;padding:var(--space-6);background:var(--color-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dictee{border-radius:var(--radius-lg);background:var(--color-surface);width:min(1080px,100%);height:min(1100px,100%);box-shadow:var(--shadow-overlay);animation:fh-dictee-in var(--duration-normal) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.dictee:focus{outline:none}@keyframes fh-dictee-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.dictee-header{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.dictee-titres{flex:1;min-width:0}.dictee-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.dictee-alerte{padding:var(--space-3) var(--space-6);background:var(--color-warning-subtle);color:var(--color-text);font-size:var(--text-sm);border-bottom:1px solid var(--color-border);flex-shrink:0;margin:0}.dictee-body{background:var(--color-bg);flex:1;min-height:0;display:flex;position:relative}.dictee-cadre{background:var(--color-bg);border:0;flex:1;width:100%}.dictee-cadre.is-loading{visibility:hidden}.dictee-etat{z-index:1;justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6);text-align:center;color:var(--color-text-secondary);font-size:var(--text-base);flex-direction:column;display:flex;position:absolute;inset:0}.dictee-etat p{max-width:46ch;margin:0}.dictee-etat-titre{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text)}.dictee-footer{padding:var(--space-3) var(--space-6);border-top:1px solid var(--color-border);flex-shrink:0;justify-content:flex-end;display:flex}.dictee-confirmation{z-index:1200}@media (width<=768px){.dictee-overlay{padding:0}.dictee{border-radius:0;width:100%;height:100dvh}.dictee-header{padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4)}.dictee-alerte,.dictee-footer{padding:var(--space-3) var(--space-4)}}.dictee-simulee{min-height:100dvh;padding:var(--space-6);background:var(--color-bg);color:var(--color-text)}.dictee-simulee-inner{gap:var(--space-4);flex-direction:column;max-width:720px;margin:0 auto;display:flex}.plan-toolbar{gap:var(--space-2)}.plan-status-select{width:auto;min-height:var(--target-min);font-size:var(--text-sm);margin-left:auto}.plan-facts{gap:var(--space-2) var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary)}.inline-field{white-space:nowrap;align-items:center;gap:var(--space-2);display:inline-flex}.control-inline{width:auto;min-height:var(--target-min)}.link-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-xs);flex:200px;overflow:hidden}.notice-info{background:var(--color-info-subtle);border-color:var(--color-info);color:var(--color-text)}.notice p{margin:0 0 var(--space-2)}.plan-table th,.plan-table td{padding:var(--space-1) var(--space-2)}.plan-table thead th{padding:var(--space-2)}.plan-table tbody tr:hover td{background:0 0}.control-cell{min-height:32px;padding:var(--space-1) var(--space-2);background:0 0;border-color:#0000}.control-cell:hover:not(:disabled){border-color:var(--color-border-control)}.control-cell:focus-visible{background:var(--color-surface)}.align-right{text-align:right}.cell-check{width:18px;height:18px;accent-color:var(--color-accent)}.plan-phase th{padding-top:var(--space-4);color:var(--color-text);font-weight:var(--weight-semibold);font-size:var(--text-sm);background:0 0}.plan-subtotal td{color:var(--color-text-secondary);font-size:var(--text-sm)}.plan-total td{padding-top:var(--space-4);font-weight:var(--weight-semibold);font-size:var(--text-md);border-bottom:0}tr.is-optional td{color:var(--color-text-muted)}.plan-non-inclus{margin-top:var(--space-6)}.plan-non-inclus h4{margin:0 0 var(--space-1);font-size:var(--text-base);font-weight:var(--weight-semibold)}.plan-non-inclus .text-note{margin:0 0 var(--space-2)}tr.is-optional .control-cell{color:var(--color-text-muted)}.plan-table th:first-child,.plan-table td:first-child{min-width:16rem}.plan-table th:nth-child(2),.plan-table td:nth-child(2){width:110px}.plan-table th:nth-child(3),.plan-table td:nth-child(3){width:10.5rem}.plan-table th:nth-child(4),.plan-table td:nth-child(4){width:8.5rem}.plan-cell-text{padding-block:var(--space-2);white-space:normal;overflow-wrap:anywhere}.plan-table td.plan-cell-text:nth-child(4){white-space:nowrap}.cell-money{align-items:center;gap:var(--space-1);display:flex}.cell-money .control-cell{flex:1;min-width:0}.cell-money>span{color:var(--color-text-secondary)}.plan-phase-note{font-weight:var(--weight-normal);color:var(--color-text-secondary)}.plan-table th:nth-child(5),.plan-table td:nth-child(5){text-align:center;width:48px}.plan-table th:nth-child(6),.plan-table td:nth-child(6),.plan-table th:nth-child(7),.plan-table td:nth-child(7){width:48px}.plan-table th.plan-col-option,.plan-table td.plan-col-option{text-align:left;width:8.5rem}.plan-total-option td{padding-top:var(--space-1);font-size:var(--text-base)}.plan-options{margin-top:var(--space-6)}.plan-options h4{margin:0 0 var(--space-2);font-size:var(--text-base);font-weight:var(--weight-semibold)}.plan-options-liste{padding-left:var(--space-5);gap:var(--space-1);margin:0;display:grid}.options-patient{gap:var(--space-3);display:grid}.options-patient .text-note{margin:0}.option-patient{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0}.option-patient legend{padding:0 var(--space-1);font-weight:var(--weight-semibold)}.pastille-suggestion{margin:2px 0 var(--space-1) var(--space-2);padding:0 var(--space-2);border:1px dashed var(--color-border-strong);border-radius:var(--radius-full);min-height:24px;color:var(--color-text-secondary);font:inherit;font-size:var(--text-xs);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;align-items:center;display:inline-flex}.pastille-suggestion:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent-text)}.pastille-suggestion:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.choix-options{gap:var(--space-2);display:grid}.choix-option{align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;grid-template-columns:auto 1fr auto;display:grid}.choix-option:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-subtle)}.choix-option:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.choix-option input{width:20px;height:20px;accent-color:var(--color-accent);margin:0}.choix-option-texte{gap:2px;display:grid}.choix-option-texte span{color:var(--color-text-secondary);font-size:var(--text-sm)}.choix-option-total{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.step-option{margin-left:var(--space-2)}.implant-form{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr));align-items:end;display:grid}.compact-table th,.compact-table td{padding:var(--space-2);font-size:var(--text-sm)}td.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xs)}.page{max-width:1200px;margin:0 auto}.page-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.toolbar .search-box{margin-bottom:0}.toolbar-grow{flex:260px;min-width:0}.toolbar-select{flex:0 220px;width:auto}@media (width<=600px){.toolbar-select{flex:100%}}.filter-pills{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.filter-pill{align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:0 var(--space-3);border:1px solid var(--color-border-control);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);display:inline-flex}.filter-pill:hover{background:var(--color-surface-hover)}.filter-pill[aria-pressed=true]{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}.filter-pill-status{--tone:var(--color-neutral)}.filter-pill-status[aria-pressed=true] .status-dot{box-shadow:0 0 0 2px var(--color-bg)}.filter-count{font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold)}.list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none;overflow:hidden}.list>li+li,.list>.list-row+.list-row{border-top:1px solid var(--color-border)}.list-row{align-items:center;gap:var(--space-4);width:100%;min-height:56px;padding:var(--space-3) var(--space-4);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out);background:0 0;border:0;display:flex}button.list-row:hover{background:var(--color-surface-hover)}button.list-row:focus-visible{outline-offset:-2px}.list-main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.list-title{font-weight:var(--weight-medium);color:var(--color-text)}.list-meta{gap:0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.list-side{font-size:var(--text-sm);color:var(--color-text-secondary);flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.list-date{align-items:center;gap:var(--space-1);display:inline-flex}.list-date svg{width:14px;height:14px}.list-date.is-soon{color:var(--color-warning);font-weight:var(--weight-medium)}.list-note{color:var(--color-text-muted)}.list-side-bornee{flex:0 auto;min-width:0;max-width:40%}.list-note-tronquee{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.list-status{justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap;flex-shrink:0;display:flex}.list-chevron{width:16px;height:16px;color:var(--color-text-muted);flex-shrink:0}@media (width<=640px){.list-row{gap:var(--space-2) var(--space-3);flex-wrap:wrap}.list-main{flex-basis:calc(100% - 32px)}.list-side{order:3;align-items:flex-start}.list-side-bornee{max-width:100%}.list-status{order:4;justify-content:flex-start}.list-chevron{right:var(--space-4);position:absolute}.list li{position:relative}}.combo{position:relative}.combo-list{z-index:10;max-height:240px;padding:var(--space-1) 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);margin:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combo-option{justify-content:space-between;gap:var(--space-3);width:100%;min-height:var(--target-min);padding:var(--space-2) var(--space-3);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.combo-option:hover,.combo-option:focus-visible{background:var(--color-surface-hover);outline-offset:-2px}.combo-hint{color:var(--color-text-secondary);font-size:var(--text-sm)}.combo-empty{padding:var(--space-3);color:var(--color-text-secondary);font-size:var(--text-sm)}.combo-selected{margin-top:var(--space-2);gap:var(--space-2)}.subtle-box{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken)}.tooth-quadrant+.tooth-quadrant{margin-top:var(--space-2)}.tooth-picker{gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.tooth-toggle{width:var(--target-min);height:var(--target-min);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface);min-width:36px;min-height:36px;color:var(--color-text);font:inherit;font-size:var(--text-sm);cursor:pointer}.tooth-toggle:hover{background:var(--color-surface-hover)}.tooth-toggle[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-on-accent)}.collapse-head{align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.collapse-head:hover{background:var(--color-surface-hover)}.collapse-head .phase-chevron{margin-left:auto}.collapse-head[aria-expanded=true]{border-bottom-right-radius:0;border-bottom-left-radius:0}.collapse-head[aria-expanded=true] .phase-chevron{transform:rotate(180deg)}.price-table{table-layout:fixed}.price-table th:first-child{width:34%}.price-table th:nth-child(2){width:150px}.price-table th:nth-child(3){width:120px}.price-table th:nth-child(5){width:96px}.price-table td{padding-top:var(--space-2);padding-bottom:var(--space-2)}.price-note{font-size:var(--text-sm);color:var(--color-text-secondary)}.price-acte-cabinet{font-size:var(--text-sm);color:var(--color-text-muted);display:block}.price-actions{white-space:nowrap}.price-table tr.is-editing td{background:var(--color-accent-subtle)}@media (width<=768px){.price-table th:nth-child(4),.price-table td:nth-child(4){display:none}}.switch{border-radius:var(--radius-full);background:var(--color-border-control);cursor:pointer;width:44px;height:24px;transition:background var(--duration-fast) var(--ease-out);border:0;flex-shrink:0;padding:0;position:relative}.switch[aria-checked=true]{background:var(--color-accent)}.switch:disabled{opacity:.6;cursor:wait}.switch-thumb{background:var(--color-surface);width:18px;height:18px;box-shadow:var(--shadow-raised);transition:transform var(--duration-fast) var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}.switch[aria-checked=true] .switch-thumb{transform:translate(20px)}.settings-list{margin:var(--space-3) 0 0;padding:0;list-style:none}.settings-row{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);display:flex}.settings-text{flex-direction:column;flex:1;min-width:0;display:flex}.settings-label{font-weight:var(--weight-medium)}.settings-desc{font-size:var(--text-sm);color:var(--color-text-secondary)}.settings-saved{font-size:var(--text-sm)}.data-table th{padding:0}.sort-button{align-items:center;gap:var(--space-1);width:100%;min-height:40px;padding:var(--space-2) var(--space-4);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:inline-flex}.sort-button svg{width:14px;height:14px}.sort-button:hover{color:var(--color-text)}.table-link{color:var(--color-text);font:inherit;font-weight:var(--weight-medium);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.table-link:hover{color:var(--color-accent-text);text-underline-offset:2px;text-decoration:underline}.nowrap{white-space:nowrap}.badge-row{gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.chip-sm{font-size:var(--text-xs);padding:0 var(--space-2)}.pagination-bar{align-items:center;gap:var(--space-3) var(--space-6);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.pagination-buttons{gap:var(--space-1);margin-left:auto}.topbar{z-index:100;align-items:center;gap:var(--space-4);height:var(--topbar-height);padding:0 var(--space-8);background:var(--color-surface);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid;position:fixed;inset:0 0 auto 248px}.topbar-left{align-items:center;gap:var(--space-2);grid-column:1;min-width:0;display:flex}.topbar-menu,.topbar-logo{display:none}.topbar-logo{align-items:center;gap:var(--space-2);color:var(--color-text);font-weight:var(--weight-semibold);font-size:var(--text-md)}.topbar-logo svg{width:24px;height:24px;color:var(--color-accent)}.topbar-right{justify-self:end;align-items:center;gap:var(--space-2);grid-column:3;min-width:0;max-width:100%;display:flex}.langue-switch{border:1px solid var(--color-border);border-radius:var(--radius-md);flex-shrink:0;display:inline-flex;overflow:hidden}.langue-switch button{min-width:36px;min-height:36px;padding:0 var(--space-2);color:var(--color-text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;font-weight:600}.langue-switch button+button{border-left:1px solid var(--color-border)}.langue-switch button.actif{background:var(--color-accent);color:var(--color-text-on-accent)}.langue-switch button:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}@media (pointer:coarse){.langue-switch button{min-width:44px;min-height:44px}}.topbar .icon-button svg{width:20px;height:20px}.note-rapide{align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;flex-shrink:0;font-weight:600;text-decoration:none;display:inline-flex}.note-rapide:hover{background:var(--color-surface-hover);color:var(--color-text)}.note-rapide:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.note-rapide svg{width:18px;height:18px}@media (pointer:coarse){.note-rapide{min-width:44px;min-height:44px}}.memberships{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.memberships-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.memberships-row,.memberships-add{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.memberships-clinic{min-width:160px;font-weight:var(--weight-medium)}.memberships-role{color:var(--color-text-muted)}.memberships-roles{align-items:center;column-gap:var(--space-4);flex-wrap:wrap;display:flex}.perimetre-note{margin:0 0 var(--space-4)}.clinic-members-name{font-weight:var(--weight-medium)}.clinic-members-sub{font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.clinic-members-sub-profession,.clinic-members-sub-gestionnaire{display:none}th.clinic-members-role,td.clinic-members-role{text-align:center;white-space:nowrap;width:1%}td.clinic-members-role input{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer;margin:0}td.clinic-members-role input:disabled{cursor:not-allowed}@media (pointer:coarse){td.clinic-members-role input{width:22px;height:22px}}.clinic-members-acces-mobile{display:none}td.clinic-members-acces .control{min-width:13rem}td.clinic-members-actions{text-align:right;width:1%;padding-block:0}@media (width<=560px){table.clinic-members{min-width:0}.clinic-members th,.clinic-members td{padding-inline:var(--space-2)}.clinic-members .clinic-members-profession{display:none}.clinic-members-sub-profession,.clinic-members-sub-gestionnaire{display:block}.clinic-members:not(.clinic-members-admin) .clinic-members-role-gestionnaire,.clinic-members-sub-email,.clinic-members .clinic-members-acces{display:none}.clinic-members-acces-mobile{width:100%;margin-top:var(--space-2);display:block}}.clinic-switcher{align-items:center;gap:var(--space-2);max-width:min(480px,36vw);min-height:40px;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);transition:background var(--duration-fast) var(--ease-out);grid-column:2;display:flex;position:relative}.clinic-switcher:hover{background:var(--color-surface-hover)}.clinic-switcher:has(.clinic-switcher-select:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.clinic-switcher svg{width:18px;height:18px;color:var(--color-text-muted);flex:none}.clinic-switcher-name{min-width:0;font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-tight);overflow-wrap:anywhere;text-wrap:balance}.clinic-switcher-select{opacity:0;cursor:pointer;width:100%;height:100%;font-size:var(--text-md);position:absolute;inset:0}.icon-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.global-search{flex:0 360px;width:360px;min-width:140px;position:relative}.global-search-icon{top:50%;left:var(--space-3);width:16px;height:16px;color:var(--color-text-muted);pointer-events:none;position:absolute;transform:translateY(-50%)}.global-search-input{width:100%;height:36px;padding:0 var(--space-8) 0 calc(var(--space-3) + 16px + var(--space-2));border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text);font-size:var(--text-sm);text-overflow:ellipsis;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}.global-search-input::placeholder{color:var(--color-text-muted)}.global-search-input::-webkit-search-cancel-button{display:none}.global-search-input:hover{border-color:var(--color-border-control)}.global-search-input:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-accent);background:var(--color-surface)}.global-search-kbd{top:50%;right:var(--space-2);min-width:20px;padding:0 var(--space-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-muted);font:inherit;font-size:var(--text-xs);text-align:center;pointer-events:none;line-height:18px;position:absolute;transform:translateY(-50%)}.global-search-panel{top:calc(100% + var(--space-2));width:max(100%,360px);max-height:min(70vh,480px);padding:var(--space-2) 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);z-index:200;position:absolute;right:0;overflow-y:auto}.global-search-list{margin:0;padding:0;list-style:none}.global-search-group{padding:var(--space-2) var(--space-4) var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.global-search-option{align-items:center;gap:var(--space-3);min-height:var(--target-min);padding:var(--space-2) var(--space-4);cursor:pointer;display:flex}.global-search-option.is-active{background:var(--color-surface-selected)}.global-search-enter{width:16px;height:16px;color:var(--color-accent-text);flex-shrink:0;margin-left:auto}.global-search-option-text{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.global-search-option-title,.global-search-option-detail{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.global-search-option-title{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium)}.global-search-option-detail{color:var(--color-text-muted);font-size:var(--text-xs)}.global-search-status{padding:var(--space-2) var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.global-search-status:empty{display:none}.account-menu{position:relative}.account-button{align-items:center;gap:var(--space-1);min-height:var(--target-min);padding:2px var(--space-1) 2px 2px;border-radius:var(--radius-full);cursor:pointer;background:0 0;border:0;display:flex}.account-button:hover{background:var(--color-surface-hover)}.account-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.account-chevron{width:14px;height:14px;color:var(--color-text-muted)}.avatar{background:var(--color-accent);width:32px;height:32px;color:var(--color-text-on-accent);font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.avatar-lg{width:40px;height:40px;font-size:var(--text-sm)}.account-panel{top:calc(100% + var(--space-2));width:280px;max-width:calc(100vw - 2 * var(--space-2));padding-bottom:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);z-index:200;position:absolute;right:0}.account-panel-head{align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.account-identity{min-width:0}.account-identity p{white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.account-name{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.account-email{color:var(--color-text-muted);font-size:var(--text-xs)}.account-clinic{color:var(--color-text-secondary);font-size:var(--text-xs)}.account-actions{padding:var(--space-1) 0 0;margin:0;list-style:none}.account-item{align-items:center;gap:var(--space-3);width:100%;min-height:var(--target-min);padding:var(--space-2) var(--space-4);color:var(--color-text);font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.account-item:hover{background:var(--color-surface-hover)}.account-item:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.account-item svg{width:16px;height:16px;color:var(--color-text-secondary)}.account-separator{height:1px;margin:var(--space-1) 0;background:var(--color-border)}@media (width<=1024px){.topbar{padding:0 var(--space-2) 0 var(--space-1);left:0}.topbar-menu,.topbar-logo{display:flex}.topbar .topbar-menu{width:44px;height:44px}.global-search{flex-basis:280px}}@media (width<=600px){.topbar-logo span,.global-search-kbd{display:none}.note-rapide-libelle{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.note-rapide{justify-content:center;min-width:44px;min-height:44px;padding:0}.topbar-right{flex:1}.global-search{flex:1;width:auto}.app-container:has(.clinic-switcher){--topbar-height:108px}.topbar{gap:0 var(--space-2);grid-template-rows:56px;grid-template-columns:auto minmax(0,1fr)}.topbar-right{grid-column:2;justify-self:stretch}.clinic-switcher{max-width:none;min-height:44px;margin:0 var(--space-1) var(--space-2) var(--space-2);grid-area:2/1/auto/-1}.clinic-switcher-name{flex:1}.global-search-input{height:40px;font-size:var(--text-md)}.global-search-panel{top:calc(var(--topbar-height) + var(--space-1));left:var(--space-2);right:var(--space-2);width:auto;position:fixed}}.case-team-row{cursor:default;flex-wrap:nowrap}.case-team-row>.button{flex:none}@media (width<=640px){.case-team-row>.button{min-width:44px;min-height:44px}}.case-team-add{align-items:flex-end}.menu-bouton{display:inline-flex;position:relative}.menu-bouton-chevron{width:14px;height:14px}.menu-bouton-panneau{top:calc(100% + var(--space-1));min-width:200px;padding:var(--space-1) 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);z-index:200;margin:0;list-style:none;position:absolute;left:0}.menu-bouton-item{width:100%;min-height:var(--target-min);padding:var(--space-2) var(--space-4);color:var(--color-text);font-size:var(--text-sm);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;display:flex}.menu-bouton-item:hover:not(:disabled){background:var(--color-surface-hover)}.menu-bouton-item:disabled{color:var(--color-text-muted);cursor:not-allowed}.menu-bouton-item:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.menu-dicter{display:inline-flex;position:relative}.menu-dicter-chevron{width:14px;height:14px}.menu-dicter-liste{top:calc(100% + var(--space-1));min-width:260px;padding:var(--space-1) 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);z-index:200;margin:0;list-style:none;position:absolute;right:0}.menu-dicter-groupe{margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--color-border)}.menu-dicter-item{width:100%;min-height:var(--target-min);padding:var(--space-2) var(--space-4);color:var(--color-text);font-size:var(--text-sm);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;display:flex}.menu-dicter-item:hover{background:var(--color-surface-hover)}.menu-dicter-item:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}@media (width<=600px){.menu-dicter-liste{min-width:min(100vw - 2 * var(--space-4), 320px);left:0;right:auto}.menu-dicter-item{white-space:normal}}.control-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-sm);line-height:1.5}.lettre-apercu{margin-bottom:0}.nouveau-cas-patient{margin:0 0 var(--space-4);color:var(--color-text-secondary)}.nouveau-cas-choix{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.nouveau-cas-carte{align-items:flex-start;gap:var(--space-2);min-height:var(--target-min);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font:inherit;color:var(--color-text);text-align:left;cursor:pointer;transition:border-color var(--duration-fast) ease, background-color var(--duration-fast) ease;flex-direction:column;display:flex}.nouveau-cas-carte:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.nouveau-cas-carte:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.nouveau-cas-icone{width:24px;height:24px;color:var(--color-accent-text)}.nouveau-cas-titre{font-size:var(--text-md);font-weight:var(--weight-semibold)}.nouveau-cas-desc{font-size:var(--text-sm);color:var(--color-text-secondary)}.consult-resume{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-warning-subtle)}.consult-a-completer>.control{border-color:var(--color-warning)}.consult-proposition{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-left:2px solid var(--color-info);background:var(--color-info-subtle);border-radius:var(--radius-sm);flex-direction:column;display:flex}.consult-proposition .field-hint{margin:0}.consult-rapport .panel-meta{font-variant-numeric:tabular-nums}.consult-rapport-texte{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-normal);white-space:pre-wrap;overflow-wrap:anywhere;max-width:80ch}.consult-rubriques,.consult-rubriques-corps{gap:var(--space-4);flex-direction:column;display:flex}.consult-rubriques-corps[hidden]{display:none}.patient-page{gap:var(--space-5);flex-direction:column;display:flex}.patient-page .page-breadcrumb{margin:0}.patient-header{gap:var(--space-5);padding:var(--space-5) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.patient-header-top{align-items:center;gap:var(--space-4) var(--space-5);flex-wrap:wrap;display:flex}.patient-header-heading{flex:180px;min-width:0}.patient-header-title{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.patient-header-name{font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--color-text);overflow-wrap:anywhere;margin:0}.patient-header-meta{margin:var(--space-1) 0 0;font-size:var(--text-base);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.patient-header-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.patient-alerts{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.patient-alert{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-subtle);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);display:inline-flex}.patient-alert-icon{color:var(--color-danger);flex-shrink:0}.patient-facts{gap:var(--space-4) var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0;display:grid}.patient-facts dt{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:2px}.patient-facts dd{color:var(--color-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.patient-facts a{color:var(--color-accent-text)}.patient-facts-line{display:block}.patient-layout{gap:var(--space-5);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.patient-main,.patient-rail{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}@media (width<=1100px){.patient-layout{grid-template-columns:minmax(0,1fr)}.patient-rail{order:-1;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;display:grid}}@media (width<=480px){.patient-header{padding:var(--space-4)}.patient-header-actions{width:100%}.patient-header-actions .button{flex:1 1 0}}.plain-list{margin:0;padding:0;list-style:none}.consent-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.consent-row{padding:var(--space-3) 0;border-top:1px solid var(--color-border)}.consent-row:first-child{border-top:0;padding-top:0}.consent-row-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.consent-label{font-size:var(--text-base);color:var(--color-text)}.consent-detail{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;display:block}.consent-detail.link-button{color:var(--color-accent-text)}.consent-purposes{margin:var(--space-2) 0 0;padding-left:var(--space-5);font-size:var(--text-sm);color:var(--color-text)}.consent-action{margin-top:var(--space-2)}.consent-sign{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.consent-sign .control{width:100%}.dentitek-results{margin:0;padding:0;list-style:none}.dentitek-results li{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);display:flex}.dentitek-msg{margin:var(--space-3) 0 0}.patient-plans-liste{border:0;border-top:1px solid var(--color-border);background:0 0;border-radius:0}.patient-plan{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.patient-plan-info{flex-direction:column;flex:16rem;gap:2px;min-width:0;display:flex}.patient-plan-etat{align-items:flex-end;gap:var(--space-1);flex-direction:column;flex-shrink:0;display:flex}.patient-plan-total{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.patient-plan-actions{gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:flex}@media (width<=640px){.patient-plan{padding-inline:var(--space-4)}.patient-plan-etat{align-items:center;gap:var(--space-2) var(--space-3);flex-flow:wrap}.patient-plan-actions{flex-basis:100%}.patient-plan-actions .button{flex:1 1 0}}.patient-plans-vide{padding:var(--space-2) var(--space-5) var(--space-4);margin:0}.patient-plans-bascule{min-height:var(--target-min);margin:var(--space-1) var(--space-5) var(--space-3);align-items:center;display:inline-flex}.patient-plans-confirmation{margin:0 0 var(--space-3)}.patient-plans-avertissements{margin:0 0 var(--space-2);padding-left:var(--space-5)}.patient-plans-avertissements li+li{margin-top:var(--space-1)}.consent-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.consent-signe-item{justify-content:space-between;align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.data-list-action{margin-left:var(--space-2)}.public-page{--text-xs:13px;--text-sm:14px;--text-base:16px;--text-lg:20px;--target-min:40px;--control-height:44px;background:var(--color-bg);min-height:100vh;color:var(--color-text);font-size:var(--text-md)}.public-container{max-width:720px;padding:var(--space-8) var(--space-4) var(--space-16);margin:0 auto}.public-header{margin-bottom:var(--space-6)}.public-clinic{margin:0 0 var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-accent-text)}.public-title{font-size:var(--text-2xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--color-text);margin:0}.public-lead{margin:var(--space-2) 0 0;color:var(--color-text-secondary);line-height:var(--leading-normal);max-width:60ch}.public-page .error-summary{margin-bottom:var(--space-4)}.public-actions{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.public-required-note{font-size:var(--text-sm);color:var(--color-text-secondary)}@media (pointer:coarse){.public-page{--target-min:48px;--control-height:48px}}@media (width<=480px){.public-container{padding:var(--space-6) var(--space-3) var(--space-12)}.public-title{font-size:var(--text-xl)}.public-actions .button{width:100%}}.public-state{justify-content:center;align-items:center;gap:var(--space-4);min-height:100vh;padding:var(--space-8) var(--space-4);text-align:center;flex-direction:column;display:flex}.public-state h1{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:0}.public-state p{max-width:46ch;color:var(--color-text-secondary);line-height:var(--leading-normal);margin:0}.public-state-icon{border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.public-state-icon svg{width:28px;height:28px}.public-state-icon.is-success{background:var(--color-success-subtle);color:var(--color-success)}.public-state-icon.is-error{background:var(--color-danger-subtle);color:var(--color-danger)}.reading-box-tall{max-height:46vh}.signature-pad{aspect-ratio:700/220;border:2px dashed var(--color-border-control);border-radius:var(--radius-md);touch-action:none;cursor:crosshair;background:oklch(99.5% .002 215);width:100%;height:auto;display:block}.signature-pad:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.public-container-wide{max-width:880px}.paper{margin-bottom:var(--space-4);padding:var(--space-8);border-radius:var(--radius-lg);color:oklch(22% .02 230);box-shadow:var(--shadow-raised);background:oklch(99.5% .002 215);overflow-x:auto}@media (width<=480px){.paper{padding:var(--space-4)}}.public-documents{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.public-documents-ancres{gap:var(--space-4);margin:0;padding:0;list-style:none;display:flex}.public-documents-ancres a{min-height:var(--target-min);color:var(--color-accent-text);font-weight:var(--weight-semibold);align-items:center;display:inline-flex}.public-documents-telechargements{gap:var(--space-2);flex-wrap:wrap;display:flex}.paper[id]{scroll-margin-top:var(--space-4)}.public-options{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.public-options .public-required-note{margin:0}.public-option-retenue{font-variant-numeric:tabular-nums}.public-page{position:relative}.public-langue{padding:var(--space-3) var(--space-4) 0;justify-content:flex-end;display:flex}.public-langue+.public-container{padding-top:var(--space-4)}.public-langue-flottant{z-index:1;position:absolute;top:0;right:0}.public-langue-note{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-entete{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8);display:flex}.auth-entete .auth-brand{margin-bottom:0}.public-langue .langue-switch button{min-width:44px;min-height:44px}.config-manquante{color:#1f2a30;background:#fff;border:1px solid #d5dde1;border-radius:8px;max-width:640px;margin:40px auto;padding:40px;font-family:system-ui}.config-manquante h2{margin:0 0 12px}.config-manquante-aide{color:#4a5960}.pe-container{background:var(--bg-main);min-height:100%;color:var(--text-primary);padding:1.5rem}.pe-retour{margin-bottom:var(--space-2)}.pe-breadcrumb{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem}.pe-breadcrumb a{color:var(--text-muted);text-decoration:none}.pe-breadcrumb a:hover{color:var(--primary)}.pe-title{font-size:var(--text-xl);margin-bottom:1.5rem;font-weight:600}.pe-warning{background:var(--warning-bg);border:1px solid var(--warning);border-radius:10px;margin-bottom:1.5rem;padding:1rem 1.5rem}.pe-warning-header{color:var(--warning);align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.pe-warning-title{font-weight:600}.pe-warning-text{color:var(--warning);opacity:.9;font-size:.9rem}.pe-type-row{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1rem;display:flex}.pe-type-label{color:var(--text-secondary);font-weight:500}.pe-radio-label{cursor:pointer;color:var(--text-secondary);align-items:center;gap:.5rem;display:flex}.pe-radio-label input{accent-color:var(--primary)}.pe-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.pe-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.pe-card-title{border-bottom:1px solid var(--border);color:var(--text-primary);margin-bottom:1.25rem;padding-bottom:.75rem;font-size:1rem;font-weight:600}.pe-profile-card{gap:1.5rem;display:flex}.pe-profile-left{flex-direction:column;align-items:center;min-width:200px;display:flex}.pe-spinner{border:3px solid var(--color-accent);border-top-color:var(--primary);border-radius:50%;width:30px;height:30px;animation:1s linear infinite pe-spin}@keyframes pe-spin{to{transform:rotate(360deg)}}.pe-profile-name{text-align:center;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.pe-btn{cursor:pointer;border:none;border-radius:8px;width:100%;margin-bottom:.5rem;padding:.6rem 1rem;font-size:.85rem;font-weight:500;transition:all .15s}.pe-btn-danger{background:var(--color-surface);color:var(--color-danger);border:1px solid var(--color-danger)}.pe-btn-danger:hover{background:var(--color-danger-subtle)}.pe-btn-primary{background:var(--primary);color:var(--color-text-on-accent)}.pe-btn-primary:hover{background:var(--primary-dark)}.pe-btn-outline{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.pe-btn-outline:hover{border-color:var(--primary);color:var(--primary)}.pe-profile-right{flex:1}.pe-info-row{margin-bottom:.75rem}.pe-info-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:.8rem;font-weight:600}.pe-info-value{color:var(--text-secondary);font-size:.9rem}.pe-form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.pe-form-group{margin-bottom:1rem}.pe-label{color:var(--text-secondary);margin-bottom:.35rem;font-size:.85rem;font-weight:500;display:block}.pe-required{color:var(--danger);margin-left:2px}.pe-input{border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text-primary);border-radius:8px;padding:.6rem .85rem;font-size:.9rem;transition:border-color .15s}.pe-input:focus{border-color:var(--primary);outline:none}.pe-input::placeholder{color:var(--text-muted)}.pe-select{border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text-primary);cursor:pointer;border-radius:8px;padding:.6rem .85rem;font-size:.9rem}.pe-select:focus{border-color:var(--primary);outline:none}.pe-textarea{border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text-primary);resize:vertical;border-radius:8px;min-height:80px;padding:.6rem .85rem;font-size:.9rem}.pe-textarea:focus{border-color:var(--primary);outline:none}.pe-hint{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}.pe-checkbox-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.pe-checkbox{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.pe-checkbox input{accent-color:var(--primary);width:16px;height:16px}.pe-group-title{text-transform:uppercase;letter-spacing:.03em;color:var(--primary);margin-bottom:.5rem;font-size:.75rem;font-weight:600}.pe-consent-box{background:var(--bg-sidebar);max-height:150px;color:var(--text-muted);border:1px solid var(--border);border-radius:8px;margin-bottom:.75rem;padding:.75rem;font-size:.8rem;overflow-y:auto}.pe-alert-chirurgie{background:var(--color-danger-subtle);border:1px solid var(--danger);color:var(--danger);border-radius:10px;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding:.9rem 1rem;font-size:.9rem;display:flex}.pe-alert-chirurgie svg{flex-shrink:0;margin-top:2px}.pe-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;display:flex}.pe-footer-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.pe-required-note{color:var(--danger);font-size:.85rem}.pe-save-btn{background:var(--primary);color:var(--color-text-on-accent);cursor:pointer;border:none;border-radius:8px;padding:.75rem 2rem;font-size:.9rem;font-weight:500;transition:background .15s}.pe-save-btn:hover{background:var(--primary-dark)}.pe-save-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=1024px){.pe-grid{grid-template-columns:1fr}.pe-profile-card{flex-direction:column}.pe-form-row,.pe-checkbox-grid{grid-template-columns:1fr}}.pe-tabs{margin-bottom:var(--space-6)}.pe-tab-dot{width:8px;height:8px;margin-left:var(--space-2);background:var(--color-warning);vertical-align:middle;border-radius:50%;display:inline-block}.pe-error{color:var(--color-danger)}.pe-precaution{margin-bottom:var(--space-2)}.pe-notes,.pe-container .error-summary{margin-top:var(--space-4)}.dt-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.dt-title{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:.75rem;font-size:1.1rem;font-weight:600}.dt-timeline{padding-left:1.5rem;position:relative}.dt-timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:6px;bottom:6px;left:5px}.dt-event{padding-bottom:1.25rem;position:relative}.dt-dot{border:2px solid var(--bg-card);border-radius:50%;width:12px;height:12px;position:absolute;top:5px;left:-1.5rem}.dt-dot-rdv{background:var(--color-info)}.dt-dot-implant{background:var(--primary)}.dt-event-date{color:var(--text-muted);font-size:.8rem}.dt-event-title{margin:.15rem 0;font-size:.95rem;font-weight:600}.dt-event-sub{color:var(--text-muted);font-size:.85rem}.dt-badge{border-radius:12px;margin-left:.5rem;padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:inline-block}.dt-badge-futur{background:var(--color-info-subtle);color:var(--color-info)}.dt-badge-confirme{background:var(--color-success-subtle);color:var(--color-success)}.dt-empty{color:var(--text-muted);padding:1rem 0;font-size:.9rem}.dt-docs-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.dt-select{border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);border-radius:8px;padding:.5rem .75rem;font-size:.85rem}.dt-btn{background:var(--primary);color:var(--color-text-on-accent);cursor:pointer;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;font-weight:500}.dt-doc-row{background:var(--bg-sidebar);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem 1rem;display:flex}.dt-doc-row-consent{gap:var(--space-1) var(--space-3);flex-wrap:wrap}.dt-doc-name{font-size:.9rem;font-weight:500}.dt-doc-meta{color:var(--text-muted);font-size:.78rem}.dt-doc-note{color:var(--text-muted);margin:0 0 .75rem;font-size:.78rem}.dt-doc-actions{gap:.5rem;display:flex}.dt-link-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .7rem;font-size:.8rem;text-decoration:none}.dt-link-btn:hover{border-color:var(--primary);color:var(--primary)}.dt-note{color:var(--text-muted);margin-top:.75rem;font-size:.8rem;font-style:italic}.dt-docs-actions{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.dt-docs-groupe .consent-sign,.dt-docs-groupe.consent-sign{border-top:0;margin-top:0;padding-top:0}.field-label-secondaire{color:var(--color-text-secondary);font-weight:400}.dt-docs-filtres{gap:var(--space-3);padding-top:var(--space-3);margin-bottom:var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.dt-filtre{gap:var(--space-1);flex-direction:column;flex:12rem;min-width:12rem;display:flex}.dt-doc-list{margin:0;padding:0;list-style:none}.dt-doc-list .dt-doc-row{gap:var(--space-2) var(--space-3);flex-wrap:wrap}.dt-doc-texte{flex:18rem;min-width:0}.dt-doc-list .dt-doc-actions{flex-wrap:wrap;align-items:center}.dt-doc-meta{font-variant-numeric:tabular-nums}.dt-doc-indispo{font-size:var(--text-sm);color:var(--color-text-muted)}.patient-profile-container{background:var(--bg-main);min-height:100%;color:var(--text-primary);padding:1.5rem}.pv-back-btn{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1rem;font-size:.9rem;display:inline-flex}.pv-back-btn:hover{border-color:var(--primary);color:var(--primary)}.pv-header{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1.5rem 2rem;display:flex}.pv-header-left{align-items:center;gap:1.5rem;display:flex}.pv-avatar{background:var(--primary);width:60px;height:60px;color:var(--color-text-on-accent);border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;font-weight:600;display:flex}.pv-header-name{font-size:1.5rem;font-weight:600}.pv-header-meta{color:var(--text-muted);font-size:.9rem}.pv-tabs{gap:.5rem;margin-bottom:1.5rem;display:flex}.pv-tab{border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;display:flex}.pv-tab:hover{border-color:var(--primary);color:var(--primary)}.pv-tab-active{background:var(--primary);color:var(--color-text-on-accent);border-color:var(--primary)}.pv-content{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;min-height:400px;padding:1.5rem}.pv-content-title{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:.75rem;font-size:1.1rem;font-weight:600}.pv-visit-card{background:var(--bg-sidebar);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;padding:1rem}.pv-visit-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.pv-visit-date{font-size:1rem;font-weight:600}.pv-visit-type{background:var(--primary-bg);color:var(--primary);border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.pv-visit-info{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem}.pv-visit-actions{gap:.5rem;margin-top:.75rem;display:flex}.pv-action-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.8rem;display:flex}.pv-action-btn:hover{border-color:var(--primary);color:var(--primary)}.pv-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.pv-empty-icon{color:var(--text-muted);opacity:.5;margin-bottom:1rem}.pv-empty-title{margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.pv-empty-subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.pv-btn-primary{background:var(--primary);color:var(--color-text-on-accent);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;display:flex}.pv-btn-primary:hover{background:var(--primary-dark)}.pv-docs-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.pv-docs-actions{align-items:center;gap:.75rem;display:flex}.pv-select{border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);border-radius:8px;padding:.5rem .75rem;font-size:.9rem}.pv-doc-row{background:var(--bg-sidebar);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:1rem;display:flex}.pv-doc-info{color:var(--text-muted);align-items:center;gap:1rem;display:flex}.pv-doc-name{color:var(--text-primary);font-weight:500}.pv-doc-meta{color:var(--text-muted);font-size:.8rem}.pv-doc-note{color:var(--text-muted);margin:0 0 .75rem;font-size:.8rem}.pv-doc-actions{gap:.5rem;display:flex}.pv-view-btn{border:1px solid var(--border);color:var(--text-secondary);background:0 0;border-radius:6px;padding:.4rem .75rem;font-size:.8rem;text-decoration:none}.pv-view-btn:hover{border-color:var(--primary);color:var(--primary)}.pv-delete-btn{border:1px solid var(--border);color:var(--danger);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:.4rem;display:flex}.pv-delete-btn:hover{background:var(--danger-bg);border-color:var(--danger)}.document-apercu .bloc-signature{margin-top:3rem}.document-apercu .bloc-signature+.bloc-signature{margin-top:2rem}.help-container{max-width:900px;margin:0 auto}.help-header{margin-bottom:2rem}.help-header .page-title{align-items:center;display:flex}.help-quick-start{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;margin-bottom:2rem;padding:1.5rem}.help-quick-start h2{margin:0 0 1rem;font-size:1.25rem}.help-quick-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.help-quick-card{background:var(--bg-dark);text-align:center;border-radius:12px;padding:1rem}.help-quick-number{background:var(--color-accent-subtle);width:32px;height:32px;color:var(--color-accent-text);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;font-weight:700;display:inline-flex}.help-quick-card p{color:var(--text-secondary);margin:0;font-size:.9rem}.help-sections{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.help-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.help-section-header{cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;justify-content:space-between;align-items:center;padding:1rem 1.5rem;font-family:inherit;display:flex}.help-section-header:hover{background:var(--bg-card-hover)}.help-section-title{align-items:center;gap:.75rem;display:flex}.help-section-icon{width:24px;height:24px;color:var(--accent)}.help-section-title h3{margin:0;font-size:1.1rem}.help-section-chevron{width:20px;height:20px;color:var(--text-muted)}.help-section-content{border-top:1px solid var(--border);padding:0 1.5rem 1.5rem}.help-section-content h4{color:var(--accent);margin:1.5rem 0 .75rem;font-size:1rem}.help-section-content p{color:var(--text-secondary);margin:.75rem 0;line-height:1.6}.help-section-content ul{color:var(--text-secondary);margin:.75rem 0;padding-left:1.5rem}.help-section-content li{margin:.5rem 0;line-height:1.5}.help-step{gap:1rem;margin:1rem 0;display:flex}.help-step-number{background:var(--color-accent-subtle);width:28px;min-width:28px;height:28px;color:var(--color-accent-text);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.help-step-content h4{color:var(--text-primary)!important;margin:0 0 .25rem!important;font-size:.95rem!important}.help-step-content p{font-size:.9rem;margin:0!important}.help-tip{background:#d4a5741a;border:1px solid #d4a5744d;border-radius:8px;gap:.75rem;margin:1rem 0;padding:.75rem 1rem;display:flex}.help-tip-icon{width:20px;height:20px;color:var(--accent);flex-shrink:0}.help-tip p{font-size:.9rem;color:var(--text-primary)!important;margin:0!important}.help-faq{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;margin-bottom:2rem;padding:1.5rem}.help-faq h2{margin:0 0 1rem;font-size:1.25rem}.help-faq-item{border-bottom:1px solid var(--border);padding:1rem 0}.help-faq-item:last-child{border-bottom:none;padding-bottom:0}.help-faq-item h4{color:var(--text-primary);margin:0 0 .5rem;font-size:1rem}.help-faq-item p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.5}.help-contact{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:16px;padding:1.5rem}.help-contact h2{margin:0 0 .5rem;font-size:1.25rem}.help-contact p{color:var(--text-secondary);margin:0}@media (width<=768px){.help-quick-grid{grid-template-columns:repeat(2,1fr)}}.schedule-container{background:var(--bg-main);min-height:100%}.schedule-header{background:var(--bg-card);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.schedule-title{color:var(--text-primary);font-size:1.5rem;font-weight:600}.schedule-nav{align-items:center;gap:.5rem;display:flex}.nav-btn{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.nav-btn:hover{background:var(--bg-hover)}.today-btn{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.875rem}.today-btn:hover{background:var(--bg-hover)}.period-title{color:var(--text-primary);text-align:center;min-width:250px;font-size:1.1rem;font-weight:500}.schedule-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.view-toggle{border:1px solid var(--border);border-radius:6px;display:flex;overflow:hidden}.view-btn{background:var(--bg-input);color:var(--text-secondary);cursor:pointer;border:none;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}.view-btn:not(:last-child){border-right:1px solid var(--border)}.view-btn.active{background:var(--primary);color:var(--color-text-on-accent)}.view-btn:hover:not(.active){background:var(--bg-hover)}.practitioner-select{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;min-width:150px;padding:.5rem 1rem;font-size:.875rem}.new-appointment-btn{background:var(--primary);color:var(--color-text-on-accent);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .2s;display:flex}.new-appointment-btn:hover{background:var(--primary-dark)}.booking-link-btn{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;display:flex}.booking-link-btn:hover{background:var(--bg-hover)}.schedule-grid{flex:1;display:flex;overflow:hidden}.time-column{border-right:1px solid var(--border);background:var(--bg-card);flex-shrink:0;width:60px}.time-slot{height:40px;color:var(--text-muted);border-bottom:1px solid var(--border);justify-content:flex-end;align-items:flex-start;padding:0 .5rem;font-size:.75rem;display:flex}.days-container{flex:1;display:flex;overflow-x:auto}.day-column{border-right:1px solid var(--border);flex:1;min-width:120px;position:relative}.day-column:last-child{border-right:none}.day-header{text-align:center;background:var(--bg-card);border-bottom:1px solid var(--border);z-index:10;padding:.75rem .5rem;position:sticky;top:0}.day-header.today{background:var(--primary);color:var(--color-text-on-accent)}.day-name{color:var(--text-muted);text-transform:uppercase;font-size:.75rem}.day-header.today .day-name{color:var(--color-text-on-accent)}.day-number{font-size:1.25rem;font-weight:600}.day-slots{position:relative}.slot-row{border-bottom:1px solid var(--border);cursor:pointer;height:40px;transition:background .2s}.slot-row:hover{background:var(--bg-hover)}.slot-row.half-hour{border-bottom-style:dashed;border-color:var(--border-light,var(--color-border))}.appointment{background:color-mix(in oklch, var(--type-color) 16%, var(--color-surface));border-left:3px solid var(--type-color);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;z-index:5;border-top:0;border-bottom:0;border-right:0;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;transition:transform .1s,box-shadow .1s;position:absolute;left:4px;right:4px;overflow:hidden}.appointment:hover{box-shadow:var(--shadow-raised);z-index:6}.appointment:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;z-index:6}.appointment>span{display:block}.appointment-inactive{background:var(--color-surface-sunken);border-left-style:dashed}.appointment-inactive .appointment-title{text-decoration:line-through;-webkit-text-decoration-color:var(--color-text-muted);text-decoration-color:var(--color-text-muted)}.appointment-title{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.appointment-time{opacity:.9;font-size:.65rem}.appointment-type{opacity:.8;margin-top:2px;font-size:.65rem}.month-grid{background:var(--border);flex:1;grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.month-header{text-align:center;background:var(--bg-card);color:var(--text-secondary);padding:.75rem;font-size:.8rem;font-weight:500}.month-day{background:var(--bg-card);cursor:pointer;min-height:100px;padding:.5rem;transition:background .2s;position:relative}.month-day:hover{background:var(--bg-hover)}.month-day.other-month{background:var(--bg-main)}.month-day.other-month .month-day-number{color:var(--text-muted)}.month-day.today{background:var(--color-accent-subtle)}.month-day-number{font:inherit;color:var(--text-primary);cursor:pointer;background:0 0;border:0;margin-bottom:.25rem;padding:0;font-size:.875rem;font-weight:500;display:block}.month-day-number:after{content:"";position:absolute;inset:0}.month-day-number:focus-visible{outline:none}.month-day:has(.month-day-number:focus-visible){outline:2px solid var(--color-focus);outline-offset:-2px}.month-day.today .month-day-number{color:var(--primary);font-weight:700}.month-appointment{z-index:1;width:100%;font:inherit;text-align:left;background:color-mix(in oklch, var(--type-color) 16%, var(--color-surface));border-top:0;border-bottom:0;border-right:0;border-left:3px solid var(--type-color);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:3px;margin-bottom:2px;padding:2px 4px;font-size:.7rem;display:block;position:relative;overflow:hidden}.month-more{color:var(--text-muted);padding:2px 4px;font-size:.7rem}:where(.schedule-container) .modal-overlay{background:var(--color-overlay);z-index:1000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}:where(.schedule-container) .modal{background:var(--bg-card);width:100%;max-width:500px;max-height:90vh;box-shadow:0 20px 60px var(--color-overlay);border-radius:12px;overflow-y:auto}:where(.schedule-container) .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}:where(.schedule-container) .modal-title{color:var(--text-primary);font-size:1.25rem;font-weight:600}:where(.schedule-container) .modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem;display:flex}:where(.schedule-container) .modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}:where(.schedule-container) .modal-body{padding:1.5rem}:where(.schedule-container) .form-group{margin-bottom:1rem}:where(.schedule-container) .form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}:where(.schedule-container) .form-input,:where(.schedule-container) .form-select,:where(.schedule-container) .form-textarea{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:6px;padding:.75rem;font-size:.875rem}:where(.schedule-container) .form-input:focus,:where(.schedule-container) .form-select:focus,:where(.schedule-container) .form-textarea:focus{border-color:var(--primary);outline:none}:where(.schedule-container) .form-textarea{resize:vertical;min-height:80px}:where(.schedule-container) .form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.patient-search-container{position:relative}.patient-dropdown{background:var(--bg-card);border:1px solid var(--border);z-index:100;border-radius:6px;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.patient-option{width:100%;font:inherit;text-align:left;cursor:pointer;border:0;border-bottom:1px solid var(--border);background:0 0;padding:.75rem;display:block}.patient-option:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.patient-option-name,.patient-option-info{display:block}.patient-option:last-child{border-bottom:none}.patient-option:hover{background:var(--bg-hover)}.patient-option-name{color:var(--text-primary);font-weight:500}.patient-option-info{color:var(--text-muted);font-size:.75rem}.status-selector{flex-wrap:wrap;gap:.5rem;display:flex}.status-option{cursor:pointer;color:var(--color-text);background:color-mix(in oklch, var(--status-color) 12%, var(--color-surface));transition:border-color var(--duration-fast);border:2px solid #0000;border-radius:20px;padding:.5rem 1rem;font-size:.8rem}.status-option:has(input:checked){border-color:var(--status-color);font-weight:600}.status-option:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}:where(.schedule-container) .modal-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.btn-delete{background:var(--color-danger-subtle);color:var(--color-danger);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.btn-delete:hover{background:var(--color-danger-subtle)}:where(.schedule-container) .modal-actions{gap:.75rem;display:flex}.btn-cancel{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.75rem 1.5rem;font-size:.875rem}.btn-save{background:var(--primary);color:var(--color-text-on-accent);cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500}.btn-save:hover{background:var(--primary-dark)}.booking-link-modal{max-width:450px}.booking-link-box{background:var(--bg-input);border:1px solid var(--border);border-radius:6px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.75rem;display:flex}.booking-link-url{color:var(--text-primary);word-break:break-all;flex:1;font-size:.8rem}.copy-btn{background:var(--primary);color:var(--color-text-on-accent);cursor:pointer;border:none;border-radius:4px;align-items:center;gap:.25rem;padding:.5rem;font-size:.75rem;display:flex}.copy-btn.copied{background:var(--color-success)}.booking-info{background:var(--bg-main);color:var(--text-secondary);border-radius:6px;margin-top:1rem;padding:1rem;font-size:.875rem}@media (width<=768px){.schedule-header{flex-direction:column;align-items:stretch}.schedule-actions{justify-content:center}:where(.schedule-container) .form-row{grid-template-columns:1fr}.day-column{min-width:80px}.period-title{min-width:auto}}.portfolio-aide{margin:0 0 var(--space-4);max-width:72ch;color:var(--color-text-secondary);font-size:var(--text-sm)}.portfolio-description{margin:0 0 var(--space-2);color:var(--color-text-muted)}.portfolio-depot-bloc{gap:var(--space-2);width:100%;margin-bottom:var(--space-6);flex-direction:column;display:flex}.portfolio-depot{justify-content:center;align-items:center;gap:var(--space-1);width:100%;min-height:120px;padding:var(--space-6) var(--space-4);background:var(--color-surface);border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-text-secondary);font:inherit;text-align:center;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);flex-direction:column;display:flex}.portfolio-depot:hover,.portfolio-depot[data-survol]{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-text)}.portfolio-depot[data-survol]{border-style:solid}.portfolio-depot:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.portfolio-depot[aria-disabled=true]{cursor:progress;background:var(--color-surface-sunken);border-color:var(--color-border)}.portfolio-depot-icone{width:24px;height:24px;color:var(--color-accent-text)}.portfolio-depot-titre{font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--color-text)}.portfolio-depot-detail{font-size:var(--text-xs);color:var(--color-text-muted)}.portfolio-rappel{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-warning-subtle);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);margin:0;display:flex}.portfolio-rappel-icone{width:16px;height:16px;color:var(--color-warning);flex:none;margin-top:2px}.portfolio-depot-message{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.portfolio-depot-message:empty{display:none}.portfolio-depot-message[data-ton=erreur]{color:var(--color-danger)}.portfolio-section{margin-bottom:var(--space-6)}.portfolio-section-titre{margin:0 0 var(--space-3);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text)}.portfolio-section-titre span{font-weight:var(--weight-normal);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.portfolio-vide{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);align-items:center}.portfolio-vide ol{padding-left:var(--space-6);text-align:left;max-width:60ch;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0}.portfolio-vide li+li{margin-top:var(--space-2)}.portfolio-vide li strong{color:var(--color-text)}.portfolio-compte{font-variant-numeric:tabular-nums}.portfolio-liste{margin:0;padding:0;list-style:none}.cas-tableau-bloc{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.cas-tableau-barre{justify-content:flex-end;display:flex}.cas-colonnes{position:relative}.cas-colonnes .button svg{width:16px;height:16px}.cas-colonnes-compte{color:var(--color-text-muted);font-weight:var(--weight-normal)}.cas-colonnes-panneau{top:calc(100% + var(--space-1));z-index:20;gap:var(--space-2);min-width:15rem;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;position:absolute;right:0}.cas-colonnes-panneau fieldset{border:0;flex-direction:column;margin:0;padding:0;display:flex}.cas-colonnes-panneau legend{padding:0 0 var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.cas-colonnes-choix{align-items:center;gap:var(--space-2);min-height:var(--target-min);font-size:var(--text-base);color:var(--color-text);cursor:pointer;display:flex}.cas-colonnes-choix input{width:16px;height:16px;accent-color:var(--color-accent);margin:0}.cas-colonnes-choix input:disabled{cursor:not-allowed}.cas-tableau-cadre{min-width:0;position:relative}.cas-tableau-cadre:after{content:"";top:1px;right:calc(1px + var(--barre-verticale,0px));width:var(--space-8);background:linear-gradient(to right, transparent, var(--color-surface));pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-out);position:absolute;bottom:1px}.cas-tableau-cadre.a-suite:after{opacity:1}.cas-tableau-defilement{max-height:max(24rem, calc(100vh - var(--topbar-height) - 16rem));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overscroll-behavior-x:contain;position:relative;overflow:auto}.cas-tableau{border-collapse:separate;border-spacing:0;width:100%}.cas-tableau th,.cas-tableau td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);text-align:left;vertical-align:middle;white-space:nowrap;background:var(--color-surface)}.cas-tableau tbody tr:last-child>*{border-bottom:0}.cas-tableau thead th{z-index:2;background:var(--color-surface-sunken);color:var(--color-text-secondary);font-weight:var(--weight-medium);padding:0;position:sticky;top:0}.cas-tableau .sort-button{min-height:36px;padding:var(--space-2) var(--space-3);white-space:nowrap}.cas-tableau .sort-button:focus-visible{outline-offset:-2px}.cas-tableau .cas-col-patient{z-index:1;border-right:1px solid var(--color-border);min-width:12rem;max-width:18rem;font-weight:var(--weight-medium);position:sticky;left:0}.cas-tableau thead .cas-col-patient{z-index:3}.cas-ouvrir{text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-height:var(--target-min);display:block;overflow:hidden}.cas-ouvrir:focus-visible{outline-offset:2px}.cas-tableau tbody tr{cursor:pointer}.cas-tableau tbody tr:hover>*{background:var(--color-surface-hover)}.cas-tableau tbody tr:focus-within>*{background:var(--color-surface-selected)}.cas-vide{color:var(--color-text-muted)}.cas-col-date{font-variant-numeric:tabular-nums}.cas-date-rdv{align-items:center;gap:var(--space-2);display:inline-flex}.cas-date-rdv .is-soon{color:var(--color-warning);font-weight:var(--weight-medium)}.cas-tableau .cas-col-note{max-width:14rem}.cas-note{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary);display:block;overflow:hidden}.dent-tags{flex-wrap:nowrap;gap:2px;display:flex}.dent-tag{--dent:var(--color-text-secondary);--dent-bg:var(--color-neutral-subtle);min-width:2.25em;padding:0 var(--space-1);border:1px solid color-mix(in oklch, var(--dent) 30%, transparent);border-radius:var(--radius-sm);background:var(--dent-bg);color:var(--dent);font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:center;font-variant-numeric:tabular-nums;line-height:1.6;display:inline-block}.dent-q1{--dent:var(--color-dent-q1);--dent-bg:var(--color-dent-q1-subtle)}.dent-q2{--dent:var(--color-dent-q2);--dent-bg:var(--color-dent-q2-subtle)}.dent-q3{--dent:var(--color-dent-q3);--dent-bg:var(--color-dent-q3-subtle)}.dent-q4{--dent:var(--color-dent-q4);--dent-bg:var(--color-dent-q4-subtle)}.dent-tag-reste{background:0 0}.step-feu-vert{gap:var(--space-2);flex-direction:column;flex:280px;min-width:0;display:flex}.step-feu-vert .step-check input[aria-disabled=true]{cursor:not-allowed;accent-color:var(--color-text-muted)}.step-feu-vert-verrou{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.step-feu-vert-verrou p{margin:0}.step-responsable{white-space:nowrap;margin-left:auto}.step-responsable-a-assigner{color:var(--color-warning);border-style:dashed}.cas-relais{align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.cas-relais-jours{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.cas-relais-erreur{align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.cas-relais-erreur p{flex:320px;margin:0}.cas-vues{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;margin-right:auto;display:flex}.cas-vues .control{max-width:280px}.feu-vert-document{gap:var(--space-3);flex-direction:column;flex-basis:100%;min-width:0;display:flex}.feu-vert-document .paper{overflow-x:auto}.lettre-feu-vert .vi-implants{table-layout:fixed;font-size:8pt}.lettre-feu-vert .vi-implants th{font-size:7.5pt}.lettre-feu-vert .vi-implants th:first-child{width:9%}.feu-vert-note{white-space:pre-wrap;font-size:var(--text-sm)}.recherche-acte{margin:var(--space-2) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;font-weight:var(--weight-normal)}.recherche-acte-entete{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.recherche-acte-entete h4{font-size:var(--text-base);font-weight:var(--weight-semibold);margin:0}.recherche-acte-champs{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=640px){.recherche-acte-champs{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.recherche-acte-groupe h5{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.recherche-acte-liste{gap:2px;max-height:320px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.recherche-acte-choix{align-items:center;gap:var(--space-3);width:100%;min-height:var(--target-min);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto auto;display:grid}.recherche-acte-choix:hover:not(:disabled){background:var(--color-surface-sunken);border-color:var(--color-border)}.recherche-acte-choix:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.recherche-acte-code,.recherche-acte-prix{font-variant-numeric:tabular-nums;white-space:nowrap}.recherche-acte-code{color:var(--color-text-secondary)}.recherche-acte-prix{text-align:right}.recherche-acte-prix small{color:var(--color-text-secondary);font-size:var(--text-xs);display:block}.plan-table tr.plan-ajout td{padding-top:var(--space-1);padding-bottom:var(--space-2);text-align:left}.plan-ajout-bas{margin-top:var(--space-3)}.plan-ajout-phases{justify-content:center;gap:var(--space-2);flex-wrap:wrap}.plan-ligne-alerte{align-items:flex-start;gap:var(--space-1);margin:2px 0 var(--space-1) var(--space-2);color:var(--color-warning);font-size:var(--text-xs);display:flex}.plan-ligne-alerte svg{flex:none;width:14px;height:14px;margin-top:1px}.plan-surfaces{margin-top:var(--space-1);border:0;flex-wrap:wrap;gap:2px;padding:0;display:flex}.plan-surfaces legend{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.plan-surface{display:inline-flex;position:relative}.plan-surface input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.plan-surface span{min-width:32px;min-height:28px;padding:0 var(--space-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);justify-content:center;align-items:center;display:inline-flex}.plan-surface input:checked+span{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-on-accent);font-weight:var(--weight-semibold)}.plan-surface input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:1px}@media (pointer:coarse){.plan-surface span{min-width:var(--target-min);min-height:var(--target-min)}}.ancre-focus:focus{outline:none}.ancre-focus:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px;border-radius:var(--radius-md)}.plan-raisons{margin:0}.plan-raisons ul{margin:var(--space-1) 0 0;padding-left:var(--space-5)}.notice-danger{background:var(--color-danger-subtle);border-color:var(--color-danger);color:var(--color-text)}.notice-danger strong{color:var(--color-danger)}.plan-quantite{align-items:center;gap:var(--space-1);margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-secondary);display:flex}.plan-quantite .control-cell{flex:none;width:5.5rem}.plan-quantite-lecture{font-size:var(--text-xs);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;display:block}.lettre{color:#111;font-family:Arial,Helvetica,sans-serif;font-size:11pt;line-height:1.45}.lettre h1{letter-spacing:.3px;margin:0 0 2px;font-size:17pt}.lettre h2{border-bottom:1px solid #999;margin:22px 0 6px;padding-bottom:3px;font-size:13pt}.lettre h3{margin:16px 0 6px;font-size:11.5pt}.lettre .phase-sans-acte{color:#555;margin:16px 0 6px}.lettre .phase-sans-acte strong{color:#111}.lettre .entete{border-bottom:2px solid #111;justify-content:space-between;gap:16px;padding-bottom:10px;display:flex}.lettre .entete-droite{text-align:right}.lettre .entete small,.lettre .muted{color:#555}.lettre .mention-taxes{font-size:10pt}.lettre table{border-collapse:collapse;width:100%;margin:4px 0 8px;font-size:10.5pt}.lettre th,.lettre td{text-align:left;vertical-align:top;border:1px solid #bbb;padding:5px 7px}.lettre th{background:#eee;font-weight:700}.lettre td.num,.lettre th.num{text-align:right;white-space:nowrap}.lettre tfoot td{background:#f6f6f6;font-weight:700}.lettre tr.opt td{color:#666;font-style:italic}.lettre .total td{background:#eee;font-size:12.5pt;font-weight:700}.lettre .grid{grid-template-columns:1fr 1fr;gap:4px 24px;display:grid}.lettre .notes li{margin-bottom:3px}.lettre .sign{grid-template-columns:1fr 1fr;gap:28px;margin-top:26px;display:grid}.lettre .sign div{border-top:1px solid #111;padding-top:4px;font-size:10pt}.lettre .sign-image{max-width:100%;max-height:70px;margin-bottom:4px;display:block}.lettre tr.report td{font-style:italic}.lettre .plan-option.is-non-retenue{color:#666}.lettre .option-choix{flex-wrap:wrap;gap:6px 24px;margin-top:12px;display:flex}.lettre .case-option{align-items:center;gap:6px;display:inline-flex}.lettre .case-vide{border:1px solid #111;width:11px;height:11px;display:inline-block}.lettre .pied{color:#555;text-align:center;border-top:1px solid #ccc;margin-top:28px;padding-top:6px;font-size:9.5pt}.lettre-patient{--lettre-titre:#1f4e79;--lettre-entete-tableau:#d9e2f3;--lettre-filet:#8c8c8c;--lettre-discret:#595959;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:11pt;line-height:1.4}.lettre-patient p{margin:0 0 9px}.lettre-patient .lp-entete{margin-bottom:18px}.lettre-patient .lp-clinique{color:var(--lettre-titre);margin:0;font-size:15pt;font-weight:700}.lettre-patient .lp-ligne-entete{margin:2px 0 0;font-style:italic}.lettre-patient .lp-date,.lettre-patient .lp-destinataire{margin-bottom:16px}.lettre-patient .lp-gras{font-weight:700}.lettre-patient .lp-objet{margin-bottom:16px}.lettre-patient h2{color:var(--lettre-titre);break-after:avoid;border:0;margin:18px 0 8px;padding:0;font-size:12.5pt;font-weight:700}.lettre-patient h3{break-after:avoid;margin:12px 0 6px;font-size:11pt;font-weight:700}.lettre-patient ul,.lettre-patient ol{margin:0 0 9px;padding-left:22px}.lettre-patient li{margin-bottom:4px}.lettre-patient table{border-collapse:collapse;break-inside:auto;width:100%;margin:4px 0 10px;font-size:10pt}.lettre-patient tr{break-inside:avoid}.lettre-patient th,.lettre-patient td{border:.5pt solid var(--lettre-filet);text-align:left;vertical-align:top;padding:4px 6px}.lettre-patient th{background:var(--lettre-entete-tableau);font-weight:700}.lettre-patient td.num,.lettre-patient th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.lettre-patient td.num-texte{font-variant-numeric:tabular-nums}.lettre-patient tfoot td{background:0 0;font-weight:700}.lettre-patient .lp-recap{width:70%}.lettre-patient .lp-actes{table-layout:fixed}.lettre-patient .lp-actes th:nth-child(2){width:17%}.lettre-patient .lp-actes th:nth-child(3){width:12%}.lettre-patient .lp-actes th:nth-child(4){width:14%}.lettre-patient .lp-actes-etape th:nth-child(2){width:18%}.lettre-patient .lp-actes-etape th:nth-child(3){width:13%}.lettre-patient .lp-actes-etape th:nth-child(4){width:11%}.lettre-patient .lp-actes-etape th:nth-child(5){width:13%}.lettre-patient .lp-report td{font-style:italic}.lettre-patient .lp-dossier{margin:6px 0 14px}.lettre-patient .lp-dossier th{background:#f2f2f2;width:30%;font-weight:700}.lettre-patient .lp-etapes{table-layout:fixed}.lettre-patient .lp-etapes th:first-child{width:6%}.lettre-patient .lp-etapes th:last-child{width:30%}.lettre-patient .lp-etapes th:first-child,.lettre-patient .lp-etapes td:first-child{text-align:center;font-variant-numeric:tabular-nums}.lettre-patient .lp-signature{break-inside:avoid;break-before:avoid;margin-top:22px}.lettre-patient .lp-signature-image{object-fit:contain;object-position:left;max-width:70mm;height:18mm;margin-bottom:4px;display:block}@media (width<=480px){.lettre-patient .lp-recap{width:100%}}.lettre-viau,.plan-viau{--vi-gris:#595959}.lettre-viau .vi-entete,.plan-viau .vi-entete{border-bottom:.75pt solid #000;margin-bottom:16px;padding-bottom:8px}.lettre-viau .vi-entete p,.plan-viau .vi-entete p{margin:0}.vi-cabinet{color:var(--lettre-titre);font-size:15pt;font-weight:700}.vi-specialite{font-style:italic}.vi-coordonnees{color:var(--vi-gris);font-size:8.5pt}.lettre-viau .vi-date{text-align:right;margin-bottom:18px}.lettre-viau .vi-destinataire{margin-bottom:16px}.lettre-viau .vi-objet{margin-bottom:14px}.lettre-viau .vi-corps ol{counter-reset:etape;padding-left:0;list-style:none}.lettre-viau .vi-corps ol>li{counter-increment:etape;margin-bottom:6px;padding-left:22px;position:relative}.lettre-viau .vi-corps ol>li:before{content:counter(etape);font-variant-numeric:tabular-nums;position:absolute;left:0}.lettre-viau .vi-signature{margin-top:34px}.lettre-viau .vi-pj{color:var(--vi-gris);font-size:9pt;font-style:italic}.vi-pied{color:var(--vi-gris);text-align:center;margin-top:28px;font-size:8pt;font-style:italic}.plan-viau .vi-titre{color:#000;margin:4px 0;font-size:18pt;font-weight:700}.plan-viau .vi-ligne-infos{margin-bottom:12px}.plan-viau h3{margin:12px 0 4px}.plan-viau .vi-infos{width:100%}.plan-viau .vi-infos th{background:#f2f2f2;width:26%}.vi-a-completer{border-bottom:.75pt solid #000;min-width:46mm;display:inline-block}.vi-actes{table-layout:fixed}.vi-actes th:last-child{width:16%}.vi-actes th:nth-last-child(2){width:13%}.vi-actes th:nth-last-child(3){width:12%}.vi-actes-num th:first-child{width:6%}.vi-actes .vi-sous-total td,.vi-recap .vi-total td{font-weight:700}.vi-recap .vi-total td{background:var(--lettre-entete-tableau)}.vi-actes tr.vi-hors-total td{color:var(--vi-gris);font-style:italic}.vi-actes .vi-detail{color:var(--vi-gris);font-size:.86em;font-style:normal}.vi-note-phase{color:var(--vi-gris);margin:2px 0 10px 18px;font-style:italic}.vi-taxes{color:var(--vi-gris);font-style:italic}.plan-viau .vi-notes li{margin-bottom:5px}.plan-viau .vi-non-retenue{color:var(--vi-gris)}.plan-viau .vi-signatures th:first-child{width:36%}.plan-viau .vi-signatures td{height:30px}.plan-viau .vi-signatures .lp-signature-image{height:14mm}.plan-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.plan-versions{font-size:var(--text-sm)}.plan-versions>summary{cursor:pointer;font-weight:var(--weight-semibold);align-items:center;min-height:44px;display:flex}.plan-versions>summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.plan-versions-liste{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.plan-versions-liste li{gap:var(--space-1);padding-left:var(--space-3);border-left:2px solid var(--color-border);display:grid}.plan-versions-liste li.is-en-cours{border-left-color:var(--color-warning)}.plan-versions-tete{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.plan-versions-chiffres{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.plan-versions-modes{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.plan-versions-champs{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.bloc-cellule{align-items:flex-start;gap:2px;display:flex}.bloc-contenu{flex:1;min-width:0}.bloc-gouttiere{flex:none;align-items:center;display:inline-flex}.bloc-outil{border-radius:var(--radius-sm);width:24px;min-height:32px;color:var(--color-text-secondary);cursor:pointer;opacity:0;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.bloc-outil svg{width:16px;height:16px}.bloc-poignee{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.bloc-poignee:active{cursor:grabbing}.bloc-outil:hover{background:var(--color-surface-hover);color:var(--color-text)}.bloc-outil:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.bloc-rangee:hover .bloc-outil,.bloc-rangee:focus-within .bloc-outil,.bloc-outil:focus-visible,.bloc-outil[aria-expanded=true],.bloc-outil-visible{opacity:1}.bloc-outil:disabled,.bloc-outil[aria-disabled=true]{cursor:not-allowed;color:var(--color-text-muted)}@media (prefers-reduced-motion:no-preference){.bloc-outil{transition:opacity var(--duration-fast) var(--ease-out)}}@media (hover:none),(pointer:coarse){.bloc-outil{opacity:1;width:var(--target-min);min-height:var(--target-min)}}.plan-table tr.bloc-depot-avant>td,.plan-table tr.bloc-depot-avant>th{box-shadow:inset 0 2px 0 var(--color-accent)}.plan-table tr.bloc-depot-apres>td,.plan-table tr.bloc-depot-apres>th{box-shadow:inset 0 -2px 0 var(--color-accent)}.bloc-depot-avant.step,.bloc-depot-avant.phase-ajout-etape{box-shadow:inset 0 2px 0 var(--color-accent)}.bloc-depot-apres.step,.bloc-depot-apres.phase-ajout-etape{box-shadow:inset 0 -2px 0 var(--color-accent)}.menu-bouton-panneau.bloc-menu{max-height:70vh;font-weight:var(--weight-normal);text-align:left;position:fixed;top:0;left:0;overflow-y:auto}.bloc-menu-titre{padding:var(--space-2) var(--space-4) var(--space-1);border-top:1px solid var(--color-border);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-secondary);display:block}.menu-bouton-item.bloc-menu-danger:not(:disabled){color:var(--color-danger)}.bloc-menu-actions{display:inline-flex}.plan-phase-entete{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.plan-phase-titre{min-width:14rem;font-weight:var(--weight-semibold)}.bloc-annuler{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.bloc-annuler p{margin:0}.step-check-edition{cursor:default;align-items:center}.step-check input.control-cell{accent-color:auto;cursor:text;flex:1;width:auto;height:auto;margin-top:0}.phase-ajout-etape{padding-block:var(--space-1)}.plan-protocole-replie{margin-block:var(--space-2)}.plan-protocole-replie>summary{cursor:pointer;width:fit-content;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm)}.plan-protocole-replie>summary:hover{color:var(--color-text)}.plan-protocole-replie>summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.plan-protocole-replie[open]>summary{margin-bottom:var(--space-2)}.q-formulaire{gap:var(--space-4);flex-direction:column;display:flex}.q-formulaire .form-section+.form-section{margin-top:0}.q-grille{gap:0}.q-grille>.field-hint{margin:0 0 var(--space-2)}.q-ligne{padding:var(--space-3) 0;border-top:1px solid var(--color-border)}.q-ligne-titre{margin:0 0 var(--space-2);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text)}.q-colonnes{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.q-radios{flex-direction:column;display:flex}.q-formulaire .choice-group{flex-wrap:wrap}.q-resume{margin:0}.q-resume-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.q-lien{gap:var(--space-3);flex-direction:column;display:flex}.q-lien-url{font-family:var(--font-mono,monospace);font-size:var(--text-sm);word-break:break-all}.q-qr{width:180px;height:180px;image-rendering:pixelated;border-radius:var(--radius-md);background:oklch(99.5% .002 215)}.q-detail-section+.q-detail-section{margin-top:var(--space-4)}.q-detail-titre{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent-text)}.q-saisie-pied{gap:var(--space-3);flex-direction:column;display:flex}.consultation-progression{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:grid}.consultation-progression-entete{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.consultation-progression-chiffres{color:var(--color-text-secondary);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.consultation-progression-barre{border-radius:var(--radius-full);background:var(--color-surface-sunken);outline:1px solid #0000;block-size:.5rem;display:block;overflow:hidden}.consultation-progression-rempli{border-radius:inherit;background:var(--color-info);block-size:100%;display:block}@media (prefers-reduced-motion:no-preference){.consultation-progression-rempli{transition:inline-size var(--duration-normal) var(--ease-out)}}.consultation-progression-etapes{gap:var(--space-1) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.consultation-progression-etapes li{align-items:center;gap:var(--space-1);display:inline-flex}.consultation-progression-etapes svg{block-size:1em;inline-size:1em}.consultation-progression-etapes .est-faite{color:var(--color-text-secondary)}.consultation-progression-etapes .est-courante{color:var(--color-text);font-weight:var(--weight-semibold)}.consultation-progression-note{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.consultation-page{gap:var(--space-5);flex-direction:column;display:flex}.consultation-etat{align-items:center;gap:var(--space-2);display:flex}.consultation-meta{color:var(--color-text-muted);font-size:var(--text-sm)}.consultation-alerte{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);border-left-width:4px;margin:0}.consultation-alerte-warning{background:var(--color-warning-subtle);border-color:var(--color-warning)}.consultation-alerte-info{background:var(--color-info-subtle);border-color:var(--color-info)}.consultation-alerte-danger{background:var(--color-danger-subtle);border-color:var(--color-danger)}.consultation-suivi{gap:var(--space-2);display:grid}.consultation-suivi-erreur{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.consultation-suivi-erreur>p{flex:16rem;margin:0}.consultation-discipline{align-items:flex-start;gap:var(--space-3);display:flex}.consultation-discipline>p{flex:auto;align-self:center;margin:0}.consultation-discipline-icone{width:20px;height:20px;color:var(--color-info);flex-shrink:0;margin-top:2px}.consultation-discipline-texte{gap:var(--space-2);flex-direction:column;flex:auto;min-width:0;display:flex}.consultation-discipline-texte p{margin:0}.consultation-discipline-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=767px){.consultation-discipline .button{min-height:44px}}.consultation-entree{gap:var(--space-4);flex-direction:column;display:flex}.consultation-patient-choisi{gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken);grid-template-columns:1fr auto;align-items:start;display:grid}.consultation-patient-choisi>:nth-child(n+3){grid-column:1/-1}.consultation-alertes{gap:var(--space-1) var(--space-3);font-size:var(--text-sm);grid-template-columns:max-content 1fr;margin:0;display:grid}.consultation-alertes dt{font-weight:var(--weight-semibold);color:var(--color-warning)}.consultation-alertes dd{margin:0}.consultation-resultats{margin:var(--space-2) 0 0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:0;list-style:none}.consultation-resultats li+li{border-top:1px solid var(--color-border)}.consultation-resultats button{gap:var(--space-1) var(--space-3);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;display:flex}.consultation-resultats button:hover{background:var(--color-surface-hover)}.consultation-aucun{align-items:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.consultation-aucun p{margin:0}.consultation-brouillons{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md)}.consultation-brouillons h3{align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);font-size:var(--text-sm);font-weight:600;display:flex}.consultation-brouillons h3 svg{width:1em;height:1em}.consultation-brouillons>p{margin:0 0 var(--space-2)}.consultation-brouillons ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.consultation-brouillons li{gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-sunken);grid-template-columns:1fr auto;align-items:center;display:grid}.consultation-brouillon-entete{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.consultation-brouillon-texte{font-size:var(--text-sm);color:var(--color-text-muted);grid-column:1;margin:0}.consultation-brouillons li>button{grid-area:1/2/span 2}.consultation-choix{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.consultation-dictee{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.consultation-texte{resize:vertical;width:100%;min-height:180px;line-height:var(--leading-normal)}.consultation-texte[readonly]{background:var(--color-surface-sunken);color:var(--color-text);cursor:default}.consultation-copie,.consultation-boutons{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.consultation-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.consultation-questions{gap:var(--space-4);flex-direction:column;display:flex}.consultation-liste-questions{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.consultation-question .choice-group{flex-wrap:wrap}.consultation-montant{align-items:center;gap:var(--space-2);max-width:200px;display:flex}.consultation-entete{gap:var(--space-1) var(--space-4);margin:0 0 var(--space-4);grid-template-columns:max-content 1fr;display:grid}.consultation-entete dt{color:var(--color-text-muted)}.consultation-entete dd{margin:0}.consultation-alertes-cas,.consultation-hors-total{margin:var(--space-4) 0}.consultation-alertes-cas h4,.consultation-hors-total h4,.consultation-suivi h4,.consultation-lettre h4{margin:0 0 var(--space-2);font-size:var(--text-base);font-weight:var(--weight-semibold)}.consultation-alertes-cas ul,.consultation-hors-total ul,.consultation-notes{padding-left:var(--space-5);margin:0}.consultation-plan{margin-top:var(--space-4)}.plan-table.consultation-plan th,.plan-table.consultation-plan td{text-align:left;width:auto}.plan-table.consultation-plan thead th:first-child{width:3ch}.plan-table.consultation-plan thead th:nth-child(3){width:90px}.plan-table.consultation-plan thead th:nth-child(4){width:80px}.plan-table.consultation-plan thead th:nth-child(5){width:100px}.plan-table.consultation-plan thead th:nth-child(6){width:48px}.plan-table.consultation-plan .consultation-prix{text-align:right;white-space:nowrap}.consultation-conditionnelle td{color:var(--color-text-muted);font-style:italic}.consultation-ligne-editee td{vertical-align:top}.consultation-edition{gap:var(--space-2);grid-template-columns:2fr 1fr 1fr;display:grid}.consultation-edition-actions{gap:var(--space-1);flex-direction:column;display:flex}.consultation-recap{margin:var(--space-3) 0 0}.consultation-notes{margin-top:var(--space-3);color:var(--color-text-secondary);font-size:var(--text-sm)}.consultation-lettre{max-width:70ch;line-height:var(--leading-normal)}.consultation-lettre p{margin:0 0 var(--space-3)}.consultation-courriel{white-space:pre-wrap;max-width:70ch;margin:0}.consultation-suivi+.consultation-suivi{margin-top:var(--space-4)}.consultation-suivi ol{padding-left:var(--space-6);margin:0}.consultation-suivi li{padding:var(--space-1) 0}.consultation-barre{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);padding-right:max(var(--space-4), var(--assistant-aide-reserve,0px));border-top:1px solid var(--color-border);background:var(--color-bg);flex-wrap:wrap;display:flex;position:sticky;bottom:0}@media (width<=767px){.consultation-edition{grid-template-columns:1fr}.consultation-barre .button{min-height:44px}.consultation-alertes,.consultation-entete{grid-template-columns:1fr}.consultation-alertes dd,.consultation-entete dd{margin-bottom:var(--space-2)}}.consultation-documents-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.consultation-documents-details summary{cursor:pointer;min-height:var(--target-min);align-items:center;display:flex}.consultation-pieces{gap:var(--space-1) var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.consultation-a-completer{gap:var(--space-1) var(--space-2);flex-wrap:wrap;align-items:baseline;display:flex}.consultation-origine{margin:0}.plan-verification-liste{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-verification-point{gap:var(--space-2);align-items:flex-start;display:flex}.plan-verification-point p{margin:var(--space-1) 0 0}.plan-verification-icone{flex:none;width:20px;height:20px;margin-top:1px}.plan-verification-point.is-ok .plan-verification-icone{color:var(--color-success)}.plan-verification-point.is-ecart .plan-verification-icone{color:var(--color-danger)}.plan-verification-point.is-a_confirmer .plan-verification-icone{color:var(--color-warning)}.plan-verification-libelle{font-weight:var(--weight-semibold)}.consultation-capture{margin-top:var(--space-2)}.capture-zone{align-items:center;gap:var(--space-3);padding:var(--space-5);border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-hover);text-align:center;flex-direction:column;display:flex}.capture-zone-pleine{border-style:solid}.capture-apercu{border-radius:var(--radius-sm);border:1px solid var(--color-border);max-width:100%;max-height:320px}.capture-entete{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.capture-grille{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.capture-grille .capture-large{grid-column:1/-1}.capture-douteux .control{border-color:var(--color-warning);background:var(--color-warning-subtle)}.capture-douteux .field-hint{color:var(--color-warning-text,inherit)}@media (width<=640px){.capture-grille{grid-template-columns:1fr}}.nouveau-plan-notes{gap:var(--space-3);flex-direction:column;display:flex}.nouveau-plan-notes-tete{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.nouveau-plan-liste{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.nouveau-plan-note{align-items:flex-start;gap:var(--space-1);width:100%;min-height:var(--target-min);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--duration-fast) ease, background-color var(--duration-fast) ease;flex-direction:column;display:flex}.nouveau-plan-note:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.nouveau-plan-note:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.nouveau-plan-note time{font-variant-numeric:tabular-nums}.nouveau-plan-apercu{font-size:var(--text-sm);color:var(--color-text-secondary)}@media (prefers-reduced-motion:reduce){.nouveau-plan-note{transition:none}}.clinic-fees-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.clinic-fees-head .control{width:auto;min-width:14rem}.clinic-fees-count{font-size:var(--text-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.clinic-fees-layout{gap:var(--space-6);grid-template-columns:minmax(14rem,17rem) minmax(0,1fr);align-items:start;display:grid}.clinic-fees-filters{gap:var(--space-4);top:var(--space-4);flex-direction:column;display:flex;position:sticky}.clinic-fees-checks{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.clinic-fees-status{min-height:1.5em;font-size:var(--text-sm)}.page.clinic-fees{max-width:none}.clinic-fees-main{container:grille-honoraires/inline-size}.clinic-fees-total{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary)}.clinic-fees-table th.num,.clinic-fees-table td.num{text-align:right;white-space:nowrap}.clinic-fees-table td,.clinic-fees-table th[scope=row]{vertical-align:top}.fee-code{font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--color-text);font-size:var(--text-base);background:0 0}.fee-label{gap:var(--space-1);flex-direction:column;min-width:16rem;display:flex}.fee-label-en{font-size:var(--text-sm);color:var(--color-text-muted)}.fee-notes{font-size:var(--text-sm);color:var(--color-text-secondary);font-style:italic}.fee-acdq{white-space:nowrap}.fee-acdq .badge-row{margin-left:var(--space-2)}.fee-acdq abbr{cursor:help;text-decoration:none}.fee-cell-button{min-width:4.5rem;min-height:32px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:right;cursor:pointer;background:0 0;border:1px dashed #0000}.fee-cell-button:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.fee-cell-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.fee-herite{color:var(--color-text-muted)}.clinic-fees-table td.num .status-badge{width:max-content;margin:var(--space-1) 0 0 auto;display:flex}.fee-edit{flex-direction:column;align-items:flex-end;display:inline-flex}.fee-input{text-align:right;font-variant-numeric:tabular-nums;width:7rem}.fee-total{font-weight:var(--weight-medium)}.fee-actions{align-items:flex-start;gap:var(--space-1);white-space:nowrap;flex-direction:column;display:flex}.status-ecart-fort{--tone:color-mix(in oklch, var(--color-warning), var(--color-danger));--tone-bg:color-mix(in oklch, var(--color-warning-subtle), var(--color-danger-subtle))}.fee-gap,.fee-status{cursor:help;display:inline-flex}.clinic-fees-table td.num .fee-gap{width:max-content;margin:var(--space-1) 0 0 auto;display:flex}.clinic-fees-table td.num .fee-gap .status-badge{margin:0}.fee-status-cell{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.fee-history-button{border-radius:var(--radius-sm);min-width:32px;min-height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.fee-history-button svg{width:16px;height:16px}.fee-history-button:hover{background:var(--color-surface-hover);color:var(--color-text)}.fee-history-button[aria-expanded=true]{background:var(--color-surface-selected);color:var(--color-text)}.fee-history-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.fee-confirm{gap:var(--space-1);flex-direction:column;min-width:12rem;display:flex}.fee-confirm-actions{gap:var(--space-2);display:flex}.fee-history-row>td{background:var(--color-surface-sunken);padding:var(--space-3) var(--space-4)}.fee-history-table{border-collapse:collapse;width:auto;font-size:var(--text-sm)}.fee-history-table th,.fee-history-table td{padding:var(--space-1) var(--space-3);text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border)}.fee-history-table th.num,.fee-history-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fee-history-table .num-date{white-space:nowrap;font-variant-numeric:tabular-nums}.fee-l2-row{display:none}.fee-l2{gap:var(--space-2) var(--space-6);flex-wrap:wrap;margin:0;padding-left:5rem;display:flex}.fee-l2-item{flex-direction:column;gap:2px;min-width:5rem;display:flex}.fee-l2-item dt{font-size:var(--text-xs);color:var(--color-text-muted)}.fee-l2-item dd{font-variant-numeric:tabular-nums;margin:0}.fee-l2-item .fee-cell-button{text-align:left}.fee-l2-row .fee-actions{margin-top:var(--space-2);flex-flow:wrap;padding-left:5rem}@container grille-honoraires (width<=85rem){.clinic-fees-table .col-l2{display:none}.clinic-fees-table .fee-l2-row{display:table-row}.clinic-fees-table tr:has(+.fee-l2-row)>*{padding-bottom:var(--space-1);border-bottom:0}.clinic-fees-table .fee-l2-row>td{padding-top:0}.clinic-fees-table .col-label .fee-label{min-width:10rem}.clinic-fees-table .fee-acdq{white-space:normal}}@media (width<=960px){.clinic-fees-layout{grid-template-columns:minmax(0,1fr)}.clinic-fees-filters{position:static}}@media (pointer:coarse){.fee-cell-button,.fee-history-button{min-width:44px;min-height:44px}}.ss-container{background:var(--bg-main);min-height:100%;padding:1.5rem}.ss-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.ss-back-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:.5rem;display:flex}.ss-back-btn:hover{background:var(--bg-hover)}.ss-title{color:var(--text-primary);font-size:1.5rem;font-weight:600}.ss-tabs{border-bottom:1px solid var(--border);gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.ss-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px 6px 0 0;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500}.ss-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.ss-tab.active{color:var(--primary);background:var(--bg-card);border-bottom:2px solid var(--primary)}.ss-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.ss-card-title{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;font-weight:600;display:flex}.ss-card-desc{color:var(--text-muted);margin-bottom:1rem;font-size:.875rem}.ss-day-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:1rem;padding:1rem 0;display:flex}.ss-day-row:last-child{border-bottom:none}.ss-day-toggle{align-items:center;gap:.75rem;min-width:140px;display:flex}.ss-day-name{color:var(--text-primary);font-size:.9rem;font-weight:500}.ss-slots{flex-direction:column;flex:1;gap:.5rem;display:flex}.ss-slot{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ss-time-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;width:100px;padding:.5rem;font-size:.875rem}.ss-time-input:focus{border-color:var(--primary);outline:none}.ss-slot-sep{color:var(--text-muted)}.ss-slot-remove{background:var(--color-danger-subtle);color:var(--color-danger);cursor:pointer;border:none;border-radius:4px;padding:.4rem;display:flex}.ss-slot-remove:hover{background:var(--color-danger-subtle)}.ss-add-slot{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:.25rem;width:fit-content;padding:.4rem .75rem;font-size:.8rem;display:flex}.ss-add-slot:hover{background:var(--bg-hover)}.ss-disabled-msg{color:var(--text-muted);font-size:.85rem;font-style:italic}.ss-form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.ss-form-group{margin-bottom:1rem}.ss-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.ss-input,.ss-select{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:6px;padding:.75rem;font-size:.875rem}.ss-input:focus,.ss-select:focus{border-color:var(--primary);outline:none}.ss-textarea{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text-primary);resize:vertical;border-radius:6px;min-height:80px;padding:.75rem;font-size:.875rem}.ss-checkbox-group{flex-wrap:wrap;gap:.75rem;display:flex}.ss-checkbox{background:var(--bg-input);border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;display:flex}.ss-checkbox.checked{background:var(--color-accent-subtle);border-color:var(--primary);color:var(--text-primary)}.ss-checkbox input{display:none}.ss-checkbox-mark{border:2px solid var(--border);border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.ss-checkbox.checked .ss-checkbox-mark{background:var(--primary);border-color:var(--primary)}.ss-blocked-input{gap:.5rem;margin-bottom:1rem;display:flex}.ss-blocked-list{flex-wrap:wrap;gap:.5rem;display:flex}.ss-blocked-date{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.ss-blocked-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;display:flex}.ss-blocked-remove:hover{color:var(--color-danger)}.ss-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:1rem;padding-top:1rem;display:flex}.ss-btn-secondary{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:.75rem 1.5rem}.ss-btn-primary{background:var(--primary);color:var(--color-text-on-accent);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;display:flex}.ss-btn-primary:hover{background:var(--primary-dark)}.ss-btn-primary:disabled{opacity:.7;cursor:not-allowed}.ss-btn-primary.saved{background:var(--color-success)}.ss-info-box{background:var(--color-info-subtle);border:1px solid var(--color-info);border-radius:8px;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.ss-info-box svg{color:var(--color-info);flex-shrink:0}.ss-info-text{color:var(--text-secondary);font-size:.85rem}@media (width<=768px){.ss-day-row{flex-direction:column}.ss-day-toggle{min-width:auto;margin-bottom:.5rem}.ss-form-row{grid-template-columns:1fr}}.ma-paie{gap:var(--space-4);flex-direction:column;display:flex}.ma-paie-choix{align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.ma-paie-choix .field{min-width:14rem;margin:0}.ma-paie-mois{align-items:center;gap:var(--space-1);min-height:var(--target-min);display:flex}.ma-paie-mois .button{min-width:var(--target-min);min-height:var(--target-min)}.ma-paie-mois-libelle{text-align:center;min-width:10rem;font-weight:var(--weight-medium)}.ma-paie-totaux{gap:var(--space-6);flex-wrap:wrap;margin:0;display:flex}.ma-paie-totaux dt{font-size:var(--text-sm);color:var(--color-text-secondary)}.ma-paie-totaux dd{margin:var(--space-1) 0 0;font-size:var(--text-xl);font-weight:var(--weight-semibold)}.ma-paie-table th[scope=row]{font-weight:var(--weight-normal);color:var(--color-text);font-size:var(--text-base);background:0 0}.ma-paie-table tfoot th,.ma-paie-table tfoot td{font-weight:var(--weight-semibold);border-bottom:none}.ma-paie-nombre{text-align:right;white-space:nowrap}th.ma-paie-nombre{text-align:right}.ma-paie-motif{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary);display:block}.ma-paie-erreur{background:var(--color-danger-subtle);border-color:var(--color-danger);color:var(--color-text)}.ma-paie-erreur strong{color:var(--color-danger)}.ma-paie .notice p:last-child{margin-bottom:0}.couts-ia{gap:var(--space-5);flex-direction:column;display:flex}.couts-notes p{margin:0 0 var(--space-1)}.couts-filtres{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.couts-filtres .field{flex:0 200px;margin:0}.couts-cartes{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:0;display:grid}.couts-carte{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.couts-carte dt{font-size:var(--text-sm);color:var(--color-text-secondary)}.couts-carte dd{margin:var(--space-1) 0 0}.couts-carte-valeur{font-size:var(--text-xl);font-variant-numeric:tabular-nums;color:var(--color-text);font-weight:600;display:block}.couts-carte-detail{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);display:block}.couts-carte .status-badge{margin-top:var(--space-2)}.couts-graphique{margin:0}.couts-legende{gap:var(--space-4);margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;padding:0;list-style:none;display:flex}.couts-legende li,.couts-infobulle>span{align-items:center;gap:var(--space-2);display:inline-flex}.couts-legende-trait{border-radius:2px;width:14px;height:3px;display:inline-block}.couts-graphique-zone{position:relative}.couts-graphique-zone svg{width:100%;height:auto;display:block;overflow:visible}.couts-grille{stroke:var(--color-border);stroke-width:1px}.couts-axe{fill:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:11px}.couts-reticule{stroke:var(--color-border-strong);stroke-width:1px;stroke-dasharray:3 3}.couts-ligne{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.couts-point{stroke:var(--color-surface);stroke-width:2px}.couts-serie-reel{stroke:var(--color-cat-1);fill:var(--color-cat-1);background:var(--color-cat-1)}.couts-serie-estime{stroke:var(--color-cat-2);fill:var(--color-cat-2);background:var(--color-cat-2)}.couts-ligne.couts-serie-reel,.couts-ligne.couts-serie-estime{fill:none}.couts-ligne.couts-serie-estime{stroke-dasharray:6 4}.couts-legende-trait.couts-serie-estime{background:repeating-linear-gradient(90deg, var(--color-cat-2) 0 5px, transparent 5px 8px)}.couts-infobulle{top:var(--space-2);gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-raised);font-size:var(--text-sm);white-space:nowrap;pointer-events:none;flex-direction:column;display:flex;position:absolute}.couts-donnees{margin-top:var(--space-3)}.couts-donnees summary{cursor:pointer;font-size:var(--text-sm);color:var(--color-accent-text)}.couts-ia table{width:100%}.couts-ia td.num,.couts-ia th.num{text-align:right}.couts-ia tfoot td{font-weight:600}.couts-sous-titre{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.couts-sous-titre:first-child{margin-top:0}.couts-manquant{color:var(--color-warning);font-size:var(--text-xs);white-space:nowrap}.couts-tarifs>summary{cursor:pointer;list-style:revert}.couts-tarif-form{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));display:grid}.couts-tarif-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;grid-column:1/-1;display:flex}.couts-credits{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.couts-credits .field{flex:0 240px;margin:0}@media (width<=600px){.couts-filtres .field{flex:100%}}.today-layout{gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;display:grid}@media (width<=1024px){.today-layout{gap:var(--space-8);grid-template-columns:minmax(0,1fr)}}.today-work,.today-agenda{min-width:0}.today-work-head,.today-agenda-head{align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.today-work-head{justify-content:space-between}.today-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--color-text);margin:0}.today-refresh{align-items:center;gap:var(--space-2);font-variant-numeric:tabular-nums;display:flex}.today-refresh .is-spinning{animation:.8s linear infinite fh-spin}.today-tabs{margin-bottom:var(--space-4)}.today-tab-count{min-width:22px;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-sunken);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-align:center;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;line-height:20px}.today-tiles{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.today-tile{min-height:64px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);flex-direction:column;align-items:flex-start;gap:2px;display:flex}.today-tile:hover:not(:disabled){border-color:var(--color-border-strong)}.today-tile:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.today-tile[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-surface-selected)}.today-tile:disabled{cursor:default;color:var(--color-text-muted)}.today-tile-count{font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.today-tile-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.today-tile:disabled .today-tile-label{color:var(--color-text-muted)}.today-tile-late{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-danger)}.today-list{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);margin:0;padding:0;list-style:none;overflow:hidden}.today-list>li+li{border-top:1px solid var(--color-border)}.today-row{align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-2) var(--space-4);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:6.5rem minmax(0,1fr) auto auto;display:grid}.today-row:hover{background:var(--color-surface-hover)}.today-row:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.today-when{font-size:var(--text-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.today-when.is-danger{font-weight:var(--weight-semibold);color:var(--color-danger)}.today-when.is-info{font-weight:var(--weight-semibold);color:var(--color-accent-text)}.today-what{flex-direction:column;gap:2px;min-width:0;display:flex}.today-who{font-weight:var(--weight-medium);color:var(--color-text);overflow-wrap:anywhere}.today-clinic{font-size:var(--text-xs);color:var(--color-text-muted);overflow-wrap:anywhere}.today-type{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);display:inline-flex}.today-work .today-type{order:-1}.today-row .list-chevron{grid-column:-2}.today-empty{padding:var(--space-6) var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-lg);font-size:var(--text-base);text-align:center;color:var(--color-text-secondary);margin:0}.today-more{margin-top:var(--space-2)}.today-more svg{width:16px;height:16px;transition:transform var(--duration-fast) var(--ease-out)}.today-more svg.is-open{transform:rotate(180deg)}.today-appt{grid-template-columns:3.5rem minmax(0,1fr) auto}.today-appt .today-when{font-weight:var(--weight-semibold);color:var(--color-text)}.today-appt-dot{background:var(--cat,var(--color-neutral));border-radius:50%;flex-shrink:0;width:8px;height:8px}.today-appt.is-past .today-when,.today-appt.is-past .today-who{color:var(--color-text-muted)}@media (width<=480px){.today-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.today-row:not(.today-appt){gap:2px var(--space-3);grid-template-columns:minmax(0,1fr) auto}.today-row:not(.today-appt) .today-when,.today-row:not(.today-appt) .today-what{grid-column:1}.today-row:not(.today-appt) .list-chevron{grid-area:1/2/span 2}}@media (prefers-reduced-motion:reduce){.today-refresh .is-spinning{animation:none}.today-tile,.today-more svg{transition:none}}[data-mode=admin]{--bandeau-admin-hauteur:34px}@media (width<=600px){[data-mode=admin]{--bandeau-admin-hauteur:50px}}.bandeau-admin{z-index:110;justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-admin-bandeau-bg);border-bottom:1px solid var(--color-admin-bandeau-border);color:var(--color-admin-bandeau-text);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight);text-align:center;display:flex;position:fixed;inset:0 0 auto}.bandeau-admin svg{width:16px;height:16px;color:var(--color-admin-bandeau-icon);flex-shrink:0}.bandeau-admin-texte{overflow-wrap:anywhere;min-width:0}[data-mode=admin] .topbar{top:var(--bandeau-admin-hauteur)}[data-mode=admin] .sidebar{top:var(--bandeau-admin-hauteur);height:auto}[data-mode=admin] .main-content{padding-top:calc(var(--bandeau-admin-hauteur) + var(--topbar-height) + var(--space-8))}@media (width<=1024px){[data-mode=admin] .main-content{padding-top:calc(var(--bandeau-admin-hauteur) + var(--topbar-height) + var(--space-6))}}@media (width<=768px){[data-mode=admin] .main-content{padding-top:calc(var(--bandeau-admin-hauteur) + var(--topbar-height) + var(--space-4))}}@media (width<=600px){[data-mode=admin] .global-search-panel{top:calc(var(--bandeau-admin-hauteur) + var(--topbar-height) + var(--space-1))}}:root:has(.assistant-aide-bulle){--assistant-aide-reserve:calc(var(--space-4) + 13rem)}@media (width<=640px){:root:has(.assistant-aide-bulle){--assistant-aide-reserve:calc(var(--space-4) + 48px + var(--space-2))}}:root:has([aria-modal=true],.modal-overlay,.sheet-overlay,.dictee-overlay){--assistant-aide-reserve:0px}:root:has([aria-modal=true],.modal-overlay,.sheet-overlay,.dictee-overlay) .assistant-aide{display:none}.assistant-aide{right:var(--space-4);bottom:var(--space-4);z-index:1050;align-items:flex-end;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.assistant-aide>*{pointer-events:auto}.assistant-aide-bulle{align-items:center;gap:var(--space-2);min-width:44px;min-height:44px;padding:0 var(--space-4);border:1px solid var(--color-accent);border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-text-on-accent);font:inherit;font-size:var(--text-sm);box-shadow:var(--shadow-raised);cursor:pointer;font-weight:600;display:inline-flex}.assistant-aide-bulle:hover{background:var(--color-accent-hover)}.assistant-aide-bulle:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.assistant-aide-bulle svg{flex:none;width:20px;height:20px}.assistant-aide-fenetre{width:min(380px, calc(100vw - 2 * var(--space-4)));border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);max-height:min(560px,100vh - 120px);color:var(--color-text);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex}.assistant-aide-tete{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.assistant-aide-titre{font-size:var(--text-md);margin:0;font-weight:600}.assistant-aide-fermer{min-width:44px;min-height:44px}.assistant-aide-corps{min-height:0;padding:var(--space-3) var(--space-4);gap:var(--space-2);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.assistant-aide-corps p{margin:0}.assistant-aide-avertissement{color:var(--color-text-secondary);font-weight:600}.assistant-aide-echanges{gap:var(--space-3);flex-direction:column;display:flex}.assistant-aide-echange{gap:var(--space-2);flex-direction:column;display:flex}.assistant-aide-question{max-width:90%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-accent-subtle);color:var(--color-text);overflow-wrap:anywhere;align-self:flex-end}.assistant-aide-reponse{gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-sunken);flex-direction:column;display:flex}.assistant-aide-texte{white-space:pre-line;overflow-wrap:anywhere;font-size:var(--text-sm)}.assistant-aide-mode{font-style:italic}.assistant-aide-formulaire{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.assistant-aide-formulaire .button{align-self:flex-end;min-height:44px}.assistant-aide-champ{resize:vertical;min-height:44px}@media (width<=640px){.assistant-aide-bulle{justify-content:center;width:48px;height:48px;padding:0}.assistant-aide-bulle-libelle{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media print{.assistant-aide{display:none}}.pb-container{background:var(--color-bg);min-height:100vh;padding:2rem 1rem}.pb-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;max-width:600px;margin:0 auto;overflow:hidden}.pb-header{border-bottom:1px solid var(--color-border);text-align:center;padding:1.5rem}.pb-logo{justify-content:center;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.pb-logo-icon{background:var(--color-accent);width:40px;height:40px;color:var(--color-text-on-accent);border-radius:10px;justify-content:center;align-items:center;display:flex}.pb-clinic-name{color:var(--color-text);font-size:1.5rem;font-weight:600}.pb-subtitle{color:var(--color-text-secondary);font-size:.9rem}.pb-progress{padding:1rem 1.5rem 0}.pb-progress-label{color:var(--color-text-secondary);margin-bottom:.5rem;font-size:.8rem;display:block}.pb-steps{grid-template-columns:repeat(4,1fr);gap:.375rem;display:grid}.pb-step{background:var(--color-border);border-radius:2px;height:4px}.pb-step.active{background:var(--color-accent)}.pb-body{padding:1.5rem}.pb-section-title{color:var(--color-text);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;font-weight:600;display:flex}.pb-practitioners,.pb-types{flex-direction:column;gap:.75rem;display:flex}.pb-practitioner,.pb-type,.pb-day,.pb-slot{font:inherit}.pb-practitioner,.pb-type{text-align:left;width:100%;color:var(--color-text)}.pb-practitioner:focus-visible,.pb-type:focus-visible,.pb-day:focus-visible,.pb-slot:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.pb-type-desc{display:block}.pb-practitioner,.pb-type{background:var(--color-surface);border:2px solid var(--color-border);cursor:pointer;border-radius:12px;padding:1rem;transition:all .2s}.pb-practitioner:hover,.pb-type:hover{background:var(--color-surface-hover)}.pb-practitioner.selected,.pb-type.selected{border-color:var(--color-accent-text);background:var(--color-accent-subtle)}.pb-practitioner{align-items:center;gap:1rem;display:flex}.pb-practitioner-avatar{background:var(--color-accent-subtle);width:50px;height:50px;color:var(--color-accent-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pb-practitioner-name{color:var(--color-text);font-weight:500}.pb-type-header{justify-content:space-between;align-items:center;display:flex}.pb-type-name{color:var(--color-text);font-weight:500}.pb-type-duration{color:var(--color-text-secondary);align-items:center;gap:.25rem;font-size:.8rem;display:flex}.pb-type-desc{color:var(--color-text-secondary);margin-top:.25rem;font-size:.85rem}.pb-calendar-nav{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.pb-nav-btn{min-width:var(--target-min);min-height:var(--target-min);background:var(--color-surface);border:1px solid var(--color-border-control);color:var(--color-text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;display:flex}.pb-nav-btn:hover{background:var(--color-surface-hover)}.pb-month-title{color:var(--color-text);font-weight:500}.pb-calendar{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.pb-day-header{text-align:center;color:var(--color-text-secondary);padding:.5rem;font-size:.75rem;font-weight:500}.pb-day{aspect-ratio:1;cursor:pointer;color:var(--color-text);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:.9rem;transition:all .2s;display:flex}.pb-day.other-month{color:var(--color-text-muted)}.pb-day.unavailable{color:var(--color-text-muted);cursor:not-allowed}.pb-day.available:hover{background:var(--color-accent-subtle)}.pb-day.selected{background:var(--color-accent);color:var(--color-text-on-accent);font-weight:600}.pb-day.today{box-shadow:inset 0 0 0 2px var(--color-accent)}.pb-slots{grid-template-columns:repeat(3,1fr);gap:.5rem;max-height:250px;display:grid;overflow-y:auto}.pb-slot{background:var(--color-surface);border:2px solid var(--color-border);text-align:center;cursor:pointer;color:var(--color-text);border-radius:8px;padding:.75rem;font-size:.9rem;transition:all .2s}.pb-slot:hover{background:var(--color-surface-hover)}.pb-slot.selected{border-color:var(--color-accent-text);background:var(--color-accent-subtle)}.pb-no-slots{text-align:center;color:var(--color-text-secondary);padding:2rem}.pb-form-group{margin-bottom:1rem}.pb-label{color:var(--color-text-secondary);margin-bottom:.5rem;font-size:.85rem;display:block}.pb-input{background:var(--color-surface);border:1px solid var(--color-border-control);width:100%;color:var(--color-text);font:inherit;border-radius:8px;padding:.75rem 1rem;font-size:1rem}.pb-input::placeholder{color:var(--color-text-muted)}.pb-input:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-accent)}.pb-textarea{resize:vertical;min-height:80px}.pb-form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.pb-summary{background:var(--color-surface-sunken);border-radius:12px;margin-bottom:1rem;padding:1rem}.pb-summary-row{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:.5rem 0;display:flex}.pb-summary-row:last-child{border-bottom:none}.pb-summary-label{color:var(--color-text-secondary);font-size:.85rem}.pb-summary-value{color:var(--color-text);font-weight:500}.pb-actions{gap:1rem;margin-top:1.5rem;display:flex}.pb-btn-back{font:inherit;background:var(--color-surface);border:1px solid var(--color-border-control);color:var(--color-text);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.9rem;display:flex}.pb-btn-back:hover{background:var(--color-surface-hover)}.pb-btn-next{font:inherit;background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer;transition:background-color var(--duration-fast);border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.9rem;font-weight:600;display:flex}.pb-btn-next:hover:not(:disabled){background:var(--color-accent-hover)}.pb-btn-next:disabled{opacity:.5;cursor:not-allowed}.pb-btn-back:focus-visible,.pb-btn-next:focus-visible,.pb-nav-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.pb-empty{background:var(--color-surface-sunken);color:var(--color-text-secondary);border-radius:12px;padding:1rem}.pb-success{text-align:center;padding:3rem 1.5rem}.pb-success-icon{background:var(--color-success-subtle);width:80px;height:80px;color:var(--color-success);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.5rem;display:flex}.pb-success-title{color:var(--color-text);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.pb-success-message{color:var(--color-text-secondary);margin-bottom:2rem}.pb-error{text-align:center;padding:3rem 1.5rem}.pb-error-title{color:var(--color-danger);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.pb-error-message{color:var(--color-text-secondary)}.pb-loading{text-align:center;color:var(--color-text-secondary);padding:3rem}@media (width<=480px){.pb-form-row{grid-template-columns:1fr}.pb-slots{grid-template-columns:repeat(2,1fr)}}.pb-container .public-langue{max-width:600px;margin:0 auto var(--space-2);padding:0}.oauth-section{border-top:1px solid var(--color-border);padding-top:var(--space-5)}.oauth-section-titre{margin:0 0 var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text)}.oauth-permissions,.oauth-garanties{margin:0;padding:0;list-style:none}.oauth-permissions li{gap:var(--space-3);padding:var(--space-2) 0;line-height:var(--leading-normal);align-items:flex-start;display:flex}.oauth-permission-icone{width:20px;height:20px;color:var(--color-accent-text);flex:none;margin-top:2px}.oauth-garanties{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-sunken);color:var(--color-text-secondary);line-height:var(--leading-normal)}.oauth-garanties li+li{margin-top:var(--space-2)}.oauth-details{gap:var(--space-3);margin:var(--space-6) 0 0;display:grid}.oauth-details div{gap:var(--space-1);display:grid}.oauth-details dt{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.oauth-details dd{color:var(--color-text);overflow-wrap:anywhere;margin:0}.oauth-hote{font-weight:var(--weight-semibold)}.oauth-alerte,.oauth-note-connexion{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);line-height:var(--leading-normal);align-items:flex-start;display:flex}.oauth-alerte{margin-top:var(--space-5);border:1px solid var(--color-warning);background:var(--color-warning-subtle);color:var(--color-text);border-left-width:4px}.oauth-alerte svg,.oauth-note-connexion svg{flex:none;width:20px;height:20px;margin-top:2px}.oauth-alerte svg{color:var(--color-warning)}.oauth-alerte p,.oauth-note-connexion p{margin:0}.oauth-consent .error-summary{margin-top:var(--space-5)}.oauth-consent .error-summary p{margin:0}.oauth-actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.oauth-actions .button{min-width:160px}.oauth-actions .button svg{width:18px;height:18px}.oauth-compte{margin:var(--space-4) 0 0;color:var(--color-text-secondary)}.oauth-lien{min-height:44px;padding:0 var(--space-1);color:var(--color-accent-text);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-items:center;text-decoration:underline;display:inline-flex}.oauth-lien:hover{color:var(--color-accent-hover)}.oauth-lien:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.oauth-lien:disabled{cursor:not-allowed;opacity:.6}.oauth-note-connexion{border-bottom:1px solid var(--color-border);background:var(--color-info-subtle);color:var(--color-text);border-radius:0;justify-content:center;margin:0}.oauth-note-connexion svg{color:var(--color-info)}@media (width<=640px){.oauth-actions .button{flex:100%}}.connecteur-page .public-lead{max-width:none}.connecteur-section{margin-top:var(--space-8)}.connecteur-section h2{margin:0 0 var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text)}.connecteur-section p,.connecteur-section li{line-height:var(--leading-normal)}.connecteur-section p{margin:0 0 var(--space-3)}.connecteur-section ul,.connecteur-section ol{padding-left:var(--space-6);margin:0}.connecteur-section li+li{margin-top:var(--space-2)}.connecteur-section td,.connecteur-section tbody th{font-size:var(--text-base);line-height:var(--leading-normal);vertical-align:top}.connecteur-section tbody tr:hover td{background:0 0}.connecteur-outils{min-width:0}.connecteur-section tbody th.connecteur-outil{width:40%;color:var(--color-text);font-weight:var(--weight-semibold);background:0 0}.connecteur-citations li{font-style:italic}.connecteur-articles{margin:var(--space-6) 0 0;padding-left:var(--space-6)}.connecteur-articles>li{line-height:var(--leading-normal)}.connecteur-articles>li+li{margin-top:var(--space-4)}.connecteur-identite{margin:var(--space-4) 0 0;color:var(--color-text-secondary);line-height:var(--leading-normal)}.connecteur-identite p{margin:0}.connecteur-preliminaire{margin-bottom:var(--space-6)}.connecteur-pied{gap:var(--space-2) var(--space-6);margin-top:var(--space-10);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.connecteur-pied a,.connecteur-page a[href^=mailto\:]{overflow-wrap:anywhere}.connecteur-pied a{min-height:44px;font-weight:var(--weight-semibold);align-items:center;display:inline-flex}@media (width<=480px){.connecteur-outils,.connecteur-outils tbody,.connecteur-outils tr,.connecteur-outils th,.connecteur-outils td{width:auto;display:block}.connecteur-outils thead{display:none}.connecteur-outils tr{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.connecteur-section .connecteur-outils th,.connecteur-section .connecteur-outils td{border-bottom:0;padding:0}.connecteur-section tbody th.connecteur-outil{width:auto;margin-bottom:var(--space-1)}}
