:root{color:#22272c;font-synthesis:none;background:#f7f9fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.topbar{z-index:10;background:#fff;border-bottom:1px solid #dbe2e8;justify-content:space-between;align-items:center;gap:1rem;padding:1rem max(1.2rem,50vw - 610px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:.75rem;display:flex}.brand img{object-fit:contain;width:38px;height:38px}.brand strong,.brand small{display:block}.brand small{color:#687783;font-size:.82rem}.top-actions{flex-wrap:wrap;align-items:center;gap:.8rem;font-size:.9rem;display:flex}.top-actions a,.top-actions button{background:0 0;border:0;text-decoration:underline}.top-actions button{padding:0}main{max-width:1220px;margin:auto;padding:2rem 1.2rem 5rem}.intro{margin-bottom:1.5rem}.intro h1{margin:.2rem 0;font-size:clamp(2rem,4vw,3rem)}.intro p:last-child{color:#5e6b75;max-width:55rem;line-height:1.5}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#7d563d;margin:0 0 .35rem;font-size:.76rem;font-weight:750}.tabs{flex-wrap:wrap;gap:.6rem;margin:1.4rem 0;display:flex}.tabs a{background:#fff;border:1px solid #d6e0e7;border-radius:999px;padding:.7rem 1rem;font-weight:650;text-decoration:none}.tabs a:hover,.tabs a:focus-visible{background:#dceef5}.panel{background:#fff;border:1px solid #dbe2e8;border-radius:18px;margin:1rem 0 1.5rem;padding:1.5rem;scroll-margin-top:6rem;box-shadow:0 8px 30px #142b3d08}.panel h2{margin:.2rem 0 1rem;font-size:1.55rem}.panel h3{font-size:1.12rem}.auth-panel{max-width:480px;margin:6vh auto;padding:2rem}.primary{color:#fff;background:#1c3445;border:1px solid #1c3445;border-radius:9px;padding:.85rem 1.2rem;font-weight:700}.primary:hover{background:#2a536e}.notice{background:#fef4db;border:1px solid #edcf82;border-radius:12px;margin-bottom:1rem;padding:1rem}.notice.error,#authMessage.error,#requestMessage.error,#decisionMessage.error{color:#a12c25;background:#fff0ee}.section-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.week-actions{gap:.35rem;display:flex}.week-actions button{background:#fff;border:1px solid #d6e0e7;border-radius:8px;padding:.45rem .7rem}.legend{flex-wrap:wrap;gap:.8rem;margin:1rem 0;display:flex}.legend span{border-left:7px solid;padding-left:.5rem;font-size:.8rem;font-weight:700}.legend .maeva{border-color:#78a9bf}.legend .michel{border-color:#e6be52}.legend .sandra{border-color:#ad83ab}.legend .unavailable{border-color:#c44d45}.agenda-scroll{overflow-x:auto}.agenda-grid{border:1px solid #dde5e9;border-radius:10px;grid-template-columns:46px repeat(7,minmax(142px,1fr));min-width:1080px;display:grid;overflow:hidden}.rail,.day-column{border-right:1px solid #e2e8ec}.day-head{text-align:center;background:#f4f8fa;border-bottom:1px solid #dde5e9;height:64px;padding:.7rem .5rem}.day-head strong,.day-head span{display:block}.day-head span{color:#677780;font-size:.78rem}.day-track,.rail-track{background:repeating-linear-gradient(#fff 0 47px,#e9eef2 47px 48px);height:576px;position:relative}.rail-track span{color:#87949e;font-size:.7rem;position:absolute;right:5px;transform:translateY(-.5em)}.event{border-left:5px solid;border-radius:7px;padding:.25rem .35rem;font-size:.75rem;position:absolute;left:3px;right:3px;overflow:hidden;box-shadow:0 1px 4px #2335}.event strong,.event small{display:block}.event.maeva{background:#e1f0f5;border-color:#78a9bf}.event.michel{background:#fff2ce;border-color:#e6be52}.event.sandra{background:#f3e6f1;border-color:#ad83ab}.event.unavailable{background:repeating-linear-gradient(135deg,#fff1ef 0 7px,#f7d9d4 7px 14px);border-color:#c44d45}.event .break{text-align:center;background:#ffffffa8;border-top:1px dashed #6e797f;border-bottom:1px dashed #6e797f;font-size:.68rem;display:block;position:absolute;left:0;right:0}.coverage{color:#7a4524;background:#fff4e8;border-radius:9px;margin-top:1rem;padding:.8rem}.coverage.ok{color:#196445;background:#e7f5ee}.coverage ul{margin:.5rem 0 0;padding-left:1.25rem}.help{color:#65737d;font-size:.85rem;line-height:1.5}.balance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0;display:grid}.balance-grid>div{background:#f4f8fa;border:1px solid #e0e9ed;border-radius:12px;padding:1rem}.balance-grid span,.balance-grid strong,.balance-grid small{display:block}.balance-grid span{font-weight:600}.balance-grid strong{margin:.5rem 0;font-size:2rem}.balance-grid small{color:#677780;line-height:1.4}.ledger{border:1px solid #e0e9ed;border-radius:10px;padding:1rem}.ledger summary{cursor:pointer;font-weight:650}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{text-align:left;border-bottom:1px solid #e7edf0;padding:.55rem}.request-layout{grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem;display:grid}.request-form{border:1px solid #dce6eb;border-radius:12px;gap:.8rem;padding:1.1rem;display:grid}.request-form h3{margin:.2rem 0}.request-form label,.admin-person label{gap:.3rem;font-size:.88rem;font-weight:600;display:grid}.request-form input,.request-form select,.request-form textarea,.admin-person select{background:#fff;border:1px solid #c7d2d9;border-radius:8px;min-width:0;padding:.6rem}.time-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}#absenceFields,#shiftFields{gap:.8rem;display:grid}.request-list{gap:.7rem;display:grid}.request-card{border:1px solid #e0e8ec;border-radius:10px;padding:.85rem;line-height:1.45}.request-card header{justify-content:space-between;gap:.5rem;display:flex}.request-card p{margin:.45rem 0}.status{text-transform:uppercase;font-size:.75rem;font-weight:750}.status.pending{color:#8a6100}.status.approved{color:#116a46}.status.rejected{color:#a3322a}.request-actions{gap:.5rem;margin-top:.8rem;display:flex}.request-actions button{background:#f5f9fb;border:1px solid #b9cbd5;border-radius:7px;padding:.45rem .7rem}.empty{color:#687783}.admin-person{margin:0 0 1rem}@media (max-width:760px){.topbar{align-items:flex-start}.top-actions{justify-content:flex-end}.request-layout,.balance-grid{grid-template-columns:1fr}.panel{padding:1rem}.section-head{flex-direction:column;align-items:flex-start}main{padding:1rem .7rem 3rem}}.week-confirmation{background:#f0f6f8;border-radius:9px;align-items:center;gap:1rem;margin-top:1rem;padding:.7rem 1rem;display:flex}.week-confirmation p{flex:1}.week-confirmation button,.direct-shift-form button{background:#fff;border:1px solid #b8cbd4;border-radius:8px;padding:.65rem .85rem}.direct-shift-form{max-width:540px;margin-top:1.5rem}main{max-width:1680px}.agenda-grid{grid-template-columns:58px repeat(7,minmax(178px,1fr));min-width:1304px}.event{min-width:0;padding:.32rem .36rem;font-size:.73rem;line-height:1.25;right:auto}.event small{font-size:.68rem}.event .break{white-space:nowrap;overflow:hidden}.rail-track span{right:7px}.team-summary{gap:1.25rem;margin-top:1.25rem;display:grid}.team-card{background:#fbfdfe;border:1px solid #dbe5ea;border-radius:14px;padding:1.15rem}.team-card header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.team-card h3{margin:.15rem 0;font-size:1.3rem}.team-card h4{margin:1.1rem 0 .45rem;font-size:1rem}.team-card .eyebrow{margin:0}.team-metrics{grid-template-columns:repeat(5,minmax(125px,1fr));gap:.65rem;margin-top:1rem;display:grid}.team-metrics>div{background:#fff;border:1px solid #e1e8ec;border-radius:9px;padding:.75rem}.team-metrics span,.team-metrics strong{display:block}.team-metrics span{color:#5b6871;font-size:.78rem;line-height:1.3}.team-metrics strong{margin-top:.35rem;font-size:1.18rem}.balance-state{border-radius:999px;padding:.4rem .6rem;font-size:.78rem;font-weight:700}.balance-state.verified{color:#196445;background:#e7f5ee}.balance-state.pending{color:#805a18;background:#fff4df}.team-requests{border-top:1px solid #e2e8ec;margin-top:1rem;padding-top:.8rem}.team-requests summary{cursor:pointer;font-weight:650}.team-requests .request-list{margin-top:.8rem}#adminRequestSlot{margin:1.2rem 0}#adminRequestSlot .request-form{max-width:680px}@media (max-width:1000px){.team-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.team-metrics{grid-template-columns:1fr}}
