:root{--nav:#132a36;--ink:#183541;--muted:#687d87;--line:#dce5e9;--bg:#f3f6f8;--teal:#505050;--red:#be3949}*{box-sizing:border-box}body{margin:0;font-family:Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}button,input,textarea,select{font:inherit}button,.button{background:var(--teal);color:#fff;border:1px solid transparent;border-radius:8px;padding:11px 15px;cursor:pointer;font-weight:600;text-decoration:none;display:inline-block}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}button.ghost,.button.ghost{background:#fff;color:var(--ink);border-color:var(--line)}button.danger{background:var(--red)}button.small{padding:7px 10px;font-size:12px}input,textarea,select{width:100%;background:#fff;border:1px solid #cbd8de;border-radius:7px;padding:10px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #888888;outline-offset:1px}label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:13px}label input,label select,label textarea{display:block;margin-top:6px}textarea{resize:vertical;min-height:95px}h1{font-size:28px;line-height:1.2;letter-spacing:-.7px;margin:8px 0}h2{font-size:18px;margin:0 0 17px}h3{font-size:15px;margin:0 0 10px}p{line-height:1.6}.muted,small{color:var(--muted)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--teal)}.brand{font-weight:800;letter-spacing:2px;font-size:24px}.brand span{font-weight:400;color:#777777;font-size:19px}.sidebar{width:236px;background:var(--nav);color:#eef4f6;position:fixed;inset:0 auto 0 0;padding:30px 18px;display:flex;flex-direction:column}.sidebar .brand{padding-left:12px}.side-label{font-size:10px;color:#8ba6b2;letter-spacing:1.5px;margin:45px 12px 15px}nav button{display:block;width:100%;text-align:left;background:transparent;padding:13px 12px;margin:5px 0;color:#c0d0d7;font-weight:500}nav button.active{background:#244a58;color:#fff;box-shadow:inset 3px 0 #777777}.side-bottom{margin-top:auto;padding:15px 12px;font-size:12px;color:#9cb6c2}.test-pill{font-size:10px;border:1px solid #496572;border-radius:5px;padding:5px 7px;color:#f2ce83}.workspace{margin-left:236px}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:15px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.dms-selector{margin:0;min-width:230px;font-size:10px;letter-spacing:1px}.dms-selector select{border:none;padding:3px 0;font-size:15px;font-weight:650;letter-spacing:0}.top-actions{display:flex;align-items:center;gap:14px;font-size:12px}#connection{color:var(--teal)}.notice{padding:9px 28px;background:#fff6e4;color:#826527;font-size:12px}#content{padding:30px;max-width:1900px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:15px}.page-head p{margin:8px 0 0;color:var(--muted)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat,.panel,.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px}.stat span{font-size:12px;color:var(--muted)}.stat strong{display:block;font-size:32px;margin-top:12px}.stat small{display:block;margin-top:8px}.columns{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:17px}.card h3{font-size:17px}.card .row{margin-top:16px}.resource-img{height:100px;object-fit:contain;width:100%;margin-bottom:12px}.badge{display:inline-block;font-size:11px;font-weight:600;padding:5px 8px;border-radius:5px;background:#edf1f4;color:#556d77;white-space:nowrap}.badge.disponible,.badge.ouvert{background:#def3e9;color:#237859}.badge.engage,.badge.urgent{background:#fbe4e7;color:#b02943}.badge.sur-place{background:#fff0d5;color:#936209}.badge.transport{background:#e7e8ff;color:#545ba8}.badge.indisponible,.badge.cloturee,.badge.cloture{background:#e8edf0;color:#6b7d84}.empty{padding:35px 20px;text-align:center;border:1px dashed #c4d4dc;border-radius:10px;color:var(--muted);background:#fbfcfd}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:10px;color:var(--muted);letter-spacing:.7px;text-transform:uppercase}td,th{padding:13px 10px;border-bottom:1px solid #edf1f3;vertical-align:top}td:first-child,th:first-child{padding-left:0}a{color:var(--teal)}.reg-layout{display:grid;grid-template-columns:250px minmax(330px,1fr) minmax(280px,.9fr);gap:17px}.call-list{max-height:750px;overflow:auto}.call-button{width:100%;text-align:left;padding:15px;background:#fff;color:var(--ink);border:1px solid var(--line);margin-bottom:9px;font-weight:400}.call-button.selected{border-color:var(--teal);background:#f0f0f0}.call-button strong{display:block;margin-bottom:8px}.call-button small{display:block;margin-top:7px}.section-label{font-size:10px;letter-spacing:1px;font-weight:700;color:var(--teal);padding:16px 0 10px;border-top:1px solid var(--line);margin-top:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.form-grid .full{grid-column:1/-1}.map{height:365px;border-radius:9px;background:#edf3f5;margin-bottom:15px}.map.large{height:510px}.map-hint{font-size:12px;color:var(--muted)}.mini-resource{border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:9px}.mini-resource .row{justify-content:space-between}.setup{width:min(480px,95vw);margin:7vh auto;padding:35px;background:#fff;border:1px solid var(--line);border-radius:16px}.setup form{margin-top:25px}.setup button{width:100%}.login-wrap{min-height:100vh;padding:1px;background:radial-gradient(ellipse at 85% 5%,#e6e6e6,transparent 55%)}.error{color:#a62339}#toast{position:fixed;bottom:25px;right:25px;max-width:550px;background:#333333;color:#fff;padding:15px 22px;border-radius:10px;z-index:2000;box-shadow:0 10px 30px #0002}#toast.error{background:#9e273c;color:#fff}dialog{width:min(620px,94vw);border:none;border-radius:14px;padding:26px;max-height:90vh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#10293377}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-head h2{margin:0}.footer-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.leaflet-popup-content{font-family:Helvetica,Arial,sans-serif}.draft-note{color:#936209;font-size:12px}.status-dot{width:12px;height:12px;border-radius:50%;background:#505050;border:2px solid #fff;box-shadow:0 0 0 2px #505050}.call-dot{background:#be3949;box-shadow:0 0 0 2px #be3949}.journal-action{font-size:12px}.banner{border-left:3px solid #e9b85b;padding:12px 15px;background:#fff8e9;margin-bottom:20px}.inline-note{white-space:pre-wrap}.hidden{display:none}@media(min-width:1550px){.reg-layout{grid-template-columns:280px minmax(450px,1fr) minmax(360px,1fr)}}@media(max-width:1200px){.reg-layout{grid-template-columns:220px 1fr}.map-panel{grid-column:1/-1}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.sidebar{position:static;width:auto;padding:16px}.sidebar .brand{padding:0}.side-label,.side-bottom{display:none}nav{display:flex;overflow:auto;margin-top:12px}nav button{white-space:nowrap;width:auto;margin:0;font-size:12px}.workspace{margin:0}.topbar{padding:15px;flex-wrap:wrap}.notice{padding:9px 15px}.top-actions{flex-wrap:wrap}#content{padding:18px}.columns,.reg-layout{grid-template-columns:1fr}.map-panel{grid-column:auto}.call-list{max-height:230px}.page-head{align-items:flex-start}.stats{gap:10px}.stat{padding:15px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.setup{padding:25px}.map.large{height:360px}}
.quick-status{margin:10px 0}.quick-status select{font-size:12px;font-weight:700;padding:8px}.status-buttons{display:flex;gap:5px;margin-top:7px}.status-buttons button{flex:1;font-size:11px;padding:6px}.assigned-state{border:1px solid var(--line);padding:10px;border-radius:9px;margin-bottom:12px}.check-label{display:flex;align-items:center;gap:9px;margin-top:24px;min-height:36px}.check-label input{width:auto;margin:0;accent-color:var(--teal)}.clinical-auto{padding:10px;background:#ffe6df;border-radius:7px;color:#ad2d36;font-weight:650}.badge.p1,.badge.alarme{background:#fbe4e7;color:#b02943}.badge.p2,.badge.depart,.badge.quitte-site{background:#fff0d5;color:#936209}.badge.p3,.badge.s1,.badge.s2,.badge.mission-log{background:#e5ecfa;color:#466599}.badge.dispo-sur-dms,.badge.dispo-hors-dms,.badge.dispo-vda,.badge.operationnel{background:#def3e9;color:#237859}.badge.destination-pma,.badge.destination-hop{background:#e7e8ff;color:#545ba8}.badge.hors-service{background:#e8edf0;color:#6b7d84}.account-panel{margin-bottom:25px}details{margin:17px 0}summary{cursor:pointer;color:var(--teal);font-weight:650;margin-bottom:10px}#alarm-preview,#radio-preview{font-size:12px;background:#f7fafb;white-space:pre-wrap}dialog:has(form[data-action="call_save"]){width:min(800px,94vw)}
.engage-check{display:flex;align-items:center;gap:7px;margin:0;font-size:14px;color:var(--ink)}.engage-check input{width:auto;margin:0;accent-color:var(--teal)}

/* Palette claire et repères opérationnels. */
:root{--nav:#f2f2f2;--bg:#f8fafc;--line:#d9e5ec;--ink:#303030;--muted:#666666}
.sidebar{color:var(--ink);border-right:1px solid var(--line)}.brand span{color:#505050}.side-label,.side-bottom{color:#666666}nav button{color:#505050}nav button.active{background:#e4e4e4;color:#444444;box-shadow:inset 3px 0 #505050}.test-pill{border-color:#d9ba6d;color:#785710;background:#fff8e5}
.urgency-critical{--urgency:#8b001c;--urgency-wash:#fff0f2;--urgency-text:#fff}.urgency-p1{--urgency:#e11c35;--urgency-wash:#fff3f4;--urgency-text:#fff}.urgency-p2{--urgency:#ffe047;--urgency-wash:#fffbe5;--urgency-text:#493b00}.urgency-p3{--urgency:#188749;--urgency-wash:#effbf3;--urgency-text:#fff}.urgency-s1{--urgency:#173e85;--urgency-wash:#f0f4fc;--urgency-text:#fff}.urgency-s2{--urgency:#9cd9fa;--urgency-wash:#eff9ff;--urgency-text:#103e5a}.urgency-other{--urgency:#d1d8df;--urgency-wash:#f5f7f9;--urgency-text:#344958}
.badge.urgency-badge{background:var(--urgency);color:var(--urgency-text)}.call-button{border-left:7px solid var(--urgency);background:var(--urgency-wash)}.call-button.selected{background:var(--urgency-wash);outline:2px solid #666666;outline-offset:-2px;border-left-color:var(--urgency)}.urgency-row{background:var(--urgency-wash)}.urgency-row td:first-child{border-left:6px solid var(--urgency);padding-left:10px}
.means-free{--means:#00b050;--means-bg:#effbf3}.means-alarmed{--means:#c00000;--means-bg:#fff0f0}.means-moving{--means:#e59b13;--means-bg:#fff8e9}.means-onsite{--means:#1a77b8;--means-bg:#edf7ff}.means-pma{--means:#548235;--means-bg:#f1f8eb}.means-hospital{--means:#8cad73;--means-bg:#f4faee}.means-patrol{--means:#7295af;--means-bg:#f1f6fa}.means-logistics{--means:#826bb5;--means-bg:#f5f2fc}.means-unavailable{--means:#8896a2;--means-bg:#f2f4f6}
.compact-means{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-left:6px solid var(--means);background:var(--means-bg);min-height:44px}.compact-means strong{font-size:13px;overflow-wrap:anywhere}.compact-means .badge{background:var(--means);color:#fff}.compact-means .quick-status{margin:0;flex:0 1 175px}.compact-means .quick-status select{padding:6px;font-size:11px;border-color:var(--means);background:#fff}.compact-means .engage-check{flex:1}

.status-buttons button.status-current:disabled{opacity:1;background:#505050;color:#fff;border-color:#505050;cursor:default}.badge.destination-autre{background:#e7e8ff;color:#545ba8}.badge.dispo{background:#def3e9;color:#237859}

.position-map{height:320px}.means-distance{font-size:12px;text-align:right;white-space:nowrap}.means-distance small{display:block;font-size:10px;white-space:normal}.compact-means .means-distance:empty{display:none}

.type-als{--type-bg:#fff0de;--type-accent:#d69a57}.type-bls{--type-bg:#fffbdc;--type-accent:#c9b652}.type-smur{--type-bg:#ffe9e9;--type-accent:#d88585}.type-foot{--type-bg:#efe5dc;--type-accent:#ae8c6b}.type-segway{--type-bg:#e5f3ff;--type-accent:#7caad0}.card[class*="type-"]{background:var(--type-bg);border-top:5px solid var(--type-accent)}tr[class*="type-"]{background:var(--type-bg)}.compact-means[class*="type-"]{background:var(--type-bg)}

.status-buttons button.status-choice{background:var(--means-bg);color:#303030;border:1px solid var(--means);border-bottom:4px solid var(--means)}.status-buttons button.status-choice:hover{filter:brightness(.96)}.status-buttons button.status-choice.status-current:disabled{background:var(--means);color:#fff;border-color:var(--means);opacity:1;outline:2px solid var(--means);outline-offset:2px;font-weight:800}.status-buttons{gap:9px;padding:3px}.status-buttons button.status-choice:disabled:not(.status-current){opacity:.45;cursor:not-allowed}

/* Couleurs du gestionnaire de statuts du classeur Triathlon. */
.status-choice[data-status="DISPO SUR DMS"],.status-choice[data-status="DISPO"]{--excel-status:#92d050;--excel-ink:#183500}
.status-choice[data-status="DISPO HORS DMS"]{--excel-status:#b8dcab;--excel-ink:#183500}
.status-choice[data-status="ALARMÉ"]{--excel-status:#ff4f4f;--excel-ink:#420000}
.status-choice[data-status="DÉPART"]{--excel-status:#ffff97;--excel-ink:#403b00}
.status-choice[data-status="SUR PLACE"]{--excel-status:#f6c6ad;--excel-ink:#492616}
.status-choice[data-status="QUITTE SITE"]{--excel-status:#0b77a0;--excel-ink:#fff}
.status-choice[data-status="DESTINATION PMA"],.status-choice[data-status="DESTINATION AUTRE"]{--excel-status:#d9aad4;--excel-ink:#43243f}
.status-choice[data-status="HORS SERVICE"]{--excel-status:#fff;--excel-ink:#344958}
.status-choice[data-status="PATROUILLE"]{--excel-status:#00b0f0;--excel-ink:#00324b}
.status-choice[data-status="MISSION LOG"]{--excel-status:#000;--excel-ink:#fff}
.status-buttons button.status-choice,.status-buttons button.status-choice.status-current:disabled{background:var(--excel-status,var(--means-bg));color:var(--excel-ink,#303030);border-color:var(--excel-ink,#666666)}
.status-buttons button.status-choice.status-current:disabled{outline:3px solid var(--excel-ink,#303030);outline-offset:2px;font-weight:800;box-shadow:inset 0 0 0 2px #ffffff90}

/* Tâches d’alarme partenaire */
.partner-task-box{margin:16px 0;padding:14px;border:1px solid #e6ac53;border-radius:10px;background:#fffaf0}
.partner-task-box h3{margin-top:0}
.partner-task-alert{margin:10px 0;padding:12px;border:2px solid #c66a00;border-left:7px solid #b94e00;border-radius:8px;background:#fff0cb;color:#743100;text-align:left;overflow-wrap:anywhere}
.partner-task-alert strong{display:block}
.partner-task-alert button{margin:8px 8px 0 0}
.call-button .partner-task-alert{font-size:12px;padding:8px}

/* Grande carte du DMS */
.map-overview-panel{padding:16px}
.map.map-overview{height:calc(100vh - 260px);min-height:520px;width:100%;border-radius:12px}
.map-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:13px}
.map-legend span{display:inline-flex;align-items:center;gap:6px}
.map-legend i{width:14px;height:14px;border-radius:50%;border:1px solid #52606b}
.map-means-pin{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:2px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 1px 4px #26354480;color:#fff;font-weight:900}
.leaflet-tooltip.map-indicatif{background:transparent;border:0;box-shadow:none;padding:0;color:#172e40}
.leaflet-tooltip.map-indicatif:before{display:none}
.map-indicatif strong{display:block;background:#ffffffed;border:2px solid;padding:3px 7px;border-radius:6px;font-size:12px;white-space:nowrap;box-shadow:0 1px 4px #26354440}
@media(max-width:700px){.map.map-overview{height:65vh;min-height:400px}}

/* Missions clôturées : priorité colorée, tuile grisée. */
.call-button.mission-closed,.call-button.mission-closed.selected{background:#e8ecef;color:#485661;border-left-color:#9ba6af}
.urgency-row.mission-closed{background:#e8ecef;color:#485661}
.urgency-row.mission-closed td:first-child{border-left-color:#9ba6af}
.map-means-pin{border-color:#52606b}

.guidance-tile{padding:15px;margin:12px 0;border:2px solid;border-radius:10px;text-align:left;background:#fff9e9}.guidance-rcp{border-color:#a81b32;background:#fff1f3}.guidance-pls{border-color:#397196;background:#eff7ff}.guidance-tile h3{margin-top:0}.guidance-tile ol{padding-left:22px}.guidance-tile li{margin-bottom:10px;line-height:1.5}

/* Formulaire de régulation visuel */
.reg-form-block{padding:17px;margin:18px 0;border:1px solid #dbe5ea;border-radius:12px;background:#fcfdfe}
.reg-form-block h3{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:17px}
.reg-form-block h3 span{background:#d8eeed;color:#15555f;border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.clinical-choice-group{margin:14px 0}.field-caption{display:block;margin-bottom:8px;font-size:12px;font-weight:700;color:#415c6a}
.clinical-choice-buttons{display:flex;flex-wrap:wrap;gap:8px}
button.clinical-choice{background:#edf2f5;color:#3c5460;border:2px solid transparent;padding:11px 13px;min-height:44px;font-weight:650}
button.clinical-choice[aria-pressed="true"]{border-color:#164c60;box-shadow:0 0 0 2px #164c6030}
button.clinical-choice.vital-danger{background:#ffe6e8;color:#8b1930}
button.clinical-choice.vital-danger[aria-pressed="true"]{border-color:#9d1c35}
button.clinical-choice.priority-choice{background:var(--urgency);color:var(--urgency-text);flex:1;min-width:70px}
button.clinical-choice.priority-choice[aria-pressed="true"]{outline:3px solid #333333;outline-offset:2px;border-color:#fff}
button.clinical-choice:disabled{opacity:.45}button.clinical-choice[aria-pressed="true"]:disabled{opacity:1}
.scope-toggle{background:#fff4e2;border:1px solid #eed0a0;padding:12px;border-radius:8px;display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:14px}
.scope-toggle input{width:auto;margin:0}.scope-toggle small{width:100%;padding-left:23px;color:#805624}
.reg-details{padding:10px;background:#f0f5f8;border-radius:8px}.reg-details summary{margin:0}.reg-details[open] summary{margin-bottom:12px}
.save-call-button{width:100%;min-height:48px;font-size:15px;margin:8px 0 15px}
.mission-search{font-size:12px;font-weight:700}.mission-search input{font-size:13px;min-height:44px;background:#fff}
.cancel-means{border:1px solid #c8a8a8;color:#8b2638;grid-column:1/-1;justify-self:end}
.transmission-alert{border-color:#bd5a11;background:#fff0d8}
@media(max-width:800px){.reg-form-block{padding:13px}.clinical-choice-buttons{gap:7px}.clinical-choice-buttons button{flex:1}.scope-toggle{font-size:13px}}
.contact-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.contact-actions .button{display:inline-block;padding:8px 12px;border-radius:8px;text-decoration:none;border:1px solid #cbd5dc;color:#245963;background:#fff}.operational-card{padding:18px 0;border-bottom:1px solid #dce5e9}.large-phone{font-size:clamp(26px,5vw,48px);font-weight:700;text-align:center;letter-spacing:.08em}.vcard-row{border:1px solid #dce5e9;padding:15px;margin:12px 0}.vcard-row .warning{color:#964400}.compact-means{flex-wrap:wrap}.compact-means .contact-actions{flex-basis:100%}
.evolution-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.regulation-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:#f2f2f2;border-radius:10px;margin-bottom:14px}.regulation-mode select{max-width:190px}.clinical-config-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,1fr);gap:16px}.severity-area{background:#f4f4f4;border:1px solid #d6e2e7;border-radius:10px;padding:14px}.severity-area .check-label{display:block;margin:12px 0}.severity-area small{display:block;margin-top:5px}.geocode-button{float:right;padding:4px 9px}.geocode-result{display:block;width:100%;margin:10px 0;text-align:left}.configured-measure{border:2px solid var(--measure-color,#177c87);border-left-width:8px;background:#fff;border-radius:10px;padding:15px;margin:15px 0}.configured-measure h3{color:var(--measure-color,#177c87)}.configured-measure p{white-space:pre-wrap}.regulating-alert{margin:12px 24px 0;padding:12px 18px;background:#ffdf49;color:#542700;border:3px solid #f57c00;border-radius:10px;font-size:17px;animation:regulation-flash 1.5s ease-in-out infinite}.regulating-alert p{margin:4px 0}@keyframes regulation-flash{50%{background:#fff2a5;border-color:#ffbd39}}@media(prefers-reduced-motion:reduce){.regulating-alert{animation:none}}.danger{color:#a52828!important}@media(max-width:1100px){.evolution-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.clinical-config-layout{grid-template-columns:1fr}.evolution-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Configuration par problème principal */
.protocol-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:20px;align-items:start}.protocol-problems{max-height:80vh;overflow:auto;position:sticky;top:15px}.protocol-problems button{display:block;width:100%;text-align:left;margin:6px 0;background:#f0f0f0;color:#333333}.protocol-problems button.selected{background:#177c87;color:white}.protocol-problems small{display:block;opacity:.8}.attitude-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.attitude-editor section{padding:14px;border:1px solid #d5e0e7;border-radius:10px;background:#f8fafc}.attitude-editor textarea{min-height:80px}.protocol-cards{grid-column:1/-1}.protocol-criterion{border:1px solid #cddae3;border-radius:12px;padding:16px;margin:15px 0}.protocol-criterion summary{font-weight:700;cursor:pointer}.protocol-criterion-head{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end;margin:15px 0}.protocol-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.card-choices{border-top:1px solid #d5e0e7;margin-top:15px;padding-top:10px}#protocol-summary{font-size:.85rem;padding:10px;background:#f2f2f2;border-radius:8px}#protocol-summary:empty{display:none}@media(max-width:900px){.protocol-layout{grid-template-columns:1fr}.protocol-problems{position:static;max-height:300px}.attitude-editor,.protocol-criterion-head{grid-template-columns:1fr}}

/* Version b1 — accents neutres et accueil de régulation */
:root{--nav:#f0f0f0;--ink:#252525;--muted:#666;--line:#ddd;--bg:#f7f7f7;--teal:#505050}
.brand span,.side-label,.side-bottom,nav button{color:#555}nav button.active{background:#dedede;color:#222;box-shadow:inset 3px 0 #555}.call-button.selected{outline-color:#555}.test-pill{border-color:#bbb;color:#333;background:#eee}.login-wrap{background:radial-gradient(ellipse at 85% 5%,#e3e3e3,transparent 55%)}input:focus,select:focus,textarea:focus{outline-color:#888}.section-label,.eyebrow,a,#connection{color:#505050}.clinical-choice:not(.priority-choice):not(.vital-danger){border-color:#ccc}.severity-area,.regulation-mode{background:#f3f3f3;border-color:#ddd}.protocol-problems button{background:#eee;color:#333}.protocol-problems button.selected{background:#505050;color:#fff}.attitude-editor section{background:#fafafa;border-color:#ddd}.leaflet-popup-content{font-family:Helvetica,Arial,sans-serif}#toast{background:#333}#toast.error{background:#9e273c}
.reg-layout.reg-unselected{grid-template-columns:250px minmax(0,1fr)}.interventions-map-panel{min-width:0}.map.interventions-map{height:calc(100vh - 290px);min-height:480px}.intervention-point{display:block;width:20px;height:20px;border-radius:50%;border:3px solid white;background:var(--urgency,#969696);box-shadow:0 1px 5px #0008}.intervention-inactive{--urgency:#969696}.intervention-marker{cursor:pointer}.configured-measure h3{color:#000}.measure-excerpt{line-height:1.6;max-height:6.4em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.measure-excerpt p,.measure-excerpt ul{margin:0}.measure-excerpt ul{padding-left:20px}
@media(min-width:1550px){.reg-layout.reg-unselected{grid-template-columns:280px minmax(0,1fr)}}@media(max-width:800px){.reg-layout.reg-unselected{grid-template-columns:1fr}.map.interventions-map{height:60vh;min-height:360px}}

@media(min-width:1101px){.evolution-stats{grid-template-columns:repeat(6,minmax(0,1fr))}}

button[data-do="new-call"]{background:#c62828;color:#fff;border-color:#c62828}dialog:has(#sector-editor){width:min(1400px,96vw)}.sector-map{height:65vh;min-height:380px}.sector-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}.sector-list{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.sector-entry{display:flex;gap:6px;align-items:center}.sector-entry input{width:180px}.sector-label{background:#fff;border:1px solid #555;color:#111;border-radius:4px;padding:4px 7px}

nav button[hidden]{display:none!important}

.operational-card{background:var(--operational-status,#eee);background:color-mix(in srgb,var(--operational-status,#eee) 38%,white);color:#111;border:2px solid var(--operational-status,#888);border-radius:10px;padding:16px;margin:12px 0}.operational-card p{color:#111}.operational-card button,.operational-card .button{background:#fff;color:#222}.operational-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0}.operational-actions .contact-actions{display:contents}.operational-card .quick-status select{background:#fff;color:#111}

.operational-card button.dispatch-mission{background:var(--urgency);color:var(--urgency-text);border-color:var(--urgency);margin-top:10px}

.engage-selected:not(:disabled){background:#d71920;color:#fff;border-color:#d71920}.engage-selected:disabled{background:#ddd;color:#666;border-color:#ccc;opacity:1}.mission-footer{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}.mission-footer small{white-space:normal}.regulation-mode{margin:0;min-width:160px}.regulation-mode select{margin-top:4px}.op-comment-form{display:flex;gap:8px;align-items:end;margin:12px 0}.op-comment-form label{margin:0;flex:1}.op-comment-form input{background:white;color:#111}.alarm-block{margin-top:20px}
.sii-panel{overflow:visible}.sii-table{width:100%;table-layout:fixed;border-collapse:collapse}.sii-table th,.sii-table td{padding:16px;border:1px solid #ccc;vertical-align:top}.sii-table th:first-child{width:15%}.sii-table th:last-child{width:18%}.sii-text{font:15px Helvetica,Arial,sans-serif;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:#111}.sii-check{display:flex;align-items:center;gap:8px;margin:0 0 10px}.sii-check input{width:22px;height:22px}.sii-table td:last-child button{display:block;margin-top:12px}.sii-table td small{display:block;overflow-wrap:anywhere}@media(max-width:700px){.sii-table,.sii-table tbody,.sii-table tr,.sii-table td{display:block;width:100%}.sii-table thead{display:none}.sii-table tr{margin-bottom:20px;border:1px solid #aaa}.sii-table td{border:0}.sii-text{font-size:14px}}
.pma-heading{display:flex;gap:18px;align-items:center;margin-bottom:22px}.pma-heading img{object-fit:contain}.pma-heading h2{margin:0}.pma-heading p{margin:7px 0;color:#666}.pma-fieldset{border:0;padding:0;margin:0;min-width:0}.pma-overview{display:grid;grid-template-columns:1fr 1.5fr .7fr;gap:16px;margin-bottom:25px}.pma-overview h3{font-size:13px;margin:0 0 14px;color:#555}.pma-choices{display:flex;gap:8px;flex-wrap:wrap}.pma-choices button{background:#fff;color:#333;border:1px solid #ccc}.pma-choices button[aria-pressed=true]{background:#ededf0;border:2px solid #333;font-weight:bold}.pma-choices i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--pma-dot);margin-right:6px}.pma-total{display:block;font-size:42px;line-height:1.1}.pma-overview small{display:block;margin-top:10px;color:#666}.pma-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:16px}.pma-category{padding:20px;border:1px solid var(--pma-color);border-radius:12px;background:var(--pma-wash);min-width:0}.pma-category h3{display:flex;justify-content:space-between;margin:0 0 18px;color:var(--pma-color)}.pma-category h3 span{background:#fff;padding:4px 10px;border-radius:6px}.pma-counter{display:flex;align-items:center;gap:10px;margin:14px 0 20px}.pma-counter button{background:#fff;color:var(--pma-color);font-size:24px;min-width:44px}.pma-counter input{width:100%;min-width:0;text-align:center;font-size:42px;color:var(--pma-color);background:transparent;border:0;padding:3px}.pma-count-label{font-size:13px}.pma-category input:not([type=number]){background:#fff;color:#222}.pma-minor{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.pma-minor label{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px;background:#fff;border:1px solid #ddd;border-left:5px solid var(--pma-color);border-radius:9px;margin:0}.pma-minor input{width:90px;font-size:24px;text-align:center}.pma-minor small{display:block;margin-top:5px;color:#777}.pma-validation{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px;color:#555}.pma-fieldset[disabled] input{opacity:1;color:#222;-webkit-text-fill-color:currentColor}.pma-fieldset[disabled] button{opacity:1;cursor:default}.pma-fieldset[disabled] .pma-counter button{opacity:.4}.pma-fieldset[disabled] .pma-contact-link{pointer-events:auto}@media(max-width:1100px){.pma-overview{grid-template-columns:1fr 1fr}.pma-overview section:last-child{grid-column:1/-1}}@media(max-width:760px){.pma-overview,.pma-categories,.pma-minor{grid-template-columns:1fr}.pma-overview section:last-child{grid-column:auto}.pma-counter{max-width:300px;margin-left:auto;margin-right:auto}.pma-minor input{width:90px}}
.dispatch-tabs{display:flex;gap:8px;margin:0 0 20px}.dispatch-tabs button{background:#fff;color:#333;border:1px solid #bbb}.dispatch-tabs button[aria-selected=true]{background:#333;color:#fff;border-color:#333}.timeline-tools{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:18px;color:#555;font-size:13px}.timeline-tools label{margin:0}.timeline-tools input{margin-top:6px;padding:8px}.timeline-key{display:inline-block;width:12px;height:12px;vertical-align:middle;margin-right:5px;border-radius:3px}.timeline-key.ongoing{background:#d5eddc;border:1px solid #57996c}.timeline-key.finished{background:#e3e5e8;border:1px solid #9ba1a9}.timeline-scroll{overflow:auto;height:72vh;min-height:400px;border:1px solid #ccc;position:relative;overflow-anchor:none}.timeline-board{min-width:calc(80px + var(--timeline-cols)*160px);width:calc(80px + var(--timeline-cols)*160px)}.timeline-head{display:grid;grid-template-columns:80px repeat(var(--timeline-cols),160px);position:sticky;top:0;z-index:8;background:#383b40;color:#fff;min-height:55px}.timeline-head>*{padding:17px 12px;border-right:1px solid #60646b;text-align:center}.timeline-head>div{position:sticky;left:0;background:#383b40;z-index:9}.timeline-body{height:var(--timeline-height);position:relative;background:#fff}.timeline-columns{display:grid;grid-template-columns:80px repeat(var(--timeline-cols),160px);height:100%}.timeline-column{position:relative;border-right:1px solid #ddd}.timeline-time-gutter{background:#f5f5f6;border-right:1px solid #ccc}.timeline-gridlines{position:absolute;inset:0;pointer-events:none}.timeline-hour{position:absolute;left:0;right:0;border-top:1px solid #e1e3e7}.timeline-hour span{position:absolute;left:10px;top:5px;font-size:12px;color:#68707a;background:#f5f5f6;padding:2px 4px}.timeline-hour.boundary{border-top:2px dashed #636971}.timeline-hour.boundary span{font-weight:bold;color:#333}.timeline-mission{position:absolute;z-index:2;background:#d5eddc;color:#203b29;border:1px solid #57996c;border-radius:6px;padding:6px;min-height:0;display:flex;flex-direction:column;gap:3px;text-align:left;overflow:hidden;font-size:12px;line-height:1.35}.timeline-mission.finished{background:#e3e5e8;color:#444b54;border-color:#9ba1a9}.timeline-priority{font-weight:bold;display:flex;align-items:center;gap:5px}.timeline-priority i{width:10px;height:10px;flex-shrink:0;border-radius:50%;background:var(--urgency)}.timeline-destination{font-weight:600}.timeline-mission small{font-size:11px}.timeline-mission:focus-visible,.timeline-mission:hover{z-index:6;outline:2px solid #333}.timeline-now{position:absolute;left:0;right:0;border-top:2px solid #d82437;pointer-events:none;z-index:7}.timeline-now span{position:absolute;left:3px;top:-11px;font-size:12px;padding:3px 6px;background:#d82437;color:white;border-radius:4px}.timeline-now[hidden]{display:none!important}

.timeline-time-gutter{position:sticky;left:0;z-index:4}.timeline-time-gutter .timeline-hour{right:0}.timeline-mission{touch-action:manipulation}

.timeline-mission>*{flex-shrink:0;overflow-wrap:anywhere}.timeline-mission.timeline-clipped:is(:hover,:focus-visible){height:auto!important;min-height:var(--timeline-duration);overflow:visible;z-index:12;box-shadow:0 5px 16px #0003}.timeline-head strong{font-size:13px;padding:17px 6px;overflow-wrap:anywhere}.timeline-mission{padding:5px;font-size:12px}

/* Thème sombre SAE : accents neutres fluo, couleurs opérationnelles conservées. */
:root{--nav:#202226;--ink:#f5f6f8;--muted:#bac1cc;--line:#444b56;--bg:#181a1e;--teal:#eaff00;color-scheme:dark}body{color:var(--ink)}.topbar,.stat,.panel,.card,dialog,.setup,.reg-form-block,.regulation-form,.mission-detail{background:#25282e;color:var(--ink)}.sidebar{background:#202226;overflow-y:auto}.brand span,.eyebrow,.side-label{color:#eaff00}nav button.active{background:#34393f;box-shadow:inset 3px 0 #eaff00}button,.button{background:#eaff00;color:#17191d}button.ghost,.button.ghost{background:#30343b;color:#f5f6f8;border-color:#515a67}button.danger,button[data-do="new-call"],.engage-selected:not(:disabled){background:#c62828;color:white}input,textarea,select{background:#30343b;color:#fff;border-color:#555d6b}input:focus,textarea:focus,select:focus{outline-color:#eaff00}.empty{background:#23262c;color:#bac1cc;border-color:#555d6b}td,th{border-color:#444b56}.top-actions,#connection,.test-pill{color:#eaff00}a{color:#eaff00}.badge{background:#424952;color:white}.clinical-auto,.protocol-summary,.section-label,.call-hint,.map-hint{color:#bac1cc}.modal-head,.footer-actions{border-color:#444b56}.leaflet-container{color-scheme:light;color:#222}.leaflet-popup-content a{color:#285d8f}.leaflet-popup-content button{color:#17191d}.leaflet-control-attribution{color:#222}.timeline-board,.timeline-column,.timeline-hours,.timeline-header,.timeline-means-head{background:#25282e;color:white}.timeline-block{color:#17231b}.timeline-finished{color:#222}.timeline-head{background:#25282e;color:white}.pma-validation,.pma-heading,.next-pma-minor{background:#25282e;color:#fff}.pma-dashboard-cat{border-top:4px solid var(--category-color)}.next-pma-minor{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0}.pma-report-row{padding:14px 0;border-bottom:1px solid #444b56;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.person-duplicate{background:#494524;border:2px solid #ffe047}.crew-duplicate{color:#fff3a5;font-size:12px}.reg-form-block h3{color:#fff}.reg-form-block h3 span{background:#eaff00;color:#17191d}.operational-card{background:color-mix(in srgb,var(--operational-status) 28%,#25282e);color:white}.mission-closed{background:#33383f;color:#eee}.mission-closed td{background:#33383f;color:#eee}.card[class*="type-"]{color:#202226}.pma-category{color:#222}.measure-card{color:#111}.measure-card h3{color:#111}.call-item{color:#222}.reg-form-block .priority-button{color:#111}.urgency-badge,.dispatch-mission{color:#111}.urgency-p1,.urgency-critical,.urgency-s1{color:white}.sii-text,.sii-text pre{color:#fff;background:#25282e}#person-preview fieldset{margin:12px 0}.panel+.panel{margin-top:18px}

/* Surfaces secondaires, sans recolorer les priorités ni les statuts. */
.sidebar nav button{color:#d2d7df}.sidebar nav button.active{color:#fff}.severity-area,.regulation-mode,.attitude-editor section,.protocol-problems{background:#30343b;color:#fff;border-color:#555d6b}.protocol-problems button{background:#343a44;color:white}.protocol-problems button.selected{background:#eaff00;color:#17191d}.dispatch-tabs button{background:#30343b;color:#fff;border-color:#555d6b}.dispatch-tabs button[aria-selected=true]{background:#eaff00;color:#17191d}.timeline-body,.timeline-time-gutter{background:#25282e}.timeline-column{border-color:#444b56}.timeline-hour{border-color:#444b56}.timeline-hour span{background:#25282e;color:#bac1cc}.timeline-hour.boundary span{color:#fff}.timeline-tools{color:#bac1cc}.timeline-mission small{color:inherit}.operational-card p,.pma-heading p{color:#dce1e8}.op-comment-form input,.operational-card .quick-status select{background:#30343b;color:white}.test-pill{background:#30343b}.call-button{color:#fff;background:color-mix(in srgb,var(--urgency,#888) 20%,#25282e)}.call-button.selected{outline-color:#eaff00}.call-button.mission-closed{background:#33383f}.call-button small{color:inherit}.clinical-choice:not(.priority-choice):not(.vital-danger){background:#30343b;color:white;border-color:#555d6b}.clinical-choice:not(.priority-choice)[aria-pressed=true]:not(.vital-danger){background:#555d6b}.type-als,.type-bls,.type-smur,.type-foot,.type-segway{color:#202226}.card[class*="type-"] small,.card[class*="type-"] p{color:#333}.measure-tile{color:#111}.measure-tile h3{color:#111}.reg-alarm,.alarm-message,.regulation-message{background:#30343b;color:#fff}

.guidance-tile{color:#111}.guidance-tile h3{color:#111}.clinical-choice.priority-choice[aria-pressed="true"]{outline-color:#eaff00}.alarm-text{background:#30343b;color:white}.call-button.selected{background:color-mix(in srgb,var(--urgency,#888) 20%,#25282e)}fieldset{border-color:#555d6b}#person-preview input[type=checkbox]{width:20px;display:inline-block;vertical-align:middle}.crew-duplicate[hidden]{display:none!important}

#alarm-preview,#radio-preview,.reg-details,.mission-search input{background:#30343b;color:white}.scope-toggle,.partner-task-box{background:#393325;color:white}.scope-toggle small{color:#e6cfa8}.clinical-auto{background:#49252b;color:#ffb1bb}.configured-measure{color:#111}.configured-measure h3{color:#000}.compact-means .quick-status select{background:#30343b;color:white}.contact-actions .button,.operational-card button:not(.dispatch-mission),.operational-card .button{background:#30343b;color:white;border-color:#555d6b}

/* Textes noirs sur les surfaces opérationnelles colorées. */
.urgency-critical,.urgency-p1,.urgency-p2,.urgency-p3,.urgency-s1,.urgency-s2,.urgency-other{--urgency-text:#000}.badge.urgency-badge,.dispatch-mission,button.clinical-choice.priority-choice{color:#000!important}.badge.ouvert,.badge.engage,.badge.urgent,.badge.sur-place,.badge.transport,.badge.disponible,.badge.p1,.badge.p2,.badge.p3,.badge.s1,.badge.s2,.badge.alarme,.badge.depart,.badge.quitte-site{color:#000}.operational-card{background:color-mix(in srgb,var(--operational-status,#ddd) 38%,white);color:#000}.operational-card h3,.operational-card p,.operational-card small,.operational-card label{color:#000}.mini-resource[class*="means-"]{color:#000}.mini-resource[class*="means-"] p,.mini-resource[class*="means-"] small,.mini-resource[class*="means-"] strong{color:#000}.status-buttons button.status-choice,.status-buttons button.status-choice.status-current:disabled{color:#000!important;--excel-ink:#000}.partner-task-alert,.transmission-alert,.configured-measure,.guidance-tile,.card[class*="type-"],.scope-toggle,.partner-task-box,.clinical-auto{color:#000}.configured-measure h3,.configured-measure p,.configured-measure li,.guidance-tile h3,.guidance-tile p,.guidance-tile li{color:#000}.scope-toggle,.partner-task-box{background:#fff4e2}.scope-toggle small{color:#000}.clinical-auto{background:#ffe6df}.call-button{color:#000;background:var(--urgency-wash)}.call-button.selected{color:#000;background:var(--urgency-wash)}.call-button small,.call-button strong{color:#000}.call-button.mission-closed,.call-button.mission-closed.selected{color:#fff;background:#33383f}.call-button.mission-closed small,.call-button.mission-closed strong{color:#fff}.liaison-section{background:var(--section-color,#e5e7eb);color:#000;border-radius:12px;padding:18px;margin:18px 0}.liaison-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.liaison-section-heading h2{margin:0;color:#000}.liaison-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.liaison-card{background:var(--liaison-color,#fff1a8);color:#000;border:1px solid #0005;border-radius:8px;padding:16px}.liaison-card h3,.liaison-card strong,.liaison-card p,.liaison-card a{color:#000}.liaison-card h3{font-size:17px;margin-bottom:14px}.liaison-card strong{display:block;line-height:1.45}.liaison-card button{background:#ffffffb0;color:#000;border-color:#0004}.liaison-card p{overflow-wrap:anywhere}.liaison-section .empty{background:#ffffff90;color:#000}.liaison-cards a{font-weight:700}input[type=color]{height:46px}#content .liaison-section+.liaison-section{margin-top:24px}

.regconfig-measures .configured-measure{background:#e5e7eb!important;color:#000}.regconfig-measures .configured-measure h3,.regconfig-measures .configured-measure p,.regconfig-measures .configured-measure li{color:#000}.regconfig-content>.page-head h1{font-size:20px}.display-iframe{width:100%;height:80vh;min-height:550px;border:1px solid #444b56;border-radius:12px;margin-top:18px;background:#181a1e}

button.danger,button[data-do="new-call"],.engage-selected:not(:disabled){color:#000}.regconfig-measures .configured-measure strong,.regconfig-measures .configured-measure em{color:#000}
