/* Cockpit d'exploitation technique · styles.
   Volontairement isolés sous .smr2 pour ne rien emprunter au thème admin. */

.smr2-wrap{margin:0 0 0 -20px;}
.smr2{
  --s1:#2a78d6; --s2:#eb6834; --s3:#1baf7a; --s4:#eda100; --s7:#4a3aa7;
  --good:#0ca30c; --warning:#fab219; --serious:#ec835a; --critical:#d03b3b;
  --surface:#ffffff; --page:#f5f6f4; --text:#0b0b0b; --text2:#55554f; --muted:#8a8a83;
  --border:rgba(11,11,11,.11); --grid:#e6e6e0;
  --shadow:0 1px 2px rgba(11,11,11,.05), 0 4px 16px rgba(11,11,11,.05);
  background:var(--page); color:var(--text); min-height:calc(100vh - 32px);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:13.5px; line-height:1.45;
}
@media (prefers-color-scheme:dark){
  .smr2[data-theme="auto"]{
    --surface:#1a1a19; --page:#111110; --text:#fff; --text2:#c9c8c0; --muted:#8a8a83;
    --border:rgba(255,255,255,.12); --grid:#2c2c2a;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 4px 16px rgba(0,0,0,.3);
  }
}
.smr2[data-theme="dark"]{
  --surface:#1a1a19; --page:#111110; --text:#fff; --text2:#c9c8c0; --muted:#8a8a83;
  --border:rgba(255,255,255,.12); --grid:#2c2c2a;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 4px 16px rgba(0,0,0,.3);
}
.smr2 *{box-sizing:border-box;}
.smr2 a{color:var(--s1); text-decoration:none;}
.smr2 a:hover{text-decoration:underline;}
.smr2-chargement{padding:60px; text-align:center; color:var(--muted);}

/* ---------- Structure ---------- */
.smr2-top{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:14px 22px; background:var(--surface); border-bottom:1px solid var(--border);
  position:sticky; top:32px; z-index:30;
}
.smr2-logo{font-size:16px; font-weight:800; letter-spacing:-.02em;}
.smr2-logo span{color:var(--s1);}
.smr2-perimetre{font-size:11.5px; color:var(--muted); padding:3px 9px;
  border:1px solid var(--border); border-radius:20px;}
.smr2-spacer{flex:1;}
.smr2-nav{display:flex; gap:2px; flex-wrap:wrap; padding:0 22px;
  background:var(--surface); border-bottom:1px solid var(--border);
  position:sticky; top:88px; z-index:29;}
.smr2-nav button{
  background:none; border:none; border-bottom:2px solid transparent; cursor:pointer;
  padding:10px 13px; font-size:12.5px; font-weight:600; color:var(--text2);
  font-family:inherit; border-radius:0;
}
.smr2-nav button:hover{color:var(--text);}
.smr2-nav button[aria-current="true"]{color:var(--s1); border-bottom-color:var(--s1);}
.smr2-vue{padding:20px 22px 60px; max-width:1500px;}

/* ---------- Éléments ---------- */
.smr2 .carte{background:var(--surface); border:1px solid var(--border); border-radius:14px;
  padding:16px 18px; margin-bottom:16px; box-shadow:var(--shadow);}
.smr2 .carte > h2{font-size:12px; text-transform:uppercase; letter-spacing:.05em;
  color:var(--text2); font-weight:700; margin:0 0 10px; display:flex; align-items:center; gap:8px;}
.smr2 .carte > h2 .sp{flex:1;}
.smr2 .desc{font-size:12px; color:var(--text2); margin:0 0 12px;}
.smr2 .grille{display:grid; gap:16px;}
.smr2 .g2{grid-template-columns:1fr 1fr;}
.smr2 .g3{grid-template-columns:repeat(3,1fr);}
@media (max-width:1100px){ .smr2 .g2,.smr2 .g3{grid-template-columns:1fr;} }

.smr2 .kpis{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px;}
.smr2 .kpi{background:var(--page); border:1px solid var(--border); border-radius:11px; padding:11px 13px;}
.smr2 .kpi .l{font-size:10.5px; text-transform:uppercase; letter-spacing:.04em;
  color:var(--muted); font-weight:700; margin-bottom:4px;}
.smr2 .kpi .v{font-size:24px; font-weight:800; line-height:1.05;}
.smr2 .kpi .d{font-size:11px; color:var(--text2); margin-top:3px;}
.smr2 .kpi.alerte .v{color:var(--critical);}
.smr2 .kpi.tiede .v{color:var(--warning);}

.smr2 button.b{font-family:inherit; font-size:12.5px; border-radius:8px; cursor:pointer;
  border:1px solid var(--border); background:var(--surface); color:var(--text); padding:6px 11px;}
.smr2 button.b:hover{border-color:var(--s1); color:var(--s1);}
.smr2 button.b.p{background:var(--s1); border-color:var(--s1); color:#fff; font-weight:600;}
.smr2 button.b.p:hover{color:#fff; filter:brightness(1.08);}
.smr2 button.b.d{border-color:var(--critical); color:var(--critical);}
.smr2 button.b.mini{font-size:11px; padding:3px 7px; border-radius:6px;}
.smr2 input,.smr2 select,.smr2 textarea{
  font-family:inherit; font-size:12.5px; padding:6px 9px; border-radius:8px;
  border:1px solid var(--border); background:var(--surface); color:var(--text); max-width:100%;}
.smr2 textarea{min-height:70px; width:100%;}
.smr2 label{display:block; font-size:11px; font-weight:600; color:var(--text2); margin-bottom:3px;}

.smr2 table{width:100%; border-collapse:collapse; font-size:12.5px;}
.smr2 th{text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:.04em;
  color:var(--muted); font-weight:700; padding:7px 8px; border-bottom:1px solid var(--border);}
.smr2 td{padding:8px; border-bottom:1px solid var(--grid); vertical-align:top;}
.smr2 tr.cliquable{cursor:pointer;}
.smr2 tr.cliquable:hover td{background:color-mix(in oklab, var(--s1) 7%, transparent);}
.smr2 .tablewrap{overflow-x:auto;}

.smr2 .pastille{display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:6px;}
.smr2 .badge{display:inline-block; font-size:10.5px; font-weight:700; padding:2px 7px;
  border-radius:20px; border:1px solid var(--border); white-space:nowrap;}
.smr2 .badge.critique{background:color-mix(in oklab,var(--critical) 14%,transparent); color:var(--critical); border-color:var(--critical);}
.smr2 .badge.importante{background:color-mix(in oklab,var(--serious) 16%,transparent); color:var(--serious); border-color:var(--serious);}
.smr2 .badge.normale{background:color-mix(in oklab,var(--warning) 16%,transparent); color:#8a6200; border-color:var(--warning);}
.smr2 .badge.faible,.smr2 .badge.ok{background:color-mix(in oklab,var(--good) 14%,transparent); color:var(--good); border-color:var(--good);}

.smr2 .prio{display:flex; gap:11px; padding:11px 13px; border:1px solid var(--border);
  border-left:3px solid var(--border); border-radius:11px; margin-bottom:8px; background:var(--page);}
.smr2 .prio.critique{border-left-color:var(--critical);}
.smr2 .prio.importante{border-left-color:var(--serious);}
.smr2 .prio.normale{border-left-color:var(--warning);}
.smr2 .prio .t{font-weight:700; font-size:13px;}
.smr2 .prio .x{font-size:11.5px; color:var(--text2); margin-top:2px;}
.smr2 .prio .ic{font-size:15px; line-height:1.2;}

.smr2 .vide{padding:26px; text-align:center; color:var(--muted); font-size:12.5px;}
.smr2 .err{background:color-mix(in oklab,var(--critical) 10%,var(--surface));
  border:1px solid var(--critical); color:var(--text); border-radius:10px; padding:11px 13px;
  font-size:12.5px; margin-bottom:12px;}
.smr2 .info{background:color-mix(in oklab,var(--s1) 8%,var(--surface));
  border:1px solid color-mix(in oklab,var(--s1) 35%,var(--border)); border-radius:10px;
  padding:11px 13px; font-size:12px; margin-bottom:12px;}
.smr2 .attention{background:color-mix(in oklab,var(--warning) 12%,var(--surface));
  border:1px solid color-mix(in oklab,var(--warning) 45%,var(--border)); border-radius:10px;
  padding:11px 13px; font-size:12px; margin-bottom:12px;}

.smr2 .barres{display:flex; flex-direction:column; gap:7px;}
.smr2 .barre{display:grid; grid-template-columns:150px 1fr 90px; gap:9px; align-items:center; font-size:12px;}
.smr2 .barre .piste{background:var(--grid); border-radius:5px; height:11px; overflow:hidden;}
.smr2 .barre .part{display:block; height:100%; background:var(--s1); border-radius:5px;}
.smr2 .barre .n{text-align:right; font-variant-numeric:tabular-nums; color:var(--text2);}

.smr2 .jauge{height:22px; background:var(--grid); border-radius:11px; overflow:hidden; display:flex;}
.smr2 .jauge i{display:block; height:100%;}
.smr2 .jauge .f{background:var(--s1);} .smr2 .jauge .e{background:var(--s7);}
.smr2 .jauge .p{background:var(--s4);}
.smr2 .legende{display:flex; gap:14px; flex-wrap:wrap; font-size:11.5px; color:var(--text2); margin-top:8px;}
.smr2 .legende i{display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:5px;}

/* ---------- Panneau latéral (formulaires) ---------- */
.smr2-modal{position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:100010; display:flex; justify-content:flex-end;}
.smr2-panneau{background:var(--surface); width:min(680px,100%); height:100%; overflow-y:auto;
  box-shadow:-8px 0 40px rgba(0,0,0,.2); padding:18px 22px 60px;}
.smr2-panneau h3{margin:0 0 4px; font-size:17px;}
.smr2-panneau .ferme{position:absolute; top:14px; right:20px;}
.smr2-form{display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-top:14px;}
.smr2-form .plein{grid-column:1/-1;}
.smr2-form input,.smr2-form select{width:100%;}
.smr2-actions{display:flex; gap:8px; margin-top:18px; flex-wrap:wrap;}
.smr2-coches{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:5px;
  border:1px solid var(--border); border-radius:9px; padding:9px; max-height:230px; overflow-y:auto;}
.smr2-coches label{display:flex; gap:7px; align-items:center; font-weight:500;
  font-size:12.5px; color:var(--text); margin:0;}

/* ---------- Barre de filtres ---------- */
.smr2-filtres{display:flex; gap:8px; flex-wrap:wrap; align-items:flex-end; margin-bottom:12px;}
.smr2-filtres > div{min-width:120px;}
.smr2-pagination{display:flex; gap:8px; align-items:center; justify-content:flex-end;
  margin-top:11px; font-size:12px; color:var(--text2);}

/* ---------- Carte ---------- */
.smr2 #carteParc{width:100%; height:auto; max-height:420px; display:block;}
.smr2 .carte-legende{display:flex; gap:14px; flex-wrap:wrap; font-size:11.5px; color:var(--text2);}

/* ---------- Matrice de conformité ---------- */
.smr2 .matrice td.c{text-align:center; font-size:15px; cursor:default;}
.smr2 .matrice th.rot{font-size:10px; white-space:nowrap;}

/* ================================================================
   Hors de l'administration : pas de barre WordPress à compenser,
   et il faut s'extraire de la colonne étroite des thèmes.
   ================================================================ */
.smr2-front{margin:0; padding:0;}
.smr2-front.smr-large{
  width:100vw; max-width:100vw;
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
}
.smr2-front .smr2{min-height:0; border-radius:0;}
/* Hors de l'administration, le thème a sa propre entête, parfois collante.
   Deux barres collantes qui se disputent le haut de l'écran se recouvrent :
   les nôtres défilent avec la page. */
.smr2-front .smr2-top,
.smr2-front .smr2-nav{position:static; top:auto;}
.smr2-front .smr2-vue{margin:0 auto;}
.smr2-vide-front{
  background:#fff; border:1px solid rgba(11,11,11,.1); border-radius:12px;
  padding:26px; text-align:center; color:#52514e;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:14px;
}
/* Le débord pleine largeur ne doit jamais créer de défilement horizontal. */
.smr2-front.smr-large{overflow-x:clip;}

/* ================================================================
   Un seul outil, un seul langage visuel.
   Les valeurs ci-dessous alignent le cockpit sur le tableau de
   supervision : mêmes rayons, mêmes titres, mêmes tuiles.
   ================================================================ */
.smr2 .carte{border-radius:16px; padding:18px 20px;
  transition:box-shadow .16s ease, border-color .16s ease;}
.smr2 .carte:hover{box-shadow:0 1px 2px rgba(11,11,11,.05), 0 6px 22px rgba(11,11,11,.07);}
.smr2 .carte > h2{font-size:13px; letter-spacing:.045em; margin-bottom:6px;}
.smr2 .kpi{border-radius:12px; padding:12px 14px;}
.smr2 .kpi .v{font-size:25px;}
.smr2 .prio{border-radius:12px;}
.smr2 button.b{border-radius:9px;}
.smr2 .badge{border-radius:20px;}
.smr2-nav button{border-radius:10px 10px 0 0; padding:10px 16px;}
.smr2-nav button[aria-current="true"]{background:color-mix(in oklab, var(--s1) 9%, transparent);}

/* Le tableau météo reçu en invité : on lui retire son propre chrome,
   puisque l'entête et le sélecteur de site sont déjà ceux du cockpit. */
.smr-app-hote{margin:0;}
.smr-app-hote .smr-app{background:transparent; padding:0;}
.smr-app-hote .wrap{max-width:none; margin:0; padding:0;}
.smr-app-hote .topbar h1,
.smr-app-hote .topbar .sub,
.smr-app-hote .hero,
.smr-app-hote #btnSettings,
.smr-app-hote #btnRefresh,
.smr-app-hote #siteHint{display:none;}
.smr-app-hote .topbar{padding-bottom:0; justify-content:flex-end;}

/* ---------- Dépôt de fichiers ---------- */
.smr2 .depot{margin-top:12px;}
.smr2 .depot-cible{
  display:flex; align-items:center; gap:14px; cursor:pointer;
  border:2px dashed color-mix(in oklab, var(--s1) 40%, var(--border));
  border-radius:14px; padding:20px 22px; background:var(--page);
  transition:border-color .15s ease, background .15s ease;
}
.smr2 .depot-cible:hover,
.smr2 .depot-cible.survol{border-color:var(--s1); background:color-mix(in oklab, var(--s1) 8%, var(--page));}
.smr2 .depot-ic{font-size:26px; line-height:1;}
.smr2 .depot-t{font-weight:700; font-size:14px;}
.smr2 .depot-x{font-size:11.5px; color:var(--text2); margin-top:2px;}
.smr2 .depot + input[type=file]{display:none;}

/* ================================================================
   V2.1.2 · fiches visuelles Sites / Prestataires + photos
   ================================================================ */
.smr2-card-filters{display:flex;gap:9px;flex-wrap:wrap;align-items:flex-end;margin:14px 0 16px;padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--page)}
.smr2-card-filters>div{min-width:150px;flex:0 1 220px}.smr2-card-filters label{display:block;margin-bottom:5px}.smr2-card-filters input,.smr2-card-filters select{width:100%}
.smr2-entity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.smr2-entity-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface);cursor:pointer;box-shadow:0 5px 18px rgba(15,23,42,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;outline:none}
.smr2-entity-card:hover,.smr2-entity-card:focus-visible{transform:translateY(-2px);border-color:color-mix(in oklab,var(--s1) 34%,var(--border));box-shadow:0 12px 28px rgba(15,23,42,.09)}
.smr2-entity-card.is-expanded{grid-column:1/-1;cursor:default;transform:none;box-shadow:0 14px 36px rgba(15,23,42,.09)}
.smr2-entity-photo{height:175px;background-position:center;background-size:cover;background-color:var(--page);position:relative}
.smr2-entity-photo:after{content:"";position:absolute;inset:auto 0 0;height:55%;background:linear-gradient(transparent,rgba(15,23,42,.28));pointer-events:none}
.smr2-entity-photo-empty{position:absolute;inset:0;display:grid;place-items:center;font-size:44px;background:linear-gradient(135deg,color-mix(in oklab,var(--s1) 12%,var(--page)),var(--page));filter:saturate(.75)}
.smr2-entity-card-body{padding:15px 16px 16px}
.smr2-entity-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.smr2-entity-card-head h3{margin:0;color:var(--text);font-size:16px;line-height:1.2;letter-spacing:-.02em}.smr2-entity-card-head p{margin:4px 0 0;color:var(--text2);font-size:11.5px}
.smr2-entity-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.smr2-entity-meta span{padding:5px 8px;border-radius:999px;background:var(--page);border:1px solid var(--border);color:var(--text2);font-size:10px;font-weight:650}
.smr2-entity-more{margin-top:13px;color:var(--s1);font-size:10.5px;font-weight:750}.smr2-entity-details{display:none;margin-top:15px;padding-top:15px;border-top:1px solid var(--grid)}.smr2-entity-card.is-expanded .smr2-entity-details{display:block}.smr2-entity-card.is-expanded .smr2-entity-photo{height:250px}
.smr2-entity-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.smr2-entity-detail{min-width:0;padding:10px 11px;border:1px solid var(--border);border-radius:10px;background:color-mix(in oklab,var(--page) 74%,var(--surface))}.smr2-entity-detail.wide{grid-column:1/-1}.smr2-entity-detail span{display:block;color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.045em}.smr2-entity-detail strong{display:block;margin-top:4px;color:var(--text);font-size:11.5px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.smr2-entity-detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}

.smr2-photo-picker{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:14px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--page)}
.smr2-photo-preview{height:130px;border-radius:10px;overflow:hidden;background:var(--surface);border:1px solid var(--border);position:relative}.smr2-photo-preview img{width:100%;height:100%;object-fit:cover}.smr2-photo-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:11px}
.smr2-photo-picker-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.smr2-photo-state{width:100%;margin-top:3px;color:var(--text2);font-size:10.5px;line-height:1.4}
@media(max-width:760px){.smr2-entity-grid{grid-template-columns:1fr}.smr2-entity-card.is-expanded{grid-column:auto}.smr2-entity-detail-grid{grid-template-columns:1fr 1fr}.smr2-photo-picker{grid-template-columns:1fr}.smr2-photo-preview{height:180px}}
@media(max-width:520px){.smr2-entity-detail-grid{grid-template-columns:1fr}.smr2-entity-detail.wide{grid-column:auto}}

/* ================================================================
   V2.2 · parc autonome, météo compacte, siège et permissions
   ================================================================ */
.smr2 .grille.g1{grid-template-columns:1fr}
.smr2-map-card{overflow:hidden}
.smr2-map-zone{display:grid;place-items:center;min-height:310px}
.smr2-map-zone svg{display:block;width:min(100%,520px);height:310px;margin:auto}
.smr2 .attention.compact{padding:9px 11px;margin:8px 0;font-size:10.5px}
.smr2-hq-strip{margin:14px -4px -2px;padding:14px 16px;border-radius:13px;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;background:#111c2d;background-position:center;background-size:cover;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:transform .15s ease}
.smr2-hq-strip:hover{transform:translateY(-1px)}
.smr2-hq-title{display:flex;align-items:center;gap:10px;min-width:150px}.smr2-hq-title small,.smr2-hq-kpis small{display:block;font-size:8.5px;letter-spacing:.09em;text-transform:uppercase;opacity:.66}.smr2-hq-title strong{display:block;margin-top:2px;font-size:13px}.smr2-hq-star{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.13);font-size:15px}
.smr2-hq-kpis{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:18px;flex:1}.smr2-hq-kpis strong{display:block;margin-top:3px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smr2-budget-incident{margin-top:12px;padding:9px 11px;border:1px solid color-mix(in oklab,var(--warning) 35%,var(--border));border-radius:10px;background:color-mix(in oklab,var(--warning) 7%,var(--surface));font-size:11px;font-weight:650}

.smr2-weather-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px;margin-top:14px}
.smr2-weather-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:13px 14px;min-width:0}
.smr2-weather-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.smr2-weather-head strong{display:block;font-size:13px}.smr2-weather-head small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.smr2-weather-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.smr2-weather-day{min-width:0;text-align:center;padding:7px 3px;border-radius:9px;background:var(--page);border:1px solid var(--grid)}.smr2-weather-day>span{display:block;color:var(--muted);font-size:9px;text-transform:capitalize}.smr2-weather-day>b{display:block;font-size:18px;margin:4px 0}.smr2-weather-day>strong{display:block;font-size:12px}.smr2-weather-day>small{display:block;color:var(--text2);font-size:8.5px;margin-top:2px;white-space:nowrap}

.smr2-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px;margin:7px 0 12px}.smr2-module-grid label{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--page);cursor:pointer}.smr2-module-grid label:has(input:checked){border-color:color-mix(in oklab,var(--s1) 45%,var(--border));background:color-mix(in oklab,var(--s1) 7%,var(--page))}.smr2-module-grid input{width:auto}.smr2-module-grid span{min-width:0}.smr2-module-grid strong{display:block;font-size:10.5px}.smr2-module-grid small{display:block;color:var(--muted);font-size:8.5px;margin-top:1px}
.smr2-entity-detail-grid>div:not(.smr2-entity-detail){padding:10px 11px;border:1px solid var(--border);border-radius:10px;background:var(--page)}.smr2-entity-detail-grid>div:not(.smr2-entity-detail)>span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.smr2-entity-detail-grid>div:not(.smr2-entity-detail)>strong{display:block;margin-top:4px;font-size:11px}

@media(max-width:900px){.smr2-hq-strip{display:block}.smr2-hq-kpis{margin-top:12px;grid-template-columns:repeat(2,1fr)}.smr2-weather-grid{grid-template-columns:1fr}}
@media(max-width:620px){.smr2-weather-days{grid-template-columns:repeat(4,1fr)}.smr2-map-zone svg{height:270px}.smr2-hq-kpis{grid-template-columns:1fr 1fr}}
.smr2-compact-chart{width:100%;height:190px;overflow:hidden}.smr2-compact-chart svg{display:block;width:100%;height:190px}
.smr2-ecowatt .smr2-eco-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:10px 0 12px}.smr2-eco-main strong{font-size:18px}.smr2-eco-main p{margin:4px 0 0;color:var(--text2);font-size:11px}.smr2-eco-main>small{color:var(--muted);font-size:9px;text-align:right;max-width:170px}
.smr2-eco-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:7px}.smr2-eco-days>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:1px solid var(--grid);background:var(--page);border-radius:9px}.smr2-eco-days span{font-size:9.5px;color:var(--text2)}
.smr2-budget-operation{box-shadow:none!important;background:var(--page)!important}
@media(max-width:700px){.smr2-compact-chart,.smr2-compact-chart svg{height:160px}.smr2-ecowatt .smr2-eco-main{display:block}.smr2-eco-main>small{display:block;text-align:left;margin-top:8px;max-width:none}}


/* ================================================================
   V2.1.5 · Météo & risques intégré au cockpit
   L'ancien module conserve ses calculs, mais plus son chrome ni ses dimensions
   historiques. Le Parc technique est désormais son seul référentiel de sites.
   ================================================================ */
.smr2 .smr-app-hote .smr-app{
  --surface-1:var(--surface);
  --text-primary:var(--text);
  --text-secondary:var(--text2);
  --baseline:var(--grid);
  background:transparent;color:var(--text);font-size:13px;
}
.smr2 .smr-app-hote .topbar,
.smr2 .smr-app-hote #siteBar,
.smr2 .smr-app-hote footer{display:none!important;}
.smr2 .smr-app-hote .tabs{
  display:inline-flex;gap:5px;margin:0 0 14px;padding:4px;
  border:1px solid var(--border);border-radius:11px;background:var(--surface);
}
.smr2 .smr-app-hote .tab{
  border:0!important;border-radius:8px!important;padding:7px 12px!important;
  font-size:12px!important;color:var(--text2);background:transparent;
}
.smr2 .smr-app-hote .tab[aria-selected="true"]{
  color:#fff!important;background:var(--s1)!important;box-shadow:0 3px 10px color-mix(in oklab,var(--s1) 22%,transparent);
}
.smr2 .smr-app-hote .card{
  border-radius:16px;border:1px solid var(--border);background:var(--surface);
  padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow);
}
.smr2 .smr-app-hote .card h2{
  font-size:12.5px;margin-bottom:5px;color:var(--text);letter-spacing:-.005em;
}
.smr2 .smr-app-hote .card .desc{font-size:11.5px;color:var(--text2);margin-bottom:11px;line-height:1.45;}
.smr2 .smr-app-hote .grid2,
.smr2 .smr-app-hote .grid2b{gap:14px;}
.smr2 .smr-app-hote .tiles{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;}
.smr2 .smr-app-hote .tile{border-radius:11px;padding:10px 12px;background:var(--page);border-color:var(--border);}
.smr2 .smr-app-hote .tile .label{font-size:10.5px;}
.smr2 .smr-app-hote .tile .value{font-size:21px;}
.smr2 .smr-app-hote .settingsrow{
  gap:8px 14px;padding:9px 11px;border-radius:10px;background:var(--page);border:1px solid var(--border);
}
.smr2 .smr-app-hote .settingsrow input[type=number]{width:62px;padding:4px 6px;}
.smr2 .smr-app-hote table{font-size:11.5px;}
.smr2 .smr-app-hote th{font-size:10px;background:var(--surface);}
.smr2 .smr-app-hote th,.smr2 .smr-app-hote td{padding:6px 7px;}
.smr2 .smr-app-hote .tablescroll{max-height:330px;}
.smr2 .smr-app-hote .alert,.smr2 .smr-app-hote .win{border-radius:10px;padding:8px 10px;}
.smr2 .smr-app-hote .legend{font-size:10.5px;gap:10px;margin-top:6px;}
.smr2 .smr-app-hote .banner{border-radius:12px;margin-bottom:12px;}

/* Les SVG V1 avaient été pensés pour un tableau plein écran 1320 px. Dans le
   cockpit actuel, on borne leur hauteur pour qu'ils restent lisibles sans
   occuper une page entière. Le viewBox conserve leurs proportions internes. */
.smr2 .smr-app-hote .chart-wrap{overflow:hidden;min-height:0;}
.smr2 .smr-app-hote #tempChart{width:100%!important;height:230px!important;display:block;}
.smr2 .smr-app-hote #hourlyChart{width:100%!important;height:270px!important;display:block;}
.smr2 .smr-app-hote #histChart{width:100%!important;height:205px!important;display:block;}
.smr2 .smr-app-hote #djuChart{width:100%!important;height:205px!important;display:block;}
.smr2 .smr-app-hote #consoChart{width:100%!important;height:205px!important;display:block;}
.smr2 .smr-app-hote #mixChart{width:100%!important;height:220px!important;display:block;}
.smr2 .smr-app-hote #co2Chart{width:100%!important;height:190px!important;display:block;}
.smr2 .smr-app-hote #franceMap{width:100%!important;height:250px!important;max-height:250px!important;display:block;}

@media(max-width:760px){
  .smr2 .smr-app-hote .tabs{display:flex;width:100%;}
  .smr2 .smr-app-hote .tab{flex:1;}
  .smr2 .smr-app-hote #tempChart,
  .smr2 .smr-app-hote #hourlyChart{height:210px!important;}
  .smr2 .smr-app-hote #franceMap{height:220px!important;}
}


/* ================================================================
   V2.2.2 · Pièces jointes visibles + carte Siège enrichie
   ================================================================ */
.smr2-pj-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:34px;height:30px;padding:0 8px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);cursor:pointer;box-shadow:0 2px 6px rgba(15,23,42,.04);transition:.15s ease}
.smr2-pj-button:hover{transform:translateY(-1px);border-color:var(--s1);box-shadow:0 5px 14px rgba(15,23,42,.08)}
.smr2-pj-icon{font-size:16px;line-height:1}.smr2-pj-count{display:grid;place-items:center;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--s1);color:#fff;font-size:8px;font-weight:800}
.smr2-pj-empty{color:var(--muted)}
.smr2-pj-list{display:grid;gap:9px;margin-top:12px}.smr2-pj-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--page)}
.smr2-pj-card-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:color-mix(in oklab,var(--s1) 9%,var(--surface));font-size:18px}.smr2-pj-card-copy{min-width:0}.smr2-pj-card-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.smr2-pj-card-copy small{display:block;margin-top:3px;color:var(--muted);font-size:9.5px}.smr2-pj-card-actions{display:flex;gap:6px;align-items:center}.smr2-pj-card-actions a{text-decoration:none}
.smr2-doc-inline-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.smr2-doc-inline-actions a{text-decoration:none}

.smr2-newdoc-expense{margin-top:14px;padding:14px;border:1px solid color-mix(in oklab,var(--s1) 25%,var(--border));border-radius:14px;background:color-mix(in oklab,var(--s1) 3%,var(--surface))}
.smr2-newdoc-expense[hidden],.smr2-newdoc-generic[hidden]{display:none!important}.smr2-newdoc-expense-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.smr2-newdoc-expense-head>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:color-mix(in oklab,var(--s1) 10%,var(--surface));font-size:17px}.smr2-newdoc-expense-head strong{display:block;font-size:12px}.smr2-newdoc-expense-head small{display:block;margin-top:2px;color:var(--muted);font-size:9.5px}

.smr2-hq-card{margin-top:14px;display:grid;grid-template-columns:165px minmax(0,1fr) 185px;min-height:168px;border:1px solid var(--border);border-radius:15px;overflow:hidden;background:var(--surface);box-shadow:0 5px 18px rgba(15,23,42,.06)}
.smr2-hq-media{position:relative;min-height:168px;background:linear-gradient(145deg,#172235,#25344c);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center}.smr2-hq-badge{position:absolute;left:10px;top:10px;padding:5px 7px;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;font-size:8px;font-weight:850;letter-spacing:.07em;backdrop-filter:blur(5px)}.smr2-hq-placeholder{font-size:38px;filter:saturate(.8)}
.smr2-hq-copy{min-width:0;padding:14px 15px;display:flex;flex-direction:column}.smr2-hq-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.smr2-hq-heading h3{margin:0;font-size:15px;line-height:1.15}.smr2-hq-heading p{margin:4px 0 0;color:var(--text2);font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:330px}
.smr2-hq-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 12px;margin-top:14px}.smr2-hq-facts>div{min-width:0}.smr2-hq-facts small{display:block;color:var(--muted);font-size:7.5px;text-transform:uppercase;letter-spacing:.055em;font-weight:800}.smr2-hq-facts strong{display:block;margin-top:3px;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smr2-hq-actions{margin-top:auto;padding-top:10px}.smr2-hq-actions .b{font-size:9px}
.smr2-hq-weather{border-left:1px solid var(--border);padding:14px 13px;background:color-mix(in oklab,var(--page) 72%,var(--surface));display:flex;flex-direction:column;justify-content:center}.smr2-hq-weather-main{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--grid)}.smr2-hq-weather-main>span{font-size:29px}.smr2-hq-weather-main small{display:block;color:var(--muted);font-size:7.5px;text-transform:uppercase;font-weight:800}.smr2-hq-weather-main strong{display:block;margin-top:2px;font-size:21px;letter-spacing:-.04em}.smr2-hq-weather-main em{display:block;margin-top:1px;color:var(--text2);font-size:8px;font-style:normal}.smr2-hq-weather-grid{display:grid;gap:7px;margin-top:9px}.smr2-hq-weather-grid>div{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:5px}.smr2-hq-weather-grid span{font-size:11px}.smr2-hq-weather-grid small{font-size:8px;color:var(--text2)}.smr2-hq-weather-grid b{font-size:9px;color:var(--text)}
@media(max-width:1100px){.smr2-hq-card{grid-template-columns:135px minmax(0,1fr)}.smr2-hq-weather{grid-column:1/-1;border-left:0;border-top:1px solid var(--border);display:grid;grid-template-columns:180px 1fr;gap:12px}.smr2-hq-weather-main{border:0;padding:0}.smr2-hq-weather-grid{grid-template-columns:repeat(3,1fr);margin:0}}
@media(max-width:700px){.smr2-hq-card{grid-template-columns:1fr}.smr2-hq-media{min-height:150px}.smr2-hq-weather{grid-column:auto;display:block}.smr2-hq-weather-grid{grid-template-columns:1fr}.smr2-hq-facts{grid-template-columns:repeat(2,1fr)}.smr2-pj-card{grid-template-columns:36px 1fr}.smr2-pj-card-actions{grid-column:1/-1;justify-content:flex-end}}


/* ================================================================
   V2.4.3 · carte unifiée + fiche site technique rééquilibrée
   ================================================================ */
.smr2-tech-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.smr2-tech-hero{display:grid;grid-template-columns:minmax(460px,1.42fr) minmax(340px,.9fr) minmax(300px,.88fr);gap:14px;align-items:stretch}
.smr2-tech-hero>.carte,.smr2-tech-side-stack>.carte{margin:0;height:100%}
.smr2-tech-side-stack{display:grid;grid-template-rows:auto 1fr;gap:14px;min-width:0}
.smr2-map-card{display:flex;flex-direction:column;min-height:430px}
.smr2-map-card .smr2-map-zone{flex:1;min-height:310px;display:grid;place-items:center}
.smr2-map-card .smr2-map-zone svg{width:min(100%,520px);height:auto;max-height:360px;aspect-ratio:320/330;margin:auto;display:block}
.smr2-map-card .carte-legende{margin-top:auto;padding-top:8px}
.smr2-tech-site-card{display:grid;grid-template-rows:auto auto auto auto auto auto;align-content:start;gap:12px;min-width:0}
.smr2-tech-site-photo{width:100%;height:164px;border-radius:12px;object-fit:cover;background:linear-gradient(135deg,var(--page),#e8eef7);display:block}
.smr2-tech-site-photo.placeholder{display:grid;place-items:center;font-size:44px}
.smr2-tech-site-title{display:grid;gap:2px}.smr2-tech-site-title strong{font-size:17px}.smr2-tech-site-title span{font-size:10.5px;color:var(--muted)}
.smr2-tech-site-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.smr2-tech-site-facts>div{display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;column-gap:7px;padding:8px;border-radius:10px;background:var(--page);min-width:0}
.smr2-tech-site-facts>div>span{grid-row:1/3;display:grid;place-items:center;font-size:17px}.smr2-tech-site-facts small{font-size:9px;color:var(--muted);text-transform:uppercase}.smr2-tech-site-facts b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smr2-tech-site-weather{display:flex;align-items:flex-start;gap:10px;padding:10px 11px;border:1px solid color-mix(in oklab,var(--s1) 16%,var(--border));background:linear-gradient(135deg,color-mix(in oklab,var(--s1) 8%,var(--surface)),var(--surface));border-radius:11px}
.smr2-tech-site-weather .emoji{flex:0 0 auto;font-size:30px}.smr2-tech-site-weather>div{display:grid;gap:2px;min-width:0}.smr2-tech-site-weather small{font-size:9px;color:var(--muted);text-transform:uppercase}.smr2-tech-site-weather strong{font-size:21px;line-height:1.05}.smr2-tech-site-weather span:last-child{font-size:9.5px;line-height:1.35;color:var(--muted);word-break:break-word}
.smr2-tech-chart-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:14px}.smr2-tech-chart-grid>.carte{margin:0;min-width:0}
.smr2-tech-bottom-grid{display:grid;grid-template-columns:1.22fr 1.05fr .88fr .85fr;gap:14px;align-items:stretch}.smr2-tech-bottom-grid>.carte{margin:0;min-width:0;height:100%}
@media(max-width:1500px){.smr2-tech-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.smr2-tech-hero{grid-template-columns:minmax(430px,1.35fr) minmax(320px,.9fr)}.smr2-tech-side-stack{grid-column:1/-1;grid-template-columns:1fr 1.25fr;grid-template-rows:auto}.smr2-tech-bottom-grid,.smr2-tech-chart-grid{grid-template-columns:1fr 1fr}.smr2-tech-chart-grid>.carte:first-child{grid-column:1/-1}}
@media(max-width:1050px){.smr2-tech-hero,.smr2-tech-chart-grid,.smr2-tech-bottom-grid{grid-template-columns:1fr}.smr2-tech-side-stack{grid-column:auto;grid-template-columns:1fr}.smr2-tech-chart-grid>.carte:first-child{grid-column:auto}.smr2-map-card{min-height:390px}}
@media(max-width:720px){.smr2-tech-kpi-grid{grid-template-columns:1fr 1fr}.smr2-tech-site-facts{grid-template-columns:1fr}.smr2-map-card .smr2-map-zone{min-height:260px}}


/* ================================================================
   V2.4.4 · analyse documentaire → actions métier automatiques
   ================================================================ */
.smr2-auto-create{display:flex!important;align-items:flex-start;gap:9px;margin:10px 0 12px!important;padding:10px 12px;border:1px solid color-mix(in oklab,var(--s1) 22%,var(--border));border-radius:11px;background:color-mix(in oklab,var(--s1) 4%,var(--surface));cursor:pointer}
.smr2-auto-create input{margin-top:2px;min-height:0!important;width:16px;height:16px;accent-color:var(--s1)}
.smr2-auto-create>span{display:grid;gap:2px}.smr2-auto-create strong{font-size:10.5px;color:var(--text)}.smr2-auto-create small{font-size:9.5px;line-height:1.4;color:var(--text2)}
.smr2-auto-result{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.smr2-auto-result strong{margin-right:auto}


/* V2.4.5 · carte média partagée entre profils */
.smr2-profile-site-card{display:flex;flex-direction:column;gap:12px;overflow:hidden}
.smr2-profile-site-photo{display:block;width:100%;height:190px;object-fit:cover;object-position:center;border-radius:12px;border:1px solid var(--border);background:linear-gradient(135deg,var(--page),#e7edf6)}
.smr2-profile-site-photo.placeholder{display:grid;place-items:center;font-size:48px}
@media(max-width:760px){.smr2-profile-site-photo{height:165px}}

/* ================================================================
   V2.5.2 · Indice des conditions d'intervention /100
   ================================================================ */
.smr2-weather-conditions{overflow:hidden}
.smr2-weather-score-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(296px,1fr));gap:11px;margin-top:12px}
.smr2-weather-score{appearance:none;position:relative;overflow:hidden;border:1px solid var(--border);
  border-radius:14px;background:var(--surface);color:var(--text);padding:13px 14px;
  display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;
  text-align:left;cursor:pointer;transition:.16s ease;min-width:0;
  box-shadow:0 1px 2px rgba(15,23,42,.03)}
.smr2-weather-score::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 120% at 100% 0,rgba(var(--tv-accent-rgb,37,99,235),.05),transparent 55%);opacity:0;transition:opacity .16s}
.smr2-weather-score:hover{transform:translateY(-2px);border-color:color-mix(in oklab,var(--s1) 30%,var(--border));
  box-shadow:0 12px 28px rgba(15,23,42,.08)}
.smr2-weather-score:hover::after{opacity:1}
.smr2-weather-score:focus-visible{outline:2px solid var(--s1);outline-offset:2px}
.smr2-weather-score-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:var(--page);color:var(--text2);border:1px solid var(--border)}
.smr2-weather-score-icon svg{display:block}
.smr2-weather-score-copy{display:grid;gap:4px;min-width:0}
.smr2-weather-score-copy strong{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smr2-weather-score-copy small{font-size:9.5px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smr2-weather-puces{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.smr2-weather-puces .puce{display:inline-flex;align-items:center;gap:4px;max-width:100%;
  padding:2px 7px 2px 5px;border-radius:20px;border:1px solid var(--border);background:var(--page);
  font-size:8.5px;font-weight:650;color:var(--text2);white-space:nowrap}
.smr2-weather-puces .puce i{display:grid;place-items:center;line-height:0}
.smr2-weather-puces .puce i svg{width:11px;height:11px}
.smr2-weather-puces .puce b{font-weight:650;overflow:hidden;text-overflow:ellipsis}
.smr2-weather-puces .puce.rain{color:#1d63c4;border-color:rgba(29,99,196,.3);background:rgba(29,99,196,.07)}
.smr2-weather-puces .puce.wind{color:#0f766e;border-color:rgba(15,118,110,.3);background:rgba(15,118,110,.07)}
.smr2-weather-puces .puce.heat{color:#c2410c;border-color:rgba(194,65,12,.3);background:rgba(194,65,12,.07)}
.smr2-weather-puces .puce.frost{color:#2563eb;border-color:rgba(37,99,235,.3);background:rgba(37,99,235,.07)}
.smr2-weather-puces .puce.storm{color:#7c3aed;border-color:rgba(124,58,237,.3);background:rgba(124,58,237,.07)}
.smr2-weather-puces .puce.snow{color:#0369a1;border-color:rgba(3,105,161,.3);background:rgba(3,105,161,.07)}
.smr2-weather-puces .puce.calme{color:var(--good);border-color:color-mix(in oklab,var(--good) 32%,var(--border));
  background:color-mix(in oklab,var(--good) 8%,transparent)}
.smr2-weather-score-value{display:grid;justify-items:end;line-height:1}

/* Cadran de note. Le chiffre se pose dans l'ouverture de l'arc : la couleur
   dit le niveau, la part remplie dit le score, sans légende à lire. */
.smr2-cadran{position:relative;display:inline-block;line-height:0;flex:none}
.smr2-cadran svg{display:block}
/* Le chiffre reste au gabarit du texte de la carte : il se lit d'un coup
   d'œil sans écraser le nom du site, qui est l'information principale. */
.smr2-cadran .v{position:absolute;left:0;right:0;bottom:0;text-align:center;line-height:1;
  font-size:15px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.smr2-cadran .v i{font-style:normal;font-size:7.5px;font-weight:600;color:var(--muted);letter-spacing:0}
.smr2-cadran.grand .v{font-size:23px;bottom:-1px}
.smr2-cadran.grand .v i{font-size:10px}
.smr2-note{display:inline-flex;flex-direction:column;align-items:center;gap:2px;flex:none}
.smr2-note .lib{font-size:9.5px;font-weight:700;text-align:center;max-width:110px;line-height:1.25}

/* La teinte de l'icône suit le niveau du site : l'œil trie avant de lire. */
.smr2-weather-score.faible .smr2-weather-score-icon{color:var(--good);
  background:color-mix(in oklab,var(--good) 10%,transparent);border-color:color-mix(in oklab,var(--good) 30%,var(--border))}
.smr2-weather-score.normale .smr2-weather-score-icon{color:var(--warning);
  background:color-mix(in oklab,var(--warning) 12%,transparent);border-color:color-mix(in oklab,var(--warning) 32%,var(--border))}
.smr2-weather-score.importante .smr2-weather-score-icon{color:var(--serious);
  background:color-mix(in oklab,var(--serious) 12%,transparent);border-color:color-mix(in oklab,var(--serious) 32%,var(--border))}
.smr2-weather-score.critique .smr2-weather-score-icon{color:var(--critical);
  background:color-mix(in oklab,var(--critical) 12%,transparent);border-color:color-mix(in oklab,var(--critical) 32%,var(--border))}

.smr2-weather-score.faible{border-left:3px solid var(--good)}.smr2-weather-score.normale{border-left:3px solid var(--warning)}.smr2-weather-score.importante{border-left:3px solid var(--serious)}.smr2-weather-score.critique{border-left:3px solid var(--critical)}
.smr2-weather-conflicts{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.smr2-weather-conflicts h3{margin:0 0 8px;font-size:10.5px}
/* La grille se règle seule sur la largeur disponible : une carte ne descend
   jamais sous 296 px, sinon le nom du site se coupe. */
@media(max-width:580px){.smr2-weather-score-grid{grid-template-columns:1fr}}

/* ================================================================
   V2.6 · Astreintes communes + imports engagements
   ================================================================ */
.smr2-oncall-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:14px}
.smr2-oncall-kpis .kpi{min-height:92px}
.smr2-oncall-analytics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
.smr2-oncall-analytics>.carte{margin:0;min-width:0}
.smr2-import-card{overflow:hidden}.smr2-import-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.smr2-import-mapping{margin:14px 0;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--page)}
.smr2-import-mapping h3{margin:0 0 4px;font-size:12px}.smr2-map-row{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(240px,1.3fr);align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--grid)}.smr2-map-row:last-child{border-bottom:0}.smr2-map-row strong{font-size:11px}.smr2-import-preview{margin-top:14px!important}.smr2-import-preview .tablewrap{max-height:460px;overflow:auto}
@media(max-width:1450px){.smr2-oncall-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.smr2-oncall-kpis,.smr2-import-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.smr2-oncall-analytics{grid-template-columns:1fr}.smr2-map-row{grid-template-columns:1fr}}
@media(max-width:650px){.smr2-oncall-kpis,.smr2-import-kpis{grid-template-columns:1fr}}

/* ===================================================== Projets & planning
   Un planning se lit d'abord par sa géométrie : une barre par lot, posée sur
   une même échelle de temps, et un trait pour aujourd'hui. */
.smr2-gantt{margin-top:10px;display:grid;gap:5px}
.smr2-gantt-entete{display:flex;align-items:center;font-size:9.5px;color:var(--muted);
  padding:0 0 4px calc(34% + 10px);border-bottom:1px solid var(--border);margin-bottom:4px}
.smr2-gantt-entete .sp{flex:1}
.smr2-gantt-ligne{display:grid;grid-template-columns:34% minmax(0,1fr) 68px;gap:10px;align-items:center}
.smr2-gantt-ligne .nom{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smr2-gantt-ligne .fin{font-size:10px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.smr2-gantt .couloir{position:relative;height:20px;border-radius:7px;background:var(--page);
  border:1px solid var(--border);overflow:hidden}
.smr2-gantt .couloir .jour{position:absolute;top:0;bottom:0;width:1px;background:var(--s1);opacity:.45}
.smr2-gantt .barre{display:block;position:absolute;top:3px;bottom:3px;min-width:6px;border-radius:5px;
  background:color-mix(in oklab,var(--s1) 26%,var(--surface));border:1px solid color-mix(in oklab,var(--s1) 48%,var(--border));
  overflow:hidden}
.smr2-gantt .barre .part{display:block;height:100%;background:var(--s1);opacity:.55}
.smr2-gantt .barre.fait{background:color-mix(in oklab,var(--good) 22%,var(--surface));border-color:var(--good)}
.smr2-gantt .barre.fait .part{background:var(--good)}
.smr2-gantt .barre.retard{background:color-mix(in oklab,var(--critical) 18%,var(--surface));border-color:var(--critical)}
.smr2-gantt .barre.retard .part{background:var(--critical)}
.smr2-gantt .barre.bloque{background:repeating-linear-gradient(45deg,var(--page),var(--page) 4px,color-mix(in oklab,var(--warning) 30%,var(--surface)) 4px,color-mix(in oklab,var(--warning) 30%,var(--surface)) 8px);border-color:var(--warning)}
.smr2-gantt .barre.jalon{top:2px;bottom:2px;width:14px!important;min-width:14px;border-radius:3px;
  transform:rotate(45deg);background:var(--s1);border-color:var(--s1)}
.smr2-gantt-alerte{grid-column:1/-1;font-size:10px;color:var(--warning);padding:3px 0 5px calc(34% + 10px)}
.smr2-avancement{display:inline-flex;align-items:center;gap:7px;min-width:96px}
.smr2-avancement i{display:block;height:6px;flex:1;border-radius:4px;background:var(--s1);opacity:.75;min-width:2px}
.smr2-avancement b{font-size:10px;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}
@media(max-width:700px){
  .smr2-gantt-ligne{grid-template-columns:42% minmax(0,1fr);}
  .smr2-gantt-ligne .fin{display:none}
  .smr2-gantt-entete,.smr2-gantt-alerte{padding-left:calc(42% + 10px)}
}
