/* RAD SDIS 54 — accueil à bulles selon la maquette approuvée */
:root{--rad-orange:#ff790b;--rad-cyan:#0deaff;--rad-yellow:#ffd000}
body{background:#061525}
.topbar{background:linear-gradient(90deg,rgba(4,13,28,.96),rgba(8,33,59,.8) 60%,rgba(4,16,30,.96)),url('/orbit-ambience.webp') center/cover;min-height:105px;border-bottom:1px solid #25566e;padding:14px clamp(16px,3vw,54px);box-shadow:0 7px 25px #0005}
.brand{display:flex;gap:22px;align-items:center;font-size:clamp(19px,2.7vw,33px);letter-spacing:-.035em;line-height:1.1}
.sdis-wordmark{font-style:italic;letter-spacing:-.075em;white-space:nowrap;font-weight:950;font-size:clamp(17px,2.4vw,33px);text-shadow:0 2px 12px #000a}
.sdis-wordmark b{color:#ff6539}
.brand-separator{width:2px;background:#0deaff;height:50px;display:block;box-shadow:0 0 15px #05e9ff88}
.brand-symbol{background:transparent;border:none;padding:0;font-size:43px;color:#ffd223;width:auto;height:auto}
.brand-copy b{color:var(--rad-orange)}
.brand small{font-size:clamp(10px,1.1vw,15px);color:#ecf1fa;letter-spacing:0;text-transform:none;font-weight:500;margin-top:4px}
.top-actions{border:1px solid #216c93;border-radius:50px;padding:10px 16px;background:rgba(9,35,57,.78)}
.who{color:white;font-size:12px;max-width:180px}
#logout-btn{border-color:#315a76;background:#102941;min-height:34px;padding:6px 10px;font-size:11px}
main{width:min(1250px,94%)}
body.home-mode main{width:100%;padding:0;margin:0;max-width:none}
body.home-mode footer{display:none}
.landing{background:#051527;min-height:calc(100vh - 105px)}
.orbit-desktop{position:relative;width:100%;aspect-ratio:1672/594;overflow:visible;z-index:2;background:#051726}
.home-mode .topbar{z-index:1}
.orbit-cap{position:absolute;z-index:4;left:42.76%;top:-5.22%;width:13.46%;pointer-events:none}
.orbit-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;user-select:none;pointer-events:none}
.orbit-hotspot{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:12.3%;aspect-ratio:1;border-radius:50%;border:2px solid transparent;background:transparent;color:transparent;cursor:pointer;padding:0;transition:box-shadow .16s ease,border-color .16s ease,background .16s ease}
.orbit-hotspot:hover,.orbit-hotspot:focus-visible{border-color:#adf9ff;box-shadow:0 0 0 7px #09cfff33,0 0 32px #0dfbff88;background:#ffffff0c;outline:0}
.orbit-hotspot.agents{left:49.4%;top:11.8%}
.orbit-hotspot.competences{left:32.0%;top:26.2%}
.orbit-hotspot.interventions{left:66.6%;top:26.2%;border-color:transparent}
.orbit-hotspot.dosimetrie{left:28%;top:59.5%}
.orbit-hotspot.rpl{left:71%;top:59.5%}
.orbit-hotspot.rapports{left:37.1%;top:85.1%;width:10.4%}
.orbit-hotspot.parametres{left:62.1%;top:85.1%;width:9.5%}
.orbit-hotspot.center{left:49.4%;top:56.8%;width:20.1%}
.orbit-hotspot.interventions:hover,.orbit-hotspot.interventions:focus-visible{border-color:#fff59a;box-shadow:0 0 0 7px #ff9a003c,0 0 36px #ff770088}
.orbit-hotspot.center:hover,.orbit-hotspot.center:focus-visible{border-color:#ffc76b;box-shadow:0 0 0 7px #ff7a0045,0 0 52px #ff8c119c}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.orbit-mobile{display:none}
.home-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:clamp(10px,1.3vw,22px);max-width:1380px;margin:0 auto;padding:5px 18px 22px}
.home-kpi{min-height:96px;border-radius:14px;border:1px solid #14bdf4;background:linear-gradient(150deg,#07344b,#07192c 65%);box-shadow:inset 0 2px 13px #0088b02b,0 0 0 1px #000b;display:flex;align-items:center;justify-content:center;gap:16px;padding:15px 8px}
.metric-symbol{color:#20e4ee;font-size:42px;line-height:1}
.home-kpi strong{font-size:clamp(21px,2.9vw,37px);line-height:1.04;display:block;font-weight:850;white-space:nowrap}
.home-kpi .metric-unit{font-size:clamp(13px,1.5vw,20px);line-height:1.22;display:block;color:#f0f5fb}
.home-kpi small{font-size:10px;color:#a9cadc;display:block;line-height:1.3;margin-top:4px}
.home-status{display:flex;gap:15px;justify-content:space-evenly;align-items:center;border-top:2px solid #0e97c8;box-shadow:0 -8px 25px #0aeaff15;padding:22px 16px;background:linear-gradient(0deg,#071322,#09233b);color:#d8edfa;font-size:clamp(11px,1.4vw,17px);font-weight:550}
.home-status span{flex:1;text-align:center;border-right:1px solid #47708e}.home-status span:last-child{border:none}
.internal-return{margin:0 0 16px}
body:not(.home-mode) main{padding-top:27px}
body:not(.home-mode) main .panel{background:linear-gradient(145deg,#0d2943ee,#112239dd);border-color:#2d516f}
.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.report-grid .panel{margin:8px 0}.report-grid p{min-height:70px}.report-icon{font-size:42px;display:block;margin-bottom:16px}
.field input:focus-visible,.field select:focus-visible{outline-color:#26bde6}
@media(max-width:1000px){.sdis-wordmark{font-size:22px}.brand{font-size:22px;gap:14px}.home-kpi{gap:8px}.metric-symbol{font-size:31px}.home-kpis{padding:12px 13px 15px}.home-kpi small{font-size:9px}}
@media(max-width:720px){
 .topbar{min-height:70px;padding:8px 14px;gap:8px}
 .brand{font-size:18px;gap:7px;letter-spacing:-.035em}
 .sdis-wordmark,.brand-separator{display:none}
 .brand-symbol{font-size:31px}
 .brand small{font-size:10px}
 .top-actions{padding:7px;border:none;background:transparent}
 #logout-btn{padding:7px;font-size:10px}
 .who{display:none}
 .orbit-desktop{display:none}
 .orbit-mobile{display:block;position:relative;min-height:630px;max-width:460px;margin:auto;overflow:hidden;background:linear-gradient(180deg,#041629b5,#051529eb),url('/orbit-ambience.webp') center/cover}
 .mobile-ring{position:absolute;border:2px dashed #0ddbf4a0;width:355px;height:355px;left:50%;top:47%;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 80px #0f7ddc2a;opacity:.8}
 .mobile-hub,.mobile-bubble{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:100%;color:white;text-align:center;padding:5px;font-weight:700;line-height:1.12;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
 .mobile-hub{left:50%;top:48%;transform:translate(-50%,-50%);height:156px;width:156px;background:radial-gradient(circle at 50% 36%,#1a121b 10%,#111522 65%,#08101b);border:5px solid #ff8e24;box-shadow:0 0 0 4px #ff490051,0 0 28px #f66b19ad, inset 0 0 23px #ff8f1647;z-index:3}
 .mobile-hub:hover,.mobile-hub:focus-visible{transform:translate(-50%,-50%) scale(1.04)}
 .hub-radiation{font-size:38px;color:#ffe000;line-height:1.08}
 .mobile-hub b{font-size:30px;letter-spacing:.02em}
 .mobile-hub strong{font-size:22px;color:#fff}.mobile-hub em{font-style:normal;color:#ff8713}
 .bubble-cta{background:linear-gradient(180deg,#ffac26,#fc6200);padding:5px 12px;border-radius:30px;color:white;font-size:11px;box-shadow:0 4px 10px #0008;margin-top:5px;white-space:nowrap}
 .mobile-bubble{height:105px;width:105px;background:radial-gradient(circle at 40% 25%,#145272,#05223e 65%,#031428);border:3px solid #06daff;box-shadow:0 0 0 2px #04d8f848,0 0 17px #0dcbf7b0;z-index:2}
 .mobile-bubble:hover,.mobile-bubble:focus-visible{transform:translate(-50%,-50%) scale(1.045);outline:0;box-shadow:0 0 0 4px #b4f9ff,0 0 20px #02d9ff}
 .mobile-bubble .bubble-icon{font-size:26px;line-height:1.05;margin-bottom:2px;color:#fff}
 .mobile-bubble b{font-size:12px;max-width:90px}
 .mobile-bubble .bubble-cta{font-size:10px;padding:4px 9px;margin-top:4px}
 .mobile-bubble.agents{left:50%;top:12%;transform:translate(-50%,-50%)}
 .mobile-bubble.competences{left:19%;top:29%;transform:translate(-50%,-50%)}
 .mobile-bubble.interventions{left:81%;top:29%;transform:translate(-50%,-50%);border-color:#ffaa17;box-shadow:0 0 15px #ff9900}
 .mobile-bubble.dosimetrie{left:16%;top:59%;transform:translate(-50%,-50%)}
 .mobile-bubble.rpl{left:84%;top:59%;transform:translate(-50%,-50%)}
 .mobile-bubble.rapports{left:27%;top:86%;transform:translate(-50%,-50%)}
 .mobile-bubble.parametres{left:73%;top:86%;transform:translate(-50%,-50%)}
 .home-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:460px;padding:12px 12px 18px}
 .home-kpi{min-height:88px;gap:8px;padding:9px}.home-kpi strong{font-size:22px}.home-kpi .metric-unit{font-size:14px}.metric-symbol{font-size:27px}
 .home-status{display:grid;gap:8px;font-size:11px;padding:13px 10px}.home-status span{border:none}
 .report-grid{grid-template-columns:1fr}.report-grid .panel{margin:7px 0}.report-grid p{min-height:auto}
}
@media(max-width:390px){.orbit-mobile{min-height:610px}.mobile-hub{width:139px;height:139px}.mobile-bubble{width:96px;height:96px}.mobile-bubble .bubble-icon{font-size:21px}.mobile-bubble b{font-size:11px}.mobile-bubble.agents{top:11%}.mobile-bubble.competences{top:27%}.mobile-bubble.interventions{top:27%}.mobile-bubble.rapports{top:86%}.mobile-bubble.parametres{top:86%}.mobile-ring{width:324px;height:324px}.mobile-bubble.dosimetrie{left:15%}.mobile-bubble.rpl{left:85%}}
@media(prefers-reduced-motion:reduce){.orbit-hotspot,.mobile-hub,.mobile-bubble{transition:none}}

.rad-separator{border:none;height:1px;background:#31526e;margin:26px 0}
