
:root{--ink:#1f4e79;--green:#147b85;--paper:#ffffff;--line:#bed8e0;--muted:#536e85}*{box-sizing:border-box}body{margin:0;background:#f0f9fc;color:var(--ink);font:15px/1.5 'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{border:1px solid #b5d7df;border-radius:7px;padding:10px 16px;background:transparent;color:var(--ink)}button:hover{background:#dcf5f7}button:disabled{opacity:.3;cursor:default}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#116670}a{color:inherit}.top{max-width:1320px;margin:auto;padding:27px 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font:bold 34px Georgia,serif;line-height:1}.brand span{color:#e5b628}.brand small{display:block;font:9px 'Segoe UI',sans-serif;letter-spacing:3px;margin-top:12px}.schoolyear{font-size:10px;letter-spacing:2px;color:var(--muted)}.schoolyear b{display:block;text-align:center;font-size:14px;margin-top:4px}main{max-width:1240px;margin:auto;padding:0 32px 30px}.intro{display:flex;justify-content:space-between;align-items:center;padding:45px 24px 30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--green)}h1{font:normal 49px/1.12 Georgia,serif;margin:14px 0}p{margin:8px 0}.intro>div>p:last-child{color:var(--muted)}.season{text-align:center;min-width:260px;transform:rotate(-5deg)}.season>span{font-size:105px;line-height:1.1}.season p{font:italic 16px Georgia,serif!important}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:8px 0 20px;flex-wrap:wrap}.toolbar>div{display:flex;gap:9px;align-items:center}.monthnav select{font-size:20px;border:0;background:transparent;font-weight:600;padding:10px}.monthnav button{border:0;font-size:23px}#identity{font-size:11px;color:var(--muted);margin-right:10px}#status{min-height:15px;font-size:13px;color:var(--green)}#sheet{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:30px 32px;box-shadow:0 8px 35px #1f4e7906}.sheethead{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.sheethead h2{font:normal 39px Georgia,serif;margin:0}.sheethead>div>p:last-child{color:var(--muted);font-size:13px}#month-art{font-size:55px;display:flex;flex-direction:column;align-items:center}#month-art img{width:150px;height:85px;object-fit:contain}#month-art small{font-size:11px;max-width:170px}.legend{display:flex;gap:22px;flex-wrap:wrap;font-size:11px;margin-bottom:17px}.legend span:before{content:'';display:inline-block;border-radius:50%;width:7px;height:7px;background:var(--cat);margin-right:6px}[data-cat=school]{--cat:#00b0e8;--tint:#def5ff}[data-cat=event]{--cat:#e4b527;--tint:#fff1b8}[data-cat=document]{--cat:#e7739d;--tint:#fbd5df}[data-cat=meeting]{--cat:#a269bc;--tint:#efe2fa}[data-cat=activity]{--cat:#20a9b0;--tint:#dcf5f7}#calendar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line);border-radius:6px;overflow:hidden}.weekday{text-align:center;background:#20a9b0;padding:10px;font-size:11px;font-weight:600;letter-spacing:1px;border-right:1px solid var(--line)}.day{min-height:108px;padding:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.day.empty{background:#f0f9fc}.date{font-size:12px;font-weight:600}.today .date{background:var(--green);color:white;border-radius:20px;padding:3px 7px}.event{background:var(--tint);border-left:3px solid var(--cat);border-radius:3px;padding:6px;margin-top:6px;font-size:11px;overflow-wrap:anywhere}.event strong{display:block}.event small{font-size:10px}.editable .day{cursor:pointer}.editable .day:hover{background:#e1f5fa}#weekends{font-size:12px;margin-top:12px}#sections{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;margin-top:25px}.info{border-top:1px solid var(--line);padding-top:12px}.info h3{font:normal 18px Georgia,serif;margin:0 0 7px}.info p{white-space:pre-wrap;font-size:12px;color:#355773}.placeholder{color:#647d90!important;font-style:italic}.sheetfooter{border-top:1px solid var(--line);margin-top:25px;padding-top:17px;font-size:11px}.sheetfooter strong{font:italic 17px Georgia,serif}.sheetfooter small{font-size:10px;color:var(--muted)}.bottom{text-align:center;font-size:12px;color:var(--muted);padding:20px}.dialoghead{display:flex;justify-content:space-between;align-items:center;gap:20px;position:sticky;top:0;background:var(--paper);z-index:1}.dialoghead h2{font:26px Georgia,serif}dialog{border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);width:min(700px,94vw);max-height:90vh;padding:20px 26px}dialog::backdrop{background:#173a5966}label{display:block;font-size:12px;font-weight:600;margin:13px 0 5px}input,textarea,dialog select{display:block;width:100%;padding:10px;border:1px solid #b5d7df;background:white;border-radius:5px;color:var(--ink)}textarea{resize:vertical;min-height:70px}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.eventrow{display:grid;grid-template-columns:125px 1fr 40px;gap:8px;margin:10px 0;padding:10px;background:#eaf6fb;border-radius:6px}.eventrow textarea,.eventrow select{grid-column:span 2}.eventrow button{padding:4px}#dialog-error{color:#a32f49;font-size:13px;white-space:pre-wrap}.accountrow{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.hint{font-size:12px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:750px){.top{padding:20px}.schoolyear{display:none}main{padding:0 12px}.intro{padding:25px 5px}.intro h1{font-size:34px}.season{min-width:85px}.season>span{font-size:65px}.season p{display:none}#sheet{padding:20px 12px}.toolbar>div{flex-wrap:wrap}#identity{display:none}.day{padding:5px;min-height:95px}.event{font-size:10px;padding:4px}.legend{gap:10px}.sheethead h2{font-size:29px}#sections{gap:16px}.eventrow{grid-template-columns:100px 1fr 32px}#month-art img{width:85px}.top button{font-size:12px}}@page{size:A4 landscape;margin:9mm}@media print{body{background:white;font-size:10px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.top,.intro,.toolbar,#status,.bottom,dialog{display:none!important}main{padding:0;max-width:none}#sheet{border:0;box-shadow:none;border-radius:0;padding:0}.sheethead{margin-bottom:10px}.sheethead h2{font-size:28px}.sheethead p{margin:3px 0}#month-art{font-size:35px}#month-art img{height:55px;width:100px}.legend{margin-bottom:8px}.weekday{padding:5px}.day{min-height:61px;padding:4px}.event{font-size:9px;padding:3px;margin-top:3px}.event small{font-size:8px}#sections{margin-top:12px;gap:8px 20px}.info{padding-top:5px;break-inside:avoid}.info h3{font-size:14px}.info p{font-size:10px}.sheetfooter{margin-top:12px;padding-top:8px}.sheetfooter strong{font-size:14px}.sheetfooter p,.sheetfooter small{font-size:9px}.event{break-inside:avoid}a{text-decoration:none}}


/* Palette de la maquette PowerPoint Savereau. */
.weekday{color:#fff}
.sheethead{border-bottom:3px solid #20a9b0;padding-bottom:18px}
#month-art{background:#e2f4ff;border-radius:12px;padding:8px 18px}
.legend{background:#f0f9fc;padding:10px 12px;border-radius:5px}
.info{border:1px solid #bed8e0;border-radius:10px;padding:0;overflow:hidden;background:var(--panel)}
.info:nth-child(1){--panel:#e2f4ff;--panel-heading:#cfedff}
.info:nth-child(2){--panel:#fbd0d0;--panel-heading:#ff999d}
.info:nth-child(3){--panel:#fce5d2;--panel-heading:#ffdf9a}
.info:nth-child(4){--panel:#f7f0ff;--panel-heading:#eee1fc}
.info h3{background:var(--panel-heading);padding:10px 13px;margin:0;color:#1f4e79}
.info p{padding:5px 13px 12px;margin:8px 0;min-height:38px}
.sheetfooter{background:#effbfc;border:1px solid #bed8e0;border-top:7px solid #d9f6f7;border-radius:8px;padding:16px}
#sheet{border-bottom:9px solid #20a9b0}
button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #e4b527;outline-offset:3px}
@media print{.sheethead{padding-bottom:8px}.legend{padding:5px 8px}.info{padding:0}.info h3{padding:5px 9px}.info p{padding:0 9px 5px;margin:5px 0;min-height:0}.sheetfooter{padding:8px;border-top-width:5px}#sheet{border-bottom:5px solid #20a9b0}}

.closure-legend{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0;font-size:11px;color:#355773}
.vacation-key:before,.holiday-key:before{content:'';display:inline-block;width:11px;height:11px;margin-right:6px;vertical-align:middle;border:1px solid #86bdc9}
.vacation-key:before{background:repeating-linear-gradient(135deg,#e2f4ff,#e2f4ff 3px,#cce9f5 3px,#cce9f5 5px)}
.holiday-key:before{background:#fbd0d0;border-color:#cf7c85}
.day.vacation{background:repeating-linear-gradient(135deg,#edf8fd,#edf8fd 7px,#e2f1f8 7px,#e2f1f8 9px)}
.day.holiday{background:#fbe3e6;border-top:3px solid #d77b8c}
.closure-label{display:block;font-size:10px;line-height:1.3;margin:5px 0;font-weight:600}
.vacation-label{color:#315f7a}.holiday-label{color:#8b3044}
#closures{margin-top:12px;padding:10px 13px;background:#f0f9fc;border-left:3px solid #20a9b0;font-size:11px}
#closures p{margin:3px 0}#closures small{font-size:10px;color:#536e85}
.contacts{padding-left:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin:10px 0}.contacts li{break-inside:avoid}
@media(max-width:750px){.contacts{grid-template-columns:1fr}.closure-label{font-size:9px}}
@media print{.closure-legend{margin:6px 0;font-size:9px}.closure-label{font-size:8px;margin:2px 0}#closures{padding:5px 8px;font-size:9px}#closures small{font-size:8px}.contacts{gap:4px 20px;margin:5px 0}.sheetfooter .hint{font-size:9px}}

.contact-editor{background:#edf8fc;border:1px solid #bed8e0;padding:12px;margin:12px 0;border-radius:8px}input[type=checkbox]{display:inline-block;width:auto;margin-right:8px}.accountrow{gap:12px;align-items:center}.accountrow button{padding:7px 9px}#mfasecret{font-family:monospace;font-size:17px;letter-spacing:1px}.toolbar>div{flex-wrap:wrap}

.event.illustrated{position:relative;min-height:75px;padding-bottom:30px;background:#ffdf67;border-left-color:#e4b527}
.event-artwork{position:absolute;right:2px;bottom:-7px;font-size:39px;line-height:1.1;filter:drop-shadow(0 2px 1px #1f4e7920)}
.day-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.4;margin:9px 0 4px;padding:6px;background:#fff8dc;border-radius:4px;border-left:2px solid #e4b527}
.artwork-choice{grid-column:span 2;margin:0}.eventrow .artwork-choice select{margin-top:4px}
.noterow{display:grid;grid-template-columns:140px 1fr 36px;gap:10px;padding:10px;margin:10px 0;background:#fff8dc;border-radius:6px}.noterow label{margin:0}.noterow button{padding:4px}.noterow textarea{min-height:70px}
@media(max-width:750px){.event-artwork{font-size:30px}.event.illustrated{min-height:83px}.noterow{grid-template-columns:110px 1fr 28px;gap:6px}.day-note{font-size:10px}}
@media print{.event.illustrated{min-height:47px;padding-bottom:20px}.event-artwork{font-size:27px;bottom:-4px}.day-note{font-size:8px;padding:3px;margin:4px 0 2px}}
