:root{--orange:#ff7a1a;--orange2:#ffb21a;--dark:#090d14;--dark2:#111827;--ink:#07111f;--muted:#667085;--line:#dfe5ee;--bg:#f4f6f8;--white:#fff;--green:#16a34a;--red:#dc2626;--blue:#2563eb;--sidew:330px;--toph:82px}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;overflow-x:hidden}a{text-decoration:none;color:inherit}.material-symbols-rounded{font-size:24px;line-height:1;vertical-align:-.2em}.ref-body{padding-top:var(--toph)}
.ref-topbar{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--toph);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid var(--line);padding:0 28px;box-shadow:0 12px 30px rgba(15,23,42,.05)}
.ref-brand{display:flex;align-items:center;gap:12px;font-weight:1000;color:#101827}.ref-brand .ref-logo{width:50px;height:50px;background:var(--orange);display:grid;place-items:center;color:#07111f;font-weight:1000}.ref-brand strong{display:block;font-size:1.35rem;letter-spacing:-.04em}.ref-brand em{display:block;font-style:normal;color:var(--muted);font-weight:850;font-size:.82rem;margin-top:1px}.ref-topnav{display:flex;align-items:center;gap:8px}.ref-topnav a{height:46px;padding:0 14px;display:flex;align-items:center;gap:8px;font-weight:950;color:#111827;background:#fff}.ref-topnav a:hover{background:#fff7ed}.ref-topnav .material-symbols-rounded{color:var(--orange)}
.ref-sidebar{position:fixed;left:0;top:var(--toph);bottom:0;width:var(--sidew);background:#0f172a;color:#fff;border-right:1px solid rgba(255,255,255,.08);z-index:90;padding:18px;overflow:auto}.ref-usercard{display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);padding:14px;margin-bottom:18px}.ref-avatar{width:56px;height:56px;background:var(--orange);color:#07111f;display:grid;place-items:center;font-weight:1000;font-size:1.4rem}.ref-usercard strong{display:block;font-weight:1000}.ref-usercard span{display:block;color:#9ca3af;font-weight:800;font-size:.88rem;margin-top:3px}.ref-sidebar nav{display:grid;gap:8px}.ref-sidebar nav a{min-height:54px;display:flex;align-items:center;gap:14px;padding:0 14px;color:#e5e7eb;font-weight:900;border-left:4px solid transparent}.ref-sidebar nav a:hover,.ref-sidebar nav a.is-active{background:rgba(255,122,26,.14);border-left-color:var(--orange);color:#fff}.ref-sidebar nav a .material-symbols-rounded{color:var(--orange)}.ref-side-cta{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;background:linear-gradient(135deg,var(--orange),var(--orange2));color:#07111f;font-weight:1000}.ref-shell{min-height:calc(100vh - var(--toph));display:flex;flex-direction:column}.is-logged .ref-shell{margin-left:var(--sidew)}
.ref-hero{background:linear-gradient(135deg,#090d14 0%,#111827 72%,#2a1608 100%);color:#fff;border-bottom:6px solid var(--orange);position:relative;overflow:hidden}.ref-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,rgba(255,122,26,.26),transparent 32%),radial-gradient(circle at 88% 14%,rgba(255,178,26,.16),transparent 36%);pointer-events:none}.ref-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:36px;align-items:center;padding:54px 34px}.ref-kicker{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,122,26,.48);background:rgba(255,122,26,.14);color:#ffd7b7;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;padding:11px 15px;margin-bottom:22px}.ref-hero h1{font-size:clamp(3rem,5vw,6.3rem);line-height:.92;letter-spacing:-.075em;margin:0;font-weight:1000}.ref-hero h1 span{background:linear-gradient(90deg,var(--orange),var(--orange2));-webkit-background-clip:text;background-clip:text;color:transparent}.ref-hero p{font-size:1.14rem;line-height:1.65;color:rgba(255,255,255,.82);font-weight:650;max-width:900px}.ref-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.ref-btn{min-height:52px;padding:0 18px;border:1px solid var(--line);background:#fff;color:#07111f;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:1000;cursor:pointer;border-radius:0}.ref-btn.primary{border:0;background:linear-gradient(135deg,var(--orange),var(--orange2));color:#07111f}.ref-btn.dark{background:#111827;color:#fff;border-color:#2b3445}.ref-btn.red{background:var(--red);border-color:var(--red);color:#fff}.ref-btn.green{background:var(--green);border-color:var(--green);color:#fff}.ref-panel{background:#fff;color:#07111f;border-top:6px solid var(--orange);box-shadow:0 24px 65px rgba(0,0,0,.25);padding:26px}.ref-panel h2{margin:0 0 12px;font-size:1.55rem;font-weight:1000;letter-spacing:-.035em}.ref-panel p{color:var(--muted);font-weight:750;line-height:1.55}.ref-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border-bottom:1px solid var(--line)}.ref-kpi{padding:23px 24px;border-right:1px solid var(--line);border-top:5px solid var(--orange)}.ref-kpi:last-child{border-right:0}.ref-kpi strong{display:block;font-size:2.6rem;line-height:1;font-weight:1000;letter-spacing:-.06em}.ref-kpi span{display:block;margin-top:8px;text-transform:uppercase;letter-spacing:.07em;font-size:.78rem;font-weight:1000}.ref-kpi small{display:block;margin-top:7px;color:var(--muted);font-weight:750}.ref-main{padding:28px 34px 48px;display:grid;gap:24px;flex:1}.ref-grid{display:grid;grid-template-columns:minmax(0,1.35fr) 420px;gap:24px;align-items:start}.ref-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ref-card{background:#fff;border:1px solid var(--line);box-shadow:0 18px 42px rgba(15,23,42,.06);border-radius:0;overflow:hidden}.ref-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:21px 23px;border-bottom:5px solid var(--orange)}.ref-card-head h2,.ref-card-head h3{margin:0;font-weight:1000;letter-spacing:-.035em}.ref-card-head p{margin:7px 0 0;color:var(--muted);font-weight:750}.ref-card-body{padding:22px}.ref-list{display:grid;gap:10px}.ref-item{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid var(--line);padding:14px;background:#fff}.ref-item strong{display:block;font-weight:1000}.ref-item span{display:block;color:var(--muted);font-weight:800;font-size:.9rem;margin-top:4px}.ref-badge{min-height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;background:#111827;color:#fff;font-weight:1000;font-size:.76rem;text-transform:uppercase}.ref-badge.orange{background:var(--orange);color:#07111f}.ref-badge.green{background:var(--green)}.ref-badge.red{background:var(--red)}.ref-form{display:grid;gap:13px}.ref-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:1000;color:#1f2937}.ref-input,.ref-select,.ref-textarea{width:100%;border:1px solid #cfd6e3;background:#fff;color:#07111f;padding:0 14px;font-weight:850;font-size:1rem;border-radius:0;outline:none}.ref-input,.ref-select{height:52px}.ref-textarea{min-height:120px;padding-top:12px;resize:vertical}.ref-input:focus,.ref-select:focus,.ref-textarea:focus{border-color:var(--orange);box-shadow:inset 4px 0 0 var(--orange)}.ref-alert{border-left:5px solid var(--orange);background:#fff7ed;color:#7c2d12;font-weight:800;padding:14px 16px;line-height:1.55}.ref-alert.green{border-left-color:var(--green);background:#ecfdf5;color:#14532d}.ref-alert.red{border-left-color:var(--red);background:#fef2f2;color:#7f1d1d}.ref-table-wrap{overflow:auto}.ref-table{width:100%;border-collapse:collapse}.ref-table th,.ref-table td{text-align:left;border-bottom:1px solid var(--line);padding:14px 12px;font-weight:800;vertical-align:middle}.ref-table th{text-transform:uppercase;letter-spacing:.07em;font-size:.74rem;color:#667085;background:#f8fafc}.ref-map{height:620px;background:#dfe7f1;border:1px solid var(--line)}.ref-public-wrap{min-height:calc(100vh - var(--toph));display:grid;grid-template-columns:1.1fr .9fr}.ref-public-hero{background:linear-gradient(135deg,#090d14,#111827 72%,#2a1608);color:#fff;padding:70px 48px;border-bottom:6px solid var(--orange);display:flex;flex-direction:column;justify-content:center}.ref-public-hero h1{font-size:clamp(3.2rem,6vw,6.6rem);line-height:.92;letter-spacing:-.075em;margin:0;font-weight:1000}.ref-public-hero h1 span{background:linear-gradient(90deg,var(--orange),var(--orange2));-webkit-background-clip:text;background-clip:text;color:transparent}.ref-public-hero p{font-size:1.15rem;line-height:1.65;color:rgba(255,255,255,.82);font-weight:700}.ref-public-box{display:flex;align-items:center;justify-content:center;padding:42px;background:#fff}.ref-auth{width:min(520px,100%);border-top:6px solid var(--orange);box-shadow:0 22px 60px rgba(15,23,42,.10);padding:28px;border:1px solid var(--line)}.ref-mobile-nav{display:none}.ref-footer{background:#fff;border-top:1px solid var(--line);min-height:86px;padding:22px 34px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:auto}.ref-footer strong{font-weight:1000}.ref-footer span{display:block;color:var(--muted);font-weight:750;margin-top:3px}.ref-footer nav{display:flex;gap:14px;flex-wrap:wrap}.ref-footer a{font-weight:900;color:#111827}.ref-footer a:hover{color:var(--orange)}
.ref-action-inline{display:flex;gap:8px;flex-wrap:wrap}.ref-action-inline form{display:inline-flex;gap:8px}.ref-muted{color:var(--muted);font-weight:800}.ref-highlight{background:#fff7ed;border-left:5px solid var(--orange);padding:14px 16px;font-weight:800}.ref-photo{max-width:100%;height:auto;display:block;background:#0f172a}.ref-stat-split{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ref-mini-stat{background:#f8fafc;border:1px solid var(--line);padding:14px}.ref-mini-stat strong{display:block;font-size:1.7rem;font-weight:1000}.ref-mini-stat span{display:block;color:var(--muted);font-weight:900;text-transform:uppercase;font-size:.72rem;margin-top:4px}
@media(max-width:1180px){.ref-hero-in{grid-template-columns:1fr}.ref-grid,.ref-two{grid-template-columns:1fr}.ref-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){:root{--toph:70px}.ref-body{padding-top:70px}.ref-topbar{height:70px;padding:0 12px}.ref-brand em,.ref-topnav a span:not(.material-symbols-rounded){display:none}.ref-topnav a{padding:0 10px}.ref-sidebar{display:none}.is-logged .ref-shell{margin-left:0}.ref-hero-in{padding:26px 16px 0}.ref-hero h1{font-size:clamp(2.7rem,15vw,4.5rem)}.ref-panel{margin:0 -16px;box-shadow:none}.ref-kpis{grid-template-columns:repeat(2,1fr)}.ref-kpi{padding:18px 16px}.ref-main{padding:14px 0 92px}.ref-card{border-left:0;border-right:0;box-shadow:none}.ref-card-head,.ref-card-body{padding-left:16px;padding-right:16px}.ref-public-wrap{grid-template-columns:1fr}.ref-public-hero{padding:36px 18px}.ref-public-box{padding:18px}.ref-actions{display:grid;grid-template-columns:1fr 1fr}.ref-btn{padding:0 12px}.ref-map{height:70vh}.ref-footer{display:none}.ref-mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:100;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(6,1fr);height:74px;padding-bottom:env(safe-area-inset-bottom)}.ref-mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:900;color:#0f172a}.ref-mobile-nav .material-symbols-rounded{color:var(--orange)}.ref-mobile-nav small{font-size:.62rem}.ref-stat-split{grid-template-columns:1fr}}

/* PWA Référent V4 */
.ref-install-banner{position:fixed;left:calc(var(--sidew) + 18px);right:18px;bottom:18px;z-index:140;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#090d14;color:#fff;border-left:6px solid var(--orange);padding:16px 18px;box-shadow:0 22px 60px rgba(15,23,42,.32)}
.ref-install-banner[hidden]{display:none!important}.ref-install-banner strong{display:block;font-weight:1000;letter-spacing:-.02em}.ref-install-banner span{display:block;margin-top:4px;color:rgba(255,255,255,.74);font-weight:750;line-height:1.35}.ref-install-actions{display:flex;align-items:center;gap:8px}.ref-install-close{width:44px;height:44px;border:1px solid rgba(255,255,255,.16);background:#111827;color:#fff;font-weight:1000;font-size:1.35rem;cursor:pointer;border-radius:0}.ref-pwa-standalone .ref-topbar{padding-top:env(safe-area-inset-top)}.ref-pwa-standalone .ref-body{overscroll-behavior-y:contain;-webkit-tap-highlight-color:transparent}.ref-pwa-standalone a,.ref-pwa-standalone button,.ref-pwa-standalone .ref-btn,.ref-pwa-standalone img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ref-pwa-standalone input,.ref-pwa-standalone textarea,.ref-pwa-standalone select{-webkit-user-select:text;user-select:text}.ref-pwa-updated:after{content:'Mise à jour prête';position:fixed;right:18px;top:calc(var(--toph) + 14px);z-index:150;background:#111827;color:#fff;border-left:5px solid var(--orange);padding:12px 14px;font-weight:1000;box-shadow:0 16px 44px rgba(15,23,42,.22)}
@media(max-width:820px){.ref-install-banner{left:0;right:0;bottom:74px;padding:14px 12px}.ref-install-banner span{font-size:.84rem}.ref-install-actions .ref-btn{min-height:44px}.ref-pwa-standalone .ref-mobile-nav{padding-bottom:calc(env(safe-area-inset-bottom) + 2px);height:calc(74px + env(safe-area-inset-bottom))}.ref-pwa-standalone .ref-main{padding-bottom:calc(98px + env(safe-area-inset-bottom))}}


/* PWA Référent V5 — optimisation scroll / performance mobile */
html.ref-pwa-standalone,
body.ref-pwa-standalone{
  overscroll-behavior-y:auto !important;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:auto !important;
}
.ref-pwa-standalone .ref-body,
.ref-pwa-standalone .ref-shell,
.ref-pwa-standalone .ref-main,
.ref-pwa-standalone .ref-sidebar,
.ref-pwa-standalone .ref-table-wrap{
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:auto !important;
}
.ref-pwa-standalone a,
.ref-pwa-standalone button,
.ref-pwa-standalone .ref-btn,
.ref-pwa-standalone .ref-mobile-nav a{
  touch-action:manipulation;
}
/* On ne bloque plus la sélection globalement : cela évite les gels sur Android/Firefox. */
.ref-pwa-standalone a,
.ref-pwa-standalone button,
.ref-pwa-standalone .ref-btn,
.ref-pwa-standalone img{
  -webkit-touch-callout:default !important;
  -webkit-user-select:auto !important;
  user-select:auto !important;
}
.ref-pwa-standalone .ref-mobile-nav,
.ref-pwa-standalone .ref-topbar{
  transform:translateZ(0);
  will-change:auto;
}
@media(max-width:820px){
  .ref-pwa-standalone .ref-main{padding-bottom:calc(92px + env(safe-area-inset-bottom)) !important;}
  .ref-pwa-standalone .ref-mobile-nav{height:calc(72px + env(safe-area-inset-bottom)) !important;}
}

/* Référent V6 — navigation stats */
@media(max-width:820px){.ref-mobile-nav{grid-template-columns:repeat(6,1fr)!important}.ref-mobile-nav small{font-size:.60rem!important}}

/* Référent V10 — Mes pièges personnels */
.ref-mytrap-hero .ref-panel{border-top-color:var(--orange)}
.ref-stat-split-4{grid-template-columns:repeat(4,1fr)}
.ref-mytrap-kpis .ref-kpi:nth-child(2){border-top-color:#111827}.ref-mytrap-kpis .ref-kpi:nth-child(3){border-top-color:var(--green)}.ref-mytrap-kpis .ref-kpi:nth-child(4){border-top-color:var(--blue)}
.ref-mytrap-grid{grid-template-columns:minmax(0,1fr) 440px}.ref-mytrap-list{display:grid;gap:14px}.ref-mytrap-card{border:1px solid var(--line);background:#fff;padding:16px;display:grid;gap:13px}.ref-mytrap-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ref-mytrap-top strong{display:block;font-weight:1000;font-size:1.02rem}.ref-mytrap-top span{display:block;color:var(--muted);font-weight:850;margin-top:4px}.ref-mytrap-metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #edf1f6;background:#f8fafc}.ref-mytrap-metrics div{padding:12px;border-right:1px solid #edf1f6}.ref-mytrap-metrics div:last-child{border-right:0}.ref-mytrap-metrics strong{display:block;font-size:1.1rem;font-weight:1000;color:#07111f}.ref-mytrap-metrics span{display:block;margin-top:4px;color:var(--muted);font-weight:950;text-transform:uppercase;font-size:.66rem;letter-spacing:.06em}.ref-mytrap-desc{margin:0;line-height:1.55}.ref-mytrap-actions{align-items:center}.ref-form-2{display:grid;grid-template-columns:1fr 1fr;gap:13px}.ref-form-3{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.ref-geo-button{display:grid}.ref-geo-button .ref-btn{height:52px}.ref-empty-state{border:2px dashed #dfe5ee;background:#f8fafc;padding:28px;text-align:center}.ref-empty-state .material-symbols-rounded{font-size:46px;color:var(--orange)}.ref-empty-state strong{display:block;font-size:1.15rem;font-weight:1000;margin-top:6px}.ref-empty-state p{margin:8px auto 0;max-width:520px;color:var(--muted);font-weight:800;line-height:1.55}
@media(max-width:1180px){.ref-mytrap-grid{grid-template-columns:1fr}.ref-stat-split-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.ref-form-2,.ref-form-3{grid-template-columns:1fr}.ref-mytrap-metrics{grid-template-columns:repeat(2,1fr)}.ref-mytrap-top{display:grid}.ref-mytrap-actions{display:grid;grid-template-columns:1fr 1fr}.ref-mytrap-actions form,.ref-mytrap-actions .ref-btn{width:100%}.ref-stat-split-4{grid-template-columns:repeat(2,1fr)}.ref-mobile-nav{grid-template-columns:repeat(6,1fr)!important}.ref-mobile-nav small{font-size:.58rem!important}}

/* Référent V11 — Mes signalements personnels */
.ref-mysignal-hero .ref-panel{border-top-color:var(--orange)}
.ref-mysignal-kpis .ref-kpi:nth-child(2){border-top-color:#111827}.ref-mysignal-kpis .ref-kpi:nth-child(3){border-top-color:var(--orange)}.ref-mysignal-kpis .ref-kpi:nth-child(4){border-top-color:var(--green)}
.ref-mysignal-grid{grid-template-columns:minmax(0,1fr) 460px}.ref-mysignal-list{display:grid;gap:14px}.ref-mysignal-card{border:1px solid var(--line);background:#fff;padding:16px;display:grid;gap:13px}.ref-mysignal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ref-mysignal-top strong{display:block;font-weight:1000;font-size:1.02rem}.ref-mysignal-top span{display:block;color:var(--muted);font-weight:850;margin-top:4px}.ref-mysignal-metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #edf1f6;background:#f8fafc}.ref-mysignal-metrics div{padding:12px;border-right:1px solid #edf1f6}.ref-mysignal-metrics div:last-child{border-right:0}.ref-mysignal-metrics strong{display:block;font-size:1.05rem;font-weight:1000;color:#07111f}.ref-mysignal-metrics span{display:block;margin-top:4px;color:var(--muted);font-weight:950;text-transform:uppercase;font-size:.66rem;letter-spacing:.06em}.ref-mysignal-desc{margin:0;line-height:1.55}.ref-mysignal-actions{align-items:center}.ref-mysignal-search{width:210px}.ref-mysignal-select{width:170px}.ref-badge.dark{background:#111827;color:#fff}
@media(max-width:1180px){.ref-mysignal-grid{grid-template-columns:1fr}.ref-card-head .ref-action-inline{width:100%;display:grid;grid-template-columns:1fr 1fr auto}.ref-mysignal-search,.ref-mysignal-select{width:100%}}
@media(max-width:820px){.ref-mysignal-top{display:grid}.ref-mysignal-metrics{grid-template-columns:1fr}.ref-mysignal-metrics div{border-right:0;border-bottom:1px solid #edf1f6}.ref-mysignal-metrics div:last-child{border-bottom:0}.ref-mysignal-actions{display:grid;grid-template-columns:1fr}.ref-mysignal-actions form,.ref-mysignal-actions .ref-btn{width:100%}.ref-card-head{display:grid}.ref-card-head .ref-action-inline{grid-template-columns:1fr}.ref-mysignal-search,.ref-mysignal-select{width:100%}.ref-mobile-nav{grid-template-columns:repeat(6,1fr)!important}.ref-mobile-nav small{font-size:.56rem!important}}
