:root{
  --tv-accent:#2563eb;
  --tv-accent-rgb:37,99,235;
  --tv-sidebar:#101722;
  --tv-sidebar-2:#151f2d;
  --tv-page:#f4f7fb;
  --tv-card:#fff;
  --tv-text:#0f172a;
  --tv-muted:#64748b;
  --tv-line:#e5eaf1;
  --tv-good:#16a34a;
  --tv-warning:#f59e0b;
  --tv-danger:#ef4444;
  --tv-sidebar-w:236px;
  --tv-top-h:82px;
  --tv-radius:14px;
  --tv-shadow:0 8px 30px rgba(15,23,42,.055);
}

*{box-sizing:border-box}
html{background:var(--tv-page)}
body.techview-site{margin:0;background:var(--tv-page);color:var(--tv-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;overflow-x:hidden}
body.techview-dashboard-page{min-height:100vh}
body.techview-dashboard-page #wpadminbar{display:none!important}
body.techview-dashboard-page{margin-top:0!important}
a{color:inherit}

/* ========== Shell du cockpit ========== */
.techview-app{min-height:100vh;background:var(--tv-page)}
.techview-app .smr2-wrap,
.techview-app .smr2-front,
.techview-app .smr2-front.smr-large{margin:0!important;width:100%!important;max-width:none!important;overflow:visible!important}
.techview-app .smr2{
  --s1:var(--tv-accent);
  --surface:#fff;
  --page:#f4f7fb;
  --text:#0f172a;
  --text2:#64748b;
  --muted:#8b98aa;
  --border:#e5eaf1;
  --grid:#eef2f6;
  --shadow:var(--tv-shadow);
  min-height:100vh!important;background:var(--tv-page)!important;color:var(--tv-text)!important;
  font-family:inherit!important;font-size:13px!important;
}
.techview-app .smr2[data-theme="dark"]{
  --surface:#17202d;
  --page:#0c121b;
  --text:#f8fafc;
  --text2:#abb7c7;
  --muted:#7f8da0;
  --border:#283548;
  --grid:#202c3c;
  --shadow:0 14px 34px rgba(0,0,0,.22);
  background:#0c121b!important;
}
html[data-techview-theme="dark"],html[data-techview-theme="dark"] body.techview-site,html[data-techview-theme="dark"] .techview-app{background:#0c121b}

/* ========== Menu latéral ========== */
.techview-app .smr2-nav{
  position:fixed!important;inset:0 auto 0 0!important;top:0!important;z-index:120!important;
  width:var(--tv-sidebar-w)!important;height:100vh!important;padding:14px 12px!important;
  display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:4px!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  background:linear-gradient(180deg,var(--tv-sidebar) 0%,var(--tv-sidebar-2) 100%)!important;
  border:0!important;box-shadow:12px 0 36px rgba(15,23,42,.08)!important;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent;
}
.techview-app .smr2-nav::-webkit-scrollbar{width:5px}.techview-app .smr2-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:10px}
.tv-sidebar-brand{height:60px;min-height:60px;display:flex;align-items:center;gap:10px;padding:4px 4px 14px 5px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08);color:#fff;position:relative}
.tv-brand-mark{display:grid;place-items:center;width:34px;height:34px;min-width:34px;color:#60a5fa}.tv-brand-mark svg{width:34px;height:34px}.tv-brand-mark-custom{overflow:hidden;border-radius:9px;background:rgba(255,255,255,.06)}.tv-brand-mark-custom img{display:block;width:100%;height:100%;object-fit:contain;padding:2px}
.tv-brand-copy{display:flex;flex-direction:column;min-width:0}.tv-brand-copy strong{font-size:17px;line-height:1.1;letter-spacing:-.02em}.tv-brand-copy small{font-size:10.5px;color:#93a4ba;margin-top:4px;white-space:nowrap}
.tv-collapse{margin-left:auto;width:28px;height:28px;border:0;border-radius:8px;background:rgba(255,255,255,.06);color:#93a4ba;display:grid;place-items:center;cursor:pointer}.tv-collapse:hover{background:rgba(255,255,255,.1);color:#fff}.tv-collapse svg{width:15px;height:15px}
.techview-app .smr2-nav>.tv-nav-item{
  width:100%!important;min-height:40px!important;display:flex!important;align-items:center!important;gap:11px!important;
  padding:8px 10px!important;margin:0!important;border:0!important;border-radius:9px!important;
  background:transparent!important;color:#aebbd0!important;font-size:12.5px!important;font-weight:560!important;
  text-align:left!important;letter-spacing:0!important;white-space:nowrap!important;cursor:pointer!important;
}
.techview-app .smr2-nav>.tv-nav-item:hover{color:#fff!important;background:rgba(255,255,255,.065)!important;text-decoration:none!important}
.techview-app .smr2-nav>.tv-nav-item[aria-current="true"]{color:#fff!important;background:linear-gradient(90deg,rgba(var(--tv-accent-rgb),.24),rgba(var(--tv-accent-rgb),.12))!important;box-shadow:inset 3px 0 0 #60a5fa!important}
.tv-nav-icon{width:19px;height:19px;min-width:19px;display:grid;place-items:center}.tv-nav-icon svg{width:18px;height:18px}
.tv-nav-label{overflow:hidden;text-overflow:ellipsis}
.tv-nav-footer{margin-top:auto;padding:12px 4px 2px;border-top:1px solid rgba(255,255,255,.08);color:#fff}
.tv-user{display:flex;align-items:center;gap:9px;padding:3px 3px 10px}.tv-avatar{width:32px;height:32px;min-width:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#475569,#64748b);color:#fff;font-size:11px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.tv-user-copy{display:flex;flex-direction:column;min-width:0}.tv-user-copy strong{font-size:11.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-user-copy small{font-size:9.5px;color:#8293aa;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-foot-actions{display:flex;gap:4px}.tv-nav-foot-action{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;height:30px;border-radius:7px;background:rgba(255,255,255,.045);color:#8293aa!important;font-size:9.5px;text-decoration:none!important}.tv-nav-foot-action:hover{color:#fff!important;background:rgba(255,255,255,.08)}.tv-nav-foot-action svg{width:13px;height:13px}

/* Sidebar réduite */
body.tv-sidebar-collapsed{--tv-sidebar-w:76px}
body.tv-sidebar-collapsed .tv-brand-copy,body.tv-sidebar-collapsed .tv-nav-label,body.tv-sidebar-collapsed .tv-user-copy,body.tv-sidebar-collapsed .tv-nav-foot-action span{display:none}
body.tv-sidebar-collapsed .tv-sidebar-brand{justify-content:center;padding-left:0;padding-right:0}.tv-sidebar-collapsed .tv-collapse{position:absolute;right:-5px;bottom:4px;transform:rotate(180deg)}
body.tv-sidebar-collapsed .techview-app .smr2-nav>.tv-nav-item{justify-content:center!important;padding-left:0!important;padding-right:0!important}
body.tv-sidebar-collapsed .tv-user{justify-content:center}.tv-sidebar-collapsed .tv-foot-actions{flex-direction:column}.tv-sidebar-collapsed .tv-nav-foot-action{flex:none}

/* ========== Barre supérieure ========== */
.techview-app .smr2-top{
  position:fixed!important;top:0!important;left:var(--tv-sidebar-w)!important;right:0!important;z-index:110!important;
  min-height:var(--tv-top-h)!important;padding:14px 28px!important;display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:nowrap!important;
  background:rgba(255,255,255,.92)!important;border:0!important;border-bottom:1px solid var(--tv-line)!important;
  backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);
  transition:left .18s ease;
}
.techview-app .smr2[data-theme="dark"] .smr2-top{background:rgba(23,32,45,.94)!important;border-color:#283548!important}
.tv-page-heading{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:290px;max-width:580px;margin:0!important}
.tv-page-heading strong{font-size:20px;font-weight:780;line-height:1.15;color:var(--text);letter-spacing:-.025em}.tv-page-heading span{font-size:11.5px;color:var(--text2);font-weight:450}
.techview-app .smr2-top>.smr2-spacer{flex:1!important}
.techview-app .smr2-top select{height:38px!important;min-width:175px!important;max-width:240px!important;padding:0 32px 0 12px!important;border-radius:9px!important;background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text)!important;box-shadow:0 1px 2px rgba(15,23,42,.025)!important;font-size:11.5px!important}
.techview-app .smr2-top>button.b{height:38px!important;padding:0 12px!important;border-radius:9px!important;background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text)!important;font-size:11.5px!important;white-space:nowrap!important;box-shadow:0 1px 2px rgba(15,23,42,.025)!important}
.techview-app .smr2-top>button.b:hover{border-color:rgba(var(--tv-accent-rgb),.35)!important;color:var(--s1)!important;background:color-mix(in oklab,var(--s1) 4%,var(--surface))!important}
.techview-app .smr2-top>button.b:last-of-type{background:#0f172a!important;border-color:#0f172a!important;color:#fff!important}.techview-app .smr2[data-theme="dark"] .smr2-top>button.b:last-of-type{background:#f8fafc!important;border-color:#f8fafc!important;color:#0f172a!important}
.tv-current-date{font-size:10.5px;color:var(--text2);text-transform:capitalize;white-space:nowrap;margin-right:4px}
.tv-theme-toggle,.tv-mobile-menu{width:38px;height:38px;min-width:38px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text2);display:grid;place-items:center;cursor:pointer}.tv-theme-toggle:hover,.tv-mobile-menu:hover{color:var(--s1);border-color:rgba(var(--tv-accent-rgb),.35)}.tv-theme-toggle svg,.tv-mobile-menu svg{width:17px;height:17px}.tv-mobile-menu{display:none}
.techview-app .smr2-perimetre{position:absolute;left:28px;top:60px;display:none!important}

/* ========== Zone de contenu ========== */
.techview-app .smr2-vue{
  margin:0!important;margin-left:var(--tv-sidebar-w)!important;max-width:none!important;width:auto!important;
  padding:calc(var(--tv-top-h) + 24px) 28px 48px!important;min-height:100vh!important;
  transition:margin-left .18s ease;background:var(--page)!important;
}
.techview-app .smr2-vue>div{max-width:1600px;margin:0 auto}
.techview-app .smr2 .carte{
  background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--tv-radius)!important;
  box-shadow:var(--shadow)!important;padding:18px!important;margin-bottom:16px!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
.techview-app .smr2 .carte:hover{transform:translateY(-1px);box-shadow:0 12px 34px rgba(15,23,42,.075)!important;border-color:color-mix(in oklab,var(--s1) 15%,var(--border))!important}
.techview-app .smr2[data-theme="dark"] .carte:hover{box-shadow:0 16px 38px rgba(0,0,0,.26)!important}
.techview-app .smr2 .carte>h2{font-size:12px!important;text-transform:none!important;letter-spacing:-.005em!important;color:var(--text)!important;font-weight:720!important;margin:0 0 12px!important}
.techview-app .smr2 .desc{color:var(--text2)!important;line-height:1.55!important}
.techview-app .smr2 .grille{gap:16px!important}.techview-app .smr2 .g2{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important}
.techview-app .smr2 .g3{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* KPI : la première carte du cockpit devient une grille de tuiles */
.techview-app .smr2-vue[data-tv-view="cockpit"]>div>.carte:first-child{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin-bottom:16px!important;transform:none!important}
.techview-app .smr2-vue[data-tv-view="cockpit"]>div>.carte:first-child>h2{display:none!important}
.techview-app .smr2-vue[data-tv-view="cockpit"] .kpis{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important}
.techview-app .smr2 .kpi{position:relative;overflow:hidden;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:12px!important;padding:14px 14px 13px!important;min-height:94px;box-shadow:0 5px 18px rgba(15,23,42,.035)!important}
.techview-app .smr2 .kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:color-mix(in oklab,var(--s1) 55%,transparent);opacity:.75}
.techview-app .smr2 .kpi.alerte:before{background:var(--critical)}.techview-app .smr2 .kpi.tiede:before{background:var(--warning)}
.techview-app .smr2 .kpi .l{font-size:9.5px!important;color:var(--muted)!important;letter-spacing:.045em!important;margin-bottom:10px!important}
.techview-app .smr2 .kpi .v{font-size:23px!important;font-weight:790!important;letter-spacing:-.025em!important;color:var(--text)!important}.techview-app .smr2 .kpi.alerte .v{color:var(--critical)!important}.techview-app .smr2 .kpi.tiede .v{color:#d97706!important}
.techview-app .smr2 .kpi .d{font-size:9.5px!important;color:var(--text2)!important;margin-top:7px!important;line-height:1.35!important}

/* Priorités */
.techview-app .smr2 .prio{background:color-mix(in oklab,var(--page) 68%,var(--surface))!important;border:1px solid var(--border)!important;border-left-width:3px!important;border-radius:10px!important;padding:11px 12px!important;align-items:center!important;box-shadow:none!important}
.techview-app .smr2 .prio .ic{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--surface);border:1px solid var(--border);font-size:13px!important}
.techview-app .smr2 .prio .t{font-size:11.5px!important;font-weight:690!important}.techview-app .smr2 .prio .x{font-size:10.5px!important;line-height:1.45!important;color:var(--text2)!important}

/* Boutons, formulaires et badges */
.techview-app .smr2 button.b{min-height:32px!important;padding:6px 10px!important;border-radius:8px!important;background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text)!important;font-size:10.5px!important;font-weight:620!important;box-shadow:0 1px 2px rgba(15,23,42,.025)!important}
.techview-app .smr2 button.b:hover{border-color:rgba(var(--tv-accent-rgb),.35)!important;color:var(--s1)!important;background:color-mix(in oklab,var(--s1) 4%,var(--surface))!important}
.techview-app .smr2 button.b.p{background:var(--s1)!important;border-color:var(--s1)!important;color:#fff!important;box-shadow:0 4px 12px rgba(var(--tv-accent-rgb),.18)!important}
.techview-app .smr2 button.b.d{color:var(--critical)!important;border-color:color-mix(in oklab,var(--critical) 45%,var(--border))!important}
.techview-app .smr2 input,.techview-app .smr2 select,.techview-app .smr2 textarea{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:8px!important;font-size:11px!important;min-height:34px!important;padding:7px 9px!important;outline:none!important;box-shadow:0 1px 2px rgba(15,23,42,.02)!important}
.techview-app .smr2 input:focus,.techview-app .smr2 select:focus,.techview-app .smr2 textarea:focus{border-color:rgba(var(--tv-accent-rgb),.55)!important;box-shadow:0 0 0 3px rgba(var(--tv-accent-rgb),.08)!important}
.techview-app .smr2 label{font-size:10px!important;color:var(--text2)!important}
.techview-app .smr2 .badge{font-size:9px!important;line-height:1.25!important;padding:3px 7px!important;border-radius:999px!important;background:var(--page)!important}

/* Tables */
.techview-app .smr2 .tablewrap{border:1px solid var(--border);border-radius:10px;overflow:auto;background:var(--surface)}
.techview-app .smr2 table{font-size:10.5px!important;min-width:680px;background:var(--surface)}
.techview-app .smr2 th{position:sticky;top:0;z-index:1;background:color-mix(in oklab,var(--page) 68%,var(--surface))!important;color:var(--muted)!important;font-size:8.5px!important;font-weight:760!important;padding:9px 10px!important;border-bottom:1px solid var(--border)!important}
.techview-app .smr2 td{padding:10px!important;color:var(--text)!important;border-bottom:1px solid var(--grid)!important;line-height:1.45!important}
.techview-app .smr2 tbody tr:last-child td{border-bottom:0!important}.techview-app .smr2 tr.cliquable:hover td{background:color-mix(in oklab,var(--s1) 4%,var(--surface))!important}

/* Graphiques / barres */
.techview-app .smr2 .barre{grid-template-columns:140px 1fr 80px!important;font-size:10px!important}.techview-app .smr2 .barre .piste{height:8px!important;background:var(--grid)!important}.techview-app .smr2 .barre .part{background:linear-gradient(90deg,var(--s1),#60a5fa)!important}
.techview-app .smr2 .jauge{height:14px!important;border-radius:999px!important;background:var(--grid)!important}.techview-app .smr2 .legende{font-size:9.5px!important;gap:10px!important}
.techview-app .smr2 #carteParc{max-height:320px!important}.techview-app .smr2 .carte-legende{font-size:9.5px!important}

/* Filtres */
.techview-app .smr2-filtres{padding:11px;background:color-mix(in oklab,var(--page) 72%,var(--surface));border:1px solid var(--border);border-radius:10px;margin-bottom:12px!important}.techview-app .smr2-filtres>div{min-width:125px!important}

/* États */
.techview-app .smr2 .vide{padding:24px!important;color:var(--muted)!important;font-size:10.5px!important}.techview-app .smr2 .info,.techview-app .smr2 .attention,.techview-app .smr2 .err{border-radius:9px!important;font-size:10.5px!important;line-height:1.5!important;padding:10px 12px!important}

/* Drawer */
.techview-app .smr2-modal{background:rgba(15,23,42,.38)!important;backdrop-filter:blur(3px)!important}.techview-app .smr2-panneau{width:min(620px,100%)!important;background:var(--surface)!important;color:var(--text)!important;padding:24px 24px 48px!important;box-shadow:-24px 0 60px rgba(15,23,42,.16)!important}.techview-app .smr2-panneau h3{font-size:18px!important;letter-spacing:-.02em!important}.techview-app .smr2-form{gap:12px!important}

/* Zone météo héritée */
.techview-app .smr-app-hote{font-family:inherit!important}.techview-app .smr-app-hote .smr-app{background:transparent!important}.techview-app .smr-app-hote .card,.techview-app .smr-app-hote .panel{border-radius:12px!important}

/* ========== Responsive ========== */
.tv-sidebar-overlay{display:none;position:fixed;inset:0;z-index:115;border:0;background:rgba(15,23,42,.36);backdrop-filter:blur(2px)}
@media (max-width:1320px){
  .techview-app .smr2-vue[data-tv-view="cockpit"] .kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .tv-current-date{display:none}
}
@media (max-width:1120px){
  .techview-app .smr2 .g2,.techview-app .smr2 .g3{grid-template-columns:1fr!important}
  .tv-page-heading{min-width:220px}.tv-page-heading span{display:none}
}
@media (max-width:900px){
  :root{--tv-sidebar-w:0px;--tv-top-h:70px}
  body.tv-sidebar-collapsed{--tv-sidebar-w:0px}
  .techview-app .smr2-nav{width:250px!important;transform:translateX(-104%);transition:transform .2s ease;box-shadow:20px 0 45px rgba(15,23,42,.22)!important}
  body.tv-sidebar-open .techview-app .smr2-nav{transform:translateX(0)}
  body.tv-sidebar-open .tv-sidebar-overlay{display:block}
  .tv-mobile-menu{display:grid}
  .tv-collapse{display:none}
  .techview-app .smr2-top{left:0!important;padding:10px 14px!important}
  .techview-app .smr2-vue{margin-left:0!important;padding:calc(var(--tv-top-h) + 16px) 14px 34px!important}
  .techview-app .smr2-top>button.b{display:none}
  .techview-app .smr2-top select{min-width:130px!important;max-width:170px!important}
  .tv-page-heading{min-width:0;flex:1}.tv-page-heading strong{font-size:16px}.tv-page-heading span{display:none}
  .techview-app .smr2-top>.smr2-spacer{display:none}
  .techview-app .smr2-vue[data-tv-view="cockpit"] .kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:560px){
  .techview-app .smr2-top select{max-width:118px!important;min-width:105px!important;font-size:10px!important}
  .techview-app .smr2-vue[data-tv-view="cockpit"] .kpis{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .techview-app .smr2 .kpi{min-height:84px;padding:11px!important}.techview-app .smr2 .kpi .v{font-size:20px!important}
  .techview-app .smr2 .carte{padding:14px!important;border-radius:12px!important}
  .techview-app .smr2-form{grid-template-columns:1fr!important}.techview-app .smr2-form .plein{grid-column:auto!important}
}

/* ========== Écran de connexion ========== */
.tv-auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.86fr) minmax(500px,1.14fr);position:relative;overflow:hidden;background:#eef3f9;color:#0f172a}
.tv-auth-card{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;padding:70px clamp(34px,7vw,100px);background:rgba(255,255,255,.86);border-right:1px solid rgba(148,163,184,.2);backdrop-filter:blur(18px)}
.tv-auth-brand{position:absolute;top:34px;left:clamp(34px,7vw,100px);display:flex;align-items:center;gap:11px}.tv-auth-logo{width:38px;height:38px;color:var(--tv-accent)}.tv-auth-logo-img{width:44px;height:44px;object-fit:contain;border-radius:10px}.tv-auth-brand>div{display:flex;flex-direction:column}.tv-auth-brand strong{font-size:17px;letter-spacing:-.02em}.tv-auth-brand span{font-size:10px;color:#64748b;margin-top:2px}
.tv-auth-kicker{display:inline-flex;width:max-content;padding:6px 10px;border:1px solid rgba(var(--tv-accent-rgb),.18);border-radius:999px;background:rgba(var(--tv-accent-rgb),.07);color:var(--tv-accent);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.tv-auth-copy h1{max-width:560px;margin:18px 0 14px;font-size:clamp(32px,4.2vw,58px);line-height:1.02;letter-spacing:-.052em;font-weight:820}.tv-auth-copy p{max-width:510px;margin:0;color:#64748b;font-size:14px;line-height:1.7}
.tv-auth-button{display:flex;align-items:center;justify-content:space-between;width:min(330px,100%);margin-top:32px;padding:14px 16px;border-radius:11px;background:#0f172a;color:#fff;text-decoration:none;font-size:12px;font-weight:750;box-shadow:0 12px 28px rgba(15,23,42,.12)}.tv-auth-button:hover{transform:translateY(-1px);background:#1e293b}.tv-auth-button span{font-size:17px}
.tv-auth-trust{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px;color:#64748b;font-size:9.5px}.tv-auth-trust span{display:flex;align-items:center;gap:6px}.tv-auth-trust i{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.1)}
.tv-auth-preview{position:relative;z-index:2;align-self:center;justify-self:center;width:min(78%,860px);height:min(72vh,650px);border-radius:22px;background:#fff;box-shadow:0 40px 90px rgba(30,41,59,.18),0 0 0 1px rgba(148,163,184,.16);overflow:hidden;transform:perspective(1200px) rotateY(-4deg) rotateX(1deg)}
.tv-preview-top{height:44px;display:flex;align-items:center;gap:6px;padding:0 14px;background:#fbfdff;border-bottom:1px solid #edf1f5}.tv-preview-top span{width:7px;height:7px;border-radius:50%;background:#cbd5e1}.tv-preview-grid{height:calc(100% - 44px);display:grid;grid-template-columns:23% 1fr}.tv-preview-sidebar{background:linear-gradient(180deg,#101722,#182232)}.tv-preview-main{padding:7%;background:#f5f7fb}.tv-preview-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:3%;height:18%}.tv-preview-kpis b{display:block;border-radius:10px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.05)}.tv-preview-panels{display:grid;grid-template-columns:1.2fr .8fr;gap:3%;height:56%;margin-top:4%}.tv-preview-panels i{display:block;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.05)}
.tv-auth-glow{position:absolute;border-radius:50%;filter:blur(5px);opacity:.55}.tv-auth-glow-one{width:420px;height:420px;right:4%;top:-12%;background:radial-gradient(circle,rgba(59,130,246,.28),transparent 67%)}.tv-auth-glow-two{width:420px;height:420px;right:22%;bottom:-18%;background:radial-gradient(circle,rgba(16,185,129,.15),transparent 70%)}
@media (max-width:980px){.tv-auth-shell{grid-template-columns:1fr}.tv-auth-preview{display:none}.tv-auth-card{min-height:100vh;border:0}.tv-auth-copy h1{font-size:clamp(36px,10vw,58px)}}

/* ========== Messages système / pages standards ========== */
.tv-system-message{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;background:#f5f7fb}.tv-system-icon{width:58px;height:58px;color:var(--tv-accent);display:grid;place-items:center;margin-bottom:14px}.tv-system-icon svg{width:52px;height:52px}.tv-system-eyebrow{margin:0 0 8px;color:var(--tv-accent);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.tv-system-message h1{max-width:680px;margin:0;font-size:32px;letter-spacing:-.04em}.tv-system-message>p:not(.tv-system-eyebrow){max-width:640px;color:#64748b;line-height:1.65;font-size:13px}.tv-system-button{display:inline-flex;margin-top:16px;padding:11px 15px;border-radius:9px;background:#0f172a;color:#fff;text-decoration:none;font-size:11px;font-weight:700}.tv-system-message-inline{min-height:calc(100vh - 80px);border-radius:16px}
.tv-standard-page{min-height:100vh;padding:48px;background:#f4f7fb}.tv-content-card{max-width:1000px;margin:0 auto;padding:32px;background:#fff;border:1px solid #e5eaf1;border-radius:16px;box-shadow:var(--tv-shadow)}.tv-content-card h1{font-size:28px;letter-spacing:-.03em}.tv-entry-content{color:#334155;line-height:1.7}.tv-post-item{padding:20px 0;border-top:1px solid #e5eaf1}.tv-post-item h2{font-size:18px}.tv-post-item a{text-decoration:none}.tv-post-item a:hover{color:var(--tv-accent)}

@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ========== Cartes Namthy : sites & prestataires ========== */
.techview-app .smr2 .smr2-entity-section{padding:20px!important}
.techview-app .smr2 .smr2-card-filters{padding:11px!important;background:color-mix(in oklab,var(--page) 74%,var(--surface))!important;border-color:var(--border)!important;border-radius:11px!important}
.techview-app .smr2 .smr2-entity-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:14px!important}
.techview-app .smr2 .smr2-entity-card{border-radius:14px!important;border-color:var(--border)!important;background:var(--surface)!important;box-shadow:0 5px 18px rgba(15,23,42,.045)!important}
.techview-app .smr2 .smr2-entity-card:hover{box-shadow:0 14px 34px rgba(15,23,42,.09)!important;border-color:rgba(var(--tv-accent-rgb),.28)!important}
.techview-app .smr2 .smr2-entity-card.is-expanded{grid-column:1/-1!important;display:grid;grid-template-columns:minmax(300px,36%) 1fr;align-items:stretch;overflow:visible!important}
.techview-app .smr2 .smr2-entity-card.is-expanded .smr2-entity-photo{height:100%!important;min-height:330px;border-radius:14px 0 0 14px}
.techview-app .smr2 .smr2-entity-card.is-expanded .smr2-entity-card-body{padding:20px!important}
.techview-app .smr2 .smr2-entity-photo{height:185px!important}
.techview-app .smr2 .smr2-entity-card-head h3{font-size:15px!important}.techview-app .smr2 .smr2-entity-card-head p{font-size:10.5px!important}.techview-app .smr2 .smr2-entity-meta span{font-size:9.5px!important}
.techview-app .smr2 .smr2-entity-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.techview-app .smr2 .smr2-entity-detail{padding:9px 10px!important;background:color-mix(in oklab,var(--page) 68%,var(--surface))!important}.techview-app .smr2 .smr2-entity-detail span{font-size:8.5px!important}.techview-app .smr2 .smr2-entity-detail strong{font-size:10.5px!important}
.techview-app .smr2 .smr2-photo-picker{background:color-mix(in oklab,var(--page) 72%,var(--surface))!important;border-color:var(--border)!important}.techview-app .smr2 .smr2-photo-preview{background:var(--surface)!important}
@media(max-width:1280px){.techview-app .smr2 .smr2-entity-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}}
@media(max-width:900px){.techview-app .smr2 .smr2-entity-card.is-expanded{grid-template-columns:1fr}.techview-app .smr2 .smr2-entity-card.is-expanded .smr2-entity-photo{height:240px!important;min-height:240px;border-radius:14px 14px 0 0}.techview-app .smr2 .smr2-entity-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.techview-app .smr2 .smr2-entity-grid{grid-template-columns:1fr}.techview-app .smr2 .smr2-entity-detail-grid{grid-template-columns:1fr!important}}

/* ========== Aperçu réaliste de la page de connexion ========== */
.tv-preview-browser{height:34px;display:flex;align-items:center;gap:5px;padding:0 12px;background:#fbfdff;border-bottom:1px solid #e9eef5;color:#94a3b8;font-size:8px}.tv-preview-browser span{width:6px;height:6px;border-radius:50%;background:#cbd5e1}.tv-preview-browser em{margin-left:8px;font-style:normal;font-weight:700;letter-spacing:.02em}.tv-preview-app{height:calc(100% - 34px);display:grid;grid-template-columns:22% 1fr}.tv-preview-sidebar{padding:14px 10px;background:linear-gradient(180deg,#101823,#142030);color:#cbd5e1}.tv-preview-brand{display:flex;align-items:center;gap:7px;padding:0 4px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.tv-preview-brand>b{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:rgba(96,165,250,.15);color:#93c5fd;font-size:10px}.tv-preview-brand>span{display:flex;flex-direction:column}.tv-preview-brand strong{font-size:9px;color:#fff}.tv-preview-brand small{font-size:5.8px;color:#94a3b8;margin-top:1px}.tv-preview-nav{display:flex;flex-direction:column;gap:4px;margin-top:10px}.tv-preview-nav i{display:flex;align-items:center;gap:6px;padding:7px 7px;border-radius:6px;font-style:normal;font-size:6.8px;color:#aebbd0}.tv-preview-nav i.on{background:rgba(37,99,235,.22);color:#fff}.tv-preview-main{background:#f4f7fb;overflow:hidden}.tv-preview-header{height:58px;padding:12px 16px;display:flex;align-items:flex-start;gap:10px;background:#fff;border-bottom:1px solid #e8edf4}.tv-preview-header>div{display:flex;flex-direction:column;margin-right:auto}.tv-preview-header strong{font-size:12px;color:#0f172a}.tv-preview-header small{font-size:5.8px;color:#64748b;margin-top:2px}.tv-preview-header>span{font-size:5.8px;color:#64748b;margin-top:5px}.tv-preview-header button{border:1px solid #dbe4ef;background:#fff;border-radius:6px;padding:6px 8px;font-size:5.8px;color:#334155}.tv-preview-content{padding:12px}.tv-preview-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;height:auto}.tv-preview-kpis article{min-width:0;padding:8px;border-radius:8px;background:#fff;border:1px solid #e4eaf2;box-shadow:0 4px 12px rgba(15,23,42,.035)}.tv-preview-kpis small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:4.8px;font-weight:800;color:#8090a7}.tv-preview-kpis strong{display:block;margin-top:5px;font-size:12px;color:#0f172a}.tv-preview-kpis em{display:block;margin-top:3px;font-size:4.8px;font-style:normal;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-preview-priorities{margin-top:9px;padding:10px;border-radius:9px;background:#fff;border:1px solid #e4eaf2}.tv-preview-title{display:flex;align-items:center;justify-content:space-between}.tv-preview-title strong{font-size:7px;color:#0f172a}.tv-preview-title span{font-size:5px;color:#64748b}.tv-preview-alert{display:flex;align-items:center;gap:7px;margin-top:7px;padding:6px 7px;border-radius:6px;background:#f8fafc}.tv-preview-alert>b{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;font-size:7px}.tv-preview-alert>span{display:flex;flex-direction:column;min-width:0}.tv-preview-alert span strong{font-size:5.8px;color:#1e293b}.tv-preview-alert span small{font-size:4.7px;color:#718096;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-preview-alert>em{margin-left:auto;font-size:4.5px;font-style:normal;font-weight:800}.tv-preview-alert.red>b{background:#fee2e2;color:#dc2626}.tv-preview-alert.red>em{color:#dc2626}.tv-preview-alert.orange>b{background:#ffedd5;color:#ea580c}.tv-preview-alert.orange>em{color:#ea580c}.tv-preview-panels{display:grid;grid-template-columns:1.08fr .92fr;gap:9px;height:auto;margin-top:9px}.tv-preview-panels>article{min-height:205px;padding:10px;border-radius:9px;background:#fff;border:1px solid #e4eaf2}.tv-preview-map{height:155px;display:grid;place-items:center}.tv-preview-map svg{width:82%;height:100%}.tv-preview-map path{fill:#eef2f7;stroke:#dbe3ed;stroke-width:1}.tv-preview-map circle{fill:#16a34a;stroke:#fff;stroke-width:2}.tv-preview-map circle:nth-of-type(2){fill:#f59e0b}.tv-preview-map circle:nth-of-type(5){fill:#dc2626}.tv-preview-legend{display:flex;align-items:center;gap:4px;font-size:4.5px;color:#64748b}.tv-preview-legend i{width:5px;height:5px;border-radius:50%;background:#16a34a}.tv-preview-legend i:nth-of-type(2){background:#f59e0b}.tv-preview-legend i:nth-of-type(3){background:#dc2626}.tv-preview-progress{position:relative;display:flex;height:8px;margin:12px 0 14px;border-radius:999px;overflow:hidden;background:#edf2f7}.tv-preview-progress i,.tv-preview-progress b,.tv-preview-progress em{display:block;height:100%}.tv-preview-progress i{width:44%;background:#2563eb}.tv-preview-progress b{width:18%;background:#4f46e5}.tv-preview-progress em{width:12%;background:#f59e0b}.tv-preview-budget-row{display:grid;grid-template-columns:58px 1fr 38px;gap:7px;align-items:center;margin-top:10px;font-size:5px;color:#64748b}.tv-preview-budget-row>i{height:5px;border-radius:999px;background:#edf2f7;overflow:hidden}.tv-preview-budget-row>i>b{display:block;height:100%;border-radius:999px;background:#3b82f6}.tv-preview-budget-row>strong{text-align:right;color:#334155;font-size:5px}

/* ========== Mode démo admin ========== */
.tv-demo-banner{grid-column:1/-1;position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:center;gap:10px;min-height:34px;padding:6px 14px;background:#fff7ed;border-bottom:1px solid #fed7aa;color:#9a3412;font-size:10px}.tv-demo-banner strong{font-size:9px;letter-spacing:.08em}.tv-demo-banner span{color:#b45309}.tv-demo-banner button{border:1px solid #fdba74;background:#fff;border-radius:6px;padding:4px 8px;color:#9a3412;font-size:9px;font-weight:700;cursor:pointer}.tv-demo-toggle{border:0;background:transparent;font:inherit;cursor:pointer}.tv-demo-toggle.is-active{background:rgba(245,158,11,.12)!important;color:#fbbf24!important}.tv-demo-toggle.is-active svg{color:#fbbf24}

/* v1.4 · inscription publique et confirmation */
.tv-auth-actions{display:flex;flex-direction:column;gap:10px;width:min(330px,100%);margin-top:32px}.tv-auth-actions .tv-auth-button{width:100%;margin-top:0}.tv-auth-button-secondary{background:#fff!important;color:#0f172a!important;border:1px solid #dbe4ef;box-shadow:0 8px 20px rgba(15,23,42,.04)}.tv-auth-button-secondary:hover{background:#f8fafc!important;border-color:#cbd5e1}.tv-registration-column{overflow:auto}.tv-register-wrap{width:min(450px,100%);margin:auto}.tv-register-wrap>.tv-auth-kicker{margin-bottom:13px}.tv-register-wrap h1{margin:0 0 8px;font-size:31px;line-height:1.08;letter-spacing:-.04em}.tv-register-intro{margin:0 0 18px;color:#64748b;font-size:12px;line-height:1.6}.tv-register-form{display:flex;flex-direction:column;gap:11px}.tv-register-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tv-register-form label{display:flex;flex-direction:column;gap:5px;color:#334155;font-size:10px;font-weight:700}.tv-register-form input{width:100%;height:43px;padding:0 12px;border:1px solid #d8e0ea;border-radius:8px;background:#fff;color:#0f172a;font:inherit;font-size:12px;outline:0;box-shadow:0 1px 2px rgba(15,23,42,.02);transition:border-color .15s,box-shadow .15s}.tv-register-form input:focus{border-color:var(--tv-accent);box-shadow:0 0 0 3px rgba(var(--tv-accent-rgb),.11)}.tv-register-form input::placeholder{color:#94a3b8}.tv-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.tv-register-note{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border-radius:8px;background:rgba(var(--tv-accent-rgb),.06);color:#64748b;font-size:9.5px;line-height:1.45}.tv-register-note>b{display:grid;flex:0 0 18px;width:18px;height:18px;place-items:center;border-radius:50%;background:rgba(var(--tv-accent-rgb),.12);color:var(--tv-accent);font-size:10px}.tv-register-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;margin-top:2px;padding:0 15px;border:0;border-radius:9px;background:#0f172a;color:#fff;font-size:11px;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 12px 26px rgba(15,23,42,.14)}.tv-register-submit:hover{background:var(--tv-accent);color:#fff}.tv-register-submit>b{font-size:17px}.tv-register-login{margin:13px 0 0;text-align:center;color:#94a3b8;font-size:9.5px}.tv-register-login a{color:var(--tv-accent);font-weight:700;text-decoration:none}.tv-register-error{margin:0 0 13px;padding:10px 12px;border:1px solid #fecaca;border-left:3px solid #ef4444;border-radius:8px;background:#fff7f7;color:#991b1b;font-size:10px;line-height:1.5}.tv-confirm-wrap{max-width:460px}.tv-confirm-icon{display:grid;width:56px;height:56px;margin:0 0 18px;place-items:center;border-radius:50%;background:rgba(var(--tv-accent-rgb),.1);color:var(--tv-accent);font-size:24px;font-weight:900}.tv-confirm-mail{margin:-7px 0 20px;color:#334155;font-size:11px;font-weight:700}.tv-confirm-steps{display:flex;flex-direction:column;margin:4px 0 17px}.tv-confirm-steps>div{position:relative;display:flex;gap:11px;min-height:57px}.tv-confirm-steps>div:not(:last-child):after{content:"";position:absolute;left:13px;top:29px;bottom:0;border-left:1px dashed #cbd5e1}.tv-confirm-steps b{position:relative;z-index:2;display:grid;flex:0 0 27px;width:27px;height:27px;place-items:center;border-radius:50%;background:#94a3b8;color:#fff;font-size:10px}.tv-confirm-steps .done b{background:#16a34a}.tv-confirm-steps .current b{background:var(--tv-accent)}.tv-confirm-steps span{display:flex;flex-direction:column;padding-top:1px}.tv-confirm-steps strong{color:#334155;font-size:11px}.tv-confirm-steps .current strong{color:var(--tv-accent)}.tv-confirm-steps small{margin-top:3px;color:#94a3b8;font-size:9px}.tv-register-link-button{margin-top:12px}.tv-register-preview{height:min(72vh,650px)}
@media(max-height:800px) and (min-width:981px){.tv-registration-column{justify-content:flex-start;padding-top:90px;padding-bottom:36px}.tv-registration-column .tv-auth-brand{top:24px}.tv-register-form{gap:8px}.tv-register-form input{height:39px}.tv-register-intro{margin-bottom:12px}.tv-register-note{padding:8px 10px}.tv-register-submit{min-height:42px}}
@media(max-width:620px){.tv-register-grid{grid-template-columns:1fr}.tv-registration-column{padding:92px 24px 38px}.tv-registration-column .tv-auth-brand{left:24px;top:26px}.tv-register-wrap h1{font-size:28px}}

/* ================================================================
   v1.8 · Météo & réseau électrique — interface analytique moderne
   ================================================================ */

/* Les deux vues historiques deviennent de vraies pages cockpit. */
.techview-app .smr2 .smr-app-hote .tv-meteo-modern,
.techview-app .smr2 .smr-app-hote .tv-network-modern{
  --tv-module-gap:14px;
}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .card,
.techview-app .smr2 .smr-app-hote .tv-network-modern .card{
  border:1px solid var(--border)!important;
  border-radius:14px!important;
  box-shadow:0 5px 18px rgba(15,23,42,.035)!important;
  background:var(--surface)!important;
}
.techview-app .smr2[data-theme="dark"] .smr-app-hote .tv-meteo-modern .card,
.techview-app .smr2[data-theme="dark"] .smr-app-hote .tv-network-modern .card{
  box-shadow:0 8px 22px rgba(0,0,0,.18)!important;
}

/* Barre de contexte : site, périmètre, mise à jour, niveau de risque. */
.techview-app .smr2 .smr-app-hote .tv-meteo-context{
  display:grid;
  grid-template-columns:minmax(210px,1.2fr) minmax(170px,.9fr) minmax(190px,1fr) minmax(190px,1fr);
  gap:0;
  margin:0 0 14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--surface);
  box-shadow:0 4px 16px rgba(15,23,42,.03);
  overflow:hidden;
}
.techview-app .smr2 .smr-app-hote .tv-context-cell{
  min-width:0;
  min-height:74px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 15px;
  border-right:1px solid var(--grid);
}
.techview-app .smr2 .smr-app-hote .tv-context-cell:last-child{border-right:0}
.techview-app .smr2 .smr-app-hote .tv-context-icon{
  flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;
  border-radius:9px;background:color-mix(in oklab,var(--s1) 9%,var(--surface));
  color:var(--s1);font-size:15px;font-weight:800;
}
.techview-app .smr2 .smr-app-hote .tv-context-cell>span:last-child{min-width:0}
.techview-app .smr2 .smr-app-hote .tv-context-cell small{
  display:block;font-size:8.5px;line-height:1.1;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);font-weight:760;
}
.techview-app .smr2 .smr-app-hote .tv-context-cell strong{
  display:block;margin-top:4px;font-size:11.5px;line-height:1.2;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.techview-app .smr2 .smr-app-hote .tv-context-cell em{
  display:block;margin-top:3px;font-size:8.5px;line-height:1.3;color:var(--text2);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.techview-app .smr2 .smr-app-hote .tv-context-status .tv-status-dot{flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:var(--good);box-shadow:0 0 0 5px color-mix(in oklab,var(--good) 12%,transparent)}
.techview-app .smr2 .smr-app-hote .tv-context-status.warning .tv-status-dot{background:var(--warning);box-shadow:0 0 0 5px color-mix(in oklab,var(--warning) 14%,transparent)}
.techview-app .smr2 .smr-app-hote .tv-context-status.serious .tv-status-dot{background:var(--serious);box-shadow:0 0 0 5px color-mix(in oklab,var(--serious) 14%,transparent)}
.techview-app .smr2 .smr-app-hote .tv-context-status.critical .tv-status-dot{background:var(--critical);box-shadow:0 0 0 5px color-mix(in oklab,var(--critical) 14%,transparent)}
.techview-app .smr2 .smr-app-hote .tv-context-status.good strong{color:var(--good)}
.techview-app .smr2 .smr-app-hote .tv-context-status.warning strong{color:#c47a00}
.techview-app .smr2 .smr-app-hote .tv-context-status.serious strong{color:var(--serious)}
.techview-app .smr2 .smr-app-hote .tv-context-status.critical strong{color:var(--critical)}

/* Premier rang météo : grand graphe + carte compacte. */
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .grid2:has(#tempChart){
  grid-template-columns:minmax(0,1.55fr) minmax(310px,.82fr)!important;
  gap:14px!important;
}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .grid2:has(#tempChart)>.card{padding:16px 18px!important}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern #tempChart{height:245px!important;max-height:245px!important}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern #franceMap{height:245px!important;max-height:245px!important}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .grid2:has(#tempChart) .legend{margin-top:7px!important}

/* 48 h : graphique principal à gauche, lecture opérationnelle à droite. */
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .tv-hourly-card{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr)!important;
  gap:14px!important;
  align-items:stretch!important;
  padding:16px!important;
}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .tv-hourly-main{
  min-width:0;padding:0 3px;
}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern #hourlyChart{
  width:100%!important;height:285px!important;max-height:285px!important;
}
.techview-app .smr2 .smr-app-hote .tv-weather-aside{
  display:grid;grid-template-columns:1fr;gap:9px;align-content:start;min-width:0;
}
.techview-app .smr2 .smr-app-hote .tv-weather-aside article{
  padding:12px 13px;border:1px solid var(--grid);border-radius:11px;background:color-mix(in oklab,var(--page) 72%,var(--surface));
}
.techview-app .smr2 .smr-app-hote .tv-weather-aside article>small,
.techview-app .smr2 .smr-app-hote .tv-weather-aside header>small{
  font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:780;
}
.techview-app .smr2 .smr-app-hote .tv-now-value{display:flex;align-items:center;gap:9px;margin:5px 0 8px}
.techview-app .smr2 .smr-app-hote .tv-now-value>span{font-size:25px;line-height:1;color:#f59e0b}
.techview-app .smr2 .smr-app-hote .tv-now-value>strong{font-size:25px;letter-spacing:-.035em;color:var(--text)}
.techview-app .smr2 .smr-app-hote .tv-now-card dl{margin:0}
.techview-app .smr2 .smr-app-hote .tv-now-card dl>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;border-top:1px solid var(--grid)}
.techview-app .smr2 .smr-app-hote .tv-now-card dt{font-size:9px;color:var(--text2)}
.techview-app .smr2 .smr-app-hote .tv-now-card dd{margin:0;font-size:9.5px;font-weight:750;color:var(--text)}
.techview-app .smr2 .smr-app-hote .tv-risk-card header,
.techview-app .smr2 .smr-app-hote .tv-eco-mini header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.techview-app .smr2 .smr-app-hote .tv-risk-badge,
.techview-app .smr2 .smr-app-hote .tv-eco-mini header>span{font-size:8.5px;font-weight:760;padding:3px 7px;border-radius:999px;background:color-mix(in oklab,var(--good) 11%,var(--surface));color:var(--good)}
.techview-app .smr2 .smr-app-hote .tv-risk-badge.warning{background:color-mix(in oklab,var(--warning) 15%,var(--surface));color:#b66d00}
.techview-app .smr2 .smr-app-hote .tv-risk-badge.serious{background:color-mix(in oklab,var(--serious) 15%,var(--surface));color:var(--serious)}
.techview-app .smr2 .smr-app-hote .tv-risk-badge.critical{background:color-mix(in oklab,var(--critical) 12%,var(--surface));color:var(--critical)}
.techview-app .smr2 .smr-app-hote .tv-risk-card ul{list-style:none;margin:7px 0 0;padding:0}
.techview-app .smr2 .smr-app-hote .tv-risk-card li{display:grid;grid-template-columns:18px 1fr auto;gap:6px;align-items:center;padding:5px 0;border-top:1px solid var(--grid);font-size:9px}
.techview-app .smr2 .smr-app-hote .tv-risk-card li>b{font-weight:560;color:var(--text2)}
.techview-app .smr2 .smr-app-hote .tv-risk-card li>em{font-style:normal;font-weight:750;color:var(--text)}
.techview-app .smr2 .smr-app-hote .tv-eco-mini p{margin:7px 0 0;color:var(--text2);font-size:9px;line-height:1.45}

/* Historique + DJU sur une seule ligne, comme une vraie page d'analyse. */
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .tv-weather-bottom{
  display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:14px;align-items:stretch;
}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .tv-weather-bottom>.card{
  width:100%!important;margin:0!important;padding:15px 17px!important;
}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern #histChart{height:205px!important;max-height:205px!important;width:100%!important}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .tv-weather-bottom .grid2b:has(#djuChart){
  grid-template-columns:minmax(300px,.95fr) minmax(250px,1.05fr)!important;gap:12px!important;
}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern #djuChart{height:200px!important;max-height:200px!important}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .tv-weather-bottom .tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .tv-weather-bottom .tile{min-height:73px!important;padding:9px 10px!important}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .tv-weather-bottom .tile .label{font-size:8.5px!important}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .tv-weather-bottom .tile .value{font-size:18px!important}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .tv-weather-bottom .tile .delta{font-size:8px!important}

/* Les fonctions historiques restent disponibles, mais ne cassent plus le flux principal. */
.techview-app .smr2 .smr-app-hote .tv-weather-advanced,
.techview-app .smr2 .smr-app-hote .tv-network-sites-details{
  margin-top:14px;border:1px solid var(--border);border-radius:13px;background:var(--surface);overflow:hidden;
}
.techview-app .smr2 .smr-app-hote .tv-weather-advanced>summary,
.techview-app .smr2 .smr-app-hote .tv-network-sites-details>summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;cursor:pointer;background:color-mix(in oklab,var(--page) 72%,var(--surface));
}
.techview-app .smr2 .smr-app-hote .tv-weather-advanced>summary::-webkit-details-marker,
.techview-app .smr2 .smr-app-hote .tv-network-sites-details>summary::-webkit-details-marker{display:none}
.techview-app .smr2 .smr-app-hote .tv-weather-advanced summary b,
.techview-app .smr2 .smr-app-hote .tv-network-sites-details summary b{display:block;font-size:10.5px;color:var(--text)}
.techview-app .smr2 .smr-app-hote .tv-weather-advanced summary small,
.techview-app .smr2 .smr-app-hote .tv-network-sites-details summary small{display:block;margin-top:2px;font-size:8.5px;color:var(--muted)}
.techview-app .smr2 .smr-app-hote .tv-weather-advanced summary i,
.techview-app .smr2 .smr-app-hote .tv-network-sites-details summary i{font-style:normal;font-size:17px;color:var(--s1);transition:transform .18s}
.techview-app .smr2 .smr-app-hote .tv-weather-advanced[open] summary i,
.techview-app .smr2 .smr-app-hote .tv-network-sites-details[open] summary i{transform:rotate(45deg)}
.techview-app .smr2 .smr-app-hote .tv-weather-advanced-body,
.techview-app .smr2 .smr-app-hote .tv-network-sites-body{padding:14px}
.techview-app .smr2 .smr-app-hote .tv-weather-advanced-body>.card:last-child,
.techview-app .smr2 .smr-app-hote .tv-network-sites-body>.card:last-child{margin-bottom:0!important}

/* ================================================================
   Réseau électrique
   ================================================================ */
.techview-app .smr2 .smr-app-hote .tv-network-modern>.banner{
  padding:11px 13px!important;border-radius:11px!important;border-color:color-mix(in oklab,var(--s1) 22%,var(--border))!important;
  background:color-mix(in oklab,var(--s1) 5%,var(--surface))!important;
}
.techview-app .smr2 .smr-app-hote .tv-network-modern .tv-ecowatt-card{padding:15px 17px!important}
.techview-app .smr2 .smr-app-hote .tv-network-modern .eco-row{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.techview-app .smr2 .smr-app-hote .tv-network-modern .eco-card{
  position:relative;overflow:hidden;min-height:112px;padding:11px 12px!important;border-radius:11px!important;background:color-mix(in oklab,var(--page) 70%,var(--surface))!important;
}
.techview-app .smr2 .smr-app-hote .tv-network-modern .eco-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--good)}
.techview-app .smr2 .smr-app-hote .tv-network-modern .eco-card .day{font-size:9px!important;text-transform:uppercase;letter-spacing:.04em}
.techview-app .smr2 .smr-app-hote .tv-network-modern .eco-card .status{font-size:12px!important;margin-top:2px}
.techview-app .smr2 .smr-app-hote .tv-network-modern .eco-card .msg{font-size:9px!important;line-height:1.4!important}
.techview-app .smr2 .smr-app-hote .tv-network-modern .hourstrip i{height:12px!important}

.techview-app .smr2 .smr-app-hote .tv-grid-kpis{
  display:grid;grid-template-columns:1.25fr repeat(4,minmax(120px,1fr));gap:9px;margin:0 0 14px;
}
.techview-app .smr2 .smr-app-hote .tv-grid-kpis article{
  min-width:0;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface);box-shadow:0 4px 14px rgba(15,23,42,.025);
}
.techview-app .smr2 .smr-app-hote .tv-grid-kpis small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);font-weight:760}
.techview-app .smr2 .smr-app-hote .tv-grid-kpis strong{display:block;margin-top:5px;font-size:16px;line-height:1.1;color:var(--text);letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.techview-app .smr2 .smr-app-hote .tv-grid-kpis article:first-child strong{font-size:12px}
.techview-app .smr2 .smr-app-hote .tv-grid-kpis span{display:block;margin-top:4px;font-size:8px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.techview-app .smr2 .smr-app-hote .tv-network-modern #reseauContent>.grid2b{
  display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)!important;gap:14px!important;align-items:stretch!important;
}
.techview-app .smr2 .smr-app-hote .tv-network-modern .tv-network-chart-card{padding:15px 17px!important;margin-bottom:14px!important}
.techview-app .smr2 .smr-app-hote .tv-network-modern #consoChart{height:245px!important;max-height:245px!important}
.techview-app .smr2 .smr-app-hote .tv-network-modern #mixChart{height:245px!important;max-height:245px!important}
.techview-app .smr2 .smr-app-hote .tv-network-modern #co2Chart{height:220px!important;max-height:220px!important}
.techview-app .smr2 .smr-app-hote .tv-network-modern .tv-co2-card{width:100%!important}
.techview-app .smr2 .smr-app-hote .tv-network-modern #mixFoot{font-size:9px!important;color:var(--text2)!important}

/* Titres / légendes des deux modules : plus sobres et plus proches du cockpit. */
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .card h2,
.techview-app .smr2 .smr-app-hote .tv-network-modern .card h2{
  font-size:12px!important;text-transform:none!important;letter-spacing:-.008em!important;color:var(--text)!important;font-weight:760!important;
}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .card .desc,
.techview-app .smr2 .smr-app-hote .tv-network-modern .card .desc{
  font-size:9.5px!important;line-height:1.48!important;color:var(--text2)!important;margin-bottom:9px!important;
}
.techview-app .smr2 .smr-app-hote .tv-meteo-modern .legend,
.techview-app .smr2 .smr-app-hote .tv-network-modern .legend{font-size:9px!important;gap:10px!important;margin-top:6px!important}

@media(max-width:1280px){
  .techview-app .smr2 .smr-app-hote .tv-meteo-context{grid-template-columns:repeat(2,minmax(0,1fr))}
  .techview-app .smr2 .smr-app-hote .tv-context-cell:nth-child(2){border-right:0}
  .techview-app .smr2 .smr-app-hote .tv-context-cell:nth-child(-n+2){border-bottom:1px solid var(--grid)}
  .techview-app .smr2 .smr-app-hote .tv-meteo-modern .tv-hourly-card{grid-template-columns:minmax(0,1.45fr) minmax(250px,.75fr)!important}
  .techview-app .smr2 .smr-app-hote .tv-meteo-modern .tv-weather-bottom{grid-template-columns:1fr!important}
  .techview-app .smr2 .smr-app-hote .tv-grid-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .techview-app .smr2 .smr-app-hote .tv-grid-kpis article:first-child{grid-column:span 1}
}
@media(max-width:980px){
  .techview-app .smr2 .smr-app-hote .tv-meteo-modern .grid2:has(#tempChart),
  .techview-app .smr2 .smr-app-hote .tv-meteo-modern .tv-hourly-card,
  .techview-app .smr2 .smr-app-hote .tv-network-modern #reseauContent>.grid2b{grid-template-columns:1fr!important}
  .techview-app .smr2 .smr-app-hote .tv-weather-aside{grid-template-columns:repeat(3,minmax(0,1fr))}
  .techview-app .smr2 .smr-app-hote .tv-network-modern .eco-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .techview-app .smr2 .smr-app-hote .tv-grid-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .techview-app .smr2 .smr-app-hote .tv-meteo-context{grid-template-columns:1fr}
  .techview-app .smr2 .smr-app-hote .tv-context-cell{border-right:0!important;border-bottom:1px solid var(--grid)!important}
  .techview-app .smr2 .smr-app-hote .tv-context-cell:last-child{border-bottom:0!important}
  .techview-app .smr2 .smr-app-hote .tv-weather-aside{grid-template-columns:1fr}
  .techview-app .smr2 .smr-app-hote .tv-meteo-modern .tv-weather-bottom .grid2b:has(#djuChart){grid-template-columns:1fr!important}
  .techview-app .smr2 .smr-app-hote .tv-network-modern .eco-row,
  .techview-app .smr2 .smr-app-hote .tv-grid-kpis{grid-template-columns:1fr!important}
  .techview-app .smr2 .smr-app-hote .tv-meteo-modern #tempChart,
  .techview-app .smr2 .smr-app-hote .tv-meteo-modern #hourlyChart,
  .techview-app .smr2 .smr-app-hote .tv-network-modern #consoChart,
  .techview-app .smr2 .smr-app-hote .tv-network-modern #mixChart,
  .techview-app .smr2 .smr-app-hote .tv-network-modern #co2Chart{height:auto!important;max-height:none!important}
}


/* ================================================================
   v1.8.2 · Météo — cockpit pleine largeur, sans héritage v1.7
   ================================================================ */
.techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent{
  width:100%!important;
  max-width:none!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.tv-meteo-context,
.techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.grid2,
.techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.card,
.techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.tv-weather-bottom,
.techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.tv-weather-advanced{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Contexte compact et utile : il ne doit pas voler la vedette aux graphes. */
.techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.tv-meteo-context{
  margin-bottom:12px!important;
  grid-template-columns:minmax(200px,1.15fr) minmax(160px,.85fr) minmax(190px,1fr) minmax(180px,.9fr)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-context-cell{
  min-height:64px!important;
  padding:10px 13px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-context-icon{
  width:28px!important;height:28px!important;flex-basis:28px!important;font-size:14px!important;
}

/* Ligne principale : température dominante + carte, alignées sur toute la largeur. */
.techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.grid2:has(#tempChart){
  width:100%!important;
  grid-template-columns:minmax(0,1.62fr) minmax(330px,.78fr)!important;
  gap:14px!important;
  align-items:stretch!important;
  margin-bottom:14px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo #tempChart{
  width:100%!important;height:260px!important;max-height:260px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo #franceMap{
  width:100%!important;height:260px!important;max-height:260px!important;
}

/* 48 h : vraie carte pleine largeur, graphique 70 % + lecture opérationnelle 30 %. */
.techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.card.tv-hourly-card:has(#hourlyChart){
  width:100%!important;
  max-width:none!important;
  margin:0 0 14px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.9fr) minmax(285px,.72fr)!important;
  gap:14px!important;
  padding:16px 17px!important;
  align-items:stretch!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-hourly-main{
  min-width:0!important;
  width:100%!important;
  padding:0!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .chart-wrap:has(#hourlyChart){
  width:100%!important;
  max-width:none!important;
  overflow:hidden!important;
  margin:4px 0 0!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo #hourlyChart{
  display:block!important;
  width:100%!important;
  height:250px!important;
  max-height:250px!important;
  margin:0!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside{
  display:grid!important;
  grid-template-rows:auto auto auto!important;
  gap:8px!important;
  min-width:0!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside article{
  padding:10px 12px!important;
  border-radius:12px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-now-value{
  margin:4px 0 6px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-now-value>span,
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-now-value>strong{
  font-size:22px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-now-card dl>div,
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-card li{
  padding:4px 0!important;
}

/* Historique + DJU : deux cartes analytiques compactes sur la même ligne. */
.techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.tv-weather-bottom{
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:14px!important;
  align-items:stretch!important;
  margin:0 0 14px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-bottom>#cardHistorique,
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-bottom>.card:has(#djuChart){
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:15px 16px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo #cardHistorique .chart-wrap{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo #histChart{
  width:100%!important;height:190px!important;max-height:190px!important;margin:0!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-bottom .grid2b:has(#djuChart){
  display:grid!important;
  grid-template-columns:minmax(280px,.92fr) minmax(260px,1.08fr)!important;
  gap:10px!important;
  align-items:start!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-bottom #djuChart{
  width:100%!important;height:188px!important;max-height:188px!important;margin:0!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-bottom .tiles{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-bottom .tile{
  min-height:70px!important;
  padding:8px 9px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-bottom .tile .value{font-size:17px!important}

/* Typographie plus lisible mais discrète. */
.techview-app .smr2 .smr-app-hote #panel-meteo .card h2{
  font-size:12.5px!important;
  line-height:1.25!important;
  margin-bottom:4px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .card .desc{
  font-size:9.5px!important;
  line-height:1.45!important;
  margin-bottom:8px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .legend{
  margin-top:6px!important;
  gap:10px!important;
  font-size:9px!important;
  flex-wrap:wrap!important;
}

@media(max-width:1280px){
  .techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.card.tv-hourly-card:has(#hourlyChart){
    grid-template-columns:minmax(0,1.5fr) minmax(250px,.75fr)!important;
  }
  .techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.tv-weather-bottom{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:980px){
  .techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.tv-meteo-context{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.grid2:has(#tempChart),
  .techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.card.tv-hourly-card:has(#hourlyChart){
    grid-template-columns:1fr!important;
  }
  .techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:none!important;
  }
}
@media(max-width:700px){
  .techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.tv-meteo-context,
  .techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside,
  .techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-bottom .grid2b:has(#djuChart){
    grid-template-columns:1fr!important;
  }
  .techview-app .smr2 .smr-app-hote #panel-meteo #tempChart,
  .techview-app .smr2 .smr-app-hote #panel-meteo #franceMap,
  .techview-app .smr2 .smr-app-hote #panel-meteo #hourlyChart,
  .techview-app .smr2 .smr-app-hote #panel-meteo #histChart,
  .techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-bottom #djuChart{
    height:auto!important;max-height:none!important;
  }
}

/* ================================================================
   v1.8.3 · Météo — correction du ratio réel du graphique 48 h
   ================================================================ */
/*
 * Le SVG horaire possède un viewBox 900×430. Lui imposer une faible hauteur
 * obligeait le navigateur à conserver son ratio en le réduisant au centre de
 * la carte. On laisse maintenant le SVG prendre toute la largeur de sa colonne
 * avec son ratio natif : aucune déformation et aucun grand vide latéral.
 */
.techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.card.tv-hourly-card:has(#hourlyChart){
  grid-template-columns:minmax(0,2fr) minmax(300px,.72fr)!important;
  gap:16px!important;
  padding:16px 17px 15px!important;
  align-items:stretch!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-hourly-main{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  width:100%!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .chart-wrap:has(#hourlyChart){
  flex:1 1 auto!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  overflow:visible!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo #hourlyChart{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:900 / 430!important;
  margin:0!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside{
  height:100%!important;
  display:grid!important;
  grid-template-rows:minmax(0,1.18fr) minmax(0,1fr) auto!important;
  gap:9px!important;
  align-self:stretch!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside article{
  min-height:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-now-card dl{
  margin-top:auto!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-card ul{
  margin-top:5px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-eco-mini{
  min-height:70px!important;
}

/* Les rangées basses restent compactes : elles ne doivent pas reprendre le
   comportement du grand graphique 48 h. */
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-bottom #histChart{
  aspect-ratio:auto!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-bottom #djuChart{
  aspect-ratio:auto!important;
}

@media(max-width:1280px){
  .techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.card.tv-hourly-card:has(#hourlyChart){
    grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr)!important;
  }
}
@media(max-width:980px){
  .techview-app .smr2 .smr-app-hote #panel-meteo #meteoContent>.card.tv-hourly-card:has(#hourlyChart){
    grid-template-columns:1fr!important;
  }
  .techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside{
    height:auto!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:none!important;
  }
}
@media(max-width:700px){
  .techview-app .smr2 .smr-app-hote #panel-meteo #hourlyChart{
    min-width:720px!important;
    aspect-ratio:900 / 430!important;
  }
  .techview-app .smr2 .smr-app-hote #panel-meteo .chart-wrap:has(#hourlyChart){
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
}

/* ================================================================
   v1.8.4 · Météo — cartes opérationnelles + carte interactive
   ================================================================ */

/* Colonne droite du 48 h : cartes lisibles, colorées et compactes. */
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  height:auto!important;
  align-self:start!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside article{
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  padding:13px 14px!important;
  border:1px solid color-mix(in oklab,var(--grid) 88%,transparent)!important;
  border-radius:15px!important;
  box-shadow:0 6px 18px rgba(15,23,42,.035)!important;
  overflow:hidden!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside article:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--accent,#2563eb);
  opacity:.75;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-now-card{
  min-height:174px!important;
  background:linear-gradient(145deg,color-mix(in oklab,#3b82f6 7%,var(--surface)),var(--surface) 64%)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-card{
  min-height:186px!important;
  background:linear-gradient(145deg,color-mix(in oklab,#f59e0b 6%,var(--surface)),var(--surface) 66%)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-eco-mini{
  min-height:88px!important;
  background:linear-gradient(145deg,color-mix(in oklab,#22c55e 7%,var(--surface)),var(--surface) 70%)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-eco-mini.warning{
  background:linear-gradient(145deg,color-mix(in oklab,#f59e0b 9%,var(--surface)),var(--surface) 70%)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-eco-mini.critical{
  background:linear-gradient(145deg,color-mix(in oklab,#ef4444 8%,var(--surface)),var(--surface) 70%)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-aside-head{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:34px!important;
  margin:0 0 9px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-aside-head>span:nth-child(2){
  display:flex!important;
  flex:1 1 auto!important;
  min-width:0!important;
  flex-direction:column!important;
  gap:1px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-aside-head small{
  margin:0!important;
  font-size:8.5px!important;
  line-height:1.15!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
  font-weight:800!important;
  color:var(--muted)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-aside-head b{
  font-size:9.5px!important;
  line-height:1.2!important;
  font-weight:700!important;
  color:var(--text2)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-aside-icon{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:10px!important;
  font-size:17px!important;
  background:var(--surface)!important;
  box-shadow:0 4px 12px rgba(15,23,42,.06)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-aside-icon-sun{background:#fff7db!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-aside-icon-risk{background:#fff1e8!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-aside-icon-eco{background:#e9fbed!important}

.techview-app .smr2 .smr-app-hote #panel-meteo .tv-now-value{
  display:flex!important;
  align-items:baseline!important;
  gap:8px!important;
  margin:4px 0 9px!important;
  padding-bottom:8px!important;
  border-bottom:1px solid var(--grid)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-now-value>strong{
  font-size:25px!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
  color:var(--text)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-now-value>span{
  font-size:8.5px!important;
  color:var(--muted)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-now-card dl{
  margin:0!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px 10px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-now-card dl>div{
  display:flex!important;
  justify-content:space-between!important;
  gap:8px!important;
  padding:5px 0!important;
  border-top:0!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-now-card dt{
  font-size:8.5px!important;
  color:var(--muted)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-now-card dd{
  margin:0!important;
  font-size:9px!important;
  font-weight:800!important;
  color:var(--text)!important;
}

.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-card header{margin-bottom:5px!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-card ul{margin:0!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-card li{
  grid-template-columns:30px minmax(0,1fr) auto!important;
  gap:8px!important;
  padding:6px 0!important;
  border-top:1px solid color-mix(in oklab,var(--grid) 88%,transparent)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-card li:first-child{border-top:0!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-icon{
  width:26px!important;height:26px!important;display:grid!important;place-items:center!important;
  border-radius:8px!important;font-size:13px!important;background:var(--surface)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-icon.frost{background:#e9f4ff!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-icon.heat{background:#fff4dd!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-icon.wind{background:#edf3f7!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-icon.rain{background:#e8f3ff!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-card li>b{font-size:9px!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-card li>em{
  padding:3px 7px!important;border-radius:999px!important;font-size:8.5px!important;background:#eef8f1!important;color:#19863d!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-card li.warning>em{background:#fff6df!important;color:#a46500!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-card li.serious>em{background:#fff0e8!important;color:#c45b22!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-card li.critical>em{background:#feecec!important;color:#c43232!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-badge,
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-eco-state{
  margin-left:auto!important;
  white-space:nowrap!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:800!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-eco-state.good{background:#e7f8eb!important;color:#15803d!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-eco-state.warning{background:#fff4d6!important;color:#a16207!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-eco-state.critical{background:#fee8e8!important;color:#b91c1c!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-eco-mini p{
  margin:2px 0 0 41px!important;
  font-size:8.5px!important;
  line-height:1.35!important;
  color:var(--muted)!important;
}

/* Carte du parc : sélecteur local + points accessibles et dédoublonnés. */
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-card{
  position:relative!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-toolbar{
  display:flex!important;
  align-items:end!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:7px 0 4px!important;
  padding:8px 9px!important;
  border:1px solid var(--grid)!important;
  border-radius:11px!important;
  background:color-mix(in oklab,var(--surface2) 72%,var(--surface))!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-toolbar label{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-toolbar label>span{
  font-size:8px!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
  color:var(--muted)!important;
  font-weight:800!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-select{
  width:100%!important;
  min-height:34px!important;
  padding:6px 30px 6px 10px!important;
  border:1px solid color-mix(in oklab,var(--grid) 95%,#cbd5e1)!important;
  border-radius:9px!important;
  background:var(--surface)!important;
  color:var(--text)!important;
  font:inherit!important;
  font-size:9.5px!important;
  font-weight:700!important;
  outline:none!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-select:focus{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 13%,transparent)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-hint{
  max-width:130px!important;
  font-size:7.8px!important;
  line-height:1.3!important;
  color:var(--muted)!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-land{
  fill:color-mix(in oklab,var(--grid) 72%,var(--surface))!important;
  stroke:color-mix(in oklab,var(--muted) 32%,var(--grid))!important;
  stroke-width:1.1!important;
  stroke-linejoin:round!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-point{
  cursor:pointer!important;
  outline:none!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-hit{
  fill:transparent!important;
  stroke:transparent!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-dot{
  stroke:var(--surface)!important;
  stroke-width:2.8!important;
  filter:drop-shadow(0 2px 3px rgba(15,23,42,.22));
  transition:r .15s ease,filter .15s ease!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-point:hover .tv-map-dot,
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-point:focus .tv-map-dot{
  r:8.5px!important;
  filter:drop-shadow(0 3px 5px rgba(15,23,42,.32));
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-ring{
  fill:none!important;
  stroke:var(--accent,#2563eb)!important;
  stroke-width:2!important;
  opacity:.7!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-label{
  fill:var(--text)!important;
  font-size:9.5px!important;
  font-weight:800!important;
  paint-order:stroke!important;
  stroke:var(--surface)!important;
  stroke-width:4!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-card .chart-wrap{
  margin-top:0!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-card #franceMap{
  height:235px!important;
  max-height:235px!important;
}

@media(max-width:980px){
  .techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside article{min-height:0!important}
}
@media(max-width:700px){
  .techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside{grid-template-columns:1fr!important}
  .techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-toolbar{align-items:stretch!important;flex-direction:column!important}
  .techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-hint{max-width:none!important}
  .techview-app .smr2 .smr-app-hote #panel-meteo .tv-now-card dl{grid-template-columns:1fr!important}
}

/* ================================================================
   v1.8.5 · Ajustements exploitation : carte + réseau + aside météo
   ================================================================ */
/* Le choix du site quitte la carte et devient un contrôle de contexte. */
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-context-site .tv-context-copy{
  min-width:0;display:flex;flex-direction:column;gap:4px;width:100%;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-context-select{
  width:100%;min-width:0;height:32px;padding:5px 30px 5px 9px;border:1px solid var(--border);
  border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:9.5px;font-weight:750;outline:none;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-context-select:focus{
  border-color:var(--accent,#2563eb);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent,#2563eb) 13%,transparent);
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-toolbar{display:none!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-card .chart-wrap{
  min-height:292px!important;display:flex!important;align-items:center!important;justify-content:center!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-card #franceMap{
  height:290px!important;max-height:290px!important;width:100%!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-map-link{
  stroke:color-mix(in oklab,var(--muted) 45%,transparent)!important;stroke-width:1!important;stroke-dasharray:3 3!important;
}

/* La lecture opérationnelle du 48 h doit être centrée, pas collée en haut. */
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside{
  display:flex!important;flex-direction:column!important;justify-content:center!important;align-self:stretch!important;gap:10px!important;
  padding-block:8px!important;
}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside article{flex:0 0 auto!important}

/* Réseau : cockpit de KPI réellement exploitable. */
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-grid-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:0 0 12px!important;
}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-kpi{
  position:relative;min-height:104px!important;padding:13px 13px 12px 48px!important;overflow:hidden;
}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-ico{
  position:absolute;left:12px;top:13px;display:grid!important;place-items:center;width:28px;height:28px;margin:0!important;
  border-radius:9px;background:color-mix(in oklab,var(--s1) 10%,var(--surface));font-size:15px!important;
}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-kpi small{
  display:block!important;font-size:8px!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:var(--muted)!important;font-weight:800!important;
}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-kpi strong{
  display:block!important;margin-top:7px!important;font-size:20px!important;letter-spacing:-.035em!important;line-height:1!important;color:var(--text)!important;
}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-kpi em{
  display:block!important;margin-top:7px!important;font-style:normal!important;font-size:8.5px!important;line-height:1.35!important;color:var(--text2)!important;
}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-kpi-2{border-color:color-mix(in oklab,var(--good) 35%,var(--border))!important}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-kpi-3{border-color:color-mix(in oklab,#22c55e 28%,var(--border))!important}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-kpi-5{border-color:color-mix(in oklab,#38bdf8 28%,var(--border))!important}

.techview-app .smr2 .smr-app-hote #panel-reseau .tv-grid-insights{
  margin:0 0 14px;padding:13px 14px;border:1px solid var(--border);border-radius:13px;background:var(--surface);
}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-insights-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;
}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-insights-head b{display:block;font-size:11px;color:var(--text)}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-insights-head small{display:block;margin-top:2px;font-size:8.5px;color:var(--muted)}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-live-pill{
  padding:4px 8px;border-radius:999px;background:#eaf8ee;color:#16803b;font-size:8px;font-weight:800;white-space:nowrap;
}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-insights-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-insights-grid article{
  display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;padding:10px;border:1px solid var(--grid);border-radius:10px;background:color-mix(in oklab,var(--page) 68%,var(--surface));
}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-insights-grid article>span{font-size:17px}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-insights-grid small{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:760}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-insights-grid strong{display:block;margin-top:3px;font-size:14px;color:var(--text)}
.techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-insights-grid em{display:block;margin-top:2px;font-style:normal;font-size:8px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Les graphes réseau gardent de la place sans devenir envahissants. */
.techview-app .smr2 .smr-app-hote #panel-reseau #reseauContent>.grid2b{
  grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr)!important;
}
.techview-app .smr2 .smr-app-hote #panel-reseau #consoChart{height:260px!important;max-height:260px!important}
.techview-app .smr2 .smr-app-hote #panel-reseau #mixChart{height:260px!important;max-height:260px!important}
.techview-app .smr2 .smr-app-hote #panel-reseau #co2Chart{height:225px!important;max-height:225px!important}

@media(max-width:1250px){
  .techview-app .smr2 .smr-app-hote #panel-reseau .tv-grid-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:980px){
  .techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;padding-block:0!important}
  .techview-app .smr2 .smr-app-hote #panel-reseau #reseauContent>.grid2b{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  .techview-app .smr2 .smr-app-hote #panel-reseau .tv-grid-kpis,
  .techview-app .smr2 .smr-app-hote #panel-reseau .tv-net-insights-grid{grid-template-columns:1fr!important}
  .techview-app .smr2 .smr-app-hote #panel-meteo .tv-weather-aside{grid-template-columns:1fr!important}
}

/* ================================================================
   v1.8.6 · Documents métier + carte Siège premium
   ================================================================ */
.techview-app .smr2 .smr2-pj-button{background:var(--surface);border-color:var(--border);box-shadow:0 2px 8px rgba(15,23,42,.045)}
.techview-app .smr2 .smr2-pj-button:hover{background:color-mix(in oklab,var(--s1) 4%,var(--surface));border-color:color-mix(in oklab,var(--s1) 45%,var(--border))}
.techview-app .smr2 .smr2-pj-card{background:color-mix(in oklab,var(--page) 74%,var(--surface));}
.techview-app .smr2 .smr2-pj-card-actions .b{height:30px;padding-inline:9px}

/* Le siège devient une vraie synthèse de site, pas une simple ligne sombre. */
.techview-app .smr2 .smr2-map-card .smr2-hq-card{margin:15px 0 0;grid-template-columns:178px minmax(0,1fr) 194px;min-height:176px;border-radius:16px;background:var(--surface);box-shadow:0 8px 24px rgba(15,23,42,.065)}
.techview-app .smr2 .smr2-hq-media{min-height:176px}
.techview-app .smr2 .smr2-hq-copy{padding:15px 16px}
.techview-app .smr2 .smr2-hq-heading h3{font-size:15.5px;letter-spacing:-.025em}
.techview-app .smr2 .smr2-hq-facts{gap:10px 13px;margin-top:15px}
.techview-app .smr2 .smr2-hq-weather{padding:15px 14px}
.techview-app .smr2 .smr2-hq-weather-main strong{font-size:23px}
@media(max-width:1200px){.techview-app .smr2 .smr2-map-card .smr2-hq-card{grid-template-columns:145px minmax(0,1fr)}.techview-app .smr2 .smr2-hq-weather{grid-column:1/-1}}
@media(max-width:700px){.techview-app .smr2 .smr2-map-card .smr2-hq-card{grid-template-columns:1fr}.techview-app .smr2 .smr2-hq-weather{grid-column:auto}}

/* =========================================================
   Namthy 1.9 — espaces métier
   Même grammaire visuelle, accent et densité adaptés au profil.
   ========================================================= */
body[data-namthy-profile="technique"]{--profile-accent:#2563eb;--profile-accent-rgb:37,99,235;--profile-soft:#eff6ff;--profile-sidebar:#101b2a}
body[data-namthy-profile="property"]{--profile-accent:#0f8a5f;--profile-accent-rgb:15,138,95;--profile-soft:#edf9f3;--profile-sidebar:#083c2f}
body[data-namthy-profile="securite"]{--profile-accent:#c62828;--profile-accent-rgb:198,40,40;--profile-soft:#fff1f1;--profile-sidebar:#351318}
body[data-namthy-profile] .smr2-wrap{--s1:var(--profile-accent);--accent:var(--profile-accent)}
body[data-namthy-profile] .smr2-nav{background:linear-gradient(180deg,var(--profile-sidebar),#111a27 82%)}
body[data-namthy-profile="property"] .smr2-nav{background:linear-gradient(180deg,#073b2d,#0b3128 82%)}
body[data-namthy-profile="securite"] .smr2-nav{background:linear-gradient(180deg,#361317,#24141a 82%)}
body[data-namthy-profile] .smr2-nav button[aria-current="true"],body[data-namthy-profile] .tv-nav-item[aria-current="true"]{background:rgba(var(--profile-accent-rgb),.20);box-shadow:inset 3px 0 var(--profile-accent)}
body[data-namthy-profile] .b.p,body[data-namthy-profile] button.p{background:var(--profile-accent);border-color:var(--profile-accent)}
body[data-namthy-profile] .tv-page-heading:after{background:var(--profile-accent)}

.smr2-profile-dashboard{display:grid;gap:16px}.smr2-profile-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.smr2-profile-kpis .kpi{min-height:106px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 18px rgba(15,23,42,.04);position:relative;overflow:hidden}.smr2-profile-kpis .kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--profile-accent)}
.smr2-profile-grid-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr);gap:16px;align-items:stretch}.smr2-profile-grid-main>.carte{height:100%;margin:0}.smr2-profile-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.smr2-profile-grid-3{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:16px}.smr2-profile-bottom-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.smr2-profile-bottom-kpis .kpi{background:linear-gradient(135deg,#fff,var(--profile-soft));border:1px solid rgba(var(--profile-accent-rgb),.16);border-radius:14px}
.smr2-profile-site-card{display:flex;flex-direction:column;gap:12px}.smr2-profile-site-photo{width:100%;height:170px;object-fit:cover;border-radius:12px;background:linear-gradient(135deg,var(--profile-soft),#e7edf6)}.smr2-profile-site-photo.placeholder{display:grid;place-items:center;font-size:48px}.smr2-profile-site-title{display:grid;gap:3px}.smr2-profile-site-title strong{font-size:18px}.smr2-profile-site-title span{font-size:12px;color:var(--muted)}.smr2-profile-site-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.smr2-profile-site-grid>div{padding:9px 10px;border-radius:10px;background:var(--profile-soft);display:grid;gap:2px}.smr2-profile-site-grid small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.smr2-profile-site-grid b{font-size:13px}
.smr2-profile-risk{display:flex;flex-direction:column;gap:14px;height:100%}.smr2-profile-risk-head{padding:16px;border-radius:13px;background:linear-gradient(135deg,var(--profile-soft),#fff);display:flex;gap:12px;align-items:center}.smr2-profile-risk-head>div{display:grid;gap:2px}.smr2-profile-risk-head small{font-size:10px;text-transform:uppercase;color:var(--muted)}.smr2-profile-risk-head strong{font-size:20px}.smr2-profile-risk-head span:last-child{font-size:12px;color:var(--muted)}.smr2-profile-risk-dot{width:16px;height:16px;border-radius:50%;box-shadow:0 0 0 6px rgba(34,197,94,.11);background:var(--good)}.smr2-profile-risk-dot.normale{background:var(--warning);box-shadow:0 0 0 6px rgba(245,158,11,.12)}.smr2-profile-risk-dot.importante{background:var(--serious);box-shadow:0 0 0 6px rgba(249,115,22,.12)}.smr2-profile-risk-dot.critique{background:var(--critical);box-shadow:0 0 0 6px rgba(239,68,68,.12)}.smr2-profile-risk-causes{display:grid;gap:7px}.smr2-profile-risk-causes>div{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;padding:8px 4px;border-bottom:1px solid var(--border)}.smr2-profile-risk-causes>div:last-child{border-bottom:0}.smr2-profile-risk-causes b{font-size:12px}.smr2-profile-risk-causes small{display:block;color:var(--muted);font-size:10px}.smr2-risk-icon{width:30px;height:30px;border-radius:9px;background:#f3f6fa;display:grid;place-items:center}.smr2-risk-icon.importante{background:#fff1e8}.smr2-risk-icon.critique{background:#feecec}.smr2-risk-icon.normale{background:#fff8dd}
.smr2-profile-budget-rows,.smr2-profile-stat-list{display:grid;gap:7px;margin-top:12px}.smr2-profile-budget-rows>div,.smr2-profile-stat-list>div{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border);font-size:12px}.smr2-profile-budget-rows>div:last-child,.smr2-profile-stat-list>div:last-child{border-bottom:0}.smr2-rent-summary{display:grid;gap:2px;margin:12px 0}.smr2-rent-summary strong{font-size:25px}.smr2-rent-summary span{font-size:12px;color:var(--muted)}.smr2-icon-kpis{display:flex;gap:12px;margin:14px 0}.smr2-icon-kpis>div{flex:1;min-height:100px;border:1px solid var(--border);border-radius:12px;background:var(--profile-soft);display:grid;place-items:center;text-align:center;padding:10px}.smr2-icon-kpis span{font-size:26px}.smr2-icon-kpis b{font-size:22px}.smr2-icon-kpis small{color:var(--muted);font-size:10px}.smr2-quick-links{display:grid;gap:8px}.smr2-quick-links .b{text-align:left;justify-content:flex-start;width:100%}.smr2-section-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px;padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:14px}.smr2-section-toolbar h2{margin:0 0 4px}.smr2-section-toolbar p{margin:0}.smr2-reporting .carte{break-inside:avoid}

/* Carte : le risque unifié est lisible au survol, les points restent prioritaires. */
.smr2-profile-dashboard .smr2-map-card .smr2-map-zone{min-height:300px}.smr2-profile-dashboard .smr2-map-card svg{max-height:330px}

@media(max-width:1200px){.smr2-profile-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.smr2-profile-grid-main{grid-template-columns:1fr}.smr2-profile-grid-3{grid-template-columns:1fr 1fr}.smr2-profile-grid-3>.carte:first-child{grid-column:1/-1}}
@media(max-width:760px){.smr2-profile-kpis,.smr2-profile-grid-2,.smr2-profile-grid-3,.smr2-profile-bottom-kpis{grid-template-columns:1fr}.smr2-profile-grid-3>.carte:first-child{grid-column:auto}.smr2-section-toolbar{align-items:stretch;flex-direction:column}.smr2-profile-site-photo{height:145px}}

@media print{.smr2-nav,.smr2-top,.tv-topbar,#smr2-ia,.smr2-actions,.b{display:none!important}.smr2-profile-dashboard,.smr2-reporting{display:block}.carte{box-shadow:none!important;break-inside:avoid}}
.smr2-tech-live{display:flex;flex-direction:column;gap:12px}.smr2-current-weather{display:flex;gap:14px;align-items:center;padding:14px;border-radius:13px;background:linear-gradient(135deg,#fff8df,#fff);border:1px solid #fde7aa}.smr2-current-weather-icon{font-size:34px}.smr2-current-weather>div{display:grid;gap:2px}.smr2-current-weather small{text-transform:uppercase;font-size:10px;color:var(--muted)}.smr2-current-weather strong{font-size:25px}.smr2-current-weather span:last-child{font-size:11px;color:var(--muted)}
.smr2-domain-switch{min-width:150px;font-weight:650;border-color:rgba(var(--profile-accent-rgb),.24)!important;background:var(--profile-soft)!important;color:var(--text)!important}

/* ===== V1.9.1 · identité métier fiable + KPI profil ===== */
body[data-namthy-profile="technique"],.techview-app #smr2-app[data-namthy-profile="technique"]{--profile-accent:#2563eb;--profile-accent-rgb:37,99,235;--profile-soft:#eff6ff;--profile-sidebar:#101b2a}
body[data-namthy-profile="property"],.techview-app #smr2-app[data-namthy-profile="property"]{--profile-accent:#0f8a5f;--profile-accent-rgb:15,138,95;--profile-soft:#edf9f3;--profile-sidebar:#073b2d}
body[data-namthy-profile="securite"],.techview-app #smr2-app[data-namthy-profile="securite"]{--profile-accent:#c62828;--profile-accent-rgb:198,40,40;--profile-soft:#fff1f1;--profile-sidebar:#351318}
.techview-app #smr2-app[data-namthy-profile]{--s1:var(--profile-accent)!important;--accent:var(--profile-accent)!important}
body[data-namthy-profile] .techview-app .smr2-nav{background:linear-gradient(180deg,var(--profile-sidebar) 0%,color-mix(in srgb,var(--profile-sidebar) 76%,#0b1220 24%) 100%)!important}
body[data-namthy-profile] .techview-app .smr2-nav>.tv-nav-item[aria-current="true"]{background:linear-gradient(90deg,rgba(var(--profile-accent-rgb),.30),rgba(var(--profile-accent-rgb),.13))!important;box-shadow:inset 3px 0 0 var(--profile-accent)!important;color:#fff!important}
body[data-namthy-profile] .techview-app .tv-brand-mark{color:var(--profile-accent)!important}
body[data-namthy-profile] .techview-app .smr2-domain-switch{border-color:rgba(var(--profile-accent-rgb),.34)!important;background:var(--profile-soft)!important;box-shadow:0 0 0 3px rgba(var(--profile-accent-rgb),.06)}
body[data-namthy-profile] .techview-app .smr2-profile-dashboard>.carte,
body[data-namthy-profile] .techview-app .smr2-profile-dashboard .smr2-profile-grid-main>.carte{border-color:rgba(var(--profile-accent-rgb),.15)}
body[data-namthy-profile] .techview-app .smr2-profile-kpis .kpi,
body[data-namthy-profile] .techview-app .smr2-profile-bottom-kpis .kpi{box-shadow:0 7px 22px rgba(var(--profile-accent-rgb),.06)}
body[data-namthy-profile] .techview-app .smr2-profile-bottom-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
body[data-namthy-profile="property"] .techview-app .smr2-profile-dashboard{background:linear-gradient(180deg,rgba(15,138,95,.018),transparent 240px)}
body[data-namthy-profile="securite"] .techview-app .smr2-profile-dashboard{background:linear-gradient(180deg,rgba(198,40,40,.018),transparent 240px)}
body[data-namthy-profile="technique"] .techview-app .smr2-profile-dashboard{background:linear-gradient(180deg,rgba(37,99,235,.018),transparent 240px)}
@media(max-width:1100px){body[data-namthy-profile] .techview-app .smr2-profile-bottom-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body[data-namthy-profile] .techview-app .smr2-profile-bottom-kpis{grid-template-columns:1fr}}

/* ===== V1.9.2 · cockpit technique enrichi + carte du parc unifiée ===== */
.techview-app .smr2-tech-cockpit{gap:14px}
.techview-app .smr2-tech-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.techview-app .smr2-tech-kpi-grid .kpi{min-height:102px;background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:0 6px 20px rgba(15,23,42,.045);padding:14px 15px;position:relative;overflow:hidden}
.techview-app .smr2-tech-kpi-grid .kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--profile-accent)}
.techview-app .smr2-tech-kpi-grid .kpi.alerte:before{background:var(--critical)}
.techview-app .smr2-tech-kpi-grid .kpi.tiede:before{background:var(--warning)}
.techview-app .smr2-tech-kpi-grid .kpi .l{font-size:10px;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);font-weight:750}
.techview-app .smr2-tech-kpi-grid .kpi .v{font-size:25px;line-height:1.05;margin:8px 0 4px;font-weight:780;color:var(--text)}
.techview-app .smr2-tech-kpi-grid .kpi .d{font-size:10px;color:var(--muted)}

.techview-app .smr2-tech-hero{display:grid;grid-template-columns:minmax(460px,1.42fr) minmax(340px,.9fr) minmax(300px,.88fr);gap:14px;align-items:stretch}
.techview-app .smr2-tech-hero>.carte,.techview-app .smr2-tech-side-stack>.carte{margin:0;height:100%}
.techview-app .smr2-tech-side-stack{display:grid;grid-template-rows:auto 1fr;gap:14px;min-width:0}
.techview-app .smr2-tech-risk .smr2-profile-risk{height:auto}
.techview-app .smr2-tech-controls .tablewrap{max-height:230px;overflow:auto}
.techview-app .smr2-tech-controls table{font-size:10.5px}

/* Une carte, un modèle : mêmes proportions / points / sélection partout. */
.techview-app .smr2-map-card{display:flex;flex-direction:column;min-height:430px}
.techview-app .smr2-map-card .smr2-map-zone{flex:1;min-height:310px;display:grid;place-items:center}
.techview-app .smr2-map-card .smr2-map-zone svg{width:min(100%,520px);height:auto;max-height:360px;aspect-ratio:320/330;margin:auto;display:block}
.techview-app .smr2-map-card .carte-legende{margin-top:auto;padding-top:8px}

.techview-app .smr2-tech-site-card{display:grid;grid-template-rows:auto auto auto auto auto auto;align-content:start;gap:12px;min-width:0}
.techview-app .smr2-tech-site-photo{width:100%;height:164px;border-radius:12px;object-fit:cover;background:linear-gradient(135deg,var(--profile-soft),#e8eef7);display:block}
.techview-app .smr2-tech-site-photo.placeholder{display:grid;place-items:center;font-size:44px}
.techview-app .smr2-tech-site-title{display:grid;gap:2px}.techview-app .smr2-tech-site-title strong{font-size:17px}.techview-app .smr2-tech-site-title span{font-size:10.5px;color:var(--muted)}
.techview-app .smr2-tech-site-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.techview-app .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(--profile-soft);min-width:0}
.techview-app .smr2-tech-site-facts>div>span{grid-row:1/3;display:grid;place-items:center;font-size:17px}.techview-app .smr2-tech-site-facts small{font-size:9px;color:var(--muted);text-transform:uppercase}.techview-app .smr2-tech-site-facts b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.techview-app .smr2-tech-site-weather{display:flex;align-items:flex-start;gap:10px;padding:10px 11px;border:1px solid rgba(var(--profile-accent-rgb),.13);background:linear-gradient(135deg,var(--profile-soft),#fff);border-radius:11px}
.techview-app .smr2-tech-site-weather .emoji{flex:0 0 auto;font-size:30px}.techview-app .smr2-tech-site-weather>div{display:grid;gap:2px;min-width:0}.techview-app .smr2-tech-site-weather small{font-size:9px;color:var(--muted);text-transform:uppercase}.techview-app .smr2-tech-site-weather strong{font-size:21px;line-height:1.05}.techview-app .smr2-tech-site-weather span:last-child{font-size:9.5px;line-height:1.35;color:var(--muted);word-break:break-word}

.techview-app .smr2-tech-chart-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:14px}.techview-app .smr2-tech-chart-grid>.carte{margin:0;min-width:0}
.techview-app .smr2-tech-series svg{display:block;width:100%;height:auto;max-height:170px}.techview-app .smr2-tech-chart-foot{display:flex;justify-content:flex-end;margin-top:5px;color:var(--profile-accent);font-size:11px}
.techview-app .smr2-tech-cockpit .smr2-compact-chart svg{max-height:178px}

.techview-app .smr2-tech-bottom-grid{display:grid;grid-template-columns:1.22fr 1.05fr .88fr .85fr;gap:14px;align-items:stretch}
.techview-app .smr2-tech-bottom-grid>.carte{margin:0;min-width:0;height:100%}.techview-app .smr2-tech-bottom-grid table{font-size:10.5px}
.techview-app .smr2-tech-maint-kpis{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.techview-app .smr2-tech-maint-kpis>div{padding:9px 10px;border-radius:10px;background:var(--profile-soft);display:grid;gap:2px}.techview-app .smr2-tech-maint-kpis small{font-size:9px;color:var(--muted);text-transform:uppercase}.techview-app .smr2-tech-maint-kpis b{font-size:15px}
.techview-app .smr2-tech-perf-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.techview-app .smr2-tech-perf-grid>div{min-height:92px;padding:10px;border-radius:11px;background:linear-gradient(135deg,var(--profile-soft),#fff);border:1px solid rgba(var(--profile-accent-rgb),.12);display:grid;align-content:center;gap:3px}.techview-app .smr2-tech-perf-grid span{font-size:20px}.techview-app .smr2-tech-perf-grid strong{font-size:19px}.techview-app .smr2-tech-perf-grid small{font-size:9.5px;color:var(--muted)}

/* La carte historique météo utilise le même gabarit visuel que les cartes V2. */
.techview-app #smr-v1-zone #franceMap{display:block;width:min(100%,520px)!important;height:auto!important;max-height:360px;aspect-ratio:320/330;margin:auto}
.techview-app #smr-v1-zone .grid2>.card:has(#franceMap){min-height:430px;display:flex!important;flex-direction:column}.techview-app #smr-v1-zone .grid2>.card:has(#franceMap) .chart-wrap{flex:1;display:grid;place-items:center}.techview-app #smr-v1-zone .grid2>.card:has(#franceMap) .legend{margin-top:auto}

@media(max-width:1500px){.techview-app .smr2-tech-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.techview-app .smr2-tech-hero{grid-template-columns:minmax(430px,1.35fr) minmax(320px,.9fr)}.techview-app .smr2-tech-side-stack{grid-column:1/-1;grid-template-columns:1fr 1.25fr;grid-template-rows:auto}.techview-app .smr2-tech-bottom-grid{grid-template-columns:1fr 1fr}.techview-app .smr2-tech-chart-grid{grid-template-columns:1fr 1fr}.techview-app .smr2-tech-chart-grid>.carte:first-child{grid-column:1/-1}}
@media(max-width:1050px){.techview-app .smr2-tech-hero,.techview-app .smr2-tech-chart-grid,.techview-app .smr2-tech-bottom-grid{grid-template-columns:1fr}.techview-app .smr2-tech-side-stack{grid-column:auto;grid-template-columns:1fr}.techview-app .smr2-tech-chart-grid>.carte:first-child{grid-column:auto}.techview-app .smr2-map-card{min-height:390px}}
@media(max-width:720px){.techview-app .smr2-tech-kpi-grid{grid-template-columns:1fr 1fr}.techview-app .smr2-tech-kpi-grid .kpi{min-height:92px}.techview-app .smr2-tech-site-facts,.techview-app .smr2-tech-perf-grid{grid-template-columns:1fr}.techview-app .smr2-map-card .smr2-map-zone{min-height:260px}}


/* V1.9.3 · composants site partagés entre Technique / Property / Sécurité */
.techview-app .smr2-profile-site-card,.techview-app .smr2-tech-site-card{overflow:hidden}
.techview-app .smr2-profile-site-photo,.techview-app .smr2-tech-site-photo{display:block;width:100%;object-fit:cover;object-position:center;border:1px solid var(--border)}
.techview-app .smr2-profile-site-photo{height:190px}
.techview-app .smr2-profile-site-photo.placeholder,.techview-app .smr2-tech-site-photo.placeholder{border:1px solid rgba(var(--profile-accent-rgb),.10);background:linear-gradient(135deg,var(--profile-soft),color-mix(in oklab,var(--profile-soft) 55%,#fff));}
.techview-app .smr2-profile-site-card .b.mini,.techview-app .smr2-tech-site-card .b.mini{margin-top:auto}
@media(max-width:760px){.techview-app .smr2-profile-site-photo{height:165px}}

/* V1.9.4 · cohérence stricte des risques par site */
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-card li>em{max-width:185px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-other{margin:8px 0 0!important;padding:7px 9px!important;border-radius:9px!important;background:color-mix(in oklab,var(--warning) 8%,var(--surface))!important;border:1px solid color-mix(in oklab,var(--warning) 18%,var(--border))!important;color:var(--text2)!important;font-size:8.5px!important;line-height:1.35!important}
.techview-app .smr2 .smr-app-hote #panel-meteo .tv-risk-other[hidden]{display:none!important}

/* ================================================================
   1.9.5 · Conditions d'intervention extérieure /100
   ================================================================ */
.techview-app .smr2-weather-conditions{padding:15px 16px!important}
.techview-app .smr2-weather-conditions>.desc{margin:-4px 0 8px!important;font-size:10px!important}
.techview-app .smr2-weather-score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.techview-app .smr2-weather-score{appearance:none;border:1px solid var(--border);border-radius:12px;background:linear-gradient(135deg,#fff,var(--page));color:var(--text);padding:10px 11px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;cursor:pointer;min-width:0;box-shadow:0 3px 10px rgba(15,23,42,.025);transition:.15s ease}
.techview-app .smr2-weather-score:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.065);border-color:rgba(var(--tv-accent-rgb),.22)}
.techview-app .smr2-weather-score-icon{width:31px;height:31px;border-radius:9px;background:#f5f8fc;display:grid;place-items:center;font-size:16px}
.techview-app .smr2-weather-score-copy{display:grid;gap:2px;min-width:0}.techview-app .smr2-weather-score-copy strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.techview-app .smr2-weather-score-copy small{font-size:9px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.techview-app .smr2-weather-score-copy em{font-size:8px;color:var(--muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.techview-app .smr2-weather-score-value{display:grid;justify-items:end;line-height:1}.techview-app .smr2-weather-score-value b{font-size:22px;letter-spacing:-.045em}.techview-app .smr2-weather-score-value small{font-size:8px;color:var(--muted);margin-top:3px}
.techview-app .smr2-weather-score.faible{border-left:3px solid var(--good)}.techview-app .smr2-weather-score.normale{border-left:3px solid var(--warning)}.techview-app .smr2-weather-score.importante{border-left:3px solid var(--serious)}.techview-app .smr2-weather-score.critique{border-left:3px solid var(--critical)}
.techview-app .smr2-weather-conflicts{margin-top:12px;padding-top:11px;border-top:1px solid var(--border)}.techview-app .smr2-weather-conflicts h3{margin:0 0 8px;font-size:10.5px}
@media(max-width:1350px){.techview-app .smr2-weather-score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.techview-app .smr2-weather-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.techview-app .smr2-weather-score-grid{grid-template-columns:1fr}}

/* V1.9.6 · Astreintes / imports */
.techview-app .smr2-oncall-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:14px}
.techview-app .smr2-oncall-analytics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
.techview-app .smr2-oncall-analytics>.carte{margin:0}
.techview-app .smr2-import-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.techview-app .smr2-import-mapping{margin:14px 0;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--page)}
.techview-app .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)}
.techview-app .smr2-map-row:last-child{border-bottom:0}.techview-app .smr2-import-preview .tablewrap{max-height:460px;overflow:auto}
@media(max-width:1450px){.techview-app .smr2-oncall-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.techview-app .smr2-oncall-kpis,.techview-app .smr2-import-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.techview-app .smr2-oncall-analytics{grid-template-columns:1fr}.techview-app .smr2-map-row{grid-template-columns:1fr}}
@media(max-width:650px){.techview-app .smr2-oncall-kpis,.techview-app .smr2-import-kpis{grid-template-columns:1fr}}

/* v1.9.7 · suivi engagements / astreintes */
.techview-app .smr2-import-card .smr2-import-preview{margin-top:14px!important}
.techview-app .smr2-import-preview .tablewrap{max-height:520px;overflow:auto}
.techview-app .smr2-oncall .smr2-section-toolbar{position:relative;z-index:2}
.techview-app .smr2-oncall .smr2-oncall-kpis .kpi{min-height:104px}
.techview-app .smr2-oncall .tablewrap{max-height:620px;overflow:auto}
