
/* section: legacy-1 */
*{box-sizing:border-box}:root{--bg:#080b0d;--panel:#101619;--panel2:#151e22;--line:#293538;--text:#edf2f1;--muted:#8e999b;--gold:#c61b22;--ice:#b8c2c6}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}body{background:radial-gradient(circle at 80% -5%,rgba(184,194,198,.13),transparent 28%),radial-gradient(circle at 10% 110%,rgba(198,27,34,.08),transparent 28%),var(--bg)}
.shell{min-height:100dvh}.side{position:fixed;inset:0 auto 0 0;width:clamp(190px,18vw,250px);border-right:1px solid var(--line);background:rgba(9,13,15,.94);backdrop-filter:blur(14px);padding:28px 16px;z-index:20}.brand{padding:0 10px 28px;border-bottom:1px solid var(--line);margin-bottom:18px}.rune{font-size:12px;letter-spacing:.32em;color:var(--gold);font-weight:800}.brand h1{font-family:Georgia,serif;margin:7px 0 3px;font-size:25px}.brand small{color:var(--muted)}
.nav{display:grid;gap:7px}.nav button{border:1px solid transparent;background:transparent;color:#aab3b5;padding:13px 14px;border-radius:12px;text-align:left;font:inherit;font-weight:700;cursor:pointer}.nav button:hover{background:#121a1e}.nav button.active{color:var(--text);background:var(--panel2);border-color:#344145;box-shadow:inset 3px 0 var(--gold)}.nav i{font-style:normal;display:inline-block;width:27px;color:var(--gold)}
.main{margin-left:clamp(190px,18vw,250px);min-height:100dvh;min-width:0}.view{display:none;min-height:100dvh;min-width:0}.view.active{display:block}iframe{width:100%;height:100dvh;border:0;background:transparent;display:block}
.home{width:min(100%,1200px);margin:auto;padding:clamp(30px,5vw,64px) clamp(16px,3vw,36px) 100px}.hero .over{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.24em}.hero h2{font:700 clamp(42px,7vw,74px)/.95 Georgia,serif;margin:12px 0 14px}.hero p{color:var(--muted);max-width:650px;font-size:17px;line-height:1.6}.divider{height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:30px 0}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.launch{border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#12191c,#0d1214);padding:25px;min-height:190px;color:inherit;text-align:left;cursor:pointer;position:relative;overflow:hidden}.launch:after{content:"ᚱ";position:absolute;right:18px;bottom:-18px;font:100px Georgia;color:rgba(198,27,34,.06)}.launch:nth-child(2):after{content:"ᛏ"}.launch .tag{font-size:11px;letter-spacing:.18em;color:var(--ice);font-weight:800}.launch h3{font:700 29px Georgia,serif;margin:10px 0 8px}.launch p{color:var(--muted);margin:0;line-height:1.5}.launch b{display:block;margin-top:22px;color:var(--gold)}
.settings{width:min(100%,1000px);margin:auto;padding:clamp(30px,5vw,55px) clamp(16px,3vw,36px) 110px}.settings h2{font:700 42px Georgia,serif;margin:8px 0 28px}.setcard{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;margin:14px 0}.setcard h3{font:700 20px Georgia,serif;margin:0 0 8px}.setcard p{color:var(--muted);line-height:1.55;margin:6px 0 16px}.filebtn{display:inline-block;background:var(--gold);color:#0a0d0e;font-weight:800;border-radius:10px;padding:11px 14px;cursor:pointer}#excel{display:none}.status{color:var(--ice);font-size:13px;margin-top:12px}
.mobilebar{display:none}





/* BERSERKR V5 — typographie nordique, sans toucher au JavaScript */
:root{--nordic-font:Papyrus,Copperplate,"Copperplate Gothic Light","Arial Narrow",Georgia,serif}
.brand h1,.nav button,.mobilebar button,.rune,.hero-title h2,.settings h2,.settings h3{font-family:var(--nordic-font);letter-spacing:.055em}
.brand h1{font-weight:900;letter-spacing:.12em}
.nav button,.mobilebar button{font-weight:800;text-transform:uppercase}



/* BERSERKR V6 — navigation haute */
.side{position:sticky;top:0;inset:auto;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--line);background:rgba(9,13,15,.96);backdrop-filter:blur(16px);padding:10px clamp(12px,3vw,34px);z-index:100;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{padding:0;border:0;margin:0;display:flex;align-items:center;gap:14px;min-width:max-content}.brand .rune{display:none}.brand h1{margin:0;font-size:clamp(20px,2.2vw,28px)}.brand small{font-size:11px;white-space:nowrap}
.nav{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.nav button{padding:10px 13px;text-align:center;white-space:nowrap}.nav button.active{box-shadow:inset 0 -2px var(--gold)}.nav i{width:auto;margin-right:6px}
.main{margin-left:0;min-height:calc(100dvh - 65px)}.view{min-height:calc(100dvh - 65px)}iframe{height:calc(100dvh - 65px)}
.mobilebar{display:none!important}



/* BERSERKR V7 — menu haut identique sur toutes les plateformes */



/* BERSERKR V9 — Auth Supabase */
#authGate{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at 75% 0,rgba(184,194,198,.14),transparent 32%),radial-gradient(circle at 15% 100%,rgba(198,27,34,.12),transparent 30%),#080b0d;display:grid;place-items:center;padding:20px}
.authbox{width:min(100%,430px);background:rgba(16,22,25,.98);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.42)}
.authbox .authrune{color:var(--gold);letter-spacing:.28em;font-weight:800;font-size:12px}.authbox h2{font-family:var(--nordic-font);letter-spacing:.1em;font-size:34px;margin:8px 0 4px}.authbox p{color:var(--muted);margin:0 0 22px;line-height:1.5}
.authbox input{width:100%;margin:6px 0;background:#0b1012;border:1px solid var(--line);color:var(--text);border-radius:11px;padding:13px;font:inherit;outline:none}.authbox input:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(198,27,34,.12)}
.authactions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.authactions button,.logoutBtn{border:1px solid var(--line);border-radius:11px;padding:11px 13px;font:inherit;font-weight:800;cursor:pointer}.authPrimary{background:var(--gold);color:#090c0d;border-color:var(--gold)!important}.authSecondary,.logoutBtn{background:var(--panel2);color:var(--text)}
#authStatus{min-height:20px;color:var(--ice);font-size:13px;margin-top:12px;line-height:1.4}.accountRow{display:flex;align-items:center;gap:7px;flex:0 0 auto}.accountEmail{color:var(--muted);font-size:10px;max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logoutBtn{padding:8px 9px;font-size:10px;white-space:nowrap}.shell.auth-hidden{visibility:hidden}



/* section: berserkr-v12-theme */
:root{--bg:#050607;--panel:#0d1012;--panel2:#13171a;--line:#292e31;--text:#f2f3f3;--muted:#92989c;--gold:#c61b22;--ice:#b8c2c6;--red:#c61b22;--red2:#ed2d34;--steel:#b8c2c6;--berserkr-bg:none}
html,body{background:#050607!important}
body{background-image:linear-gradient(rgba(5,6,7,.90),rgba(5,6,7,.96)),var(--berserkr-bg)!important;background-position:center top!important;background-size:cover!important;background-attachment:fixed!important}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72) 42%,#050607 85%)}
.side{background:rgba(5,6,7,.94)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 12px 35px rgba(0,0,0,.24)}
.brand{gap:11px!important}.brand h1{font-family:Georgia,"Times New Roman",serif!important;letter-spacing:.18em!important;font-size:22px!important;color:#e7e7e7!important;text-shadow:0 0 24px rgba(198,27,34,.12)}
.brand h1:before{content:"ᛒ";color:var(--red);font-family:Georgia,serif;margin-right:9px;font-size:1.08em}
.brand small{text-transform:uppercase;letter-spacing:.16em!important;font-size:9px!important;color:#7f8588!important}
.nav button{font-family:Inter,system-ui,sans-serif!important;text-transform:none!important;letter-spacing:0!important;font-size:12px!important;color:#9ca2a5!important;border-radius:7px!important;padding:10px 11px!important}
.nav button:hover{background:#111416!important;color:#fff!important}.nav button.active{background:rgba(198,27,34,.08)!important;color:#fff!important;border-color:rgba(198,27,34,.32)!important;box-shadow:inset 0 -2px var(--red)!important}
.nav i{color:#b6bbbd!important}.accountRow{padding-left:5px}.logoutBtn{background:#101315!important;border-color:#2d3235!important;color:#c4c8ca!important}
.main{background:linear-gradient(180deg,rgba(5,6,7,.62),#050607 520px)!important}
.home,.settings,.v12page{width:min(100%,1220px);margin:auto;padding:34px clamp(16px,3vw,34px) 80px}
.hero{min-height:290px;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:38px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(5,6,7,.97) 0%,rgba(5,6,7,.80) 52%,rgba(5,6,7,.20) 100%),var(--berserkr-bg);background-size:cover;background-position:center 32%;box-shadow:0 20px 50px rgba(0,0,0,.28)}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,var(--red),transparent 42%)}
.hero .over{color:#c9cdcf!important;font-size:10px!important;letter-spacing:.28em!important}.hero h2{font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(36px,5vw,62px)!important;line-height:1!important;letter-spacing:.025em!important;margin:12px 0!important}.hero p{max-width:570px!important;color:#a7adaf!important;font-size:15px!important}
.divider{background:linear-gradient(90deg,var(--red),rgba(198,27,34,.15),transparent)!important;margin:22px 0!important}
.cards{gap:12px!important}.launch{border-radius:9px!important;background:rgba(13,16,18,.94)!important;border-color:#292e31!important;padding:22px!important;min-height:170px!important;box-shadow:0 15px 36px rgba(0,0,0,.18)}.launch:hover{border-color:rgba(198,27,34,.5)!important;transform:translateY(-1px)}.launch:after{color:rgba(198,27,34,.055)!important}.launch .tag{color:#aeb4b6!important}.launch h3{font-family:Georgia,serif!important;font-size:25px!important}.launch b{color:#e13439!important}
#authGate{background:linear-gradient(90deg,rgba(5,6,7,.98) 0%,rgba(5,6,7,.92) 45%,rgba(5,6,7,.48) 100%),var(--berserkr-bg)!important;background-size:cover!important;background-position:center center!important;place-items:center start!important;padding-left:max(20px,8vw)!important}
.authbox{width:min(100%,410px)!important;background:rgba(8,10,11,.93)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:10px!important;padding:32px!important;box-shadow:0 28px 70px rgba(0,0,0,.52)!important;backdrop-filter:blur(10px)}.authbox:before{content:"ᛒ";display:block;color:var(--red);font:46px Georgia,serif;margin-bottom:4px;text-shadow:0 0 22px rgba(198,27,34,.25)}.authbox .authrune{display:none!important}.authbox h2{font-family:Georgia,serif!important;letter-spacing:.18em!important;font-size:31px!important;margin:0 0 8px!important}.authbox p{font-size:13px!important;color:#999fa2!important}.authbox input{background:#0a0c0d!important;border-radius:6px!important;border-color:#303538!important}.authbox input:focus{border-color:var(--red)!important;box-shadow:0 0 0 2px rgba(198,27,34,.12)!important}.authactions button{border-radius:6px!important}.authPrimary,.filebtn,.v12primary{background:linear-gradient(180deg,#d4242b,#a81116)!important;color:#fff!important;border-color:#d4242b!important}
.v12page h2,.settings h2{font-family:Georgia,serif!important;font-size:34px!important;letter-spacing:.02em!important;margin:6px 0 5px!important}.pagelead{color:#92989c;margin:0 0 24px;line-height:1.55}.eyebrow{font-size:10px;letter-spacing:.26em;color:#cfd2d3;text-transform:uppercase}
.v12grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v12card,.setcard{background:rgba(13,16,18,.94)!important;border:1px solid #292e31!important;border-radius:9px!important;padding:20px!important;box-shadow:0 14px 34px rgba(0,0,0,.17)}.v12card.wide{grid-column:1/-1}.v12card h3,.setcard h3{font-family:Georgia,serif!important;margin:0 0 8px!important;font-size:19px!important}.v12card p,.setcard p{color:#92989c;line-height:1.55}.metricrow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.metric{background:#090b0c;border:1px solid #25292c;border-radius:7px;padding:14px}.metric b{display:block;font-size:23px}.metric span{display:block;font-size:10px;color:#888f92;text-transform:uppercase;letter-spacing:.09em;margin-top:5px}
.v12form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v12field label{display:block;color:#9ba1a4;font-size:11px;margin:0 0 6px}.v12field input,.v12field select{width:100%;background:#090b0c;color:#f1f1f1;border:1px solid #303538;border-radius:6px;padding:11px 12px;font:inherit}.v12primary{border:1px solid;padding:11px 14px;border-radius:6px;font-weight:800;cursor:pointer}.progressline{height:8px;background:#1b1f21;border-radius:999px;overflow:hidden;margin:12px 0}.progressline i{display:block;height:100%;background:linear-gradient(90deg,#991117,#e42a31);width:58%}
.historyChart{height:220px;border:1px solid #24292b;border-radius:7px;background:linear-gradient(180deg,rgba(198,27,34,.045),transparent),repeating-linear-gradient(0deg,transparent 0 43px,rgba(255,255,255,.04) 44px);position:relative;overflow:hidden;margin-top:12px}.historyChart svg{width:100%;height:100%}.historyChart polyline{fill:none;stroke:#df2b31;stroke-width:3}.historyChart circle{fill:#df2b31}
.profileline{display:flex;align-items:center;gap:16px}.profileavatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;border:1px solid #3a4043;background:#090b0c;color:#d6d8d9;font:700 22px Georgia}.profileline strong{display:block;font-size:18px}.profileline small{color:#8f9699}
iframe{background:#070809!important}




#authGate{display:none!important}
#authGate.open{display:grid!important}
.authGuest{width:100%;margin-top:8px;background:transparent!important;color:#aeb5b8!important;border-color:#3a4144!important}
.guestBadge{color:#9aa2a5;font-size:10px;white-space:nowrap}
body.auth-open{overflow:hidden}

#authGate{display:none!important}
#authGate.open{display:grid!important}
.authbox{width:min(100%,470px);background:rgba(11,15,18,.98);border:1px solid #232c30;border-radius:24px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.42)}
.authbox .authrune{color:var(--gold);font-size:54px;line-height:1;margin-bottom:10px}
.authbox h2{margin:0 0 10px;font-size:32px;letter-spacing:.12em}
.authbox p{color:var(--muted);margin:0 0 18px;line-height:1.55}
.authTabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}
.authTab{border:1px solid #2a3338;background:#11171a;color:#dfe6e9;border-radius:14px;padding:12px 14px;font-weight:900;font-size:15px;cursor:pointer}
.authTab.active{background:linear-gradient(180deg,#e32932,#b90f18);border-color:#d63a41;color:#fff;box-shadow:0 10px 24px rgba(185,15,24,.25)}
.authPanel{display:none}
.authPanel.active{display:block}
.authGrid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.authField{display:grid;gap:6px;margin-bottom:10px}
.authField label{font-size:12px;font-weight:800;color:#c7d0d4;letter-spacing:.04em}
.authbox input{width:100%;margin:0;background:#0b1012;border:1px solid #273035;color:#fff;padding:14px 15px;border-radius:12px;font-size:16px}
.authbox input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(198,27,34,.12)}
.authHint{font-size:12px;color:#97a2a7;line-height:1.5;margin:2px 0 8px}
.authactions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.authactions-single{grid-template-columns:1fr}
.authPrimary,.authSecondary,.logoutBtn{border:none;border-radius:12px;padding:14px 16px;font-size:15px;font-weight:900;cursor:pointer}
.authPrimary{background:linear-gradient(180deg,#ea2f38,#bf121b);color:#fff;box-shadow:0 14px 30px rgba(191,18,27,.28)}
.authSecondary,.logoutBtn{background:var(--panel2);color:var(--text)}
.authGuestCta{width:100%;margin-top:16px;border-radius:14px;padding:16px 18px;font-size:19px;font-weight:900;cursor:pointer;border:1px solid #4a565b;background:linear-gradient(180deg,#161d21,#101519);color:#f7fafb;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.authGuestCta:hover{border-color:#6a787f;transform:translateY(-1px)}
.authGuestText{margin-top:10px;color:#aeb6ba;font-size:13px;line-height:1.5;text-align:center}
#authStatus{min-height:22px;color:var(--ice);font-size:13px;margin-top:12px}
#authStatus.err{color:#ff8f8f}


/* BERSERKR V18.20 — mobile layout hardening */
html,body{max-width:100%;overflow-x:hidden!important}




/* BERSERKR V18.21 — vrai affichage mobile, menu compact */
.mobileMenuBtn{display:none}







/* BERSERKR V18.22 — mobile forcé par classe JS + cache-busting */
.mobileVersion{
  display:none;
  min-width:16px;
  height:16px;
  padding:0 4px;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  background:#c61b22;
  color:#fff;
  font:900 9px/1 Inter,system-ui,sans-serif;
}

/* Même rendu mobile si le navigateur annonce une largeur "desktop". */








































/* BERSERKR V18.25 — mobile header définitif : gros Menu + grosse Connexion */














/* Même rendu si, sur un téléphone, la classe JS n'est pas ajoutée pour une raison quelconque. */




/* BERSERKR V18.26 — mobile plus lisible / typographies agrandies */




/* BERSERKR V18.28 — tous les onglets optimisés téléphone */




/* BERSERKR V18.33 — menu mobile XL */




/* BERSERKR V18.34 — menu mobile 35px + desktop 24 pouces */

/* Mobile : Menu demandé à 35 px */



/* Desktop 24" — pensé pour ~1920×1080 à 100% de zoom */
@media(min-width:1200px){
  html,body{
    font-size:18px!important;
  }

  .side{
    padding:14px clamp(28px,2.4vw,48px)!important;
    gap:30px!important;
  }
  .brand h1{
    font-size:30px!important;
  }
  .brand small{
    font-size:11px!important;
  }
  .nav{
    gap:9px!important;
  }
  .nav button{
    padding:13px 16px!important;
    font-size:15px!important;
  }
  .nav i{
    font-size:16px!important;
  }
  .accountEmail{
    font-size:12px!important;
    max-width:220px!important;
  }
  .logoutBtn{
    padding:11px 14px!important;
    font-size:13px!important;
  }

  .home,.settings,.v12page{
    width:min(94vw,1600px)!important;
    max-width:1600px!important;
    padding:48px 34px 90px!important;
  }

  .hero{
    min-height:360px!important;
    padding:48px!important;
  }
  .hero .over,.eyebrow{
    font-size:13px!important;
  }
  .hero h2{
    font-size:clamp(58px,4.4vw,82px)!important;
  }
  .hero p,.pagelead{
    max-width:820px!important;
    font-size:19px!important;
    line-height:1.65!important;
  }

  .cards{
    gap:18px!important;
  }
  .launch{
    min-height:220px!important;
    padding:30px!important;
  }
  .launch .tag{
    font-size:13px!important;
  }
  .launch h3{
    font-size:34px!important;
  }
  .launch p{
    font-size:18px!important;
    line-height:1.55!important;
  }
  .launch b{
    font-size:17px!important;
  }

  .v12grid{
    gap:18px!important;
  }
  .v12card,.setcard{
    padding:28px!important;
  }
  .v12card h3,.setcard h3{
    font-size:27px!important;
  }
  .v12card p,.setcard p{
    font-size:17px!important;
    line-height:1.65!important;
  }
  .v12field label{
    font-size:13px!important;
  }
  .v12field input,.v12field select{
    min-height:52px!important;
    padding:13px 15px!important;
    font-size:17px!important;
  }
  .v12primary,.filebtn{
    min-height:52px!important;
    padding:13px 18px!important;
    font-size:16px!important;
  }

  .profileavatar{
    width:74px!important;
    height:74px!important;
    font-size:30px!important;
  }
  .profileline strong{
    font-size:24px!important;
  }
  .profileline small{
    font-size:14px!important;
  }

  .historyChart{
    height:320px!important;
  }

  .main{
    min-height:calc(100dvh - 82px)!important;
  }
  .view{
    min-height:calc(100dvh - 82px)!important;
  }
  iframe{
    height:calc(100dvh - 82px)!important;
    min-height:calc(100dvh - 82px)!important;
  }
}

/* BERSERKR V18.35 — menus téléphone à 50 px */




/* BERSERKR V18.36 — compte desktop plus lisible */
@media(min-width:1200px){
  .accountRow{
    gap:12px!important;
    padding-left:12px!important;
  }

  .accountEmail{
    display:block!important;
    max-width:320px!important;
    color:#ffffff!important;
    font-size:16px!important;
    font-weight:700!important;
    line-height:1.2!important;
    opacity:1!important;
  }

  #logoutBtn{
    min-height:48px!important;
    padding:0 18px!important;
    border-radius:10px!important;
    font-size:16px!important;
    font-weight:900!important;
    color:#ffffff!important;
    background:#14191c!important;
    border:1px solid #3a4246!important;
  }

  #logoutBtn:hover{
    background:#1b2226!important;
    border-color:#59656b!important;
  }
}

/* BERSERKR V18.37 — sous-titre logo desktop plus visible */
@media(min-width:1200px){
  .brand small{
    display:block!important;
    color:#ffffff!important;
    font-size:15px!important;
    font-weight:700!important;
    letter-spacing:.18em!important;
    line-height:1.3!important;
    opacity:1!important;
    margin-top:5px!important;
  }
}

/* BERSERKR V18.38 — menu mobile XXL */




/* BERSERKR V18.39 — menu mobile encore plus gros */




/* BERSERKR V18.40 — tailles mobile demandées */


/* Même taille sur les petits téléphones : pas de réduction automatique. */


/* BERSERKR V18.41 — FIX RÉEL mobile-ui : aucune dépendance au media query */














/* Indicateur volontairement petit : permet de vérifier que la bonne version est chargée. */


/* BERSERKR V18.42 — menu mobile ajusté à 78 px */














/* BERSERKR V18.65 — mobile-ui réel sur toutes les pages */
















































/* section: berserkr-v1844-menu-size-v1829 */
/* V18.65 — tailles des menus restaurées exactement sur la base V18.29. */

/* mobile-ui peut être activé même au-delà de 900 px sur certains téléphones :
   ces règles doivent donc aussi exister hors media query. */















/* section: berserkr-v1845-logout-v1829 */
/* V18.65 — bouton Connexion/Déconnexion aligné sur la V18.29. */






/* section: berserkr-v1846-mobile-brand-full */
/* V18.65 — afficher BERSERKR en entier sur téléphone sans toucher aux menus. */

/* ==========================================================
   RESPONSIVE BERSERKR V18.65
   Desktop : CSS de base
   Tablette / téléphone : <= 900 px
   Petit téléphone       : <= 430 px
   ========================================================== */

@media (min-width:901px) and (max-width:1180px){
  
  .nav{gap:4px!important}
  .nav button{
    padding:9px 9px!important;
    font-size:11px!important;
  }
  .accountEmail{display:none!important}
}

@media (max-width:900px){
  html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }

  .shell{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:100dvh!important;
  }

  .side{
    position:sticky!important;
    top:0!important;
    z-index:300!important;
    width:100%!important;
    max-width:100%!important;
    min-height:112px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "brand account"
      "menu menu"!important;
    align-items:center!important;
    gap:9px 10px!important;
    padding:
      max(10px,env(safe-area-inset-top))
      max(10px,env(safe-area-inset-right))
      10px
      max(10px,env(safe-area-inset-left))!important;
    overflow:visible!important;
  }

  .brand{
    grid-area:brand!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:visible!important;
  }
  .brand .rune,
  
  .brand h1{
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    font-size:20px!important;
    line-height:1!important;
    letter-spacing:.075em!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .brand h1:before{margin-right:6px!important}

  #mobileMenuBtn{
    grid-area:menu!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    height:56px!important;
    padding:0 18px!important;
    gap:6px!important;
    border:1px solid #3b464b!important;
    border-radius:12px!important;
    background:#111517!important;
    color:#f2f3f3!important;
    font:900 17px/1 Inter,system-ui,sans-serif!important;
    cursor:pointer!important;
    white-space:nowrap!important;
  }
  #mobileMenuBtn[aria-expanded="true"]{
    border-color:rgba(198,27,34,.65)!important;
    background:rgba(198,27,34,.12)!important;
  }
  #mobileMenuBtn .mobileMenuIcon{
    font-size:22px!important;
    line-height:1!important;
  }
  #mobileMenuBtn > span:not(.mobileMenuIcon){font-size:17px!important}
  .mobileVersion{
    display:inline-flex!important;
    min-width:16px!important;
    height:16px!important;
    padding:0 4px!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    background:#c61b22!important;
    color:#fff!important;
    font:900 9px/1 Inter,system-ui,sans-serif!important;
  }

  .accountRow{
    grid-area:account!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
  }
  .accountEmail{display:none!important}
  #logoutBtn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:142px!important;
    width:auto!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 18px!important;
    font-size:17px!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
    border-radius:12px!important;
  }
  #logoutBtn:after{content:none!important}

  .nav{
    position:absolute!important;
    top:calc(100% + 6px)!important;
    left:max(8px,env(safe-area-inset-left))!important;
    right:max(8px,env(safe-area-inset-right))!important;
    z-index:310!important;
    width:auto!important;
    min-width:0!important;
    display:none!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    padding:10px!important;
    background:rgba(10,13,15,.985)!important;
    border:1px solid #2c3336!important;
    border-radius:12px!important;
    box-shadow:0 18px 45px rgba(0,0,0,.5)!important;
    overflow:visible!important;
  }
  .side.mobile-menu-open .nav{display:grid!important}
  .nav button{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    min-height:56px!important;
    padding:14px!important;
    border-radius:9px!important;
    font-size:17px!important;
    line-height:1.2!important;
    text-align:left!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .nav i{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 24px!important;
    width:24px!important;
    margin:0 5px 0 0!important;
    font-size:18px!important;
  }

  .main,
  .view{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    overflow-x:hidden!important;
  }
  .main{min-height:calc(100dvh - 112px)!important}
  .view{min-height:calc(100dvh - 112px)!important}

  .home,
  .settings,
  .v12page{
    width:100%!important;
    max-width:760px!important;
    margin:0 auto!important;
    padding:28px 14px 64px!important;
  }

  .hero{
    min-height:0!important;
    padding:28px 20px!important;
  }
  .hero .over,
  .eyebrow{
    font-size:12px!important;
    line-height:1.4!important;
  }
  .hero h2,
  .v12page > h2,
  .settings > h2{
    font-size:clamp(42px,11vw,54px)!important;
    line-height:1!important;
  }
  .hero p,
  .pagelead{
    font-size:18px!important;
    line-height:1.6!important;
  }

  .cards,
  .v12grid,
  .v12form{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .metricrow{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  .launch,
  .v12card,
  .setcard{
    width:100%!important;
    min-width:0!important;
    padding:24px 20px!important;
  }
  .launch h3,
  .v12card h3,
  .setcard h3{
    font-size:30px!important;
    line-height:1.2!important;
  }
  .launch p,
  .v12card p,
  .setcard p{
    font-size:18px!important;
    line-height:1.6!important;
  }

  .settings p,
  .v12page p,
  .settings label,
  .v12page label{font-size:16px!important}

  input,
  select,
  textarea,
  .settings input,
  .settings select,
  .v12page input,
  .v12page select,
  .v12page textarea{
    max-width:100%!important;
    min-width:0!important;
    font-size:17px!important;
  }

  iframe{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:calc(100dvh - 112px)!important;
    min-height:calc(100dvh - 112px)!important;
  }

  #authGate{
    place-items:center!important;
    padding:14px!important;
  }
  .authbox{
    width:100%!important;
    max-width:470px!important;
    min-width:0!important;
    margin:0 auto!important;
    padding:20px!important;
  }
  .authbox h2{font-size:32px!important}
  .authbox p{font-size:16px!important}
  .authGrid2{grid-template-columns:1fr!important}
  .authTabs{grid-template-columns:1fr 1fr!important}
  .authbox input{
    width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    font-size:17px!important;
  }
  #loginBtn,
  #signupBtn{
    min-height:54px!important;
    font-size:17px!important;
  }
  .authGuestCta{
    min-height:54px!important;
    font-size:18px!important;
  }
}

@media (max-width:430px){
  .side{
    min-height:108px!important;
    padding:8px!important;
    gap:8px!important;
  }
  .brand h1{
    font-size:18px!important;
    letter-spacing:.055em!important;
  }
  .brand h1:before{margin-right:4px!important}

  #logoutBtn{
    min-width:124px!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 14px!important;
    font-size:16px!important;
  }
  #mobileMenuBtn{
    height:54px!important;
    padding:0 14px!important;
    font-size:16px!important;
  }
  #mobileMenuBtn > span:not(.mobileMenuIcon){font-size:16px!important}

  .nav{grid-template-columns:1fr!important}
  .nav button{
    min-height:54px!important;
    font-size:16px!important;
  }

  .home,
  .settings,
  .v12page{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .hero h2,
  .v12page > h2,
  .settings > h2{
    font-size:clamp(40px,12vw,50px)!important;
  }

  iframe{
    height:calc(100dvh - 108px)!important;
    min-height:calc(100dvh - 108px)!important;
  }
}

/* ==========================================================
   BERSERKR V18.65 — PORTABLE / PETIT DESKTOP
   901–1599 px : barre du haut compacte pour éviter tout
   chevauchement sur les écrans 13–15".
   ========================================================== */
@media (min-width:901px) and (max-width:1599px){
  .side{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    min-height:66px!important;
    padding:9px 14px!important;
    overflow:visible!important;
  }

  .brand{
    flex:0 0 auto!important;
    min-width:0!important;
    max-width:155px!important;
    gap:8px!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }

  .brand h1{
    margin:0!important;
    font-size:20px!important;
    line-height:1!important;
    letter-spacing:.11em!important;
    white-space:nowrap!important;
  }

  /* Le slogan reste réservé aux grands écrans :
     sur un portable il prenait la place du Dashboard. */
  .brand small{
    display:none!important;
  }

  .nav{
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    overflow:visible!important;
  }

  .nav button{
    flex:0 1 auto!important;
    min-width:0!important;
    padding:9px 8px!important;
    font-size:11px!important;
    line-height:1!important;
    white-space:nowrap!important;
    border-radius:7px!important;
  }

  .nav i{
    width:auto!important;
    min-width:0!important;
    margin-right:4px!important;
    font-size:12px!important;
  }

  .accountRow{
    flex:0 0 auto!important;
    min-width:0!important;
    padding-left:0!important;
    gap:6px!important;
  }

  .accountEmail{
    display:none!important;
  }

  #logoutBtn{
    min-width:0!important;
    width:auto!important;
    min-height:40px!important;
    height:40px!important;
    padding:0 12px!important;
    font-size:12px!important;
    line-height:1!important;
    border-radius:9px!important;
    white-space:nowrap!important;
  }

  .main,
  .view{
    min-height:calc(100dvh - 66px)!important;
  }

  iframe{
    height:calc(100dvh - 66px)!important;
    min-height:calc(100dvh - 66px)!important;
  }
}

/* Un peu plus d'air sur les portables larges, sans revenir au mode 24". */
@media (min-width:1400px) and (max-width:1599px){
  .side{
    gap:14px!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .brand{
    max-width:175px!important;
  }

  .brand h1{
    font-size:22px!important;
  }

  .nav{
    gap:5px!important;
  }

  .nav button{
    padding:10px 10px!important;
    font-size:12px!important;
  }

  #logoutBtn{
    min-height:42px!important;
    height:42px!important;
    padding:0 14px!important;
    font-size:13px!important;
  }
}

/* V18.65 — explication ON / OFF simplifiée */
.onoff-lines{
  display:grid;
  gap:10px;
  margin:16px 0 14px;
}
.onoff-line{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:13px 14px;
  background:#090b0c;
  border:1px solid #252a2d;
  border-radius:7px;
}
.onoff-line b{
  color:#f2f3f3;
  font-size:15px;
}
.onoff-line span{
  color:#9ba3a6;
  font-size:15px;
  line-height:1.45;
}
.onoff-help{
  margin:0!important;
}

@media(max-width:430px){
  .onoff-line{
    grid-template-columns:1fr;
    gap:4px;
  }
}

/* ==========================================================
   BERSERKR V18.65 — IMPORT EXCEL/CSV -> REPDB -> SUPABASE
   ========================================================== */
.import-program-card{
  min-width:0;
}
.import-format{
  margin:12px 0 0;
  color:#727b80;
  font-size:12px;
  line-height:1.55;
}
.import-preview{
  display:grid;
  gap:14px;
  margin-top:18px;
}
.import-session{
  border:1px solid #2b3134;
  border-radius:10px;
  background:#090c0e;
  overflow:hidden;
}
.import-session-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:15px 16px;
  border-bottom:1px solid #242a2d;
}
.import-session-head h4{
  margin:0;
  font:700 20px Georgia,'Times New Roman',serif;
}
.import-session-head small{
  display:block;
  margin-top:4px;
  color:#7f888d;
  line-height:1.4;
}
.import-session-count{
  flex:0 0 auto;
  color:#aeb5b8;
  font-size:12px;
  font-weight:800;
}
.import-exercises{
  display:grid;
}
.import-exercise{
  display:grid;
  grid-template-columns:minmax(180px,1.15fr) minmax(220px,1fr);
  gap:16px;
  padding:14px 16px;
  border-bottom:1px solid #1e2427;
}
.import-exercise:last-child{
  border-bottom:0;
}
.import-original{
  min-width:0;
}
.import-original strong{
  display:block;
  color:#f1f2f2;
  font-size:15px;
}
.import-original small{
  display:block;
  margin-top:5px;
  color:#7f888d;
  line-height:1.45;
}
.import-match{
  min-width:0;
}
.import-badge{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.02em;
}
.import-badge.ok{
  background:rgba(48,145,88,.15);
  border:1px solid rgba(75,184,112,.35);
  color:#93d4a9;
}
.import-badge.warn{
  background:rgba(216,155,61,.12);
  border:1px solid rgba(216,155,61,.35);
  color:#dfbb77;
}
.import-badge.missing{
  background:rgba(198,27,34,.13);
  border:1px solid rgba(198,27,34,.4);
  color:#efa0a4;
}
.import-badge.ignored{
  background:#171c1f;
  border:1px solid #333a3e;
  color:#939ca1;
}
.import-match-name{
  display:block;
  margin-top:8px;
  color:#dfe3e5;
  font-weight:800;
}
.import-resolver{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  margin-top:9px;
}
.import-resolver input,
.import-resolver select{
  width:100%;
  min-width:0;
  background:#080b0c;
  color:#eef0f1;
  border:1px solid #30373a;
  border-radius:6px;
  padding:9px 10px;
}
.import-mini-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:8px;
}
.import-mini{
  border:1px solid #353d41;
  border-radius:6px;
  background:#151a1d;
  color:#e7e9ea;
  padding:8px 10px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.import-mini.primary{
  background:#b9131b;
  border-color:#d52a32;
  color:#fff;
}
.import-mini:disabled{
  opacity:.5;
  cursor:not-allowed;
}
.import-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:16px;
}
.import-actions[hidden]{
  display:none!important;
}
.import-secondary{
  border:1px solid #343c40;
  border-radius:6px;
  background:#151a1d;
  color:#e8eaeb;
  padding:11px 14px;
  font-weight:800;
  cursor:pointer;
}
.import-summary{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.import-summary span{
  border:1px solid #2c3336;
  border-radius:999px;
  padding:6px 9px;
  color:#9ba3a6;
  font-size:11px;
  font-weight:800;
}
.import-limit-warning{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid rgba(198,27,34,.45);
  border-radius:7px;
  background:rgba(198,27,34,.08);
  color:#e0a0a3;
  font-size:13px;
  line-height:1.45;
}

@media(max-width:900px){
  .import-exercise{
    grid-template-columns:1fr;
    gap:10px;
  }
}

@media(max-width:430px){
  .import-session-head{
    flex-direction:column;
  }
  .import-resolver{
    grid-template-columns:1fr;
  }
  .import-resolver button{
    width:100%;
  }
}

/* V18.65 — import de programme intégré à l'onglet Séances */
.program-import-modal{
  position:fixed;
  inset:0;
  z-index:600;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(4px);
}
.program-import-modal.open{
  display:flex;
}
.program-import-dialog{
  width:min(1180px,96vw);
  max-height:92dvh;
  overflow:auto;
  background:#0d1113;
  border:1px solid #2b3235;
  border-radius:14px;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
}
.program-import-top{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px 16px;
  background:rgba(13,17,19,.98);
  border-bottom:1px solid #252c2f;
}
.program-import-top h2{
  margin:4px 0 0;
  font:700 32px/1.05 Georgia,'Times New Roman',serif;
}
.program-import-close{
  border:1px solid #394145;
  background:#171c1f;
  color:#eef0f1;
  border-radius:8px;
  padding:10px 13px;
  font-weight:800;
  cursor:pointer;
}
.program-import-body{
  padding:22px;
}
.program-import-body .import-program-card{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.program-import-body .import-program-card > h3{
  display:none!important;
}
body.import-modal-open{
  overflow:hidden!important;
}

@media(max-width:900px){
  .program-import-modal{
    padding:8px;
  }
  .program-import-dialog{
    width:100%;
    max-height:96dvh;
    border-radius:12px;
  }
  .program-import-top{
    padding:16px;
  }
  .program-import-top h2{
    font-size:28px!important;
  }
  .program-import-body{
    padding:16px;
  }
}

/* V18.65 — résumé utile du Dashboard */
.dashboard-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:22px 0 4px;
}
.dash-stat{
  min-width:0;
  padding:16px 18px;
  background:rgba(11,14,16,.94);
  border:1px solid #292f32;
  border-radius:9px;
}
.dash-stat span{
  display:block;
  color:#9aa2a6;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
.dash-stat strong{
  display:block;
  margin-top:7px;
  color:#f4f4f3;
  font:700 27px/1.05 Georgia,'Times New Roman',serif;
}
.dash-stat small{
  display:block;
  margin-top:6px;
  color:#7f888c;
  font-size:12px;
  line-height:1.35;
}
@media(max-width:900px){
  .dashboard-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:16px!important;
  }
  .dash-stat{
    padding:13px 10px!important;
  }
  .dash-stat span{
    font-size:9px!important;
    letter-spacing:.08em!important;
  }
  .dash-stat strong{
    font-size:22px!important;
  }
  .dash-stat small{
    font-size:10px!important;
  }
}
@media(max-width:430px){
  .dashboard-stats{
    grid-template-columns:1fr!important;
  }
  .dash-stat{
    padding:14px!important;
  }
  .dash-stat strong{
    font-size:24px!important;
  }
}

/* V18.65 — planning d'entraînement & rappels Android */
.training-reminder-card{
  grid-column:1/-1;
}
.training-reminder-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.training-reminder-head h3{
  margin:4px 0 7px;
}
.training-reminder-head p{
  margin:0;
  color:#8c9599;
  font-size:13px;
  line-height:1.5;
}
.reminder-switch{
  display:flex;
  align-items:center;
  gap:9px;
  cursor:pointer;
  user-select:none;
}
.reminder-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.reminder-switch > span{
  position:relative;
  width:44px;
  height:24px;
  border-radius:999px;
  background:#252b2e;
  border:1px solid #3a4246;
  transition:.18s ease;
}
.reminder-switch > span::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#8d969b;
  transition:.18s ease;
}
.reminder-switch input:checked + span{
  background:#3b1013;
  border-color:#8e252c;
}
.reminder-switch input:checked + span::after{
  transform:translateX(20px);
  background:#e9edef;
}
.reminder-switch b{
  font-size:12px;
  color:#c5cbce;
}
.weekday-picker{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:7px;
  margin:18px 0 14px;
}
.weekday-picker label{
  cursor:pointer;
}
.weekday-picker input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.weekday-picker span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border:1px solid #30373a;
  border-radius:7px;
  background:#111619;
  color:#8d969a;
  font-size:12px;
  font-weight:850;
}
.weekday-picker input:checked + span{
  border-color:#8e252c;
  background:#251013;
  color:#f2f3f3;
}
.reminder-times{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.reminder-copy{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:5px 10px;
  margin:14px 0 16px;
  padding:13px 14px;
  background:#0c1012;
  border:1px solid #262d30;
  border-radius:8px;
}
.reminder-copy span{
  color:#c8282f;
  font-size:11px;
  font-weight:900;
}
.reminder-copy q{
  color:#a9b0b3;
  font-size:12px;
  quotes:none;
}
.reminder-copy small{
  grid-column:1/-1;
  margin-top:4px;
  color:#697277;
  font-size:11px;
}
@media(max-width:900px){
  .training-reminder-head{
    gap:12px!important;
  }
  .weekday-picker{
    grid-template-columns:repeat(4,1fr)!important;
  }
}
@media(max-width:430px){
  .training-reminder-head{
    flex-direction:column!important;
  }
  .weekday-picker{
    grid-template-columns:repeat(4,1fr)!important;
  }
  .reminder-times{
    grid-template-columns:1fr!important;
  }
}


/* BERSERKR V18.67 — séparation propre de la zone système mobile */
@media (max-width:900px){
  .side{
    padding:
      max(12px,env(safe-area-inset-top,0px))
      max(10px,env(safe-area-inset-right,0px))
      10px
      max(10px,env(safe-area-inset-left,0px))!important;
    background:linear-gradient(180deg,rgba(7,8,9,.995),rgba(10,13,15,.985))!important;
    border-bottom:1px solid #30383c!important;
    box-shadow:0 10px 28px rgba(0,0,0,.30)!important;
  }
}

html.mobile-ui .side{
  background:linear-gradient(180deg,rgba(7,8,9,.995),rgba(10,13,15,.985))!important;
  border-bottom:1px solid #30383c!important;
  box-shadow:0 10px 28px rgba(0,0,0,.30)!important;
}

/* CSP style hardening utilities */
[hidden]{display:none!important}
.u-mt10{margin-top:10px}
.u-mt11{margin-top:11px}
.u-mt14{margin-top:14px}
.u-mt18{margin-top:18px}
.u-flex1{flex:1}
.status-error{color:#d98686!important}

.status-ice{color:var(--ice)!important}
.status-good{color:#9ba3a6!important}


/* BERSERKR — login screen minimal V1 */
.authbox{
  position:relative;
  width:min(100%,430px);
  padding:30px 32px 28px;
}
.authbox .authrune{
  margin-bottom:12px;
}
.authbox h2{
  margin:0 0 24px;
}
.authClose{
  position:absolute;
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid transparent;
  border-radius:50%;
  background:transparent;
  color:#8f989c;
  font:400 30px/1 Inter,system-ui,sans-serif;
  cursor:pointer;
}
.authClose:hover,
.authClose:focus-visible{
  color:#fff;
  border-color:#313b40;
  background:#11171a;
  outline:none;
}
.authSectionTitle{
  margin:0 0 18px;
  font:800 20px/1.2 Inter,system-ui,sans-serif;
  color:#f3f5f6;
}
.authSwitch{
  margin-top:18px;
  text-align:center;
  color:#969fa3;
  font-size:13px;
  line-height:1.5;
}
.authSwitch button{
  padding:0;
  border:0;
  background:transparent;
  color:#f1f4f5;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.authSwitch button:hover,
.authSwitch button:focus-visible{
  color:#ed2d34;
  outline:none;
  text-decoration:underline;
  text-underline-offset:3px;
}
#authStatus:empty{
  min-height:0;
  margin-top:0;
}
@media(max-width:520px){
  #authGate{padding:14px}
  .authbox{
    width:100%;
    padding:26px 20px 24px;
    border-radius:20px;
  }
  .authClose{
    top:12px;
    right:12px;
  }
  .authbox h2{
    margin-bottom:22px;
  }
  .authGrid2{
    grid-template-columns:1fr;
    gap:0;
  }
}


/* BERSERKR V1 — Dashboard court et utile */
.dashboard-v1{
  width:min(100%,1180px);
  padding-top:42px;
}
.dashboard-v1-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px;
}
.dashboard-v1-brand{
  color:#c61b22;
  font-size:11px;
  font-weight:900;
  letter-spacing:.24em;
}
.dashboard-v1-head h2{
  margin:10px 0 0;
  font:700 clamp(44px,6.2vw,72px)/.94 Georgia,"Times New Roman",serif;
}
.dashboard-v1-date{
  color:#a3aaad;
  font-size:15px;
  font-weight:750;
  white-space:nowrap;
  padding-bottom:8px;
}
.dashboard-v1-topstats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  max-width:760px;
}
.dashboard-v1-stat{
  padding:20px 22px;
  border:1px solid #2b3033;
  border-radius:10px;
  background:rgba(11,14,16,.94);
}
.dashboard-v1-stat strong{
  display:block;
  color:#f5f5f4;
  font:700 32px/1 Georgia,"Times New Roman",serif;
}
.dashboard-v1-stat span{
  display:block;
  margin-top:8px;
  color:#8f979b;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.dashboard-v1-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:16px 0 34px;
}
.dashboard-v1-actions button,
.dashboard-v1-next button{
  border:1px solid #333a3e;
  border-radius:8px;
  background:#121719;
  color:#eef1f2;
  padding:11px 15px;
  font:800 13px/1 Inter,system-ui,sans-serif;
  cursor:pointer;
}
.dashboard-v1-actions button:first-child,
.dashboard-v1-next button{
  border-color:#a81a20;
  background:linear-gradient(180deg,#d4242b,#a81116);
  color:#fff;
}
.dashboard-v1-section{
  padding:24px 0;
  border-top:1px solid #24292c;
}
.dashboard-v1-section h3{
  margin:0 0 16px;
  color:#c7ccce;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}
.dashboard-v1-progress-labels{
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:#e5e8e9;
  font-weight:800;
}
.dashboard-v1-progress{
  width:100%;
  height:10px;
  margin:12px 0 10px;
  border:0;
  appearance:none;
}
.dashboard-v1-progress::-webkit-progress-bar{
  background:#1a1f21;
  border-radius:999px;
}
.dashboard-v1-progress::-webkit-progress-value{
  background:linear-gradient(90deg,#8e1117,#db2930);
  border-radius:999px;
}
.dashboard-v1-progress::-moz-progress-bar{
  background:linear-gradient(90deg,#8e1117,#db2930);
  border-radius:999px;
}
.dashboard-v1-progress-change{
  color:#f1f3f3;
  font-size:16px;
}
.dashboard-v1-week{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.dashboard-v1-week>div{
  min-width:0;
  padding:15px 16px;
  border:1px solid #272d30;
  border-radius:8px;
  background:#0a0d0e;
}
.dashboard-v1-week strong{
  display:block;
  color:#f2f3f3;
  font-size:19px;
}
.dashboard-v1-week span{
  display:block;
  margin-top:5px;
  color:#838b8f;
  font-size:11px;
}
.dashboard-v1-next-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 20px;
  border:1px solid #292f32;
  border-radius:9px;
  background:rgba(11,14,16,.94);
}
.dashboard-v1-next-row>div strong{
  display:block;
  font:700 24px/1.1 Georgia,"Times New Roman",serif;
}
.dashboard-v1-next-row>div span{
  display:block;
  margin-top:6px;
  color:#8d969a;
  font-size:12px;
}
@media(max-width:700px){
  .dashboard-v1{
    padding-top:28px;
  }
  .dashboard-v1-head{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .dashboard-v1-date{
    order:-1;
    padding:0;
    font-size:12px;
  }
  .dashboard-v1-head h2{
    font-size:46px;
  }
  .dashboard-v1-topstats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .dashboard-v1-stat{
    padding:15px 13px;
  }
  .dashboard-v1-stat strong{
    font-size:24px;
  }
  .dashboard-v1-actions{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:7px;
  }
  .dashboard-v1-actions button{
    padding:11px 8px;
    font-size:11px;
  }
  .dashboard-v1-week{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .dashboard-v1-next-row{
    align-items:flex-end;
  }
}
@media(max-width:420px){
  .dashboard-v1-head h2{
    font-size:40px;
  }
  .dashboard-v1-stat strong{
    font-size:21px;
  }
  .dashboard-v1-actions{
    grid-template-columns:1fr;
  }
}
