:root{--bg:#070e16;--panel:#111c29;--panel2:#142232;--stroke:#273649;--text:#f8f5ef;--muted:#93a0ad;--gold:#f0c77d;--gold2:#c3944c;--green:#58bca8;--red:#e3a26e;--radius:20px;color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{overflow:hidden;background:radial-gradient(ellipse 70% 48% at 52% -18%,#36402c77,transparent 80%),radial-gradient(ellipse 52% 64% at 98% 102%,#10253a,transparent 80%),#070e16}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}
.screen{height:100vh;height:100dvh;min-height:0;max-width:1180px;margin:auto;padding:clamp(12px,2.8vh,26px) clamp(14px,3vw,36px);display:flex;flex-direction:column;gap:clamp(11px,1.7vh,18px);overflow:hidden}.topbar{height:52px;flex:none;display:flex;align-items:center;border-bottom:1px solid #33405280;padding-bottom:10px}.brand-mark{width:39px;height:39px;margin-right:10px;display:grid;place-items:center;color:var(--gold);border:1px solid #d3aa6366;border-radius:11px;font-size:26px}.brand{display:flex;flex-direction:column;line-height:.97;letter-spacing:.18em;font-size:15px;font-weight:400}.brand strong{color:var(--gold);font-size:12px;letter-spacing:.22em;margin-top:5px}.top-right{margin-left:auto;display:flex;align-items:center;gap:10px}.timezone{font-size:10px;letter-spacing:.16em;color:var(--muted)}.clock{font-weight:700;letter-spacing:.025em;font-variant-numeric:tabular-nums;font-size:18px}.board{min-height:0;display:flex;flex:1;flex-direction:column;gap:clamp(10px,1.7vh,16px)}.board-intro{display:flex;justify-content:space-between;align-items:end;gap:10px;flex:none}.eyebrow{font-size:10px;line-height:1.1;font-weight:700;letter-spacing:.17em;color:var(--gold2)}.board-intro h1{margin:3px 0 0;font-weight:600;letter-spacing:-.045em;font-size:clamp(23px,2.9vw,39px);line-height:1.1}.dot{color:var(--gold)}.date-pill{color:#d5dbe1;background:#12202d;border:1px solid #304156;padding:9px 12px;border-radius:999px;font-size:11px;white-space:nowrap;text-transform:capitalize}
.primary-grid{display:grid;grid-template-columns:1fr 1fr;min-height:0;flex:1.15;gap:clamp(10px,1.6vw,16px)}.panel{border:1px solid var(--stroke);border-radius:var(--radius);background:linear-gradient(149deg,#172432 0%,#0e1825 82%);box-shadow:0 10px 40px #00000024;overflow:hidden}.progress-panel,.live-panel{padding:clamp(14px,2vw,27px);min-height:0;display:flex;flex-direction:column;justify-content:space-between}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tiny-chip{font-size:10px;color:#d1bd97;max-width:55%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-center{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:0}.score{white-space:nowrap;display:flex;align-items:baseline;gap:clamp(5px,.7vw,12px);font-variant-numeric:tabular-nums;letter-spacing:-.055em}.score strong{font-size:clamp(55px,6vw,96px);font-weight:700;line-height:1.1}.score .slash{color:#627083;font-size:clamp(28px,3vw,44px);font-weight:300}.score .target{font-size:clamp(34px,3.7vw,56px);color:var(--gold)}.score-caption{display:block;margin-top:1px;font-size:9px;letter-spacing:.14em;color:var(--muted);font-weight:700}.ring{flex:none;width:clamp(85px,9vw,128px);aspect-ratio:1;border-radius:100%;background:conic-gradient(var(--gold) calc(var(--progress)*1%),#2d3b4a 0);padding:8px;display:grid;place-items:center}.ring-inner{width:100%;height:100%;border-radius:50%;background:#13202f;display:flex;justify-content:center;align-items:center;flex-direction:column}.ring-inner strong{font-variant-numeric:tabular-nums;font-size:clamp(18px,2.3vw,28px)}.ring-inner span{font-size:8px;color:var(--muted);letter-spacing:.09em}.thin-track{height:5px;background:#2a3541;border-radius:100px;overflow:hidden}.thin-track span{height:100%;display:block;background:linear-gradient(90deg,#a37939,#f8d998);width:0;transition:width .45s ease}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric{display:flex;align-items:center;justify-content:space-between;gap:5px;background:#0b1622bb;border:1px solid #253747;border-radius:12px;padding:11px 15px}.metric span{font-size:10px;letter-spacing:.07em;color:#b5c1cb}.metric strong{font-variant-numeric:tabular-nums;font-size:clamp(22px,2.6vw,38px);color:var(--gold);line-height:1}
.live-panel{background:radial-gradient(circle at 95% 8%,#654d315e,transparent 42%),linear-gradient(140deg,#192938,#0f1925)}.live-badge{display:flex;align-items:center;gap:7px;border:1px solid #3d505c;border-radius:20px;padding:6px 9px;font-size:9px;color:#d9e1e9;letter-spacing:.08em;white-space:nowrap}.live-badge i{width:7px;height:7px;border-radius:50%;background:#8d9aa5}.live-badge.on{color:#b4ffec;border-color:#477b75}.live-badge.on i{background:var(--green);box-shadow:0 0 0 5px #3ba98d22}.live-main{padding:4px 0}.live-ornament{font-size:23px;color:var(--gold)}.live-title{font-size:clamp(22px,2.8vw,36px);font-weight:700;letter-spacing:-.035em;margin-top:2px}.live-subtitle{color:#b1bdcb;font-size:clamp(11px,1.3vw,14px);margin:7px 0 0;line-height:1.45}.live-metrics{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #344252;padding-top:clamp(10px,1.8vh,18px);gap:12px}.live-metrics>div{display:flex;flex-direction:column;gap:4px}.live-metrics span{color:#b5a88e;font-size:9px;letter-spacing:.12em;font-weight:700}.live-metrics strong{font-variant-numeric:tabular-nums;font-size:clamp(22px,3vw,40px);font-weight:650;letter-spacing:-.03em;line-height:1.1}.live-time-right{text-align:right}.live-metrics .countdown{color:var(--gold)}
.day-panel{flex:.77;min-height:0;padding:clamp(13px,1.6vw,20px) clamp(14px,2vw,25px);display:flex;flex-direction:column;justify-content:space-between;gap:10px}.day-head{display:flex;justify-content:space-between;align-items:center;gap:9px}.day-head h2{font-size:clamp(16px,2vw,25px);line-height:1.2;font-weight:600;text-transform:capitalize;margin:5px 0 0}.day-actions{display:flex;align-items:center;gap:8px}.day-total{background:#22334a;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:700;color:var(--gold);white-space:nowrap}.edit-trigger{border:1px solid #79664c;color:#f6dba9;background:#56422936;padding:8px 12px;border-radius:10px;display:flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap}.edit-trigger:hover{background:#82613a40}.slots{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;min-height:0}.slot{min-height:59px;border:1px solid #314355;border-radius:11px;background:#111e2c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.slot .slot-hour{font-size:clamp(12px,1.5vw,20px);font-weight:750;font-variant-numeric:tabular-nums}.slot .slot-state{color:#91a1b1;font-size:9px}.slot.done{border-color:#35554f;background:#122922}.slot.done .slot-hour,.slot.done .slot-state{color:#87d7c5}.slot.active{border-color:#e9bc72;background:#503d225b;box-shadow:inset 0 0 0 1px #9e7642}.slot.active .slot-hour,.slot.active .slot-state{color:#f7cb82}.slot.future .slot-hour{color:#e9edf4}.empty-day{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;color:#aebbc8;font-size:13px}.day-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#a7b4bf}.day-foot #dayNotice{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend{flex:none;white-space:nowrap;display:flex;align-items:center;gap:4px;color:#a0acb6;font-size:10px}.legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#586b80;margin:0 3px 0 4px}.legend-dot.done{background:var(--green)}.legend-dot.active{background:var(--gold)}
.bottom-nav{height:58px;flex:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.nav-btn{border:1px solid #314455;background:#172637;border-radius:14px;color:#dde5ec;font-size:13px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:9px;position:relative}.nav-btn:hover{background:#253749;border-color:#b28e56}.nav-icon{font-size:19px;color:var(--gold)}.nav-alert{position:absolute;top:8px;right:12px;background:#e0ab69;color:#17202b;border-radius:50%;width:17px;height:17px;display:grid;place-items:center;font-size:12px;font-weight:800}
/* All editing and secondary views live in dialogs; the main dashboard never slides. */
.modal{max-width:min(520px,calc(100vw - 24px));width:100%;max-height:min(87dvh,780px);padding:0;border:1px solid #4c5d69;border-radius:22px;color:var(--text);background:linear-gradient(145deg,#182939,#0c1622);box-shadow:0 24px 80px #000a;overflow:auto;overscroll-behavior:contain}.modal::backdrop{background:#020812c9;backdrop-filter:blur(7px)}.modal.wide-modal{max-width:min(720px,calc(100vw - 24px))}.modal-content{padding:clamp(18px,4vw,27px)}.modal-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.modal-head h2{font-size:clamp(23px,4vw,30px);letter-spacing:-.035em;line-height:1.18;margin:7px 0 0}.close-modal{flex:none;width:36px;height:36px;border:1px solid #415364;background:#263549;color:#e2ebf3;border-radius:11px;font-size:25px;line-height:1}.close-modal:hover{background:#34475c}.modal-lead{color:#b2c1ce;line-height:1.55;font-size:13px;margin:17px 0}.choice-box{background:#0d1b29;border:1px solid #385065;border-radius:15px;padding:15px}.choice-title{font-weight:650;font-size:13px;margin-bottom:12px}.choice-check-row{display:flex;align-items:center;gap:12px;min-height:72px;border:1px solid #526578;background:#172a3b;border-radius:12px;padding:14px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.choice-check-row:has(input:checked){border-color:#e7bd77;background:#3e3426}.choice-check-row:has(input:disabled){cursor:not-allowed;opacity:.73}.choice-check-row input{flex:none;appearance:none;-webkit-appearance:none;width:27px;height:27px;border:2px solid #96aaba;border-radius:6px;background:#0b1520;display:grid;place-items:center;margin:0;cursor:inherit}.choice-check-row input:checked{background:var(--gold);border-color:var(--gold)}.choice-check-row input:checked:after{content:'✓';font-size:19px;line-height:1;font-weight:900;color:#17212d}.choice-check-row input:focus-visible{outline:2px solid white;outline-offset:3px}.choice-check-label{display:flex;flex-direction:column;gap:4px;min-width:0}.choice-check-label strong{font-size:17px;color:#f4f5f8}.choice-check-label small{font-size:11px;color:#b7c7d5}.choice-current{margin-left:auto;flex:none;font-size:11px;white-space:nowrap;color:var(--gold);border-radius:30px;border:1px solid #77613e;padding:5px 9px}.hint{font-size:11px;line-height:1.55;color:#aebdc9;margin:11px 0 0}.modal-list-title{font-size:10px;letter-spacing:.15em;font-weight:700;color:var(--gold2);margin:20px 0 8px}.modal-show-list{display:grid;gap:6px}.show-row{display:flex;align-items:center;gap:12px;background:#0d1a26;border:1px solid #253849;border-radius:10px;padding:11px 13px;font-size:13px}.show-row .number{color:#90a8b8;font-size:11px;min-width:55px}.show-row strong{font-variant-numeric:tabular-nums;font-size:15px}.show-row .show-row-state{margin-left:auto;color:#bac8d3;font-size:12px}.show-row.done .show-row-state{color:var(--green)}.show-row.active{border-color:#aa8250}.show-row.active .show-row-state{color:var(--gold)}.modal-bottom{margin-top:15px;display:flex;justify-content:flex-end}.secondary-btn{padding:10px 18px;border-radius:11px;background:#263749;border:1px solid #425769;color:white}.calendar-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}.calendar-day{background:#111f2c;border:1px solid #2a3b4d;border-radius:12px;display:flex;align-items:center;gap:12px;padding:12px;color:var(--text);text-align:left;min-height:67px}.calendar-day.today{border-color:#ad8b5c;background:#2a2b28}.calendar-day:hover{background:#213449}.calendar-day .date-square{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:39px;color:var(--gold)}.calendar-day .date-square strong{font-size:22px;line-height:1}.calendar-day .date-square small{font-size:9px;text-transform:uppercase}.calendar-day .cal-center{display:flex;flex-direction:column;gap:3px;min-width:0}.calendar-day .cal-center strong{font-size:12px}.calendar-day .cal-center small{font-size:10px;color:var(--muted)}.calendar-day .cal-chevron{margin-left:auto;color:var(--gold);font-size:17px}.planning-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:19px 0 15px}.planning-numbers>div{background:#0b1a27;padding:12px 5px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:3px}.planning-numbers span{font-size:9px;letter-spacing:.11em;color:#b1bcc7}.planning-numbers strong{font-size:27px;color:var(--gold)}.audit-editor{background:#0e1c2a;border:1px solid #344859;border-radius:13px;padding:15px;display:flex;flex-direction:column;gap:12px}.audit-editor label{font-size:13px;font-weight:650}.audit-editor label small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.audit-editor select{border-radius:10px;background:#182a3a;border:1px solid #526779;color:white;width:100%;padding:12px;font-size:13px}.primary-btn{border:1px solid #cfa96d;background:#ac7e42;color:#101922;font-weight:800;padding:12px 13px;border-radius:10px}.primary-btn:disabled{background:#78664c}.toast{position:fixed;z-index:100;bottom:17px;left:50%;transform:translate(-50%,18px);opacity:0;pointer-events:none;background:#133229;color:#d7ffee;border:1px solid #4d9c83;padding:13px 18px;border-radius:12px;font-size:12px;max-width:calc(100vw - 28px);box-shadow:0 12px 35px #0008;transition:opacity .2s ease,transform .2s ease;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.toast.error{color:#ffe0ce;background:#45261e;border-color:#af6850}.network-error{font-size:12px;color:#ffc7ae;background:#52271d;border-radius:10px;padding:10px}
@media(max-width:700px){.screen{padding:12px 12px 10px;gap:10px}.topbar{height:44px;padding-bottom:8px}.brand-mark{width:32px;height:32px;font-size:22px;border-radius:9px;margin-right:8px}.brand{font-size:12px;letter-spacing:.16em}.brand strong{font-size:10px;margin-top:3px}.clock{font-size:15px}.timezone{font-size:9px}.board{gap:10px}.board-intro h1{font-size:23px}.board-intro .eyebrow{font-size:9px}.date-pill{font-size:10px;padding:7px 8px;max-width:52%;overflow:hidden;text-overflow:ellipsis}.primary-grid{display:flex;flex-direction:column;flex:1;gap:10px}.progress-panel,.live-panel{flex:1;min-height:0;padding:13px 15px}.panel-top .eyebrow{font-size:9px}.tiny-chip{font-size:9px}.score strong{font-size:clamp(43px,12vw,59px)}.score .slash{font-size:25px}.score .target{font-size:clamp(30px,8.5vw,40px)}.score-caption{font-size:8px}.ring{width:80px;padding:6px}.ring-inner strong{font-size:18px}.ring-inner span{font-size:7px}.metric{padding:8px 11px}.metric span{font-size:9px}.metric strong{font-size:24px}.live-title{font-size:clamp(20px,6vw,28px)}.live-subtitle{font-size:11px;margin-top:3px}.live-ornament{display:none}.live-metrics{padding-top:8px}.live-metrics strong{font-size:24px}.day-panel{flex:none;min-height:0;padding:12px 12px 10px;gap:9px}.day-head h2{font-size:16px;margin-top:4px}.day-head .eyebrow{font-size:8px}.day-total{font-size:11px;padding:7px}.edit-trigger{font-size:11px;padding:7px 9px}.slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.slot{min-height:41px;gap:2px;border-radius:9px}.slot .slot-hour{font-size:13px}.slot .slot-state{font-size:8px}.day-foot{font-size:10px}.legend{font-size:9px}.bottom-nav{height:55px;gap:7px}.nav-btn{font-size:11px;gap:6px;border-radius:12px}.nav-icon{font-size:17px}}
@media(max-width:400px){.score strong{font-size:44px}.score .target{font-size:31px}.ring{width:72px}.metric span{font-size:8px}.metric strong{font-size:22px}.date-pill{font-size:9px}.legend{font-size:8px}}
@media(max-height:760px) and (max-width:700px){.screen{padding-top:8px;padding-bottom:8px;gap:7px}.board{gap:7px}.topbar{height:37px;padding-bottom:4px}.brand-mark{width:28px;height:28px}.board-intro h1{font-size:21px}.progress-panel,.live-panel{padding:9px 12px}.ring{width:65px;padding:5px}.score strong{font-size:42px}.score .target{font-size:29px}.score-caption{display:none}.metric{padding:5px 8px}.metric strong{font-size:20px}.thin-track{height:4px}.live-title{font-size:20px}.live-metrics{padding-top:5px}.live-metrics strong{font-size:21px}.live-subtitle{font-size:10px;line-height:1.3}.day-panel{padding:9px 10px;gap:6px}.slots{gap:4px}.slot{min-height:35px}.day-foot{font-size:9px}.bottom-nav{height:45px}.nav-icon{font-size:15px}}
@media(max-height:610px) and (max-width:700px){.day-panel{padding:8px}.slot{min-height:30px}.slot .slot-state{display:none}.slots{gap:3px}.primary-grid{gap:6px}.day-foot .legend{display:none}.date-pill{display:none}.live-subtitle{display:none}.live-metrics{padding-top:3px}.metric span{font-size:8px}}
@media(max-width:540px){.calendar-list{grid-template-columns:1fr}.modal-content{padding:19px}.modal{max-height:87dvh}}
@media(prefers-reduced-motion:reduce){.thin-track span,.toast{transition:none}}

/* Bilan vérifié de la saison (147 initiaux, 146 après le 04/10). */
.audit-breakdown{display:grid;gap:7px;margin:13px 0 0}
.audit-breakdown>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;background:#101f2d;border:1px solid #324455;border-radius:10px}
.audit-breakdown span{font-size:12px;color:#ccd5dd}
.audit-breakdown strong{font-size:17px;color:var(--gold);font-variant-numeric:tabular-nums}
