:root {
  --font: "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
  --sidebar: #303038; --sidebar-soft: #3d3d45; --accent: #20bdc6; --accent-dark: #159ca5;
  --green: #217a5d; --red: #b42318; --orange: #ad6800; --blue: #26738f;
  --safety-at-stop: #d92d20; --safety-at: #f79009; --safety-commute: #0e7490; --safety-benign: #27a6a6; --safety-near-miss: #7557b7; --safety-dangerous: #ad6800;
  --ink: #303038; --muted: #70737c; --bg: #f2f3f4; --card: #fff; --line: #dfe3e5; --line-strong: #c9d0d4;
  --border: var(--line); --cyan: var(--accent);
  --radius-sm: 8px; --radius: 12px; --radius-lg: 16px; --shadow: 0 10px 30px rgba(48,48,56,.08);
  font-family: var(--font); color: var(--ink); background: var(--bg);
}

/* Accueil sécurité */
.safety-tabs{margin-bottom:18px}.safety-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.safety-kpis .kpi{text-align:left;border:0;cursor:pointer}.safety-flow{display:grid;grid-template-columns:repeat(8,minmax(90px,1fr));gap:8px;margin:18px 0}.safety-flow div{position:relative;display:flex;align-items:center;gap:8px;padding:12px 10px;border:1px solid var(--border);border-radius:12px;background:#f8fbfc}.safety-flow div:not(:last-child)::after{content:'›';position:absolute;right:-8px;color:var(--cyan);font-weight:800;z-index:2}.safety-flow b,.safety-stepper b{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:#e4f6f7;color:#087c85}.safety-flow span{font-size:12px;font-weight:700}.safety-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.safety-profile{border:1px solid var(--border);border-radius:14px;padding:16px;background:#fbfcfd}.safety-profile p{min-height:44px;color:var(--muted)}.safety-profile>div:last-child{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.safety-profile>div:last-child span{padding:5px 8px;border-radius:999px;background:#edf4f6;font-size:11px}.safety-config-warning,.safety-blockers,.safety-warnings,.safety-ready{display:flex;flex-direction:column;gap:4px;margin-top:16px;padding:14px 16px;border-radius:12px}.safety-config-warning,.safety-warnings{background:#fff7e6;border:1px solid #e8bd62}.safety-blockers{background:#fff1ef;border:1px solid #e09a91;color:#8e261f}.safety-ready{background:#edf9f3;border:1px solid #76b899;color:#1d6847}.safety-form-card{max-width:980px}.safety-stepper{display:grid;grid-template-columns:repeat(8,minmax(90px,1fr));gap:7px;margin-bottom:18px;overflow-x:auto}.safety-stepper button{display:flex;align-items:center;gap:7px;min-height:54px;padding:9px;border:1px solid var(--border);border-radius:12px;background:white;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.safety-stepper button.active{border-color:var(--cyan);background:#eafafb;box-shadow:inset 0 0 0 1px var(--cyan)}.safety-stepper button.active b{background:var(--cyan);color:white}.safety-stepper span{font-size:11px;font-weight:700}.safety-step-actions{display:flex;justify-content:space-between;margin:16px 0 26px}.safety-decision{display:flex;flex-direction:column;gap:5px;margin:16px 0;padding:16px;border-radius:12px}.safety-decision.ok{background:#edf9f3;border:1px solid #9ed1ba}.safety-decision.warning{background:#fff7e6;border:1px solid #e8bd62}.safety-check-list{display:flex;flex-direction:column;gap:9px}.safety-check-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fbfcfd}.safety-check-list article>div,.safety-check-list article label span{display:flex;flex-direction:column;gap:3px}.safety-check-list article label{display:flex;align-items:flex-start;gap:10px}.safety-check-list small{color:var(--muted)}.safety-check-list .safety-blocked{border-color:#c43c32;background:#fff2f0}.safety-requirement-group{margin-top:20px}.safety-requirement-group h3{margin:0 0 9px}.safety-credential-add{margin-top:18px;border:1px solid var(--border);border-radius:12px;padding:12px}.safety-credential-add summary{cursor:pointer;font-weight:800;color:#087c85}.safety-credential-add form{margin-top:16px}.safety-signatures{display:grid;grid-template-columns:1fr 1fr;gap:16px}.safety-signature-card{border:1px solid var(--border);border-radius:14px;padding:15px;background:#fbfcfd}.safety-signature-card canvas{display:block;width:100%;height:150px;margin:10px 0;border:1px dashed #8aa1aa;border-radius:10px;background:white;touch-action:none}.safety-signature-card>small{display:block;margin-top:8px;color:var(--muted)}.safety-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.safety-summary div{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:12px;background:#f1f6f7}.safety-summary span{color:var(--muted);font-size:12px}.safety-blockers p,.safety-warnings p{margin:2px 0}@media(max-width:1200px){.safety-kpis,.safety-summary{grid-template-columns:repeat(2,1fr)}.safety-profile-grid{grid-template-columns:repeat(2,1fr)}.safety-flow{grid-template-columns:repeat(4,1fr)}.safety-stepper{grid-template-columns:repeat(4,minmax(130px,1fr))}}@media(max-width:760px){.safety-kpis,.safety-summary,.safety-profile-grid,.safety-signatures{grid-template-columns:1fr}.safety-flow{grid-template-columns:repeat(2,1fr)}.safety-check-list article{grid-template-columns:1fr}.safety-stepper{grid-template-columns:repeat(2,minmax(140px,1fr))}}
* { box-sizing: border-box; }
html, body, #app { width: 100%; height: 100%; min-height: 0; margin: 0; }
body { overflow: hidden; background: var(--bg); font: 400 14px/1.45 var(--font); }
button, input, select, textarea { font: inherit; } button { cursor: pointer; } button:disabled { cursor: not-allowed; opacity: .5; }
:focus-visible { outline: 3px solid rgba(32,189,198,.28); outline-offset: 2px; }
.icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.boot { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--ink); }
.boot small { color: var(--muted); }.spinner { width: 34px; height: 34px; border: 3px solid #d5dbde; border-top-color: var(--accent); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.shell { height: 100vh; min-height: 0; display: grid; grid-template-columns: 276px minmax(0,1fr); overflow: hidden; }
.sidebar { min-height: 0; overflow: hidden; background: linear-gradient(180deg,var(--sidebar),var(--sidebar-soft)); color: #fff; display: flex; flex-direction: column; box-shadow: 4px 0 18px rgba(25,25,29,.16); z-index: 3; }
.brand { flex: 0 0 auto; min-height: 78px; display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.1); }
.brand-mark { width: 50px; height: 50px; flex: 0 0 50px; object-fit: contain; padding: 3px; border-radius: 11px; background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.2); }
.brand strong { display: block; font-size: 16px; font-weight: 700; line-height: 1.1; letter-spacing: .02em; }.brand span { display: block; margin-top: 4px; color: #d4d5d9; font-size: 10px; font-weight: 500; line-height: 1.2; letter-spacing: .08em; }
.nav { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-gutter: stable; padding: 10px; }
.nav::-webkit-scrollbar, .main::-webkit-scrollbar, .modal-body::-webkit-scrollbar { width: 10px; }.nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,.2); border: 3px solid transparent; border-radius: 10px; background-clip: padding-box; }.main::-webkit-scrollbar-thumb, .modal-body::-webkit-scrollbar-thumb { background: #bcc5ca; border: 3px solid transparent; border-radius: 10px; background-clip: padding-box; }
.nav-group { padding: 13px 12px 6px; color: #aeb0b7; font-size: 10px; font-weight: 600; line-height: 1.2; letter-spacing: .12em; text-transform: uppercase; }
.nav button { width: 100%; min-height: 38px; display: grid; grid-template-columns: 22px minmax(0,1fr); align-items: center; gap: 10px; margin: 2px 0; padding: 8px 11px; border: 0; border-radius: 9px; background: transparent; color: #ececef; font-size: 13px; font-weight: 450; line-height: 1.25; text-align: left; }
.nav button:hover { background: rgba(255,255,255,.08); }.nav button.active { background: #fff; color: var(--ink); font-weight: 650; box-shadow: inset 3px 0 0 var(--accent),0 4px 16px rgba(0,0,0,.15); }
.nav .ico { width: 22px; height: 22px; display: inline-grid; place-items: center; color: var(--accent); }.sidebar-foot { flex: 0 0 auto; padding: 13px 18px 15px; border-top: 1px solid rgba(255,255,255,.1); color: #bfc1c6; font-size: 11px; line-height: 1.5; }.sidebar-foot b { color: #fff; font-weight: 600; }

.workspace { height: 100vh; min-height: 0; min-width: 0; display: flex; flex-direction: column; overflow: hidden; }
.topbar { flex: 0 0 72px; min-width: 0; display: flex; align-items: center; gap: 16px; padding: 0 26px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); z-index: 2; }
.topbar-title { min-width: 190px; }.topbar-title b { display: block; color: var(--ink); font-size: 15px; font-weight: 650; }.topbar-title span { color: var(--muted); font-size: 12px; }
.global-search { position: relative; width: min(380px,35vw); margin-left: auto; }.global-search:before { content: "⌕"; position: absolute; left: 13px; top: 6px; color: var(--muted); font-size: 21px; }.global-search input { width: 100%; padding: 10px 13px 10px 36px; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: #f7f8f9; }
.top-actions, .actions-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }.main { flex: 1 1 auto; min-height: 0; min-width: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-gutter: stable; padding: 26px 28px 38px; }

.page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }.eyebrow { color: var(--accent-dark); font-size: 11px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }.page-head h1 { margin: 4px 0 5px; color: var(--ink); font-size: clamp(25px,2vw,30px); font-weight: 700; line-height: 1.16; }.page-head p { max-width: 760px; margin: 0; color: var(--muted); }.section-gap { margin-top: 24px !important; }
.btn { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 13px; border: 1px solid var(--line-strong); border-radius: 9px; background: #fff; color: var(--ink); font-weight: 600; line-height: 1.2; box-shadow: 0 2px 4px rgba(48,48,56,.03); }.btn:hover:not(:disabled) { border-color: #9eaaaf; background: #fafbfb; }.btn.primary,.btn.gold { border-color: var(--accent-dark); background: var(--accent-dark); color: #fff; }.btn.primary:hover:not(:disabled),.btn.gold:hover:not(:disabled) { background: #118c95; }.btn.danger { border-color: #efc1bd; color: var(--red); }.btn.small { min-height: 31px; padding: 5px 9px; font-size: 12px; }

.kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; margin-bottom: 18px; }.kpi { position: relative; min-width: 0; overflow: hidden; padding: 17px; border: 1px solid var(--line); border-left: 4px solid var(--blue); border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow); }.kpi:after { content: ""; position: absolute; right: -21px; top: -31px; width: 88px; height: 88px; border-radius: 50%; background: #f1f3f4; }.kpi.clickable { transition: transform .15s ease,border-color .15s ease; }.kpi.clickable:hover { transform: translateY(-2px); border-color: #aab6bb; cursor: pointer; }.kpi-label,.kpi small { position: relative; z-index: 1; color: var(--muted); font-size: 12px; }.kpi strong { position: relative; z-index: 1; display: block; margin: 5px 0 1px; color: var(--ink); font-size: 28px; font-weight: 700; }.kpi.red { border-left-color: var(--red); }.kpi.orange { border-left-color: var(--orange); }.kpi.green { border-left-color: var(--green); }.kpi.blue { border-left-color: var(--blue); }
.safety-grid { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); gap: 10px; }.safety-metric { min-width: 0; padding: 13px; border: 1px solid var(--line); border-top: 3px solid var(--blue); border-radius: 10px; background: #fafbfb; }.safety-metric span,.safety-metric small { display: block; color: var(--muted); font-size: 11px; }.safety-metric b { display: block; margin: 4px 0 1px; font-size: 22px; font-weight: 700; }.safety-metric.red { border-top-color: var(--red); }.safety-metric.orange { border-top-color: var(--orange); }.safety-metric.green { border-top-color: var(--green); }.safety-metric.neutral { border-top-color: var(--line-strong); }.direction-safety { margin-bottom: 18px; }.trend { padding: 5px 9px; border-radius: 99px; background: #eef1f2; color: var(--muted); font-size: 12px; font-weight: 600; }.trend.good { background: #e2f2eb; color: var(--green); }.trend.bad { background: #fee7e5; color: var(--red); }

.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(330px,.8fr); gap: 18px; }.card { min-width: 0; margin-bottom: 18px; padding: 19px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow); }.card-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 15px; }.card h2,.card h3 { margin: 0; color: var(--ink); }.card h2 { font-size: 18px; font-weight: 650; }.card h3 { font-size: 15px; font-weight: 650; }.hint { color: var(--muted); font-size: 12px; }
.attention-list { display: grid; gap: 9px; }.attention { width: 100%; display: flex; align-items: center; gap: 11px; padding: 11px; border: 1px solid #edf0f1; border-radius: 9px; background: #f8f9f9; color: var(--ink); text-align: left; }.attention:hover { border-color: var(--line-strong); }.attention.red { border-color: #f2cfcc; background: #fff5f4; }.attention.orange { border-color: #f1ddb8; background: #fff9ef; }.attention .dot { width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; background: var(--green); }.attention.red .dot { background: var(--red); }.attention.orange .dot { background: var(--orange); }.attention b { margin-left: auto; }
.progress-list { display: grid; gap: 15px; }.progress-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; font-size: 13px; }.progress-row b { font-weight: 650; }.track { grid-column: 1 / -1; height: 7px; overflow: hidden; border-radius: 8px; background: #e5e9eb; }.fill { width: 0; height: 100%; min-width: 0; border-radius: 8px; background: linear-gradient(90deg,var(--sidebar-soft),var(--accent)); transition: width .2s ease; }
.bar-chart { height: 165px; display: flex; align-items: flex-end; gap: 9px; padding: 15px 5px 0; }.bar-wrap { flex: 1; color: var(--muted); font-size: 10px; text-align: center; }.bar { min-height: 0; margin-bottom: 6px; border-radius: 6px 6px 2px 2px; background: linear-gradient(180deg,var(--accent),var(--accent-dark)); }
.deadline-group { margin-top: 14px; }.deadline-group:first-of-type { margin-top: 0; }.deadline-title { width: 100%; display: flex; justify-content: space-between; padding: 4px 2px 7px; border: 0; background: transparent; color: var(--muted); font-size: 11px; font-weight: 650; letter-spacing: .05em; text-transform: uppercase; }.deadline-title span { padding: 1px 6px; border-radius: 99px; background: #edf1f2; }
.objective-strip,.objective-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }.objective-mini { padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #fafbfb; }.objective-mini > span { display: block; min-height: 38px; color: var(--muted); font-size: 12px; }.objective-mini > b { display: block; margin-bottom: 10px; font-size: 20px; }.objective-values { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 18px 0; }.objective-values b { font-size: 24px; }.objective-values span { color: var(--muted); }
.objective-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 16px; }.objective-summary-grid .kpi { min-height: 112px; }.year-picker { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; font-weight: 650; }.year-picker select { padding: 8px 28px 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }.objective-toolbar select { min-width: 160px; }.objectives-table { min-width: 1120px; }.person-link { padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--accent-dark); font-weight: 650; text-align: left; }.person-link:hover { color: var(--blue); }.person-objective-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }.person-objective-card { display: grid; gap: 6px; padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: #fafbfb; text-align: left; }.person-objective-card:hover { border-color: var(--accent-dark); background: #f2fbfb; }.person-objective-card b { font-size: 15px; }.person-objective-card span,.person-objective-card small { color: var(--muted); }.objective-detail-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }.objective-detail-summary > div { display: grid; gap: 7px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fafbfb; }.objective-detail-summary span { color: var(--muted); font-size: 11px; text-transform: uppercase; }.objective-detail-summary b { font-size: 20px; }.objective-detail-progress { margin: 18px 0; padding: 16px; border: 1px solid var(--line); border-radius: 10px; }.objective-detail-progress h3 { margin: 0; }.objective-detail-meta { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 9px 16px; padding: 15px; border-radius: 10px; background: #f4f7f7; }.objective-detail-meta > span { color: var(--muted); }.objective-audit-table { min-width: 720px; }.people-list { display: grid; gap: 8px; }.person-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto auto; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; }.person-row.archived { background: #f6f7f7; opacity: .76; }.person-main { display: grid; gap: 3px; border: 0; background: transparent; text-align: left; }.person-main small { color: var(--muted); }

.toolbar,.planning-controls { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-bottom: 14px; }.toolbar input,.toolbar select { min-width: 250px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }.filters,.tabs { display: flex; gap: 6px; flex-wrap: wrap; }.tabs { width: max-content; margin-bottom: 16px; padding: 4px; border-radius: 10px; background: #e3e7e9; }.planning-controls .tabs { margin: 0; }.filter,.tab { padding: 7px 11px; border: 1px solid var(--line); border-radius: 99px; background: #fff; color: var(--muted); font-size: 12px; }.tab { border: 0; border-radius: 7px; background: transparent; }.filter:hover,.tab:hover { color: var(--ink); }.filter.active,.tab.active { border-color: var(--sidebar-soft); background: var(--sidebar-soft); color: #fff; font-weight: 600; }
.planning-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 18px; }.agenda-day { margin: 16px 0; padding-left: 16px; border-left: 3px solid var(--accent); }.agenda-day h3 { margin: 0 0 9px; font-size: 16px; font-weight: 650; }.agenda-item { display: grid; grid-template-columns: 70px minmax(0,1fr) auto; align-items: center; gap: 12px; margin: 7px 0; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; }.agenda-item time { color: var(--ink); font-weight: 650; }.mission-card { margin: 9px 0; padding: 13px; border: 1px solid var(--line); border-radius: 10px; }.mission-card h4 { margin: 0 0 8px; font-weight: 650; }.mission-meta { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 11px; }.mini-progress { height: 6px; overflow: hidden; margin: 10px 0; border-radius: 8px; background: #e5e9eb; }.mini-progress span { display: block; height: 100%; min-width: 0; background: var(--green); }
.calendar { display: grid; grid-template-columns: repeat(7,minmax(105px,1fr)); overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }.weekday { padding: 9px; background: #edf1f2; color: var(--muted); font-size: 11px; font-weight: 650; text-align: center; }.day { min-height: 105px; padding: 7px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); }.day.muted { background: #fafbfb; color: #a3a7ac; }.calendar-event { margin-top: 5px; padding: 4px; overflow: hidden; border-left: 3px solid var(--blue); border-radius: 5px; background: #edf3f5; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.calendar-event.action { border-left-color: var(--red); }.calendar-event.mission { border-left-color: var(--accent-dark); }
.roadmap { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }.roadmap-month { min-height: 170px; padding: 15px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }.roadmap-month h3 { margin: 0 0 12px; font-size: 13px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }.roadmap-month li { margin: 8px 0; color: #4d5058; }

.table-card { min-width: 0; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }.data-table { width: 100%; min-width: 960px; border-collapse: collapse; }.data-table th { position: sticky; top: 0; padding: 11px 13px; border-bottom: 1px solid var(--line); background: #f1f4f5; color: #5d6169; font-size: 11px; font-weight: 650; letter-spacing: .04em; text-align: left; text-transform: uppercase; }.data-table td { padding: 11px 13px; border-bottom: 1px solid #edf0f1; font-size: 13px; vertical-align: top; }.data-table tr:hover td { background: #fbfcfc; }.title-cell { min-width: 250px; }.title-cell b,.title-cell small { display: block; }.title-cell small { color: var(--muted); }.row-actions { display: flex; gap: 5px; }.badge { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 99px; background: #edf1f2; color: #5c6269; font-size: 11px; font-weight: 650; white-space: nowrap; }.badge.p1,.badge.late,.badge.nc { background: #fee7e5; color: var(--red); }.badge.p2,.badge.wait { background: #fff1d6; color: #875500; }.badge.p3 { background: #e7f1f5; color: var(--blue); }.badge.done,.badge.ok { background: #e1f2ea; color: var(--green); }.empty { padding: 34px; color: var(--muted); text-align: center; }.empty.compact { padding: 20px; }

.audit-hub-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }.audit-type-card { min-height: 270px; display: flex; flex-direction: column; padding: 17px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(180deg,#fff,#fafbfb); box-shadow: 0 7px 20px rgba(48,48,56,.06); transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease; }.audit-type-card:hover { transform: translateY(-2px); border-color: #aeb9be; box-shadow: var(--shadow); }.audit-type-card.available { border-top: 3px solid var(--accent-dark); }.audit-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }.audit-card-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 13px; background: #e6f7f8; color: var(--accent-dark); }.audit-card-icon .icon { width: 27px; height: 27px; }.audit-type-card h3 { margin: 18px 0 8px; font-size: 16px; line-height: 1.3; }.audit-type-card p { margin: 0 0 18px; color: var(--muted); font-size: 12px; }.audit-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); }.audit-card-meta > span { color: var(--muted); font-size: 11px; }.audit-card-meta .btn { flex: 0 0 auto; }.audit-history-table { min-width: 780px; }.table-card.flat { box-shadow: none; }.audit-preview { min-height: 420px; display: grid; grid-template-columns: auto minmax(0,680px); align-content: center; justify-content: center; gap: 28px; padding: 45px; }.audit-preview-icon { width: 90px; height: 90px; display: grid; place-items: center; border-radius: 24px; background: #e6f7f8; color: var(--accent-dark); }.audit-preview-icon .icon { width: 48px; height: 48px; }.audit-preview h2 { margin: 13px 0 8px; font-size: 24px; }.audit-preview p { color: var(--muted); }.preview-scope { display: flex; gap: 8px; flex-wrap: wrap; margin: 20px 0; }.preview-scope span { display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 99px; background: #f7f9f9; color: #555b62; font-size: 12px; }.preview-scope .icon { color: var(--green); }
.audit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }.vehicle-card { padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }.vehicle-card h3 { margin: 0; font-weight: 650; }.vehicle-card p { margin: 6px 0; color: var(--muted); font-size: 12px; }.registration { font-size: 20px; font-weight: 700; letter-spacing: .05em; }.score-ring { --score: 0; position: relative; width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--green) calc(var(--score)*1%),#e5e9eb 0); }.score-ring:after { content: ""; position: absolute; width: 42px; height: 42px; border-radius: 50%; background: #fff; }.score-ring b { position: relative; z-index: 1; font-size: 11px; }
.question-group { margin: 18px 0; }.question-group > h3 { position: sticky; top: -1px; z-index: 1; padding: 10px; border-radius: 8px; background: #f2f5f6; }.question { padding: 12px 5px; border-bottom: 1px solid var(--line); }.question-title { display: flex; align-items: flex-start; gap: 10px; }.question-title b { min-width: 26px; color: var(--muted); }.answer-buttons { display: flex; gap: 6px; margin: 9px 0 6px 36px; }.answer { padding: 7px 10px; border: 1px solid var(--line); border-radius: 7px; background: #fff; font-size: 12px; font-weight: 600; }.answer.selected[data-value="conforme"] { border-color: var(--green); background: var(--green); color: #fff; }.answer.selected[data-value="non_conforme"] { border-color: var(--red); background: var(--red); color: #fff; }.answer.selected[data-value="na"] { border-color: #65737b; background: #65737b; color: #fff; }.nc-fields { display: none; margin: 10px 0 0 36px; padding: 11px; border: 1px solid #f0cecb; border-radius: 8px; background: #fff6f5; }.question.is-nc .nc-fields { display: grid; }.question textarea { width: calc(100% - 36px); margin-left: 36px; }.audit-summary { position: sticky; bottom: 0; display: flex; align-items: center; gap: 16px; padding: 12px; border-top: 2px solid var(--accent); background: #fff; box-shadow: 0 -5px 18px rgba(48,48,56,.09); }

.health-grid,.settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.health-item { min-width: 0; display: flex; justify-content: space-between; gap: 15px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #fafbfb; }.health-item span { color: var(--muted); }.health-item b { max-width: 65%; overflow-wrap: anywhere; font-weight: 650; text-align: right; }.good { color: var(--green) !important; }.bad { color: var(--red) !important; }
.source-table,.backup-list { display: grid; gap: 8px; }.source-row { display: grid; grid-template-columns: minmax(0,1.5fr) auto auto auto; align-items: center; gap: 14px; padding: 11px; border: 1px solid var(--line); border-radius: 9px; }.source-row small { display: block; overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }.source-row time { color: var(--muted); font-size: 12px; }.backup-item { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; }.backup-item small { color: var(--muted); }
.tool-settings { display: grid; gap: 14px; }.tool-setting { display: grid; grid-template-columns: minmax(220px,.6fr) minmax(0,1.4fr); gap: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }.tool-path > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }.form-actions { justify-content: flex-end; margin-top: 18px; }.identity-block { display: flex; align-items: center; gap: 20px; }.identity-block img { width: 120px; border: 1px solid var(--line); border-radius: var(--radius); }.external-tool-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 20px; }.tool-hero { width: 64px; height: 64px; display: grid; place-items: center; border-radius: var(--radius); background: #e5f7f8; color: var(--accent-dark); }.tool-hero .icon { width: 32px; height: 32px; }.source-strip { display: flex; gap: 8px; flex-wrap: wrap; }.source-chip { padding: 7px 9px; border: 1px solid var(--line); border-radius: 9px; background: #f8f9f9; font-size: 12px; }.source-chip b { color: var(--green); }
.readonly-banner { margin-bottom: 15px; padding: 12px; border: 1px solid #c7e3e5; border-left: 4px solid var(--accent-dark); border-radius: 8px; background: #eff9f9; }.module-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }.module-card { padding: 17px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; color: var(--ink); box-shadow: var(--shadow); }.module-card:hover { border-color: #aeb9be; }.module-card h3 { margin: 9px 0 5px; font-size: 15px; font-weight: 650; }.module-card p { color: var(--muted); font-size: 12px; }.big-ico { display: block; color: var(--accent-dark); }.big-ico .icon { width: 28px; height: 28px; }.placeholder { padding: 35px; border: 1px dashed #b8c1c6; border-radius: var(--radius); background: rgba(255,255,255,.58); color: var(--muted); text-align: center; }

.modal-backdrop { position: fixed; inset: 0; z-index: 20; display: grid; place-items: center; padding: 24px; background: rgba(28,28,33,.58); }.modal { width: min(720px,96vw); max-height: 92vh; min-height: 0; display: flex; flex-direction: column; overflow: hidden; border-radius: var(--radius-lg); background: #fff; box-shadow: 0 24px 80px rgba(0,0,0,.28); }.modal.wide { width: min(1120px,96vw); }.modal-head,.modal-foot { flex: 0 0 auto; display: flex; justify-content: space-between; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--line); }.modal-head h2 { margin: 0; font-size: 20px; font-weight: 700; }.modal-head p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }.modal-close { width: 34px; height: 34px; border: 0; border-radius: 8px; background: #edf1f2; }.modal-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px 22px; }.modal-foot { justify-content: flex-end; border-top: 1px solid var(--line); border-bottom: 0; background: #fafbfb; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }.form-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }.field { min-width: 0; display: grid; gap: 5px; }.field.full { grid-column: 1 / -1; }.field label { color: #565b63; font-size: 12px; font-weight: 600; }.field input,.field select,.field textarea,.question textarea { min-width: 0; padding: 9px 10px; border: 1px solid #cdd4d8; border-radius: 8px; outline: 0; background: #fff; }.field input:focus,.field select:focus,.field textarea:focus,.question textarea:focus { border-color: var(--accent-dark); box-shadow: 0 0 0 3px rgba(32,189,198,.13); }.field textarea { resize: vertical; }.form-section { margin-bottom: 19px; }.form-section h3 { padding-bottom: 7px; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 650; }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 30; max-width: 430px; padding: 12px 16px; border-radius: 10px; background: var(--sidebar); color: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.22); }.toast.error { background: #8f261f; }.loading-inline,.muted { color: var(--muted); }.loading-inline { padding: 20px; }.text-red { color: var(--red); }.text-green { color: var(--green); }.mono { font-family: var(--font); font-size: 12px; overflow-wrap: anywhere; }

@media (max-width: 1380px) { .safety-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }.objective-strip,.objective-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.objective-summary-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 1180px) { .kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.dashboard-grid,.planning-layout { grid-template-columns: 1fr; }.audit-hub-grid,.audit-grid,.module-grid,.roadmap,.person-objective-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.global-search { width: min(300px,30vw); } }
@media (max-width: 920px) { .shell { grid-template-columns: 78px minmax(0,1fr); }.brand { justify-content: center; padding: 14px; }.brand-mark { width: 48px; height: 48px; flex-basis: 48px; }.brand > div:last-child,.nav button > span:last-child,.nav-group,.sidebar-foot { display: none; }.nav { padding: 10px 8px; }.nav button { display: flex; justify-content: center; padding: 9px; }.topbar { padding: 0 16px; }.topbar-title { display: none; }.global-search { width: 100%; }.main { padding: 20px 18px 32px; }.health-grid,.settings-grid,.tool-setting { grid-template-columns: 1fr; }.field.full { grid-column: auto; }.source-row { grid-template-columns: minmax(0,1fr) auto; }.source-row time { grid-column: 1 / -1; } }
@media (max-width: 680px) { .topbar { min-height: 72px; height: auto; flex-wrap: wrap; gap: 8px; padding-block: 10px; }.global-search { order: 2; }.top-actions { margin-left: auto; }.page-head { display: block; }.page-head .actions-row { margin-top: 12px; }.kpi-grid,.safety-grid,.audit-hub-grid,.audit-grid,.module-grid,.roadmap,.objective-strip,.objective-grid,.objective-summary-grid,.person-objective-grid,.objective-detail-summary { grid-template-columns: 1fr; }.form-grid,.form-grid.three { grid-template-columns: 1fr; }.field.full { grid-column: auto; }.answer-buttons { flex-wrap: wrap; margin-left: 0; }.question textarea { width: 100%; margin-left: 0; }.nc-fields { margin-left: 0; }.agenda-item { grid-template-columns: 62px minmax(0,1fr); }.agenda-item .badge { grid-column: 2; width: max-content; }.external-tool-card { grid-template-columns: auto minmax(0,1fr); }.external-tool-card .actions-row { grid-column: 1 / -1; }.audit-preview { grid-template-columns: 1fr; padding: 28px; }.audit-preview-icon { width: 68px; height: 68px; }.audit-card-meta { align-items: flex-start; flex-direction: column; }.audit-card-meta .btn { width: 100%; }.person-row { grid-template-columns: minmax(0,1fr) auto; }.person-row .btn { width: 100%; }.objective-detail-meta { grid-template-columns: 1fr; } }
.field[hidden] { display: none; }
.modal-backdrop[hidden] { display: none; }
.person-combobox-control { position: relative; }
.person-combobox-control > input { width: 100%; }
.person-suggestions { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 4; max-height: 230px; overflow-y: auto; padding: 5px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: 0 8px 24px rgba(30,45,50,.15); }
.person-suggestions[hidden] { display: none; }
.person-option { display: block; width: 100%; padding: 10px; border: 0; border-radius: 6px; color: var(--ink); background: #fff; text-align: left; overflow-wrap: anywhere; }
.person-option:hover,.person-option.highlighted { background: #e8f7f7; }
.person-option[aria-selected="true"] { font-weight: 700; }
.person-option-add { border-top: 1px solid var(--line); border-radius: 0; color: var(--accent-dark); font-weight: 650; }
.person-combobox[aria-busy="true"] { opacity: .75; }
.audit-answer-detail { margin: 12px 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fafbfb; }
.audit-answer-detail h3 { margin: 4px 0; font-size: 14px; }
.audit-answer-detail p { white-space: pre-wrap; overflow-wrap: anywhere; }
.modal-backdrop[hidden] { display: none; }
.personnel-toolbar{align-items:end;gap:12px;flex-wrap:wrap}
.personnel-toolbar .field{min-width:130px;flex:1}
.personnel-toolbar .field:first-child{flex:2;min-width:230px}
.personnel-table td small{display:block;margin-top:5px}
.personnel-table .row-actions{flex-wrap:wrap}
.personnel-table th:last-child,.personnel-table td:last-child{position:sticky;right:0;z-index:1;min-width:180px;background:#fff;box-shadow:-5px 0 9px rgba(30,45,52,.06)}
.personnel-table th:last-child{background:#f0f3f4}
.personnel-table td:last-child .row-actions{display:grid;grid-template-columns:1fr;justify-items:start;gap:4px}
.personnel-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.personnel-kpis button{width:100%;border:1px solid var(--line);text-align:left;cursor:pointer}.personnel-quick-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.personnel-bulk-bar{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:10px 0;padding:10px 12px;border:1px solid #a7dfe2;border-radius:9px;background:#eaf8f8}.personnel-bulk-bar b{margin-right:auto}.personnel-table th:first-child,.personnel-table td:first-child{width:42px;text-align:center}.personnel-table tr.archived{opacity:.7}.form-subtitle{margin:8px 0 0;padding-bottom:6px;border-bottom:1px solid var(--line);font-size:15px}
.legacy-person{line-height:1.5;padding:8px;border-radius:6px;background:var(--bg);font-size:12px}
.duplicate-warning{padding:16px;border:1px solid #e7b858;background:#fffbeb;border-radius:10px;margin-top:16px}
.duplicate-warning[hidden]{display:none}
.duplicate-warning h3{margin:0 0 8px}
.person-combobox[hidden]{display:none}

/* Organigramme LS */
.org-choice-intro{max-width:760px;margin:10px auto 24px;text-align:center}.org-choice-intro h2{margin:8px 0;font-size:28px}.org-choice-intro p{margin:0;color:var(--muted);line-height:1.6}.org-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1180px;margin:0 auto}.org-choice-card{min-height:260px;display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:25px;padding:34px;border:2px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;box-shadow:0 12px 30px rgba(25,43,51,.08);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.org-choice-card:hover,.org-choice-card:focus-visible{transform:translateY(-3px);border-color:var(--accent-dark);box-shadow:0 18px 38px rgba(21,156,165,.16);outline:0}.org-choice-card.security{background:linear-gradient(145deg,#fff 52%,#eef9f5)}.org-choice-card.company{background:linear-gradient(145deg,#fff 52%,#edf8fa)}.org-choice-card>span:last-child{display:grid;gap:9px}.org-choice-card small{color:var(--accent-dark);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.org-choice-card strong{font-size:24px;line-height:1.2}.org-choice-card em{min-height:48px;color:var(--muted);font-size:14px;font-style:normal;line-height:1.5}.org-choice-card b{margin-top:10px;color:var(--accent-dark);font-size:13px}.org-choice-icon{width:102px;height:102px;display:grid;place-items:center;border-radius:26px;background:var(--accent-dark);color:#fff;font-size:25px;font-weight:850;letter-spacing:.04em;box-shadow:0 10px 22px rgba(21,156,165,.22)}.org-choice-card.security .org-choice-icon{background:#217a5d}
.org-quality{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:13px 16px;border:1px solid #b9ddd4;border-left:4px solid var(--green);border-radius:11px;background:#f0faf6}.org-quality.warning{border-color:#efd7a9;border-left-color:var(--orange);background:#fff9ef}.org-quality>div:first-child{display:grid;gap:3px}.org-quality span{color:var(--muted);font-size:12px}.org-quality-counts{display:flex;align-items:center;gap:10px;white-space:nowrap}.org-quality-counts button{padding:5px 9px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--accent-dark);font-weight:650}.org-chart-card{padding:14px;overflow:hidden}.org-toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-bottom:12px}.org-toolbar .field{min-width:180px}.org-toolbar .org-search{min-width:280px;flex:1}.org-toolbar input,.org-toolbar select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.org-zoom-label{min-width:52px;padding:7px;color:var(--muted);font-size:12px;text-align:center}.org-chart-viewport{position:relative;height:clamp(560px,70vh,820px);overflow:hidden;border:1px solid var(--line);border-radius:12px;background-color:#f7f9f9;background-image:radial-gradient(#d7dfe1 1px,transparent 1px);background-size:22px 22px;cursor:grab;touch-action:none}.org-chart-viewport.panning{cursor:grabbing}.org-chart-stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.org-connectors{position:absolute;inset:0;z-index:0;overflow:visible;pointer-events:none}.org-connectors path{fill:none;stroke:#9fb0b6;stroke-width:2}.org-service-group{position:absolute;z-index:1;border:1px solid #cad5d8;border-top:4px solid var(--service-color);border-radius:14px;background:rgba(255,255,255,.74);box-shadow:0 7px 22px rgba(40,58,65,.07)}.org-service-group header{height:54px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;border-bottom:1px solid #dce3e5;background:rgba(247,250,250,.94);border-radius:10px 10px 0 0}.org-service-group header b{font-size:14px}.org-service-group header span{color:var(--muted);font-size:11px;white-space:nowrap}.org-person-card{position:absolute;z-index:2;width:196px;height:84px;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;border:1px solid #cfd7da;border-top:4px solid var(--service-color);border-radius:10px;background:#fff;box-shadow:0 5px 14px rgba(38,55,62,.1)}.org-person-card.root{z-index:3;border-color:#70c8cc;border-top-width:5px;box-shadow:0 9px 26px rgba(21,156,165,.18)}.org-person-card.search-match{outline:4px solid rgba(247,144,9,.48);outline-offset:3px}.org-person-main{min-width:0;display:grid;align-content:center;gap:3px;padding:9px 12px;border:0;background:transparent;color:var(--ink);text-align:left}.org-person-main b,.org-person-main span,.org-person-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-person-main b{font-size:12px;text-transform:uppercase}.org-person-main span{font-size:11px}.org-person-main small{color:var(--muted);font-size:9px}.org-detail{position:absolute;right:14px;top:14px;z-index:4;width:min(340px,calc(100% - 28px));max-height:calc(100% - 28px);overflow:auto;padding:19px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 48px rgba(22,39,45,.24);cursor:default}.org-detail .modal-close{position:absolute;right:12px;top:12px}.org-detail h2{margin:7px 38px 15px 0;font-size:20px}.org-detail dl{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px 12px}.org-detail dt{color:var(--muted);font-size:12px}.org-detail dd{margin:0;overflow-wrap:anywhere;font-weight:600}.org-detail .btn{width:100%;margin-top:12px}.org-chart-empty{height:100%;display:grid;place-items:center;padding:30px;color:var(--muted);text-align:center}.org-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.org-check-grid>div{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#f8f9f9}.org-check-grid span{color:var(--muted);font-size:11px}.org-check-grid b{font-size:20px}.org-anomaly-list{display:grid;gap:8px}.org-anomaly-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px}.org-anomaly-list span{display:grid}.org-anomaly-list small{color:var(--muted)}
.org-chart-viewport{height:clamp(620px,78vh,900px)}.org-service-group header{height:46px}.org-person-card{width:158px;height:76px}.org-person-main{padding:7px 9px}.org-person-main b,.org-person-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-person-main span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;line-height:1.15}.org-person-main b{font-size:11px}.org-person-main span{font-size:10px}.org-person-main small{font-size:8px}
/* Organigramme hiérarchique : surface scrollable stable, sans translation des cartes. */
.org-chart-viewport{height:clamp(620px,76vh,880px);overflow:auto;scrollbar-gutter:stable;background-color:#f7f9f9;cursor:grab}
.org-chart-space{position:relative;min-width:100%;min-height:100%}
.org-chart-stage{position:absolute;left:0;top:0;transform-origin:0 0}
.org-connectors{z-index:2}
.org-connectors path{stroke:var(--edge-color,#81949b);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.org-connectors path.root{stroke-width:3}
.org-branch-panel{position:absolute;z-index:1;overflow:hidden;border:1px solid #cbd6d9;border-top:4px solid var(--service-color);border-radius:12px;background:rgba(255,255,255,.78);box-shadow:0 4px 13px rgba(40,58,65,.06)}
.org-branch-panel header{height:54px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 13px;border-bottom:1px solid #dbe3e5;background:#f1f6f6}
.org-branch-panel header div{min-width:0;display:grid;gap:2px}
.org-branch-panel header b,.org-branch-panel header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.org-branch-panel header b{font-size:12px}
.org-branch-panel header small{color:var(--muted);font-size:9px}
.org-branch-panel header span{min-width:25px;padding:4px 7px;border-radius:99px;background:#fff;color:var(--accent-dark);font-size:10px;font-weight:750;text-align:center}
.org-person-card{z-index:3;width:204px;height:84px;border-top-width:4px;border-radius:9px;box-shadow:0 3px 9px rgba(38,55,62,.11)}
.org-person-card.manager{border-left:4px solid var(--service-color)}
.org-person-card.root{z-index:4;border:2px solid #159ca5;border-top-width:6px;box-shadow:0 6px 15px rgba(21,156,165,.2)}
.org-person-main{gap:3px;padding:8px 10px}
.org-person-main b{font-size:11px}
.org-person-main span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;font-size:10px;line-height:1.15}
.org-person-main small{font-size:8px}
.org-person-name-row{min-width:0;display:flex;align-items:center;gap:6px}.org-person-name-row b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-sst-logo{width:25px;height:25px;flex:0 0 25px;object-fit:contain;border-radius:50%;background:#fff}.org-person-card.root .org-sst-logo{width:27px;height:27px;flex-basis:27px}.org-detail h2 .badge{display:inline-block;vertical-align:middle;margin-left:7px;font-size:10px}
@media(max-width:800px){.org-choice-grid{grid-template-columns:1fr}.org-choice-card{min-height:210px;grid-template-columns:76px minmax(0,1fr);padding:22px}.org-choice-icon{width:70px;height:70px;border-radius:19px;font-size:18px}.org-choice-card strong{font-size:20px}.org-quality{align-items:flex-start;flex-direction:column}.org-quality-counts{white-space:normal}.org-toolbar .field,.org-toolbar .org-search{width:100%;min-width:0}.org-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.org-chart-viewport{height:70vh}}
/* Informational notifications must never intercept an underlying form or button. */
#toast-root,.toast{pointer-events:none}
.question:not(.is-nc) .nc-fields{display:none}

/* Véhicules et Audit Véhicule 1.3 */
.compact-kpis .kpi{padding:14px}.vehicle-toolbar{align-items:end}.vehicle-toolbar .field{min-width:150px;flex:1}.vehicle-toolbar .field:first-child{min-width:260px;flex:2}.vehicle-table{min-width:1250px}.vehicle-table small,.vehicle-link span{display:block;margin-top:4px;color:var(--muted)}.vehicle-link{padding:0;border:0;background:transparent;color:var(--ink);text-align:left}.vehicle-link:hover b,.vehicle-link.registration:hover{color:var(--accent-dark)}.vehicle-link.registration{font:inherit;font-size:20px;font-weight:700;letter-spacing:.05em}.draft-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;border-left:4px solid var(--accent-dark);background:#f1fbfb}.draft-banner h2,.draft-banner p{margin:0}.draft-banner p{color:var(--muted)}
.config-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px}.category-list{align-self:start;position:sticky;top:0}.category-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;padding:8px 0;border-bottom:1px solid var(--line)}.category-row>button{display:grid;gap:2px;padding:5px;border:0;background:transparent;text-align:left}.category-row small{color:var(--muted)}.category-row.archived,.question-admin.archived{opacity:.58}.icon-btn{width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:7px;background:#fff}.icon-btn.danger{color:var(--red)}.question-admin-list{display:grid;gap:8px}.question-admin{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fafbfb}.question-admin>div:nth-child(2){display:grid;gap:5px}.question-admin p,.question-admin b,.question-admin small{margin:0}.question-admin small,.question-admin p{color:var(--muted)}.question-order{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#e6f7f8;color:var(--accent-dark);font-weight:700}.vehicle-detail-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:18px}.detail-list{display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px 14px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:600}.readonly-banner.warning{border-color:#f1ddb8;border-left-color:var(--orange);background:#fff9ef}
.vehicle-combobox .person-suggestions button{display:block;width:100%;padding:10px;border:0;border-radius:6px;background:#fff;text-align:left}.vehicle-combobox .person-suggestions button:hover,.vehicle-combobox .person-suggestions button.highlighted{background:#e8f7f7}.question-group{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;scroll-margin-top:62px}.question-group>summary{position:relative;z-index:1;display:flex;justify-content:space-between;padding:12px 14px;background:#edf4f5;cursor:pointer}.question-group>summary span{color:var(--muted);font-size:12px}.question{padding:14px;scroll-margin-top:62px}.question-title{display:grid;grid-template-columns:28px minmax(0,1fr);gap:5px 9px}.question-title small{grid-column:2;color:var(--muted)}.question-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0 0 36px}.audit-category-nav{position:sticky;top:-20px;z-index:3;display:flex;gap:6px;overflow-x:auto;margin:0 -2px 14px;padding:8px 2px;background:#fff}.audit-category-nav button{padding:7px 9px;border:1px solid var(--line);border-radius:99px;background:#fff;white-space:nowrap}.audit-summary{flex-wrap:wrap;z-index:4}.audit-summary small{margin-left:auto;color:var(--muted)}.nc-selection{display:grid;gap:8px}.nc-select{display:flex;gap:9px;padding:10px;border:1px solid var(--line);border-radius:8px}.nc-select small{display:block;color:var(--muted)}
@media(max-width:1100px){.config-layout,.vehicle-detail-grid{grid-template-columns:1fr}.category-list{position:static}.question-admin{grid-template-columns:42px minmax(0,1fr)}.question-admin>.row-actions{grid-column:2;flex-wrap:wrap}}
@media(max-width:680px){.draft-banner{align-items:flex-start;flex-direction:column}.audit-summary small{width:100%;margin-left:0}.question-tools,.question textarea{margin-left:0}.question-admin{grid-template-columns:1fr}.question-admin>.row-actions{grid-column:1}.detail-list{grid-template-columns:1fr}}

/* Audit Chantier 1.4 */
.site-audit-toolbar{align-items:end;flex-wrap:wrap}.site-audit-toolbar .field{min-width:155px;flex:1}.site-audit-toolbar .field:first-child{min-width:280px;flex:2}.site-audit-table{min-width:1120px}.recurring-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.recurring-grid>div{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid var(--line);border-radius:9px}.recurring-grid b{color:var(--orange);white-space:nowrap}.site-audit-window{width:min(1420px,98vw);max-height:96vh}.site-audit-window .modal-body{padding:20px 28px;scroll-padding-top:62px}.audited-people-grid,.activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.audited-people-grid label,.activity-grid label{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fafbfb}.audited-people-grid label:has(input:checked),.activity-grid label:has(input:checked){border-color:var(--accent-dark);background:#eaf8f8}.audited-people-grid small{display:block;color:var(--muted)}.external-person{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:9px}.external-person summary{cursor:pointer;font-weight:650}.external-person .form-grid{margin-top:12px}.site-general-photos{padding:14px;border:1px solid var(--line);border-radius:11px;background:#fafcfc}.site-dropzone{margin:10px 0;padding:18px;border:2px dashed #b8c9cc;border-radius:10px;color:var(--muted);text-align:center}.site-section-nav{position:sticky;top:-20px;z-index:5;display:flex;gap:6px;overflow:auto;margin:0 -4px 12px;padding:9px 4px;background:#fff}.site-section-nav button{padding:7px 10px;border:1px solid var(--line);border-radius:99px;background:#fff;white-space:nowrap}.site-question-group{margin:12px 0;border:1px solid var(--line);border-radius:11px;overflow:hidden;scroll-margin-top:62px}.site-question-group>summary{position:relative;z-index:1;display:flex;justify-content:space-between;padding:13px 15px;background:#edf5f5;cursor:pointer}.site-question-group>summary span{color:var(--muted)}.site-question{padding:15px;border-bottom:1px solid var(--line);scroll-margin-top:62px}.site-question:last-child{border-bottom:0}.site-question.is-nc{background:#fff7f5;border-left:4px solid var(--red)}.site-question>[data-site-value]{width:calc(100% - 36px);margin:9px 0 5px 36px;padding:9px;border:1px solid #cdd4d8;border-radius:8px}.site-question>[data-site-comment]{width:calc(100% - 36px);margin-left:36px}.site-photo-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:9px 0 0 36px}.site-photo-list{display:grid;gap:7px;margin:8px 0 0 36px}.site-photo-chip{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1.4fr) 150px 32px;align-items:center;gap:7px;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff}.site-photo-chip>button:first-child{overflow:hidden;border:0;background:transparent;color:var(--accent-dark);font-weight:650;text-align:left;text-overflow:ellipsis;white-space:nowrap}.site-photo-chip input,.site-photo-chip select{min-width:0;padding:7px;border:1px solid var(--line);border-radius:7px}.site-nc-fields{display:none;margin:12px 0 0 36px;padding:14px;border:1px solid #efc5c0;border-radius:10px;background:#fff}.site-question.is-nc .site-nc-fields{display:block}.site-nc-fields h4{margin:0 0 10px;color:var(--red)}.site-audit-summary{position:sticky;bottom:-20px;z-index:6;display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:20px -28px -20px;padding:13px 28px;border-top:3px solid var(--accent);background:#fff;box-shadow:0 -8px 22px rgba(30,40,45,.12)}.site-audit-summary b{font-size:20px;color:var(--accent-dark)}.site-audit-summary small{margin-left:auto;color:var(--muted)}.site-observation-list{display:grid;gap:7px;margin:10px 0}.site-observation-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) 32px;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:8px}.camera-view video{display:block;width:100%;max-height:60vh;object-fit:contain;border-radius:10px;background:#1e2023}.site-nc-summary{display:grid;gap:4px;margin:8px 0;padding:11px;border-left:4px solid var(--orange);border-radius:8px;background:#fff8ed}.site-nc-summary p{margin:0;color:var(--muted)}.site-detail-nc{border-left:4px solid var(--red)}.readonly-banner.compact{margin:8px 0;padding:8px}.activity-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));max-height:260px;overflow:auto}.site-config-layout .question-admin{grid-template-columns:42px minmax(0,1fr) auto}
.site-config-layout .category-row.selected{border-color:#8ed5d5;background:#eaf8f8;box-shadow:inset 3px 0 0 var(--accent)}.site-config-layout .category-row.selected>button b{color:var(--accent-dark)}
.audited-people-tools{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:12px}.audited-people-tools .field{min-width:250px;flex:1}.audited-people-tools .filters{display:flex;gap:6px;flex-wrap:wrap}.audited-people-grid em.badge{display:inline-block;margin:6px 5px 0 0;font-style:normal}
@media(max-width:1180px){.audited-people-grid,.activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-config-layout{grid-template-columns:1fr}.site-config-layout .category-list{position:static}}
@media(max-width:800px){.audited-people-grid,.activity-grid,.activity-grid.compact,.recurring-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-photo-chip{grid-template-columns:1fr}.site-photo-tools,.site-photo-list,.site-question>[data-site-value],.site-question>[data-site-comment],.site-nc-fields{width:100%;margin-left:0}.site-audit-summary small{width:100%;margin-left:0}}
@media(max-width:560px){.audited-people-grid,.activity-grid,.activity-grid.compact{grid-template-columns:1fr}.site-audit-window .modal-body{padding:15px}.site-audit-summary{margin-inline:-15px;padding-inline:15px}}

/* États de réponse Audit Chantier */
.site-question .answer[data-site-answer="conforme"].selected{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 0 0 2px rgba(31,122,83,.12)}
.site-question .answer[data-site-answer="non_conforme"].selected{border-color:var(--red);background:var(--red);color:#fff;box-shadow:0 0 0 2px rgba(183,62,52,.12)}
.site-question .answer[data-site-answer="na"].selected{border-color:#65737b;background:#65737b;color:#fff;box-shadow:0 0 0 2px rgba(101,115,123,.12)}
.site-question .answer[data-site-choice="Oui"].selected{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 0 0 2px rgba(31,122,83,.12)}
.site-question .answer[data-site-choice="Non"].selected{border-color:var(--red);background:var(--red);color:#fff;box-shadow:0 0 0 2px rgba(183,62,52,.12)}
.site-question .answer[data-site-choice]:focus-visible{outline:3px solid rgba(27,166,176,.28);outline-offset:2px}
.site-question .question-actions{grid-column:2;display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:5px}
.site-question .question-actions .badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-photo-preview{display:grid!important;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:8px!important;min-width:0;color:var(--ink)!important;font-weight:500!important;white-space:normal!important}
.site-photo-preview>[data-site-photo-thumb]{width:54px;height:42px;display:grid;place-items:center;overflow:hidden;border-radius:6px;background:#edf2f3;color:var(--muted)}
.site-photo-preview img{width:100%;height:100%;display:block;object-fit:cover}
.site-photo-preview small{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}
.site-depth{margin-top:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#f7fafb;color:var(--muted);font-size:12px}
.site-depth.deep{border-color:#d8c28f;background:#fff9eb;color:#765510;font-weight:650}
.site-depth.warning{border-color:#e1a49e;background:#fff1ef;color:#9f2f25;font-weight:700}
.site-activities-guidance{color:var(--red);font-weight:700}
.site-linked-action{margin:10px 0 0;padding:9px;border-radius:8px;background:#f3f8f8}
.site-control-fields{margin:12px 0 12px 34px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7fbfb;align-items:end}
.site-control-fields .btn{width:max-content;max-width:100%}
.office-section-results{display:grid;gap:8px}
.office-section-result{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,220px) auto;gap:14px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:9px}
.office-section-result .mini-progress{margin:0}
.office-section-result .mini-progress span{background:var(--accent)}
@media(max-width:680px){.site-control-fields{margin-left:0}.office-section-result{grid-template-columns:1fr;gap:6px}}

/* Audit Véhicule et tableau de pilotage 1.6 */
.compliance-ring{--ring-size:64px;position:relative;width:var(--ring-size);height:var(--ring-size);display:grid;flex:0 0 var(--ring-size);place-items:center}.compliance-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}.compliance-ring circle{fill:none;stroke-width:7}.compliance-ring .ring-track{stroke:#e3e8ea}.compliance-ring .ring-value{stroke:var(--green);stroke-linecap:round;transition:stroke-dashoffset .25s ease}.compliance-ring b{position:relative;z-index:1;max-width:75%;font-size:11px;line-height:1.05;text-align:center}.audit-detail-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fbfb}.audit-answer-detail.is-nc{border-left:4px solid var(--red);background:#fff8f6}.audit-trace{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0;padding:8px;border-radius:8px;background:#f0f4f5;font-size:12px}.audit-trace span{color:var(--muted)}.editable-file{display:inline-flex;align-items:center;gap:3px}.editable-file .icon-btn{flex:0 0 30px}.audit-general-files{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fafcfc}.audit-general-files h3{margin:0;border:0;padding:0}
.action-pilot{margin-bottom:14px;padding:15px}.action-searchbar{margin-bottom:12px}.action-searchbar>input{min-width:min(420px,100%);flex:1}.action-filter-grid{display:grid;grid-template-columns:repeat(8,minmax(125px,1fr));gap:9px;padding-top:12px;border-top:1px solid var(--line)}.action-filter-grid .field{font-size:11px}.action-filter-grid select,.action-filter-grid input{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.action-filter-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.filter-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-chip{padding:6px 9px;border:1px solid #b9dfe1;border-radius:99px;background:#edfafa;color:#176f74;font-size:11px}.filter-chip span{font-size:14px}.action-results{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}.action-results b{color:var(--ink)}.action-table-wrap{scrollbar-gutter:stable}.action-table{table-layout:fixed}.action-table th{position:sticky;padding:0}.action-table th[data-action-column]{top:0}.action-table .action-sort{width:100%;height:100%;min-height:42px;padding:10px 19px 10px 11px;border:0;background:transparent;color:inherit;font:inherit;font-weight:650;letter-spacing:.04em;text-align:left;text-transform:uppercase}.action-table .action-sort.active{color:var(--accent-dark)}.action-table .action-sort:disabled{cursor:default}.column-resizer{position:absolute;z-index:2;top:5px;right:-4px;width:9px;height:calc(100% - 10px);cursor:col-resize;touch-action:none}.column-resizer:after{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:#c6cfd3}.column-resizer:hover:after,.resizing-column .column-resizer:after{width:2px;background:var(--accent-dark)}.resizing-column{cursor:col-resize;user-select:none}.action-table td{overflow:hidden;overflow-wrap:anywhere}.action-table .title-cell{min-width:0}.action-table .title-cell b{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.action-table .row-actions{flex-wrap:wrap}.table-progress{display:grid;grid-template-columns:minmax(45px,1fr) auto;align-items:center;gap:7px}.table-progress .mini-progress{margin:0}.table-progress b{font-size:11px;white-space:nowrap}
@media(max-width:1380px){.action-filter-grid{grid-template-columns:repeat(4,minmax(145px,1fr))}}
@media(max-width:800px){.action-filter-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.action-filter-status{align-items:flex-start;flex-direction:column}.action-results{justify-content:flex-start}.audit-detail-hero{grid-template-columns:1fr}.audit-detail-hero .compliance-ring{margin:auto}}
@media(max-width:520px){.action-filter-grid{grid-template-columns:1fr}}
.site-question .answer[data-site-answer]:focus-visible{outline:3px solid rgba(27,166,176,.28);outline-offset:2px}
.config-dirty-banner{border-color:#e6bd73;background:#fff8e8;color:#7a4d00}.report-version-picker{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.report-version-picker select{max-width:190px;padding:8px;border:1px solid var(--line);border-radius:7px;background:#fff}.revision-history{display:grid;gap:7px;margin:8px 0;padding-left:24px}.revision-history li{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fafbfb}.revision-history small{color:var(--muted)}details pre{max-width:100%;overflow:auto;padding:10px;border-radius:8px;background:#f2f4f5;white-space:pre-wrap;word-break:break-word}

/* Système central Accidents / Incidents 1.7 */
.security-tabs{display:flex;gap:5px;overflow:auto;margin:-5px 0 16px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#fff;scrollbar-width:thin}.security-tabs button{padding:9px 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-weight:650;white-space:nowrap}.security-tabs button.active{background:#e7f7f7;color:var(--accent-dark)}
.security-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:12px;margin-bottom:16px}.security-kpi{min-height:112px;padding:15px;border:1px solid var(--line);border-top:4px solid #809099;border-radius:12px;background:#fff}.security-kpi span,.security-kpi small{display:block;color:var(--muted)}.security-kpi b{display:block;margin:7px 0 4px;font-size:28px;color:var(--ink)}.security-kpi small{font-size:10px;line-height:1.35}.security-kpi.danger{border-top-color:var(--red)}.security-kpi.danger b{color:var(--red)}.security-kpi.warning{border-top-color:var(--orange)}.security-kpi.info{border-top-color:var(--accent)}.security-kpi.success{border-top-color:var(--green)}.security-kpi.success b{color:var(--green)}
.security-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.security-bars{display:grid;gap:10px;margin-top:14px}.security-bars>div{display:grid;grid-template-columns:minmax(110px,180px) minmax(90px,1fr) 32px;align-items:center;gap:10px;font-size:12px}.security-bars i{height:9px;overflow:hidden;border-radius:99px;background:#e9edef}.security-bars i b{display:block;height:100%;border-radius:inherit;background:var(--accent-dark)}.security-bars strong{text-align:right}.security-month-chart{display:grid;grid-template-columns:repeat(12,minmax(20px,1fr));align-items:end;gap:8px;height:210px;padding:30px 4px 0}.security-month-chart>div{height:100%;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;gap:4px}.security-month-chart i{width:65%;min-height:2px;border-radius:5px 5px 0 0;background:var(--accent-dark)}.security-month-chart b{font-size:11px}.security-month-chart span{color:var(--muted);font-size:10px}
.security-filterbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff}.security-filterbar label{display:grid;gap:5px;min-width:130px;color:var(--muted);font-size:11px}.security-filterbar label:first-child{flex:2;min-width:250px}.security-filterbar input,.security-filterbar select{min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.security-table{min-width:1050px}.security-table td small{display:block;margin-top:4px;color:var(--muted)}.clickable-row{cursor:pointer}.clickable-row:hover td{background:#f0fafa}.quality-warning{color:#9a5d00!important}.severity{display:inline-flex;padding:4px 7px;border-radius:99px;background:#eef1f2;font-size:11px;font-weight:650}.severity-minor{background:#e9f7ef;color:#1f7a53}.severity-important{background:#fff1d6;color:#9a5d00}.severity-major,.severity-critical{background:#fee4e2;color:#b42318}.big-number{margin:15px 0 4px;font-size:42px;font-weight:750;color:var(--red)}
.formula-chip{max-width:510px;padding:8px 11px;border-radius:8px;background:#edf7f7;color:var(--accent-dark);font-size:11px}.hours-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:15px 0}.hours-grid label{display:grid;gap:5px;padding:10px;border:1px solid var(--line);border-radius:9px}.hours-grid span{color:var(--muted);font-size:11px}.hours-grid input{padding:9px;border:1px solid var(--line);border-radius:7px}.import-hero{display:flex;align-items:center;justify-content:space-between;gap:25px}.import-hero>div:first-child{max-width:720px}.import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.import-summary>div{padding:13px;border:1px solid var(--line);border-radius:9px;text-align:center}.import-summary b,.import-summary span{display:block}.import-summary b{font-size:24px}.import-summary span{color:var(--muted);font-size:11px}.import-preview-table{max-height:55vh;overflow:auto;border:1px solid var(--line);border-radius:9px}.import-preview-table table{min-width:1150px}.import-preview-table th{position:sticky;top:0;z-index:1}
.event-type-grid{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:9px}.event-type-card{position:relative;display:grid;gap:5px;padding:13px;border:2px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.event-type-card:has(input:checked){border-color:var(--accent-dark);background:#eaf8f8}.event-type-card input{position:absolute;top:9px;right:9px}.event-type-card b{padding-right:20px;font-size:13px}.event-type-card small{color:var(--muted);font-size:10px}.security-event-form .form-section{margin-bottom:12px}.security-accident-fields,.security-injury-fields{display:none!important}.is-accident .security-accident-fields,.has-injury .security-injury-fields{display:grid!important}.switch-line{display:flex;align-items:flex-start;gap:9px;margin:10px 0;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fafbfb}.cause-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.cause-grid label{display:flex;gap:8px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fafbfb;font-size:12px}.cause-grid label:has(input:checked){border-color:var(--accent-dark);background:#eaf8f8}
.event-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}.detail-row{padding:11px;border:1px solid var(--line);border-radius:9px;background:#fafbfb}.detail-row span,.detail-row b{display:block}.detail-row span{margin-bottom:5px;color:var(--muted);font-size:10px;text-transform:uppercase}.detail-block{margin:11px 0;padding:13px;border:1px solid var(--line);border-radius:10px}.detail-block h3,.detail-block p{margin:0}.detail-block p{margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}.event-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quality-banner{margin-bottom:13px;padding:12px;border-left:4px solid var(--orange);border-radius:8px;background:#fff8e8}.quality-banner p{margin:5px 0 0}.detail-history{margin-top:12px;padding:11px;border:1px solid var(--line);border-radius:9px}.detail-history summary{cursor:pointer;font-weight:650}.detail-history p{margin:7px 0;color:var(--muted)}.empty.compact{padding:20px}.security-event-form textarea{resize:vertical}
@media(max-width:1350px){.security-kpi-grid{grid-template-columns:repeat(4,minmax(135px,1fr))}.event-type-grid{grid-template-columns:repeat(3,minmax(145px,1fr))}}
@media(max-width:900px){.security-kpi-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.security-dashboard-grid,.event-related-grid{grid-template-columns:1fr}.event-type-grid,.cause-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-summary-grid,.hours-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-hero{align-items:flex-start;flex-direction:column}.import-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.security-kpi-grid,.event-type-grid,.cause-grid,.event-summary-grid,.hours-grid{grid-template-columns:1fr}.security-month-chart{gap:3px}.security-month-chart span{writing-mode:vertical-rl}.import-summary{grid-template-columns:1fr 1fr}}

/* Accidents / Incidents V2 */
.security-period{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.security-period h2{margin:0 0 3px}.security-year-nav{display:flex;align-items:center;gap:6px}.security-year-nav select{min-width:92px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;text-align:center;font:inherit;font-weight:750;color:var(--ink)}.security-year-nav .icon-btn:disabled{opacity:.35;cursor:not-allowed}
.security-kpi{appearance:none;text-align:left;font:inherit;cursor:default}.security-kpi[data-security-actionable]{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.security-kpi[data-security-actionable]:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 8px 22px rgba(20,67,74,.1)}
.comparison-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin-top:14px}.comparison-grid>div{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fafcfc}.comparison-grid span,.comparison-grid small{display:block;color:var(--muted)}.comparison-grid b{display:block;margin:5px 0;font-size:25px;color:var(--ink)}.comparison-grid small{font-size:10px;line-height:1.4}
.security-bars>button,.security-bars.quantitative-bars>div{display:grid;grid-template-columns:minmax(110px,180px) minmax(90px,1fr) 78px;align-items:center;gap:10px;width:100%;padding:3px 0;border:0;background:transparent;text-align:left;font:inherit;color:var(--ink)}.security-bars>button[data-security-chart-filter]{cursor:pointer}.security-bars>button[data-security-chart-filter]:hover span{color:var(--accent-dark);text-decoration:underline}.security-bars strong{text-align:right;font-size:12px}.security-bars strong small{color:var(--muted);font-weight:500}.distribution-track{display:block;width:100%;height:10px;overflow:hidden;appearance:none;border:0;border-radius:99px;background:#e9edef}.distribution-track::-webkit-progress-bar{border-radius:99px;background:#e9edef}.distribution-track::-webkit-progress-value{border-radius:99px;background:var(--accent-dark);transition:width .2s ease}.distribution-track::-moz-progress-bar{border-radius:99px;background:var(--accent-dark);transition:width .2s ease}.quantitative-bars .distribution-track::-webkit-progress-value{background:linear-gradient(90deg,var(--accent-dark),var(--accent))}.quantitative-bars .distribution-track::-moz-progress-bar{background:var(--accent-dark)}
.chart-legend{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px}.chart-legend button{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--muted);font:inherit;font-size:11px;cursor:pointer;opacity:.5;transition:opacity .2s ease,border-color .2s ease}.chart-legend button.active{opacity:1;border-color:#adc7c9}.chart-legend button::before{width:9px;height:9px;border-radius:3px;background:#809099;content:""}.chart-legend .at-stop::before{background:var(--safety-at-stop)}.chart-legend .at::before{background:var(--safety-at)}.chart-legend .commute::before{background:var(--safety-commute)}.chart-legend .benign::before{background:var(--safety-benign)}
.security-chart-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:stable}.security-vertical-chart{display:block;width:100%;min-width:700px;height:auto;max-height:350px}.monthly-event-chart{max-height:320px}.chart-grid-line{stroke:#e4e8ea;stroke-width:1}.chart-axis-line{stroke:#9ba8ae;stroke-width:1.2}.chart-axis-label{fill:var(--muted);font-family:var(--font);font-size:12px}.chart-y-label{text-anchor:end}.chart-x-label{text-anchor:middle;font-weight:600}.chart-value-label{fill:var(--ink);font-family:var(--font);font-size:12px;font-weight:700;text-anchor:middle}.monthly-chart-column{cursor:pointer}.monthly-chart-bar{fill:var(--accent-dark);transition:opacity .2s ease}.monthly-chart-column:hover .monthly-chart-bar{fill:var(--accent)}.monthly-chart-column:focus .monthly-chart-bar,.annual-chart-segment:focus{stroke:var(--ink);stroke-width:2;outline:none}.annual-chart-segment{cursor:pointer;transition:opacity .2s ease}.annual-chart-segment:hover{opacity:.78}.annual-at-stop{fill:var(--safety-at-stop)}.annual-at{fill:var(--safety-at)}.annual-commute{fill:var(--safety-commute)}.annual-benign{fill:var(--safety-benign)}.distribution-rule{margin:-4px 0 16px;color:var(--muted);font-size:11px}.security-chart-skeleton{display:flex;align-items:flex-end;gap:8px;height:210px;padding:25px 10px}.security-chart-skeleton i{flex:1;border-radius:5px 5px 0 0;background:#edf1f2;animation:chart-pulse 1.2s ease-in-out infinite alternate}.security-chart-skeleton i:nth-child(1){height:35%}.security-chart-skeleton i:nth-child(2){height:68%}.security-chart-skeleton i:nth-child(3){height:48%}.security-chart-skeleton i:nth-child(4){height:82%}@keyframes chart-pulse{to{background:#dce7e8}}
.actionable-card .attention-list button{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit;color:var(--ink);cursor:pointer}.actionable-card .attention-list button:hover{border-color:var(--accent);background:#f1fbfb}
.security-selection-bar{position:sticky;top:8px;z-index:5;display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:10px 12px;border:1px solid #98d6d7;border-radius:10px;background:#eaf9f9;box-shadow:0 5px 16px rgba(19,100,105,.12)}.security-selection-bar b{margin-right:auto;color:var(--accent-dark)}
.security-table-wrap{max-width:100%;overflow:auto}.security-table{table-layout:fixed}.security-table th{position:relative;vertical-align:top;padding:8px}.security-table th>button{width:100%;padding:2px 13px 7px 0;border:0;background:transparent;text-align:left;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}.security-table th>input,.security-table th>select{width:100%;min-height:31px;padding:5px 6px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:10px}.security-table th .column-resizer{position:absolute;top:0;right:-3px;z-index:2;width:7px;height:100%;cursor:col-resize}.security-table th .column-resizer:hover{background:rgba(33,166,169,.3)}.resizing-column,.resizing-column *{cursor:col-resize!important;user-select:none!important}.security-table td{overflow:hidden;text-overflow:ellipsis;vertical-align:top}.security-table td small,.security-table .event-title,.security-table .quality-warning,.security-table .source-badge{display:block;margin-top:4px}.security-table .event-title{overflow:hidden;color:var(--ink);font-size:12px;line-height:1.35}.source-badge{display:inline-flex!important;width:max-content;padding:3px 6px;border-radius:99px;background:#edf5f6;color:#41666a;font-size:9px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.security-year-group td{position:sticky;left:0;padding:0!important;background:#eef6f6!important}.security-year-group button{width:100%;padding:10px 13px;border:0;background:transparent;text-align:left;font:inherit;font-weight:750;color:var(--accent-dark);cursor:pointer}
.security-formula-results{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;margin-bottom:14px}.hours-mode{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:10px;margin-bottom:14px}.hours-mode label{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fafcfc;cursor:pointer}.hours-mode label:has(input:checked){border-color:var(--accent);background:#eaf9f9}.hours-mode input{grid-row:1/3}.hours-mode small{color:var(--muted)}.hours-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}.monthly-hours{display:none}.hours-form.is-monthly .monthly-hours{display:grid}.hours-form.is-monthly .annual-hours{display:none}.formula-chip{margin:12px 0;padding:11px;border-radius:8px;background:#f3f7f7;color:var(--muted);font-size:12px}
.event-detail-title{margin-bottom:16px;padding:15px;border-left:4px solid var(--accent);border-radius:8px;background:#f4fafa}.event-detail-title>span{color:var(--muted);font-size:11px;font-weight:750}.event-detail-title h2{margin:5px 0;font-size:21px}.event-detail-title p{margin:0;color:var(--muted)}.actions-row{display:flex;gap:7px;flex-wrap:wrap}.why-grid{grid-template-columns:repeat(5,minmax(110px,1fr))}.security-event-form h3{margin:0 0 10px}.security-event-form .form-section{padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff}
@media(max-width:1100px){.comparison-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}.hours-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}.why-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}}
@media(max-width:700px){.security-period{align-items:flex-start;flex-direction:column}.comparison-grid,.security-formula-results,.hours-mode{grid-template-columns:1fr}.hours-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.security-selection-bar{align-items:stretch;flex-wrap:wrap}.security-selection-bar b{width:100%}.security-bars>button,.security-bars.quantitative-bars>div{grid-template-columns:minmax(90px,130px) minmax(70px,1fr) 64px}.security-vertical-chart{min-width:650px}}

/* Audit du matériel embarqué : composants du Design System existant. */
.equipment-grid{margin-top:16px}.equipment-vehicle-card .card-head{align-items:flex-start}.equipment-vehicle-card .row-actions{margin-top:12px}.equipment-sticky{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:14px;margin:14px 0;padding:12px 15px;border:1px solid #9ad7d8;border-radius:10px;background:#ecfafa;box-shadow:0 5px 18px rgba(20,80,90,.1)}.equipment-sticky b{font-size:13px}.equipment-sticky small{color:var(--muted)}
.equipment-category{margin:14px 0;border:1px solid var(--line);border-radius:11px;background:#fff;overflow:visible}.equipment-category>summary{padding:15px;background:#f6fafa;cursor:pointer}.equipment-category-tools{padding:9px 14px;border-bottom:1px solid var(--line)}.equipment-lines{display:grid;gap:8px;padding:10px}.equipment-line{padding:12px 13px;border:1px solid var(--line);border-radius:9px;background:#fff}.equipment-line-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.equipment-line-head b{font-size:13px}.equipment-line-controls,.equipment-line-extra{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.equipment-line-controls label,.equipment-line-extra label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.equipment-line-controls>span{min-width:82px;color:var(--muted);font-size:11px}.equipment-line-controls input[type=number]{width:65px;padding:7px;border:1px solid var(--line);border-radius:6px}.equipment-line-controls select,.equipment-line-extra select,.equipment-check select{max-width:190px;min-height:34px;padding:6px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:inherit}.quantity-control{display:inline-flex;align-items:center;gap:3px}.quantity-control button{width:30px;height:32px;border:1px solid var(--line);border-radius:6px;background:#f4f8f8;color:var(--accent-dark);font-size:17px;cursor:pointer}.equipment-na{margin-left:auto}.equipment-line-extra{margin-top:9px;padding-top:8px;border-top:1px solid #eff2f3}.equipment-line-extra>input{flex:1;min-width:190px;min-height:34px;padding:7px;border:1px solid var(--line);border-radius:7px}.equipment-check{display:grid;grid-template-columns:minmax(210px,1fr) 150px minmax(145px,.6fr) auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}.equipment-check b{font-size:12px}.equipment-check input{min-width:0;min-height:34px;padding:7px;border:1px solid var(--line);border-radius:7px}
.equipment-check select.equipment-answer-conforme{border-color:#76c4a1;background:#e6f6ed;color:#176d4a}.equipment-check select.equipment-answer-non_conforme{border-color:#e0938a;background:#fdebe8;color:#a12720}.equipment-check select.equipment-answer-na{border-color:#c9d0d4;background:#edf0f2;color:#58636b}
@media(max-width:950px){.equipment-check{grid-template-columns:1fr 150px}.equipment-check input{grid-column:1/3}.equipment-na{margin-left:0}}@media(max-width:620px){.equipment-check{grid-template-columns:1fr}.equipment-check input{grid-column:auto}.equipment-sticky{flex-direction:column}.equipment-line-controls,.equipment-line-extra{align-items:flex-start;flex-direction:column}}
.equipment-kpis{grid-template-columns:repeat(7,minmax(120px,1fr))}.equipment-dual-summary{align-items:stretch;top:0}.equipment-dual-summary>div{display:flex;min-width:105px;flex-direction:column;gap:3px}.equipment-dual-summary>div span{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.equipment-dual-summary>div b{font-size:17px;color:var(--accent-dark)}.equipment-dual-summary small{margin-left:auto;text-align:right}.equipment-audit-part{margin:22px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f9fbfb}.part-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}.part-heading>span{padding:5px 8px;border-radius:6px;background:var(--accent);color:#fff;font-size:10px;font-weight:800}.part-heading h2{margin:0;color:var(--ink);font-size:18px}.part-heading p{margin:4px 0 0;color:var(--muted);font-size:11px}.equipment-sse-section{margin:9px 0;background:#fff}.equipment-sse-question{padding:12px;border-top:1px solid var(--line)}.equipment-sse-question.is-nc{border-left:4px solid #c83d32;background:#fff9f8}.equipment-question-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.equipment-question-title b{font-size:12px}.equipment-sse-question .answer-buttons{margin:9px 0}.equipment-sse-question .answer{min-width:122px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.equipment-sse-question .answer.selected[data-sse-value="conforme"]{border-color:#1f815f;background:#1f815f;color:#fff;box-shadow:0 2px 7px rgba(31,129,95,.24)}.equipment-sse-question .answer.selected[data-sse-value="non_conforme"]{border-color:#bd332b;background:#bd332b;color:#fff;box-shadow:0 2px 7px rgba(189,51,43,.24)}.equipment-sse-question .answer.selected[data-sse-value="na"]{border-color:#65737b;background:#65737b;color:#fff;box-shadow:0 2px 7px rgba(69,79,85,.2)}.equipment-action-point{margin:12px 0 2px;padding:14px;border:1px solid #edb4ae;border-left:4px solid #bd332b;border-radius:10px;background:#fff7f6}.equipment-action-point[hidden],.equipment-action-point [hidden]{display:none!important}.equipment-action-point-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px}.equipment-action-point-head h4{margin:0;color:#992d25;font-size:14px}.equipment-action-point .form-grid{margin:0}.equipment-priority-buttons{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.equipment-priority-buttons small{color:var(--muted)}.equipment-priority{min-width:48px;padding:7px 11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-weight:750;cursor:pointer}.equipment-priority.p1.selected{border-color:#bd332b;background:#bd332b;color:#fff}.equipment-priority.p2.selected{border-color:#d8780b;background:#d8780b;color:#fff}.equipment-priority.p3.selected{border-color:#8b7600;background:#f0cf43;color:#302a00}.equipment-action-photos>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.equipment-detail-action-point{margin:10px;padding:14px;border:1px solid #edb4ae;border-left:4px solid #bd332b;border-radius:10px;background:#fffafa}.equipment-detail-action-point h4{margin:8px 0}.equipment-detail-action-point .detail-list{margin:8px 0}.equipment-anomaly-fields{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(150px,.55fr) auto auto;align-items:center;gap:8px}.equipment-anomaly-fields>input,.equipment-anomaly-fields select{min-height:34px;padding:7px;border:1px solid var(--line);border-radius:7px;background:#fff}.equipment-anomaly-fields label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.equipment-inventory-grid{display:grid;grid-template-columns:90px 150px 165px 125px 155px 70px;align-items:end;gap:9px}.equipment-inventory-grid>span,.equipment-inventory-grid label{color:var(--muted);font-size:11px}.equipment-inventory-grid label{display:flex;flex-direction:column;gap:4px}.equipment-inventory-grid input[type=number],.equipment-inventory-grid select{width:100%;min-height:34px;padding:6px;border:1px solid var(--line);border-radius:7px;background:#fff}.equipment-inventory-grid label:last-child{flex-direction:row;align-items:center;padding-bottom:8px}.equipment-search{position:sticky;top:82px;z-index:4;padding:8px;border:1px solid #bfe5e5;border-radius:8px;background:#effafa}.equipment-model-config{margin-bottom:20px}.equipment-model-questions{padding:7px 12px}.equipment-model-question{display:grid;grid-template-columns:minmax(220px,1fr) 90px 34px 34px;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid #edf0f1;font-size:11px}.equipment-model-question.is-archived{opacity:.58;text-decoration:line-through}.equipment-trend{display:grid;grid-template-columns:55px 1fr 1fr 1fr;gap:8px;padding:9px;border-bottom:1px solid var(--line);font-size:12px}.equipment-detail-scores{grid-template-columns:repeat(6,minmax(95px,1fr))}.equipment-detail-anomaly{display:grid;grid-template-columns:auto minmax(190px,1fr) auto;align-items:center;gap:8px;margin:8px 0;padding:10px;border:1px solid var(--line);border-radius:8px}.equipment-detail-anomaly p{grid-column:2/4;margin:0;color:var(--muted);font-size:11px}.danger-banner{border-color:#e3a49e!important;background:#fff2f0!important;color:#992d25!important}.row-alert{background:#fff4f2}.compact-pad{padding:10px}
.equipment-question-action-button{margin-left:auto;border-color:#77c5c7!important;background:#edfafa!important;color:var(--accent-dark)!important}.equipment-question-action-button:hover{background:#d9f3f3!important}.equipment-question-comment{margin:10px 0 4px}.equipment-question-comment label{display:flex;align-items:baseline;gap:6px}.equipment-question-comment label small{color:var(--muted);font-weight:500}.equipment-question-comment textarea{width:100%;min-height:66px;margin:0;resize:vertical}.equipment-manual-actions{display:grid;gap:6px;margin-top:7px}.equipment-manual-action-summary{display:grid;grid-template-columns:auto minmax(150px,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid #a9d7d5;border-radius:8px;background:#f1fafa;font-size:11px}.equipment-manual-action-summary>span:last-child{color:var(--muted);text-align:right}
@media(max-width:1300px){.equipment-kpis{grid-template-columns:repeat(4,minmax(120px,1fr))}.equipment-inventory-grid{grid-template-columns:90px repeat(3,minmax(120px,1fr));}.equipment-inventory-grid label:nth-last-child(-n+2){grid-column:auto}.equipment-anomaly-fields{grid-template-columns:1fr 1fr}}
.equipment-vehicle-gap{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:9px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.equipment-vehicle-gap span{color:var(--muted);font-size:11px}
@media(max-width:760px){.equipment-kpis,.equipment-detail-scores{grid-template-columns:repeat(2,minmax(120px,1fr))}.equipment-dual-summary{position:static;display:grid;grid-template-columns:1fr 1fr}.equipment-dual-summary small{grid-column:1/3;margin:0;text-align:left}.equipment-inventory-grid,.equipment-anomaly-fields{grid-template-columns:1fr 1fr}.equipment-detail-anomaly{grid-template-columns:1fr}.equipment-detail-anomaly p{grid-column:auto}.equipment-model-question{grid-template-columns:1fr auto auto}.equipment-model-question .badge{display:none}.equipment-question-action-button{margin-left:0}.equipment-manual-action-summary{grid-template-columns:auto 1fr}.equipment-manual-action-summary>span:last-child{grid-column:1/3;text-align:left}}

/* Analyse environnementale : registre, campagnes et analyses. */
.environment-undo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:10px 13px;border:1px solid #eac68a;border-radius:9px;background:#fff7e9;color:#73511e;font-weight:650}
.environment-dashboard-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.environment-dashboard-summary>div{padding:12px;border:1px solid var(--line);border-radius:9px;background:#f8fbfb}.environment-dashboard-summary span,.environment-dashboard-summary b{display:block}.environment-dashboard-summary span{color:var(--muted);font-size:11px}.environment-dashboard-summary b{margin-top:4px;font-size:22px;color:var(--accent-dark)}@media(max-width:700px){.environment-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.environment-year-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 15px;padding:12px 15px;border:1px solid var(--line);border-radius:11px;background:#f6fafa}.environment-year-bar label{display:flex;align-items:center;gap:8px;font-weight:700}.environment-year-bar select{min-width:100px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit}.environment-year-bar .muted{margin-left:auto;font-size:11px}.environment-tabs{display:flex;gap:6px;overflow-x:auto;white-space:nowrap;margin-bottom:16px;padding-bottom:3px}.environment-tabs .tab{flex:none}.environment-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:10px;align-items:end}.environment-filter-grid .field{margin:0}.environment-filter-grid .field:first-child{grid-column:span 2}.environment-filter-grid .btn{align-self:end}.environment-bar-row{display:grid;grid-template-columns:minmax(110px,190px) minmax(90px,1fr) 44px;gap:9px;align-items:center;width:100%;padding:8px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.environment-bar-row:hover span:first-child,.environment-top-row:hover span:first-child{color:var(--accent-dark);text-decoration:underline}.environment-bar-row span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.environment-bar-row b{text-align:right}.environment-bar-track{display:block;height:10px;overflow:hidden;border-radius:99px;background:#e6edef}.environment-bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-dark),var(--accent))}.environment-top-row,.environment-attention{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.environment-top-row span{min-width:0;overflow:hidden;text-overflow:ellipsis}.environment-top-row small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.environment-top-row b{padding:5px 9px;border-radius:7px;background:#fbe9e6;color:#9b302c}.environment-attention{justify-content:flex-start}.environment-attention b{display:grid;place-items:center;min-width:30px;height:30px;border-radius:8px;background:#fff0e7;color:#ad5528}.environment-coverage{display:flex;gap:8px;flex-wrap:wrap}.environment-coverage-chip{padding:8px 10px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--muted);font:inherit;cursor:pointer}.environment-coverage-chip.done{border-color:#a2d7c2;background:#e8f7ef;color:#126a48}.environment-table-wrap{max-width:100%;overflow:auto}.environment-table{table-layout:fixed}.environment-table th{position:relative}.environment-table td{overflow:hidden;text-overflow:ellipsis;vertical-align:top}.environment-sort,.environment-link{border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.environment-sort{width:100%;font-weight:700}.environment-link{color:var(--accent-dark);font-weight:650}.environment-link:hover{text-decoration:underline}.environment-resize{position:absolute;top:0;right:-3px;width:8px;height:100%;cursor:col-resize}.environment-resize:hover{background:#b3e4e5}.environment-bulk{position:sticky;top:5px;z-index:4;display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:10px 0;padding:10px 12px;border:1px solid #9bd2d0;border-radius:10px;background:#e9f8f8}.environment-bulk b{margin-right:auto}.environment-heatmap{width:max-content;min-width:100%}.environment-heatmap th{min-width:112px}.environment-heat-cell{display:block;width:100%;min-height:48px;padding:7px;border:1px solid transparent;border-radius:7px;background:#ecf5f4;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.environment-heat-cell small{display:block;font-size:10px;font-weight:500}.environment-heat-cell.high{background:#fce9e4;color:#a22a22}.environment-heat-cell.low{background:#e4f4e8;color:#176d4a}.environment-heat-cell.empty{background:#f2f4f5;color:#89969c}.environment-trend{display:flex;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.environment-trend b{min-width:55px}.environment-factor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.environment-factor-grid small{display:block;min-height:32px;margin-top:4px;color:var(--muted)}.environment-score-preview{display:flex;align-items:center;gap:10px;padding:12px;border-left:4px solid var(--accent-dark);border-radius:8px;background:#f0f9f9}.environment-score-preview b{font-size:20px}.environment-score-preview span{margin-left:auto;color:var(--muted)}.environment-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.environment-detail-score{font-size:31px;font-weight:800;color:var(--accent-dark)}.environment-detail-score small{font-size:12px;font-weight:600}.environment-suggestions{display:grid;gap:8px;margin-top:12px}.environment-suggestions>div{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:8px}.environment-suggestions span{flex:1}.environment-help li{margin:8px 0}
@media(max-width:1100px){.environment-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.environment-factor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.environment-filter-grid,.environment-factor-grid,.environment-detail-grid{grid-template-columns:1fr}.environment-filter-grid .field:first-child{grid-column:auto}.environment-year-bar .muted{margin-left:0}.environment-bar-row{grid-template-columns:minmax(80px,130px) minmax(70px,1fr) 38px}}

/* Reporting CODIR : préparation courte, présentation en huit écrans maximum et archives figées. */
.codir-page{display:grid;width:100%;min-width:0;max-width:none;gap:15px}.codir-head{display:grid;min-width:0;gap:12px}.codir-period,.codir-toolbar{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:14px}.codir-period>div{min-width:0;text-align:center}.codir-period h1{margin:4px 0 5px;font-size:25px;overflow-wrap:anywhere}.codir-period p{margin:0;color:var(--muted);overflow-wrap:anywhere}.codir-toolbar{padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}.segmented{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:9px;background:#f1f4f4}.segmented button{padding:8px 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.segmented button.active{background:#fff;color:var(--accent-dark);box-shadow:0 2px 8px rgba(24,55,62,.12)}
.codir-kpis{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:10px}.codir-kpi{min-height:108px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#f9fbfb;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.codir-kpi:hover{border-color:var(--accent)}.codir-kpi span,.codir-kpi small{display:block;color:var(--muted)}.codir-kpi b{display:block;margin:8px 0 5px;font-size:29px}.codir-kpi small{font-size:10px}.codir-kpi.attention{border-color:#e9b4aa;background:#fff8f6}.codir-kpi.attention b{color:#a82d26}
.codir-changes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.codir-changes>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafcfc}.codir-changes h3{margin:0 0 10px;color:var(--muted);font-size:11px;letter-spacing:.08em}.codir-changes article{padding:9px 0;border-bottom:1px solid var(--line)}.codir-changes article:last-child{border:0}.codir-changes b,.codir-changes small{display:block}.codir-changes b{font-size:12px}.codir-changes small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}
.codir-items,.codir-decisions{display:grid;gap:9px}.codir-item,.codir-decision{display:grid;grid-template-columns:minmax(260px,1fr) minmax(240px,auto);gap:14px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff}.codir-item.importance-critical,.codir-decision:has(.badge.wait){border-left:4px solid #c94b42}.codir-item.state-HIDDEN,.codir-item.state-REPORTED{opacity:.68;background:#f5f6f6}.codir-item h3,.codir-decision h3{margin:7px 0 5px;font-size:14px}.codir-item p,.codir-decision p{margin:0 0 5px;color:var(--muted);font-size:12px;line-height:1.5}.codir-item small,.codir-decision small{color:var(--muted)}.codir-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.btn.ghost{border-color:transparent;background:transparent;color:var(--accent-dark)}
.codir-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.mini-kpis{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:7px;margin-bottom:14px}.mini-kpis>div{padding:10px;border:1px solid var(--line);border-radius:8px;background:#f7faf9}.mini-kpis span,.mini-kpis b{display:block}.mini-kpis span{min-height:27px;color:var(--muted);font-size:10px}.mini-kpis b{font-size:20px}.codir-source-line{display:grid;grid-template-columns:82px minmax(0,1fr);gap:3px 9px;width:100%;padding:9px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.codir-source-line:hover b{color:var(--accent-dark)}.codir-source-line span{grid-row:1/3;color:var(--muted);font-size:10px}.codir-source-line b{font-size:12px}.codir-source-line small{color:var(--muted)}.codir-source-line.compact{grid-template-columns:1fr}.codir-source-line.compact span{grid-row:auto}.codir-flow{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 0 15px;padding:17px;border-radius:10px;background:#edf8f7;color:var(--accent-dark);font-size:20px}.codir-flow strong{font-size:28px}.codir-bars>div{display:grid;grid-template-columns:minmax(120px,1fr) minmax(80px,2fr) 28px;align-items:center;gap:8px;padding:6px 0}.codir-bars i{height:9px;border-radius:99px;background:linear-gradient(90deg,var(--accent-dark) var(--value),#e4eaea var(--value))}.codir-objectives{display:grid;gap:6px;margin-bottom:13px}.codir-objectives button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.codir-previous{margin:0 0 14px;padding:12px;border:1px solid #c5d9da;border-radius:10px;background:#f1f8f8}.codir-previous>div{display:grid;grid-template-columns:minmax(0,1fr) 160px 100px 110px;gap:8px;padding:7px 0;border-bottom:1px solid #dce8e8;font-size:11px}.codir-ready{display:flex;align-items:center;justify-content:space-between;gap:18px}.codir-ready p{margin:5px 0}.codir-message{margin-bottom:16px;padding:15px 18px;border-left:5px solid var(--accent);border-radius:9px;background:#edf9f8;font-size:16px;line-height:1.55}
.shell.codir-presentation-shell{grid-template-columns:minmax(0,1fr)}.codir-presentation-shell .sidebar,.codir-presentation-shell .topbar{display:none}.codir-presentation-shell .workspace{grid-column:1/-1;width:100%;min-width:0;max-width:none;height:100vh}.codir-presentation-shell .main{width:100%;min-width:0;max-width:none;padding:18px;background:#eef2f2}.codir-presentation-shell .codir-head{grid-template-columns:minmax(0,1fr) auto;align-items:center}.codir-presentation-shell .codir-period{justify-content:flex-start}.codir-presentation-shell .codir-period>button{display:none}.codir-presentation-shell .codir-period>div{text-align:left}.codir-presentation-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.codir-stage{display:grid;width:100%;min-width:0;max-width:none;grid-template-rows:auto 1fr auto;min-height:calc(100vh - 145px);overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 10px 35px rgba(20,49,56,.12)}.codir-stage-head{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:18px;padding:18px 25px;border-bottom:1px solid var(--line);background:#172b34;color:#fff}.codir-stage-head h2{margin:0;font-size:24px;text-align:center;overflow-wrap:anywhere}.codir-stage-body{min-width:0;overflow:auto;padding:24px}.codir-stage-body>.card-head:first-child h2{font-size:25px}.codir-stage-body .codir-kpi{min-height:130px}.codir-stage-body .codir-kpi b{font-size:37px}.codir-stage>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 20px;border-top:1px solid var(--line)}.codir-stage>footer div{display:flex;gap:6px}.codir-stage>footer i{width:8px;height:8px;border-radius:99px;background:#cad2d4}.codir-stage>footer i.active{width:26px;background:var(--accent)}
.codir-drilldown{display:grid;gap:7px}.codir-drilldown>div{display:grid;grid-template-columns:90px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px;border-bottom:1px solid var(--line)}.codir-comparison{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:10px}.codir-comparison>div{display:grid;grid-template-columns:1fr 160px 80px;gap:8px;padding:8px;border-bottom:1px solid var(--line)}
@media(max-width:1100px){.codir-kpis{grid-template-columns:repeat(2,minmax(140px,1fr))}.codir-two{grid-template-columns:1fr}.codir-item,.codir-decision{grid-template-columns:1fr}.codir-item-actions{justify-content:flex-start}.codir-presentation-shell .codir-kpis{grid-template-columns:repeat(4,minmax(120px,1fr))}}@media(max-width:900px){.codir-presentation-shell .codir-kpis{grid-template-columns:repeat(2,minmax(130px,1fr))}.codir-stage-head{padding:14px 17px}.codir-stage-body{padding:17px}}@media(max-width:700px){.codir-period,.codir-toolbar,.codir-ready{align-items:stretch;flex-direction:column}.codir-period>div{text-align:left}.codir-changes,.codir-kpis,.codir-presentation-shell .codir-kpis{grid-template-columns:1fr}.mini-kpis{grid-template-columns:repeat(2,minmax(90px,1fr))}.codir-previous>div{grid-template-columns:1fr 1fr}.codir-presentation-shell .codir-head{grid-template-columns:1fr}.codir-presentation-actions{justify-content:flex-start}.codir-drilldown>div{grid-template-columns:1fr}.codir-stage-head{align-items:flex-start;flex-direction:column;gap:4px}.codir-stage-head h2{text-align:left}.codir-stage>footer{padding:10px}.codir-stage>footer div{display:none}}
.codir-empty{text-align:center;padding:55px 24px}.codir-empty p{max-width:620px;margin:8px auto 22px;color:var(--muted)}.codir-session-form .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.codir-session-form .field.full{grid-column:1/-1}.codir-history-table td{vertical-align:middle}.codir-history-table .row-actions{display:flex;gap:6px;flex-wrap:wrap}.codir-page h1,.codir-page h2,.codir-page h3,.codir-page p,.codir-page td,.codir-page th{overflow-wrap:anywhere}@media(max-width:760px){.codir-session-form .form-grid{grid-template-columns:1fr}.codir-history-table{min-width:780px}}
.audited-people-grid [hidden],.site-section-nav [hidden]{display:none!important}
.sidebar-account-link{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:11px;text-decoration:underline;cursor:pointer}.sidebar-account-link:hover{color:#fff}.input-action{display:flex;align-items:center;gap:7px}.input-action input{flex:1;min-width:0}

/* Déchets / Indicateurs : cockpit annuel et grilles de saisie façon tableur. */
.waste-color-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 14px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:11px}.waste-color-legend span{display:inline-flex;align-items:center;gap:5px}.waste-color-legend i{width:11px;height:11px;border-radius:3px}.waste-color-legend i.good{background:#2f8b72}.waste-color-legend i.mid{background:#d18b32}.waste-color-legend i.bad{background:#c94b42}.waste-color-legend small{margin-left:auto;color:var(--muted)}.waste-bar-row:hover .waste-bar-label{color:var(--accent-dark);text-decoration:underline}.waste-bar-progress{display:block;width:100%;height:12px;overflow:hidden;appearance:none;border:0;border-radius:99px;background:#e7edef}.waste-bar-progress::-webkit-progress-bar{border-radius:99px;background:#e7edef}.waste-bar-progress::-webkit-progress-value{border-radius:99px;background:#d18b32}.waste-bar-progress::-moz-progress-bar{border-radius:99px;background:#d18b32}.waste-bar-progress.tone-good::-webkit-progress-value{background:#2f8b72}.waste-bar-progress.tone-good::-moz-progress-bar{background:#2f8b72}.waste-bar-progress.tone-mid::-webkit-progress-value{background:#d18b32}.waste-bar-progress.tone-mid::-moz-progress-bar{background:#d18b32}.waste-bar-progress.tone-bad::-webkit-progress-value{background:#c94b42}.waste-bar-progress.tone-bad::-moz-progress-bar{background:#c94b42}.waste-chart-empty{margin:12px 0;padding:10px 12px;border:1px dashed var(--line-strong);border-radius:8px;background:#f7f9f9}
.waste-year-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:15px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#f4fafa}.waste-year-bar label{display:flex;align-items:center;gap:8px;font-weight:750}.waste-year-bar select{min-width:100px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-weight:700}.waste-year-bar .muted{margin-left:auto;font-size:11px}.waste-tabs{display:flex;gap:6px;overflow-x:auto;white-space:nowrap;margin-bottom:16px;padding-bottom:3px}.waste-tabs .tab{flex:none}.waste-kpis{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:12px;margin-bottom:18px}.waste-kpis.compact{grid-template-columns:repeat(4,minmax(130px,1fr))}.waste-warning{border-left:5px solid var(--red);background:#fff9f8}.waste-warning p{margin:7px 0;color:#8f302b}.waste-bars{display:grid;gap:2px}.waste-bar-row{display:grid;grid-template-columns:minmax(120px,190px) minmax(90px,1fr) 90px;align-items:center;gap:10px;width:100%;padding:8px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.waste-bar-row:hover span{color:var(--accent-dark);text-decoration:underline}.waste-bar-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waste-bar-row>i{display:block;height:12px;overflow:hidden;border-radius:99px;background:#e7edef}.waste-bar-row>i>b{display:block;height:100%;min-width:1px;border-radius:inherit}.waste-bar-row>strong{text-align:right;font-size:12px}.waste-ranking{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:10px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.waste-ranking>b{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#e8f6f5;color:var(--accent-dark)}.waste-ranking span,.waste-ranking small{display:block}.waste-ranking small{margin-top:3px;color:var(--muted);font-size:10px}.waste-insight{padding:10px 12px;border-left:4px solid var(--accent);border-radius:8px;background:#eff9f8}.waste-distinction{display:grid;gap:6px;margin-top:14px;padding:12px;border:1px solid #bcdfe0;border-radius:9px;background:#f3fbfb}.waste-distinction span{color:var(--muted);font-size:12px}.waste-comments{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.waste-comments .field:last-child{grid-column:1/2}.waste-comments textarea{resize:vertical}.waste-grid-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px}.waste-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.waste-grid th,.waste-grid td{min-width:132px;padding:0!important;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.waste-grid th{position:sticky;top:0;z-index:2;padding:9px!important;background:#edf4f4;color:var(--ink);font-size:11px}.waste-grid th:first-child{left:0;z-index:3;min-width:115px;text-align:left}.waste-grid tbody th{z-index:1;background:#f7f9f9}.waste-grid th small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.waste-cell{width:100%;min-width:130px;height:42px;padding:8px 10px;border:2px solid transparent!important;border-radius:0!important;background:transparent!important;color:var(--ink);font:inherit;text-align:right;box-shadow:none!important}.waste-cell:hover{background:#f4fbfb!important}.waste-cell:focus{position:relative;z-index:1;border-color:var(--accent)!important;background:#fff!important;outline:0;box-shadow:inset 0 0 0 1px var(--accent)!important}.waste-cell::placeholder{color:#a8b0b4}.waste-total{padding:9px 10px!important;background:#f4f7f7!important;font-weight:700;text-align:right;white-space:nowrap}.waste-total-row th,.waste-total-row td{padding:10px!important;background:#e8f5f4!important;color:var(--accent-dark);font-weight:800;text-align:right;white-space:nowrap}.waste-total-row th{text-align:left}.waste-cost-grid th,.waste-cost-grid td{min-width:145px}.waste-attachment{display:flex;align-items:center;gap:8px;padding:10px 2px;border-bottom:1px solid var(--line)}.waste-attachment>span{flex:1;min-width:0}.waste-attachment b,.waste-attachment small{display:block;overflow:hidden;text-overflow:ellipsis}.waste-attachment small{margin-top:3px;color:var(--muted);font-size:10px}
.waste-analysis-filters{margin-bottom:16px;border-top:4px solid var(--accent)}.waste-analysis-filters .form-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.waste-filter-summary{margin:12px 0 0;padding:9px 12px;border-radius:8px;background:#eff9f8;color:var(--muted);font-size:12px}.waste-comparison{margin-bottom:16px}.waste-compare-grid{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px}.waste-compare-grid>div{display:grid;gap:5px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fafcfc}.waste-compare-grid span{color:var(--muted);font-size:10px}.waste-compare-grid b{font-size:15px}.waste-compare-grid b.up{color:#b24b35}.waste-compare-grid b.down{color:#27755f}.waste-objective{display:grid;gap:7px;margin-top:14px;padding:12px;border:1px solid #bcdfe0;border-radius:9px;background:#f3fbfb}.waste-objective .badge{justify-self:start}.waste-objective .progress{height:7px}.waste-objective .btn{justify-self:start}.choice-card{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.choice-card:has(input:checked){border-color:var(--accent);background:#f0fbfa}.choice-card span,.choice-card b,.choice-card small{display:block}.choice-card small{margin-top:4px;color:var(--muted)}
@media(max-width:1100px){.waste-kpis{grid-template-columns:repeat(2,minmax(140px,1fr))}.waste-comments{grid-template-columns:1fr 1fr}.waste-comments .field:last-child{grid-column:auto}.waste-analysis-filters .form-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.waste-compare-grid{grid-template-columns:repeat(4,minmax(90px,1fr))}}@media(max-width:700px){.waste-kpis,.waste-kpis.compact,.waste-comments,.waste-analysis-filters .form-grid{grid-template-columns:1fr}.waste-year-bar .muted{margin-left:0}.waste-bar-row{grid-template-columns:minmax(90px,130px) minmax(70px,1fr) 76px}.waste-attachment{align-items:flex-start;flex-wrap:wrap}.waste-attachment>span{flex-basis:100%}.waste-compare-grid{grid-template-columns:repeat(2,minmax(90px,1fr))}}
/* Causeries & sensibilisations */
.awareness-year-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;margin-bottom:12px;background:#eef9fa;border:1px solid #bfe6e8;border-radius:12px}.awareness-year-bar label{display:flex;align-items:center;gap:8px;font-weight:700}.awareness-year-bar select{min-width:96px}.awareness-tabs{margin-bottom:16px}.awareness-kpis{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px}.awareness-overview{margin-top:16px}.awareness-month-chart{height:220px;display:grid;grid-template-columns:repeat(12,minmax(28px,1fr));gap:8px;align-items:end;padding-top:12px}.awareness-month-chart>div{height:100%;display:grid;grid-template-rows:20px 1fr 20px;gap:4px;text-align:center}.awareness-month-chart span,.awareness-month-chart small{font-size:11px;color:var(--muted)}.awareness-month-chart i{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:3px;border-bottom:1px solid var(--border)}.awareness-month-chart b,.awareness-month-chart em{display:block;width:38%;min-height:0;border-radius:5px 5px 0 0}.awareness-month-chart b{background:#a6dadd}.awareness-month-chart em{background:#118b75}.awareness-legend{display:flex;gap:18px;justify-content:center;margin-top:10px;font-size:12px;color:var(--muted)}.awareness-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.awareness-legend .planned{background:#a6dadd}.awareness-legend .done{background:#118b75}.awareness-family,.awareness-note{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.awareness-family b{min-width:34px;text-align:center;padding:4px 8px;border-radius:10px;background:#e9f8f8;color:#087681}.awareness-note span{color:var(--muted)}.awareness-filters{margin-bottom:14px}.awareness-filters .form-grid{grid-template-columns:2fr repeat(4,1fr)}.awareness-session-list{display:grid;gap:10px}.awareness-session-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--border);border-radius:12px;background:#fbfcfc}.awareness-session-card h3{margin:5px 0}.awareness-session-card p{margin:0 0 6px;color:var(--muted)}.awareness-session-card>div:last-child{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.awareness-session-card.compact{padding:8px 0;border:0;background:transparent}.awareness-public{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border:1px solid var(--border);border-radius:10px;padding:12px}.awareness-public legend{font-weight:700;padding:0 6px}.awareness-public label{display:flex;align-items:center;gap:6px}.awareness-detail-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:12px}.awareness-detail-summary>div{padding:12px;border-radius:10px;background:#f3f7f8;border:1px solid var(--border)}.awareness-detail-summary span{display:block;font-size:11px;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.awareness-detail-summary b{font-size:20px}.awareness-detail-tools{position:sticky;top:-1px;z-index:3;background:#fff;padding:10px 0;border-bottom:1px solid var(--border)}.awareness-presence-list{display:grid;gap:8px;margin-top:12px}.awareness-person{display:grid;grid-template-columns:minmax(210px,1fr) auto auto 32px;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px}.awareness-person small{display:block;color:var(--muted);margin-top:4px}.attendance-buttons{display:flex;gap:5px;flex-wrap:wrap}.attendance{border:1px solid #cbd5d8;background:#fff;color:#334155;border-radius:8px;padding:7px 9px;font-weight:700;cursor:pointer}.attendance.present.active{background:#168568;border-color:#168568;color:#fff}.attendance.excused.active{background:#d47a17;border-color:#d47a17;color:#fff}.attendance.unexcused.active{background:#bd2c2c;border-color:#bd2c2c;color:#fff}.attendance.na.active{background:#6b7280;border-color:#6b7280;color:#fff}.catchup-check{display:flex;align-items:center;gap:6px;font-size:12px}.awareness-notes,.awareness-files{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.awareness-group-row{display:grid;grid-template-columns:14px minmax(100px,1fr) auto auto auto;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--border)}.awareness-group-row>i{width:12px;height:12px;border-radius:50%}.awareness-matrix{overflow:auto;max-height:520px}.awareness-matrix table{min-width:900px}.awareness-matrix th{position:sticky;top:0;z-index:1}.awareness-matrix td[class^=coverage-]{text-align:center;font-weight:800}.coverage-ok{color:#118b75;background:#ecfaf6}.coverage-catchup{color:#0f6f9a;background:#edf8fc}.coverage-missing{color:#b42318;background:#fff0ee}.coverage-none{color:#94a3b8}.track .fill.danger{background:#bd2c2c}.track .fill.warning{background:#d47a17}
@media(max-width:1350px){.awareness-kpis{grid-template-columns:repeat(3,1fr)}.awareness-filters .form-grid{grid-template-columns:repeat(3,1fr)}.awareness-person{grid-template-columns:1fr}.awareness-person>.icon-btn{justify-self:end}.awareness-detail-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.awareness-kpis,.awareness-detail-summary{grid-template-columns:repeat(2,1fr)}.awareness-filters .form-grid{grid-template-columns:1fr}.awareness-month-chart{overflow-x:auto;grid-template-columns:repeat(12,45px)}.awareness-session-card{align-items:flex-start;flex-direction:column}}
.audit-annual-card{min-height:460px}.audit-annual-scroll{width:100%;overflow-x:auto}.audit-annual-chart{display:block;width:100%;min-width:680px;height:auto;min-height:340px}.audit-annual-legend{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:16px;font-size:12px;color:var(--muted)}.audit-annual-legend span{display:inline-flex;align-items:center;gap:7px}.audit-annual-legend b{color:var(--ink)}

/* Bilan carbone : lecture direction, saisie mensuelle et historique versionné. */
.carbon-select{min-width:105px}.carbon-tabs{margin-bottom:16px}.carbon-empty{display:grid;justify-items:start;gap:8px;margin-bottom:16px}.carbon-empty span{color:var(--muted)}.carbon-good{color:#167451!important}.carbon-bad{color:#b1322c!important}.carbon-chart{display:grid;gap:6px;margin-top:8px}.carbon-chart-row{display:grid;grid-template-columns:34px minmax(120px,1fr) 86px;align-items:center;gap:9px;min-height:28px}.carbon-chart-row>span{color:var(--muted);font-size:11px;text-transform:uppercase}.carbon-chart-row>b{text-align:right;font-size:11px}.carbon-bars{display:grid;gap:3px}.carbon-bars i{display:block;min-width:0;height:7px;border-radius:99px}.carbon-bars i.current,.carbon-legend i.current{background:#149da5}.carbon-bars i.previous,.carbon-legend i.previous{background:#94a3b8}.carbon-chart-row.empty{opacity:.45}.carbon-legend{display:flex;justify-content:flex-end;gap:14px;color:var(--muted);font-size:10px}.carbon-legend span{display:flex;align-items:center;gap:5px}.carbon-legend i{display:block;width:12px;height:7px;border-radius:4px}.carbon-breakdown{display:grid;gap:4px}.carbon-breakdown>div{display:grid;grid-template-columns:minmax(120px,1fr) auto 58px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.carbon-breakdown span{display:flex;align-items:center;gap:8px}.carbon-breakdown i{width:12px;height:12px;border-radius:4px}.carbon-breakdown em{text-align:right;color:var(--muted);font-style:normal}.carbon-energy{display:grid;grid-template-columns:1fr 1fr;gap:10px}.carbon-energy>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7faf9}.carbon-energy span,.carbon-energy b,.carbon-energy small{display:block}.carbon-energy b{margin:6px 0;font-size:19px}.carbon-energy small{color:var(--muted)}.carbon-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.carbon-facts p{margin:0;padding:11px 13px;border-left:4px solid var(--accent);border-radius:8px;background:#eff9f8;line-height:1.5}.callout.warning{border-left-color:#d97706;background:#fff7e7;color:#7c4a0d}.callout.success{border-left-color:#168568;background:#ecfaf6;color:#145c45}.carbon-table-wrap{max-width:100%;overflow:auto}.carbon-entry-table{min-width:1460px}.carbon-entry-table th{white-space:nowrap}.carbon-entry-table tbody tr.selected{background:#f0fbfa}.carbon-entry-table tbody th button{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:750;cursor:pointer}.carbon-cell{width:118px;padding:8px;border:1px solid #cbd6d8;border-radius:7px;background:#fff;text-align:right;font:inherit}.carbon-cell:focus{border-color:var(--accent);outline:2px solid #bce7e8}.carbon-cell.calculated{border-style:dashed;background:#f0f5f5;color:#3d5b62}.carbon-save-state{margin-top:9px;color:var(--muted);font-size:11px;text-align:right}.carbon-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.carbon-detail-grid article{display:grid;gap:8px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fafcfc}.carbon-detail-grid h3{margin:0}.carbon-detail-grid label,.carbon-detail-grid small{display:grid;gap:4px;color:var(--muted);font-size:11px}.carbon-detail-grid select,.carbon-detail-grid input,.carbon-detail-grid textarea{width:100%;padding:8px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--ink);font:inherit}.carbon-detail-grid textarea{min-height:64px;resize:vertical}.carbon-contribution{display:grid;grid-template-columns:110px 90px minmax(100px,1fr);gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.carbon-contribution>b{text-align:right}.carbon-contribution>div{height:9px;overflow:hidden;border-radius:99px;background:#e7edef}.carbon-contribution i{display:block;height:100%;border-radius:inherit;background:#149da5}.carbon-annual-bars{display:flex;align-items:end;gap:18px;min-height:245px;overflow-x:auto;padding:18px 8px 0}.carbon-annual-bars>div{display:grid;grid-template-rows:20px 185px 22px 20px;align-items:end;justify-items:center;min-width:105px}.carbon-annual-bars i{width:54px;max-height:180px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#19a8b2,#0f7b84)}.carbon-annual-bars b{font-size:11px}.carbon-annual-bars small{color:var(--muted);font-size:9px}.carbon-category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.carbon-category-list>div{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);border-radius:9px}.carbon-category-list>div>i{width:13px;height:38px;border-radius:5px}.carbon-category-list span{flex:1}.carbon-category-list b,.carbon-category-list small{display:block}.carbon-category-list small{margin-top:4px;color:var(--muted)}
@media(max-width:1050px){.carbon-facts{grid-template-columns:1fr}.carbon-detail-grid,.carbon-category-list{grid-template-columns:1fr}}@media(max-width:700px){.carbon-energy{grid-template-columns:1fr}.carbon-chart-row{grid-template-columns:30px minmax(100px,1fr) 70px}.carbon-contribution{grid-template-columns:90px 80px minmax(70px,1fr)}}
.carbon-post-kpis{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:12px;margin:12px 0}.carbon-category-chooser{display:flex;flex-wrap:wrap;gap:8px 18px}.carbon-category-chooser label{display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fafcfc;cursor:pointer}.carbon-stack-chart{display:grid;gap:7px}.carbon-stack-row{display:grid;grid-template-columns:36px minmax(120px,1fr) 88px;align-items:center;gap:9px}.carbon-stack-row>span{color:var(--muted);font-size:11px;text-transform:uppercase}.carbon-stack-row>div{display:flex;height:14px;overflow:hidden;border-radius:99px;background:#edf2f3}.carbon-stack-row i{display:block;height:100%;min-width:1px}.carbon-stack-row>b{text-align:right;font-size:11px}.carbon-stack-row.empty{opacity:.45}.carbon-attachment-list{display:grid;gap:6px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fafcfc}.carbon-attachment-list span{font-size:11px}.carbon-cell.save-error{border-color:#b42318!important;background:#fff0ee!important;box-shadow:0 0 0 2px rgba(180,35,24,.15)!important}
@media(max-width:1050px){.carbon-post-kpis{grid-template-columns:repeat(2,minmax(145px,1fr))}}@media(max-width:700px){.carbon-post-kpis{grid-template-columns:1fr}.carbon-stack-row{grid-template-columns:30px minmax(100px,1fr) 70px}}

/* Bilan carbone : graphiques chronologiques à points reliés. */
.carbon-line-chart{min-width:0;margin-top:10px;overflow:hidden}.carbon-line-chart svg{display:block;width:100%;height:300px}.carbon-line-axis{stroke:#9aa8ad;stroke-width:1.2}.carbon-line-grid{stroke:#dce4e6;stroke-width:1;stroke-dasharray:4 5}.carbon-line-path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.carbon-line-point{stroke:#fff;stroke-width:2;transition:r .15s ease}.carbon-line-point:hover{r:6}.carbon-line-x,.carbon-line-y,.carbon-line-axis-title{fill:var(--muted);font-family:var(--font);font-size:11px}.carbon-line-axis-title{font-size:12px;font-weight:700}.carbon-line-legend{display:flex;justify-content:center;gap:18px;margin:3px 0 1px;color:var(--muted);font-size:11px}.carbon-line-legend span{display:inline-flex;align-items:center;gap:6px}.carbon-line-legend i{width:22px;height:3px;border-radius:99px}.carbon-line-empty{margin-top:12px}
@media(max-width:700px){.carbon-line-chart{overflow-x:auto}.carbon-line-chart svg{min-width:560px;height:265px}.carbon-line-x{font-size:10px}}

/* Accueil sécurité : recherche, photos et traçabilité du livret. */
.safety-filters{display:grid;grid-template-columns:2fr repeat(6,minmax(130px,1fr));gap:10px;margin:14px 0 18px;align-items:end}.safety-filters .full{grid-column:span 2}.safety-avatar{display:inline-flex;width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #d8e6e8;align-items:center;justify-content:center;background:#eef5f6}.safety-avatar.placeholder{font-size:18px}.safety-booklet-box{margin-top:18px;padding:16px;border:1px solid #b9dde0;border-radius:12px;background:#f6fbfb}.safety-booklet-box h3{margin-top:0}
@media(max-width:1200px){.safety-filters{grid-template-columns:repeat(3,1fr)}.safety-filters .full{grid-column:span 3}}@media(max-width:760px){.safety-filters{grid-template-columns:1fr}.safety-filters .full{grid-column:auto}}

/* Accueil sécurité simplifié : 3 macro-étapes, utilisation tablette et présentation. */
.safety-simple-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.safety-simple-flow>div{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid #cfe0e3;border-radius:16px;background:linear-gradient(135deg,#f8fcfc,#eef8f8)}.safety-simple-flow b{display:grid;place-items:center;min-width:42px;height:42px;border-radius:50%;background:var(--cyan);color:#fff;font-size:18px}.safety-simple-flow span{display:flex;flex-direction:column;gap:3px}.safety-simple-flow small{color:var(--muted)}
.safety-stepper.safety-stepper-simple{grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}.safety-stepper-simple button{min-height:72px;padding:13px 16px}.safety-stepper-simple span{display:flex;flex-direction:column;gap:3px;font-size:13px}.safety-stepper-simple span strong{font-size:14px}.safety-stepper-simple span small{color:var(--muted);font-weight:500}
.safety-alert-text{color:#b42318;font-weight:700}.safety-credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.safety-credential-card{display:grid;gap:12px;padding:16px;border:2px solid #cfd8dc;border-radius:15px;background:#f8fafb;transition:border-color .2s ease,background .2s ease}.safety-credential-card.held{border-color:#49a47a;background:#effaf4}.safety-credential-card.missing{border-color:#d8665c;background:#fff3f1}.safety-credential-title{display:flex;flex-direction:column;gap:4px}.safety-credential-title small{color:var(--muted)}.safety-tristate{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.safety-tristate button{min-height:38px;padding:7px;border:1px solid #c8d1d5;border-radius:9px;background:#fff;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}.safety-credential-card.unknown .safety-tristate button.active{background:#68757c;border-color:#68757c;color:#fff}.safety-credential-card.held .safety-tristate button.active{background:#21835b;border-color:#21835b;color:#fff}.safety-credential-card.missing .safety-tristate button.active{background:#c43c32;border-color:#c43c32;color:#fff}.safety-credential-details{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.safety-credential-details label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:11px}.safety-credential-details input{min-height:34px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:#fff}.safety-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.safety-document-grid article{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--border);border-radius:12px;background:#fbfcfd}.safety-document-grid article>div{display:flex;flex-direction:column;gap:3px}.safety-document-grid small{color:var(--muted)}
.safety-presentation-launch{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border:1px solid #b7dfe2;border-radius:16px;background:linear-gradient(135deg,#eafafb,#f7fcfc)}.safety-presentation-launch>div{display:flex;flex-direction:column;gap:5px}.safety-presentation-screen{min-height:680px;display:grid;grid-template-rows:auto 1fr auto;border-radius:20px;overflow:hidden;background:#f8fbfc;box-shadow:0 18px 50px rgba(17,45,58,.18)}.safety-presentation-screen>header{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;background:#11283a;color:#fff}.safety-presentation-screen>header span{color:#77e0e5;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800}.safety-presentation-screen>main{padding:44px 6vw;overflow:auto}.safety-presentation-screen>main>h2{max-width:1000px;margin:0 auto 34px;font-size:34px;text-align:center;color:#102b3a}.safety-presentation-screen>footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:18px 24px;border-top:1px solid #d8e3e6;background:#fff}.safety-presentation-screen>footer>:last-child{justify-self:end}.safety-slide-dots{display:flex;gap:7px}.safety-slide-dots i{width:9px;height:9px;border-radius:50%;background:#ccd7da}.safety-slide-dots i.active{width:24px;border-radius:99px;background:var(--cyan)}.safety-welcome{text-align:center}.safety-welcome-mark{display:grid;place-items:center;width:110px;height:110px;margin:0 auto 22px;border-radius:28px;background:#0e9ca5;color:#fff;font-size:42px;font-weight:900;box-shadow:0 14px 30px rgba(14,156,165,.25)}.safety-welcome h3{margin:0;font-size:30px}.safety-welcome p{font-size:18px;color:var(--muted)}.safety-welcome strong{display:inline-block;margin-top:24px;padding:15px 22px;border-radius:12px;background:#e9f7f3;color:#176345;font-size:18px}.safety-principles{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;counter-reset:principle;list-style:none;padding:0}.safety-principles li{counter-increment:principle;display:flex;align-items:center;gap:12px;min-height:74px;padding:14px;border:1px solid #cfe0e3;border-radius:13px;background:#fff;font-weight:700}.safety-principles li::before{content:counter(principle);display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:#e2f5f6;color:#087c85}.safety-slide-columns{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}.safety-slide-columns>div{padding:24px;border:1px solid #d4e0e3;border-radius:15px;background:#fff}.safety-slide-columns h3{color:#087c85}.safety-bird{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.safety-bird span{display:grid;place-items:center;height:48px;border-radius:8px;color:#fff;font-weight:800}.safety-bird span:nth-child(1){width:38%;background:#b42318}.safety-bird span:nth-child(2){width:56%;background:#e66b34}.safety-bird span:nth-child(3){width:75%;background:#eda83a}.safety-bird span:nth-child(4){width:96%;background:#2d8f70}.safety-emergency-grid{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.safety-emergency-grid>div{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:14px;background:#fff;border-left:5px solid var(--cyan)}.safety-rex-list{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.safety-rex-list article{padding:22px;border:1px solid #d5e1e4;border-radius:14px;background:#fff}.safety-rex-list p{color:var(--muted)}.safety-slide-empty{max-width:700px;margin:70px auto;padding:30px;text-align:center;border:1px dashed #aabcc2;border-radius:16px;color:var(--muted)}.safety-credential-compare{max-width:850px;margin:0 auto;display:grid;gap:10px;list-style:none;padding:0}.safety-credential-compare li{display:flex;justify-content:space-between;gap:20px;padding:15px 18px;border-radius:11px;background:#fff;border-left:5px solid #cf554b}.safety-credential-compare li.ok{border-left-color:#2d8f70}.safety-credential-compare li span{color:var(--muted)}.safety-slide-rule{max-width:850px;margin:24px auto 0;padding:14px;border-radius:10px;background:#fff1ef;color:#8e261f;text-align:center;font-weight:700}
.safety-field-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;margin:18px 0;padding:20px;border:1px solid #e5b968;border-left:5px solid #e5a52d;border-radius:14px;background:#fff9ec}.safety-field-panel.validated{border-color:#75bc98;border-left-color:#21835b;background:#effaf4}.safety-field-panel h3{margin:0 0 5px}.safety-field-panel p{margin:0;color:var(--muted)}.safety-field-panel>small{grid-column:1/-1;color:var(--muted)}.safety-field-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.safety-field-actions select{min-height:38px;padding:7px;border:1px solid var(--border);border-radius:9px;background:#fff}
@media(max-width:1000px){.safety-simple-flow,.safety-credential-grid,.safety-document-grid,.safety-slide-columns,.safety-rex-list{grid-template-columns:1fr}.safety-principles{grid-template-columns:repeat(2,1fr)}.safety-emergency-grid{grid-template-columns:1fr 1fr}.safety-field-panel{grid-template-columns:1fr}.safety-field-actions{justify-content:flex-start}}
@media(max-width:680px){.safety-stepper.safety-stepper-simple,.safety-principles,.safety-emergency-grid{grid-template-columns:1fr}.safety-document-grid article{grid-template-columns:1fr}.safety-presentation-screen{min-height:600px}.safety-presentation-screen>main{padding:28px 18px}.safety-presentation-screen>main>h2{font-size:26px}.safety-presentation-screen>footer{grid-template-columns:1fr 1fr}.safety-slide-dots{display:none}}

/* Accueil sécurité 2.8 : états explicites et justificatifs multiples */
.safety-credential-card.absent{border-color:#aeb8bd;background:#f2f4f5}.safety-credential-card.absent .safety-tristate button.active{background:#68757c;border-color:#68757c;color:#fff}.safety-file-count{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;background:#eef2f3;color:#68757c;font-size:11px;font-weight:700}.safety-file-count.saved{background:#e1f4eb;color:#176345}.safety-document-actions{display:flex!important;align-items:center;flex-direction:row!important;gap:8px;flex-wrap:wrap}.safety-ppe-card{grid-template-columns:minmax(0,1fr) auto!important}.safety-ppe-comment{grid-column:1/-1;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px}.safety-ppe-comment textarea{width:100%;min-height:76px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;resize:vertical;background:#fff;color:var(--ink);font:inherit}
/* Accueil sécurité 2.8.1 — présentation issue du support Lenoir Services */
.safety-principles-detailed li{align-items:flex-start;min-height:92px}.safety-principles-detailed li>div{display:flex;flex-direction:column;gap:5px}.safety-principles-detailed small{color:var(--muted);font-weight:500;line-height:1.35}.safety-mase-intro{max-width:1040px;margin:0 auto 24px;display:flex;align-items:center;gap:18px;padding:22px;border-radius:16px;background:linear-gradient(135deg,#102b3a,#176b72);color:#fff}.safety-mase-intro>strong{display:grid;place-items:center;min-width:96px;height:72px;border-radius:14px;background:#0e9ca5;font-size:25px}.safety-mase-intro>div{display:flex;flex-direction:column;gap:5px}.safety-mase-intro span{color:#d7f2f3}.safety-action-grid{max-width:1040px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.safety-action-grid>div{display:flex;flex-direction:column;gap:10px;padding:17px;border:1px solid #d4e0e3;border-radius:14px;background:#fff}.safety-action-grid b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e2f5f6;color:#087c85}.safety-action-grid span{font-size:13px;line-height:1.4}.safety-event-stages{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.safety-event-stages article{display:flex;flex-direction:column;gap:9px;padding:14px;border:1px solid #d4e0e3;border-radius:15px;background:#fff}.safety-event-stages img,.safety-stage-icon{width:100%;height:160px;object-fit:cover;border-radius:11px;background:#edf3f5}.safety-stage-icon{display:grid;place-items:center;font-size:62px}.safety-event-stages small{color:var(--muted);line-height:1.35}.safety-stage-tag{align-self:flex-start;padding:5px 9px;border-radius:99px;font-size:11px;font-weight:800}.safety-stage-tag.warning{background:#fff2cc;color:#7a5900}.safety-stage-tag.near{background:#e7f0f8;color:#20547d}.safety-stage-tag.danger{background:#fde7e4;color:#9b2c24}.safety-slide-callout{max-width:700px;margin:20px auto 0;padding:13px;border-radius:10px;background:#fff1ef;color:#8e261f;text-align:center;font-size:18px;font-weight:800}.safety-bird-layout{max-width:1040px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:32px}.safety-bird span{height:auto;min-height:58px;display:flex;gap:8px}.safety-bird span b{font-size:20px}.safety-bird-message{padding:28px;border-radius:16px;background:#fff}.safety-bird-message p{color:var(--muted);line-height:1.55}.safety-bird-message strong{display:block;margin-top:20px;padding:14px;border-left:5px solid #e66b34;background:#fff6eb}.safety-booklet-slide{max-width:1050px;margin:auto;display:grid;grid-template-columns:330px 1fr;gap:32px;align-items:center}.safety-booklet-slide>img{width:100%;max-height:410px;object-fit:contain;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(17,45,58,.16)}.safety-booklet-slide>div{padding:26px;border-radius:16px;background:#fff}.safety-booklet-slide ol{display:grid;gap:12px;padding:0;list-style:none}.safety-booklet-slide li{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:11px;background:#f0f7f8}.safety-booklet-slide li span{color:var(--muted)}.safety-document-reminder{margin:18px 0 0;padding:12px;border-radius:10px;background:#e9f7f3;color:#176345;font-weight:700}.safety-rights ol{padding-left:20px;line-height:1.7}.safety-rights strong{display:block;margin-top:18px;color:#176345}.safety-rex-numbers article>strong{font-size:34px;color:#0e9ca5}.safety-rex-numbers h3{margin:6px 0}.safety-rex-numbers article>b{display:block;margin-top:15px;color:#176345;line-height:1.45}.safety-authorization-grid{max-width:1040px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.safety-authorization-grid>div{display:flex;flex-direction:column;gap:7px;padding:16px;border-top:5px solid #0e9ca5;border-radius:12px;background:#fff}.safety-authorization-grid span{color:var(--muted);font-size:12px;line-height:1.4}.safety-five-bans{max-width:1040px;margin:20px auto 0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.safety-five-bans>b{grid-column:1/-1;color:#8e261f}.safety-five-bans span{padding:10px;border-radius:9px;background:#fff1ef;color:#8e261f;font-size:11px;font-weight:700;line-height:1.35}
@media(max-width:1000px){.safety-action-grid,.safety-authorization-grid{grid-template-columns:repeat(2,1fr)}.safety-event-stages{grid-template-columns:1fr}.safety-bird-layout,.safety-booklet-slide{grid-template-columns:1fr}.safety-event-stages img,.safety-stage-icon{height:220px}.safety-five-bans{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.safety-action-grid,.safety-authorization-grid,.safety-five-bans{grid-template-columns:1fr}.safety-five-bans>b{grid-column:1}.safety-mase-intro{align-items:flex-start;flex-direction:column}.safety-booklet-slide{gap:16px}}
/* Accueil sécurité 2.9 — parcours BTP, fiche terrain et QCM */
.safety-booklet-attestation{border-left:5px solid #e5a52d}.safety-booklet-attestation.validated{border-left-color:#21835b;background:#f4fbf7}.safety-attestation-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:15px;border:1px solid var(--border);border-radius:12px;background:#fbfcfd}.safety-attestation-row>div{display:flex;flex-direction:column;gap:4px}.safety-attestation-row small{color:var(--muted)}
.safety-signature-card .card-head small{color:var(--muted)}.safety-signature-pad{margin-top:12px}.safety-signature-pad canvas{margin-bottom:5px}.safety-signature-pad>small{display:block;color:var(--muted)}.safety-signature-saved{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px;border:1px solid #8bc7a9;border-radius:10px;background:#edf9f3;color:#176345;font-weight:700}.safety-signature-saved img{width:180px;height:62px;object-fit:contain;border-radius:7px;background:#fff;border:1px solid #d7e7df}
.safety-field-panel{display:block;margin:18px 0;padding:20px}.safety-field-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.safety-field-meta>div{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:10px;background:rgba(255,255,255,.75)}.safety-field-meta span{color:var(--muted);font-size:12px}.safety-field-checklist{display:grid;gap:7px;margin:16px 0}.safety-field-checklist article{display:grid;grid-template-columns:minmax(0,1fr) 72px 88px 88px;align-items:center;gap:8px;padding:11px;border:1px solid #e3d2ac;border-radius:10px;background:#fff}.safety-field-checklist article>div{display:flex;flex-direction:column;gap:3px}.safety-field-checklist small{color:var(--muted)}.safety-field-checklist article>span{padding:6px 5px;border-radius:7px;background:#f0f3f4;color:#536168;font-size:10px;text-align:center;font-weight:700}
.safety-qcm-panel{border-left:5px solid #0e9ca5}.safety-qcm-planning{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:16px 0}.safety-qcm-planning .field{min-width:220px}.safety-workflow-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:18px}.safety-workflow-timeline>div{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--border);border-radius:11px;background:#f5f7f8;color:var(--muted)}.safety-workflow-timeline b{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:#dce4e6;color:#647177}.safety-workflow-timeline .current{border-color:#0e9ca5;background:#eafafb;color:#087c85}.safety-workflow-timeline .current b{background:#0e9ca5;color:#fff}.safety-workflow-timeline .done{border-color:#76b899;background:#edf9f3;color:#176345}.safety-workflow-timeline .done b{background:#21835b;color:#fff}.safety-inline-warning{margin:12px 0 0!important;padding:10px 12px;border-radius:9px;background:#fff4df;color:#7a5900!important;font-weight:700}
@media(max-width:900px){.safety-field-meta,.safety-workflow-timeline{grid-template-columns:1fr 1fr}.safety-field-checklist article{grid-template-columns:1fr}.safety-attestation-row{grid-template-columns:1fr}.safety-signature-saved{align-items:flex-start;flex-direction:column}.safety-signature-saved img{width:100%}}
@media(max-width:560px){.safety-field-meta,.safety-workflow-timeline{grid-template-columns:1fr}}
/* Accueil sécurité 2.10 — justificatifs, présentation terrain et QCM interactif. */
.safety-mase-intro>img{width:150px;max-height:110px;object-fit:contain;padding:10px;border-radius:14px;background:#fff}.safety-event-images{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.safety-event-images img{width:100%;height:300px;object-fit:cover;border-radius:16px;background:#fff;box-shadow:0 10px 26px rgba(17,45,58,.14)}.safety-slide-question{max-width:760px;margin:24px auto 0;padding:16px;border-radius:12px;background:#102b3a;color:#fff;text-align:center;font-size:21px;font-weight:800}.safety-bird-image{width:100%;max-height:470px;object-fit:contain;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(17,45,58,.14)}
.safety-drop-zone{outline:2px dashed transparent;outline-offset:-7px;transition:outline-color .15s ease,background .15s ease}.safety-drop-zone.dragging{outline-color:#0e9ca5;background:#eafafa!important}.safety-drop-hint{grid-column:1/-1;color:#607178!important;font-size:10px}.safety-file-info{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.safety-file-list{display:flex;gap:5px;flex-wrap:wrap}.editable-file .source-chip{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editable-file .icon-btn.danger{color:#a82d26}
.safety-field-checklist.interactive article{grid-template-columns:minmax(0,1fr) minmax(330px,.8fr)}.safety-field-checklist.interactive article>div:first-child label{display:flex;align-items:center;gap:6px;margin-top:5px;color:var(--muted);font-size:11px}.safety-field-checklist.interactive input{width:74px;padding:5px 7px;border:1px solid var(--border);border-radius:7px}.safety-field-result{display:grid!important;grid-template-columns:repeat(3,1fr);gap:6px}.safety-field-result button{min-height:38px;padding:7px;border:1px solid #c8d1d5;border-radius:9px;background:#fff;color:#68757c;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.safety-field-result .success.active{border-color:#21835b;background:#21835b;color:#fff}.safety-field-result .failure.active{border-color:#c43c32;background:#c43c32;color:#fff}.safety-field-result .neutral.active{border-color:#68757c;background:#68757c;color:#fff}.safety-field-result button:disabled{cursor:not-allowed;opacity:.72}
.safety-qcm-live{border-top:5px solid #0e9ca5}.safety-qcm-progress{display:grid;grid-template-columns:auto minmax(160px,1fr);align-items:center;gap:16px;margin:15px 0 22px}.safety-qcm-progress>span{height:9px;overflow:hidden;border-radius:99px;background:#e2e9eb}.safety-qcm-progress i{display:block;height:100%;border-radius:inherit;background:#0e9ca5}.safety-qcm-questions{display:grid;gap:16px}.safety-qcm-questions article{padding:18px;border:1px solid var(--border);border-radius:14px;background:#fbfcfd}.safety-qcm-questions header{display:flex;align-items:center;gap:10px;color:#087c85}.safety-qcm-questions header span{color:var(--muted);font-size:12px}.safety-qcm-questions h3{margin:12px 0 14px;font-size:16px}.safety-qcm-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.safety-qcm-options button{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:10px;min-height:52px;padding:10px;border:1px solid #cbd6d9;border-radius:10px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.safety-qcm-options button>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf2f3;color:#526168}.safety-qcm-options button.selected{border-color:#0e9ca5;background:#eafafa;box-shadow:inset 0 0 0 1px #0e9ca5}.safety-qcm-options button.selected>b{background:#0e9ca5;color:#fff}.safety-qcm-result{margin-top:16px;padding:16px;border:1px solid #cbd6d9;border-radius:13px}.safety-qcm-result.passed{border-color:#75bc98;background:#effaf4}.safety-qcm-result.retry{border-color:#df8b84;background:#fff5f3}.safety-qcm-score{display:flex;align-items:center;gap:14px;margin-bottom:12px}.safety-qcm-score strong{font-size:28px}.safety-qcm-score span{font-weight:800}.safety-qcm-corrections{display:grid;gap:7px}.safety-qcm-corrections details{padding:10px 12px;border-radius:9px;background:#fff}.safety-qcm-corrections summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.safety-qcm-corrections p{color:var(--muted);line-height:1.45}.safety-qcm-corrections .explanation{padding:9px;border-left:4px solid #0e9ca5;background:#f2fafa}.safety-rex-note{font-weight:700;color:#8a5c00!important}
@media(max-width:900px){.safety-event-images{grid-template-columns:1fr}.safety-event-images img{height:250px}.safety-field-checklist.interactive article{grid-template-columns:1fr}.safety-qcm-options{grid-template-columns:1fr}}
@media(max-width:600px){.safety-field-result{grid-template-columns:1fr}.safety-qcm-progress{grid-template-columns:1fr}}
/* Accueil sécurité 2.10.1 — corrections de lisibilité et de pièces jointes. */
.safety-document-grid article{grid-template-columns:minmax(220px,1fr) auto;align-items:start}.safety-document-actions{grid-column:1/-1;width:100%;min-width:0;align-items:flex-start!important}.safety-file-info{min-width:0;max-width:100%;flex:1}.safety-file-list{min-width:0;max-width:100%}.editable-file{display:inline-flex;min-width:0;max-width:290px}.editable-file .source-chip{display:block;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.safety-event-images img,.safety-event-stages img{object-fit:contain!important;padding:6px}.safety-signature-card.safety-drop-zone,.safety-field-panel.safety-drop-zone,.safety-booklet-attestation.safety-drop-zone{outline-offset:-10px}.safety-signature-saved{flex-wrap:wrap}.safety-signature-saved .btn.danger{margin-left:auto}.safety-field-saved{display:flex;align-items:center;justify-content:space-between;gap:14px}.safety-field-saved>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}.safety-field-saved span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.safety-field-actions .safety-drop-hint{flex-basis:100%;text-align:right}.safety-field-checklist.interactive article{grid-template-columns:minmax(0,1fr) minmax(330px,.8fr)}
@media(max-width:900px){.safety-document-grid article{grid-template-columns:1fr}.safety-field-saved{align-items:flex-start;flex-direction:column}.safety-field-actions .safety-drop-hint{text-align:left}}

/* Accueil sécurité 2.11.0 — REX atelier et parcours bureau */
.safety-rex-workshop{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.safety-rex-workshop article{display:grid;grid-template-rows:auto auto 1fr 1fr;gap:10px;padding:18px;border:1px solid #d4e0e3;border-top:6px solid #0e9ca5;border-radius:15px;background:#fff;min-width:0}
.safety-rex-workshop article>strong{font-size:32px;line-height:1;color:#0e9ca5}.safety-rex-workshop h3{margin:0;color:#1b2c3a}.safety-rex-workshop article>div{padding:10px;border-radius:10px;background:#f4f8f9}.safety-rex-workshop article>div:last-child{background:#eaf6f2}.safety-rex-workshop article>div>b{display:block;margin-bottom:5px;color:#244250}.safety-rex-workshop ul{margin:0;padding-left:18px;color:var(--muted);font-size:12px;line-height:1.4}.safety-rex-workshop li+li{margin-top:3px}
.safety-office-rules{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.safety-office-rules article{display:flex;align-items:flex-start;gap:15px;padding:20px;border:1px solid #d4e0e3;border-radius:15px;background:#fff}.safety-office-rules article>span{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:#0e9ca5;color:#fff;font-weight:900}.safety-office-rules h3{margin:1px 0 7px;color:#1b2c3a}.safety-office-rules p{margin:0;color:var(--muted);line-height:1.5}.safety-office-rules strong{color:#087c85}
.safety-office-action{max-width:1000px;margin:18px auto 0;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding:15px 18px;border-radius:12px;background:linear-gradient(135deg,#102b3a,#176b72);color:#fff}.safety-office-action b{font-size:14px;letter-spacing:.03em}.safety-office-action span{color:#65d2d7;font-size:20px;font-weight:900}
@media(max-width:1000px){.safety-rex-workshop{grid-template-columns:1fr}.safety-rex-workshop article{grid-template-columns:100px 1fr;grid-template-rows:auto auto}.safety-rex-workshop article>div{min-width:0}.safety-office-rules{grid-template-columns:1fr}}
@media(max-width:680px){.safety-rex-workshop article{grid-template-columns:1fr;grid-template-rows:auto}.safety-office-action{align-items:flex-start;flex-direction:column}.safety-office-action span{display:none}}

/* Accueil sécurité 2.12.0 — profils POSE / ATELIER / BUREAU */
.safety-rex-workshop.compact article{grid-template-rows:auto auto auto 1fr}.safety-rex-workshop.compact article>p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.safety-rex-workshop.compact article>b{align-self:end;padding:11px;border-radius:10px;background:#eaf6f2;color:#176345;line-height:1.45}
.safety-workshop-checks{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.safety-workshop-checks article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start;padding:18px;border:1px solid #d4e0e3;border-radius:14px;background:#fff}.safety-workshop-checks article>b{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#0e9ca5;color:#fff;font-size:19px}.safety-workshop-checks h3{margin:1px 0 6px;color:#1b2c3a}.safety-workshop-checks p{margin:0;color:var(--muted);line-height:1.5}.safety-field-checklist>.empty{display:flex;align-items:flex-start;flex-direction:column;gap:6px;padding:16px;border:1px dashed #bdc9cd;border-radius:11px;background:#fff;color:var(--muted)}.safety-field-checklist>.empty b{color:var(--ink)}
@media(max-width:800px){.safety-workshop-checks{grid-template-columns:1fr}}

/* Native progress values and SVG geometry also work with the web Content Security Policy. */
.progress-meter{display:block;width:100%;appearance:none;border:0;padding:0;border-radius:8px;overflow:hidden;background:#e5e9eb;color:var(--accent)}
.progress-meter::-webkit-progress-bar{background:#e5e9eb;border-radius:8px}
.progress-meter::-webkit-progress-value{background:var(--accent);border-radius:8px}
.progress-meter::-moz-progress-bar{background:var(--accent);border-radius:8px}
.progress-meter.warning::-webkit-progress-value{background:#d18b32}.progress-meter.warning::-moz-progress-bar{background:#d18b32}
.progress-meter.danger::-webkit-progress-value{background:#c94b42}.progress-meter.danger::-moz-progress-bar{background:#c94b42}
.awareness-annual-chart svg{display:block;width:100%;height:auto;min-height:220px;font-size:14px;fill:var(--muted)}
.audit-photo-tools{display:grid;gap:8px;min-width:0;margin:8px 0}.audit-photo-tools .actions-row{justify-content:flex-start;flex-wrap:wrap}
.audit-photo-dropzone{padding:13px;text-align:center;border:1px dashed #a9c8cd;border-radius:8px;background:#f7fbfb;color:var(--muted);font-size:12px}
.audit-photo-tools.drag-over .audit-photo-dropzone{border-color:var(--accent);background:#e4f7f7}
.equipment-line-extra>.audit-photo-tools{grid-column:1/-1;flex-basis:100%}


/* Value-scaled SVG bars work with the webapp restrictive style-src policy. */
.sse-value-bar{display:block;width:100%;height:8px;overflow:hidden;border-radius:4px}

/* Workshop questionnaires and the observation-first SSE visit share audit UI. */
.source-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.source-model-card{display:flex;flex-direction:column;align-items:flex-start;padding:22px;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:14px;background:#fff;min-height:245px}
.source-model-card h3{font-size:21px;margin:12px 0 8px;line-height:1.25}
.source-model-card p{color:var(--muted);line-height:1.65;margin:0 0 20px}
.source-model-card>div{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:auto}
.source-model-card>div small{color:var(--muted)}
.source-model-count{padding:6px 10px;border-radius:8px;background:#e7f6f6;color:#087b83;font-size:17px;font-weight:800}
.source-model-count small{font-size:12px;font-weight:600}
.source-free-intro,.source-free-quick{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f1fbfa;border:1px solid #a9dddb}
.source-free-intro{padding:26px}.source-free-intro h2{font-size:25px;margin:9px 0}
.source-free-intro p{max-width:760px;line-height:1.65}.source-free-intro .btn,.source-free-quick .btn{flex-shrink:0;padding:14px 20px;min-height:48px}
.source-model-filter{padding:10px 14px;max-width:300px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink)}
.source-form-model{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#edf8f7;border:1px solid #c4e6e2;border-radius:9px;padding:13px 16px;margin:12px 0 18px}
.source-form-model span{color:#347879;font-size:12px}
.source-optional-controls details{border:1px solid var(--line);border-radius:10px;margin:9px 0;overflow:hidden}
.source-optional-controls summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;background:#f5f9fa;font-weight:700;cursor:pointer}
.source-optional-controls summary small{font-weight:400;color:var(--muted)}
.source-control-picker{display:grid;gap:8px;padding:12px}.source-control-picker label{display:flex;align-items:flex-start;gap:11px;padding:12px;border:1px solid var(--line);border-radius:8px;line-height:1.5;cursor:pointer}
.source-control-picker input{margin-top:4px;flex-shrink:0}.source-control-picker label:has(input:checked){border-color:#16a6ae;background:#eaf8f8}
.source-audit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 24px}
.source-audit-summary>div{display:flex;flex-direction:column;gap:7px;border:1px solid var(--line);border-radius:10px;background:#f5f9fa;padding:15px}.source-audit-summary span{font-size:12px;color:var(--muted)}.source-audit-summary b{font-size:25px;color:#167c80}
.source-observation-card{border:1px solid var(--line);border-radius:11px;padding:17px;margin:12px 0;background:#fff;overflow-wrap:anywhere}
.source-observation-card h3{margin:12px 0 8px}.source-observation-card p{line-height:1.6}.source-observation-action{background:#eef7f3;border-radius:7px;padding:10px 12px;color:#206a52}
.source-detail-identification{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.source-detail-identification>div{display:flex;flex-direction:column;gap:5px;padding:12px 0}.source-detail-identification span{font-size:12px;color:var(--muted)}
@media(max-width:1200px){.source-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-free-intro,.source-free-quick{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.source-model-grid,.source-detail-identification{grid-template-columns:1fr}.source-audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.source-model-card{min-height:220px}.source-form-model{align-items:flex-start;flex-direction:column}.source-model-filter{width:100%;max-width:none}}
