:root{color-scheme:light;--red:#97051c;--red-deep:#710416;--ink:#1d2025;--muted:#565c66;--line:#dedce0;--paper:#fff;--surface:#f5f3f3;--focus:#005fcc}*{box-sizing:border-box}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--surface)}body{margin:0;font-size:16px;line-height:1.5}.masthead{background:#fff;border-bottom:4px solid var(--red)}.masthead-inner{max-width:1140px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem}.masthead img{object-fit:contain;width:min(38vw,194px);height:auto}.brand{display:flex;align-items:center;gap:.7rem}.brand strong{font-size:1.17rem;display:block;line-height:1.1}.brand span:not(.brand-mark){font-size:.76rem;color:var(--muted)}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--red);color:#fff;font-size:1.5rem;font-weight:800;border-radius:8px}.shell{max-width:1140px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.footer{max-width:1140px;margin:auto;padding:0 1.25rem 2rem;color:var(--muted);font-size:.84rem}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--red);margin:0 0 .35rem}h1,h2,h3{line-height:1.17;margin:.15rem 0 .75rem}h1{font-size:clamp(1.7rem,4vw,2.6rem)}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:.4rem 0 1rem}.muted{color:var(--muted)}.topline{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.clock{font-size:1.4rem;font-weight:750;font-variant-numeric:tabular-nums}.clock-info{font-size:.8rem;color:var(--muted);max-width:33rem}.grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1rem}.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:clamp(1rem,3vw,1.6rem);min-width:0;box-shadow:0 4px 18px #25111a08}.primary-card{border-top:5px solid var(--red)}.phase{font-size:1.15rem;font-weight:750}.countdown{font-size:clamp(3.1rem,10vw,6.3rem);line-height:1;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.05em;margin:.7rem 0}.detail{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1.2rem 0 0}.detail div{border-top:1px solid var(--line);padding-top:.7rem}.detail span{display:block;color:var(--muted);font-size:.84rem}.detail strong{display:block}.stack{display:grid;gap:1rem;align-content:start}.notice{padding:.85rem 1rem;border-radius:8px;border:1px solid #d9bd87;background:#fff7e6;color:#513500}.notice.error{border-color:#e7a3ae;background:#fff0f2;color:#710416}.notice.success{border-color:#9bbda8;background:#edf8f0;color:#174929}.notice:empty{display:none}button,.button{min-height:44px;border:1px solid var(--red);border-radius:7px;background:var(--red);color:#fff;font:inherit;font-weight:700;padding:.62rem 1rem;cursor:pointer}button:hover,.button:hover{background:var(--red-deep)}button.secondary{background:#fff;color:var(--red)}button.secondary:hover{background:#fff3f4}button:disabled{opacity:.55;cursor:not-allowed}a{color:var(--red-deep)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}label{font-weight:650;display:block;margin:.7rem 0 .3rem}input,select{font:inherit;width:100%;min-height:44px;padding:.55rem .65rem;border:1px solid #85858b;border-radius:6px;background:white;color:var(--ink)}input[type=checkbox]{width:auto;min-height:auto}.actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.inline{display:flex;gap:.5rem;align-items:center}.inline label{margin:0}.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.tabs button[aria-current=true]{background:var(--red);color:white}.tabs button:not([aria-current=true]){background:white;color:var(--red)}.editor{display:grid;gap:1rem}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;min-width:650px}th,td{padding:.6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f7f5f5;font-size:.87rem}td select{min-width:150px}tr:last-child td{border-bottom:0}.access-list{list-style:none;margin:0;padding:0}.access-list li{border-top:1px solid var(--line);padding:.8rem 0;display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap}.secret-box input{font-size:.85rem}.status{font-size:.85rem;color:var(--muted)}.schedule{margin:0;padding-left:1.2rem}.schedule li{margin:.4rem 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.grid,.two-col{grid-template-columns:1fr}.shell{padding:1rem .85rem 2rem}.masthead-inner{padding:.8rem .85rem}.brand strong{font-size:1rem}.brand span:not(.brand-mark){font-size:.68rem}.detail{grid-template-columns:1fr 1fr}.countdown{font-size:clamp(3rem,15vw,4.7rem)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.privacy{max-width:45rem;border-top:1px solid var(--line);padding-top:.75rem}.privacy summary{cursor:pointer;font-weight:700;color:var(--red-deep);min-height:44px;display:list-item}.privacy p{margin:.5rem 0}
td{position:relative}
.alarm-panel{position:sticky;top:.5rem;z-index:10;margin:0 0 1rem;padding:1rem;border:3px solid var(--red);border-radius:12px;background:#fff0f2;box-shadow:0 4px 18px #25111a30}.alarm-panel[hidden]{display:none}.alarm-panel p:first-child{font-weight:750}.alarm-panel button{min-height:48px}.alarm-panel .status{margin:.6rem 0 0}
.workshop-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.workshop-panel[hidden]{display:none}.workshop-panel>.card:only-child{grid-column:1/-1}.activity-list,.signal-list{list-style:none;margin:0;padding:0}.activity-list li,.signal-list li{border-top:1px solid var(--line);padding:.8rem 0;display:grid;gap:.2rem}.activity-list li:first-child,.signal-list li:first-child{border-top:0}.activity-time{color:var(--red-deep);font-weight:750;font-variant-numeric:tabular-nums}.workshop-slots .actions{margin-top:.5rem}.signal-list{max-height:28rem;overflow:auto}.signal-list li span{overflow-wrap:anywhere}@media(max-width:700px){.workshop-panel{grid-template-columns:1fr}.workshop-slots .actions button{flex:1 1 10rem}}

/* Vue commune de suivi : informations prévues et signalements distincts. */
.follow-panel { margin-top: 1rem; }
.follow-overview h3 { margin-bottom: .35rem; }
.follow-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .75rem; list-style: none; padding: 0; margin: 1rem 0; }
.follow-card { display: flex; flex-direction: column; gap: .35rem; padding: .9rem; border: 1px solid #e4d5d7; border-left: .3rem solid #97051c; border-radius: .55rem; background: #fff; overflow-wrap: anywhere; }
.follow-workshop { font-weight: 600; }
.follow-locations { list-style: none; margin: .7rem 0 1rem; padding: 0; display: grid; gap: .4rem; }
.follow-locations li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 1rem; border-bottom: 1px solid var(--line); padding: .45rem 0; }
.follow-overview summary { cursor: pointer; min-height: 44px; padding: .6rem 0; font-weight: 700; color: var(--red-deep); }
.follow-slots { list-style: none; margin: .4rem 0 1rem; padding: 0; display: grid; gap: .8rem; }
.follow-slots > li { border: 1px solid var(--line); border-radius: .5rem; padding: .8rem; }
.follow-slots h4 { margin: 0 0 .5rem; color: var(--red-deep); font-size: 1rem; }
.follow-slot-teams { list-style: none; padding: 0; margin: 0; }
.follow-slot-teams li { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .3rem 1rem; border-top: 1px solid var(--line); padding: .45rem 0; overflow-wrap: anywhere; }
