
        /* Petites animations pour l'UX */
        .fade-in { animation: fadeIn 0.3s ease-out; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        .modal-overlay { background-color: rgba(0, 0, 0, 0.4); backdrop-filter: blur(4px); }

        /* Personnalisation de la scrollbar */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #f1f1f1; }
        ::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 4px; }
        ::-webkit-scrollbar-thumb:hover { background: #9ca3af; }

        /* Toggle Switch */
        .toggle-checkbox:checked {
            right: 0;
            border-color: #8b5cf6;
        }
        .toggle-checkbox:checked + .toggle-label {
            background-color: #8b5cf6;
        }

        /* Bandeau 4 couleurs façon Guide Alternance EDF */
        .edf-stripe {
            display: flex;
            height: 5px;
            border-radius: 999px;
            overflow: hidden;
        }
        .edf-stripe span { flex: 1; }
        .edf-stripe span:nth-child(1) { background: #14245c; }
        .edf-stripe span:nth-child(2) { background: #ff8200; }
        .edf-stripe span:nth-child(3) { background: #ffb703; }
        .edf-stripe span:nth-child(4) { background: #74b816; }

        /* Sections repliables : indice visuel clair + zone cliquable confortable */
        summary::-webkit-details-marker { display: none; }
        summary { -webkit-tap-highlight-color: transparent; }
        details > summary .chev { transition: transform 0.2s ease; }
        details[open] > summary .chev { transform: rotate(180deg); }

        /* Accessibilité : focus clavier toujours visible */
        button:focus-visible, summary:focus-visible, input:focus-visible, a:focus-visible, label:focus-visible {
            outline: 2px solid #e86b4a;
            outline-offset: 2px;
        }

        .type-pill { transition: all 0.15s ease; }
    
:root{--paper:#f8f5ef;--ink:#213247;--muted:#71808a;--line:#e9e8e2;--accent:#e76847;--blue:#3559cf;--teal:#287f76;--yellow:#d9ac34}*{box-sizing:border-box}body{margin:0;background:var(--paper)!important;color:var(--ink);font-family:'DM Sans',sans-serif!important}h1,h2,h3,.wordmark,.metric-value{font-family:'Manrope',sans-serif}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button,.quiet-btn{transition:background .15s,transform .15s}button:active{transform:translateY(1px)}[hidden]{display:none!important}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}.skip-link{position:fixed;left:20px;top:-80px;z-index:100;background:#fff;padding:12px;border:2px solid var(--blue)}.skip-link:focus{top:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:216px;padding:37px 21px 24px;border-right:1px solid var(--line);background:#fbf9f4;display:flex;flex-direction:column;z-index:20}.wordmark{display:flex;align-items:center;gap:8px;font-size:25px;letter-spacing:-1.2px;font-weight:800;text-decoration:none;color:var(--ink);white-space:nowrap}.brand-symbol{background:var(--accent);color:#fff;border-radius:12px;width:37px;height:37px;display:grid;place-items:center}.brand-symbol .icon{width:24px;height:24px}.brand-dot{color:var(--accent);margin-left:-8px}.side-caption{font-size:9px;letter-spacing:1.5px;color:var(--muted);margin:15px 0 38px 3px}.sidebar nav{display:grid;gap:9px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:13px 14px;text-align:left;border:0;background:none;border-radius:10px;font-size:13px;color:#64727d;font-weight:500}.nav-item.active{color:#ad422a;background:#f9e7de;font-weight:700}.nav-item:hover{background:#f0eee7}.sidebar-bottom{margin-top:auto}.side-stamp{padding:25px 9px;display:flex;flex-direction:column;gap:10px;color:#79857f;font-size:11px;line-height:1.8}.side-stamp>.icon{color:#c49731;width:29px;height:29px}.profile{border-top:1px solid var(--line);display:flex;align-items:center;gap:11px;padding:20px 7px 0;margin-top:15px}.profile>span{width:35px;height:35px;border-radius:50%;background:#e6ebde;display:grid;place-items:center;color:#51604b;font-weight:600}.profile strong{font-size:12px;display:block}.profile small{font-size:10px;color:var(--muted);display:block;margin-top:2px}.app-main{margin-left:216px;max-width:1600px;padding:28px 38px 0;outline:none}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:14px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700;color:var(--muted)}.topbar p{font-size:12px;margin:5px 0 0;text-transform:capitalize}.top-actions{display:flex;gap:10px}.primary-btn,.quiet-btn,.today-btn{border:1px solid var(--line);border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px;font-size:12px;font-weight:600;background:#fff;color:var(--ink);min-height:42px}.primary-btn{background:var(--ink);color:#fff;border-color:var(--ink)}.primary-btn:hover{background:#354b64}.quiet-btn:hover,.today-btn:hover{background:#f1eee6}.welcome{position:relative;display:grid;grid-template-columns:1fr 1.17fr;height:224px;border-radius:16px;overflow:hidden;background:#eee9dd;margin-bottom:22px}.welcome-copy{padding:26px 32px;z-index:1}.welcome-copy .eyebrow{color:#657064;font-size:9px}.welcome h1{font-size:clamp(28px,3vw,40px);font-weight:800;line-height:1.12;letter-spacing:-1.7px;margin:11px 0 10px}.welcome h1>span,.page-heading h1>span{color:var(--accent)}.welcome p{font-size:12px;line-height:1.7;color:#657064;margin:0}.welcome img{width:100%;height:224px;object-fit:cover;object-position:center 52%;min-width:0}.image-tag{position:absolute;right:16px;bottom:14px;background:#fbf8ed;display:flex;align-items:center;gap:15px;font-size:8px;letter-spacing:1.3px;padding:8px 12px;border-radius:5px}.image-tag .icon{width:14px;height:14px}.metrics{display:grid;grid-template-columns:1.17fr 1fr 1fr 1.12fr;border:1px solid var(--line);background:white;border-radius:13px;overflow:hidden;margin-bottom:25px}.metric,#to-schedule-tile{padding:19px 21px!important;min-width:0;border-right:1px solid var(--line)}#to-schedule-tile{border:0;background:#fff!important}.metric-label{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px!important;line-height:1.4;text-transform:none!important;letter-spacing:0!important;color:#667580;font-weight:500!important;min-height:20px}.metric-label .icon{height:16px;width:16px;opacity:.65}.metric-value{display:flex;align-items:baseline;gap:6px;font-size:30px;line-height:1.3;font-weight:800;letter-spacing:-1px;margin-top:9px}.metric-value span{font-size:30px!important;font-weight:800!important}.metric-value small{font-size:12px;font-family:'DM Sans',sans-serif;font-weight:400;letter-spacing:0;color:#75828c}.metrics p{font-size:10px!important;line-height:1.6;margin:5px 0 0;color:#75828c}.balance-metric{background:#edf1ee}.balance-metric .metric-value{color:#2b6357}.balance-metric p>span#balance-hint{display:block;font-size:10px!important;margin-top:1px!important}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:23px;align-items:start}.calendar-card,.upcoming-card,.special-card,.panel{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.calendar-toolbar{padding:21px 21px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.month-heading{display:flex;align-items:center;gap:12px;min-width:0}h2{font-size:15px;font-weight:700;letter-spacing:-.4px}.month-heading h2{font-size:17px;text-transform:capitalize;margin:0}.month-arrows{display:flex;gap:0}.icon-btn{display:grid;place-items:center;width:32px;height:34px;border:0;background:none;border-radius:7px;color:#78818a}.icon-btn:hover{background:#f0eee8}.icon-btn .icon{width:16px;height:16px}.today-btn{padding:6px 10px;min-height:34px;font-size:10px}.calendar-subtools{display:flex;align-items:center;justify-content:space-between;padding:4px 21px 17px;gap:10px}.month-picker{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:6px}.month-picker input{font-size:10px;padding:3px!important;background:#fff;border:0!important;min-height:30px;width:125px!important}.segmented{display:flex;padding:3px;border-radius:7px;background:#f4f4f0;gap:2px}.segmented button{display:flex;align-items:center;gap:5px;font-size:10px;padding:5px 8px;background:none;border:0;border-radius:5px;color:#77838a}.segmented button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px #0000000a}.segmented .icon{width:13px;height:13px}.calendar-body{padding:0 18px}.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:9px;text-align:center;color:#7b858d;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.weekdays span:nth-last-child(-n+2){color:#a7a79e}.days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.day-cell,.day-empty{height:75px;min-width:0}.day-cell{border:1px solid #efeee9;background:#fff;border-radius:7px;padding:7px 5px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;position:relative;color:var(--ink);transition:background .15s,border-color .15s}.day-cell:hover{border-color:#d27a60;background:#fbf5ef}.day-cell .day-num{font-size:11px;font-weight:600;display:grid;place-items:center;width:23px;height:23px;line-height:1;border-radius:50%}.day-cell.weekend{background:#f8f8f5;color:#a5aaa7}.day-cell.today{border-color:var(--ink)}.day-cell.today .day-num{color:#fff;background:var(--ink)}.day-cell.conges{background:#fcf1eb;border-color:#f5d7c9}.day-cell.examen{background:#f0f3fc;border-color:#dfe5f9}.day-cell.ecole{background:#edf6f2;border-color:#cfe7df}.day-cell.fete{background:#fdf7e6;border-color:#ede1b8}.day-cell.holiday:not(.conges):not(.examen):not(.ecole):not(.fete){background:#f3f3e7}.day-cell.conflict{outline:2px solid #c34a31;outline-offset:-2px}.day-badge{font-size:8px;font-weight:600;display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;line-height:1.3;color:inherit}.day-cell.conges .day-badge{color:#a7462f}.day-cell.examen .day-badge{color:#3d59ae}.day-cell.ecole .day-badge{color:#287267}.day-cell.fete .day-badge{color:#846819}.day-top{display:flex;align-items:center;justify-content:space-between;gap:1px}.day-indicator{font-size:8px;color:#879069}.calendar-legend{display:flex;flex-wrap:wrap;gap:11px;padding:18px 20px 5px;font-size:9px;color:#77838c}.calendar-legend>span{display:flex;align-items:center;gap:5px}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#a1a48a}.dot.conges{background:var(--accent)}.dot.examen{background:var(--blue)}.dot.ecole{background:var(--teal)}.dot.fete{background:var(--yellow)}.calendar-help{font-size:9px;color:#939a9d;margin:5px 20px 16px}.right-column{display:grid;gap:16px}.upcoming-card,.special-card{padding:20px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-heading h2,.special-card h2{margin:0}.section-heading>.icon{width:17px;height:17px;color:#879184}.small{font-size:10px}.muted{color:var(--muted)}.upcoming-card>p,.special-card>p{margin:5px 0 17px}.empty-state{padding:22px 5px 10px;text-align:center}.empty-state>.icon{width:32px;height:32px;color:#c29b43;margin-bottom:10px}.empty-state strong{display:block;font-size:12px;font-weight:500}.empty-state p{font-size:10px;line-height:1.7;color:var(--muted);margin:7px auto 14px;max-width:175px}.empty-state button{font-size:10px;border:1px solid #deded4;border-radius:7px;padding:8px 12px;background:white}.special-row{display:flex;align-items:center;gap:10px;width:100%;padding:12px 0;border-bottom:1px solid #eeefe9;font-size:12px;text-align:left}.special-row:last-child{border-bottom:0;padding-bottom:0}.special-row>span:nth-child(2){flex:1}.special-row small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.special-row strong{font-size:15px}.special-row em{font-size:11px;color:#9ba1a2;font-style:normal;font-weight:400}.special-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:8px}.special-icon .icon{width:16px;height:16px}.special-icon.examen{background:#edf0fb;color:var(--blue)}.special-icon.fete{background:#fbf2d6;color:#a88529}.special-icon.ecole{background:#eaf4ef;color:var(--teal)}.school-link{background:none;border:0}.projection-link{display:flex;justify-content:space-between;align-items:center;border:0;text-align:left;background:#e9eddf;border-radius:12px;padding:20px;color:#53634d;font-size:12px;font-weight:600;gap:12px}.projection-link span>.icon{width:17px;height:17px;margin-right:6px}.projection-link small{display:block;font-size:10px;font-weight:400;margin-top:8px}.app-footer{padding:27px 0;display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#657267}.app-footer>span>span{margin-left:9px}.page-heading{margin:32px 0}.page-heading h1{font-size:32px;font-weight:800;letter-spacing:-1.1px;margin:9px 0}.page-heading p{font-size:13px;color:var(--muted)}.view-panel{animation:appear .22s ease-out}.view-panel>details{box-shadow:none!important;border:1px solid var(--line);border-radius:13px;margin-bottom:20px;background:#fff}.view-panel>details>summary{padding:20px 24px}.view-panel>details>summary h2{font-size:17px}.view-panel>details>summary .text-xs{line-height:1.5}.view-panel>details .lg\:grid-cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}.recap-panel,.school-dates{padding:24px;margin-top:20px}.recap-panel .section-heading{margin-bottom:20px}.school-row,.agenda-row{width:100%;display:flex;align-items:center;gap:12px;background:none;border:0;border-bottom:1px solid var(--line);padding:14px 5px;text-align:left;font-size:12px}.school-row:hover,.agenda-row:hover{background:#f8f8f3}.school-row>span:nth-child(2),.agenda-row>span:nth-child(2){flex:1;min-width:0}.school-row small,.agenda-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.date-tile{width:38px;padding:7px 0;text-align:center;flex-shrink:0;border-radius:8px;background:#f3f1e9;font-size:17px;font-weight:600;line-height:1}.date-tile small{font-size:8px!important;font-weight:500;text-transform:uppercase;margin-top:4px!important}.absence-item{background:none;border:0;border-bottom:1px solid var(--line);width:100%;display:flex;gap:10px;padding:13px 0;text-align:left;align-items:center}.absence-item:last-child{border-bottom:0}.absence-item .date-tile{background:#faf0e9;color:#af553c}.absence-item.examen .date-tile{background:#eef1fb;color:var(--blue)}.absence-item.fete .date-tile{background:#fbf3dd;color:#8f772c}.absence-item>span:nth-child(2){flex:1;min-width:0}.absence-item strong{font-size:11px;font-weight:600;display:block}.absence-item small{font-size:9px;color:var(--muted);line-height:1.6;display:block;margin-top:3px}.absence-item .icon{width:12px;height:12px;color:#989e9b}.panel-empty{color:var(--muted);font-size:12px;padding:26px 0;line-height:1.8}.start-date-field label{font-size:12px;color:#64748b;display:block;margin-bottom:6px}input[type=date],input[type=number],input[type=text]{border:1px solid #dce1df;padding:10px 12px;min-height:42px;min-width:0;max-width:100%;border-radius:8px;background:#fff}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}#start-date-input{width:100%}#hours-input{width:0}#range-inputs>.flex{flex-wrap:wrap}.type-pill .icon{height:22px;width:22px}.modal-overlay{background:rgba(22,37,48,.36);backdrop-filter:blur(3px)}#leave-modal>div.relative,#export-modal>div.relative{border-radius:18px;max-height:calc(100dvh - 32px)}#leave-modal button[onclick="saveLeave()"]{background:var(--ink);box-shadow:none}#toast{position:fixed;bottom:24px;left:calc(50% + 90px);transform:translateX(-50%);z-index:80;display:flex;align-items:center;gap:20px;background:var(--ink);color:white;padding:14px 18px;border-radius:12px;font-size:12px;box-shadow:0 5px 25px #14232d22;max-width:90vw}#toast button{color:#fff;background:none;border:0;white-space:nowrap}#undo-button{text-decoration:underline;font-weight:600}#toast button:last-child{font-size:20px;line-height:1}.shadow-lg,.shadow-sm{box-shadow:none!important}.text-slate-400{color:#7b858e!important}.text-slate-300{color:#7b858e!important}#view-settings .text-red-300,#view-settings .text-red-400{color:#b34b40!important}#view-settings .icon{height:17px;width:17px}.view-panel>details>summary:focus-visible{outline-offset:-4px}.view-panel .max-h-96{overflow-x:auto}.view-panel table{min-width:420px}@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.app-main{padding-left:52px;padding-right:52px}.calendar-layout{grid-template-columns:minmax(0,1fr) 310px}.day-cell,.day-empty{height:94px}.day-badge{font-size:10px}}
@media(max-width:1150px){.sidebar{width:185px;padding:30px 14px}.wordmark{font-size:23px}.app-main{margin-left:185px;padding:25px 22px 0}.calendar-layout{grid-template-columns:minmax(0,1fr) 232px;gap:16px}.welcome-copy{padding:25px}.metric,#to-schedule-tile{padding:16px 14px!important}.metric-label{font-size:10px!important}.calendar-toolbar{padding:18px 12px 8px}.calendar-subtools{padding:4px 12px 15px}.calendar-body{padding:0 10px}.month-heading{gap:4px}.month-heading h2{font-size:14px}.upcoming-card,.special-card{padding:16px}.day-cell{height:67px;padding:5px 3px}.day-empty{height:67px}.day-badge{font-size:7px}.calendar-legend{padding:15px 12px 5px;gap:8px}.calendar-help{margin-left:12px}}
@media(max-width:930px){.sidebar{width:76px;padding:28px 12px}.wordmark{font-size:0;gap:0;justify-content:center}.wordmark .brand-dot,.side-caption,.nav-item span,.sidebar-bottom,.side-stamp{display:none}.sidebar nav{margin-top:38px}.nav-item{justify-content:center;padding:14px}.app-main{margin-left:76px;padding:24px}.welcome{height:205px}.welcome img{height:205px}.welcome-copy{padding:24px}.welcome h1{font-size:32px}.metrics .metric-value span{font-size:27px!important}.metric-value small{font-size:11px}.calendar-layout{grid-template-columns:minmax(0,1fr) 225px}.month-arrows .icon-btn{width:27px}.calendar-toolbar{flex-wrap:wrap}.today-btn{font-size:9px;padding:4px 7px}.day-cell,.day-empty{height:63px}.day-badge{font-size:7px}.day-cell .day-num{width:20px;height:20px;font-size:10px}#toast{left:50%}}
@media(max-width:760px){.calendar-layout{grid-template-columns:1fr}.right-column{grid-template-columns:1fr 1fr}.projection-link{grid-column:1/-1}.day-cell,.day-empty{height:73px}.day-badge{font-size:9px}.month-heading h2{font-size:18px}.calendar-toolbar{padding:20px 18px 8px}.calendar-subtools{padding:5px 18px 17px}.calendar-body{padding:0 15px}.calendar-legend{padding:17px 17px 5px}.calendar-help{margin-left:17px}.metric,#to-schedule-tile{padding:15px 12px!important}.metric-label .icon{display:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.metric:nth-child(2){border-right:0}.welcome-copy{padding:24px 21px}.welcome h1{font-size:29px}.welcome p{font-size:11px}.image-tag{font-size:6px;right:8px;padding:6px 8px;gap:5px}.view-panel>details .lg\:grid-cols-6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body{padding-bottom:76px}.sidebar{inset:auto 0 0;width:auto;height:68px;padding:5px 8px calc(5px + env(safe-area-inset-bottom));background:#fbf9f4;border-right:0;border-top:1px solid var(--line);height:calc(68px + env(safe-area-inset-bottom))}.sidebar .wordmark{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0;width:100%}.nav-item{font-size:9px;display:flex;flex-direction:column;gap:5px;padding:8px 3px}.nav-item span{display:block}.nav-item .icon{width:19px;height:19px}.app-main{margin:0;padding:20px 14px 0}.topbar{margin-bottom:18px}.topbar .eyebrow{font-size:8px;letter-spacing:1.2px}.topbar p{font-size:9px;max-width:145px;line-height:1.5}.top-actions{gap:7px}.top-actions .quiet-btn{padding:10px}.top-actions .quiet-btn>span{display:none}.primary-btn{padding:10px 12px;font-size:10px;gap:5px}.primary-btn .icon{width:16px;height:16px}.welcome{height:187px;grid-template-columns:1.07fr 1fr;margin-bottom:17px;border-radius:12px}.welcome img{height:187px;object-position:62% center}.welcome-copy{padding:22px 15px}.welcome-copy .eyebrow{font-size:6.5px;letter-spacing:1px}.welcome h1{font-size:26px;letter-spacing:-1.1px;margin:12px 0}.welcome p{font-size:9px}.image-tag{display:none}.metrics{margin-bottom:18px;border-radius:11px}.metric,#to-schedule-tile{padding:15px!important}.metric-label{font-size:10px!important}.metric-value{margin-top:5px}.metrics p{font-size:9px!important}.balance-metric p>span#balance-hint{font-size:9px!important}.month-heading h2{font-size:16px}.month-arrows .icon-btn{width:27px;min-height:36px}.calendar-toolbar{padding:16px 11px 5px}.calendar-subtools{padding:3px 12px 14px}.calendar-body{padding:0 9px}.days-grid{gap:3px}.weekdays{gap:3px;font-size:8px}.day-cell,.day-empty{height:65px}.day-cell{padding:4px 2px}.day-cell .day-num{font-size:10px}.day-badge{font-size:7px}.day-indicator{font-size:6px}.calendar-legend{font-size:8px;gap:9px;padding:15px 12px 5px}.calendar-help{font-size:8px;margin-left:12px}.right-column{gap:12px}.upcoming-card,.special-card{padding:14px}.section-heading h2,.special-card h2{font-size:13px}.small{font-size:9px}.special-row{gap:6px;font-size:10px}.special-icon{height:25px;width:25px}.special-row small{font-size:8px}.special-row strong{font-size:13px}.empty-state{padding:12px 0 3px}.empty-state strong{font-size:11px}.empty-state p{font-size:9px}.empty-state button{padding:8px;font-size:9px}.absence-item{gap:7px}.absence-item .date-tile{width:30px;font-size:14px}.absence-item strong{font-size:10px}.absence-item small{font-size:8px}.absence-item>.icon{display:none}.app-footer{font-size:8px;flex-direction:column;gap:5px;padding:20px 0}.page-heading{margin-top:25px}.page-heading h1{font-size:27px}.page-heading p{font-size:12px}.view-panel>details>summary{padding:17px}.view-panel>details>div{padding-left:17px;padding-right:17px}.view-panel>details .lg\:grid-cols-6{grid-template-columns:1fr}.recap-panel,.school-dates{padding:17px}#leave-modal,#export-modal{padding:8px}#leave-modal>div.relative,#export-modal>div.relative{max-height:calc(100dvh - 16px);border-radius:14px}#leave-modal .p-6,#export-modal .p-6{padding:18px}#leave-modal input{font-size:16px}#toast{bottom:calc(82px + env(safe-area-inset-bottom));width:calc(100% - 28px);max-width:calc(100% - 28px);gap:10px;padding:13px;font-size:11px}#toast-message{flex:1}.date-tile small{font-size:7px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* The selected period is the primary decision aid. */
.period-summary{background:#edf1ee;border:1px solid #d5e2db;border-radius:12px;padding:17px;color:#27483e}.selection-head{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.selection-head strong{font-size:30px;line-height:1.2;letter-spacing:-1px}.selection-head span{font-size:13px;font-weight:600}.period-summary>p{font-size:12px;line-height:1.65;margin-top:7px}.selection-note{color:#60746b;font-size:11px!important;line-height:1.65}.selection-error{color:#b33d29;font-size:12px;font-weight:600}.selection-details{margin-top:12px;border-top:1px solid #d5e2db;padding-top:10px}.selection-details summary{cursor:pointer;font-size:12px;font-weight:600}.selection-details summary::after{content:' +';float:right}.selection-details[open] summary::after{content:' −'}.selection-details[open]{max-height:240px;overflow:auto}.selection-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #dfe7e1;font-size:11px}.selection-row:not(.eligible){color:#718078}.selection-row.eligible{font-weight:600}.duration-days{font-size:20px;font-weight:700;letter-spacing:-.5px;margin-bottom:4px}.school-exclusion{display:flex;align-items:center;gap:9px;font-size:12px;color:#60746b}.holiday-settings{padding:22px;margin-bottom:20px}.holiday-settings h2{margin-bottom:8px}.holiday-settings>p{line-height:1.8;margin-bottom:15px;font-size:12px}.holiday-settings>label{font-size:12px}.holiday-settings a{text-decoration:underline}.holiday-setting{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px;cursor:pointer}.holiday-setting>span{flex:1}.holiday-setting small{display:block;color:var(--muted);font-size:10px;margin-top:3px}#holiday-settings-list{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin:10px 0 15px}button:disabled{opacity:.45;cursor:not-allowed}#leave-modal .space-y-4{padding-top:14px}#leave-modal #hours-input{width:auto;flex:1;min-width:60px}#post-impact>.flex{gap:12px;align-items:flex-start}#post-impact .font-bold{text-align:right;font-size:12px}.day-badge{font-variant-numeric:tabular-nums}.metric-value{font-variant-numeric:tabular-nums}.school-exclusion[hidden]{display:none}
@media(max-width:560px){#holiday-settings-list{grid-template-columns:1fr}.period-summary{padding:14px}.selection-head strong{font-size:28px}.selection-head span{font-size:12px}#post-impact>.flex{flex-direction:column;gap:5px}.selection-row{font-size:10px}.holiday-settings{padding:17px}}
.modal-surface{position:relative;max-height:calc(100dvh - 32px)!important}.modal-surface>div.overflow-y-auto{min-height:0}.modal-footer{padding:14px 24px;background:#fff;border-top:1px solid var(--line);flex-shrink:0}.modal-footer #btn-delete{font-size:11px;margin-top:8px;color:#b24e3a}.pre-selection-balance summary{cursor:pointer;font-size:11px;color:var(--muted)}.pre-selection-balance #projection-box{margin-top:10px}#to-schedule-hours{font-size:10px!important;font-weight:400!important}#to-schedule-title{text-transform:none;letter-spacing:0;font-size:11px;line-height:1.4}#leave-modal .p-5{flex-shrink:0}@media(max-width:560px){.modal-surface{max-height:calc(100dvh - 16px)!important}.modal-footer{padding:12px 18px}.modal-footer button{font-size:13px}#leave-modal [role=radiogroup]{grid-template-columns:repeat(4,minmax(0,1fr))}#leave-modal .type-pill{padding:8px 4px}#leave-modal .type-pill .text-xs{font-size:10px}#leave-modal .p-5{padding:15px 18px}#leave-modal .space-y-5>:not([hidden])~:not([hidden]){margin-top:14px}}

