.app-shell .admin-nav-group:first-child{border-top:none;margin-top:0;padding-top:0}.admin-nav-caption{color:var(--text-muted);margin:8px 0 2px;padding:0 10px 0 18px;font-size:12px;font-weight:600}.bottom-more-caption{color:var(--text-muted);margin:6px 12px 0 20px;font-size:12px;font-weight:600}@media (width>=721px) and (width<=1023px){.app-shell .admin-shell{flex-direction:column;align-items:stretch;gap:14px}.app-shell .admin-sidebar{display:none}.app-shell .admin-jump{width:100%;color:var(--text-muted);flex-direction:column;gap:5px;padding:16px 20px 0;font-size:13px;font-weight:600;display:flex}.app-shell .admin-jump select{width:100%}.app-shell .admin-content:not(:has(>.page)){padding:8px 20px 48px}.app-shell .admin-content .data-table td[style*=nowrap],.app-shell .admin-content .data-table td.row-actions,.app-shell .admin-content .data-table .hint-inline{white-space:normal!important}.app-shell .admin-content .data-table td[style*=nowrap]>button{margin:2px 4px 2px 0}.app-shell .admin-content .data-table th:not(.sortable),.app-shell .admin-content .data-table td,.app-shell .admin-content .data-table .th-sort{padding:8px 10px}.app-shell .admin-content .data-table .th-sort{white-space:normal;text-align:left}.app-shell .admin-content .history-summary{white-space:normal;max-width:240px}}.doctors-scope-line{margin:4px 0 0;font-size:17px;font-weight:650}.doctors-filters{align-items:flex-end}.doctors-search input{min-width:240px}.doctors-more-filters{align-self:flex-end}.doctors-more-filters>summary{min-height:36px;color:var(--accent);cursor:pointer;align-items:center;font-size:14px;font-weight:600;display:inline-flex}.doctors-more-filters[open]{flex-basis:100%}.doctors-more-filters>.inline-form{margin:4px 0 0}.doctors-count-line{flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:6px;display:flex}.doctors-email{max-width:250px;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12.5px;display:block;overflow:hidden}@media (width>=1280px){.doctors-table td[data-label=Dernière\ connexion]{white-space:nowrap}}.doctors-table .th-sort{white-space:normal;text-align:left}.data-table.doctors-table{overflow:visible}.doctors-table .doctors-actions-col{text-align:right;width:1%;padding-top:4px;padding-bottom:4px}.doctors-row-menu{display:inline-block}.doctors-row-menu .overflow-menu-button{width:36px;height:36px;font-size:20px}.doctors-row-menu .overflow-menu-panel{text-align:left;min-width:270px}.doctors-row-menu .overflow-menu-panel>button,.doctors-row-menu .overflow-menu-panel>a{min-height:38px;padding:8px 12px;font-size:14px;font-weight:500}.doctors-row-menu .overflow-menu-panel>button[aria-pressed=true]:not(.doctors-menu-toggle){color:var(--accent)}.doctors-menu-caption{color:var(--text-muted);margin:4px 12px 2px;font-size:12px;font-weight:650}@media (width<=720px){.doctors-filters>label{min-width:0;max-width:100%}.doctors-email{white-space:normal;overflow-wrap:anywhere;max-width:none}.doctors-search input{width:100%;min-width:0}.doctors-search{flex:100%}.data-table--cards.doctors-table tr{position:relative}.data-table--cards.doctors-table td:first-child{padding-right:52px}.data-table--cards.doctors-table td.doctors-actions-col{border:none;width:auto;padding:0;position:absolute;top:6px;right:8px}.doctors-row-menu .overflow-menu-button{width:44px;height:44px}.doctors-row-menu .overflow-menu-panel>button,.doctors-row-menu .overflow-menu-panel>a{min-height:44px}}@media (width>=721px) and (width<=1023px){.data-table.doctors-table{font-size:13.5px}.doctors-table th:not(.sortable),.doctors-table td,.doctors-table .th-sort{padding:8px 7px}.doctors-email{max-width:130px}.doctors-table--wide .doctors-col-secondary{display:none}}.profile-calendar--pick .profile-day--pick{font:inherit;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;min-width:0;padding:0;font-size:12.5px}.profile-calendar--pick .profile-day--pick:not(.profile-day--marked){background:var(--bg);color:var(--text);border:1px solid var(--border)}.profile-calendar--pick .profile-day--pick.profile-day--weekend:not(.profile-day--marked){background:#eef0f5}.profile-calendar--pick .profile-day--pick:hover{box-shadow:inset 0 0 0 2px var(--accent)}.profile-calendar--pick .profile-day--pick:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.profile-calendar--pick .profile-day--selected,.profile-calendar--pick .profile-day--selected:hover{outline:2px solid var(--accent);outline-offset:1px;font-weight:700;box-shadow:inset 0 0 0 2px #fff}.profile-calendar--pick .profile-day--selected:not(.profile-day--marked){background:var(--accent-soft);color:var(--accent)}.profile-calendar--pick .profile-day--out{opacity:.4}.profile-calendar--pick .profile-day{height:32px}.dcal-pick-hint{margin:0 0 8px}@media (width<=720px){.profile-calendar--pick{gap:12px}.profile-calendar--pick .profile-month{flex:100%;min-width:0;padding:10px}.profile-calendar--pick .profile-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.profile-calendar--pick .profile-day{height:38px}}.desi-calendar h2,.desi-new h2{margin-top:20px}.desi-picked{flex-wrap:wrap;align-items:center;gap:4px 12px;margin:10px 0 0;font-size:14px;font-weight:600;display:flex}.desi-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin:10px 0 8px;padding:14px 16px;scroll-margin-top:80px}.desi-kind{border:none;min-width:0;margin:0 0 10px;padding:0}.desi-kind legend{color:var(--text-muted);margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.desi-kind-options{flex-wrap:wrap;gap:6px;display:flex}.desi-kind-choice{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13.5px;display:inline-flex}.desi-kind-choice input{accent-color:var(--accent);margin:0}.desi-kind-choice .profile-dot{margin-right:0}.desi-kind-choice--on{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.desi-kind-choice:focus-within{outline:2px solid var(--accent);outline-offset:1px}.desi-kind-intro{margin:0 0 10px}.desi-fields{flex-wrap:wrap;align-items:flex-start;gap:12px 14px;display:flex}.desi-fields label{color:var(--text-muted);flex-direction:column;gap:5px;max-width:100%;font-size:13px;font-weight:600;display:flex}.desi-fields .desi-reason{flex:220px}.desi-fields input[aria-invalid=true],.desi-fields select[aria-invalid=true]{border-color:var(--error);box-shadow:0 0 0 1px var(--error)}.field-error{max-width:260px;color:var(--error);font-size:12.5px;font-weight:500;line-height:1.35;display:block}.desi-actions{margin-top:12px}@media (width<=720px){.desi-form{padding:12px}.desi-kind-choice{padding:9px 12px}.desi-fields{flex-direction:column;align-items:stretch}.desi-fields .desi-reason{flex:none}.desi-fields input,.desi-fields select{width:100%;min-height:40px}.field-error{max-width:none}.desi-actions button{width:100%;min-height:44px}}.notif-pending-swaps{border-radius:var(--radius-sm);background:#fff8e6;border:1px solid #f0c36d;margin:0 0 14px;padding:10px 14px;font-size:14px}.notif-pending-swaps a{font-weight:600}.page-help{margin:0 0 12px}.page-help-summary{margin:0 0 2px}.page-help-more>summary{cursor:pointer;color:var(--accent);width:fit-content;font-size:13px}.page-help-more>summary:hover{text-decoration:underline}.page-help-body{border-left:3px solid var(--border);background:var(--surface);margin:6px 0 0;padding:8px 12px}.page-help-body p{margin:0 0 6px}.page-help-body p:last-child{margin-bottom:0}.shift-detail-exceptional{color:#78350f;background:#fffbeb;border-left:3px solid #d97706;margin:2px 0 8px;padding:4px 10px;font-size:14px}.shift-hours-actions{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.shift-hours-fields{flex-wrap:wrap;gap:12px;display:flex}.shift-hours-fields input[type=time]{min-width:120px}@media (width>=721px){.schedule-grid:not(.calendar-grid) button.grid-cell-doctor.shift-open{align-items:center;min-height:28px;margin:1px 0;display:flex}}.swap-form{scroll-margin-top:80px}.swap-history{margin-top:24px}.swap-history>summary{cursor:pointer;list-style-position:inside}.swap-history>summary h2{margin:0;display:inline}.swap-history h3{margin:14px 0 6px}:root{--bg:#f6f7fb;--surface:#fff;--text:#1a1f2b;--text-muted:#667085;--border:#e3e6ec;--border-field:#8a93a3;--accent:#2f6feb;--accent-hover:#2456bf;--accent-soft:#eaf1ff;--error:#b91c1c;--error-soft:#fdecea;--radius-sm:6px;--radius-md:10px;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 6px 20px #10182814;--sector-ambulatoire:#2f6feb;--sector-ambulatoire-night:#16326b;--sector-couche:#7652d9;--sector-couche-night:#3f2670;--sector-reanimation:#e11d48;--sector-reanimation-night:#6a0f24;--sector-observation:#0f766e;--sector-observation-night:#0a4a44;--sector-smur:#c2410c;--sector-smur-night:#7c2d12;--sector-azc:#64748b;--sector-azc-night:#2a3342;--sector-astreinte:#a16207;--sector-astreinte-night:#5c4108;--sector-formation:#7c3aed;--sector-formation-night:#4c1d95;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:15px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}h1{letter-spacing:-.02em;margin:0 0 4px;font-size:26px;font-weight:650}h2{margin:28px 0 8px;font-size:17px;font-weight:650}h3{margin:0;font-size:15px;font-weight:650}a{color:var(--accent)}.page{max-width:1080px;margin:0 auto;padding:32px 20px 64px}.page--wide{max-width:none}.auth-page{background:linear-gradient(160deg, var(--bg) 0%, #eef2fb 100%);justify-content:center;align-items:center;min-height:100svh;padding:16px;display:flex}.auth-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;max-width:380px;box-shadow:var(--shadow-md);flex-direction:column;gap:14px;padding:36px;display:flex}.auth-form h1{margin-bottom:8px}.auth-form label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.auth-form button{margin-top:8px}.form-error,.error{color:var(--error);white-space:pre-line;background:var(--error-soft);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px}.form-success{color:#065f46;border-radius:var(--radius-sm);background:#ecfdf5;border:1px solid #a7f3d0;padding:8px 10px;font-size:13px}button{font:inherit}:where(button:not(.link-button):not(.tab)){background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 16px;font-size:14px;font-weight:550;transition:background-color .15s,transform 50ms}:where(button:not(.link-button):not(.tab):hover){background:var(--accent-hover)}:where(button:not(.link-button):not(.tab):active){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{font:inherit;border:1px solid var(--border-field);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:7px 10px}input:focus,select:focus,textarea:focus{border-color:var(--accent)}:is(a,button,input,select,textarea,summary,.tab,.link-button):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{z-index:20;background:var(--surface);color:var(--accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:8px 14px;font-weight:600;position:absolute;top:-100px;left:8px}.skip-link:focus{top:8px}.navbar{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);z-index:10;flex-wrap:wrap;align-items:center;gap:22px;padding:14px 28px;display:flex;position:sticky;top:0}.navbar .brand{letter-spacing:-.01em;color:var(--accent);border-right:1px solid var(--border);align-self:stretch;align-items:center;gap:9px;margin-right:4px;padding:0 20px 0 0;font-size:16px;font-weight:700;text-decoration:none;display:flex}.navbar .brand:hover{color:var(--accent-hover);border-bottom-color:#0000}.brand-logo{width:22px;height:22px;display:block}.navbar a{color:var(--text-muted);border-bottom:2px solid #0000;padding:6px 2px;font-size:14px;font-weight:550;text-decoration:none;transition:color .15s,border-color .15s}.navbar a:hover{color:var(--text);border-bottom-color:var(--border)}.navbar>a.active{color:var(--text);border-bottom-color:var(--accent)}.navbar-spacer{flex:1}.navbar-right{white-space:nowrap;align-items:center;gap:16px;margin-left:auto;display:flex}.view-as-banner{color:#6b4e00;top:var(--navbar-h,0px);z-index:9;background:#fff3d6;border-bottom:1px solid #f0c36d;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:9px 28px;font-size:14px;display:flex;position:sticky}.view-as-banner button{padding:4px 12px!important;font-size:13px!important}.nav-dropdown-menu--right{left:auto;right:0}.nav-dropdown-menu .link-button{text-align:left;border-radius:var(--radius-sm);padding:7px 10px;font-size:14px}.nav-dropdown-menu .link-button:hover{background:var(--bg);color:var(--text)}.nav-dropdown{position:relative}.nav-dropdown summary{cursor:pointer;color:var(--text-muted);white-space:nowrap;padding:6px 2px;font-size:14px;font-weight:550;list-style:none}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary:hover,.nav-dropdown[open] summary{color:var(--text)}.nav-dropdown-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:215px;box-shadow:var(--shadow-md);z-index:30;flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.navbar .nav-dropdown-menu a{border-radius:var(--radius-sm);border-bottom:none;padding:7px 10px}.navbar .nav-dropdown-menu a:hover{background:var(--bg);color:var(--text)}.link-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:550}.link-button:hover{color:var(--text)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.button-link{background:var(--accent);color:#fff;border-radius:var(--radius-sm);padding:8px 16px;font-size:14px;font-weight:550;text-decoration:none}.button-link:hover{background:var(--accent-hover)}.tabs{background:var(--bg);border-radius:var(--radius-sm);gap:4px;padding:4px;display:flex}.tab{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:6px 14px;font-weight:550}.tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.data-table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-sm);margin-top:16px;font-size:14px;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px}.data-table th{background:var(--bg);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px;font-weight:650}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--bg)}.data-table .row-error{background:var(--error-soft)}.data-table .row-error:hover{background:#fbdedb}.data-table .row-inactive{opacity:.5}.inline-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:flex-end;gap:14px;margin:14px 0;padding:14px 16px;display:flex}.inline-form label{color:var(--text-muted);flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}.inline-form button{height:fit-content}.hint{color:var(--text-muted);font-size:13px}.badge{background:var(--error);color:#fff;text-align:center;border-radius:9px;min-width:18px;margin-left:4px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;display:inline-block}.schedule-filters{margin-top:16px}.day-groups{flex-direction:column;gap:16px;margin-top:20px;display:flex}.day-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:14px 18px}.day-group-header{color:var(--text);border-bottom:1px solid var(--border);text-transform:capitalize;margin-bottom:10px;padding-bottom:10px}.shift-chip-list{flex-wrap:wrap;gap:8px;display:flex}.shift-chip{border-radius:var(--radius-sm);color:#fff;background:var(--sector-azc);box-shadow:var(--shadow-sm);align-items:center;gap:8px;padding:7px 12px;font-size:13px;display:flex}.shift-chip-time{white-space:nowrap;font-weight:700}.shift-chip-name{font-weight:550}.shift-chip-doctor{opacity:.9;font-style:italic}.shift-chip-unfilled{text-transform:uppercase;letter-spacing:.03em;background:#ffffff40;border-radius:4px;padding:1px 6px;font-size:11px}.week-nav{flex-wrap:wrap;align-items:center;gap:14px;margin:14px 0;display:flex}.week-nav-toggle{color:var(--text-muted);margin-left:auto;font-size:13px}.schedule-grid-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);overflow-x:auto}.schedule-grid{border-collapse:collapse;width:100%;font-size:13px}.schedule-grid th,.schedule-grid td{border:1px solid var(--border);vertical-align:top;min-width:108px;padding:5px 7px}.schedule-grid thead th{background:var(--bg);white-space:nowrap;font-weight:650;position:sticky;top:0}.schedule-grid th.weekend,.schedule-grid td.weekend{background:#eef0f6}.schedule-grid .shift-col{background:var(--surface);text-align:left;z-index:1;min-width:165px;max-width:230px;font-weight:600;position:sticky;left:0}.schedule-grid thead .shift-col{background:var(--bg);z-index:2}.schedule-grid:not(.calendar-grid){table-layout:fixed;min-width:974px}.schedule-grid:not(.calendar-grid) .shift-col{width:190px}.schedule-grid:not(.calendar-grid) .grid-cell-doctor{text-overflow:ellipsis;overflow:hidden}.grid-cell-doctor{color:#fff;white-space:nowrap;background:var(--sector-azc);border-radius:4px;margin:2px 0;padding:2px 7px;display:block}.grid-cell-doctor.dimmed{opacity:.18}.grid-unfilled{color:var(--error);padding:2px 0;font-size:12px;font-style:italic;display:block}.calendar-grid{table-layout:fixed}.calendar-grid th,.calendar-grid td{width:14.28%;min-width:0}.calendar-grid td{height:86px}.calendar-day-number{color:var(--text-muted);margin-bottom:3px;font-size:11px;font-weight:650;display:block}.calendar-grid .grid-cell-doctor{white-space:normal;font-size:12px;line-height:1.35}td.calendar-off{background:var(--bg)}.grid-absence{color:var(--text);background:repeating-linear-gradient(45deg,#e9ecf3,#e9ecf3 6px,#f5f7fa 6px 12px);border:1px dashed #b8bfcc;border-radius:4px;margin:2px 0;padding:2px 7px;font-size:12px;display:block}.shift-chip.absence-chip{color:var(--text);box-shadow:none;background:repeating-linear-gradient(45deg,#e9ecf3,#e9ecf3 6px,#f5f7fa 6px 12px);border:1px dashed #b8bfcc}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.data-table th.sortable:hover{color:var(--accent)}.warning-box{border-radius:var(--radius-md);color:#6b4e00;background:#fff7e6;border:1px solid #f0c36d;margin:14px 0;padding:12px 16px;font-size:14px;line-height:1.5}.role-badge{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;margin-left:7px;padding:1px 7px;font-size:11px;font-weight:650;display:inline-block}.staff-row td{color:var(--text-muted)}.role-controls{flex-direction:column;gap:4px;min-width:160px;font-size:12px;display:flex}.guide-details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin:10px 0;padding:12px 16px}.guide-details summary{cursor:pointer;font-weight:650}.guide-details ol{margin:10px 0 4px;padding-left:22px;line-height:1.7}.hint-inline{color:var(--text-muted);white-space:nowrap;font-size:12px;font-style:italic}.free-form-field{flex:100%}.free-form-field textarea{font:inherit;border:1px solid var(--border-field);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);resize:vertical;padding:7px 10px}.swap-description{white-space:pre-wrap;max-width:420px}.current-version-row{background:var(--accent-soft)}.applied-changes{color:var(--text-muted);margin:6px 0 0;padding-left:18px;font-size:13px}.tension-badge{color:#b42318;white-space:nowrap;background:#fdecea;border:1px solid #f4b7b0;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:650;display:inline-block}.navbar .working-period-chip{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-bottom:none;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:650}.navbar .working-period-chip:hover{color:var(--accent-hover);border-bottom-color:#0000}.assistant-fab{z-index:40;box-shadow:var(--shadow-md);position:fixed;bottom:22px;right:22px;border-radius:999px!important;padding:11px 20px!important;font-weight:650!important}.assistant-drawer{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:420px;max-width:calc(100vw - 44px);max-height:72vh;box-shadow:var(--shadow-md);z-index:40;flex-direction:column;display:flex;position:fixed;bottom:78px;right:22px}.assistant-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 14px;display:flex}.assistant-header .link-button{margin-left:auto}.assistant-preview-badge{color:#6b4e00;white-space:nowrap;background:#fff3d6;border:1px solid #f0c36d;border-radius:999px;padding:1px 9px;font-size:11px;font-weight:650}.assistant-messages{flex-direction:column;flex:1;gap:10px;padding:14px;display:flex;overflow-y:auto}.assistant-msg{white-space:pre-wrap;border-radius:12px;max-width:88%;padding:9px 13px;font-size:13.5px;line-height:1.5}.assistant-msg--user{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.assistant-msg--claude{background:var(--bg);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.assistant-proposal{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-top:8px;padding:8px}.assistant-proposal-item{border-bottom:1px dashed var(--border);padding:5px 8px;font-size:13px}.assistant-proposal-item:last-of-type{border-bottom:none}.assistant-proposal-actions{gap:10px;margin-top:8px;display:flex}.assistant-proposal-actions button:not(.link-button){padding:5px 12px!important;font-size:13px!important}.assistant-input{border-top:1px solid var(--border);gap:8px;padding:10px 14px;display:flex}.assistant-input input{flex:1}.assistant-footnote{color:var(--text-muted);margin:0;padding:0 14px 10px;font-size:11.5px}.rule-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin:14px 0;padding:16px 20px}.rule-card--assistant{border-color:var(--accent-soft);background:linear-gradient(180deg, var(--accent-soft) 0%, var(--surface) 60px)}.rule-label{margin:14px 0 6px;font-size:13px;font-weight:600;display:block}.date-list-editor{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.block-pairs{flex-direction:column;gap:10px;margin:6px 0;display:flex}.block-pair{border:1px dashed var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.rules-diff{grid-template-columns:1fr 1fr;gap:12px;margin:10px 0;display:grid}.rules-diff pre{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);margin:4px 0 0;padding:10px;font-size:12px;overflow-x:auto}.rules-editor{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;color:var(--text);resize:vertical;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.filter-count{color:var(--text-muted);white-space:nowrap;align-self:center;font-size:13px}.checkbox-inline{align-items:center;gap:7px;display:inline-flex;flex-direction:row!important}.shift-chip--ambulatoire{background:var(--sector-ambulatoire)}.shift-chip--ambulatoire-night{background:var(--sector-ambulatoire-night)}.shift-chip--couche{background:var(--sector-couche)}.shift-chip--couche-night{background:var(--sector-couche-night)}.shift-chip--reanimation{background:var(--sector-reanimation)}.shift-chip--reanimation-night{background:var(--sector-reanimation-night)}.shift-chip--observation{background:var(--sector-observation)}.shift-chip--observation-night{background:var(--sector-observation-night)}.shift-chip--smur{background:var(--sector-smur)}.shift-chip--smur-night{background:var(--sector-smur-night)}.shift-chip--azc{background:var(--sector-azc)}.shift-chip--azc-night{background:var(--sector-azc-night)}.shift-chip--astreinte{background:var(--sector-astreinte)}.shift-chip--astreinte-night{background:var(--sector-astreinte-night)}.legend{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;gap:16px;margin-top:20px;padding-top:14px;font-size:12px;display:flex}.legend-item{align-items:center;gap:5px;display:inline-flex}.legend-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.stat-cards{flex-wrap:wrap;gap:12px;margin:14px 0;display:flex}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:140px;box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:14px 18px;display:flex}.stat-card-value{letter-spacing:-.02em;font-size:24px;font-weight:700}.stat-card-label{color:var(--text-muted);font-size:12px}.sector-count-chip{background:var(--bg);border:1px solid var(--border);white-space:nowrap;border-radius:999px;margin:2px 4px 2px 0;padding:2px 8px;font-size:12px;display:inline-block}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:12px 0 8px;display:grid}.stat-card{border:1px solid var(--border,#d8d8d8);background:#fff;border-top:3px solid #888;border-radius:8px;padding:12px 14px}.stat-card--total{background:#f7f7f7;border-top-color:#444}.stat-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.stat-card-value{font-variant-numeric:tabular-nums;margin:4px 0 2px;font-size:26px;font-weight:700}.stat-card-sub{color:#666;font-size:12px}.statbars{flex-direction:column;gap:5px;margin:10px 0 6px;display:flex}.statbar-row{grid-template-columns:240px 1fr 84px;align-items:center;gap:10px;display:grid}.statbar-label{text-align:right;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.regime-tag{color:#96700e;background:#fdf3dc;border-radius:5px;margin-left:5px;padding:1px 5px;font-size:10px;font-weight:600}.statbar-track{background:#ececec;border-radius:4px;height:13px;position:relative}.statbar-ceiling{opacity:.7;background:#1f2937;width:2px;margin-left:-1px;position:absolute;top:-1px;bottom:-1px}.statbar-value.statbar-value--over{color:#b42318;font-weight:700}.statbar-cap{color:#8a8f98;font-weight:400}.regime-tag--sick{color:#9b2c22;background:#fde8e7}.statbar-fill{border-radius:4px;min-width:2px;height:100%}.statbar-value{font-variant-numeric:tabular-nums;color:#555;font-size:12px}@media (width<=700px){.statbar-row{grid-template-columns:130px 1fr 76px}}.page--full{max-width:none}.report-header{align-items:baseline;gap:14px;margin-bottom:10px;display:flex}.report-frame{border:1px solid var(--border,#d8d8d8);background:#fff;border-radius:8px;width:100%;height:calc(100vh - 150px)}.inline-form label.check{white-space:nowrap;flex-direction:row;align-items:center;gap:6px;font-weight:500}.inline-form .check-group{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex}.report-frame--seamless{background:0 0;border:none;border-radius:0;width:100%;height:auto;display:block;overflow:hidden}.report-toc{z-index:5;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-bottom:4px;padding:10px 0;display:flex;position:sticky}.report-toc button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:99px;padding:6px 13px;font-size:13px;font-weight:500;transition:all .15s}.report-toc button:hover{border-color:var(--accent);color:var(--accent-hover)}.nav-separator{background:var(--border);align-self:stretch;width:1px;margin:4px 2px}.profile-dot{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.profile-calendar{flex-wrap:wrap;gap:18px;display:flex}.profile-month{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:12px 14px}.profile-month h4{margin:0 0 10px}.profile-month-grid{grid-template-columns:repeat(7,32px);gap:4px;display:grid}.profile-dow{color:var(--text-muted);text-align:center;font-size:11px;font-weight:600}.profile-day{background:var(--bg);border:1px solid var(--border);border-radius:6px;justify-content:center;align-items:center;height:30px;font-size:12.5px;display:flex}.profile-day--weekend{background:#eef0f5}.profile-day--marked{border:none;font-weight:600}.profile-day--rejected{color:var(--text-muted);background:#e4e6eb;border-style:dashed;text-decoration:line-through}.profile-dot--rejected{border:1px dashed var(--text-muted);background:#e4e6eb}.involved-picker{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 14px;max-height:240px;padding:10px 12px;display:grid;overflow-y:auto}.involved-choice{white-space:nowrap;cursor:pointer;align-items:center;gap:7px;flex-direction:row!important;font-weight:500!important;display:flex!important}.admin-shell{align-items:flex-start;gap:28px;display:flex}.admin-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;flex:0 0 220px;gap:4px;padding:12px 10px;display:flex;position:sticky;top:76px}.admin-content{flex:1;min-width:0}.admin-nav-group{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.admin-nav-title{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);opacity:.85;margin:0 0 6px;padding:0 10px;font-size:10.5px;font-weight:700}.admin-nav-group .admin-nav-item{padding-left:18px}.admin-nav-item{border-radius:var(--radius-sm);color:var(--text);justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:14px;text-decoration:none;display:flex}.admin-nav-item:hover{background:var(--bg);text-decoration:none}.admin-nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.admin-nav-home{font-weight:600}.admin-badge{background:var(--error);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.nav-admin-link{align-items:center;gap:6px;display:inline-flex}.admin-cards{flex-wrap:wrap;gap:14px;margin:8px 0 12px;display:flex}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);flex-direction:column;flex:150px;gap:2px;padding:14px 16px;text-decoration:none;display:flex}.admin-card:hover{border-color:var(--accent);text-decoration:none}.admin-card-value{font-size:26px;font-weight:700}.admin-card-label{color:var(--text-muted);font-size:13px}.admin-period-facts p{margin:4px 0}.admin-alerts{flex-direction:column;gap:6px;margin:8px 0 16px;padding:0;list-style:none;display:flex}.admin-alert{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);padding:8px 12px;font-size:14px}.admin-alert--warn{background:var(--error-soft);border-color:#f3c1bd}@media (width<=900px){.admin-shell{flex-direction:column}.admin-sidebar{flex-basis:auto;width:100%;position:static}}.notif-row--link{cursor:pointer}.notif-row--link:hover td{background:var(--accent-soft)}.notif-arrow{color:var(--accent);font-weight:600}.badge-derogation{background:var(--error-soft);color:var(--error);border-radius:9px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.button-danger,.btn-refuse{background:var(--error);color:#fff;border:1px solid var(--error)}.button-danger:hover,.btn-refuse:hover{background:#991b1b}.btn-refuse-soft{background:var(--surface);color:var(--error);border:1px solid var(--error)}.btn-refuse-soft:hover{background:var(--error-soft)}.dcal-wrap{margin:8px 0 16px;overflow-x:auto}.dcal{border-collapse:collapse;-webkit-user-select:none;user-select:none;font-size:11px}.dcal th,.dcal td{border:1px solid var(--border);height:20px;padding:0}.dcal .dcal-name{text-align:left;white-space:nowrap;background:var(--surface);min-width:150px;padding:0 6px}.dcal .dcal-day{text-align:center;cursor:pointer;width:22px;min-width:22px;padding:2px 0;line-height:1}.dcal .dcal-dow{color:var(--text-muted);font-size:9px;display:block}.dcal .dcal-cell{cursor:pointer;width:22px;min-width:22px}.dcal .dcal-we{background:#f1f3f8}.dcal .dcal-sel{outline:2px solid var(--accent);outline-offset:-2px}.dcal .dcal-out,.dcal .dcal-group td.dcal-out{color:#9ca3af;cursor:default;background:repeating-linear-gradient(135deg,#e5e7eb 0 2px,#f8fafc 2px 7px)}.dcal td.dcal-out[style]{opacity:.4}.dcal .dcal-group td{background:var(--bg);font-weight:600}.dcal .dcal-count{text-align:center;cursor:pointer}.dcal .dcal-warm{background:#fff4d6}.dcal .dcal-hot{background:var(--error-soft);color:var(--error)}.dcal-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 16px}.dcal-list{flex-direction:column;gap:4px;margin:0 0 10px;padding:0;list-style:none;display:flex}.inline-form button.dcal-month{background:var(--surface);color:var(--accent);border:1px solid var(--accent)}.inline-form button.dcal-month:hover{background:var(--accent-soft)}.inline-form button.dcal-month--active{background:var(--accent);color:#fff}.mdp{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);max-width:420px;margin:6px 0 12px;padding:10px 12px}.mdp-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.mdp-head strong{text-transform:capitalize;flex:1}.mdp-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.mdp-dow{text-align:center;color:var(--text-muted);font-size:11px}.mdp .mdp-grid button.mdp-day{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:30px;color:var(--text);cursor:pointer;padding:0;font-size:12px}.mdp .mdp-grid button.mdp-day:hover{background:var(--accent-soft)}.mdp .mdp-grid button.mdp-day.mdp-we{background:#f1f3f8}.mdp .mdp-grid button.mdp-day.mdp-out{opacity:.25;cursor:default}.mdp .mdp-grid button.mdp-day.mdp-marked{border-style:dashed;border-color:#ea580c}.mdp .mdp-grid button.mdp-day.mdp-sel{background:var(--accent);color:#fff;border-color:var(--accent)}.mdp .mdp-head button{padding:2px 10px}.mdp-quick{margin-top:8px}.shift-chip--formation{background:var(--sector-formation)}.shift-chip--formation-night{background:var(--sector-formation-night)}.training-kind{border-top:1px solid var(--border,#e2e8f0);margin:1.5rem 0;padding-top:.5rem}.training-topic{margin:.75rem 0 1rem}.training-topic h3{margin:.5rem 0 .25rem;font-size:1rem}.training-rules{background:var(--surface-muted,#f8fafc);border:1px dashed var(--border,#cbd5e1);border-radius:6px;margin:.5rem 0 1rem;padding:.5rem .75rem}.training-rules summary{cursor:pointer;font-weight:600}.training-rules .inline-form{margin:.4rem 0}.training-form{border:1px solid var(--border,#e2e8f0);border-radius:6px;flex-wrap:wrap;align-items:flex-end;gap:.6rem 1rem;margin:.75rem 0;padding:.75rem;display:flex}.training-form label{flex-direction:column;gap:.2rem;font-size:.9rem;display:flex}.training-form-actions{gap:.5rem;display:flex}.training-choices{margin:.25rem 0;padding:0;list-style:none}.training-choices li{border-bottom:1px solid var(--border,#e2e8f0);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.4rem .6rem;display:flex}.training-choices li.is-mine{background:var(--surface-muted,#f1f5f9)}.editor-kinds{border-left:1px solid var(--border,#cbd5e1);gap:.4rem;margin-left:.5rem;padding-left:.5rem;display:inline-flex}.training-missing{margin:.5rem 0;font-size:.9rem}.training-missing summary{cursor:pointer}.training-missing ul{columns:2;margin:.3rem 0}.training-open{border:1px solid var(--border,#cbd5e1);background:var(--surface-muted,#f8fafc);border-radius:6px;padding:.5rem .75rem}.training-missing table{margin-top:.4rem}.training-missing tr.is-exempt td{color:var(--text-muted,#64748b)}@media (width<=720px){.data-table{white-space:nowrap;-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.navbar{gap:10px 14px;padding:10px 14px;font-size:14px}.nav-separator{display:none}input,select,textarea{font-size:16px!important}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,.inline-form button,.auth-form button,form button[type=submit]{min-height:44px}.navbar{position:static}.view-as-banner{padding:8px 14px;position:static}}.rules-chat{flex-direction:column;gap:10px;display:flex}.rules-chat-toolbar{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.rules-chat-toolbar select{max-width:420px}.rules-chat-log{border:1px solid var(--border,#e2e8f0);background:var(--surface-muted,#f8fafc);border-radius:8px;flex-direction:column;gap:10px;max-height:520px;padding:12px;display:flex;overflow-y:auto}.rules-msg{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:10px;max-width:88%;padding:10px 12px}.rules-msg--user{background:var(--accent-soft,#e0ecff);border-color:#0000;align-self:flex-end}.rules-msg--assistant{align-self:flex-start}.rules-msg-meta{color:var(--text-muted,#64748b);margin-bottom:4px;font-size:12px}.rules-msg-body{line-height:1.45}.rules-msg--user .rules-msg-body{white-space:pre-wrap}.rules-msg-body>:first-child{margin-top:0}.rules-msg-body>:last-child{margin-bottom:0}.rules-msg-body h1,.rules-msg-body h2,.rules-msg-body h3{margin:.8em 0 .3em;font-size:1rem}.rules-msg-body p{margin:.4em 0}.rules-msg-body ul,.rules-msg-body ol{margin:.3em 0;padding-left:1.3em}.rules-msg-body li{margin:.15em 0}.rules-msg-body code{background:var(--surface-muted,#f1f5f9);border-radius:4px;padding:0 4px;font-size:.9em}.rules-msg-body pre{background:var(--surface-muted,#f1f5f9);border-radius:6px;padding:8px;font-size:12px;overflow-x:auto}.rules-msg-body table{border-collapse:collapse;margin:.4em 0;font-size:13px}.rules-msg-body th,.rules-msg-body td{border:1px solid var(--border,#e2e8f0);text-align:left;padding:3px 8px}.rules-msg-body blockquote{border-left:3px solid var(--border,#cbd5e1);color:var(--text-muted,#64748b);margin:.4em 0;padding-left:10px}.rules-msg-typing{color:var(--text-muted,#64748b);font-style:italic}.rules-chat-input{align-items:flex-end;gap:10px;display:flex}.rules-chat-input textarea{min-height:56px;font:inherit;border:1px solid var(--border-field);border-radius:8px;flex:1;padding:8px 10px}.rules-proposal{border:1px dashed var(--border,#cbd5e1);background:var(--surface-muted,#f8fafc);border-radius:8px;margin-top:10px;padding:10px 12px}.rules-proposal--applied{border-style:solid;border-color:#16a34a}.rules-proposal-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.rules-proposal-table{margin-top:6px;font-size:13px}.rules-before{color:var(--text-muted,#64748b);text-decoration:line-through}.rules-after{font-weight:600}.rules-proposal-json{background:var(--surface,#fff);border-radius:6px;max-height:260px;padding:8px;font-size:12px;overflow:auto}.chip--ok{color:#166534;background:#dcfce7}.rules-action{border-left:3px solid var(--border,#cbd5e1);margin:8px 0;padding:6px 0 6px 10px}.rules-action-title{margin-bottom:4px;font-weight:600}.rules-action-list{margin:0;padding-left:18px}.rules-action-list span{color:var(--text-muted,#64748b)}.admin-nav-item.admin-nav-sub{justify-content:flex-start;gap:6px;padding-left:22px;font-size:.95em}.admin-nav-item.admin-nav-sub:before{content:"↳";opacity:.45}.dcal-cell--clickable{cursor:pointer}.dcal-rowsel{cursor:crosshair}.modal-backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface,#fff);border-radius:10px;width:100%;max-width:520px;max-height:90vh;padding:18px 20px;overflow-y:auto;box-shadow:0 20px 50px #0f172a4d}.modal-card h2{align-items:center;gap:8px;margin:0 0 10px;font-size:1.1rem;display:flex}.modal-card dl{grid-template-columns:max-content 1fr;gap:6px 14px;margin:0 0 12px;font-size:14px;display:grid}.modal-card dt{color:var(--text-muted,#64748b)}.modal-card dd{margin:0}.modal-card textarea{width:100%;min-height:60px;font:inherit;box-sizing:border-box;padding:6px 8px}.modal-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.modal-actions .btn-refuse,.modal-card .btn-refuse{color:#fff;background:#b91c1c;border-color:#b91c1c}.modal-card .btn-refuse:disabled{opacity:.5}.modal-card .btn-refuse-soft{color:#b91c1c;background:#fff;border:1px solid #b91c1c}.modal-message{white-space:pre-line;color:var(--text-muted,#64748b);margin:0 0 12px;font-size:14px}.dcal-groups{flex-wrap:wrap;gap:14px;margin:6px 0 10px;display:flex}.desid-bulk-bar{top:var(--navbar-h,0px);z-index:4;align-items:center;position:sticky}.stp-wrap{border:1px solid var(--border,#e2e8f0);border-radius:8px;max-height:75vh;margin-top:10px;overflow:auto}.stp-grid{border-collapse:collapse;font-size:11px}.stp-grid th,.stp-grid td{border:1px solid var(--border,#e2e8f0);vertical-align:top;white-space:nowrap;min-width:72px;padding:3px 4px}.stp-grid thead th{background:var(--surface,#fff);z-index:1;text-align:center;position:sticky;top:0}.stp-grid .stp-name{background:var(--surface,#fff);z-index:2;text-align:left;min-width:170px;font-weight:600;position:sticky;left:0}.stp-grid thead .stp-name{z-index:3}.stp-grid .stp-we{background:var(--surface-muted,#f1f5f9)}.stp-dow{color:var(--text-muted,#64748b);font-weight:400;display:block}.stp-grid .stp-absence{color:#7c2d12;font-style:italic}.data-table td.row-actions{white-space:nowrap}.data-table td.row-actions>button+button{margin-left:6px}.dcal-legend-cell{vertical-align:middle;border-radius:2px;width:16px;height:14px;display:inline-block}.acting-banner{color:#78350f;background:#fde68a}.acting-banner a{margin:0 8px}.notice-box{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;margin:0 0 14px;padding:10px 14px}.notice-box a{margin-left:4px;font-weight:600}.solver-cover{border-top:1px solid var(--border);margin-top:24px;padding-top:12px}.data-table tr.row-warning td{background:#fff7ed}.solver-cover-list{margin:8px 0 20px}.data-table tr.row-selected td{background:var(--accent-soft,#eef2ff)}.cover-comment{flex-direction:column;flex-basis:100%;gap:4px;font-size:14px;display:flex}.cover-comment textarea{min-height:56px;font:inherit;padding:6px 8px}.stp-grid tbody tr:nth-child(2n) td{background-color:#eef3fa}.stp-grid tbody tr:nth-child(2n) td.stp-we{background-color:#e4e9f1}.auth-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.auth-actions .button{background:var(--accent,#2563eb);color:#fff;border-radius:6px;padding:8px 14px;text-decoration:none;display:inline-block}.auth-actions .button.secondary{color:var(--accent,#2563eb);border:1px solid var(--accent,#2563eb);background:0 0}.dcal .dcal-name{z-index:2;background:var(--surface,#fff);min-width:250px;position:sticky;left:0}.dcal thead .dcal-name{z-index:3}.dcal .dcal-group td.dcal-name{background:var(--bg,#f8fafc)}.dcal .dcal-monthhead{text-align:left;border-left:2px solid var(--text-muted,#64748b);text-transform:capitalize;padding:3px 6px;font-size:12px;font-weight:700}.leave-badges{vertical-align:middle;flex-shrink:0;gap:3px;width:132px;margin-right:6px;display:inline-flex}.leave-badges .leave-badge{text-align:left;min-width:58px}.leave-badges.leave-badges--rf{width:182px}.leave-badges .leave-badge.leave-badge--rf{min-width:44px}.leave-badge{color:#334155;white-space:nowrap;font-variant-numeric:tabular-nums;background:#eef2f7;border-radius:4px;padding:2px 4px;font-size:10px;line-height:1}.leave-badge.leave-full{color:#92400e;background:#fef3c7}.leave-badge.leave-over{color:#b91c1c;background:#fee2e2;font-weight:700}.leave-inline{font-variant-numeric:tabular-nums;border-radius:4px;padding:0 4px}.leave-inline.leave-full{color:#92400e;background:#fef3c7}.leave-inline.leave-over{color:#b91c1c;background:#fee2e2}.site-reports{grid-template-columns:230px 1fr;align-items:start;gap:20px;display:grid}.site-reports-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.site-reports-list .is-active{font-weight:700;text-decoration:underline}.site-report{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:8px;max-width:900px;padding:16px 22px}.site-report-body h2{border-bottom:1px solid var(--border,#e2e8f0);margin:18px 0 6px;padding-bottom:3px;font-size:1.1rem}.site-report-body h3{margin:12px 0 4px;font-size:1rem}.site-report-body li{margin-bottom:4px;line-height:1.45}@media (width<=800px){.site-reports{grid-template-columns:1fr}}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{text-decoration:underline}.dcal-wrap{max-height:calc(100vh - 150px);overflow:auto}.dcal thead th{z-index:3;background:var(--surface,#fff);position:sticky;top:0}.dcal thead tr:nth-child(2) th{top:23px}.dcal thead th.dcal-name{z-index:5;left:0}.dcal thead .dcal-we{background:#f1f3f8}.notif-head{font-weight:600}.notif-detail summary{cursor:pointer;color:var(--text-muted,#64748b);margin-top:2px;font-size:.85em}.notif-detail-body{white-space:pre-line;margin-top:4px;font-size:.9em}.site-report-summary{color:var(--text-muted,#64748b);margin:2px 0 6px;font-size:.85em;line-height:1.35}.site-reports{grid-template-columns:320px 1fr}.sticky-hscroll{z-index:6;background:var(--surface,#fff);border-top:1px solid var(--border);height:16px;position:sticky;bottom:0;overflow:auto hidden}.nav-dropdown-menu{width:max-content;max-width:calc(100vw - 24px)}.navbar .nav-dropdown-menu a,.nav-dropdown-menu .link-button{white-space:nowrap}.page-section{margin:18px 0 6px}.page-section>summary{cursor:pointer;list-style:none;display:block}.page-section>summary::-webkit-details-marker{display:none}.page-section>summary h2{align-items:baseline;gap:6px;margin:0 0 8px;display:inline-flex}.page-section>summary h2:before{content:"▸";color:var(--text-muted);font-size:.8em;transition:transform .15s;display:inline-block}.page-section[open]>summary h2:before{transform:rotate(90deg)}.page-section-count{color:var(--text-muted);font-weight:500}.data-table tr.history-row{cursor:pointer}.data-table tr.history-row:hover td{background:var(--bg)}.history-caret{color:var(--text-muted);width:1em;display:inline-block}.history-summary{white-space:nowrap;text-overflow:ellipsis;max-width:420px;overflow:hidden}.data-table tr.history-detail td{background:var(--bg);padding:8px 14px 12px 34px}.swap-kind{border:none;flex-direction:column;gap:6px;width:100%;margin:0 0 6px;padding:0;display:flex}.swap-kind legend{margin-bottom:4px;font-weight:600}.swap-kind-choice{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;align-items:flex-start;gap:8px;max-width:720px;padding:8px 10px;flex-direction:row!important;font-weight:400!important;display:flex!important}.swap-kind-choice input{margin-top:3px}.swap-kind-choice--on{border-color:var(--accent);background:var(--accent-soft)}.notice-warn{border-radius:var(--radius-sm);background:#fff4d6;border:1px solid #f0c36d;margin:6px 0;padding:6px 10px;font-size:13px}.nav-dropdown-menu.nav-dropdown-menu--right{left:auto;right:0}.change-reports{margin-top:28px}.change-report{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin:8px 0;padding:8px 12px}.change-report>summary{cursor:pointer}.change-report-body h1{margin:10px 0 4px;font-size:18px}.change-report-body h2{margin:14px 0 6px;font-size:15px}.change-report-body h3{margin:10px 0 4px;font-size:13px}.change-report-body table{border-collapse:collapse;font-size:13px}.change-report-body th,.change-report-body td{border:1px solid var(--border);text-align:left;padding:3px 8px}.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}dialog.dialog{color:var(--text);background:0 0;border:none;width:100%;max-width:min(520px,100vw - 32px);max-height:90vh;padding:0;overflow:visible}dialog.dialog--wide{max-width:min(680px,100vw - 32px)}dialog.dialog .modal-card{max-width:none}dialog.dialog::backdrop{background:#0f172a73}dialog.dialog .modal-card label{color:var(--text-muted);flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}.modal-message dl{color:var(--text);grid-template-columns:max-content 1fr;gap:4px 14px;margin:10px 0 0;display:grid}.modal-message dt{color:var(--text-muted)}.modal-message dd{margin:0;font-weight:600}.modal-message ul{color:var(--text);margin:6px 0 0;padding-left:20px}.skeleton{flex-direction:column;gap:10px;margin:16px 0;display:flex}.skeleton-line{background:linear-gradient(90deg,#eceff5 25%,#f6f7fb 37%,#eceff5 63%) 0 0/400% 100%;border-radius:6px;height:14px;animation:1.4s infinite skeleton-shimmer;display:block}.skeleton-line:nth-child(3n+2){width:92%}.skeleton-line:nth-child(3n){width:64%}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton-line{animation:none}}.query-error{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:12px 0;display:flex}.query-error button{padding:4px 12px;font-size:13px}.empty-state{color:var(--text-muted);margin:14px 0}.crash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);max-width:560px;box-shadow:var(--shadow-md);margin:40px auto;padding:24px}.data-table th.sortable{padding:0}.th-sort{width:100%;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:10px 14px;display:inline-flex}.th-sort:hover{color:var(--text)}.th-sort-arrow{opacity:.45;font-size:10px}th[aria-sort=ascending] .th-sort-arrow,th[aria-sort=descending] .th-sort-arrow{opacity:1;color:var(--accent)}.th-sort:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cell-button{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;display:inline}.cell-button:hover{color:var(--accent)}.bottom-nav{z-index:15;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #10182812}.app-shell--bottom-nav main{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.app-shell--bottom-nav .sticky-hscroll{bottom:calc(58px + env(safe-area-inset-bottom,0px))}.bottom-tab-slot,.bottom-more{flex:1 1 0;min-width:0;display:flex;position:relative}.bottom-tab,.bottom-tab-slot>a{min-width:0;min-height:58px;color:var(--text-muted);font:inherit;letter-spacing:-.01em;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;padding:6px 2px;font-size:clamp(10px,2.9vw,12px);font-weight:600;line-height:1.1;text-decoration:none;display:flex;position:relative}.bottom-tab:before,.bottom-tab-slot>a:before{content:"";width:24px;height:24px;-webkit-mask:var(--tab-icon) center / contain no-repeat;-webkit-mask:var(--tab-icon) center / contain no-repeat;mask:var(--tab-icon) center / contain no-repeat;background-color:currentColor;flex-shrink:0}.bottom-tab.active,.bottom-tab-slot.active>a{color:var(--accent)}.bottom-tab:focus-visible,.bottom-tab-slot>a:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.bottom-tab .badge,.bottom-tab-slot .badge{margin:0;position:absolute;top:4px;left:calc(50% + 5px)}.bottom-tab--schedule{--tab-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E")}.bottom-tab--desiderata{--tab-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11l3 3 8-8'/%3E%3Cpath d='M20 12v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h9'/%3E%3C/svg%3E")}.bottom-tab--swaps{--tab-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 1l4 4-4 4'/%3E%3Cpath d='M3 11V9a4 4 0 0 1 4-4h14'/%3E%3Cpath d='M7 23l-4-4 4-4'/%3E%3Cpath d='M21 13v2a4 4 0 0 1-4 4H3'/%3E%3C/svg%3E")}.bottom-tab--bell>a{--tab-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E")}.bottom-tab--more{--tab-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3C/svg%3E")}.bottom-tab--sick{--tab-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18M12 13v6M9 16h6'/%3E%3C/svg%3E")}.bottom-tab--table{--tab-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M3 15h18M9 3v18'/%3E%3C/svg%3E")}.bottom-tab--inbox{--tab-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-6l-2 3h-4l-2-3H2'/%3E%3Cpath d='M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E")}.bottom-tab--absence{--tab-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M17 11l2 2 4-4'/%3E%3C/svg%3E")}.bottom-tab--sv{--tab-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E")}.bottom-more-menu{left:8px;right:8px;bottom:calc(66px + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 90px - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 90px - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);flex-direction:column;gap:2px;padding:8px;display:flex;position:fixed;overflow-y:auto}.bottom-more-section{flex-direction:column;gap:2px;display:flex}.bottom-more-section+.bottom-more-section{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.bottom-more-title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:6px 12px 2px;font-size:11px;font-weight:700}.bottom-more-menu a{border-radius:var(--radius-sm);min-height:44px;color:var(--text);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-weight:550;text-decoration:none;display:flex}.bottom-more-menu a.bottom-more-sub{padding-left:28px;font-weight:500}.bottom-more-menu a:hover,.bottom-more-menu a.active{background:var(--accent-soft);color:var(--accent)}.navbar.navbar--compact{flex-wrap:nowrap;gap:10px;min-height:0;max-height:56px;padding:6px 14px;position:static}.navbar--compact .brand{border-right:none;padding-right:0}.navbar--compact .nav-dropdown summary{padding:8px 4px}.navbar--compact .navbar-right{gap:4px}.navbar--compact .brand{min-width:44px;min-height:44px}.navbar--compact .working-period-chip{align-items:center;min-height:44px;padding:4px 12px;display:inline-flex}.navbar--compact .nav-dropdown-menu{max-width:calc(100vw - 24px)}.navbar--compact .nav-dropdown-menu .link-button,.navbar--compact .nav-dropdown-menu a{white-space:normal;align-items:center;min-height:44px;display:flex}.navbar a.nav-bell{width:44px;height:44px;color:var(--text-muted);border-bottom:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.navbar a.nav-bell:before{content:"";background-color:currentColor;width:24px;height:24px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E") 50%/contain no-repeat}.navbar a.nav-bell.active{color:var(--accent)}.navbar a.nav-bell .badge{margin:0;position:absolute;top:4px;left:24px}.navbar--compact .nav-dropdown summary:has(.nav-avatar){justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.nav-avatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.nav-dropdown[open] .nav-avatar{background:var(--accent);color:#fff}.nav-dropdown-who{border-bottom:1px solid var(--border);color:var(--text);margin:2px 10px 6px;padding-bottom:8px;font-weight:650}.nav-dropdown-who span{color:var(--text-muted);font-size:12px;font-weight:500;display:block}.admin-jump{display:none}@media (width<=900px){.admin-sidebar{display:none}.admin-jump{width:100%;color:var(--text-muted);flex-direction:column;gap:5px;padding:16px 20px 0;font-size:13px;font-weight:600;display:flex}.admin-jump select{width:100%}.admin-shell{gap:14px}}.agenda-toolbar{justify-content:space-between;align-items:center;gap:10px;margin:14px 0 6px;display:flex}.agenda-toolbar h2{margin:0}.agenda{flex-direction:column;gap:6px;margin-top:6px;padding:0;list-style:none;display:flex}.agenda-day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:8px 12px;scroll-margin-top:12px}.agenda-day--today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--shadow-sm)}.agenda-day-head{justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 2px;font-size:14px;font-weight:650;display:flex}.agenda-day-tag{background:var(--accent-soft);color:var(--accent);border-radius:999px;flex-shrink:0;padding:1px 9px;font-size:12px;font-weight:700}.agenda-day--today .agenda-day-tag{background:var(--accent);color:#fff}.agenda-shift{align-items:stretch;gap:10px;padding:4px 0;display:flex}.agenda-shift+.agenda-shift{border-top:1px solid var(--border)}.agenda-sector{width:6px;box-shadow:none;border-radius:3px;flex-shrink:0;padding:0}.agenda-shift-body{flex-direction:column;gap:1px;min-width:0;display:flex}.agenda-line{flex-wrap:wrap;align-items:baseline;column-gap:8px;display:flex}.agenda-time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:750}.agenda-name{min-width:0;font-weight:550}.agenda-colleagues{color:var(--text)}.agenda-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.night-pill{color:#fff;background:#1e2a4a;border-radius:999px;align-items:center;gap:3px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.agenda-absence{border-radius:var(--radius-sm);background:repeating-linear-gradient(45deg,#e9ecf3,#e9ecf3 6px,#f5f7fa 6px 12px);border:1px dashed #b8bfcc;padding:6px 10px;font-weight:550}.schedule-options{margin-top:12px}.schedule-options>summary{border:1px solid var(--border-field);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;align-items:center;gap:6px;min-height:44px;padding:8px 14px;font-weight:600;list-style:none;display:inline-flex}.schedule-options>summary::-webkit-details-marker{display:none}.schedule-options[open]>summary{border-color:var(--accent);color:var(--accent)}.schedule-options .inline-form{margin-top:8px}@media (width<=720px){.data-table.data-table--cards{white-space:normal;box-shadow:none;background:0 0;border:none;display:block;overflow:visible}.data-table--cards thead{display:none}.data-table--cards tbody{flex-direction:column;gap:10px;display:flex}.data-table--cards tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:8px 12px;display:block}.data-table--cards tbody tr:hover{background:var(--surface)}.data-table--cards td{border-bottom:1px solid var(--border);white-space:normal;grid-template-columns:minmax(96px,36%) 1fr;gap:10px;padding:5px 0;display:grid}.data-table--cards td:last-child{border-bottom:none}.data-table--cards td:before{content:attr(data-label);color:var(--text-muted);font-size:12px;font-weight:650}.data-table--cards td:not([data-label]),.data-table--cards td[data-label=""]{display:block}.data-table--cards td:not([data-label]):before,.data-table--cards td[data-label=""]:before{content:none}.data-table--cards td:empty{display:none}.data-table--cards td.row-actions{white-space:normal}.data-table--cards td.row-actions>button{min-height:40px;margin:4px 6px 0 0}.data-table--cards td.row-actions>button+button{margin-left:0}}.data-table tr.notif-row--new td{background:var(--accent-soft)}.new-pill{background:var(--accent);color:#fff;white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700;display:inline-block}.notif-open{color:var(--accent);font-weight:600}.dcal-cell-btn,.dcal-day-btn{width:100%;height:100%;min-height:18px;color:inherit;font:inherit;text-align:center;cursor:inherit;background:0 0;border:none;border-radius:0;margin:0;padding:0;display:block}.dcal-cell-btn{cursor:pointer}.dcal-cell-btn:focus-visible,.dcal-day-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dcal-rowsel{touch-action:none}.review-bulk{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0 0;display:flex}.review-bulk button{padding:6px 12px;font-size:13px}@media (width<=720px){.page{padding:18px 14px 40px}.admin-jump{padding:14px 14px 0}h1{font-size:22px}.page-header .tabs{max-width:100%;overflow-x:auto}.tab{white-space:nowrap;min-height:40px}.week-nav{gap:8px}.week-nav strong{flex-basis:100%;order:-1}}button.shift-open{font-size:inherit;font-weight:inherit;text-align:left;cursor:pointer;border:0;transition:filter .12s}button.shift-open:hover{filter:brightness(1.1)}button.shift-open:active{transform:none}button.grid-cell-doctor.shift-open{width:100%;line-height:inherit}button.grid-unfilled.shift-open{background:0 0;width:100%;padding:2px 0;font-size:12px}button.grid-unfilled.shift-open:hover{filter:none;text-decoration:underline}button.shift-open--plain{width:100%;color:inherit;background:0 0;border-radius:0}button.shift-open--plain:hover{filter:none;background:var(--accent-soft)}button.shift-chip.shift-open{padding:7px 12px}.shift-detail-chip{border-radius:4px;flex-shrink:0;width:14px;height:14px;padding:0;display:inline-block}.shift-detail-date{letter-spacing:-.01em;margin:0 0 4px;font-size:1.35rem;font-weight:750}.shift-detail-time{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 14px;font-size:1.05rem;font-weight:650;display:flex}.shift-detail-duration{color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:1px 9px;font-size:13px;font-weight:550}.shift-detail-facts{margin-bottom:16px!important}.shift-detail-holder{font-weight:650}.shift-detail-vacant{color:var(--error);font-style:italic}.shift-detail-section{border-top:1px solid var(--border);margin-top:4px;padding-top:12px}.shift-detail-section h3{margin:0 0 10px;font-size:.95rem}.shift-history{border-left:2px solid var(--border);flex-direction:column;gap:12px;margin:0 0 14px;padding:0 0 0 14px;list-style:none;display:flex}.shift-history-item{grid-template-columns:84px 1fr;gap:10px;font-size:14px;display:grid;position:relative}.shift-history-item:before{content:"";background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:5px;left:-20px}.shift-history-date{color:var(--text-muted);font-variant-numeric:tabular-nums;padding-top:1px;font-size:13px}.shift-history-body{flex-direction:column;gap:2px;min-width:0;display:flex}.shift-history-move{font-weight:650}.shift-history-source{color:var(--text-muted);font-size:13px}.shift-history-note{color:var(--text);background:var(--bg);border-radius:var(--radius-sm);overflow-wrap:anywhere;margin-top:2px;padding:4px 8px;font-size:13px}.shift-reassign{flex-direction:column;gap:10px;display:flex}.shift-reassign select{width:100%}@media (width<=480px){.shift-history-item{grid-template-columns:1fr;gap:2px}}.button-secondary{background:var(--surface);color:var(--accent);border:1px solid var(--accent)}.button-secondary:hover:not(:disabled){background:var(--accent-soft)}.sv-page .tabs.sv-tabs{flex-wrap:wrap;margin:8px 0 14px;display:inline-flex}.sv-tabs a.tab{text-decoration:none}.sv-period-select{color:var(--text-muted);font-size:13px;font-weight:600}.sv-table-wrap{overflow-x:auto}.sv-table-wrap .data-table{margin-top:8px}.sv-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sv-num-input{text-align:right;width:64px}.sv-code-input{text-transform:uppercase;width:74px}.sv-nowrap{white-space:nowrap}.sv-badge{background:var(--accent-soft);color:var(--accent);vertical-align:middle;border-radius:999px;margin-left:4px;padding:0 5px;font-size:10px;font-weight:650;line-height:16px;display:inline-block}.sv-badge--b{color:#5b21b6;background:#ede9fe}.sv-badge--warn{color:#8a5a00;background:#fff4d6}.sv-dot{vertical-align:baseline;border-radius:50%;width:10px;height:10px;margin-right:5px;display:inline-block}.sv-code{letter-spacing:.02em;white-space:nowrap;border-radius:3px;padding:0 4px;font-size:11px;font-weight:700;line-height:16px;display:inline-block}.sv-code--backup{color:#5b21b6;background:#f5f3ff;box-shadow:inset 0 0 0 1px #8b5cf6}.sv-legend{flex-wrap:wrap;margin:8px 0}.sv-swatch-pink{background:#fce7f3;box-shadow:inset 0 0 0 2px #ec4899}.sv-swatch-off{background:repeating-linear-gradient(135deg,#e5e7eb 0 2px,#f8fafc 2px 6px)}.sv-q{color:var(--text-muted);font-size:.9em;font-weight:400}.sv-q-ok{color:#166534;background:#dcfce7}.sv-q-near{color:#8a5a00;background:#fff4d6}.sv-q-bad{background:var(--error-soft);color:var(--error)}.sv-inline-q{background:0 0;font-size:12px}.sv-toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px 16px;margin:10px 0 4px;display:flex}.sv-seg{border:1px solid var(--border-field);border-radius:var(--radius-sm);flex-wrap:wrap;display:inline-flex;overflow:hidden}.sv-seg .sv-seg-btn{background:var(--surface);color:var(--text);border:none;border-right:1px solid var(--border);border-radius:0;padding:6px 10px;font-size:13px;font-weight:550}.sv-seg .sv-seg-btn:last-child{border-right:none}.sv-seg .sv-seg-btn:hover:not(:disabled):not(.active){background:var(--accent-soft)}.sv-seg .sv-seg-btn.active{background:var(--accent);color:#fff}.sv-note{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.sv-note input{min-width:220px}.sv-months{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:12px 0;display:grid}.sv-busy{opacity:.7}.sv-month{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px}.sv-month h3{text-transform:capitalize;margin-bottom:6px}.sv-month-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.sv-dow{text-align:center;color:var(--text-muted);font-size:11px}.sv-month-grid button.sv-day{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:38px;color:var(--text);text-align:left;vertical-align:top;touch-action:manipulation;-webkit-user-select:none;user-select:none;padding:2px 3px;font-size:12px;font-weight:550;position:relative}.sv-month-grid button.sv-day:hover:not(:disabled){border-color:var(--accent)}.sv-month-grid button.sv-day--we{background:#f1f3f8}.sv-month-grid button.sv-day--out{opacity:.25}.sv-month-grid button.sv-day:disabled:not(.sv-day--out){cursor:default;opacity:1}.sv-month-grid button.sv-day--sel,.sv-month-grid button.sv-day--anchor{outline:2px solid var(--accent);outline-offset:-2px}.sv-month-grid button.sv-day--today .sv-day-num{text-decoration:underline}.sv-day-num{line-height:1;display:block}.sv-day-tag{letter-spacing:-.2px;white-space:nowrap;font-size:10px;font-weight:750;line-height:1;position:absolute;bottom:3px;right:3px}.sv-day-reason{background:currentColor;border-radius:50%;width:5px;height:5px;position:absolute;bottom:4px;left:4px}.sv-recurring{margin-top:16px}.sv-recurring li{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sv-quota-table{max-width:640px}.sv-grid-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;margin:4px 0 6px;display:flex}.sv-grid-toolbar label{color:var(--text-muted);font-size:13px;font-weight:600}.sv-status-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sv-grid-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:240px;max-height:calc(100vh - 230px);box-shadow:var(--shadow-sm);overflow:auto}.sv-grid{border-collapse:separate;border-spacing:0;font-size:12px}.sv-grid th,.sv-grid td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:0}.sv-grid thead th{z-index:3;background:var(--bg);text-align:center;white-space:nowrap;padding:3px 2px;font-weight:650;position:sticky;top:0}.sv-grid .sv-name-col{z-index:2;background:var(--surface);text-align:left;white-space:nowrap;text-overflow:ellipsis;min-width:170px;max-width:220px;padding:3px 8px;font-weight:600;position:sticky;left:0;overflow:hidden}.sv-grid thead .sv-name-col{z-index:4;background:var(--bg)}.sv-grid th.sv-we,.sv-grid td.sv-we{background-color:#eef0f6}.sv-grid thead th.sv-we{background:#e3e7f1}.sv-grid th.sv-day-col,.sv-grid td.sv-cell,.sv-grid td.sv-missing{width:60px;min-width:60px;max-width:60px}.sv-grid thead th.sv-fri{box-shadow:inset 0 -2px #6366f1}.sv-th-dow,.sv-th-date,.sv-th-hol{line-height:1.2;display:block}.sv-th-dow{color:var(--text-muted);text-transform:uppercase;font-size:10px}.sv-th-hol{color:#b45309;font-size:9px}.sv-cell{min-width:46px;height:34px}.sv-cell .sv-cell-btn{width:100%;min-height:34px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:0;flex-wrap:wrap;place-content:center;gap:2px;padding:2px;font-size:11px;display:flex;position:relative}.sv-cell div.sv-cell-btn{cursor:default}.sv-cell button.sv-cell-btn:hover{box-shadow:inset 0 0 0 2px var(--accent);background:#2f6feb14}.sv-cell.sv-off{background:repeating-linear-gradient(135deg,#e5e7eb 0 2px,#f8fafc 2px 7px)}.sv-cell.sv-pink .sv-cell-btn{background-color:#fce7f38c;box-shadow:inset 0 0 0 2px #ec4899}.sv-desi-letter{color:#374151;font-weight:750}.sv-desi-window{white-space:nowrap;font-size:9px;font-weight:600;line-height:1.1;display:block}.sv-desi-dot{background:#374151;border-radius:50%;width:5px;height:5px;position:absolute;top:3px;left:3px}.sv-bk{margin-left:1px;font-size:8px;font-weight:750}.sv-bk--todo{color:#fde047}.sv-hrs{margin-left:2px;font-size:8px;font-weight:650}.sv-cv-actions{gap:8px;margin-top:6px;display:grid}.sv-cv-actions select,.sv-cv-actions input{max-width:100%}.sv-warn{color:#b91c1c;font-size:10px;line-height:1;position:absolute;top:0;right:1px}.sv-warn--light{color:#c2410c;opacity:.8}.sv-warn--high{color:#6d28d9;font-size:12px;font-weight:900}.sv-count{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding:2px 6px!important}.sv-count-col{min-width:52px}.sv-grid tfoot td,.sv-grid tfoot th{z-index:2;background:#fff7f7;position:sticky;bottom:0}.sv-grid tfoot th.sv-name-col{z-index:4;color:var(--error)}.sv-missing{vertical-align:top;text-align:center;padding:2px 1px!important}.sv-missing-code{color:var(--error);white-space:nowrap;font-size:10px;font-weight:700;line-height:1.25;display:block}.sv-missing-alt{overflow-wrap:anywhere;white-space:normal;display:block}.sv-missing-or{font-weight:400}.sv-warn-panel{margin-top:18px}.sv-warn-panel .page-header h2{margin:0}.sv-warn-filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sv-warn-list{flex-direction:column;gap:3px;margin:8px 0;padding:0;font-size:13px;list-style:none;display:flex}.sv-warn-item{background:var(--surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:3px solid #dc2626;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:4px 8px;display:flex}.sv-warn-item--light{color:var(--text-muted);border-left-color:#f59e0b}.sv-warn-item--high{background:#f5f3ff;border-left:4px solid #7c3aed;font-weight:600}.sv-warn-kind{min-width:140px;font-weight:650}.sv-warn-who{min-width:150px}.sv-cell-desi{background:var(--bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:4px solid;padding:4px 8px}.sv-pick{border:1px solid var(--border);border-radius:var(--radius-md);margin:8px 0;padding:8px 10px}.sv-pick legend{padding:0 4px;font-size:13px;font-weight:650}.sv-pick-group{flex-wrap:wrap;align-items:center;gap:4px 8px;margin:4px 0;display:flex}.sv-pick-cat{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-basis:100%;font-size:11px;font-weight:650}.sv-pick-item{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:5px;padding:3px 8px;font-size:13px;display:inline-flex}.sv-pick-item--on{border-color:var(--accent);background:var(--accent-soft)}.sv-pick-label{color:var(--text-muted);font-size:12px}.sv-backup-pick{border-radius:var(--radius-sm);background:#f5f3ff;margin:8px 0;padding:8px 10px}.sv-backup-pick label{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.sv-history{margin-top:10px;font-size:13px}.sv-history ul{margin:6px 0 0;padding-left:18px}.sv-row-review td{background:#fff9e6}.sv-row-current td{background:var(--accent-soft)}.sv-stats-table th,.sv-stats-table td{padding:6px 8px}.sv-stats-table tbody th{text-align:left;white-space:nowrap;font-weight:600}.sv-total-row th,.sv-total-row td{background:var(--bg);font-weight:700}.sv-extra-list{columns:3 220px;margin:6px 0 10px;padding-left:18px;font-size:13px}.sv-st-table td,.sv-pool-table td,.sv-quota-edit td{vertical-align:middle;padding:5px 6px}.sv-st-table input[type=color]{vertical-align:middle;width:32px;height:26px;margin-right:4px;padding:0}@media (width<=720px){.sv-months{grid-template-columns:1fr}.sv-month-grid button.sv-day{height:44px}.sv-note input{width:100%;min-width:0}.sv-grid-wrap{max-height:calc(100vh - 180px)}.sv-grid .sv-name-col{min-width:110px;max-width:130px}}dialog.dialog .modal-card label.sv-pick-item{color:var(--text);flex-direction:row;align-items:center;font-weight:550}dialog.dialog .modal-card .sv-backup-pick label{flex-flow:wrap;align-items:center}.data-table.sv-stats-table tbody th{text-transform:none;letter-spacing:0;color:var(--text);background:var(--surface);font-size:14px}.data-table.sv-stats-table tfoot th{text-transform:none;letter-spacing:0;color:var(--text);font-size:14px}.sv-grid .sv-count-col,.sv-grid td.sv-count{z-index:1;width:60px;min-width:60px;max-width:60px;position:sticky}.sv-grid td.sv-count{background-color:var(--surface)}.sv-grid td.sv-count.sv-q-ok{background-color:#dcfce7}.sv-grid td.sv-count.sv-q-near{background-color:#fff4d6}.sv-grid td.sv-count.sv-q-bad{background-color:var(--error-soft)}.sv-grid thead .sv-count-col{z-index:4}.sv-grid :is(th,td):nth-last-child(1 of .sv-count-col,.sv-count){width:84px;min-width:84px;max-width:84px;right:0}.sv-grid :is(th,td):nth-last-child(2 of .sv-count-col,.sv-count){right:84px}.sv-grid :is(th,td):nth-last-child(3 of .sv-count-col,.sv-count){right:144px}.sv-grid :is(th,td):nth-last-child(4 of .sv-count-col,.sv-count){right:204px}.sv-grid :is(th,td):nth-last-child(5 of .sv-count-col,.sv-count){right:264px}.sv-grid :is(th,td):nth-last-child(6 of .sv-count-col,.sv-count){box-shadow:inset 2px 0 0 var(--border-field);right:324px}.sv-grid tfoot td.sv-count-foot{z-index:2;width:384px;position:sticky;right:0}.sv-backup-table td:nth-child(-n+3){white-space:nowrap}.data-table.sv-stats-table{font-size:13px}.data-table.sv-stats-table th,.data-table.sv-stats-table td{padding:6px 5px}.data-table.sv-stats-table thead th{letter-spacing:.02em;font-size:10.5px}.data-table.sv-stats-table th .th-sort{gap:2px}.data-table.sv-stats-table tr>:first-child{z-index:1;background:var(--surface);padding-left:10px;position:sticky;left:0}.data-table.sv-stats-table thead tr>:first-child,.data-table.sv-stats-table tfoot tr>:first-child{background:var(--bg)}.data-table.sv-stats-table thead th.sortable{padding:0 1px}.data-table.sv-stats-table .th-sort{padding:8px 4px}.sv-row-actions{align-items:center;gap:10px;display:flex}.sv-row-actions .link-button{font-weight:500}.sv-period-select{min-width:0;max-width:100%}.sv-period-select select{max-width:100%}@media (width<=720px){.sv-page .page-header>div,.sv-period-select,.sv-period-select select{width:100%}}.sv-schedule-toolbar{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:4px 0 10px;display:flex}.sv-toolbar-spacer{flex:1}.sv-nav{flex-wrap:wrap;align-items:center;gap:6px 8px;margin:10px 0 8px;display:flex}.sv-nav .button-secondary{padding:5px 10px;font-size:13px}.sv-nav-label{margin-left:6px;font-size:15px}.sv-capitalize{text-transform:capitalize}.sv-section-title{margin:22px 0 2px;font-size:17px}.sv-panels{flex-direction:column;gap:8px;margin-top:18px;display:flex}.sv-slot-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);overflow:auto}.sv-slot{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:13px}.sv-slot--compact{width:auto;font-size:11px}.sv-slot th,.sv-slot td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:0}.sv-slot thead th{z-index:3;background:var(--bg);text-align:center;padding:4px 2px;font-weight:650;position:sticky;top:0}.sv-slot .sv-slot-rowhead{z-index:2;background:var(--surface);text-align:left;vertical-align:middle;width:128px;padding:4px 8px;position:sticky;left:0}.sv-slot--compact .sv-slot-rowhead{white-space:nowrap;text-overflow:ellipsis;width:104px;min-width:104px;overflow:hidden}.sv-slot thead .sv-slot-rowhead{z-index:4;background:var(--bg)}.sv-slot-label{font-weight:650;display:block}.sv-slot-codes{color:var(--text-muted);font-size:10px;font-weight:500;display:block}.sv-slot--compact .sv-slot-day,.sv-slot--compact .sv-slot-cell{width:64px;min-width:64px}.sv-slot th.sv-we,.sv-slot td.sv-we{background-color:#eef0f6}.sv-slot thead th.sv-we{background:#e3e7f1}.sv-slot thead th.sv-today{background:var(--accent);color:#fff}.sv-slot thead th.sv-today .sv-th-dow,.sv-slot thead th.sv-today .sv-th-hol{color:#fff}.sv-slot td.sv-today{box-shadow:inset 2px 0 0 var(--accent), inset -2px 0 0 var(--accent)}.sv-slot tbody tr:last-child td.sv-today{box-shadow:inset 2px 0 0 var(--accent), inset -2px 0 0 var(--accent), inset 0 -2px 0 var(--accent)}.schedule-grid thead th.is-today{background:var(--accent);color:#fff}.schedule-grid td.is-today{box-shadow:inset 2px 0 0 var(--accent), inset -2px 0 0 var(--accent)}.schedule-grid tbody tr:last-child td.is-today{box-shadow:inset 2px 0 0 var(--accent), inset -2px 0 0 var(--accent), inset 0 -2px 0 var(--accent)}.sv-th-today{text-transform:uppercase;letter-spacing:.04em;font-size:9px;font-weight:600;display:block}.sv-slot-cell{vertical-align:top;height:40px}.sv-slot-none,.sv-swatch-none{background:repeating-linear-gradient(135deg,#eceef2 0 3px,#f7f8fa 3px 8px)!important}.sv-slot-tofill,.sv-swatch-tofill{box-shadow:inset 0 0 0 1px #fca5a5;background-color:#fff1f1!important}.sv-slot-btn{width:100%;height:100%;min-height:40px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;flex-direction:column;align-items:stretch;gap:2px;padding:3px 4px;display:flex}.sv-slot-btn:hover{box-shadow:inset 0 0 0 2px var(--accent);background:#2f6feb14}.sv-slot-static,.sv-slot-static:hover{cursor:default;box-shadow:none;background:0 0}.sv-slot-name{border-radius:4px;padding:1px 4px;line-height:1.3;display:block}.sv-slot-who{white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.sv-slot-me,.sv-swatch-me{background:#fff3c4;box-shadow:inset 0 0 0 1px #e0b100}.sv-slot-me .sv-slot-who{font-weight:800}.sv-slot-pink{background:#fce7f3;box-shadow:inset 0 0 0 1px #ec4899}.sv-slot-me.sv-slot-pink{box-shadow:inset 0 0 0 2px #ec4899}.sv-slot-tag{color:#374151;vertical-align:1px;background:#e5e7eb;border-radius:3px;margin-left:4px;padding:0 3px;font-size:9px;font-weight:700}.sv-slot-bk{color:#5b21b6;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;display:block;overflow:hidden}.sv-slot-bk--todo{color:var(--text-muted);font-style:italic}.sv-slot-bk--review:after{content:" (à revoir)";color:#8a5a00}.sv-slot--compact .sv-slot-bk--review:after{content:" ?"}.sv-slot-missing{color:var(--error);font-size:10.5px;font-weight:700;display:block}.sv-slot-bk--me{background:#fff4c2;border-radius:3px;padding:0 2px;font-weight:700}.sv-avail-cell{text-align:center;vertical-align:middle;white-space:nowrap;height:26px;font-size:10px;font-weight:650}.sv-avail-off,.sv-avail .sv-avail-off{background:repeating-linear-gradient(135deg,#e5e7eb 0 2px,#f8fafc 2px 6px)!important}.sv-avail-free{background-color:#f0fdf4}.sv-avail-duty{color:#1e3a8a;background-color:#dbeafe}.sv-avail-unav{color:#991b1b;background-color:#fde2e2}.sv-avail-unav--day{background:linear-gradient(#fde2e2 0 58%,#f0fdf4 58% 100%)}.sv-avail-unav--night{background:linear-gradient(0deg,#fde2e2 0 58%,#f0fdf4 58% 100%)}.sv-avail-vac{color:#4c1d95;background:repeating-linear-gradient(45deg,#ddd6fe 0 5px,#ede9fe 5px 10px)}.sv-avail-orange{color:#9a3412;background-color:#ffedd5}.sv-avail-green{color:#166534;background-color:#dcfce7}.sv-avail-btn{width:100%;min-height:26px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:0;padding:0 2px}.sv-avail-btn:hover{box-shadow:inset 0 0 0 2px var(--accent)}.sv-avail-me th{background:#fff3c4!important}.sv-exchange-form{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 14px;margin:12px 0;display:grid}.sv-exchange-form label{flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.sv-exchange-note{grid-column:1/-1}.sv-exchange-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);margin:10px 0;padding:8px 12px}.sv-exchange-preview h3{margin:0 0 4px;font-size:14px}.sv-exchange-person{margin:6px 0}.sv-exchange-actions{background:var(--bg);border-radius:var(--radius-sm);flex-direction:column;gap:6px;margin:10px 0;padding:8px 10px;display:flex}.sv-exchange-actions-title{font-size:13px;font-weight:700}.sv-exchange-actions-row,.sv-post-actions,.sv-assign{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sv-exchange-actions-row .button-secondary,.sv-post-actions .button-secondary{padding:4px 10px;font-size:13px}.sv-post-list{flex-direction:column;gap:8px;margin:8px 0;padding:0;list-style:none;display:flex}.sv-post{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px}.sv-post--me{background:#fffbea;border-color:#e0b100}.sv-post-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sv-post-actions{margin-top:6px}.sv-badge--pink{color:#9d174d;background:#fce7f3}.sv-tofill-text{color:var(--error)}.sv-assign{border-top:1px solid var(--border);margin:10px 0;padding-top:10px}.sv-assign label{align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.sv-backup-current{margin:0 0 6px;font-size:13px}.sv-log-table td,.sv-log-table th{vertical-align:top;padding:6px 8px;font-size:13px}.sv-log-cancelled td{color:var(--text-muted);background:#fafafa}.sv-private{color:var(--text-muted);text-align:center;font-style:italic}.sv-row-input{width:140px}@media (width<=720px){.sv-nav-long{display:none}.sv-nav-label{flex-basis:100%;margin-left:0}.sv-slot{width:auto;font-size:12px}.sv-slot .sv-slot-rowhead{width:78px;min-width:78px;padding:3px 5px;font-size:11px}.sv-slot-codes{display:none}.sv-slot-day,.sv-slot-cell{width:74px;min-width:74px}.sv-slot-btn{padding:2px}}.calendar-quick-add{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;font-size:14px;display:flex}.calendar-sync--compact h3{margin:16px 0 6px;font-size:15px}.alias-editor{border-top:1px solid var(--border);margin-top:22px;padding-top:14px}.alias-rules{flex-direction:column;gap:6px;margin:8px 0;padding-left:22px;display:flex}.alias-rules li,.alias-add{flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.alias-rules input,.alias-add input{width:170px}.alias-add{margin:8px 0}.alias-suggestions{flex-wrap:wrap;align-items:center;gap:4px 6px;margin:6px 0;display:flex}.alias-chip{border:1px solid var(--border-field);background:var(--surface);color:var(--text);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:500}.alias-chip:hover{background:var(--accent-soft)}.alias-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;display:flex}.alias-preview-title{margin:14px 0 4px;font-size:14px}.alias-preview td{padding:4px 8px;font-size:13px}.alias-changed{color:#166534;font-weight:700}.navbar .nav-print-button{padding:6px 2px;font-size:14px}.print-dialog fieldset{border:none;min-width:0;margin:0 0 12px;padding:0}.print-dialog legend{color:var(--text);margin-bottom:6px;padding:0;font-size:13px;font-weight:650}dialog.dialog .modal-card .print-dialog label.checkbox-inline{color:var(--text);font-size:14px;font-weight:500}.print-dialog-choices,.print-dialog-options{flex-wrap:wrap;align-items:center;gap:6px 18px;display:flex}.print-dialog-sectors{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.print-dialog-week{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.print-dialog-week input[type=date]{margin-left:auto}.print-dialog-cols{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0 16px;display:grid}.print-dialog-cols fieldset label.checkbox-inline{margin-bottom:3px;display:flex}.print-dialog-all{margin-left:6px;font-size:12px;font-weight:500}.print-page{box-sizing:border-box;color:#111827;background:#e5e7eb;min-height:100vh;padding:16px}.print-toolbar{max-width:var(--print-w,277mm);flex-wrap:wrap;align-items:center;gap:10px;margin:0 auto 12px;display:flex}.print-sheet{--print-zoom:1;width:calc(var(--print-w,277mm) / var(--print-zoom));zoom:var(--print-zoom);color:#111827;box-sizing:border-box;background:#fff;margin:0 auto;font:9pt/1.25 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Arial,sans-serif;box-shadow:0 2px 10px #00000026}.print-sheet--compact{font-size:7.5pt}.print-title{margin:0 0 5px;font-size:13pt;font-weight:700}.print-sheet--compact .print-title{font-size:11pt}.print-notice{color:#7c2d12;border:1px solid #b45309;margin:0 0 5px;padding:3px 6px;font-size:.95em}.print-table{border-collapse:collapse;table-layout:fixed;width:100%}.print-table .print-col-head{width:15%}.print-table--sv .print-col-head{width:13%}.print-table thead{display:table-header-group}.print-table tr{break-inside:avoid;page-break-inside:avoid}.print-table th,.print-table td{vertical-align:top;text-align:left;overflow-wrap:anywhere;border:1px solid #6b7280;padding:2px 4px}.print-sheet--compact .print-table th,.print-sheet--compact .print-table td{padding:1px 3px}.print-table thead th{text-align:center;background:#f3f4f6;font-weight:700}.print-table .print-rowhead{font-weight:650}.print-hol{font-size:.85em;font-style:italic;font-weight:500;display:block}.print-codes{color:#4b5563;font-size:.8em;font-weight:400;display:block}.print-name+.print-name{margin-top:1px}.print-tag{color:#4b5563;margin-left:4px;font-size:.85em}.print-backup{color:#374151;font-size:.85em;font-style:italic}.print-tofill{font-style:italic;font-weight:650}.print-sector th{text-align:left;background:#e5e7eb;padding-top:1px;padding-bottom:1px;font-weight:700}.print-sheet .print-table td.print-none,.print-none-swatch{background:repeating-linear-gradient(135deg,#f3f4f6 0 4px,#d1d5db 4px 5px)}.print-none-swatch{vertical-align:middle;border:1px solid #9ca3af;width:14px;height:9px;display:inline-block}.print-sheet .print-table .print-nopub{background:#f3f4f6}.print-legend{color:#374151;flex-wrap:wrap;gap:2px 14px;margin-top:4px;font-size:.85em;display:flex}.print-stamp{margin-left:auto}.print-sheet--color .print-we{background:#eef2ff}.print-sheet--color thead .print-we{background:#dbe4ff}.print-sheet--color .print-tofill{color:#b91c1c}.print-sheet--color .print-cell-tofill{background:#fdecea}.print-sheet--color .print-sector th{background:#eef0f4}.print-sheet--color .print-sector--ambulatoire th{border-left:5px solid var(--sector-ambulatoire)}.print-sheet--color .print-sector--couche th{border-left:5px solid var(--sector-couche)}.print-sheet--color .print-sector--reanimation th{border-left:5px solid var(--sector-reanimation)}.print-sheet--color .print-sector--observation th{border-left:5px solid var(--sector-observation)}.print-sheet--color .print-sector--smur th{border-left:5px solid var(--sector-smur)}.print-sheet--color .print-sector--azc th{border-left:5px solid var(--sector-azc)}.print-sheet--color .print-sector--astreinte th{border-left:5px solid var(--sector-astreinte)}.print-sheet--color .print-sector--formation th{border-left:5px solid var(--sector-formation)}.print-sheet--color .print-sector--recherche th,.print-sheet--color .print-sector--simulation th{border-left:5px solid #9ca3af}.print-sheet--bw .print-table thead th,.print-sheet--bw .print-sector th{background:#fff}.print-sheet--bw .print-sector th{text-transform:uppercase;letter-spacing:.03em}.print-sheet--bw thead .print-we{text-decoration:underline}.print-sheet{-webkit-print-color-adjust:exact;print-color-adjust:exact}@media print{html,body{background:#fff!important}.print-page{background:#fff;min-height:0;padding:0}.print-toolbar{display:none!important}.print-sheet{box-shadow:none;margin:0}}.hint-inline--wrap{white-space:normal}.swap-feedback{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);margin:12px 0 16px;padding:10px 14px;font-size:14px}.swap-feedback p{margin:0 0 4px;font-weight:600}.swap-feedback ul{margin:4px 0 6px;padding-left:20px}.swap-feedback--success{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.swap-feedback--info{background:var(--accent-soft);color:#1e3a8a;border-color:#b8cdf6}.swap-feedback--error{background:var(--error-soft);color:var(--error);border-color:#f5b5ae}.inline-form label.swap-field{width:300px;max-width:100%}.swap-field select{width:100%}.inline-form .implement-error{flex-basis:100%;margin:4px 0 0}.inline-form label.swap-exception-toggle{flex-direction:row;align-items:center;gap:6px;width:100%;font-weight:400}.swap-exception-note{width:100%;line-height:1.45}.swap-exception-note ul{margin:4px 0 6px;padding-left:18px}.inline-form .swap-exception-note label.free-form-field{width:100%;margin-top:6px}.swap-exception-note textarea{box-sizing:border-box;width:100%}.notice-closed{border-radius:var(--radius-sm);background:#fff8e6;border:1px solid #f0c36d;margin:12px 0;padding:10px 14px}.notice-closed p{margin:0 0 8px}.notice-closed p:last-child{margin-bottom:0}.notice-closed button{white-space:normal;text-align:left;max-width:100%}.agenda-week{margin-top:6px}.agenda-week-head{z-index:1;background:var(--bg);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:10px 0 0;padding:6px 0;font-size:13px;font-weight:700;position:sticky;top:0}.agenda-more{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 4px;display:flex}.day-nav{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 6px;display:flex}.day-nav>button{min-width:44px;min-height:44px}.day-nav-date input{min-height:44px}.day-view-title{flex-wrap:wrap;align-items:baseline;gap:10px;margin:8px 0 10px;display:flex}@media (width<=720px){.data-table--cards td{overflow-wrap:anywhere}.data-table--cards .hint-inline{white-space:normal}.inline-form select,.inline-form input:not([type=checkbox]):not([type=radio]){max-width:100%}}.shift-exceptional{opacity:.9;font-size:.85em;font-weight:600}.day-group .shift-chip{flex-wrap:wrap;min-width:0;max-width:100%}.day-group .shift-chip-name{overflow-wrap:break-word;min-width:0}.day-group .shift-chip-doctor{overflow-wrap:break-word;flex:100%;min-width:0}.overflow-menu{flex-shrink:0;position:relative}.overflow-menu-button{background:var(--surface);width:44px;height:44px;color:var(--text);border:1px solid var(--border-field);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:0;font-size:22px;line-height:1;display:inline-flex}.overflow-menu-button:hover:not(:disabled),.overflow-menu-button[aria-expanded=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.overflow-menu-panel{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:240px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-md);flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.overflow-menu-panel>button,.overflow-menu-panel>a{border-radius:var(--radius-sm);min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;padding:10px 12px;font-size:15px;font-weight:550;text-decoration:none;display:flex}.overflow-menu-panel>button:hover:not(:disabled),.overflow-menu-panel>a:hover{background:var(--accent-soft);color:var(--accent)}.overflow-menu-panel>button:disabled{color:var(--text-muted);cursor:default}.overflow-menu-panel>hr{border:none;border-top:1px solid var(--border);width:100%;margin:4px 0}.sv-schedule-toolbar--mobile{flex-wrap:nowrap;gap:8px}.sv-seg--compact{flex-wrap:nowrap;min-width:0}.sv-seg--compact .sv-seg-btn{min-height:44px;padding:6px 12px;font-size:14px}.sv-desktop-hint{margin:4px 0 0}.sv-day-nav{align-items:center;gap:8px;margin:6px 0 10px;display:flex}.sv-day-nav .button-secondary{min-height:44px;padding:6px 12px}.sv-day-nav .sv-day-arrow{min-width:44px;font-size:20px;line-height:1}.sv-day-mode{min-height:44px;color:var(--accent);padding:0 4px;font-weight:600}.sv-day-weeklabel{margin:0 0 8px;font-weight:650}.sv-day-cards{touch-action:pan-y;flex-direction:column;gap:12px;display:flex}.sv-day-past{min-height:44px;color:var(--accent);align-self:flex-start}.sv-day-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:12px}.sv-day-card--we{background:#f6f7fb}.sv-day-card--today{border:2px solid var(--accent)}.sv-day-card--today .agenda-day-tag{background:var(--accent);color:#fff}.sv-day-head{flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0 0 8px;font-size:16px;font-weight:650;display:flex}.sv-day-hol{color:#8a5a00;font-size:12px;font-weight:600}.sv-day-rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sv-day-rows li+li{border-top:1px solid var(--border)}.sv-day-row{width:100%;min-height:44px;color:var(--text);border-radius:var(--radius-sm);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:minmax(96px,38%) 1fr;align-items:start;gap:10px;padding:8px 4px;font-size:14px;display:grid}.sv-day-row:hover{background:#2f6feb0f}.sv-day-plage .sv-slot-codes{font-size:11px}.sv-day-who{flex-direction:column;gap:4px;min-width:0;display:flex}.sv-day-who .sv-slot-who{white-space:normal}.sv-day-who .sv-slot-bk{white-space:normal;font-size:12.5px}.sv-day-who .sv-slot-missing{font-size:12.5px}.sv-day-who .sv-slot-tag{font-size:10px}.sv-day-empty{color:var(--text-muted)}.sv-day-hint{margin:8px 0 0;font-size:12px}.schedule-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.day-swipe{touch-action:pan-y}@media (width<=720px){.schedule-header{gap:8px}.schedule-header>h1{flex:auto}.schedule-header>.tabs[role=group]{flex-basis:100%}}.schedule-filters--panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin-top:8px;padding:12px}@media print{.bottom-nav,.overflow-menu{display:none!important}}@media (width<=720px){select{max-width:100%}.admin-shell{align-items:stretch}.hint-inline,.filter-count,.inline-form label.check{white-space:normal}.auth-page{flex-direction:column;align-items:stretch;gap:16px}.auth-page .auth-form{max-width:none;padding:20px}}.desid-reminders__empty td{background:var(--warning-soft,#fff8e6)}.desid-reminders__message{color:var(--text-muted);flex-direction:column;gap:4px;max-width:640px;margin:10px 0 4px;font-size:13px;font-weight:600;display:flex}.desid-reminders__message textarea{box-sizing:border-box;width:100%}.desid-reminders__table{max-height:420px;overflow:auto}.proposal-hours .hours-over{color:var(--error);font-weight:600}.proposal-split{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;margin:8px 0;display:flex}.proposal-split label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.sv-dirmed-days{margin-bottom:18px}.sv-dirmed-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:4px;margin-top:8px;display:grid}.sv-dirmed-day{border:1px solid var(--border,#d1d5db);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:3px 6px;font-size:12px;display:flex}.sv-dirmed-day--on{color:#4c1d95;background:#ede9fe;border-color:#7c3aed}.sv-badge-dirmed{color:#fff;vertical-align:middle;background:#7c3aed;border-radius:3px;margin-left:3px;padding:0 3px;font-size:8px;font-weight:750;line-height:1.4;display:inline-block}.sv-badge-dirmed--lead{margin:0 3px 0 0}.sv-window-picker{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.sv-window-picker label{align-items:center;gap:8px;display:inline-flex}.sv-window-hint{flex-basis:100%;margin:0;font-size:12px}.sv-day-window{text-align:right;white-space:nowrap;letter-spacing:-.2px;font-size:9px;font-weight:600;line-height:1;position:absolute;top:2px;left:2px;right:2px;overflow:hidden}.sv-day-window--long{letter-spacing:-.3px;font-size:8px}.sv-member-home{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:4px 0 14px;display:grid}.sv-member-home h2{margin:0 0 8px;font-size:16px}.sv-todo,.sv-next{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:12px 14px}.sv-todo{background:#fffbeb;border-color:#f59e0b}.sv-todo ul,.sv-next ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sv-todo li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:15px;display:flex}.sv-next-btn{border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:6px 8px;font-size:15px;display:flex}.sv-next-btn:hover,.sv-next-btn:focus-visible{background:var(--accent-soft);border-color:var(--border)}.sv-next-more{color:var(--text-muted);margin-left:auto;font-size:18px}.sv-next-btn strong{text-transform:capitalize;min-width:150px}.sv-saved-slot{align-items:center;min-height:30px;display:flex}.sv-saved-slot .sv-saved{margin:0;padding:3px 10px}.doctor-todo{border-radius:var(--radius-md);background:#fffbeb;border:1px solid #f59e0b;margin:0 0 12px;padding:10px 14px}.doctor-todo h2{margin:0 0 6px;font-size:15px}.doctor-todo ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.doctor-todo li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}@media (width>=900px){.agenda-toolbar,.agenda-week{max-width:760px}}.sv-stats-scope{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.sv-school-bar{pointer-events:none;background:#7cc4b8;height:3px;position:absolute;left:0;right:0}.sv-month-grid .sv-school-bar{border-radius:0 0 4px 4px;bottom:0}.sv-grid thead th .sv-school-bar{top:0}.legend-swatch.sv-swatch-school{vertical-align:middle;background:#7cc4b8;height:4px}.sv-month-school{color:var(--text-muted);align-items:center;gap:6px;margin:-2px 0 6px;font-size:11px;display:flex}.sv-balance-controls{flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 4px;display:flex}.sv-balance-pair{margin-top:18px}.sv-balance-pair h2{margin-bottom:6px;font-size:17px}.sv-balance-table td.sv-balance-off{color:#b45309;font-weight:650}.sv-balance-table tr.sv-balance-excluded td{color:var(--text-muted)}.sv-balance-list{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.sv-balance-list label{font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;display:flex}.sv-balance-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.sv-leave{margin-top:20px}.sv-leave-years{flex-wrap:wrap;gap:12px 28px;display:flex}.sv-leave-year{gap:4px;margin:0;display:grid}.sv-leave-year dt{font-weight:700}.sv-leave-year dd{font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin:0;display:flex}.sv-leave-chip{border-radius:3px;flex:none;width:12px;height:12px;display:inline-block}.sv-leave-mail{margin-top:14px}.sv-leave-list{gap:4px;margin:8px 0;padding:0;list-style:none;display:grid}.sv-leave-list label{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sv-leave-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sv-leave-preview{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin-top:10px;padding:10px 12px}.sv-leave-preview pre{white-space:pre-wrap;font:inherit;margin:6px 0 0}.infeasibility{border:1px solid var(--border,#e5e7eb);border-left:4px solid var(--error);background:var(--surface);border-radius:8px;gap:.5rem;margin:1rem 0 1.5rem;padding:1rem 1.25rem;display:grid}.infeasibility h2{margin:0;font-size:1.1rem}.infeasibility h3{margin:.5rem 0 0;font-size:1rem}.infeasibility-list{gap:.35rem;margin:0;padding-left:1.2rem;display:grid}.infeasibility-list ul{margin:.2rem 0 0;padding-left:1.1rem}.infeasibility-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.infeasibility .nowrap{white-space:nowrap}.infeasibility .table-wrap{overflow-x:auto}.desi-edit{border:1px solid var(--border);border-radius:var(--radius-sm);gap:.5rem;margin:.5rem 0;padding:.75rem;display:grid}.desi-edit-fields{flex-wrap:wrap;gap:.75rem;display:flex}.desi-edit-fields label{gap:.25rem;display:grid}.desi-edit-reason{flex:14rem}.form-warning{border-radius:var(--radius-sm);color:#92400e;background:#fef3c7;margin:0;padding:.5rem .75rem}
