:root{color-scheme:light;--ink: #1b2430;--cell-ink: #111111;--muted: #5c6b7a;--paper: #f4efe6;--sheet: #fffdf8;--line: #d9d0c4;--navy: #142033;--navy-2: #1e334d;--accent: #c45c26;--error: #a32020;--warn: #9a6b12;--ok: #2f6f4e;--conge: #2f6f4e;--vic: #0b6f74;--stage: #1558c7;--rose: #FFDDEF;--orange: #FFE0C1;--bleu: #CFE2F3;--day-ring: rgba(20, 32, 51, .38);--day-tint: rgba(20, 32, 51, .12);font-family:Segoe UI,Helvetica Neue,sans-serif;color:#1b2430;background:#f4efe6}*{box-sizing:border-box}html{color-scheme:light;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:#f4efe6;color:#1b2430}html,body,#root{margin:0;min-height:100%;color-scheme:light;background-color:#f4efe6;color:#1b2430}input,select,textarea,button,option,optgroup{color-scheme:light}input:not([type=checkbox]):not([type=radio]),select,textarea{background-color:#fff;color:#111;-webkit-text-fill-color:#111111}.roster,.roster th,.roster td,.cell,.cell-select,.name-col,.grid-wrap,.day-detail,.day-chip,.month-picker-trigger,.month-picker-option,.icon-btn,.admin-btn,.alert-card,.commercial-toggle,.commercial-chart,.commercial-expand,.commercial-fs,.commercial-fs-close{color-scheme:light;forced-color-adjust:none;-webkit-forced-color-adjust:none}button,.day-chip,.bottom-tab,.month-picker-trigger,.month-picker-option,.icon-btn,.admin-tools-trigger,.admin-tools-option,.commercial-expand,.commercial-fs-close,.today-jump,.topbar-agenda-btn,.google-btn,.google-account,.google-role-option,.cell-select{touch-action:manipulation}body{background-color:#f4efe6;background-image:none;color:#1b2430}.app{max-width:1600px;margin:0 auto;padding:.28rem 1.25rem 3rem;padding-top:0;padding-bottom:calc(3rem + env(safe-area-inset-bottom,0px));color:#1b2430;background-color:#f4efe6;background-image:none;min-width:0;min-height:100dvh;display:flex;flex-direction:column}.topbar{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"brand sync . session" "sub sub sub sub";align-items:center;column-gap:.4rem;row-gap:.04rem;margin:0 -1.25rem .15rem;position:static;z-index:auto;padding:max(.2rem,env(safe-area-inset-top,0px)) 1.25rem .18rem;flex:0 0 auto;color:#111;background-color:#f4efe6;background-image:none;-webkit-backdrop-filter:none;backdrop-filter:none;filter:none;transform:none;will-change:auto;opacity:1}.topbar-brand{grid-area:brand;align-self:center;display:inline-flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:700;letter-spacing:0;line-height:1.05;color:#111;-webkit-text-fill-color:#111111}.topbar-brand-trigger{border:0;padding:0;background:transparent;font:inherit;font-size:1rem;font-weight:700;color:#111;-webkit-text-fill-color:#111111;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.topbar-brand-trigger:disabled{cursor:default}.topbar-brand-trigger:focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-radius:8px}.topbar-brand-trigger[aria-expanded=true]{border-radius:8px;background:color-mix(in srgb,#efe8dc 70%,transparent)}.topbar-mark{width:44px;height:44px;display:block;flex-shrink:0;border-radius:8px;border:1px solid #d9d0c4;box-shadow:none;background:#f6f1e8;transform:none;filter:none;image-rendering:auto}.topbar-sub{grid-area:sub;display:block;margin:0;font-size:.72rem;font-weight:600;line-height:1.25;color:#111;-webkit-text-fill-color:#111111;max-width:none;overflow:visible;white-space:normal;letter-spacing:0;opacity:1}.topbar-sync{grid-area:sync;display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;margin:0;color:#2f6b4f;border-radius:999px;background:#efe8dc;transform:none;filter:none}.topbar-sync-icon{display:block;flex-shrink:0}.topbar-sync-spin{animation:topbar-sync-pulse .85s ease-in-out infinite}@keyframes topbar-sync-pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.topbar-sync-spin{animation:none}}.topbar-sync[data-status=saving],.topbar-sync[data-status=loading]{color:#3d5a80}.topbar-sync[data-status=synced]{color:#2f6b4f}.topbar-sync[data-status=offline],.topbar-sync[data-status=error],.topbar-sync[data-status=conflict]{color:#8a4b2d}.topbar .google-auth{grid-area:session;max-width:100%;min-width:0;justify-self:end;align-self:center;align-items:flex-end;gap:.12rem}.topbar-agenda-btn{display:inline-flex;align-items:center;justify-content:center;margin:0;min-height:1.35rem;padding:.06rem .42rem;border-radius:999px;border:1px solid var(--navy);background:var(--navy);color:#f6f1e8;font-size:.68rem;font-weight:650;letter-spacing:0;line-height:1.1;cursor:pointer;touch-action:manipulation;white-space:nowrap}.topbar-agenda-btn:hover,.topbar-agenda-btn:focus-visible{outline:2px solid #8ab4f8;outline-offset:1px}.topbar-armement-btn.is-on{background:#efe8dc;color:var(--navy);border-color:var(--navy)}.topbar .google-session{background:#fff;border:1px solid var(--line);color:#111;padding:.08rem .32rem;gap:.22rem;-webkit-backdrop-filter:none;backdrop-filter:none;filter:none;transform:none;will-change:auto;opacity:1}.topbar .google-session-name{font-size:.78rem;font-weight:700;letter-spacing:0;color:#111;-webkit-text-fill-color:#111111;max-width:min(11rem,42vw)}.topbar .google-session-email{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.topbar .google-role-pill{background:#efe8dc;color:#111;-webkit-text-fill-color:#111111;font-size:.72rem;font-weight:700;letter-spacing:0;padding:.08rem .36rem}.topbar .google-role-menu{right:0;z-index:32}.topbar .google-text-btn{color:#111;-webkit-text-fill-color:#111111;font-size:.72rem;font-weight:600;min-height:1.45rem;padding:.08rem .12rem}.topbar .google-accounts{position:absolute;right:0;z-index:30;min-width:16rem}.admin-tools{grid-area:brand;position:relative;justify-self:start;align-self:center}.admin-tools-trigger{display:inline-flex;align-items:center;gap:.28rem;min-height:1.55rem;margin:0;padding:.12rem .42rem .12rem .32rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:#1b2430;font:inherit;font-size:.68rem;font-weight:700;letter-spacing:.02em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.admin-tools-trigger:hover,.admin-tools-trigger[aria-expanded=true]{background:#efe8dc}.admin-tools-trigger:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.admin-tools-icon{display:inline-flex;flex-direction:column;justify-content:center;gap:.14rem;width:.78rem;flex-shrink:0}.admin-tools-icon>span{display:block;height:.1rem;border-radius:999px;background:currentColor}.admin-tools-label{line-height:1}.admin-tools-menu{position:absolute;top:calc(100% + .28rem);left:0;z-index:40;min-width:min(17.5rem,calc(100vw - 1.25rem));display:flex;flex-direction:column;gap:.12rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.32rem;box-shadow:0 8px 22px #1b243024}.admin-tools-option{display:flex;flex-direction:column;align-items:flex-start;gap:.08rem;width:100%;text-align:left;border:0;border-radius:9px;background:transparent;color:#1b2430;font-family:inherit;padding:.42rem .55rem;cursor:pointer;touch-action:manipulation}.admin-tools-option:hover,.admin-tools-option:focus-visible{background:#efe8dc}.admin-tools-option-label{font-size:.82rem;font-weight:700;line-height:1.2}.admin-tools-option-desc{font-size:.68rem;font-weight:500;line-height:1.25;color:#5c6b7a}.admin-section-focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--navy) 35%,transparent);outline:2px solid color-mix(in srgb,var(--navy) 22%,transparent);outline-offset:2px;transition:box-shadow .2s ease,outline-color .2s ease}.gate{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem;background-color:#f4efe6;color:#1b2430}.gate-card{width:min(28rem,100%);background:linear-gradient(160deg,var(--navy),var(--navy-2));color:#f6f1e8;border-radius:16px;padding:1.5rem 1.35rem 1.35rem;display:flex;flex-direction:column;gap:.65rem}.gate-brand{display:flex;align-items:center;gap:.7rem}.gate-mark{width:2.5rem;height:2.5rem;display:block;flex-shrink:0;border-radius:.72rem}.gate-card h1{margin:0;font-size:1.7rem}.gate-copy,.gate-denied{margin:0;font-size:.92rem;line-height:1.45;color:#d5deea}.gate-denied{color:#ffb4b4;font-weight:650}.gate-denied-email{display:block;margin-top:.35rem;font-weight:400;color:#d5deea}.gate-bindings-loading{margin:0;font-size:.92rem;line-height:1.45;color:#c9d7e6}.gate-card .brand-sub{margin:0;font-size:.82rem;line-height:1.35;color:#c9d7e6}.access-form{display:grid;gap:.55rem}.access-form label{display:grid;gap:.3rem;font-size:.82rem;color:#c9d7e6}.access-form input{min-height:2.75rem;border:0;border-radius:8px;padding:.35rem .7rem;font-size:1.05rem;letter-spacing:.04em;color:#1b2430;background:#fff;color-scheme:light}.access-submit{width:100%}.access-lock-btn{align-self:center;color:#c9d7e6}.backup-panel{margin:0 0 1rem;background:#fffdf8;border:1px solid var(--line);border-radius:12px;padding:.9rem;color:#1b2430}.backup-panel h2,.backup-panel h3{margin:0 0 .35rem}.backup-ok{margin:.45rem 0 0;color:var(--ok);font-weight:650;font-size:.85rem}.backup-local-banner{background:#fff4d6;border:1px solid #e6c86a;border-radius:8px;padding:.45rem .55rem}.snapshot-list ul{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.4rem}.snapshot-pick{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;flex:1;min-width:12rem;color:inherit}.snapshot-list .admin-card.is-on{outline:2px solid var(--accent, #2f6fa3);background:#eef5fb}.backup-preview{margin:.65rem 0 0;padding:.55rem .65rem;border:1px dashed var(--line);border-radius:10px;background:#fff}.backup-preview h4{margin:0 0 .25rem;font-size:.9rem}.backup-preview p{margin:.15rem 0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand-sub{margin:.28rem 0 0;font-size:.95rem;font-weight:550;color:#f6f1e8;line-height:1.3}.google-auth{display:flex;flex-direction:column;gap:.4rem;position:relative}.google-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.7rem;border:0;border-radius:8px;background:#fff;color:#1f1f1f;font-weight:650;font-size:.88rem;cursor:pointer;touch-action:manipulation}.google-btn:hover,.google-btn:focus-visible{outline:2px solid #8ab4f8;outline-offset:1px}.google-mark{flex-shrink:0}.gis-sign-in{display:flex;flex-direction:column;align-items:stretch;gap:.35rem}.gis-button-host{display:flex;justify-content:center;min-height:2.75rem}.gis-button-host iframe{max-width:100%}.gis-loading{margin:0;font-size:.78rem;color:#c9d7e6}.google-session{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.3rem;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.12rem .4rem;color:#1b2430;min-width:0;max-width:100%}.google-session-photo{width:1.35rem;height:1.35rem;border-radius:999px;object-fit:cover;flex-shrink:0;background:#efe8dc}.google-session-name{margin:0;font-weight:600;font-size:.72rem;line-height:1.2;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(12rem,48vw)}.google-session-email{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.google-role-pill{margin:0;flex-shrink:0;font-size:.62rem;letter-spacing:.02em;background:#efe8dc;color:var(--navy);border-radius:999px;padding:.08rem .35rem;font-weight:700;white-space:nowrap;line-height:1.2}.google-role-switch{position:relative;flex-shrink:0}.google-role-pill--btn{display:inline-flex;align-items:center;gap:.18rem;border:0;font-family:inherit;cursor:pointer;touch-action:manipulation}.google-role-pill--btn:hover,.google-role-pill--btn[aria-expanded=true]{background:#e4d9c8}.google-role-caret{width:0;height:0;border-left:.22rem solid transparent;border-right:.22rem solid transparent;border-top:.28rem solid currentColor;opacity:.7}.google-role-menu{position:absolute;top:calc(100% + .28rem);right:0;z-index:32;min-width:8.5rem;display:flex;flex-direction:column;gap:.15rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.28rem;box-shadow:0 6px 18px #1b24301f}.google-role-option{display:block;width:100%;text-align:left;border:0;border-radius:8px;background:transparent;color:#1b2430;font-family:inherit;font-size:.72rem;font-weight:650;padding:.32rem .5rem;cursor:pointer;touch-action:manipulation}.google-role-option:hover,.google-role-option:focus-visible{background:#efe8dc}.google-role-option.is-on{background:#efe8dc;color:var(--navy)}.google-text-btn{border:0;background:transparent;color:#5c6b7a;font-size:.68rem;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:.08rem .12rem;min-height:1.5rem;white-space:nowrap;flex-shrink:0;touch-action:manipulation}.google-accounts{display:flex;flex-direction:column;gap:.3rem;background:#1e334d;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:.5rem}.google-client-id-needed{margin:0;font-size:.78rem;line-height:1.4;color:#c9d7e6;max-width:18rem}.google-client-id-needed code{font-size:.72rem}.google-account{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:.5rem;text-align:left;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0d;color:#f6f1e8;padding:.4rem .55rem;cursor:pointer;touch-action:manipulation}.google-account-name{font-weight:650;font-size:.85rem}.google-account-email{grid-column:1;font-size:.68rem;color:#c9d7e6}.google-account-role{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:#f6f1e8}.google-account.is-on{background:#f6f1e8;color:var(--navy)}.google-account.is-on .google-account-email,.google-account.is-on .google-account-role{color:var(--navy-2)}.google-auth-error{margin:0;font-size:.75rem;color:#ffb4b4}.workspace--consult{grid-template-columns:minmax(0,1fr) minmax(20rem,24rem)}.month-nav{display:flex;align-items:center;margin:.12rem 0 .35rem;flex:0 0 auto}.month-picker{position:relative}.month-picker-trigger{display:inline-flex;align-items:center;gap:.35rem;min-height:1.85rem;margin:0;padding:.18rem .4rem .18rem .08rem;border:0;border-radius:8px;background:transparent;color:var(--ink);color-scheme:light;cursor:pointer;font:inherit;font-size:1.05rem;font-weight:650;letter-spacing:-.01em;line-height:1.15;text-transform:capitalize;touch-action:manipulation}.month-picker-trigger:hover,.month-picker-trigger[aria-expanded=true]{background:#1420330d}.month-picker-trigger:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.month-picker-trigger--static{cursor:default}.month-picker-trigger--static:hover{background:transparent}.month-picker-label{display:inline-block}.month-picker-caret{width:0;height:0;border-left:.28rem solid transparent;border-right:.28rem solid transparent;border-top:.34rem solid var(--muted);opacity:.85;flex-shrink:0}.month-picker-trigger[aria-expanded=true] .month-picker-caret{transform:rotate(180deg)}.month-picker-menu{position:absolute;top:calc(100% + .28rem);left:0;z-index:28;display:flex;flex-direction:column;gap:.12rem;min-width:min(16rem,calc(100vw - 1.5rem));max-height:min(18rem,55vh);overflow:auto;margin:0;padding:.35rem;list-style:none;border:1px solid var(--line);border-radius:10px;background:var(--sheet);box-shadow:0 8px 22px #1b24301a}.month-picker-option{display:block;width:100%;min-height:2.55rem;margin:0;padding:.45rem .7rem;border:0;border-radius:7px;background:transparent;color:var(--ink);color-scheme:light;cursor:pointer;font:inherit;font-size:.95rem;text-align:left;text-transform:capitalize;touch-action:manipulation}.month-picker-option:hover,.month-picker-option:focus-visible{background:#efe8dc}.month-picker-option.is-on{background:#efe8dc;color:var(--navy);font-weight:600}.empty-month{background:#fff6d8;border:1px solid #ead890;padding:.6rem .8rem;border-radius:8px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,24rem);gap:1rem;align-items:start;min-width:0;flex:1 1 auto;min-height:0}.side-stack{display:flex;flex-direction:column;gap:1rem;min-width:0}.side-rail-tabs{display:flex;flex:0 0 auto;gap:.25rem;padding:.15rem;border:1px solid var(--line);border-radius:10px;background:#f3ebe0}.side-rail-tab{flex:1 1 0;min-height:2rem;border:0;border-radius:7px;background:transparent;color:#445262;font:inherit;font-size:.82rem;font-weight:650;letter-spacing:.01em;cursor:pointer}.side-rail-tab.is-on{background:#fffdf8;color:#111;box-shadow:0 0 0 1px #d9d0c4}.side-rail-tab:focus-visible{outline:2px solid #1d4ed8;outline-offset:1px}@media(min-width:981px){.app{overflow-x:clip}.workspace{align-items:stretch;overflow-x:clip;overflow-anchor:none;height:calc(100dvh - 7.25rem);min-height:22rem}.view-mois{display:flex;flex-direction:column;min-height:0;height:100%}.grid-wrap{flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.side-stack{min-height:0;max-height:none;height:100%;overflow:auto;overscroll-behavior:contain;overflow-anchor:none}.side-stack>.view-jour{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.side-stack>.view-jour>.day-detail,.side-stack>.view-jour>.decompte-panel{flex:1 1 auto;min-height:0}.side-stack .decompte-scroll,.side-stack .day-detail-list{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.side-stack[data-rail]{overflow:hidden}.side-stack[data-rail]>.view-jour,.side-stack[data-rail]>.view-alertes{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.side-stack[data-rail]>.view-jour[hidden],.side-stack[data-rail]>.view-alertes[hidden]{display:none!important}.side-stack[data-rail] .panel{position:static;top:auto;max-height:none;flex:1 1 auto;min-height:0;height:100%}.side-stack[data-rail] .alert-list{min-height:0}.grid-scroll{flex:1 1 auto;min-height:0;height:100%;max-height:none!important;overflow-anchor:none}.day-detail{overflow-anchor:none}}.view-mois{min-width:0;max-width:100%}.grid-wrap{background:#fffdf8;color:#111;border:1px solid var(--line);border-radius:12px;min-width:0;max-width:100%;overflow:visible;color-scheme:light}.grid-scroll{width:100%;max-width:100%;min-width:0;overflow:auto;max-height:calc(100vh - 11.5rem);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow-anchor:none;border-radius:12px}.roster{--roster-name-w: 9.8rem;--roster-code-w: 3.2rem;--roster-horaire-w: 5.9rem;--roster-day-count: 31;border-collapse:separate;border-spacing:0;font-size:.75rem;table-layout:fixed;width:calc(var(--roster-name-w) + (var(--roster-code-w) + var(--roster-horaire-w)) * var(--roster-day-count));min-width:0;color:#111;background:#fffdf8}.roster-col-name{width:var(--roster-name-w)}.roster-col-code{width:var(--roster-code-w)}.roster-col-horaire{width:var(--roster-horaire-w)}.roster.roster--codes-only{--roster-name-w: 7.2rem;--roster-code-w: 1.85rem;--roster-horaire-w: 0rem;width:calc(var(--roster-name-w) + var(--roster-code-w) * var(--roster-day-count))}.roster th,.roster td{border:1px solid #eadfd0;padding:.12rem .1rem;text-align:center;font-variant-numeric:tabular-nums;color:#111;color-scheme:light}.name-col,.roster .name-col{position:-webkit-sticky;position:sticky;left:0;z-index:4;min-width:9.8rem;width:9.8rem;text-align:left!important;padding-left:.55rem!important;background-color:#fff;background-clip:padding-box;box-shadow:4px 0 8px #1c140a0f;color-scheme:light}.roster tbody .name-col{background-color:#fff;z-index:4}.roster thead .corner-col{position:-webkit-sticky;position:sticky;top:0;left:0;z-index:10;background-color:#efe8dc;background-clip:padding-box;vertical-align:middle}.roster thead .dom-head{position:-webkit-sticky;position:sticky;top:0;z-index:5;min-width:9.1rem;width:9.1rem;height:2.2rem;background-color:#f7f1e8;background-clip:padding-box;padding:0}.roster.roster--codes-only thead .dom-head{min-width:1.85rem;width:1.85rem}.roster.roster--codes-only .cell--code{min-width:1.85rem;width:1.85rem;max-width:1.85rem;padding-left:.02rem;padding-right:.02rem}.roster.roster--codes-only .cell-select{width:100%;max-width:100%;min-width:0;font-size:.68rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;background:transparent;background-color:transparent;background-image:none;padding-left:0;padding-right:0;padding-inline:.05rem}.roster.roster--codes-only .cell-select::-ms-expand{display:none}.roster.roster--codes-only .name-col,.roster.roster--codes-only.roster .name-col{min-width:7.2rem;width:7.2rem}.app[data-role=write] .roster.roster--codes-only thead .bc-head{font-size:.58rem}.roster thead .dow-head{position:-webkit-sticky;position:sticky;top:2.2rem;z-index:5;height:1.45rem;background-color:#f7f1e8;background-clip:padding-box;font-size:.62rem;text-transform:uppercase;color:#5c6b7a;-webkit-text-fill-color:#5c6b7a;font-weight:600}.roster thead .bc-head{position:-webkit-sticky;position:sticky;top:calc(2.2rem + 1.45rem);z-index:5;background-clip:padding-box}.dom-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:2.1rem;border:0;background:transparent;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;color:#111;-webkit-text-fill-color:#111111;outline:none;-webkit-tap-highlight-color:transparent}.dom-head--holiday .dom-btn{color:#3b2410;-webkit-text-fill-color:#3b2410}.dom-num{display:inline-flex;align-items:center;justify-content:center;min-width:1.7rem;height:1.7rem;padding:0 .22rem;border-radius:999px;line-height:1}.dom-btn:focus-visible .dom-num{outline:2px solid rgba(20,32,51,.28);outline-offset:2px}.dom-head.is-today .dom-num{box-shadow:inset 0 0 0 1.5px var(--day-ring);font-weight:650}.dom-head.is-day-selected .dom-num{background:var(--day-tint);color:var(--navy);-webkit-text-fill-color:var(--navy);font-weight:700;box-shadow:inset 0 0 0 1px #1420332e}.dom-head.is-today.is-day-selected .dom-num{box-shadow:inset 0 0 0 1.5px var(--day-ring)}.dom-head--holiday.is-day-selected .dom-num{color:#3b2410;-webkit-text-fill-color:#3b2410;background:#fffdf89e}.dow-head.is-day-selected{color:var(--ink);-webkit-text-fill-color:var(--ink);font-weight:700}.season-haute{box-shadow:inset 0 -3px #c45c26}.season-moyenne{box-shadow:inset 0 -3px #d4a017}.season-basse{box-shadow:inset 0 -3px #3b7ea1}.bc-head{background:#fbf7f0;font-size:.52rem;line-height:1.15;font-weight:500;color:#5c6b7a;-webkit-text-fill-color:#5c6b7a;padding:.08rem .02rem}.bc-chip{display:inline-block;margin:0 .02rem;white-space:nowrap}.bc-chip--bad{color:var(--error);font-weight:700}.pole-row td,.pole-label{font-weight:700;text-align:left}.cardinal,.mention{display:inline-block;margin-left:.4rem;font-size:.62rem;font-weight:600;letter-spacing:.04em;color:var(--muted)}.mention{background:#142033;color:#fff;border-radius:4px;padding:0 .28rem}.cdt-chip{display:inline-block;margin-left:.35rem;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#1a3a4a;color:#e8f4f8;border-radius:4px;padding:0 .28rem;vertical-align:middle}.you-chip{display:inline-block;margin-left:.35rem;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#142033;color:#f6f1e8;border-radius:4px;padding:0 .28rem;vertical-align:middle}.day-cdt-chip{margin-left:0;flex-shrink:0}.agent-name{font-weight:650}.agent-name.is-me{box-shadow:inset 3px 0 0 currentColor}.dom-head.is-cdt-m1 .dom-num{background:#0f5a6e1f;box-shadow:inset 0 0 0 1.5px #0f5a6e8c;border-radius:4px}.dom-head.is-cdt-a1 .dom-num{background:#6e460f1f;box-shadow:inset 0 0 0 1.5px #6e460f8c;border-radius:4px}.dow-head.is-cdt-m1{color:#0f5a6e;font-weight:650}.dow-head.is-cdt-a1{color:#6e460f;font-weight:650}.cell.is-cdt-m1{box-shadow:inset 0 0 0 1.5px #0f5a6ea6}.cell.is-cdt-a1{box-shadow:inset 0 0 0 1.5px #6e460fa6}.cell,.cell--code,.cell--horaire{min-width:2.05rem;height:1.7rem;cursor:pointer;color:#111;-webkit-text-fill-color:#111111}.cell-select{display:block;width:100%;max-width:100%;min-width:0;min-height:1.55rem;margin:0 auto;padding:0 .1rem;border:0;border-radius:4px;background:#fff;font:inherit;font-weight:inherit;color:#111;-webkit-text-fill-color:#111111;color-scheme:light;text-align:center;cursor:pointer}.cell-select option,.cell-select optgroup{color:#111;background:#fff}.cell-select--horaire{max-width:100%;font-weight:500;font-size:.66rem}.horaire-select{position:relative;display:block;margin:0 auto;flex-shrink:0}.horaire-select.cell-select--horaire .horaire-select-face{padding:0 .7rem 0 .12rem;font-size:.64rem;overflow:visible}.horaire-select.day-select{display:inline-block;width:auto;margin:0;min-width:4.8rem}.horaire-select.day-select.day-select--time{min-width:8.9rem;max-width:10.5rem}.horaire-select-face{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:1.55rem;padding:0 .85rem 0 .25rem;border:0;border-radius:4px;background:#fff;color:#111;-webkit-text-fill-color:#111111;font:inherit;font-weight:500;white-space:nowrap;cursor:pointer}.horaire-select.day-select .horaire-select-face{justify-content:flex-end;min-height:1.7rem;border:1px solid var(--line);font-size:.8rem}.horaire-select-face:after{content:"";position:absolute;top:50%;right:.28rem;width:0;height:0;margin-top:-.12rem;border-left:.22rem solid transparent;border-right:.22rem solid transparent;border-top:.28rem solid #5c6b7a;pointer-events:none}.horaire-menu{position:fixed;z-index:80;min-width:11.5rem;max-height:16rem;overflow:auto;margin:0;padding:.2rem 0;list-style:none;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 18px #1420332e}.horaire-option{display:block;width:100%;padding:.28rem .7rem;border:0;background:transparent;color:#111;-webkit-text-fill-color:#111111;font:inherit;font-size:.82rem;text-align:left;cursor:pointer}.horaire-option.is-on,.horaire-option:hover{background:var(--navy);color:#fff;-webkit-text-fill-color:#ffffff}.horaire-label{display:inline;white-space:nowrap}.horaire-start{font-weight:700}.horaire-end{font-weight:500}.horaire-select-face .horaire-start,.day-agent-time .horaire-start,.cell--horaire .horaire-start{font-weight:700}.horaire-select-face .horaire-end,.day-agent-time .horaire-end,.day-agent-time.is-custom .horaire-end,.cell--horaire .horaire-end{font-weight:500}.cell--code{border-right:1px solid rgba(20,32,51,.1);font-weight:650;min-width:3.2rem;width:3.2rem;max-width:3.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell--horaire{border-right:1px solid #8f8478;min-width:5.9rem;width:5.9rem;max-width:5.9rem;font-size:.66rem;color:#222;-webkit-text-fill-color:#222222;letter-spacing:-.015em;overflow:visible;white-space:nowrap}.roster:not(.roster--codes-only){--roster-vac-horaire-line: 1px solid rgba(92, 83, 72, .18);--roster-day-sep: 1px solid #8f8478}.roster:not(.roster--codes-only) .cell--code{border-right:var(--roster-vac-horaire-line);font-size:.82rem}.roster:not(.roster--codes-only) .cell--horaire{border-left:0;border-right:var(--roster-day-sep)}.roster:not(.roster--codes-only) .cell--horaire+.cell--code{border-left:0}.roster:not(.roster--codes-only) thead .dom-head,.roster:not(.roster--codes-only) thead .dow-head,.roster:not(.roster--codes-only) thead .bc-head,.roster:not(.roster--codes-only) .pole-band{border-right:var(--roster-day-sep)}.roster:not(.roster--codes-only) thead .dom-head+.dom-head,.roster:not(.roster--codes-only) thead .dow-head+.dow-head,.roster:not(.roster--codes-only) thead .bc-head+.bc-head,.roster:not(.roster--codes-only) .pole-band+.pole-band{border-left:0}.cell--vic{font-style:italic}.cell--absence{color:#333;-webkit-text-fill-color:#333333}.cell.is-conge,.cell.cell--absence.is-conge{color:var(--conge);-webkit-text-fill-color:var(--conge);background-image:linear-gradient(#c7e8d1e0,#c7e8d1e0);font-weight:750}.cell.is-conge .cell-select{color:var(--conge);-webkit-text-fill-color:var(--conge);font-weight:750}.cell.is-conge-pending,.cell.cell--absence.is-conge-pending{color:#7a5a00;-webkit-text-fill-color:#7a5a00;background-image:linear-gradient(#ffe678f2,#ffdc50f2);font-weight:750}.cell.is-conge-pending .cell-select{color:#7a5a00;-webkit-text-fill-color:#7a5a00;font-weight:750}.cell.is-vic,.cell.cell--vic.is-vic{color:var(--vic);-webkit-text-fill-color:var(--vic);background-image:linear-gradient(#a7dee0e6,#a7dee0e6);font-weight:750}.cell.is-vic .cell-select{color:var(--vic);-webkit-text-fill-color:var(--vic);font-weight:750}.cell.is-stage,.cell.cell--absence.is-stage{color:var(--stage);-webkit-text-fill-color:var(--stage);background-image:linear-gradient(#7daffaeb,#7daffaeb);font-weight:750}.cell.is-stage .cell-select{color:var(--stage);-webkit-text-fill-color:var(--stage);font-weight:750}.cell--unknown{text-decoration:underline wavy #a32020}.cell--error{outline:2px solid var(--error);outline-offset:-2px}.cell--warn{outline:2px dashed var(--warn);outline-offset:-2px}.cell--focus{outline:2px solid #1d4ed8;outline-offset:-2px}.cell--away{opacity:.32}.agent-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.18rem;min-width:0;max-width:100%}.agent-cell>span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-btn{font-size:.62rem;border:1px solid rgba(20,32,51,.2);background:#ffffff8c;border-radius:4px;padding:.08rem .35rem;cursor:pointer}.agenda-btn--pending{background:#fff3cd}.agenda-btn--connected{background:#d8f3e1}.agenda-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.agenda-panel-head h2{margin:0}.agenda-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.55rem .75rem;margin:.75rem 0}.agenda-controls label{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;font-weight:650;color:#3a4658}.agenda-controls select{font:inherit;font-weight:500;padding:.35rem .45rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:#1b2430}.agenda-count{margin:0 0 .65rem;font-size:.85rem;color:#3a4658}.agenda-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.75rem}.agenda-url-field{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;font-weight:650;color:#3a4658;margin-bottom:.85rem}.agenda-url-field textarea{font:inherit;font-weight:500;font-size:.72rem;line-height:1.35;padding:.45rem .5rem;border:1px solid var(--line);border-radius:8px;background:#f7f4ee;color:#1b2430;resize:vertical;word-break:break-all}.agenda-help,.agenda-oauth{margin-top:.85rem;padding-top:.65rem;border-top:1px solid rgba(20,32,51,.1)}.agenda-help h3,.agenda-oauth h3{font-size:.92rem}.agenda-help ol{margin:.25rem 0 .65rem;padding-left:1.15rem;font-size:.82rem;line-height:1.45;color:#2a3545}.agenda-help li+li{margin-top:.35rem}.agenda-feedback{margin:.65rem 0 0;font-size:.85rem;font-weight:650;color:var(--ok)}.agenda-feedback--error{color:#a11}.agenda-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem}.agenda-modal-backdrop{position:absolute;inset:0;border:0;background:#121c2b73;cursor:pointer}.agenda-modal-dialog{position:relative;z-index:2;width:min(36rem,100%);max-height:min(92vh,52rem);overflow:auto;border-radius:14px;background-color:#fffdf8;background-image:none;-webkit-backdrop-filter:none;backdrop-filter:none;filter:none;opacity:1;isolation:isolate;box-shadow:0 18px 48px #0c162647}.agenda-modal-dialog .agenda-panel{margin:0}.pole-band{height:.45rem;padding:0!important}.referential{margin-top:1rem;background:var(--sheet);border:1px solid var(--line);border-radius:12px;padding:.9rem}.referential h2{margin:0 0 .35rem;font-size:1.05rem}.referential-note{margin:0 0 .7rem;color:var(--muted);font-size:.82rem}.ref-scroll{overflow:auto}.ref-table{border-collapse:collapse;width:100%;font-size:.82rem}.ref-table th,.ref-table td{border-bottom:1px solid var(--line);text-align:left;padding:.35rem .45rem}.admin-roster-head{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:flex-start}.admin-roster-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-btn{min-height:2.75rem;padding:.4rem .8rem;border-radius:10px;border:1px solid var(--line);background:#fff;color:#111;color-scheme:light;font-size:.9rem;cursor:pointer}.admin-btn--primary{background:var(--navy);color:#f6f1e8;border-color:var(--navy);font-weight:650}.admin-btn--danger{color:var(--error);border-color:#e8b4b4}.admin-check{display:flex;align-items:center;gap:.4rem;min-height:2.75rem;font-size:.9rem}.admin-check input[type=date]{min-height:2.4rem;border:1px solid var(--line);border-radius:8px;padding:.25rem .45rem;font-size:.9rem;color:#111;background:#fff}.admin-form{display:grid;gap:.55rem;margin:.4rem 0 1rem;padding:.75rem;border:1px solid var(--line);border-radius:12px;background:#fff}.admin-form h3{margin:0}.admin-form label{display:grid;gap:.25rem;font-size:.82rem;color:var(--muted)}.admin-form input,.admin-form select{min-height:2.75rem;border:1px solid var(--line);border-radius:8px;padding:.35rem .55rem;font-size:1rem;color:#111;background:#fff;color-scheme:light}.admin-dates{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.admin-fieldset{display:grid;gap:.45rem;margin:0;padding:.65rem .7rem .75rem;border:1px solid var(--line);border-radius:10px;background:#faf7f1}.admin-fieldset legend{padding:0 .25rem;font-size:.82rem;font-weight:700;color:var(--navy)}.admin-hint{margin:0;font-size:.78rem;line-height:1.35;color:var(--muted)}.admin-period-list{margin:0;padding-left:1.15rem;font-size:.8rem;color:var(--ink)}.admin-form-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.admin-error{margin:0;color:var(--error);font-weight:650}.admin-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.admin-card{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start;flex-wrap:wrap;padding:.55rem .6rem;border:1px solid var(--line);border-radius:10px;background:#fff}.admin-card.is-inactive{opacity:.62}.admin-card-name{margin:0;font-weight:700;font-size:1rem}.admin-card-meta,.admin-card-dates{margin:.12rem 0 0;font-size:.78rem;color:var(--muted)}.admin-card-buttons{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.account-roles-fieldset{margin:0;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:.35rem}.account-roles-fieldset legend{padding:0 .25rem;font-size:.85rem;font-weight:600}.account-roles-hint{margin:.15rem 0 .35rem;font-size:.82rem;color:var(--muted, #5c5346);line-height:1.35}.account-role-check{display:flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:500}.accounts-table-wrap{overflow-x:auto;margin:.5rem 0 1rem;border:1px solid var(--line);border-radius:8px;background:#fff}.accounts-table{width:100%;border-collapse:collapse;font-size:.82rem}.accounts-table th,.accounts-table td{padding:.45rem .55rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.accounts-table th{font-weight:600;background:#f7f2ea;white-space:nowrap}.accounts-table tr:last-child td{border-bottom:none}.accounts-table .admin-card-buttons{justify-content:flex-start}.invite-roster-list{margin-top:.4rem}.admin-pole-block{margin:.85rem 0 0}.admin-pole-title{margin:0 0 .4rem;font-size:.95rem;display:flex;align-items:center;gap:.4rem}.panel{background:var(--sheet);border:1px solid var(--line);border-radius:12px;position:sticky;top:.75rem;max-height:calc(100vh - 2rem);display:flex;flex-direction:column}.panel-head{padding:.9rem .9rem .6rem;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:1.05rem}.panel-head p{margin:.2rem 0 .55rem;color:var(--muted);font-size:.82rem}.panel-head input{width:100%;border:1px solid var(--line);border-radius:8px;padding:.4rem .55rem;color:#111;background:#fff;color-scheme:light}.panel-head .admin-btn{margin-top:.45rem}.alert-list{list-style:none;margin:0;padding:.5rem;overflow:auto;flex:1}.alert-card{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;padding:.5rem .6rem;margin-bottom:.45rem;cursor:pointer;display:grid;gap:.18rem}.alert-card--error{border-left:4px solid var(--error)}.alert-card--warning{border-left:4px solid var(--warn)}.alert-card.is-on{box-shadow:0 0 0 2px #1d4ed8 inset}.alert-rule{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.alert-msg{font-size:.82rem;font-weight:600}.alert-detail{font-size:.75rem;color:var(--muted)}.alert-empty{color:var(--muted);padding:.8rem}.legend{padding:.6rem .9rem .9rem;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}.legend ul{padding-left:1.1rem}.swatch{display:inline-block;width:.8rem;height:.8rem;border-radius:2px;border:1px solid #cbb;vertical-align:-1px;margin:0 .1rem}.day-detail,.decompte-panel{display:flex;flex-direction:column;min-height:0;background:#fffdf8;color:#1b2430;border:1px solid var(--line);border-radius:12px;padding:.55rem .7rem;color-scheme:light}.decompte-head h2{margin:0 0 .35rem;font-size:1.15rem;letter-spacing:-.02em;line-height:1.2;color:#111}.decompte-lead{margin:0 0 .75rem;font-size:.78rem;color:var(--muted);line-height:1.35}.decompte-dates{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-bottom:.65rem}.decompte-date-field{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;font-weight:600;color:#243044}.decompte-date-field input[type=date]{max-width:12rem;min-height:2.1rem;padding:.25rem .45rem;border:1px solid var(--line);border-radius:6px;background:#fff;font:inherit;color:#111;color-scheme:light}.decompte-date-field input[type=date][aria-invalid=true]{border-color:#b42318}.decompte-error{margin:0 0 .65rem;font-size:.78rem;color:#b42318;font-weight:600}.decompte-empty{margin:.4rem 0 0;font-size:.85rem;color:var(--muted)}.decompte-scroll{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.decompte-table{width:100%;border-collapse:collapse;font-size:.78rem;font-variant-numeric:tabular-nums}.decompte-table th,.decompte-table td{padding:.28rem .35rem;border-bottom:1px solid rgba(28,20,10,.08);text-align:right;color:#111}.decompte-table thead th{position:sticky;top:0;z-index:1;background:#f7f1e8;font-size:.62rem;text-transform:uppercase;letter-spacing:.03em;color:#5c6b7a;font-weight:650}.decompte-table th[scope=col]:first-child,.decompte-table th[scope=row]{text-align:left;font-weight:600;color:#243044}.decompte-table tbody th[scope=row]{max-width:7.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-detail-head,.day-detail .day-strip,.day-detail .commercial-arrivals{flex:0 0 auto}.day-detail-list{min-height:0}.day-title-row{display:flex;align-items:center;gap:.4rem}.day-title-text{flex:1;min-width:0;text-align:center}.day-detail-head h2{margin:0;font-size:1.05rem;letter-spacing:-.02em;line-height:1.15;color:#111}.day-title-short{display:none}.today-badge{display:inline-block;margin-left:.35rem;padding:.05rem .4rem;border-radius:999px;background:var(--navy);color:#f6f1e8;font-size:.65rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.icon-btn{flex:0 0 auto;width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:#111;color-scheme:light;font-size:1.25rem;line-height:1;cursor:pointer}.today-jump{margin:0;min-height:1.5rem;border-radius:999px;border:1px solid var(--navy);background:var(--navy);color:#f6f1e8;font-size:.7rem;font-weight:650;cursor:pointer;padding:.12rem .5rem}.day-holiday-badge{display:inline-block;margin-left:.35rem;max-width:9.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.05rem .4rem;border-radius:999px;font-size:.65rem;font-weight:650;color:#3b2410;vertical-align:middle}.day-summary{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.22rem;margin:.16rem 0 0;font-size:.72rem}.day-summary span{background:#efe8dc;border-radius:999px;padding:.08rem .38rem;color:#1b2430}.day-summary strong{font-variant-numeric:tabular-nums}.commercial-arrivals{margin:.2rem 0 .12rem;overflow-anchor:none}.commercial-toggle{display:flex;flex-wrap:wrap;align-items:baseline;gap:.28rem .55rem;width:100%;margin:0;padding:.4rem .55rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:#1b2430;color-scheme:light;text-align:left;cursor:pointer}.commercial-toggle:disabled{cursor:default}.commercial-kicker{font-size:.62rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.commercial-counts{display:flex;flex-wrap:wrap;gap:.28rem;font-size:.75rem;color:#1b2430}.commercial-counts span{background:#efe8dc;border-radius:999px;padding:.12rem .45rem}.commercial-counts strong{font-variant-numeric:tabular-nums}.commercial-counts.is-off{color:var(--muted)}.commercial-counts.is-off span{background:transparent;padding:0}.commercial-hint{margin-left:auto;font-size:.62rem;color:var(--muted)}.commercial-note{margin:.28rem 0 0;font-size:.7rem;line-height:1.35;color:var(--muted)}.commercial-chart-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .18s ease}.commercial-chart-wrap.is-open{grid-template-rows:1fr}.commercial-chart-inner{overflow:hidden;min-height:0}.commercial-chart{position:relative;margin-top:.35rem;padding:.45rem .5rem .35rem;border:1px solid var(--line);border-radius:10px;background:#fff;min-height:9.2rem}.commercial-chart.is-zoomable{cursor:zoom-in}.commercial-chart-title{margin:0 0 .15rem;padding-right:2.15rem;font-size:.68rem;font-weight:650;color:#1b2430}.commercial-expand{position:absolute;top:.28rem;right:.28rem;z-index:1;display:grid;place-items:center;width:1.85rem;height:1.85rem;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;background:#fffdf8;color:#1b2430;color-scheme:light;cursor:pointer}.commercial-expand svg,.commercial-fs-close svg{display:block;width:.95rem;height:.95rem}.commercial-expand:focus-visible,.commercial-fs-close:focus-visible{outline:2px solid #1565c0;outline-offset:2px}.commercial-fs{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;gap:.45rem;box-sizing:border-box;padding:max(.55rem,env(safe-area-inset-top,0px)) max(.65rem,env(safe-area-inset-right,0px)) max(.65rem,env(safe-area-inset-bottom,0px)) max(.65rem,env(safe-area-inset-left,0px));background:#f4efe6;color:#1b2430;color-scheme:light;overflow:auto;overscroll-behavior:contain;overflow-anchor:none}.commercial-fs-bar{display:flex;align-items:center;gap:.6rem;flex:0 0 auto;min-width:0}.commercial-fs-heading{flex:1 1 auto;min-width:0;margin:0;font-size:.82rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:#1b2430}.commercial-fs-close{flex:0 0 auto;display:grid;place-items:center;width:2.75rem;height:2.75rem;margin:0;padding:0;border:1px solid var(--line);border-radius:999px;background:#fff;color:#111;color-scheme:light;cursor:pointer}.commercial-fs-close svg{width:1.15rem;height:1.15rem}.commercial-fs-body{flex:1 1 auto;display:flex;flex-direction:column;gap:.45rem;min-height:0}.commercial-fs-rotate-hint{display:none;flex:0 0 auto;margin:0;padding:.35rem .55rem;border:1px solid var(--line);border-radius:10px;background:#fffdf8;font-size:.78rem;font-weight:600;line-height:1.35;color:#1b2430;text-align:center}.commercial-fs-stage{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;width:100%}.commercial-fs .commercial-chart{flex:1 1 auto;display:flex;flex-direction:column;width:100%;max-width:none;min-height:0;margin:0;padding:.75rem .85rem .7rem;border-radius:14px}.commercial-fs .commercial-chart-title{flex:0 0 auto;padding-right:0;margin-bottom:.4rem;font-size:.92rem;font-weight:700}.commercial-fs-plot{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;width:100%}.commercial-fs .commercial-svg{flex:none;display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;min-height:0}.commercial-fs .commercial-legend{flex:0 0 auto;margin-top:.55rem;font-size:.82rem;font-weight:600;color:#1b2430;gap:.5rem .85rem}.commercial-fs .commercial-swatch{width:.72rem;height:.72rem}.commercial-fs .commercial-swatch--presence{width:.95rem;height:.28rem}.commercial-fs .commercial-bar-n,.commercial-fs .commercial-bar-h,.commercial-fs .commercial-presence-n{font-size:var(--fs-label, 22px)}.commercial-fs .commercial-bar-h{font-size:var(--fs-hour, 18px)}.commercial-fs .commercial-axis-presence{font-size:var(--fs-axis, 16px)}.commercial-fs .commercial-presence-halo{stroke-width:12}.commercial-fs .commercial-presence{stroke-width:5.5}.commercial-fs .commercial-presence-dot{stroke-width:2}@media(max-width:980px)and (orientation:portrait){.commercial-fs-rotate-hint{display:block}}.commercial-svg{display:block;width:100%;height:5.6rem}.commercial-bar-bastia{fill:#1e334d}.commercial-bar-calvi{fill:#c45c26}.commercial-bar-n{font-size:8px;font-weight:700;fill:#1b2430}.commercial-bar-h{font-size:8px;fill:#5c6b7a}.commercial-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .55rem;margin:.15rem 0 0;font-size:.62rem;color:var(--muted)}.commercial-swatch{display:inline-block;width:.55rem;height:.55rem;border-radius:2px}.commercial-swatch--bastia{background:#1e334d}.commercial-swatch--calvi{background:#c45c26}.commercial-presence-halo{fill:none;stroke:#fff;stroke-width:4.6;stroke-linejoin:round;stroke-linecap:round}.commercial-presence{fill:none;stroke:#1565c0;stroke-width:2.35;stroke-linejoin:round;stroke-linecap:round}.commercial-presence-dot{fill:#1565c0;stroke:#fff;stroke-width:1.05}.commercial-presence-n{font-size:8px;font-weight:750;fill:#1565c0}.commercial-axis-presence{font-size:7px;font-weight:700;fill:#1565c0}.commercial-swatch--presence{width:.72rem;height:.22rem;border-radius:99px;background:#1565c0;vertical-align:middle}.glance-hint,.punctual-hint{display:none}.day-strip{display:flex;gap:.22rem;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:.08rem 0 .2rem;scroll-snap-type:x proximity;margin-bottom:.08rem;background:#f4efe6}.day-chip{flex:0 0 auto;width:2.15rem;min-height:2.35rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:#111;color-scheme:light;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;cursor:pointer;scroll-snap-align:start;-webkit-tap-highlight-color:transparent}.day-chip-dow{font-size:.55rem;text-transform:uppercase;color:#5c6b7a}.day-chip-dom{font-size:.92rem;font-weight:700;color:#111;-webkit-text-fill-color:#111111}.day-chip.is-on{background:var(--navy);color:#fff;-webkit-text-fill-color:#ffffff;border-color:var(--navy)}.day-chip.is-on .day-chip-dow,.day-chip.is-on .day-chip-dom{color:#fff;-webkit-text-fill-color:#ffffff}.day-chip--holiday .day-chip-dom{color:#3b2410;-webkit-text-fill-color:#3b2410}.day-chip--month-start{box-shadow:inset 2px 0 #14203347}.day-group{margin:.12rem 0 0}.day-group h3{margin:0;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);display:flex;align-items:center;gap:.3rem;border-bottom:1px solid var(--line);padding:.18rem 0 .04rem;font-weight:750;line-height:1.2}.day-group-count{display:inline-flex;min-width:.95rem;height:.95rem;align-items:center;justify-content:center;border-radius:999px;background:#efe8dc;font-size:.6rem;letter-spacing:0;text-transform:none;color:#1b2430}.day-group ul{list-style:none;margin:0;padding:0}.day-agent{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .4rem;align-items:center;min-height:1.45rem;padding:.04rem .05rem;border-bottom:1px solid #eee4d6}.day-agent-name{font-weight:650;font-size:.84rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-agent.is-me{outline:2px solid var(--navy);outline-offset:-2px}.day-agent-meta{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:.35rem;white-space:nowrap}.day-select,.day-select.cell-select{max-width:5.6rem;min-height:1.7rem;font-size:.72rem;text-align:right;background:#fff;color:#111;-webkit-text-fill-color:#111111;color-scheme:light;border:1px solid var(--line);padding:0 .2rem}.day-select--time,.day-select.cell-select.day-select--time,.horaire-select.day-select--time{max-width:10.5rem;font-size:.8rem;font-weight:500}.day-agent-code{font-weight:750;font-variant-numeric:tabular-nums;font-size:.78rem;color:#111;-webkit-text-fill-color:#111111}.day-agent.is-conge{background:#d8efdf;border-radius:6px}.day-agent.is-conge-pending{background:#ffe478;border-radius:6px}.day-agent.is-vic{background:#cceced;border-radius:6px}.day-agent-code.is-conge,.day-select.is-conge,.day-select.is-conge.cell-select{color:var(--conge);-webkit-text-fill-color:var(--conge);font-weight:750}.day-agent-code.is-conge{background:#c8e6d0;border-radius:4px;padding:.05rem .3rem}.day-select.is-conge,.day-select.is-conge.cell-select{background:#d8efdf}.day-agent-code.is-conge-pending,.day-select.is-conge-pending,.day-select.is-conge-pending.cell-select{color:#7a5a00;-webkit-text-fill-color:#7a5a00;font-weight:750}.day-agent-code.is-conge-pending{background:#ffd84d;border-radius:4px;padding:.05rem .3rem}.day-select.is-conge-pending,.day-select.is-conge-pending.cell-select{background:#ffe478}.day-agent-code.is-vic,.day-select.is-vic,.day-select.is-vic.cell-select{color:var(--vic);-webkit-text-fill-color:var(--vic);font-weight:750}.day-agent-code.is-vic{background:#b7e4e6;border-radius:4px;padding:.05rem .3rem}.day-select.is-vic,.day-select.is-vic.cell-select{background:#cceced}.day-agent.is-stage{background:#c5dbff;border-radius:6px}.day-agent-code.is-stage,.day-select.is-stage,.day-select.is-stage.cell-select{color:var(--stage);-webkit-text-fill-color:var(--stage);font-weight:750}.day-agent-code.is-stage{background:#9ec5ff;border-radius:4px;padding:.05rem .3rem}.day-select.is-stage,.day-select.is-stage.cell-select{background:#c5dbff}.day-agent-time{font-size:.7rem;font-variant-numeric:tabular-nums;color:#5c6b7a;-webkit-text-fill-color:#5c6b7a}.day-agent-time.is-custom{color:#111;-webkit-text-fill-color:#111111;font-weight:650}.day-empty{margin:.8rem 0;color:var(--muted)}.day-quotas{flex:0 0 auto;margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--line);min-height:3.55rem;max-width:100%;overflow:hidden;background:#fffdf8}.day-quotas-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin:0 0 .28rem}.day-quotas-title{font-size:.62rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.day-quotas-season{min-width:0;font-size:.68rem;font-weight:600;color:#1b2430;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-quotas-poles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.28rem;list-style:none;margin:0;padding:0;width:100%;max-width:100%}.day-quota-chip{display:flex;flex-direction:column;gap:.08rem;min-width:0;padding:.28rem .32rem .26rem;border:1px solid var(--line);border-radius:8px;background:#fff}.day-quota-pole{font-size:.68rem;font-weight:750;letter-spacing:.02em;line-height:1.15}.day-quota-vals{display:flex;align-items:baseline;justify-content:space-between;gap:.2rem}.day-quota-pair{display:inline-flex;align-items:baseline;gap:.18rem}.day-quota-k{font-size:.58rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:#5c6b7a}.day-quota-num{font-size:.98rem;font-weight:750;font-variant-numeric:tabular-nums;line-height:1;color:#111}.bottom-nav{display:none}@media(max-width:980px){html:has(.app[data-view=jour]),html:has(.app[data-view=jour]) body,html:has(.app[data-view=mois]),html:has(.app[data-view=mois]) body{height:100dvh;overflow:hidden}.workspace{grid-template-columns:1fr}.panel{position:static;max-height:none}.app{padding:.22rem .5rem calc(6.75rem + env(safe-area-inset-bottom,0px));padding-top:0;padding-left:max(.5rem,env(safe-area-inset-left,0px));padding-right:max(.5rem,env(safe-area-inset-right,0px))}.topbar{margin-left:calc(-1*max(.5rem,env(safe-area-inset-left,0px)));margin-right:calc(-1*max(.5rem,env(safe-area-inset-right,0px)));padding-top:calc(env(safe-area-inset-top,0px) + 44px / 3);padding-left:max(.5rem,env(safe-area-inset-left,0px));padding-right:max(.5rem,env(safe-area-inset-right,0px))}.month-nav{margin:.1rem 0 .25rem}.month-picker-trigger{min-height:2.15rem;padding:.22rem .35rem .22rem .08rem;font-size:1rem}.month-picker-menu{min-width:min(17rem,calc(100vw - 1rem))}.app[data-view=jour] .month-nav,.app[data-view=jour] .empty-month,.app[data-view=effectif] .month-nav,.app[data-view=effectif] .empty-month,.app[data-view=jour] .view-mois,.app[data-view=jour] .view-alertes,.app[data-view=jour] .view-effectif,.app[data-view=mois] .view-jour,.app[data-view=mois] .view-alertes,.app[data-view=mois] .view-effectif,.app[data-view=alertes] .view-jour,.app[data-view=alertes] .view-mois,.app[data-view=alertes] .view-effectif,.app[data-view=effectif] .view-jour,.app[data-view=effectif] .view-mois,.app[data-view=effectif] .view-alertes,.day-title-long{display:none}.day-title-short{display:inline}.app[data-view=jour]{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden;padding-top:0;padding-bottom:calc(3.85rem + env(safe-area-inset-bottom,0px))}.app[data-view=jour] .topbar{flex:0 0 auto;margin-bottom:.08rem}.app[data-view=jour] .workspace,.app[data-view=jour] .workspace--consult,.app[data-view=jour] .side-stack,.app[data-view=jour] .view-jour{flex:1 1 auto;min-height:0;width:100%;display:flex;flex-direction:column;align-items:stretch;overflow:hidden}.app[data-view=jour] .day-detail{flex:1 1 auto;min-height:0;overflow:hidden;border:0;padding:0 .05rem;background:#f4efe6;color:#1b2430}.app[data-view=jour] .day-detail-list{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.app[data-view=jour] .day-detail-head{position:sticky;top:0;z-index:4;background:#f4efe6}.app[data-view=alertes]{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden;padding-top:0;padding-bottom:calc(3.85rem + env(safe-area-inset-bottom,0px))}.app[data-view=alertes] .topbar{flex:0 0 auto}.app[data-view=alertes] .workspace,.app[data-view=alertes] .workspace--consult,.app[data-view=alertes] .side-stack,.app[data-view=alertes] .view-alertes{flex:1 1 auto;min-height:0;width:100%;display:flex;flex-direction:column;align-items:stretch;overflow:hidden}.app[data-view=alertes] .view-alertes{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;gap:.65rem;padding-bottom:.35rem}.app[data-view=alertes] .panel{position:static;max-height:none;flex-shrink:0}.app[data-view=alertes] .alert-list{max-height:none;overflow:visible}.app[data-view=effectif]{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden;padding-top:0;padding-bottom:calc(3.85rem + env(safe-area-inset-bottom,0px))}.app[data-view=effectif] .topbar{flex:0 0 auto}.app[data-view=effectif] .view-effectif{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column;gap:.65rem;padding-bottom:.35rem}.app[data-view=effectif] .admin-section-focus{scroll-margin-top:.5rem}.app[data-view=jour] .day-quotas{margin-top:.2rem;padding:.28rem .05rem .12rem;border-top:1px solid var(--line);background:#f4efe6;min-height:3.85rem;overflow:hidden}.app[data-view=jour] .day-quota-chip{padding:.18rem .22rem .16rem;background:#fffdf8}.app[data-view=jour] .day-quota-vals{flex-direction:column;align-items:stretch;gap:.02rem}.app[data-view=jour] .day-quota-pair{justify-content:space-between;width:100%;gap:.12rem}.app[data-view=jour] .day-quota-k{font-size:.5rem;letter-spacing:.03em}.app[data-view=jour] .day-quota-num{font-size:.88rem}.app[data-view=jour] .day-quota-pole,.app[data-view=jour] .day-quotas-season{font-size:.62rem}.app[data-view] .topbar-sub,.topbar-sub{display:block}.app[data-view=jour] .google-session{padding:.08rem .32rem}.topbar-agenda-btn{min-height:2.35rem;padding:.18rem .55rem;font-size:.72rem}.google-text-btn{min-height:2.35rem;padding:.18rem .55rem;font-size:.78rem}.google-role-pill--btn{min-height:2.35rem;padding:.18rem .55rem}.google-role-option{padding:.55rem .65rem;min-height:2.35rem}.topbar .google-session-name{max-width:min(9.5rem,38vw)}.admin-tools-trigger{min-height:1.7rem;padding:.16rem .4rem .16rem .3rem;font-size:.7rem}.admin-tools-option{padding:.62rem .65rem;min-height:2.75rem}.admin-tools-option-label{font-size:.92rem}.osda-tools-backdrop{position:fixed;inset:0;z-index:35;border:0;background:#121c2b52;cursor:pointer;-webkit-tap-highlight-color:transparent}.admin-tools-menu{position:fixed;left:max(.5rem,env(safe-area-inset-left,0px));right:max(.5rem,env(safe-area-inset-right,0px));bottom:calc(3.85rem + env(safe-area-inset-bottom,0px));top:auto;max-height:min(70dvh,28rem);overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:40}.day-detail .icon-btn{width:2.35rem;height:2.35rem;font-size:1.15rem}.today-jump,.armement-open-btn{min-height:2.15rem;padding:.22rem .65rem;font-size:.76rem}.app[data-role=write] .day-agent,.app[data-role=admin] .day-agent,.app[data-role=cdt] .day-agent{min-height:2.35rem;padding:.08rem 0}.app[data-role=write] .day-select,.app[data-role=admin] .day-select,.app[data-role=cdt] .day-select,.app[data-role=write] .horaire-select-face,.app[data-role=admin] .horaire-select-face,.app[data-role=cdt] .horaire-select-face{min-height:2.15rem;font-size:.78rem}.panel-head input{min-height:2.75rem;font-size:1rem;padding:.45rem .65rem}.alert-card{min-height:2.75rem;padding:.65rem .75rem}.alert-empty{min-height:4rem;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.9rem;line-height:1.35}.leave-admin-head{flex-direction:column;align-items:stretch;gap:.55rem}.leave-admin-head-actions{align-items:stretch;width:100%}.leave-admin-actions{flex-direction:column;align-items:stretch}.leave-approve,.leave-reject{width:100%;min-height:2.75rem}.admin-dates{grid-template-columns:1fr}.admin-card-buttons{flex-direction:column;align-items:stretch;width:100%}.admin-card-buttons .admin-btn{width:100%;min-height:2.75rem}.accounts-table{font-size:.88rem}.accounts-table th,.accounts-table td{padding:.55rem .6rem}.agenda-modal.armement-modal{align-items:end;padding:0}.armement-modal .armement-modal-dialog{width:100%;max-height:92dvh;border-radius:14px 14px 0 0;align-self:end}.armement-modal .armement-panel{max-height:92dvh;border-radius:14px 14px 0 0;border-bottom:0}.armement-modal .armement-panel-head{position:sticky;top:0;z-index:2;background-color:#fffdf8;padding-bottom:.45rem}.armement-field select,.armement-position select{min-height:2.75rem}.day-detail-head h2{font-size:.92rem;font-weight:700}.day-summary{margin:.12rem 0 0;font-size:.7rem;gap:.18rem}.day-summary span{padding:.04rem .32rem}.commercial-toggle{padding:.32rem .4rem}.commercial-counts{font-size:.7rem}.commercial-counts span{padding:.04rem .32rem}.commercial-chart{min-height:8.6rem}.commercial-expand{width:2.15rem;height:2.15rem;top:.22rem;right:.22rem}.commercial-fs{gap:.3rem}.commercial-fs-heading{font-size:.72rem}.commercial-fs .commercial-chart-title{display:none}.commercial-fs .commercial-chart{padding:.45rem .55rem .55rem}.commercial-fs .commercial-legend{font-size:.74rem}.day-strip{position:relative;top:auto;z-index:6;background:#f4efe6;margin:.06rem -.1rem .04rem;padding:.06rem .1rem .12rem;gap:.14rem;flex:0 0 auto}.day-chip{width:2.05rem;min-height:2.15rem;border-radius:7px}.day-chip-dow{font-size:.48rem}.day-chip-dom{font-size:.82rem}.day-group h3{font-size:.62rem;padding:.12rem 0 .02rem;letter-spacing:.1em}.day-agent{min-height:1.32rem;padding:.02rem 0;gap:.12rem .3rem}.day-agent-name{font-size:.78rem}.day-agent-meta{gap:.22rem}.day-agent-code{font-size:.74rem}.day-agent-time{font-size:.66rem}.day-select,.day-select.cell-select{min-height:1.35rem;max-width:5.1rem;font-size:.68rem}.horaire-select.day-select.day-select--time{min-width:8.6rem;max-width:9.8rem}.horaire-select.day-select.day-select--time .horaire-select-face{min-height:1.35rem;font-size:.68rem}.you-chip{font-size:.55rem;margin-left:.2rem;padding:0 .2rem}.day-cdt-chip{font-size:.55rem;padding:0 .2rem}.grid-scroll{max-height:calc(100dvh - 6.25rem);-webkit-overflow-scrolling:touch}.name-col{min-width:7.2rem;width:7.2rem;font-size:.72rem;padding-left:.28rem!important}.cell,.cell--code,.cell--horaire{height:1.45rem;min-width:1.55rem;font-size:.7rem;padding:0 .04rem}.cell--code{min-width:2.45rem}.cell--horaire{min-width:5.9rem;font-size:.6rem}.app[data-view=mois]{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden;padding-top:0;padding-bottom:calc(3.85rem + env(safe-area-inset-bottom,0px))}.app[data-view=mois] .topbar,.app[data-view=mois] .month-nav,.app[data-view=mois] .empty-month{flex:0 0 auto}.app[data-view=mois] .month-nav{margin:.08rem 0 .18rem}.app[data-view=mois] .workspace,.app[data-view=mois] .workspace--consult,.app[data-view=mois] .view-mois,.app[data-view=mois] .grid-wrap,.app[data-view=mois][data-armement=workspace] .armement-workspace{flex:1 1 auto;min-height:0;width:100%;display:flex;flex-direction:column;align-items:stretch}.app[data-view=mois] .workspace,.app[data-view=mois] .workspace--consult{gap:0}.app[data-view=mois] .side-stack{display:none}.app[data-view=mois] .grid-wrap{border-radius:8px;overflow:visible}.app[data-view=mois] .grid-scroll{flex:1 1 auto;min-height:0;max-height:none;height:100%}.app[data-view=mois] .roster{font-size:.7rem}.app[data-view=mois] .roster th,.app[data-view=mois] .roster td{padding:0}.app[data-view=mois] .roster{--roster-name-w: 7.4rem;--roster-code-w: 2.2rem;--roster-horaire-w: 3.35rem}.app[data-view=mois] .roster.roster--codes-only{--roster-name-w: 7.4rem;--roster-code-w: 2.05rem;--roster-horaire-w: 0rem}.app[data-view=mois] .roster-col-name{width:var(--roster-name-w)}.app[data-view=mois] .roster-col-code{width:var(--roster-code-w)}.app[data-view=mois] .roster-col-horaire{width:var(--roster-horaire-w)}.app[data-view=mois] .roster.roster--codes-only .roster-col-name{width:var(--roster-name-w)}.app[data-view=mois] .roster.roster--codes-only .roster-col-code{width:var(--roster-code-w)}.app[data-view=mois] .name-col{min-width:7.4rem;max-width:7.4rem;width:7.4rem;font-size:.66rem;padding-left:.28rem!important;padding-right:.2rem!important;line-height:1.15;white-space:normal;overflow:visible;text-overflow:unset;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.app[data-view=mois] .agent-cell>span{overflow:visible;text-overflow:unset;white-space:normal}.app[data-view=mois] .cardinal,.app[data-view=mois] .mention{display:none}.app[data-view=mois] .cdt-chip{font-size:.55rem;margin-left:.2rem;padding:0 .2rem}thead tr:nth-child(3),.app[data-view=mois] thead tr:nth-child(3){display:none}.app[data-view=mois] .cell,.app[data-view=mois] .cell--code,.app[data-view=mois] .cell--horaire{height:1.28rem;padding:0 .02rem;white-space:nowrap}.app[data-view=mois] .roster:not(.roster--codes-only) .cell--code{min-width:2.2rem;width:2.2rem;max-width:2.2rem;font-size:.68rem;font-weight:750;overflow:visible;text-overflow:clip}.app[data-view=mois] .roster:not(.roster--codes-only) .cell--horaire{min-width:3.35rem;width:3.35rem;max-width:3.35rem;font-size:.52rem;letter-spacing:-.035em;overflow:hidden;text-overflow:clip;padding-left:0;padding-right:0}.app[data-view=mois] .roster thead .dom-head{height:1.32rem;min-width:5.55rem;width:5.55rem}.app[data-view=mois] .roster.roster--codes-only thead .dom-head{min-width:2.05rem;width:2.05rem}.app[data-view=mois] .roster.roster--codes-only .cell--code{min-width:2.05rem;width:2.05rem;max-width:2.05rem;overflow:visible;text-overflow:clip}.app[data-view=mois] .roster.roster--codes-only .name-col,.app[data-view=mois] .roster.roster--codes-only.roster .name-col{min-width:7.4rem;max-width:7.4rem;width:7.4rem}.app[data-view=mois] .dom-btn{min-height:1.85rem;font-size:.72rem}.app[data-view=mois] .dom-num{min-width:1.45rem;height:1.45rem;padding:0 .14rem}.app[data-view=mois] .roster thead .dom-head{height:1.85rem}.app[data-view=mois] .roster thead .dow-head{top:1.85rem}.app[data-view=mois] .roster thead .dow-head{top:1.32rem;height:.92rem;font-size:.48rem}.app[data-view=mois] .pole-band{height:.16rem}.app[data-view=mois] .pole-label{font-size:.62rem}.app[data-view=mois] .you-chip{font-size:.5rem;margin-left:.12rem}.app[data-view=mois] .topbar-sub{display:none}.cell-select{min-height:1.35rem;font-size:.65rem;max-width:none}.cell-select--horaire{font-size:.56rem}.horaire-select.cell-select--horaire .horaire-select-face{min-height:1.35rem;font-size:.56rem;padding:0 .48rem 0 .06rem}.app[data-view=mois] .cell-select--horaire{font-size:.5rem}.app[data-view=mois] .horaire-select.cell-select--horaire .horaire-select-face{min-height:1.2rem;font-size:.5rem;padding:0 .28rem 0 0;letter-spacing:-.035em}.app[data-view=mois] .horaire-select.cell-select--horaire .horaire-select-face:after{right:.1rem;border-left-width:.16rem;border-right-width:.16rem;border-top-width:.2rem}.app[data-view=mois] .horaire-label{letter-spacing:-.035em}.dom-btn{min-height:1.45rem;font-size:.72rem}.dom-num{min-width:1.28rem;height:1.28rem;padding:0 .14rem}.dow-head,.bc-head{height:auto;font-size:.52rem}.roster thead .dom-head{height:1.55rem;min-width:9.1rem}.roster thead .dow-head{top:1.55rem;height:1.05rem}.roster thead .bc-head{top:2.6rem}.pole-band{height:.28rem}.agenda-btn{min-height:2rem;padding:.2rem .45rem}.bottom-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:20;background:#142033;padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom,0px));padding-left:max(.4rem,env(safe-area-inset-left,0px));padding-right:max(.4rem,env(safe-area-inset-right,0px));gap:.3rem}.bottom-tab{min-height:2.75rem;border:0;border-radius:10px;background:transparent;color:#c9d7e6;font-size:.92rem;font-weight:650;cursor:pointer;-webkit-tap-highlight-color:transparent}.bottom-tab.is-on{background:#f6f1e8;color:var(--navy)}}@media(max-width:360px){.topbar .google-session-name{max-width:min(7.5rem,34vw)}}@media(min-width:981px){.bottom-nav{display:none}.today-jump{width:auto;margin-left:auto;margin-right:auto;max-width:14rem}}.topbar-account-actions{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.28rem}.topbar-leave-btn{background:var(--conge, #2f6f4e);border-color:var(--conge, #2f6f4e)}.leave-modal-dialog{width:min(26rem,100%);max-height:min(92dvh,44rem);overflow:auto;-webkit-overflow-scrolling:touch}.leave-panel{margin:0;background:var(--sheet, #fff);border:1px solid var(--line);border-radius:14px;padding:1rem 1rem 1.15rem}.leave-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem;position:sticky;top:0;z-index:2;background:var(--sheet, #fff);padding-bottom:.35rem}.leave-panel-head h2{margin:0;font-size:1.2rem}.leave-panel-sub{margin:.2rem 0 0;color:var(--muted);font-size:.86rem}.leave-form{display:grid;gap:.7rem}.leave-field{display:grid;gap:.28rem;font-size:.84rem;font-weight:600;color:var(--ink, #1a2433)}.leave-field input,.leave-field select,.leave-field textarea{font:inherit;font-weight:500;border:1px solid var(--line);border-radius:10px;padding:.55rem .65rem;background:#fff;color:inherit;min-height:2.55rem}.leave-field textarea{min-height:4rem;resize:vertical}.leave-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.leave-cal{display:grid;gap:.45rem;padding:.55rem .5rem .4rem;border:1px solid var(--line);border-radius:12px;background:#fffdf8;-webkit-user-select:none;user-select:none;touch-action:manipulation}.leave-cal-nav{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.leave-cal-title{margin:0;font-size:.95rem;font-weight:650;text-transform:capitalize;color:var(--ink)}.leave-cal-nav-btn{width:2.35rem;height:2.35rem;min-width:2.35rem;border-radius:10px}.leave-cal-dow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.12rem;text-align:center;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.leave-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.12rem}.leave-cal-pad{min-height:2.35rem}.leave-cal-day{appearance:none;border:0;border-radius:9px;min-height:2.35rem;background:transparent;color:var(--ink);font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.leave-cal-day:hover{background:#1420330f}.leave-cal-day:focus-visible{outline:2px solid var(--conge, #2f6f4e);outline-offset:1px}.leave-cal-day.is-range{background:#2f6f4e29;color:#1e4d36}.leave-cal-day.is-start,.leave-cal-day.is-end,.leave-cal-day.is-single{background:var(--conge, #2f6f4e);color:#f6f1e8}.leave-cal-day.is-middle{border-radius:4px}.leave-cal-day.is-start{border-radius:9px 4px 4px 9px}.leave-cal-day.is-end{border-radius:4px 9px 9px 4px}.leave-cal-hint{margin:0;font-size:.74rem;font-weight:500;color:var(--muted);line-height:1.3}.leave-period-hint{margin:0;font-size:.82rem;color:var(--muted)}.leave-feedback{margin:0;font-size:.8rem;color:var(--muted);line-height:1.35}.leave-feedback--error{color:#a11}.leave-submit{appearance:none;border:1px solid var(--conge, #2f6f4e);background:var(--conge, #2f6f4e);color:#f6f1e8;border-radius:11px;min-height:2.7rem;font:inherit;font-weight:650;cursor:pointer;touch-action:manipulation}.leave-mine{margin-top:1.1rem;padding-top:.85rem;border-top:1px solid var(--line)}.leave-mine h3,.leave-admin-recent h3{margin:0 0 .45rem;font-size:.95rem}.leave-mine-list,.leave-admin-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.leave-mine-item{display:grid;gap:.1rem;padding:.5rem .55rem;border:1px solid var(--line);border-radius:10px;font-size:.82rem;background:#fafbfc}.leave-mine-item.is-pending .leave-status{color:#8a5a00}.leave-mine-item.is-approved .leave-status{color:var(--conge, #2f6f4e)}.leave-mine-item.is-rejected .leave-status{color:#a11}.leave-status{font-weight:650}.leave-admin{margin-bottom:.85rem}.leave-admin-head{align-items:flex-start}.leave-admin-head-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem}.leave-pending-count{margin:0;font-size:.82rem;font-weight:650;color:var(--muted);white-space:nowrap}.leave-admin-empty{margin:.35rem 0 0;color:var(--muted);font-size:.88rem}.leave-admin-item{display:grid;gap:.55rem;padding:.7rem .75rem;border:1px solid var(--line);border-radius:12px;background:#fff}.leave-admin-main{display:grid;gap:.15rem;font-size:.88rem}.leave-admin-code{font-weight:650;color:var(--conge, #2f6f4e)}.leave-admin-meta{color:var(--muted);font-size:.78rem}.leave-admin-actions{display:flex;flex-wrap:wrap;gap:.4rem}.leave-approve,.leave-reject{appearance:none;border-radius:9px;min-height:2.25rem;padding:.35rem .75rem;font:inherit;font-weight:650;font-size:.84rem;cursor:pointer;touch-action:manipulation}.leave-approve{border:1px solid var(--conge, #2f6f4e);background:var(--conge, #2f6f4e);color:#f6f1e8}.leave-reject{border:1px solid var(--line);background:#fff;color:#a11}.leave-admin-recent{margin-top:1rem}@media(max-width:480px){.leave-field-row{grid-template-columns:1fr}}.armement-modal-dialog{max-width:min(960px,100%);width:100%;background-color:#fffdf8;background-image:none;border-radius:14px;-webkit-backdrop-filter:none;backdrop-filter:none;filter:none;opacity:1;isolation:isolate}.armement-panel{display:flex;flex-direction:column;gap:.75rem;max-height:min(88vh,920px);overflow:auto;margin:0;padding:.85rem .9rem 1.1rem;background-color:#fffdf8;background-image:none;border:1px solid var(--line, #d9d0c4);border-radius:14px;color:var(--ink, #1b2430);-webkit-backdrop-filter:none;backdrop-filter:none;filter:none;opacity:1;isolation:isolate}.armement-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.armement-panel-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem}.armement-day-nav{display:inline-flex;gap:.25rem}.armement-workspace{width:100%;min-width:0}.armement-panel--workspace{max-height:none;min-height:min(70vh,640px)}.app[data-armement=workspace] .view-mois{display:flex;flex-direction:column;min-height:0}.app[data-armement=workspace] .armement-workspace{flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.app[data-armement=workspace] .armement-panel--workspace{flex:1 1 auto;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.app[data-armement=workspace] .armement-panel-head{position:sticky;top:0;z-index:2;background-color:#fffdf8;padding-bottom:.4rem}.armement-panel-head h2{margin:0;font-size:1.15rem}.armement-panel-sub{margin:.2rem 0 0;color:var(--muted, #5c564c);font-size:.86rem}.armement-help{margin:0;font-size:.86rem;color:var(--muted, #5c564c)}.armement-export-row,.armement-add-form,.armement-slot-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}.armement-field{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;font-weight:600}.armement-field select,.armement-position select{min-height:2.25rem;border:1px solid var(--line, #cfc6b6);border-radius:8px;padding:.25rem 1.85rem .25rem .45rem;font:inherit;color:#111;appearance:none;-webkit-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231b2430' d='M1.1 1.2 6 6.1l4.9-4.9 1.1 1.1L6 8.3.0 2.3z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .55rem center;background-size:.7rem auto}.armement-field--inline{font-weight:550}.armement-present-count,.armement-empty{margin:0;font-size:.86rem;color:var(--muted, #5c564c)}.armement-slot-cover{margin:.35rem 0 0;font-size:.78rem;color:var(--muted, #5c564c)}.armement-slot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.armement-slot{border:1px solid var(--line, #cfc6b6);border-radius:10px;padding:.65rem .7rem;background-color:#fff;background-image:none;-webkit-backdrop-filter:none;backdrop-filter:none;opacity:1}.armement-positions{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.45rem;margin-top:.55rem}.armement-position{display:flex;flex-direction:column;gap:.25rem}.armement-position-label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #5c564c)}.armement-position-value{font-size:.9rem;min-height:1.4rem}.armement-open-btn{margin-left:.15rem}@media(max-width:480px){.armement-positions{grid-template-columns:1fr 1fr}.armement-add-form .admin-btn{width:100%}}.heures-modal-dialog{max-width:min(720px,100%);width:100%;background-color:#fffdf8;background-image:none;border-radius:14px;-webkit-backdrop-filter:none;backdrop-filter:none;filter:none;opacity:1;isolation:isolate}.heures-panel{display:flex;flex-direction:column;gap:.75rem;max-height:min(88vh,920px);overflow:auto;margin:0;padding:.85rem .9rem 1.1rem;background-color:#fffdf8;background-image:none;border:1px solid var(--line, #d9d0c4);border-radius:14px;color:var(--ink, #1b2430);-webkit-backdrop-filter:none;backdrop-filter:none;filter:none;opacity:1;isolation:isolate}.heures-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.heures-panel-head h2{margin:0;font-size:1.15rem}.heures-panel-sub{margin:.2rem 0 0;color:var(--muted, #5c564c);font-size:.86rem}.heures-field{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;font-weight:600}.heures-field select,.heures-field input{min-height:2.25rem;border:1px solid var(--line, #cfc6b6);border-radius:8px;padding:.25rem .45rem;font:inherit;background:#fff}.heures-period-row,.heures-export-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}.heures-summary{display:flex;flex-wrap:wrap;gap:.45rem .85rem;align-items:baseline;font-size:.88rem}.heures-summary-total{font-weight:700}.heures-empty{margin:0;font-size:.86rem;color:var(--muted, #5c564c)}.heures-day-list,.heures-slot-list{list-style:none;margin:0;padding:0}.heures-day-list{display:flex;flex-direction:column;gap:.65rem}.heures-day{border:1px solid var(--line, #cfc6b6);border-radius:10px;padding:.55rem .65rem;background-color:#fff;background-image:none;-webkit-backdrop-filter:none;backdrop-filter:none;opacity:1}.heures-day-head{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.35rem;font-size:.92rem}.heures-slot{display:grid;grid-template-columns:1fr auto auto;gap:.4rem;font-size:.84rem;padding:.15rem 0;color:#333}@media(max-width:480px){.heures-period-row .heures-field{flex:1 1 calc(50% - .25rem)}.heures-export-row .admin-btn{flex:1 1 auto}}
