:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;position:relative;isolation:isolate;background:#f4f6fa}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url("/logo-planning-atelier.png.png") center center/cover no-repeat;opacity:.16}header{background:#172033;color:white;padding:24px max(18px,calc((100% - 1100px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:18px;min-width:0}.brand-logo{display:block;width:88px;height:88px;object-fit:contain;flex:0 0 auto;border-radius:8px}
h1{margin:0;font-size:clamp(1.6rem,4vw,2.3rem)}.eyebrow{letter-spacing:.22em;font-size:.72rem;color:#9daac2;margin:0 0 5px}.subtitle{color:#c2cada;margin:7px 0 0}
button{font:inherit;border:0;border-radius:10px;padding:11px 15px;background:#2867d8;color:white;font-weight:650;cursor:pointer}button:hover{filter:brightness(1.05)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #8ab4ff;outline-offset:2px}
main{max-width:1100px;margin:26px auto;padding:0 18px}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.toolbar h2{margin:0 auto 0 8px;font-size:1.25rem;text-transform:capitalize}.toolbar button{background:white;color:#172033;border:1px solid #dbe1eb}.toolbar #today{background:#e6edff;color:#1e4ca0;border-color:transparent}
#status{color:#59657a;min-height:1.4em;font-size:.9rem}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:rgba(255,255,255,.92);border:1px solid #dfe4ed;border-radius:14px;overflow:hidden;box-shadow:0 5px 20px #16233a0a}
.weekday{padding:12px 5px;text-align:center;font-size:.8rem;font-weight:700;color:#66738a;background:#f8f9fc;border-bottom:1px solid #e3e7ef}
.day{min-height:115px;padding:8px;border-right:1px solid #edf0f5;border-bottom:1px solid #edf0f5;background:rgba(255,255,255,.88);min-width:0}.day:nth-child(7n){border-right:0}.day.other{background:#fafbfc;color:#a7afbd}.day.today{box-shadow:inset 0 0 0 2px #2867d8}.daynum{font-size:.85rem;font-weight:700}.event{margin-top:6px;background:#e5edff;border-left:3px solid #2867d8;border-radius:5px;padding:5px 6px;font-size:.75rem;line-height:1.25;overflow-wrap:anywhere;cursor:pointer;color:#1c3f82}.event strong{display:block}.event .long{display:none}.legend{display:flex;align-items:center;gap:8px;color:#657087;font-size:.85rem;margin-top:14px}.dot{width:9px;height:9px;background:#2867d8;border-radius:50%}
dialog{border:0;border-radius:16px;width:min(560px,calc(100% - 24px));padding:0;box-shadow:0 20px 80px #101b3070}dialog::backdrop{background:#111b2e99}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0 0 18px;font-size:1.25rem}.icon-button{background:transparent;color:#59657a;font-size:1.8rem;padding:0 8px}form#slotForm{padding:24px;display:grid;gap:14px}label{display:grid;gap:6px;font-size:.9rem;font-weight:650}input,textarea{font:inherit;padding:11px 12px;border:1px solid #d4dbe7;border-radius:9px;background:white;width:100%;color:#172033}.required{color:#b42318;font-weight:500}.optional{color:#778197;font-weight:400}.hint{background:#f5f7fb;padding:10px;border-radius:8px;color:#657087;font-size:.82rem;line-height:1.4;margin:0}.actions{display:flex;align-items:center;gap:8px;margin-top:4px}.actions button:not([type=submit]){background:#edf0f5;color:#27344b}.actions .danger{background:#fff0ef;color:#a11a12}.grow{flex:1}.hidden{display:none!important}
@media(max-width:650px){header{align-items:flex-start;flex-direction:column;padding-top:20px;padding-bottom:20px}.brand{gap:12px}.brand-logo{width:64px;height:64px}header button{width:100%}.day{min-height:84px;padding:5px 3px}.weekday{font-size:.68rem;padding:9px 1px}.event{font-size:.65rem;padding:4px 3px;border-left-width:2px}.event .long{display:none}.toolbar{gap:6px}.toolbar button{padding:9px 11px}.toolbar h2{font-size:1rem}}

.reminder-panel{display:grid;gap:12px;padding:14px;background:#f5f7fb;border:1px solid #e1e7f0;border-radius:12px}.reminder-panel h3{margin:0;font-size:1rem}.check-label{display:flex;align-items:center;gap:9px}.check-label input{width:auto;flex:0 0 auto}.reminder-panel .hint{padding:0;background:transparent}

.header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.header-actions #enableNotifications{background:#46546c}.push-status{font-size:.88rem;color:#59657a;background:rgba(255,255,255,.78);padding:8px 11px;border-radius:8px;overflow-wrap:anywhere}
@media(max-width:650px){.header-actions{width:100%;display:grid;grid-template-columns:1fr}.header-actions button{width:100%}}
