 :root{--red:#d71920;--dark:#101112;--muted:#687078;--line:#e8eaed;--bg:#f5f6f7;--ok:#15803d;--bad:#c62828;--radius:18px}*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif;color:#17191b;background:var(--bg)}body{margin:0}.shell{width:min(1120px,calc(100% - 32px));margin:auto}.top{position:sticky;top:0;z-index:50;background:#101112;box-shadow:0 1px 18px #0003}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}.brand-mark{width:42px;height:42px;border-radius:13px;background:var(--red);display:grid;place-items:center;font-size:26px;font-weight:900}.brand b,.brand small{display:block}.brand b{font-size:20px}.brand small{color:#aaa;font-size:11px;margin-top:2px}.nav nav{display:flex;align-items:center;gap:7px}.nav nav a{color:#ddd;text-decoration:none;padding:11px 12px;border-radius:10px;font-size:14px}.nav nav a:hover{background:#ffffff12;color:#fff}.nav nav .account{background:var(--red);color:#fff;font-weight:bold}.menu{display:none;background:none;border:0;color:#fff;font-size:25px}.main{padding:34px 0 55px;min-height:65vh}.hero{background:var(--dark);color:#fff;border-radius:26px;padding:42px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:var(--red);opacity:.12;right:-80px;top:-120px}.eyebrow{color:#ff6b70;font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}.hero h1{font-size:42px;line-height:1.05;margin:10px 0 14px;max-width:700px}.hero p{color:#c9c9c9;max-width:700px;line-height:1.6}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-block;border:0;border-radius:12px;padding:13px 18px;text-decoration:none;cursor:pointer;font-weight:800;font-size:14px;background:var(--red);color:#fff}.btn.secondary{background:#fff;color:#161616}.btn.ghost{background:#eee;color:#222}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 8px 28px #1011120a}.card h2,.card h3{margin-top:0}.metric{font-size:30px;font-weight:900}.muted{color:var(--muted);line-height:1.55}.status{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;background:#edf7f0;color:var(--ok)}.status.bad{background:#fff0f0;color:var(--bad)}.status.premium{background:#fff4d8;color:#8b5b00}.form-row{margin:15px 0}.form-row label{display:block;font-size:13px;font-weight:800;margin-bottom:7px}.input,textarea.input{width:100%;border:1px solid #d7dadd;border-radius:11px;padding:13px 14px;font:inherit;background:#fff}.input:focus{outline:2px solid #d7192030;border-color:var(--red)}.notice{padding:14px 16px;border-radius:12px;margin:14px 0;background:#eef7ff;color:#24506e}.notice.ok{background:#edf9f0;color:#176b34}.notice.err{background:#fff0f0;color:#9c2020}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.up{color:var(--ok);font-weight:900}.down{color:var(--bad);font-weight:900}.footer{background:#101112;color:#aaa;padding:38px 0 18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer-grid p{max-width:500px;line-height:1.5}.footer-grid b{color:#fff;display:block;margin-bottom:10px}.footer-grid a{display:block;color:#aaa;text-decoration:none;margin:8px 0}.footer-brand{margin-bottom:12px}.copyright{border-top:1px solid #ffffff15;margin-top:25px;padding-top:17px;font-size:12px}.section-title{margin:32px 0 14px}.split{display:flex;justify-content:space-between;align-items:center;gap:15px}.step{position:relative}.premium-card{border:2px solid #e5b43c}.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:10px 0}.faq summary{font-weight:800;cursor:pointer}.faq p{color:var(--muted);line-height:1.55}@media(max-width:760px){.shell{width:min(100% - 22px,1120px)}.menu{display:block}.nav nav{display:none;position:absolute;left:11px;right:11px;top:68px;background:#18191a;border-radius:14px;padding:10px;box-shadow:0 10px 30px #0005}.nav nav.open{display:block}.nav nav a{display:block}.hero{padding:28px 22px}.hero h1{font-size:32px}.grid,.grid.two,.footer-grid{grid-template-columns:1fr}.main{padding-top:22px}.split{align-items:flex-start;flex-direction:column}}
/* FreeboxSMS V4 — identité officielle */
.brand-logo{width:54px;height:54px;display:block;object-fit:contain}
.brand-copy{display:block}
.wordmark{font-size:24px;font-weight:900;letter-spacing:-1.1px;line-height:1;color:#fff}
.wordmark span{color:#ef171e}
.brand small{font-size:8px;letter-spacing:1.65px;color:#929292;margin-top:5px;font-weight:700}
.top{border-bottom:1px solid #ffffff0d}
.nav{min-height:82px}
.hero{background:linear-gradient(135deg,#0c0d0e,#191a1c);border:1px solid #ffffff0c;box-shadow:0 18px 55px #00000012}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 55%,#ef171e0b);pointer-events:none}
.hero .eyebrow{color:#ff454a}
.btn{box-shadow:0 8px 20px #d7192025;transition:.18s transform,.18s box-shadow}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 25px #d7192035}
.card{transition:.18s transform,.18s box-shadow}
.card:hover{transform:translateY(-2px);box-shadow:0 14px 34px #10111210}
.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.status.premium{background:#171819;color:#ffca52;border:1px solid #ffca5238}
.footer .brand-logo{width:48px;height:48px}
.footer .wordmark{font-size:21px}
@media(max-width:760px){.brand-logo{width:45px;height:45px}.wordmark{font-size:21px}.brand small{font-size:6.5px;letter-spacing:1.1px}.nav{min-height:72px}}


/* Homepage V4.9 — scoped styles, no dependencies */
.home-v49{--hr:#ed202b;--hd:#111316;--hm:#777e87}
.home-v49 .home-hero{background:linear-gradient(125deg,#101113 10%,#202125 100%);color:#fff;border-radius:27px;display:grid;grid-template-columns:1.12fr .88fr;min-height:485px;overflow:hidden;position:relative;isolation:isolate;box-shadow:0 20px 55px #11131615}
.home-v49 .home-hero:before{content:"";position:absolute;width:480px;height:480px;border:1px solid #ffffff0c;border-radius:50%;right:-120px;top:-170px;pointer-events:none}
.home-hero-main{padding:63px 0 55px 48px;position:relative;z-index:2}
.home-kicker{color:#ff8388;font-size:11px;font-weight:800;letter-spacing:1.4px;display:flex;gap:10px;align-items:center}
.home-live-dot{width:8px;height:8px;border-radius:50%;background:#fa3744;box-shadow:0 0 0 5px #ff3c4b24}
.home-v49 h1{font-size:clamp(35px,4.2vw,57px);line-height:1.07;letter-spacing:-2px;margin:27px 0 23px}
.home-v49 h1 span{color:#fa3d47}
.home-lead{font-size:15px;line-height:1.85;color:#c7c9cc;max-width:530px}
.home-hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:28px 0}
.home-v49 .home-btn{padding:16px 21px;border-radius:11px;background:#ec242e}
.home-text-link{color:#fff;text-decoration:none;font-weight:700;font-size:13px}
.home-text-link span{color:#ff4850}
.home-trust{display:flex;gap:15px;flex-wrap:wrap;color:#aeb0b4;font-size:11px;margin-top:40px}
.home-hero-visual{position:relative;display:flex;align-items:center;justify-content:center;padding:32px 38px 40px 0;min-width:0}
.home-visual-halo{position:absolute;width:340px;height:340px;border-radius:50%;background:#f129331a;filter:blur(2px);right:5%;top:18%}
.home-monitor{position:relative;width:100%;max-width:365px;background:#1c1e22;border:1px solid #ffffff26;border-radius:18px;padding:18px;box-shadow:0 35px 70px #0007;transform:rotate(-2deg)}
.home-monitor-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #ffffff17;padding-bottom:16px}
.home-monitor-brand{font-size:12px;font-weight:800;display:flex;align-items:center;gap:7px}
.home-brand-square{display:grid;place-items:center;background:#e9222b;color:white;width:25px;height:25px;border-radius:7px}
.home-monitor-tag{font-size:8px;letter-spacing:.8px;color:#a4ffcd}
.home-monitor-router{display:flex;gap:15px;align-items:center;padding:25px 2px}
.home-monitor-router small,.home-monitor-router strong,.home-monitor-router .home-online{display:block}
.home-monitor-router small{font-size:9px;color:#a9aeb7;letter-spacing:1px}
.home-monitor-router strong{font-size:17px;margin:7px 0}
.home-monitor-router .home-online{font-size:10px;color:#a7dcbf}
.home-online i{display:inline-block;width:6px;height:6px;background:#48d48c;border-radius:50%}
.home-router-icon{background:#2c3036;width:72px;height:64px;border-radius:14px;display:flex;align-items:end;justify-content:center;gap:6px;padding-bottom:18px;flex-shrink:0}
.home-router-icon span{width:8px;height:8px;border-radius:50%;background:#e9434c}.home-router-icon span:nth-child(2){background:#7bdb9d}.home-router-icon span:nth-child(3){background:#a4aab2}
.home-signal{height:67px;display:flex;align-items:center;justify-content:space-between;gap:3px;padding:6px 0 16px}
.home-signal span{flex:1;height:18%;background:#e9333f;border-radius:4px;opacity:.7}
.home-signal span:nth-child(3n){height:48%}.home-signal span:nth-child(4n){height:76%}.home-signal span:nth-child(7n){height:95%}
.home-monitor-alert{display:flex;align-items:center;gap:10px;border:1px solid #ffffff15;background:#ffffff08;padding:12px;border-radius:12px}
.home-alert-symbol{background:#df2530;border-radius:9px;padding:8px;font-size:16px}
.home-monitor-alert div{flex:1}.home-monitor-alert strong,.home-monitor-alert small{display:block}.home-monitor-alert strong{font-size:11px}.home-monitor-alert small{font-size:9px;color:#9da3ad;margin-top:4px}.home-check{color:#8de0ac}
.home-float{position:absolute;right:10px;bottom:49px;z-index:2;background:#fff;color:#191b1e;border-radius:12px;padding:12px 16px;box-shadow:0 10px 35px #0005;display:flex;align-items:center;gap:10px;transform:rotate(3deg)}
.home-float-icon{color:#eb2832;font-size:23px}.home-float strong,.home-float small{display:block}.home-float strong{font-size:12px}.home-float small{font-size:10px;color:#888}
.home-proof{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #e8eaed;border-radius:17px;margin:18px 0 70px;padding:25px 10px}
.home-proof div{text-align:center;padding:5px 12px;border-right:1px solid #e8eaed}.home-proof div:last-child{border-right:0}.home-proof strong,.home-proof span{display:block}.home-proof strong{font-size:28px;color:#15171a;letter-spacing:-1px}.home-proof span{font-size:11px;color:#747981;margin-top:8px}
.home-section{margin:65px 0}.home-section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:27px}.home-label{font-size:11px;font-weight:900;letter-spacing:1.6px;color:#db202b}.home-section h2,.home-how h2,.home-premium h2,.home-end h2{font-size:clamp(27px,3.1vw,38px);letter-spacing:-1.2px;line-height:1.17;margin:13px 0}.home-section h2 span,.home-how h2 span,.home-news h2 span{color:#d9212b}.home-section-heading>p{max-width:350px;font-size:14px;line-height:1.7;color:#69717a}
.home-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.home-feature{padding:27px;background:#fff;border:1px solid #e5e7eb;border-radius:17px;min-height:225px;display:flex;flex-direction:column}.home-feature-icon{display:grid;place-items:center;background:#fff0f1;color:#e4212d;width:48px;height:48px;border-radius:13px;font-size:25px;font-weight:900}.home-feature h3{font-size:18px;margin:23px 0 8px}.home-feature p{font-size:13px;line-height:1.7;color:#727982;margin:0}.home-feature-number{font-size:10px;letter-spacing:1px;font-weight:800;color:#d92932;margin-top:auto;padding-top:24px}
.home-how{background:#191b1e;color:white;border-radius:23px;padding:46px;display:grid;grid-template-columns:1fr 1.05fr;gap:45px;margin:65px 0}.home-how-copy p{color:#aeb3ba;font-size:14px;line-height:1.8}.home-outline{display:inline-block;color:#fff;text-decoration:none;font-size:13px;font-weight:700;border:1px solid #ffffff45;border-radius:10px;padding:13px;margin-top:18px}.home-steps>div{display:flex;gap:18px;border-bottom:1px solid #ffffff18;padding:15px 0}.home-steps>div:last-child{border:0}.home-steps>div>span{color:#fa454f;font-weight:900;font-size:22px}.home-steps h3{margin:0 0 7px;font-size:16px}.home-steps p{margin:0;font-size:12px;line-height:1.65;color:#afb2b8}
.home-premium{background:linear-gradient(105deg,#fff,#fff6f6);border:1px solid #f3d5d8;border-radius:23px;padding:42px 48px;display:flex;justify-content:space-between;align-items:center;gap:30px;overflow:hidden}.home-premium>div:first-child{max-width:640px}.home-premium p{font-size:14px;line-height:1.7;color:#707781;margin-bottom:25px}.home-premium-emblem{border:2px solid #e92b35;border-radius:22px;min-width:190px;padding:24px;text-align:center;transform:rotate(6deg);color:#d51c26}.home-premium-emblem span{display:block;font-size:57px;font-weight:900}.home-premium-emblem strong,.home-premium-emblem small{display:block;letter-spacing:2px}.home-premium-emblem small{font-size:9px;margin-top:7px}
.home-all-news{font-weight:800;color:#d9212b;text-decoration:none;font-size:13px}.home-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.home-news-card{display:flex;flex-direction:column;min-height:170px;background:#fff;border:1px solid #e7e9ed;border-radius:16px;padding:22px;text-decoration:none;color:#181a1e}.home-news-card time{font-size:11px;color:#d9212b;font-weight:800}.home-news-card h3{font-size:16px;line-height:1.45;margin:16px 0}.home-news-card>span{font-size:12px;color:#d9212b;font-weight:700;margin-top:auto}
.home-end{background:#d91f29;color:white;border-radius:22px;padding:36px 42px;display:flex;align-items:center;justify-content:space-between;gap:30px}.home-end .home-label{color:#ffd4d6}.home-end h2{font-size:30px}.home-end p{font-size:13px;color:#ffe2e4}.home-end .home-btn{background:white;color:#ba1a23;white-space:nowrap}
@media(max-width:900px){.home-v49 .home-hero{grid-template-columns:1fr}.home-hero-main{padding:44px 34px 15px}.home-hero-visual{padding:20px 35px 60px}.home-monitor{max-width:420px}.home-float{right:16%;bottom:30px}.home-feature-grid,.home-news-grid{grid-template-columns:repeat(2,1fr)}.home-how{gap:24px}}
@media(max-width:600px){.home-v49 .home-hero{border-radius:18px}.home-hero-main{padding:34px 23px 10px}.home-v49 h1{font-size:36px;letter-spacing:-1.2px}.home-lead{font-size:14px}.home-trust{margin-top:22px;gap:10px}.home-hero-visual{padding:14px 25px 54px}.home-monitor{transform:none}.home-float{right:9px;bottom:17px}.home-proof{grid-template-columns:repeat(2,1fr);margin-bottom:40px}.home-proof div{border-bottom:1px solid #e8eaed;padding:16px 8px}.home-proof div:nth-child(2){border-right:0}.home-proof div:nth-child(n+3){border-bottom:0}.home-section{margin:45px 0}.home-section-heading{display:block}.home-feature-grid,.home-news-grid{grid-template-columns:1fr}.home-feature{min-height:190px}.home-how{grid-template-columns:1fr;padding:28px 23px;margin:45px 0}.home-premium{padding:30px 24px}.home-premium-emblem{display:none}.home-end{padding:28px 24px;display:block}.home-end h2{font-size:27px}.home-end .home-btn{margin-top:12px}.home-hero-actions{gap:14px}}

/* V4.10 — pastille de statut globale, basée sur le dernier état en BDD */
.fbs-header-state{display:inline-flex!important;align-items:center;gap:7px;padding:8px 11px!important;border-radius:999px!important;background:#eeeeef;color:#60646c!important;text-decoration:none!important;font-size:12px!important;font-weight:800!important;white-space:nowrap;line-height:1.2!important}
.fbs-header-dot{display:inline-block;flex-shrink:0;width:8px;height:8px;border-radius:50%;background:#8d929a}
.fbs-header-state-up{background:#e7f8ee!important;color:#167a43!important}.fbs-header-state-up .fbs-header-dot{background:#19a75b;box-shadow:0 0 0 3px #19a75b22}
.fbs-header-state-down{background:#ffeaec!important;color:#c52234!important}.fbs-header-state-down .fbs-header-dot{background:#e42b3f;box-shadow:0 0 0 3px #e42b3f24}
@media(max-width:780px){.fbs-header-state{width:max-content;margin:5px 0}}

/* V4.11 — statut toujours visible dans le bandeau mobile, hors menu */
.fbs-mobile-state{display:none}
@media(max-width:780px){
 .top .nav{display:flex;align-items:center;gap:9px}
 .top .brand{min-width:0;margin-right:auto}
 .fbs-mobile-state{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;border-radius:999px;padding:9px 10px;background:#eee;color:#60646c;text-decoration:none;font-size:11px;font-weight:800;white-space:nowrap;line-height:1}
 .fbs-mobile-state.fbs-header-state-up{background:#e7f8ee;color:#167a43}
 .fbs-mobile-state.fbs-header-state-down{background:#ffeaec;color:#c52234}
 .fbs-mobile-state .fbs-header-dot{width:8px;height:8px}
 .top nav .fbs-header-state{display:none!important}
 .top .menu{flex:0 0 auto}
}
@media(max-width:390px){
 .fbs-mobile-state{padding:8px;font-size:10px;gap:5px}
 .top .nav{gap:6px}
 .top .brand-copy small{display:none}
}

/* V4.24 - Carte Ma Freebox unifiee */
.fbs-unified-card{max-width:760px;margin:0 auto 16px;min-width:0}
.fbs-unified-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fbs-unified-title h2{margin:0}.fbs-unified-title .status{font-size:10px}
.fbs-unified-head{display:flex;align-items:center;gap:14px;margin:16px 0}
.fbs-unified-visual{flex:0 0 110px;display:grid;place-items:center;min-height:88px;border-radius:14px;background:#f5f6f7}
.fbs-unified-visual img{display:block;width:100%;height:85px;object-fit:contain;padding:7px;box-sizing:border-box}
.fbs-unified-identity{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.fbs-unified-identity strong{font-size:18px}.fbs-unified-identity small{font-size:12px;color:#707781}
.fbs-state-pill{font-size:11px;font-weight:800;padding:5px 9px;border-radius:99px;background:#eee;color:#646971}
.fbs-state-pill.is-up{background:#e7f8ee;color:#147c43}.fbs-state-pill.is-down{background:#ffe9ec;color:#be2234}
.fbs-unified-duration{background:#f4f7f5;border-left:3px solid #1aa85b;padding:12px 15px;border-radius:11px;display:flex;flex-direction:column;gap:5px}
.fbs-unified-duration.is-down{background:#fff1f2;border-left-color:#d72536}
.fbs-unified-duration small{color:#626a70;font-size:12px}.fbs-unified-duration strong{font-size:clamp(20px,4vw,26px);letter-spacing:-.6px;line-height:1.25}
.fbs-unified-duration span{font-size:12px;color:#525b63}
.fbs-unified-plan{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0;font-size:12px;color:#626a70}
.fbs-unified-plan b{color:#17191c}.fbs-plan-tag{border:1px solid #e5e7eb;padding:4px 9px;border-radius:99px;font-size:10px;font-weight:800;color:#d9202b}
.fbs-unified-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:13px 0;border-top:1px solid #e9eaec}
.fbs-unified-meta>div{display:flex;flex-direction:column;gap:4px;min-width:0}.fbs-unified-meta .wide{grid-column:1/-1}
.fbs-unified-meta small{font-size:11px;color:#727982}.fbs-unified-meta strong{font-size:13px;overflow-wrap:anywhere}
.fbs-unified-check{margin:0;padding:10px 0;border-top:1px solid #e9eaec;font-size:12px;color:#69717a}
.fbs-unified-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.fbs-unified-actions details{font-size:12px;flex:1 1 175px;min-width:0}
.fbs-unified-actions summary{cursor:pointer;padding:9px 10px;border:1px solid #e3e5e7;border-radius:9px;font-weight:700}
.fbs-unified-detail{padding:10px 0;overflow-wrap:anywhere}.fbs-unified-actions form{margin-top:10px}
@media(max-width:480px){.fbs-unified-card{padding:16px}.fbs-unified-title h2{font-size:19px}.fbs-unified-visual{flex-basis:88px;min-height:76px}.fbs-unified-visual img{height:75px}.fbs-unified-head{gap:10px;margin:12px 0}.fbs-unified-identity strong{font-size:16px}.fbs-unified-duration{padding:11px 12px}.fbs-unified-actions{display:block}.fbs-unified-actions details{margin-top:8px}}

/* Sélection du modèle : fenêtre compacte et accessible sur mobile */
.fbs-unified-visual{position:relative}
.fbs-model-edit{position:absolute;right:2px;top:2px;width:29px;height:29px;border:1px solid #ddd;border-radius:50%;background:#fff;color:#202124;font-size:18px;cursor:pointer;box-shadow:0 2px 7px #0002}
.fbs-model-modal[hidden]{display:none!important}.fbs-model-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:14px}
.fbs-model-backdrop{position:absolute;inset:0;background:#101217b8}
.fbs-model-dialog{position:relative;background:#fff;color:#191919;border-radius:18px;width:min(100%,480px);max-height:90dvh;overflow:auto;padding:20px;box-shadow:0 15px 55px #0004}
.fbs-model-dialog h2{font-size:21px;margin:0 36px 7px 0}.fbs-model-dialog p{margin:0 0 14px}.fbs-model-close{position:absolute;right:12px;top:10px;background:transparent;border:0;font-size:28px;cursor:pointer}
.fbs-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}
.fbs-model-choice{cursor:pointer;min-width:0}.fbs-model-choice input{position:absolute;opacity:0;width:1px;height:1px}.fbs-model-choice span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:102px;padding:7px 4px;border:2px solid #e2e2e2;border-radius:12px;font-size:12px;text-align:center}
.fbs-model-choice img{width:100%;max-width:100px;height:62px;object-fit:contain}.fbs-model-choice input:checked+span{border-color:#db1727;background:#fff3f4}.fbs-model-choice input:focus-visible+span{outline:3px solid #1c70dd;outline-offset:2px}
.fbs-model-submit{width:100%}.fbs-modal-open{overflow:hidden}
@media(max-width:380px){.fbs-model-dialog{padding:15px}.fbs-model-grid{gap:6px}.fbs-model-choice span{min-height:91px}.fbs-model-choice img{height:52px}}

/* V4.27a — Bouton de choix du modèle accessible sur mobile et à distance */
.fbs-model-edit{z-index:2;touch-action:manipulation;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}
.fbs-model-edit:focus-visible{outline:3px solid #d71920;outline-offset:2px}

/* V4.27b : crayon clairement visible même avec les anciens comptes */
.fbs-unified-visual .fbs-model-edit{display:flex!important;position:absolute!important;right:-7px!important;top:-7px!important;z-index:10!important;background:#d71920!important;color:#fff!important;border:2px solid #fff!important;width:33px!important;height:33px!important;font-size:20px!important;box-shadow:0 2px 9px #0004!important}

/* V4.27c : bouton de rafraichissement toujours accessible */
.fbs-refresh-form{display:flex;flex-wrap:wrap;margin:12px 0 4px}.fbs-refresh-form .btn{max-width:100%;white-space:normal;text-align:center}@media(max-width:600px){.fbs-refresh-form .btn{width:100%}}

/* V4.27d : native dialog in browser top layer, reliable on Android Chrome */
dialog.fbs-model-modal{position:fixed;inset:0;margin:auto;border:0;padding:0;width:min(calc(100vw - 24px),480px);max-width:480px;max-height:90dvh;overflow:visible;background:transparent;color:inherit;z-index:2147483647}
dialog.fbs-model-modal:not([open]){display:none!important}
dialog.fbs-model-modal[open]{display:block!important}
dialog.fbs-model-modal::backdrop{background:rgba(9,12,18,.78)}
dialog.fbs-model-modal .fbs-model-dialog{width:100%;max-height:90dvh;overflow-y:auto;box-sizing:border-box}
/* V4.28 — tableau de disponibilité responsive */
.fbs-availability{overflow:hidden}.fbs-availability-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.fbs-availability-head h2{margin-bottom:4px}.fbs-availability-head p{margin:0}.fbs-availability-icon{font-size:26px;color:#e62b38}.fbs-periods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px;border-radius:14px;background:rgba(128,128,128,.10);margin:18px 0}.fbs-periods button{font:inherit;font-size:13px;font-weight:750;color:inherit;background:transparent;border:0;border-radius:10px;padding:11px 5px;cursor:pointer}.fbs-periods button.is-active{background:#d82331;color:white;box-shadow:0 3px 14px #d8233130}.fbs-availability-nav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:16px 0;text-align:center}.fbs-availability-nav>div{display:flex;flex-direction:column;gap:3px;min-width:0}.fbs-availability-nav strong{font-size:17px;overflow-wrap:anywhere}.fbs-availability-nav small{font-size:12px;opacity:.65}.fbs-availability-nav button{flex:none;width:40px;height:40px;border:1px solid rgba(128,128,128,.25);border-radius:12px;background:transparent;color:inherit;font-size:27px;cursor:pointer}.fbs-availability-nav button:disabled{opacity:.25;cursor:default}.fbs-availability-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0 22px}.fbs-availability-stats>div{padding:14px 10px;border-radius:13px;background:rgba(128,128,128,.09);min-width:0}.fbs-availability-stats small{display:block;font-size:11px;opacity:.72;line-height:1.35;min-height:30px}.fbs-availability-stats strong{display:block;margin-top:7px;font-size:clamp(16px,3.5vw,23px);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.fbs-availability-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.fbs-availability-grid[data-view=day]{grid-template-columns:repeat(8,minmax(0,1fr))}.fbs-availability-grid[data-view=year]{grid-template-columns:repeat(4,minmax(0,1fr))}.fbs-availability-cell{appearance:none;border:2px solid transparent;border-radius:8px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;color:white;min-width:0;padding:2px;transition:transform .14s ease,box-shadow .14s ease}.fbs-availability-grid[data-view=year] .fbs-availability-cell{aspect-ratio:1.65}.fbs-availability-cell:hover{transform:translateY(-2px)}.fbs-availability-cell:focus-visible,.fbs-availability-cell.is-selected{outline:2px solid currentColor;outline-offset:2px}.fbs-availability-cell.up{background:#218b54}.fbs-availability-cell.mixed{background:#e69a21}.fbs-availability-cell.down{background:#d62e3d}.fbs-availability-cell.unknown{background:#7b828c}.fbs-availability-cell span{font-size:clamp(10px,2.5vw,13px);font-weight:700}.fbs-availability-legend{display:flex;gap:8px 14px;flex-wrap:wrap;margin:17px 0;font-size:11px;opacity:.9}.fbs-availability-legend span{display:inline-flex;align-items:center;gap:5px}.fbs-availability-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.fbs-availability-legend .up{background:#218b54}.fbs-availability-legend .mixed{background:#e69a21}.fbs-availability-legend .down{background:#d62e3d}.fbs-availability-legend .unknown{background:#7b828c}.fbs-availability-detail{border:1px solid rgba(128,128,128,.2);border-radius:12px;padding:14px;font-size:13px;line-height:1.6}.fbs-availability-detail strong{display:block;font-size:15px}.fbs-availability-note{font-size:11px;line-height:1.5;margin:12px 0}.fbs-raw-history{border-top:1px solid rgba(128,128,128,.2);margin-top:20px;padding-top:15px}.fbs-raw-history summary{cursor:pointer;font-weight:700}.fbs-raw-history .timeline{margin-top:12px}@media(max-width:420px){.fbs-availability-grid{gap:5px}.fbs-availability-cell{border-radius:6px}.fbs-availability-stats{gap:6px}.fbs-availability-stats>div{padding:11px 7px}.fbs-availability-stats small{font-size:10px}.fbs-availability-legend{gap:7px 10px}}@media(prefers-reduced-motion:reduce){.fbs-availability-cell{transition:none}}

/* V4.29 : nuancier continu de disponibilité */
.fbs-availability-cell{position:relative;isolation:isolate;text-shadow:0 1px 3px #0007;box-shadow:inset 0 1px 0 #ffffff35,0 3px 9px #00000012}.fbs-availability-cell.is-partial:after{content:"";position:absolute;right:3px;top:3px;width:5px;height:5px;border-radius:50%;background:white;box-shadow:0 0 0 1px #0004}.fbs-availability-cell.unknown{background:#7b828c!important}.fbs-availability-scale{height:13px;border-radius:999px;background:linear-gradient(to right,#d22c39 0%,#e66135 60%,#f0a131 85%,#e6c93f 95%,#a3c95a 99%,#1d9b5a 100%);box-shadow:inset 0 1px 3px #0002}.fbs-availability-scale-labels{display:flex;justify-content:space-between;font-size:11px;opacity:.75;margin-top:5px}.fbs-availability-legend .unknown{background:#7b828c}.fbs-availability-detail span{display:block;margin-top:5px}@media(max-width:420px){.fbs-availability-cell{min-height:34px}}

/* V4.30k — PWA installation banner */
.pwa-install-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0;padding:12px 14px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.045)}
.pwa-install-banner span{font-weight:700}.pwa-install-banner small{flex-basis:100%;opacity:.75}.pwa-install-banner button{background:#ed1c24;color:white;border:0;border-radius:10px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer}.pwa-install-banner button[hidden]{display:none}

.pwa-install-banner[hidden]{display:none!important}
.pwa-install-banner .pwa-dismiss{margin-left:auto;background:transparent;color:inherit;border:0;padding:6px 10px;cursor:pointer;font-size:18px}

/* V4.32a : duree UP/DOWN et menu iconographique, sans dependance externe */
.top .fbs-header-state,.top .fbs-mobile-state{align-items:center!important;gap:8px!important}
.fbs-header-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;line-height:1.1;min-width:0}
.fbs-header-copy strong{font-size:12px;line-height:1.1;font-weight:800}
.fbs-header-copy small{font-size:10px;line-height:1.2;font-weight:600;opacity:.85;white-space:nowrap}
.top nav a:not(.fbs-header-state){display:inline-flex;align-items:center;gap:9px}
.fbs-nav-icon{display:inline-block;flex:none;width:19px;height:19px;vertical-align:middle}
.top nav a:hover .fbs-nav-icon{color:#ff6d78}
.top nav .account .fbs-nav-icon{color:inherit}
@media(max-width:780px){
 .top .fbs-mobile-state{padding:7px 11px!important;min-height:43px;max-width:160px}
 .top .fbs-mobile-state .fbs-header-copy strong{font-size:12px}
 .top .fbs-mobile-state .fbs-header-copy small{font-size:10px}
 .top nav a:not(.fbs-header-state){display:flex;align-items:center;gap:13px;padding:14px 15px;border-radius:11px}
 .top nav a:not(.fbs-header-state)+a:not(.fbs-header-state){margin-top:3px}
 .top nav .fbs-nav-icon{width:20px;height:20px}
}
@media(max-width:390px){
 .top .fbs-mobile-state{padding:6px 8px!important;gap:6px!important;max-width:130px}
 .top .fbs-mobile-state .fbs-header-copy strong{font-size:11px}
 .top .fbs-mobile-state .fbs-header-copy small{font-size:9px}
}

/* V4.32b — header mobile compact, duree distincte et menu aligne */
.top .brand{flex:0 1 auto;min-width:0;}
.top .brand-copy{min-width:0;}
.top .fbs-header-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:3px!important;min-width:0;}
.top .fbs-header-copy strong,.top .fbs-header-copy .fbs-header-duration{display:block!important;white-space:nowrap!important;line-height:1.15!important;}
.top .fbs-header-duration{font-size:10px!important;font-weight:600!important;opacity:.88;}
.top nav a:not(.fbs-header-state){display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;}
.top nav a .fbs-nav-icon{display:block!important;flex:0 0 20px!important;width:20px!important;height:20px!important;vertical-align:middle!important;}
.top nav a .fbs-nav-label{display:block;min-width:0;line-height:1.35;}
@media(max-width:780px){
 .top .nav{gap:9px!important;}
 .top .brand{flex:1 1 auto;min-width:0;margin-right:0!important;gap:7px;}
 .top .brand-logo{width:43px;height:43px;flex:0 0 43px;}
 .top .wordmark{font-size:clamp(16px,4.7vw,21px);letter-spacing:-.8px;white-space:nowrap;}
 .top .brand small{font-size:6px;letter-spacing:.8px;line-height:1.25;}
 .top .fbs-mobile-state{display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:7px 10px!important;min-width:0;max-width:116px;min-height:44px;}
 .top .fbs-mobile-state .fbs-header-copy strong{font-size:11px!important;}
 .top .fbs-mobile-state .fbs-header-duration{font-size:10px!important;}
 .top .fbs-mobile-state .fbs-header-prefix{display:none!important;}
 .top .menu{flex:0 0 28px!important;width:28px;padding:0;text-align:center;line-height:1;}
 .top nav[data-nav] a:not(.fbs-header-state){display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:13px!important;min-height:52px;padding:13px 16px!important;margin:0!important;}
 .top nav[data-nav] a:not(.fbs-header-state)+a:not(.fbs-header-state){margin-top:3px!important;}
 .top nav[data-nav] a .fbs-nav-icon{flex:0 0 22px!important;width:22px!important;height:22px!important;}
 .top nav[data-nav] a .fbs-nav-label{font-size:16px;line-height:1.3;}
}
@media(max-width:390px){
 .top .nav{gap:6px!important;}
 .top .brand-logo{width:37px;height:37px;flex-basis:37px;}
 .top .wordmark{font-size:16px;}
 .top .brand small{display:none;}
 .top .fbs-mobile-state{max-width:104px;padding:6px 8px!important;gap:5px!important;}
 .top .fbs-mobile-state .fbs-header-copy strong{font-size:10px!important;}
 .top .fbs-mobile-state .fbs-header-duration{font-size:9px!important;}
}

/* V4.32c — layout robuste, priorité au header et menu mobile */
.top .nav{min-width:0;}
.top .brand{min-width:0;}
.top .brand-copy{min-width:0;}
.top .fbs-mobile-state .fbs-header-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:3px!important;}
.top .fbs-mobile-state .fbs-header-copy>strong,.top .fbs-mobile-state .fbs-header-copy>small{display:block!important;line-height:1.15!important;white-space:nowrap!important;}
.top nav[data-nav] a:not(.fbs-header-state){display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;}
.top nav[data-nav] a .fbs-nav-icon{display:block!important;position:static!important;flex:0 0 22px!important;width:22px!important;height:22px!important;margin:0!important;vertical-align:middle!important;}
.top nav[data-nav] a .fbs-nav-label{display:block!important;flex:1 1 auto!important;margin:0!important;padding:0!important;line-height:1.3!important;}
@media(max-width:780px){
 .top .nav{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;}
 .top .brand{flex:1 1 0!important;min-width:0!important;gap:7px!important;}
 .top .brand-logo{flex:0 0 42px!important;width:42px!important;height:42px!important;}
 .top .brand-copy{flex:1 1 auto!important;min-width:0!important;}
 .top .wordmark{font-size:clamp(15px,4.5vw,21px)!important;white-space:nowrap!important;}
 .top .fbs-mobile-state{flex:0 0 auto!important;max-width:112px!important;min-width:0!important;min-height:43px!important;padding:6px 9px!important;gap:7px!important;}
 .top .fbs-mobile-state .fbs-header-dot{flex:0 0 8px!important;}
 .top .menu{flex:0 0 29px!important;width:29px!important;margin:0!important;padding:0!important;}
 .top nav[data-nav] a:not(.fbs-header-state){min-height:52px!important;padding:12px 16px!important;}
}
@media(max-width:420px){
 .top .brand-logo{flex-basis:37px!important;width:37px!important;height:37px!important;}
 .top .fbs-mobile-state{max-width:104px!important;padding:6px 7px!important;gap:5px!important;}
 .top .fbs-mobile-state .fbs-header-copy strong{font-size:10px!important;}
 .top .fbs-mobile-state .fbs-header-duration{font-size:9px!important;}
 .top .brand small{display:none!important;}
}
