:root{--bg:#06131f;--panel:#0a1a27;--panel2:#0d2232;--line:#29465a;--text:#f5f8fc;--muted:#9db0c1;--blue:#2d9cff;--red:#ff344d;--orange:#ff9a1f;--yellow:#ffd736;--green:#32d889;--cyan:#17cde8;--purple:#b06cff;--nav:#071725}
*{box-sizing:border-box}html,body{margin:0;background:#020a11;color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif}body{min-height:100vh}.app-shell{width:100%;max-width:1180px;min-height:100vh;margin:0 auto;background:radial-gradient(circle at 20% 0,#0d2031 0,#06131f 35%,#04101a 100%);position:relative;padding:20px 24px 110px;box-shadow:0 0 80px rgba(0,0,0,.55)}a{color:inherit}.app-header{display:flex;align-items:center;gap:14px;padding:2px 2px 16px;border-bottom:1px solid #294155}.app-header img{width:64px;height:64px;border-radius:17px;object-fit:cover;box-shadow:0 0 0 1px #2b648b,0 8px 25px #0007}.app-header div{display:flex;flex-direction:column;min-width:0;flex:1}.app-header strong{font-size:30px;line-height:1.05}.app-header small{font-size:14px;color:#c7d8e7;margin-top:5px}.header-action{width:44px;height:44px;display:grid;place-items:center;color:white;text-decoration:none}.header-action svg{width:26px;height:26px}.screen-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border-bottom:1px solid #294155;min-height:58px;margin-bottom:12px}.screen-header a,.screen-header span{font-size:28px;text-decoration:none;color:#d8e7f3}.screen-header h1{text-align:center;font-size:20px;margin:0}.home-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #31536a;border-radius:14px;overflow:hidden;margin:14px 0 12px;background:#071725}.home-tabs button{border:0;background:transparent;color:#c9d7e2;padding:12px;font-size:14px;cursor:pointer}.home-tabs button+button{border-left:1px solid #213c50}.home-tabs button.active{background:linear-gradient(180deg,#3aa8ff,#1976df);color:white;font-weight:700}.home-pane{display:none}.home-pane.active{display:block}.home-map-wrap{position:relative;height:470px;border-radius:18px;overflow:hidden;border:1px solid #1d4764;background:#06131f;box-shadow:0 16px 35px #0006}.home-map-wrap #homeMap{height:100%;width:100%}.home-map-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 60px rgba(0,0,0,.35)}.leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.58) saturate(.72) contrast(1.15)}.leaflet-container{background:#07131d;font-family:inherit}.leaflet-control-attribution{font-size:8px!important;background:rgba(2,10,17,.72)!important;color:#91a5b5!important}.leaflet-control-attribution a{color:#6fbfff!important}.map-search{display:flex;gap:10px;margin:12px 0 18px}.searchbox{display:flex;align-items:center;gap:9px;flex:1;border:1px solid #31536a;background:#091b29;border-radius:13px;padding:0 14px;color:#78bfff}.searchbox input{width:100%;border:0;outline:0;background:transparent;color:white;padding:13px 0;font-size:14px}.map-search button,.map-toolbar button{border:0;background:#135a88;color:white;border-radius:12px;padding:0 18px;font-weight:700}.category-ribbon{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin:6px 0 18px}.cat-btn{display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none;color:#dce9f4;font-size:12px;padding:10px 4px;border-radius:14px;transition:.2s}.cat-btn:hover{background:#0c2232}.cat-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--cat) 20%,#071725);border:1px solid color-mix(in srgb,var(--cat) 65%,#244);color:var(--cat);box-shadow:0 0 18px color-mix(in srgb,var(--cat) 35%,transparent)}.cat-icon svg{width:27px;height:27px}.compact-list{display:grid;gap:10px}.compact-alert{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #29465a;background:#0a1c2a;border-radius:14px;text-decoration:none}.compact-alert .text{flex:1;min-width:0}.compact-alert strong{display:block;font-size:14px}.compact-alert small{color:#9bb0c0}.fav-empty{display:grid;place-items:center;text-align:center;min-height:260px;border:1px dashed #31536a;border-radius:18px;color:#a7b8c6}.filter-grid{display:flex;flex-wrap:wrap;gap:9px;padding:4px 0 14px;border-bottom:1px solid #21394a}.filter-grid a{padding:9px 14px;border-radius:999px;border:1px solid #31536a;text-decoration:none;color:#dce7ef;font-size:13px;background:#081a28}.filter-grid a.active{background:linear-gradient(180deg,#3ba9ff,#2589ed);border-color:#4cb5ff;color:#fff}.alerts-feed{padding-bottom:20px}.alert-card{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 2px;border-bottom:1px solid #20394a;color:white;text-decoration:none}.alert-medallion{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:var(--cat);background:color-mix(in srgb,var(--cat) 18%,#071725);border:1px solid color-mix(in srgb,var(--cat) 70%,#223);box-shadow:inset 0 0 20px rgba(255,255,255,.04)}.alert-medallion svg{width:31px;height:31px}.alert-main{min-width:0}.alert-main strong{display:block;font-size:16px;line-height:1.28;margin-bottom:4px}.alert-main span{display:block;color:#d5e0e8;font-size:13px}.alert-main small{display:block;color:#76b9df;font-size:12px;margin-top:4px}.alert-side{display:flex;align-items:center;gap:9px}.pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.pill.info{background:#189fdb;color:white}.pill.medium{background:#f8d11f;color:#151515}.pill.high{background:#ff9a1f;color:#181000}.pill.critical{background:#f23142;color:white}.chev{font-size:24px;color:#d7e7f1}.empty-state{text-align:center;padding:70px 20px;color:#9fb3c4}.empty-state b{font-size:54px;color:#32d889}.detail-hero{position:relative;border-radius:18px;overflow:hidden;border:1px solid #29465a;background:#0b1d2b;margin-bottom:14px}.detail-hero img{width:100%;height:330px;object-fit:cover;display:block}.detail-hero.category-art{height:260px;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--cat) 38%,#0a1b28),#07131f 70%)}.detail-hero.category-art svg{width:100px;height:100px;color:var(--cat);filter:drop-shadow(0 0 24px color-mix(in srgb,var(--cat) 60%,transparent))}.detail-card{background:#0a1c2a;border:1px solid #29465a;border-radius:17px;padding:16px;margin-bottom:14px}.detail-title{display:flex;align-items:center;gap:14px}.detail-title h1{font-size:24px;margin:0}.detail-title p{margin:4px 0 0;color:#a6bac9}.detail-card h2{font-size:15px;margin:0 0 10px}.detail-card p{color:#d0dde7;line-height:1.55}.meta-grid{display:grid;grid-template-columns:140px 1fr;gap:9px 12px;font-size:13px}.meta-grid dt{color:#8fa5b7}.meta-grid dd{margin:0;color:#e8f0f6}.timeline{display:grid;gap:10px}.timeline-item{display:grid;grid-template-columns:12px 68px 1fr;gap:8px;align-items:center;font-size:13px}.timeline-item i{width:9px;height:9px;background:#ff3b4e;border-radius:50%;box-shadow:0 0 10px #ff3b4e}.mini-map{height:220px;border-radius:14px;overflow:hidden;border:1px solid #29465a}.map-toolbar{display:flex;gap:10px;margin-bottom:10px}.map-chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 12px}.map-chips button{border:1px solid #31536a;background:#081a28;color:#c4d3df;border-radius:999px;padding:8px 12px}.map-chips button.active{background:#258dec;color:white;border-color:#4cb5ff}.map-screen #fullMap{height:calc(100vh - 245px);min-height:560px;border-radius:18px;overflow:hidden;border:1px solid #29465a}.event-pin{display:grid!important;place-items:center;border-radius:50%;color:white;background:var(--cat);border:3px solid #dff6ff;box-shadow:0 0 0 5px color-mix(in srgb,var(--cat) 28%,transparent),0 0 18px var(--cat)}.event-pin svg{width:19px;height:19px}.event-pin.critical,.event-pin.high{border-color:#fff6cf}.settings-stack{display:grid;gap:14px}.settings-group{border:1px solid #29465a;border-radius:17px;overflow:hidden;background:#091b29}.settings-group h2{font-size:15px;margin:0;padding:13px 16px;border-bottom:1px solid #29465a}.setting-row{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #21394a}.setting-row:last-child{border-bottom:0}.setting-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--cat);background:color-mix(in srgb,var(--cat) 16%,transparent)}.setting-icon svg{width:22px;height:22px}.setting-row span{font-size:14px}.switch{width:46px;height:26px;border-radius:999px;background:#506272;position:relative;cursor:pointer}.switch.on{background:#2d9cff}.switch:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;top:2px;left:2px;box-shadow:0 1px 4px #0007}.switch.on:after{left:22px}.news-intro{padding:8px 2px 4px}.news-intro small{color:#48b5ff;font-weight:800;letter-spacing:.1em}.news-intro h1{font-size:28px;margin:4px 0 8px}.news-intro p{margin:0;color:#aebfcd}.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.news-card{border:1px solid #29465a;border-radius:16px;padding:14px;background:#0a1c2a;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:start}.news-card .alert-medallion{width:46px;height:46px}.news-card .body small{color:#75bce6}.news-card h3{font-size:15px;margin:5px 0}.news-card p{font-size:12px;color:#aabccc;margin:0;line-height:1.45}.news-card .status-dot{width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--sev)}.more-list{display:grid;gap:10px;margin-top:14px}.more-list a{display:flex;align-items:center;gap:12px;padding:15px 16px;color:white;text-decoration:none;border:1px solid #29465a;border-radius:14px;background:#0a1c2a}.more-list b{flex:1}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.source-card{border:1px solid #29465a;border-radius:14px;padding:13px;display:flex;align-items:center;gap:10px;background:#091b29}.source-card div{flex:1}.source-card small{color:#91a9ba}.source-state{font-size:10px;padding:6px 8px;border-radius:999px;font-weight:800}.source-state.on{background:#0f6548;color:#76ffc5}.source-state.wait{background:#5b4312;color:#ffd980}.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(1180px,100%);height:78px;background:rgba(6,23,36,.97);backdrop-filter:blur(16px);border-top:1px solid #27465a;display:grid;grid-template-columns:repeat(6,1fr);z-index:1000;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:#8fa6b8;font-size:11px}.bottom-nav b{display:grid;place-items:center;width:24px;height:24px}.bottom-nav svg{width:22px;height:22px}.bottom-nav a.active{color:#2da3ff}.bottom-nav a.active b{filter:drop-shadow(0 0 8px #2da3ff)}
@media(max-width:700px){.app-shell{max-width:none;padding:14px 16px 100px;box-shadow:none}.app-header img{width:50px;height:50px;border-radius:14px}.app-header strong{font-size:23px}.app-header small{font-size:11px}.home-map-wrap{height:390px}.category-ribbon{grid-template-columns:repeat(4,1fr);gap:6px}.cat-btn{font-size:10px}.cat-icon{width:44px;height:44px}.alert-card{grid-template-columns:54px minmax(0,1fr) auto;gap:10px;padding:14px 0}.alert-medallion{width:50px;height:50px}.alert-main strong{font-size:14px}.alert-main span{font-size:12px}.alert-main small{font-size:11px}.alert-side{gap:6px}.pill{font-size:10px;padding:5px 8px}.detail-hero img{height:240px}.detail-hero.category-art{height:210px}.meta-grid{grid-template-columns:100px 1fr}.map-screen #fullMap{height:calc(100vh - 235px);min-height:470px}.news-grid{grid-template-columns:1fr}.source-grid{grid-template-columns:1fr}.bottom-nav{height:74px}.bottom-nav span{font-size:10px}}
@media(min-width:701px){body{padding:0}.app-shell{padding-left:32px;padding-right:32px}.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.home-layout .home-main{min-width:0}.home-layout .home-side{display:block}.home-side{border:1px solid #29465a;border-radius:18px;background:#091b29;padding:16px}.home-side h2{font-size:17px;margin:0 0 10px}.home-side .compact-alert{margin-bottom:10px}.category-ribbon{gap:16px}.map-screen #fullMap{height:calc(100vh - 230px)}}

/* V1.2 - finitions accueil validées */
.brand-globe{width:64px;height:64px;flex:0 0 64px;border-radius:18px;display:grid;place-items:center;color:#17cde8;background:radial-gradient(circle at 35% 30%,#123e59,#071725 72%);border:1px solid #26789b;box-shadow:0 0 20px rgba(23,205,232,.18)}
.brand-globe svg{width:51px;height:51px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px rgba(23,205,232,.35))}
.app-header .brand-title{color:#27d8f2;text-shadow:0 0 14px rgba(23,205,232,.18)}
.home-tabs{display:flex;justify-content:center;gap:12px;border:0;border-radius:0;overflow:visible;background:transparent;margin:14px 0 14px}
.home-tabs button{flex:0 1 180px;border:1px solid currentColor!important;border-radius:13px!important;padding:11px 18px;font-size:14px;font-weight:700;background:#091b29;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;color:#c9d7e2}
.home-tabs button span{font-size:17px;margin-right:7px}.home-tabs button:hover{transform:translateY(-1px)}
.home-tabs .tab-map{color:#33d7ff;border-color:#20c8ef!important}.home-tabs .tab-list{color:#ff9a38;border-color:#e97820!important}.home-tabs .tab-fav{color:#ffd52e;border-color:#d6ac16!important}
.home-tabs .tab-map.active{color:#fff;background:linear-gradient(180deg,#16c7ee,#087fb4);box-shadow:0 0 18px rgba(23,205,232,.30)}
.home-tabs .tab-list.active{color:#fff;background:linear-gradient(180deg,#f28a31,#b95112);box-shadow:0 0 18px rgba(255,138,49,.27)}
.home-tabs .tab-fav.active{color:#fff;background:linear-gradient(180deg,#d7ad18,#8d6d06);box-shadow:0 0 18px rgba(255,213,46,.25)}
.category-ribbon{align-items:stretch}.cat-btn{min-height:94px;justify-content:center;background:linear-gradient(180deg,color-mix(in srgb,var(--cat,#8fb3cf) 13%,#0b1d2b),#081824);border:1px solid color-mix(in srgb,var(--cat,#8fb3cf) 45%,#29465a);box-shadow:inset 0 1px 0 rgba(255,255,255,.025);padding:11px 5px}.cat-btn:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--cat,#8fb3cf) 20%,#0b1d2b),#0a1c29);transform:translateY(-1px)}
.cat-btn:has(.cat-icon){--cat:#8fb3cf}.cat-btn .cat-icon{width:43px;height:43px;border-radius:12px;background:color-mix(in srgb,var(--cat) 15%,#071725)}
/* Carte un peu moins sombre, sans dominante verte */
.leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.68) saturate(.68) contrast(1.08)}
@media(max-width:700px){.brand-globe{width:50px;height:50px;flex-basis:50px;border-radius:14px}.brand-globe svg{width:40px;height:40px}.home-tabs{gap:7px}.home-tabs button{flex:1;padding:10px 7px;font-size:12px}.home-tabs button span{font-size:14px;margin-right:4px}.cat-btn{min-height:86px}}


/* V1.4 — responsive PC / tablette / GSM + radar compact */
html,body{background:#06131f}
.alert-radar{display:none;border:1px solid #29465a;border-radius:18px;background:linear-gradient(145deg,#0b2030,#071621);padding:16px;margin-bottom:14px;box-shadow:0 12px 30px #0004}
.radar-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.radar-head div{display:flex;flex-direction:column;gap:3px}.radar-head small{color:#53dff5;font-weight:800;letter-spacing:.08em}.radar-head strong{font-size:22px}.radar-live{font-size:11px;color:#48e6a8;border:1px solid #287d61;background:#09251d;border-radius:999px;padding:6px 9px;white-space:nowrap}
.radar-counters{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:13px}.radar-counters span{min-width:0;border:1px solid color-mix(in srgb,var(--cat) 40%,#29465a);background:color-mix(in srgb,var(--cat) 9%,#081824);border-radius:11px;padding:8px;color:#c9d8e3;font-size:10px;text-align:center}.radar-counters b{display:block;color:var(--cat);font-size:17px;margin-bottom:2px}
.radar-major{display:grid;gap:7px;margin-top:12px}.radar-major a{display:flex;align-items:center;gap:9px;text-decoration:none;background:#091a27;border:1px solid #203d50;border-radius:11px;padding:8px 10px}.radar-major i{width:30px;height:30px;display:grid;place-items:center;color:var(--cat);font-style:normal}.radar-major svg{width:24px;height:24px}.radar-major span{min-width:0}.radar-major strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radar-major small{color:#8fa9ba;font-size:10px}
.mobile-recent{display:none}.category-ribbon{grid-template-columns:repeat(5,minmax(0,1fr))}.cat-btn .cat-icon{background:#09131b}.cat-btn[href*="cat=nuclear"] .cat-icon{background:#11140e;border-color:#8f7d18;color:#ffd52e}.cat-btn[href*="cat=nuclear"] .cat-icon svg{filter:drop-shadow(0 0 4px #000)}
.leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.68) saturate(.62) contrast(1.08)}
@media(min-width:1181px){body{background:radial-gradient(circle at 50% 0,#0d2031 0,#06131f 45%,#04101a 100%)}.app-shell{box-shadow:0 0 80px rgba(0,0,0,.25)}}
@media(min-width:901px){.alert-radar{display:none}.mobile-recent{display:none}.category-ribbon{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:561px) and (max-width:900px){.radar-counters{display:none!important}.app-shell{max-width:none;padding:16px 22px 100px;box-shadow:none}.home-layout{display:block}.home-side{display:none!important}.home-tabs{display:none}.alert-radar{display:block}.home-map-wrap,.map-search{display:none}.category-ribbon{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.cat-btn{min-height:104px;font-size:11px}.cat-btn .cat-icon{width:48px;height:48px}.mobile-recent{display:block;margin-top:8px}.mobile-recent h2{font-size:17px;margin:14px 0 9px}.radar-counters{grid-template-columns:repeat(6,1fr)}}
@media(max-width:560px){.app-shell{max-width:none;padding:14px 14px 100px;box-shadow:none}.home-layout{display:block}.home-side{display:none!important}.home-tabs{display:none}.alert-radar{display:block;padding:13px}.home-map-wrap,.map-search{display:none}.category-ribbon{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.cat-btn{min-height:86px;font-size:11px;padding:9px 6px}.cat-btn .cat-icon{width:42px;height:42px}.mobile-recent{display:block;margin-top:8px}.mobile-recent h2{font-size:16px;margin:14px 0 9px}.radar-counters{grid-template-columns:repeat(2,1fr);max-height:112px;overflow:hidden}.radar-counters span:nth-child(n+5){display:none}.radar-head strong{font-size:19px}.radar-major a:nth-child(n+3){display:none}.radar-major strong{max-width:240px}.app-header .brand-title{font-size:23px}}

/* V1.5 — vraie disposition PC plein écran validée */
@media (min-width:1100px){
  html,body{background:radial-gradient(circle at 50% 0,#0d2031 0,#06131f 46%,#04101a 100%);}
  body{min-width:1100px;}
  .app-shell{width:100%;max-width:1600px;margin:0 auto;padding:18px 28px 102px;box-shadow:none;background:linear-gradient(180deg,rgba(7,24,37,.97),rgba(5,17,27,.98));}
  .bottom-nav{width:min(1600px,100%);}
  .home-layout{display:block!important;}
  .home-side{display:none!important;}
  .home-pane.active#pane-map{display:grid!important;grid-template-columns:320px minmax(560px,1fr) 330px;grid-template-areas:"radar map recent" "radar search recent" "cats cats recent";gap:14px 16px;align-items:start;}
  #pane-map .alert-radar{grid-area:radar;display:block!important;margin:0;min-height:100%;}
  #pane-map .home-map-wrap{grid-area:map;height:420px;display:block!important;margin:0;}
  #pane-map .map-search{grid-area:search;display:flex!important;margin:0;}
  #pane-map .category-ribbon{grid-area:cats;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;}
  #pane-map .mobile-recent{grid-area:recent;display:block!important;border:1px solid #29465a;border-radius:18px;background:#091b29;padding:14px;min-height:100%;margin:0;}
  #pane-map .mobile-recent h2{font-size:17px;margin:0 0 10px;}
  #pane-map .mobile-recent .compact-alert{margin-bottom:9px;}
  .radar-counters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .radar-counters span{padding:9px 8px;font-size:11px;}
  .radar-counters b{font-size:18px;}
  .radar-major{margin-top:12px;}
  .radar-major a{padding:9px 10px;}
  .category-ribbon .cat-btn{min-height:88px;}
}
@media (min-width:1450px){
  .app-shell{max-width:1720px;padding-left:34px;padding-right:34px;}
  .bottom-nav{width:min(1720px,100%);}
  .home-pane.active#pane-map{grid-template-columns:340px minmax(680px,1fr) 360px;}
  #pane-map .home-map-wrap{height:445px;}
}

/* V1.6 — PC conforme à la maquette validée */
.desktop-lower{display:none}
@media (min-width:1100px){
  html,body{min-height:100%;background:#06131f!important;overflow-x:hidden}
  body{min-width:1100px}
  .app-shell{max-width:none!important;width:100%!important;min-height:100vh;margin:0!important;padding:12px 22px 72px!important;background:radial-gradient(circle at 18% 0,#10283a 0,#081925 34%,#06131f 70%,#05111b 100%)!important;box-shadow:none!important}
  .app-header{height:68px;padding:0 4px 8px;position:relative}
  .brand-globe{width:54px!important;height:54px!important;flex-basis:54px!important}
  .brand-globe svg{width:44px!important;height:44px!important}
  .app-header .brand-title{font-size:27px!important}
  .app-header small{font-size:12px!important}
  .header-action{margin-left:auto}
  .home-tabs{position:absolute;top:16px;left:310px;width:360px;height:38px;margin:0!important;z-index:20;border-radius:10px;display:grid!important;grid-template-columns:repeat(3,1fr);box-shadow:0 6px 18px #0005}
  .home-tabs button{padding:7px 12px!important;font-size:12px!important}
  .home-layout{display:block!important;margin-top:10px}
  .home-side{display:none!important}
  .home-pane.active#pane-map{display:grid!important;grid-template-columns:300px minmax(560px,1fr) 330px;grid-template-areas:"radar map recent" "radar search recent" "cats cats recent";grid-template-rows:300px 42px 122px;gap:10px 14px;align-items:stretch}
  #pane-map .alert-radar{grid-area:radar;display:block!important;margin:0!important;padding:12px!important;overflow:hidden}
  .radar-head{margin-bottom:8px!important}
  .radar-head strong{font-size:20px!important}
  .radar-counters{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .radar-counters span{min-height:56px;padding:7px 6px!important;font-size:10px!important}
  .radar-counters b{font-size:17px!important}
  #pane-map .alert-radar .radar-major{display:none!important}
  #pane-map .home-map-wrap{grid-area:map;height:300px!important;margin:0!important;border-radius:14px}
  #pane-map .map-search{grid-area:search;display:flex!important;margin:0!important;height:42px}
  #pane-map .map-search .searchbox input{padding:8px 0!important}
  #pane-map .category-ribbon{grid-area:cats;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;margin:0!important;align-content:stretch}
  #pane-map .category-ribbon .cat-btn{min-height:56px!important;height:56px!important;display:grid!important;grid-template-columns:34px 1fr;align-items:center;justify-items:start;gap:8px;padding:6px 9px!important;font-size:10px!important;border-radius:11px!important}
  #pane-map .category-ribbon .cat-icon{width:32px!important;height:32px!important}
  #pane-map .category-ribbon .cat-icon svg{width:20px!important;height:20px!important}
  #pane-map .mobile-recent{grid-area:recent;display:block!important;margin:0!important;padding:12px!important;border:1px solid #29465a;border-radius:14px;background:#091b29;overflow:hidden}
  #pane-map .mobile-recent h2{font-size:16px;margin:0 0 7px}
  #pane-map .mobile-recent .compact-alert{padding:8px 9px;margin-bottom:7px;border-radius:11px;gap:8px}
  #pane-map .mobile-recent .alert-medallion{width:38px;height:38px}
  #pane-map .mobile-recent .alert-medallion svg{width:22px;height:22px}
  #pane-map .mobile-recent strong{font-size:11px;line-height:1.2}
  #pane-map .mobile-recent small{font-size:9px}
  .desktop-lower{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;margin-top:10px;height:108px}
  .desktop-major,.desktop-feed{border:1px solid #29465a;border-radius:14px;background:#091b29;padding:10px 12px;overflow:hidden}
  .desktop-major h2,.desktop-feed h2{font-size:14px;margin:0 0 7px}
  .desktop-major{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto 1fr;column-gap:8px}
  .desktop-major h2{grid-column:1/-1}
  .desktop-major>a{display:flex;align-items:center;gap:7px;text-decoration:none;min-width:0}
  .desktop-major .alert-medallion{width:34px;height:34px;flex:0 0 34px}
  .desktop-major .alert-medallion svg{width:19px;height:19px}
  .desktop-major strong,.desktop-feed strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .desktop-major small,.desktop-feed small{font-size:9px;color:#8faac0}
  .desktop-major p{font-size:11px;color:#90a9ba;margin:0}
  .desktop-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 1fr 1fr;column-gap:12px}
  .desktop-feed h2{grid-column:1/-1}
  .desktop-feed a{text-decoration:none;padding:2px 0;min-width:0}
  .bottom-nav{height:58px!important;width:100%!important;left:0!important;transform:none!important;background:rgba(6,23,36,.985)}
  .bottom-nav a{font-size:9px!important;gap:2px!important}
  .bottom-nav b{width:20px;height:20px}
  .bottom-nav svg{width:18px;height:18px}
}
@media (min-width:1450px){
  .home-pane.active#pane-map{grid-template-columns:320px minmax(700px,1fr) 360px}
  .home-tabs{left:330px;width:390px}
}

/* V1.6 — filtres carte : couleur + retour explicite */
.map-chips button:not([data-cat="all"]){border-color:color-mix(in srgb,var(--chip,#60788a) 48%,#31536a);color:color-mix(in srgb,var(--chip,#c4d3df) 72%,#ffffff);background:color-mix(in srgb,var(--chip,#60788a) 10%,#081a28)}
.map-chips button.active{background:color-mix(in srgb,var(--chip,#258dec) 72%,#0a2940);border-color:color-mix(in srgb,var(--chip,#4cb5ff) 88%,#fff);color:#fff;box-shadow:0 0 12px color-mix(in srgb,var(--chip,#258dec) 28%,transparent)}
.map-filter-status{font-size:11px;color:#86bfe4;margin:-4px 0 8px;padding-left:2px;min-height:14px}.map-filter-status.empty{color:#91a4b3}

/* V1.7 — tableau de bord PC reconstruit sur la maquette validée */
.desktop-dashboard{display:none}
.bottom-nav .nav-links{height:100%;display:grid;grid-template-columns:repeat(6,1fr)}
.desktop-bottom-controls{display:none}

@media (min-width:1100px){
  html,body{width:100%;min-width:1100px;min-height:100%;background:#04111c!important;overflow-x:hidden}
  body{padding:0!important}
  .app-shell{width:100%!important;max-width:none!important;min-height:100vh!important;margin:0!important;padding:0 14px 64px!important;background:linear-gradient(180deg,#071d2c 0,#04121d 100%)!important;box-shadow:none!important}
  .legacy-home{display:none!important}
  .desktop-dashboard{display:block!important;max-width:1720px;margin:0 auto;padding-top:0}

  .desktop-topbar{height:82px;display:grid;grid-template-columns:330px minmax(500px,1fr) 330px;align-items:center;gap:16px;border-bottom:1px solid #14759d;background:linear-gradient(180deg,#082237,#061927);padding:0 8px}
  .desktop-brand{display:flex;align-items:center;gap:12px;min-width:0}
  .desktop-globe{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:14px;border:1px solid #0e86ad;background:#06263a;box-shadow:0 0 18px rgba(0,197,255,.18)}
  .desktop-globe svg{width:42px;height:42px;fill:none;stroke:#25ddf4;stroke-width:1.7}
  .desktop-brand>span:last-child{display:flex;flex-direction:column;min-width:0}
  .desktop-brand strong{font-size:28px;line-height:1;color:#28d9f3;text-shadow:0 0 14px rgba(40,217,243,.22)}
  .desktop-brand small{font-size:12px;color:#d5e4ed;margin-top:5px;white-space:nowrap}

  .desktop-quick-actions{display:flex;justify-content:center;align-items:center;gap:12px}
  .desktop-quick-actions .quick{height:44px;min-width:128px;padding:0 18px;border-radius:11px;border:1px solid currentColor;background:#081725;color:#d7e8f2;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:10px;font:700 14px/1 inherit;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
  .desktop-quick-actions .quick span{font-size:18px}
  .desktop-quick-actions .security{color:#ff56ad;border-color:#e62d89;background:linear-gradient(180deg,#21152a,#0d1824)}
  .desktop-quick-actions .map{color:white;border-color:#23cdf1;background:linear-gradient(180deg,#18c8ef,#087cae);box-shadow:0 0 18px rgba(32,200,240,.22)}
  .desktop-quick-actions .list{color:#ff9135;border-color:#dd681b}
  .desktop-quick-actions .fav{color:#ffd322;border-color:#d8ac12}

  .desktop-statusbar{display:flex;align-items:center;justify-content:flex-end;gap:12px}
  .desktop-clock{display:flex;flex-direction:column;align-items:flex-start;min-width:148px;padding-right:12px;border-right:1px solid #17465f}
  .desktop-clock small{font-size:11px;color:#c9dce8;text-transform:capitalize}
  .desktop-clock strong{font-size:22px;line-height:1.05;margin-top:3px}
  .desktop-icon-btn{width:42px;height:42px;border:0;background:transparent;color:#ecf7fb;text-decoration:none;display:grid;place-items:center;font-size:22px;cursor:pointer;border-radius:10px}
  .desktop-icon-btn:hover{background:#0a2a3e}

  .desktop-main-grid{display:grid;grid-template-columns:32% minmax(430px,1fr) 29%;gap:12px;margin-top:12px;height:390px}
  .desktop-lower-grid{display:grid;grid-template-columns:31% 28% minmax(0,1fr);gap:12px;margin-top:12px;height:228px}
  .desktop-card{background:linear-gradient(180deg,#082033,#061927);border:1px solid #147aa4;border-radius:14px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
  .desktop-card-title{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #123d54;font-size:18px;font-weight:800}
  .desktop-card-title a{font-size:12px;color:#27d9f1;text-decoration:none;font-weight:700}
  .live-dot{font-size:11px;color:#20e6a3;font-weight:700}

  .desktop-radar-card{position:relative;padding-bottom:10px}
  .desktop-radar-card .desktop-card-title{padding-right:12px}
  .desktop-active-count{position:absolute;right:14px;top:48px;display:flex;align-items:center;gap:8px}
  .desktop-active-count strong{font-size:36px;line-height:1;color:#20d9f4}
  .desktop-active-count span{font-size:11px;color:#c9d9e3;line-height:1.1}
  .desktop-radar-grid{height:calc(100% - 54px);padding:54px 12px 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:8px}
  .desktop-radar-item{min-width:0;border:1px solid color-mix(in srgb,var(--cat) 70%,#29465a);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--cat) 16%,#0a2231),#071723);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-decoration:none;color:#eaf4f9;padding:5px 2px;box-shadow:0 0 12px color-mix(in srgb,var(--cat) 14%,transparent)}
  .desktop-radar-item .radar-icon{width:34px;height:34px;display:grid;place-items:center;color:var(--cat)}
  .desktop-radar-item svg{width:26px;height:26px}
  .desktop-radar-item b{font-size:10px;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .desktop-radar-item strong{font-size:15px;line-height:1.05;color:var(--cat);margin-top:2px}
  .desktop-radar-item[href*="nuclear"]{background:linear-gradient(180deg,#171910,#0b1418)}

  .desktop-map-card{position:relative;padding:0}
  #desktopMap{width:100%;height:100%;background:#06131f}
  .desktop-map-card .leaflet-container{border-radius:14px}

  .desktop-recent-list{padding:7px 10px 8px;display:grid;gap:6px}
  .desktop-alert-row{min-height:50px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;padding:4px 7px;border:1px solid #23475c;border-radius:10px;background:#081b2a;text-decoration:none}
  .desktop-alert-row .alert-medallion,.desktop-major-row .alert-medallion{width:38px;height:38px}
  .desktop-alert-row .alert-medallion svg,.desktop-major-row .alert-medallion svg{width:22px;height:22px}
  .row-text{min-width:0}
  .row-text strong,.desktop-major-row strong,.desktop-feed-row strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}
  .row-text small,.desktop-major-row small,.desktop-feed-row small{display:block;color:#9db5c5;font-size:9px;margin-top:2px}
  .severity-badge{min-width:58px;text-align:center;border-radius:7px;padding:6px 7px;font-size:9px;font-weight:800;color:white}
  .severity-badge.critical,.severity-badge.high{background:#9d1120}.severity-badge.medium{background:#4a258f}.severity-badge.info{background:#117030}

  .desktop-major-card,.desktop-feed-card,.desktop-monitor-card{padding-bottom:8px}
  .desktop-major-row{height:51px;margin:5px 10px 0;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px solid #173d52;text-decoration:none}
  .desktop-empty{padding:18px;color:#9cb0bd;font-size:12px}
  .desktop-feed-row{height:34px;margin:0 10px;display:grid;grid-template-columns:42px 28px minmax(0,1fr) 12px;align-items:center;gap:7px;border-bottom:1px solid #17384b;text-decoration:none}
  .desktop-feed-row time{font-size:10px;color:#c6d8e2}
  .desktop-feed-row .feed-icon{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--cat) 15%,#071725);color:var(--cat);border:1px solid color-mix(in srgb,var(--cat) 65%,#244)}
  .desktop-feed-row .feed-icon svg{width:15px;height:15px}
  .desktop-feed-row>b{color:#8fb5ca}

  .monitor-grid{height:120px;padding:10px 10px 4px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  .monitor-grid a{border:1px solid #176589;border-radius:10px;background:#082033;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px}
  .monitor-grid span{font-size:20px}.monitor-grid b{font-size:20px;color:#28d9f3;margin-top:2px}.monitor-grid small{font-size:9px;color:#bfd0db;margin-top:2px}
  .monitor-note{margin:8px 10px 0;padding:8px 10px;border:1px solid #176589;border-radius:9px;color:#c7d7e1;font-size:9px;line-height:1.25;background:#071b29}

  .bottom-nav{height:62px!important;width:100%!important;left:0!important;transform:none!important;bottom:0!important;padding:0 16px!important;display:flex!important;align-items:stretch!important;background:rgba(5,22,34,.985)!important;border-top:1px solid #165878!important;backdrop-filter:blur(14px)}
  .bottom-nav .nav-links{width:43%;max-width:620px;display:grid!important;grid-template-columns:repeat(6,1fr);height:100%}
  .bottom-nav .nav-links a{font-size:9px!important;gap:1px!important}
  .bottom-nav .nav-links b{width:22px;height:22px}.bottom-nav .nav-links svg{width:20px;height:20px}
  .desktop-bottom-controls{margin-left:auto;display:flex!important;align-items:center;gap:12px;height:100%;font-size:10px;color:#d8e8f1}
  .notify-control,.theme-control{display:flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer}
  .notify-control input,.theme-control input{display:none}
  .notify-control i,.theme-control i{position:relative;width:38px;height:20px;border-radius:999px;background:#17384a;border:1px solid #285972;display:inline-block}
  .notify-control i:after,.theme-control i:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#8da7b7;transition:.18s}
  .notify-control input:checked+i,.theme-control input:checked+i{background:#086b91;border-color:#12a8d5;box-shadow:0 0 10px rgba(26,195,234,.18)}
  .notify-control input:checked+i:after,.theme-control input:checked+i:after{left:20px;background:#23dafa}
  .control-icon{font-size:15px;color:#29d8f2}
  .sound-control{display:flex;align-items:center;height:28px}
  .sound-control select{height:28px;min-width:105px;border:1px solid #1b6383;background:#061827;color:#dcebf2;padding:0 25px 0 8px;font-size:10px;outline:none}
  .sound-control button{height:28px;width:30px;border:1px solid #1b6383;border-left:0;background:#09243a;color:#28d9f3;cursor:pointer}
  .lang-control{height:30px;border:0;border-left:1px solid #17445a;background:transparent;color:#e7f1f6;padding:0 8px 0 14px;font-size:11px;cursor:pointer}
  .app-version{align-self:flex-end;margin:0 2px 5px 0;color:#7394a8;font-size:8px}

  .ae-light body,.ae-light .app-shell{background:#0c2434!important}
  .ae-light .desktop-card,.ae-light .desktop-topbar,.ae-light .bottom-nav{filter:brightness(1.22)}
}

@media (min-width:1100px) and (max-height:760px){
  .desktop-topbar{height:72px}
  .desktop-main-grid{height:350px;margin-top:8px}
  .desktop-lower-grid{height:196px;margin-top:8px}
  .desktop-card-title{height:38px;font-size:16px}
  .desktop-radar-grid{padding-top:42px}
  .desktop-recent-list{gap:4px}.desktop-alert-row{min-height:44px}
  .monitor-grid{height:98px}.monitor-note{font-size:8px;margin-top:5px}
}

@media (max-width:1099px){
  .bottom-nav{display:block!important;padding-bottom:env(safe-area-inset-bottom)}
  .bottom-nav .nav-links{width:100%;height:100%;display:grid;grid-template-columns:repeat(6,1fr)}
  .desktop-bottom-controls{display:none!important}
}

/* V1.8 — PC plein écran + commandes réellement fonctionnelles */
@media (min-width:1100px){
  html,body{width:100%;height:100%;min-height:100%;margin:0;background:#04111c!important;overflow:hidden}
  body{min-width:1100px;padding:0!important}
  .app-shell{width:100vw!important;max-width:none!important;height:100vh!important;min-height:100vh!important;margin:0!important;padding:0 0 62px!important;background:linear-gradient(180deg,#071d2c 0,#04121d 100%)!important;box-shadow:none!important;overflow:hidden}
  .desktop-dashboard{display:grid!important;width:100%!important;max-width:none!important;height:calc(100vh - 62px)!important;margin:0!important;padding:0 10px 10px!important;grid-template-rows:82px minmax(0,1.65fr) minmax(0,.9fr);gap:10px;overflow:hidden}
  .desktop-topbar{height:auto!important;min-height:0!important;margin:0!important;padding:0 10px!important;grid-template-columns:minmax(280px,22%) minmax(500px,1fr) minmax(300px,22%)!important;border-radius:0}
  .desktop-main-grid{height:auto!important;min-height:0!important;margin:0!important;grid-template-columns:minmax(330px,31%) minmax(520px,1fr) minmax(340px,29%)!important;gap:10px!important}
  .desktop-lower-grid{height:auto!important;min-height:0!important;margin:0!important;grid-template-columns:31% 29% minmax(0,1fr)!important;gap:10px!important}
  .desktop-card{min-height:0!important}
  .desktop-radar-card,.desktop-map-card,.desktop-recent-card,.desktop-major-card,.desktop-feed-card,.desktop-monitor-card{height:100%!important}
  .desktop-radar-grid{min-height:0!important}
  .desktop-recent-list{height:calc(100% - 44px)!important;grid-template-rows:repeat(6,minmax(0,1fr));overflow:hidden}
  .desktop-alert-row{min-height:0!important;height:auto!important}
  .monitor-grid{height:58%!important;min-height:0!important}
  .monitor-note{height:auto!important}
  #desktopMap{height:100%!important}
  .bottom-nav{height:62px!important;width:100vw!important;left:0!important;right:0!important;transform:none!important;bottom:0!important;padding:0 18px!important}
  .bottom-nav .nav-links{width:42%!important;max-width:none!important}
  .desktop-bottom-controls{gap:14px!important;font-size:11px!important}
  .sound-control select{min-width:112px!important;font-size:11px!important}
  .lang-control{height:30px;display:flex;align-items:center;gap:7px;border-left:1px solid #17445a;padding-left:14px;color:#e7f1f6;font-size:11px;white-space:nowrap}
  .be-flag{width:22px;height:14px;border:1px solid rgba(255,255,255,.35);border-radius:1px;background:linear-gradient(to right,#111 0 33.333%,#fdda24 33.333% 66.666%,#ef3340 66.666% 100%);box-shadow:0 0 0 1px rgba(0,0,0,.28)}
  .app-version{font-size:9px!important}

  /* Vrai mode clair lorsque Mode sombre est coupé */
  html.ae-light,html.ae-light body{background:#d8e4ec!important;color:#102737!important}
  html.ae-light .app-shell{background:linear-gradient(180deg,#dce9f1 0,#c9d9e4 100%)!important}
  html.ae-light .desktop-topbar,html.ae-light .desktop-card,html.ae-light .bottom-nav{background:#edf5f9!important;border-color:#6c9db8!important;color:#102737!important;filter:none!important}
  html.ae-light .desktop-card-title{border-color:#98b8ca!important;color:#102737!important}
  html.ae-light .desktop-brand small,html.ae-light .desktop-clock small,html.ae-light .desktop-bottom-controls{color:#27465a!important}
  html.ae-light .desktop-alert-row,html.ae-light .desktop-radar-item,html.ae-light .monitor-grid a,html.ae-light .monitor-note{background:#dceaf2!important;border-color:#86aabd!important;color:#102737!important}
  html.ae-light .row-text small,html.ae-light .desktop-major-row small,html.ae-light .desktop-feed-row small,html.ae-light .monitor-grid small{color:#496778!important}
  html.ae-light .sound-control select,html.ae-light .sound-control button{background:#f5fbff!important;color:#13334a!important;border-color:#6d9cb5!important}
  html.ae-light .notify-control i,html.ae-light .theme-control i{background:#a9c0cd!important;border-color:#7e9eae!important}
  html.ae-light .desktop-quick-actions .quick.list,html.ae-light .desktop-quick-actions .quick.fav,html.ae-light .desktop-quick-actions .quick.security{background:#eef5f8!important}
  html.ae-light .leaflet-tile-pane{filter:none!important}
}

@media (min-width:1100px) and (max-height:760px){
  .desktop-dashboard{grid-template-rows:72px minmax(0,1.7fr) minmax(0,.82fr)!important;gap:8px!important}
  .desktop-topbar{height:auto!important}
  .desktop-main-grid,.desktop-lower-grid{height:auto!important;margin:0!important}
}


/* V1.8.1 — bascule clair/sombre robuste sur PC */
@media (min-width:1100px){
  html[data-theme="light"],html[data-theme="light"] body,body[data-theme="light"]{background:#d7e4ec!important;color:#102737!important}
  html[data-theme="light"] .app-shell,body[data-theme="light"] .app-shell{background:linear-gradient(180deg,#e6f0f5 0%,#cbdce6 100%)!important;color:#102737!important}
  html[data-theme="light"] .desktop-topbar,html[data-theme="light"] .desktop-card,html[data-theme="light"] .bottom-nav,
  body[data-theme="light"] .desktop-topbar,body[data-theme="light"] .desktop-card,body[data-theme="light"] .bottom-nav{background:#f2f7fa!important;border-color:#6b9db8!important;color:#102737!important;box-shadow:none!important;filter:none!important}
  html[data-theme="light"] .desktop-card-title,body[data-theme="light"] .desktop-card-title{border-color:#9ab9ca!important;color:#102737!important}
  html[data-theme="light"] .desktop-brand small,html[data-theme="light"] .desktop-clock small,html[data-theme="light"] .desktop-bottom-controls,
  body[data-theme="light"] .desktop-brand small,body[data-theme="light"] .desktop-clock small,body[data-theme="light"] .desktop-bottom-controls{color:#28495d!important}
  html[data-theme="light"] .desktop-alert-row,html[data-theme="light"] .desktop-radar-item,html[data-theme="light"] .monitor-grid a,html[data-theme="light"] .monitor-note,
  body[data-theme="light"] .desktop-alert-row,body[data-theme="light"] .desktop-radar-item,body[data-theme="light"] .monitor-grid a,body[data-theme="light"] .monitor-note{background:#e2edf3!important;border-color:#86aabd!important;color:#102737!important}
  html[data-theme="light"] .row-text strong,html[data-theme="light"] .desktop-major-row strong,html[data-theme="light"] .desktop-feed-row strong,
  body[data-theme="light"] .row-text strong,body[data-theme="light"] .desktop-major-row strong,body[data-theme="light"] .desktop-feed-row strong{color:#102737!important}
  html[data-theme="light"] .row-text small,html[data-theme="light"] .desktop-major-row small,html[data-theme="light"] .desktop-feed-row small,html[data-theme="light"] .monitor-grid small,
  body[data-theme="light"] .row-text small,body[data-theme="light"] .desktop-major-row small,body[data-theme="light"] .desktop-feed-row small,body[data-theme="light"] .monitor-grid small{color:#4b6878!important}
  html[data-theme="light"] .sound-control select,html[data-theme="light"] .sound-control button,
  body[data-theme="light"] .sound-control select,body[data-theme="light"] .sound-control button{background:#fff!important;color:#13334a!important;border-color:#6d9cb5!important}
  html[data-theme="light"] .notify-control i,html[data-theme="light"] .theme-control i,
  body[data-theme="light"] .notify-control i,body[data-theme="light"] .theme-control i{background:#9eb7c5!important;border-color:#718f9f!important}
  html[data-theme="light"] .desktop-quick-actions .quick.list,html[data-theme="light"] .desktop-quick-actions .quick.fav,html[data-theme="light"] .desktop-quick-actions .quick.security,
  body[data-theme="light"] .desktop-quick-actions .quick.list,body[data-theme="light"] .desktop-quick-actions .quick.fav,body[data-theme="light"] .desktop-quick-actions .quick.security{background:#f5f9fb!important}
  html[data-theme="light"] .bottom-nav .nav-links a,body[data-theme="light"] .bottom-nav .nav-links a{color:#27485d!important}
  html[data-theme="light"] .bottom-nav .nav-links a.active,body[data-theme="light"] .bottom-nav .nav-links a.active{color:#008fc4!important}
  html[data-theme="light"] .lang-control,body[data-theme="light"] .lang-control{color:#18364a!important;border-color:#8ca9b9!important}
  html[data-theme="dark"] .app-shell,body[data-theme="dark"] .app-shell{background:linear-gradient(180deg,#071d2c 0,#04121d 100%)!important}
}

/* V1.9 — pop-up d'alerte PC */
@media (min-width:1100px){
  .ae-toast-host{position:fixed;right:18px;bottom:78px;z-index:99999;width:min(410px,calc(100vw - 36px));display:grid;gap:10px;pointer-events:none}
  .ae-alert-toast{pointer-events:auto;display:grid;grid-template-columns:46px 1fr 28px;align-items:center;gap:11px;min-height:88px;padding:12px 10px 12px 12px;text-decoration:none;color:#eaf8ff;background:linear-gradient(145deg,#0a2235,#071a2a);border:1px solid #1a87ad;border-left:4px solid #20d5f2;border-radius:10px;box-shadow:0 16px 42px rgba(0,0,0,.52),0 0 20px rgba(32,213,242,.14);opacity:0;transform:translateX(24px);transition:opacity .25s ease,transform .25s ease}
  .ae-alert-toast.show{opacity:1;transform:none}
  .ae-toast-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#0d3048;color:#22d8f4;font-size:22px;border:1px solid #1c7192}
  .ae-toast-copy{min-width:0;display:grid;gap:2px}.ae-toast-copy b{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#22d8f4}.ae-toast-copy strong{font-size:13px;line-height:1.25;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ae-toast-copy small{font-size:10px;color:#8eb0c3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ae-alert-toast button{align-self:start;border:0;background:transparent;color:#7fa4b8;font-size:22px;line-height:1;cursor:pointer;padding:0 3px}.ae-alert-toast button:hover{color:#fff}
  html[data-theme="light"] .ae-alert-toast{background:#f5fbff;color:#173348;border-color:#4e9bb8;box-shadow:0 16px 42px rgba(34,70,88,.28)}
  html[data-theme="light"] .ae-toast-copy strong{color:#173348}html[data-theme="light"] .ae-toast-copy small{color:#547084}
}


/* Correctif ciblé détail PC : conserver le tableau de bord plein écran, mais permettre au détail d'alerte de défiler. */
@media (min-width:1100px){
  html.detail-page-root,html.detail-page-root body{overflow:auto!important;height:auto!important;min-height:100%!important}
  body.detail-page{overflow:auto!important;min-width:0!important;background:#04111c!important}
  body.detail-page .app-shell{width:100%!important;max-width:1180px!important;height:auto!important;min-height:100vh!important;margin:0 auto!important;padding:20px 32px 100px!important;overflow:visible!important;box-shadow:0 0 80px rgba(0,0,0,.55)!important}
  body.detail-page .mini-map{height:300px!important;margin-bottom:14px}
}


/* V1.11.10 — pages longues : ne pas appliquer le verrouillage plein écran du dashboard */
@media (min-width:1180px) and (max-width:1500px){
  html:has(body.settings-page), body.settings-page{height:auto!important;min-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important}
  body.settings-page .app-shell{height:auto!important;min-height:100vh!important;overflow:visible!important;padding-bottom:92px!important}
  body.settings-page .settings-stack{overflow:visible!important}
}

/* V1.11.20 — Centre de veille Belgique */
@media (min-width:900px){
  .monitor-grid.be-monitor-grid a{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--be-cat) 55%,#123d54);background:linear-gradient(145deg,color-mix(in srgb,var(--be-cat) 13%,#071a29),#071521);color:#eaf8ff}
  .monitor-grid.be-monitor-grid a::after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--be-cat);box-shadow:0 0 12px var(--be-cat)}
  .monitor-grid.be-monitor-grid a>span{color:var(--be-cat);font-size:24px}.monitor-grid.be-monitor-grid a>b{color:var(--be-cat)}
  .monitor-grid.be-monitor-grid a:hover{border-color:var(--be-cat);box-shadow:0 0 16px color-mix(in srgb,var(--be-cat) 25%,transparent)}
  .quick.belgium{border-color:#ffd84d!important;color:#ffd84d!important}.quick.belgium span{color:#ffd84d!important}
}
.be-page{max-width:1180px;margin:0 auto;padding:18px 14px 100px}.be-page-head{display:flex;align-items:center;gap:14px;margin:6px 0 18px}.be-page-head a{color:#6edfff;text-decoration:none;font-size:28px}.be-page-head h1{margin:0;font-size:24px}.be-page-head p{margin:3px 0 0;color:#8fb3c8}.be-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.be-summary-card{--be-cat:#53d7ff;text-decoration:none;color:#eaf8ff;border:1px solid color-mix(in srgb,var(--be-cat) 55%,#123d54);border-radius:12px;padding:15px;background:linear-gradient(145deg,color-mix(in srgb,var(--be-cat) 12%,#071a29),#071521)}.be-summary-card span{font-size:24px;color:var(--be-cat)}.be-summary-card strong{display:block;font-size:28px;color:var(--be-cat);margin:5px 0}.be-summary-card small{font-size:13px}.be-event-list{display:grid;gap:10px}.be-event{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;text-decoration:none;color:#eaf8ff;border:1px solid #123d54;border-radius:10px;padding:11px 13px;background:#081b2a}.be-event .be-ico{font-size:24px;text-align:center}.be-event strong{display:block}.be-event small{display:block;color:#8fb3c8;margin-top:4px}.be-event time{color:#7fb2ca;font-size:12px}.be-empty{padding:30px;text-align:center;border:1px solid #123d54;border-radius:12px;color:#8fb3c8}@media(max-width:760px){.be-summary-grid{grid-template-columns:1fr 1fr}.be-event{grid-template-columns:38px 1fr}.be-event time{grid-column:2}}
.ae-alert-toast.ae-belgium-toast{border-color:#ffd84d;border-left-color:#ffd84d;box-shadow:0 16px 42px rgba(0,0,0,.52),0 0 22px rgba(255,216,77,.16)}.ae-alert-toast.ae-belgium-toast .ae-toast-icon{color:#ffd84d}

/* V1.11.20.1 — pages Centre Belgique toujours déroulables */
html:has(body.belgium-page),body.belgium-page{height:auto!important;min-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important}
body.belgium-page .app-shell{height:auto!important;min-height:100vh!important;overflow:visible!important;padding-bottom:110px!important}
body.belgium-page .be-page{height:auto!important;min-height:100vh!important;overflow:visible!important;padding-bottom:120px!important}

/* V1.11.20.11 — Paramètres PC : défilement vertical fiable sur tous les écrans desktop. */
@media (min-width:900px){
  html:has(body.settings-page){height:auto!important;min-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important}
  body.settings-page{height:auto!important;min-height:100vh!important;overflow-y:auto!important;overflow-x:hidden!important}
  body.settings-page .app-shell{height:auto!important;min-height:100vh!important;overflow:visible!important;padding-bottom:110px!important}
  body.settings-page .settings-stack{height:auto!important;max-height:none!important;overflow:visible!important}
}

/* Consolidation: Centre Belgique visible sur téléphone/tablette */
@media (max-width:1099px){.bottom-nav .nav-links{grid-template-columns:repeat(6,minmax(0,1fr))!important}.bottom-nav .nav-links a{min-width:0;font-size:9px}.bottom-nav .nav-links a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav .nav-links a[href="belgium.php"]{color:#ffd84d}}

/* V1.11.21 — pop-up AlertEngine natif sur GSM/tablette (aucune notification Chrome lorsque le site est ouvert). */
@media (max-width:1099px){
  .ae-toast-host{position:fixed;left:12px;right:12px;top:max(12px,env(safe-area-inset-top));z-index:99999;display:grid;gap:8px;pointer-events:none}
  .ae-alert-toast{pointer-events:auto;display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:9px;min-height:82px;padding:10px;text-decoration:none;color:#eaf8ff;background:linear-gradient(145deg,#0a2235,#071a2a);border:1px solid #1a87ad;border-left:4px solid #20d5f2;border-radius:11px;box-shadow:0 14px 36px rgba(0,0,0,.52),0 0 18px rgba(32,213,242,.14);opacity:0;transform:translateY(-18px);transition:opacity .22s ease,transform .22s ease}
  .ae-alert-toast.show{opacity:1;transform:none}
  .ae-toast-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#0d3048;color:#22d8f4;font-size:20px;border:1px solid #1c7192}
  .ae-toast-copy{min-width:0;display:grid;gap:2px}.ae-toast-copy b{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#22d8f4}.ae-toast-copy strong{font-size:12px;line-height:1.25;color:#fff;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ae-toast-copy small{font-size:9px;color:#8eb0c3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ae-alert-toast button{align-self:start;border:0;background:transparent;color:#7fa4b8;font-size:22px;line-height:1;cursor:pointer;padding:0 3px}
  .ae-alert-toast.ae-belgium-toast{border-color:#ffd84d;border-left-color:#ffd84d}.ae-alert-toast.ae-belgium-toast .ae-toast-icon{color:#ffd84d}
}

/* V1.11.21 — Centre de veille Belgique directement visible sur GSM/tablette. */
.mobile-belgium-centre{display:none}
@media (max-width:1099px){
  .mobile-belgium-centre{display:block;margin:14px 0 10px;padding:12px;border:1px solid #29465a;border-radius:15px;background:#071725}
  .mobile-be-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.mobile-be-head strong{display:flex;align-items:center;gap:8px;font-size:15px}.mobile-be-head a{color:#ffd84d;text-decoration:none;font-size:11px;white-space:nowrap}
  .mobile-be-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mobile-be-grid a{min-width:0;text-decoration:none;color:#eaf8ff;border:1px solid color-mix(in srgb,var(--be-cat) 55%,#123d54);border-radius:10px;padding:9px 6px;background:linear-gradient(145deg,color-mix(in srgb,var(--be-cat) 12%,#071a29),#071521);text-align:center}.mobile-be-grid a>span{display:block;font-size:20px;color:var(--be-cat)}.mobile-be-grid a>b{display:block;color:var(--be-cat);font-size:20px;margin:2px 0}.mobile-be-grid a>small{display:block;font-size:9px;line-height:1.15;color:#d5e5ef}
}
@media (max-width:560px){.mobile-be-grid{grid-template-columns:1fr 1fr}.mobile-be-grid a{min-height:82px}.mobile-be-grid a>small{font-size:10px}}
