:root{
  --bg:#f4f7fb;
  --surface:#ffffff;
  --surface-2:#f9fbfd;
  --text:#16273a;
  --heading:#102a43;
  --muted:#61758a;
  --placeholder:#8a9aae;
  --line:#dfe8f2;
  --shadow:0 16px 42px rgba(21,43,69,.08);
  --shadow-soft:0 8px 24px rgba(18,38,63,.06);
  --radius:22px;
  --radius-sm:14px;
  --navy:var(--brand-primary, #0b2745);
  --blue:var(--brand-accent, #1473e6);
  --green:#18a965;
  --orange:#ef9b1f;
  --red:#e45f73;
  --violet:#7a5af8;
  --gradient:linear-gradient(135deg, color-mix(in srgb, var(--navy) 92%, white 8%), color-mix(in srgb, var(--blue) 90%, white 10%));
  --font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font)}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
img{max-width:100%;display:block}
body{min-height:100vh;color:var(--text)}
h1,h2,h3,h4,h5,h6,strong,b{color:inherit}
p,span,small,td,th{color:inherit}


.app-shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:100vh}
.sidebar{background:linear-gradient(180deg, color-mix(in srgb, var(--navy) 96%, black 4%), color-mix(in srgb, var(--navy) 88%, var(--blue) 12%));color:#fff;padding:28px 22px 22px;display:flex;flex-direction:column;justify-content:space-between;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.brand-icon{width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.14);display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.brand-icon img{width:100%;height:100%;object-fit:contain;padding:8px}
.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:15px;letter-spacing:.02em}.brand-copy small{font-size:11px;color:rgba(255,255,255,.72);margin-top:4px}
.nav-group-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.52);margin:18px 8px 10px}
.navlist{display:flex;flex-direction:column;gap:8px}
.navitem{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:16px;color:rgba(255,255,255,.82);transition:.2s ease;font-weight:600}
.navitem i{font-style:normal;width:24px;text-align:center;font-size:16px}
.navitem:hover,.navitem.active{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.09)}
.sidebar-foot{padding:18px 16px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.foot-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.12);font-size:11px;margin-bottom:12px}.sidebar-foot strong{display:block}.sidebar-foot small{display:block;margin-top:5px;color:rgba(255,255,255,.72)}
.workspace{min-width:0}
.desktop-head{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:24px 34px 18px;background:linear-gradient(180deg, rgba(244,247,251,.96), rgba(244,247,251,.88), rgba(244,247,251,.4));backdrop-filter:blur(12px)}
.page-overline{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.page-inline-title{font-size:24px;font-weight:800;color:var(--heading)}
.desktop-head-right{display:flex;align-items:center;gap:12px}
.userbox{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),color-mix(in srgb, var(--blue) 55%, white 45%));color:#fff;font-weight:800;box-shadow:0 10px 20px rgba(20,115,230,.18)}
.avatar.large{width:50px;height:50px;border-radius:16px}
.usertext{display:flex;flex-direction:column}.usertext strong{font-size:14px}.usertext small{font-size:11px;color:var(--muted);margin-top:2px}
.theme-toggle,.logout-btn,.mobile-icon-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}
.theme-toggle{width:42px;height:42px;border-radius:14px;font-size:18px;display:grid;place-items:center;box-shadow:var(--shadow-soft)}
.logout-btn{padding:11px 16px;border-radius:14px;font-weight:700;box-shadow:var(--shadow-soft)}
.main{padding:0 34px 40px}
.mobile-head,.bottomnav{display:none}
.flash{padding:14px 16px;border-radius:16px;background:#ebf3ff;border:1px solid #d8e7ff;color:#22598d;margin-bottom:18px;box-shadow:var(--shadow-soft)}
.flash.error{background:#fff0f0;border-color:#ffd7d7;color:#b2485a}.flash.ok{background:#edf9f1;border-color:#c9ebd7;color:#1c7e4e}

.hero-panel{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:28px 30px;border-radius:28px;margin-bottom:24px}
.hero-panel.compact{align-items:center;padding:22px 24px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#eaf2ff;color:#235d95;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.hero-panel h1{margin:0;font-size:34px;line-height:1.05;color:var(--heading)}
.hero-panel p{margin:10px 0 0;color:var(--muted);max-width:760px;line-height:1.5}
.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-chip{padding:10px 14px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);font-weight:700;color:var(--heading)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:16px;border:1px solid transparent;font-weight:800;cursor:pointer;transition:.18s ease;box-shadow:var(--shadow-soft)}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--gradient);color:#fff}.btn.green{background:linear-gradient(135deg, #15a25f, #27c27b);color:#fff}.btn.warning{background:#fff4e8;color:#a86100;border-color:#f4cf96}.btn.ghost{background:var(--surface);border-color:var(--line);color:var(--text)}.btn.full{width:100%}

.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-bottom:24px}
.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:18px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow-soft)}
.metric-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;color:#fff;font-size:22px;font-style:normal}
.metric-card strong{display:block;font-size:28px;color:var(--heading)}.metric-card small{display:block;margin-top:5px;color:var(--muted);line-height:1.3}.metric-card.navy .metric-icon{background:linear-gradient(135deg,#203e63,#3d5d87)}.metric-card.blue .metric-icon{background:linear-gradient(135deg,#1271e3,#4aa4ff)}.metric-card.green .metric-icon{background:linear-gradient(135deg,#13a35e,#33cf84)}.metric-card.orange .metric-icon{background:linear-gradient(135deg,#e28b15,#f7b64b)}.metric-card.red .metric-icon{background:linear-gradient(135deg,#d8556d,#f48093)}.metric-card.violet .metric-icon{background:linear-gradient(135deg,#6b50e6,#9985ff)}

.panel-grid{display:grid;grid-template-columns:2.1fr 1fr;gap:20px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow-soft)}.panel-large{grid-row:span 2}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:18px}.panel-kicker,.section-kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800;display:block;margin-bottom:6px}.panel h2,.section-head h3{margin:0;font-size:22px;color:var(--heading)}.panel-head a{font-size:13px;color:var(--blue);font-weight:700}
.table-shell{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 0 14px}.data-table td{padding:15px 0;border-top:1px solid var(--line);font-size:14px}.data-table tr{cursor:pointer;transition:.15s ease}.data-table tr:hover{background:color-mix(in srgb, var(--surface-2) 85%, white 15%)}.table-cat{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:10px;background:#edf4ff;color:var(--blue);margin-right:10px}
.status{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.status.terminée,.status.terminee{background:#e5f7ed;color:#188050}.status.en-cours{background:#fff4e4;color:#99600a}.status.a-traiter{background:#ffe7ea;color:#b45062}.status.a-transmettre{background:#eef0ff;color:#5b53ba}.status.affectée,.status.affectee{background:#e8f0ff;color:#245daf}.status.a-valider{background:#efe8ff;color:#6b45ca}
.duty-card{display:grid;gap:12px}.duty-line{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}.duty-line span{color:var(--muted)}.live-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#e9f8ef;color:#188053;font-weight:800;width:max-content}
.category-stack{display:grid;gap:14px}.cat-progress-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.progress-track{height:12px;border-radius:999px;background:#edf2f8;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:inherit;background:var(--gradient)}
.badge-count{display:inline-grid;place-items:center;min-width:34px;height:34px;border-radius:12px;background:#eef3fb;color:var(--heading);font-weight:800}.action-list{display:grid;gap:12px}.action-row{display:grid;grid-template-columns:44px 1fr auto;gap:12px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2)}.action-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:#edf4ff;color:var(--blue);font-weight:800}.action-copy strong,.action-copy small{display:block}.action-copy strong{font-size:14px}.action-copy small{font-size:12px;color:var(--muted);margin-top:5px}.action-arrow{font-size:28px;color:var(--muted);line-height:1}
.empty-panel{padding:18px;border-radius:18px;background:var(--surface-2);border:1px dashed var(--line);color:var(--muted)}.empty-panel.success{background:#edf9f1;color:#1b814e;border-style:solid;border-color:#cfead9}

.list-summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;margin-bottom:18px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.list-summary strong{font-size:24px;margin-right:6px}.list-summary span{color:var(--muted)}.intervention-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.intervention-card{display:grid;grid-template-columns:64px 1fr auto;gap:16px;padding:20px;border-radius:24px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:.18s ease}.intervention-card:hover{transform:translateY(-2px)}.intervention-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#edf4ff,#e7fbf2);color:var(--blue);font-size:28px;font-weight:900}.intervention-top,.intervention-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.intervention-number{font-size:12px;color:var(--muted);font-weight:800;letter-spacing:.05em}.intervention-card h3{margin:8px 0 6px;font-size:20px}.intervention-place{margin:0;color:var(--heading);font-weight:700}.intervention-desc{margin:10px 0 14px;color:var(--muted);line-height:1.5}.intervention-meta{font-size:12px;color:var(--muted)}.intervention-arrow{font-size:32px;color:#8aa0b6;align-self:center}

.creation-shell,.detail-shell{max-width:1180px;margin:0 auto}.formhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.formhead a,.formhead span{width:42px;height:42px;border-radius:14px;border:1px solid var(--line);display:grid;place-items:center;background:var(--surface);box-shadow:var(--shadow-soft)}.formhead h2{margin:0;font-size:28px;color:var(--heading)}
.step-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.step-bar span{padding:10px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:12px;font-weight:800;color:var(--muted)}.step-bar .active{background:#e9f2ff;color:#25578e;border-color:#d8e7ff}
.premium-form,.detail-main-card,.detail-side>*{background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-soft)}
.premium-form{padding:24px}.compact-form{padding:0;background:transparent;border:0;box-shadow:none}
.form-section + .form-section{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.section-head{margin-bottom:14px}.section-head h3{font-size:22px}
label{display:block;font-size:13px;font-weight:700;color:var(--heading)} label small{font-weight:500}
input,select,textarea{width:100%;margin-top:8px;border-radius:16px;border:1px solid var(--line);background:var(--surface-2);padding:14px 15px;color:var(--text);outline:none;transition:.15s ease}
input::placeholder,textarea::placeholder{color:var(--placeholder);opacity:1}
select option{background:var(--surface);color:var(--text)}
input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb, var(--blue) 55%, white 45%);box-shadow:0 0 0 3px rgba(20,115,230,.12)}
textarea{min-height:124px;resize:vertical}
.form-grid-2,.form-grid-3,.admin-grid{display:grid;gap:16px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.premium-categories{grid-template-columns:repeat(4,minmax(0,1fr))}.categories input{display:none}.categories span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:118px;padding:14px;border-radius:20px;border:1px solid var(--line);background:var(--surface-2);text-align:center;transition:.15s ease}.categories label:hover span{transform:translateY(-1px)}.categories input:checked + span{border-color:color-mix(in srgb, var(--blue) 45%, white 55%);background:#eef5ff;box-shadow:0 10px 24px rgba(20,115,230,.08)}.category-symbol{font-size:30px;color:var(--blue);line-height:1}.categories small{font-size:12px;color:var(--heading);font-weight:800}
.upload{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:86px;padding:18px;border-radius:18px;border:1px dashed color-mix(in srgb, var(--blue) 45%, white 55%);background:#f4f9ff;color:var(--blue);text-align:center;overflow:hidden}.upload-large{min-height:112px}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-count{font-size:12px;color:var(--muted);font-weight:700}
.sticky-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.desktop-inline-actions{justify-content:flex-start}

.detail-grid{display:grid;grid-template-columns:1.65fr .95fr;gap:20px}.detail-main-card{padding:22px}.detail-side{display:grid;gap:20px}.premium-hero{padding:0;border:0;box-shadow:none;background:none}.detailhero h3{display:flex;align-items:center;gap:10px;font-size:28px;margin:12px 0 8px;color:var(--heading)}.detail-hero-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.detail-cat-icon{width:42px;height:42px;border-radius:16px;background:#edf4ff;color:var(--blue);display:grid;place-items:center}.detailhero p{font-weight:700;margin:0 0 5px}.detailhero small{display:block;color:var(--muted)}.detailblock{margin-top:18px;padding:18px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line)}.detailblock b{display:block;margin-bottom:10px;color:var(--heading)}.detailblock p{margin:0 0 10px;line-height:1.6;color:var(--text)}.assigned-pill{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:9px 12px;border-radius:999px;background:#eaf4ff;color:#25578e;font-size:12px;font-weight:800}.photo-panel{margin-top:20px}.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.photos img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.success-banner{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:22px;margin-bottom:16px}.success-banner h2{margin:0 0 2px;font-size:18px}.success-banner small{color:#4a7a5f}
.workflow-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--shadow-soft);margin-bottom:20px}.wf{text-align:center;color:var(--muted);font-size:12px;font-weight:700}.wf i{font-style:normal;width:38px;height:38px;border-radius:14px;display:grid;place-items:center;margin:0 auto 10px;background:#edf2f8;color:#8192a4}.wf.done{color:var(--green)}.wf.done i{background:#e4f7ed;color:#158d54}
.terrain-report,.validation-card,.assignment-card,.timeline,.manager-note,.waiting-validation{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-soft)}.terrain-report form,.validation-card form{margin-top:14px}.report-summary{padding:16px;border-radius:18px;background:var(--surface-2);border:1px solid var(--line);margin-bottom:16px}.report-summary b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:10px}.report-summary p{margin:6px 0 0;color:var(--text)}.manager-note{border-left:5px solid var(--orange)}.manager-note p{margin-bottom:0}.waiting-validation{text-align:center}.waiting-validation i{display:grid;place-items:center;margin:0 auto 12px;width:56px;height:56px;border-radius:18px;background:#e4f7ed;color:#168b54;font-style:normal;font-size:28px}.waiting-validation h3{margin:0 0 8px}.timeline>div{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.timeline>div:last-child{border-bottom:0}.timeline i{font-style:normal;color:var(--green)}.timeline b,.timeline small{display:block}.timeline small{color:var(--muted);margin-top:3px}

.admin-grid{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr)}.permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.permission-card{padding:16px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line)}.permission-card h3{margin:0 0 12px;color:var(--heading)}.check{display:flex;align-items:center;gap:8px;padding:6px 0;color:var(--text);font-weight:600}.check-inline{padding-top:33px}.check input{width:auto;margin:0}
.user-list{display:grid;gap:16px}.user-card{padding:18px;border-radius:22px;background:var(--surface-2);border:1px solid var(--line)}.user-card-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.user-card-head strong,.user-card-head small{display:block}.user-card-head small{color:var(--muted);margin-top:3px}
.logo-preview{display:flex;align-items:center;gap:16px;padding:14px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line)}.logo-preview img{width:64px;height:64px;object-fit:contain}

.login-screen{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:radial-gradient(circle at top left, rgba(20,115,230,.08), transparent 30%), linear-gradient(135deg,#f4f7fb 0%,#eef4fb 100%)}.login-side{padding:60px clamp(30px,6vw,80px);display:flex;flex-direction:column;justify-content:center}.login-badge{display:inline-flex;width:max-content;padding:8px 13px;border-radius:999px;background:#e8f1ff;color:#255b92;font-size:12px;font-weight:800;margin-bottom:18px}.login-side h1{font-size:clamp(34px,4vw,56px);line-height:1.05;margin:0 0 18px;color:var(--heading);max-width:680px}.login-side p{font-size:18px;line-height:1.6;color:var(--muted);max-width:720px}.login-points{display:grid;gap:10px;margin-top:26px;font-weight:700;color:var(--heading)}
.login-card{margin:auto;max-width:460px;width:calc(100% - 40px);padding:34px;border-radius:32px;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 60px rgba(18,42,69,.12);backdrop-filter:blur(16px)}.loginmark{width:66px;height:66px;border-radius:22px;display:grid;place-items:center;background:var(--gradient);color:#fff;font-size:30px;margin-bottom:18px}.login-card h2{font-size:32px;margin:0;color:var(--heading)}.login-card p{margin:8px 0 20px;color:var(--muted)}.login-card small{display:block;margin-top:16px;color:var(--muted);line-height:1.5}

.authmain{padding:0}
.mobile-hidden-soft{display:block}

:root[data-theme='dark']{
  --bg:#08121c;
  --surface:#0f1c29;
  --surface-2:#132333;
  --text:#eaf1f7;
  --heading:#f5f8fb;
  --muted:#a8b8c8;
  --placeholder:#8195a8;
  --line:#26394a;
  --shadow:0 20px 42px rgba(0,0,0,.28);
  --shadow-soft:0 10px 24px rgba(0,0,0,.22);
}
:root[data-theme='dark'] .desktop-head{background:linear-gradient(180deg, rgba(8,18,28,.94), rgba(8,18,28,.78), rgba(8,18,28,.28))}
:root[data-theme='dark'] .eyebrow,:root[data-theme='dark'] .table-cat,:root[data-theme='dark'] .action-icon,:root[data-theme='dark'] .detail-cat-icon{background:#19324b;color:#8bc1ff}
:root[data-theme='dark'] .upload{background:#102233}
:root[data-theme='dark'] .mobile-head{background:linear-gradient(135deg, color-mix(in srgb, var(--navy) 94%, black 6%), color-mix(in srgb, var(--navy) 86%, var(--blue) 14%))}
:root[data-theme='dark'] .login-screen{background:radial-gradient(circle at top left, rgba(20,115,230,.13), transparent 32%),linear-gradient(135deg,#08121c 0%,#0d1b29 100%)}
:root[data-theme='dark'] .login-card{background:rgba(15,28,41,.94);border-color:#2a3d4f;box-shadow:0 30px 60px rgba(0,0,0,.34)}
:root[data-theme='dark'] .login-badge{background:#19324b;color:#9bc9ff}
:root[data-theme='dark'] .hero-chip,:root[data-theme='dark'] .step-bar span{background:var(--surface-2)}
:root[data-theme='dark'] .step-bar .active{background:#19324b;color:#a9d1ff;border-color:#31516e}
:root[data-theme='dark'] .categories input:checked + span{background:#17314a;border-color:#315a80;box-shadow:0 10px 24px rgba(0,0,0,.18)}
:root[data-theme='dark'] .assigned-pill{background:#19324b;color:#a9d1ff}
:root[data-theme='dark'] .status.terminee,:root[data-theme='dark'] .status.terminée{background:#153a2a;color:#8ce2b4}
:root[data-theme='dark'] .status.en-cours{background:#3e2d13;color:#ffd28a}
:root[data-theme='dark'] .status.a-traiter{background:#431f28;color:#ff9fb0}
:root[data-theme='dark'] .status.a-transmettre{background:#282750;color:#bcb8ff}
:root[data-theme='dark'] .status.affectee,:root[data-theme='dark'] .status.affectée{background:#183257;color:#9ec6ff}
:root[data-theme='dark'] .status.a-valider{background:#322450;color:#c7a8ff}
:root[data-theme='dark'] .live-badge{background:#153a2a;color:#8ce2b4}
:root[data-theme='dark'] .empty-panel.success{background:#153a2a;color:#8ce2b4;border-color:#24543d}
:root[data-theme='dark'] .btn.warning{background:#3e2d13;color:#ffd28a;border-color:#654a21}
:root[data-theme='dark'] input,:root[data-theme='dark'] select,:root[data-theme='dark'] textarea{color-scheme:dark}

@media (max-width: 1280px){
  .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .panel-grid{grid-template-columns:1fr}
  .panel-large{grid-row:auto}
  .intervention-grid{grid-template-columns:1fr}
  .detail-grid{grid-template-columns:1fr}
  .admin-grid{grid-template-columns:1fr}
}

@media (max-width: 860px){
  .app-shell{display:block}
  .sidebar,.desktop-head{display:none}
  .mobile-head{position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;padding:14px 14px 12px;background:linear-gradient(135deg, #11995b, #1ebf73);color:#fff;box-shadow:0 8px 24px rgba(10,87,52,.22)}
  .mobile-brand{display:flex;align-items:center;gap:11px}.mobile-brand b,.mobile-brand small{display:block}.mobile-brand b{font-size:13px;line-height:1.15}.mobile-brand small{font-size:10px;color:rgba(255,255,255,.82)}.mobile-logo{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.16);display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.18)}.mobile-logo img{width:100%;height:100%;object-fit:contain;padding:7px}.mobile-actions{display:flex;gap:8px}.mobile-icon-btn{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.14)!important;color:#fff;border-color:rgba(255,255,255,.18)!important}
  .main{padding:14px 14px 96px}
  .hero-panel,.hero-panel.compact{padding:18px;border-radius:24px;display:block}.hero-panel h1{font-size:24px}.hero-actions{margin-top:14px}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-card{padding:14px;border-radius:20px}.metric-icon{width:42px;height:42px;border-radius:14px;font-size:18px}.metric-card strong{font-size:24px}.metric-card small{font-size:11px}
  .panel,.premium-form,.detail-main-card,.detail-side>*{border-radius:22px;padding:18px}
  .formhead h2{font-size:20px;text-align:center;flex:1}.formhead a,.formhead span{width:38px;height:38px;border-radius:12px}
  .step-bar{gap:8px}.step-bar span{font-size:11px}
  .premium-categories,.categories{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid-2,.form-grid-3{grid-template-columns:1fr}
  .sticky-actions{position:sticky;bottom:76px;z-index:12;background:linear-gradient(180deg, rgba(244,247,251,0), var(--bg) 32%);padding-top:16px;flex-direction:column}
  .sticky-actions .btn{width:100%}
  .workflow-strip{padding:12px;gap:8px}.wf{font-size:10px}.wf i{width:30px;height:30px;border-radius:12px;margin-bottom:8px}
  .photos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .list-summary{padding:14px 16px}.list-summary strong{font-size:22px}
  .intervention-card{grid-template-columns:52px 1fr auto;padding:16px;border-radius:20px}.intervention-icon{width:52px;height:52px;border-radius:16px;font-size:24px}.intervention-card h3{font-size:17px}.intervention-desc{font-size:13px}
  .bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-around;height:78px;padding:8px 10px max(8px, env(safe-area-inset-bottom));background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-top:1px solid var(--line);box-shadow:0 -10px 28px rgba(14,34,58,.08)}
  :root[data-theme='dark'] .bottomnav{background:rgba(15,28,41,.96)}
  .bottom-item{display:flex;flex-direction:column;align-items:center;gap:4px;color:#7b8ca0;background:none;border:0;min-width:60px}.bottom-item i{font-style:normal;font-size:18px}.bottom-item span{font-size:10px;font-weight:700}.bottom-item.active{color:var(--blue)}
  .bottom-plus{width:54px;height:54px;border-radius:20px;display:grid;place-items:center;background:var(--gradient);color:#fff;font-size:30px;margin-top:-28px;box-shadow:0 14px 24px rgba(20,115,230,.3)}
  .mobile-hidden-soft{display:none}
  .login-screen{grid-template-columns:1fr;min-height:auto;padding:26px 14px}.login-side{padding:0 0 18px}.login-side h1{font-size:30px}.login-side p{font-size:15px}.login-card{width:100%;padding:24px;border-radius:26px}
}

/* V5.2 — Filtres desktop + liste mobile active/historique */
.mobile-interventions{display:none}
.filter-panel{padding:20px 22px;margin-bottom:18px;border-radius:24px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.filter-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.filter-head h2{margin:0;color:var(--heading,var(--text));font-size:21px}.reset-filters{font-size:12px;font-weight:800;color:var(--blue);padding:9px 12px;border-radius:12px;background:color-mix(in srgb,var(--blue) 8%,var(--surface) 92%)}
.filter-grid{display:grid;grid-template-columns:minmax(220px,1.8fr) repeat(3,minmax(145px,1fr));gap:12px;align-items:end}.filter-grid label{margin:0}.filter-submit{min-height:48px}
.mobile-view-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);margin-bottom:14px}.mobile-view-tabs a{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:14px;color:var(--muted);font-size:12px;font-weight:800}.mobile-view-tabs a b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:9px;background:var(--surface-2);font-size:11px}.mobile-view-tabs a.active{background:var(--gradient);color:#fff}.mobile-view-tabs a.active b{background:rgba(255,255,255,.18);color:#fff}
.mobile-section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:16px 2px 12px}.mobile-section-title h2{margin:0;color:var(--heading,var(--text));font-size:20px}.mobile-section-title small{font-size:10px;color:var(--muted);max-width:145px;text-align:right;line-height:1.35}
.mobile-intervention-list{display:grid;gap:10px}.mobile-work-card{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:14px;border-radius:19px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.mobile-work-card.archived{opacity:.92}.mobile-work-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#edf4ff,#e7fbf2);color:var(--blue);font-size:22px;font-weight:900}.mobile-work-copy{min-width:0}.mobile-work-copy>div{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.mobile-work-copy strong{font-size:14px;color:var(--heading,var(--text))}.mobile-work-copy .status{font-size:8px;padding:6px 8px}.mobile-work-copy p{margin:6px 0 5px;font-size:12px;font-weight:700;color:var(--heading,var(--text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-work-copy small{display:block;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-work-arrow{font-size:26px;color:var(--muted)}
.mobile-empty-state{padding:34px 20px;text-align:center;border-radius:22px;background:var(--surface);border:1px dashed var(--line);color:var(--muted)}.mobile-empty-state i{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;margin:0 auto 12px;background:#e6f7ed;color:var(--green);font-style:normal;font-size:24px}.mobile-empty-state strong,.mobile-empty-state span{display:block}.mobile-empty-state strong{color:var(--heading,var(--text));font-size:16px}.mobile-empty-state span{font-size:11px;margin-top:5px;line-height:1.45}
:root[data-theme='dark'] .mobile-work-icon{background:linear-gradient(135deg,#19324b,#16372d)}
@media(max-width:1180px){.filter-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}}
@media(max-width:860px){.desktop-interventions{display:none}.mobile-interventions{display:block}.hero-panel.compact{margin-bottom:12px}.hero-panel.compact .btn{display:none}}
