/* 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;
  }
}


/* BERSERKR V1 — compte & profil */
.accountRow{
  position:relative!important;
  display:block!important;
  padding-left:0!important;
}
.accountMenuBtn{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:9px 12px;
  border:1px solid #30373a;
  border-radius:8px;
  background:#101416;
  color:#edf0f1;
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
  cursor:pointer;
}
.accountMenuBtn:hover,
.accountMenuBtn[aria-expanded="true"]{
  border-color:#4a5357;
  background:#151a1d;
}
.accountChevron{
  color:#7f898d;
  font-size:10px;
}
.accountMenu{
  position:absolute;
  z-index:250;
  right:0;
  top:calc(100% + 7px);
  width:180px;
  overflow:hidden;
  padding:5px;
  border:1px solid #353d41;
  border-radius:8px;
  background:#0e1214;
  box-shadow:0 18px 50px rgba(0,0,0,.5);
}
.accountMenu button{
  width:100%;
  min-height:38px;
  padding:9px 11px;
  border:0;
  border-radius:4px;
  background:transparent;
  color:#d7dcde;
  font-size:12px;
  font-weight:650;
  text-align:left;
  cursor:pointer;
}
.accountMenu button:hover,
.accountMenu button:focus-visible{
  background:transparent;
  color:#e13a41;
  outline:none;
}
.accountMenu .accountLogout{
  color:#d7dcde;
}
.accountEmail,
.logoutBtn{
  display:none!important;
}

.profile-v1{
  width:min(100%,920px);
  margin:0 auto;
  padding:42px clamp(16px,3vw,34px) 90px;
}
.profile-v1-head{
  margin-bottom:22px;
}
.profile-v1-head h2{
  margin:6px 0 0;
  font:700 48px/1 Georgia,"Times New Roman",serif;
}
.profile-identity{
  display:flex;
  align-items:center;
  gap:16px;
  padding:20px;
  border:1px solid #2b3235;
  border-radius:10px;
  background:#0c1012;
}
.profile-identity .profileavatar{
  flex:0 0 64px;
  width:64px;
  height:64px;
  font-size:22px;
}
.profile-identity strong{
  display:block;
  font:700 23px/1.1 Georgia,"Times New Roman",serif;
}
.profile-identity span{
  display:block;
  margin-top:6px;
  color:#8c9599;
  font-size:12px;
}
.profile-v1-section{
  padding:27px 0;
  border-bottom:1px solid #242a2d;
}
.profile-v1-section:last-child{
  border-bottom:0;
}
.profile-v1-section>h3{
  margin:0 0 14px;
  color:#b7bec1;
  font-size:11px;
  font-weight:900;
  letter-spacing:.17em;
}
.profile-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11px;
}
.profile-fields label,
.profile-password-fields label{
  display:grid;
  gap:6px;
  color:#929a9e;
  font-size:11px;
  font-weight:800;
}
.profile-fields input,
.profile-password-fields input{
  width:100%;
  min-height:43px;
  padding:10px 12px;
  border:1px solid #30373a;
  border-radius:6px;
  background:#0a0d0f;
  color:#f0f2f2;
  font:inherit;
}
.profile-fields input:focus,
.profile-password-fields input:focus{
  outline:none;
  border-color:#8b3035;
  box-shadow:0 0 0 2px rgba(198,27,34,.10);
}
.profile-fields input[readonly]{
  color:#7f898d;
  cursor:default;
}
.profile-field-wide{
  grid-column:1/-1;
}
.profile-primary,
.profile-secondary,
.profile-danger{
  min-height:42px;
  margin-top:14px;
  padding:10px 14px;
  border-radius:7px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.profile-primary{
  border:1px solid #a91b21;
  background:linear-gradient(180deg,#d4242b,#a81116);
  color:#fff;
}
.profile-secondary{
  margin-top:0;
  border:1px solid #353d41;
  background:#111619;
  color:#eef1f2;
}
.profile-danger{
  margin-top:0;
  border:1px solid #5a2b2e;
  background:#160d0e;
  color:#e99599;
}
.profile-primary:disabled{
  opacity:.5;
  cursor:default;
}
.profile-security-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 18px;
  border:1px solid #292f32;
  border-radius:8px;
  background:#0b0f11;
}
.profile-security-row>div strong{
  display:block;
  font-size:13px;
}
.profile-security-row>div span{
  display:block;
  margin-top:4px;
  color:#707a7e;
  font-size:12px;
  letter-spacing:.1em;
}
.profile-modal[hidden]{
  display:none!important;
}
.profile-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:18px;
}
.profile-modal-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(0,0,0,.78)!important;
}
.profile-modal-card{
  position:relative;
  z-index:1;
  width:min(100%,540px);
  padding:20px;
  border:1px solid #353d41;
  border-radius:11px;
  background:#0d1012;
  box-shadow:0 30px 90px rgba(0,0,0,.6);
}
.profile-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.profile-modal-head h3{
  margin:0;
  font:700 25px/1.1 Georgia,"Times New Roman",serif;
}
.profile-modal-close{
  width:36px;
  min-width:36px;
  height:36px;
  min-height:36px;
  padding:0;
  border:1px solid transparent;
  border-radius:50%;
  background:transparent;
  color:#90999d;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}
.profile-modal-close:hover{
  border-color:#394145;
  background:#171c1f;
  color:#fff;
}
.profile-password-fields{
  display:grid;
  gap:11px;
}
body.profile-modal-open{
  overflow:hidden!important;
}
@media(max-width:820px){
  .accountRow{
    width:100%;
  }
  .accountMenuBtn{
    width:100%;
    justify-content:center;
    min-height:48px;
    font-size:14px;
  }
  .accountMenu{
    left:0;
    right:0;
    width:100%;
  }
  .profile-v1{
    padding:28px 12px 68px;
  }
  .profile-v1-head h2{
    font-size:42px;
  }
  .profile-fields{
    grid-template-columns:1fr;
  }
  .profile-field-wide{
    grid-column:auto;
  }
  .profile-security-row{
    align-items:stretch;
    flex-direction:column;
  }
  .profile-secondary{
    width:100%;
  }
  .profile-modal{
    align-items:end;
    padding:8px;
  }
  .profile-modal-card{
    width:100%;
    border-radius:14px 14px 8px 8px;
  }
}

/* Account dropdown overrides legacy #logoutBtn header rules. */
#accountMenu #accountProfileBtn,
#accountMenu #logoutBtn{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:38px!important;
  padding:9px 11px!important;
  border:0!important;
  border-radius:4px!important;
  background:transparent!important;
  color:#d7dcde!important;
  font-size:12px!important;
  font-weight:650!important;
  line-height:1.2!important;
  text-align:left!important;
  box-shadow:none!important;
}
#accountMenu #accountProfileBtn:hover,
#accountMenu #accountProfileBtn:focus-visible,
#accountMenu #logoutBtn:hover,
#accountMenu #logoutBtn:focus-visible{
  background:transparent!important;
  color:#e13a41!important;
  border:0!important;
  outline:none!important;
}


/* BERSERKR V1 — Objectifs & Planning */
.accountMenu{
  width:230px!important;
}
.settings-page{
  width:min(100%,900px);
  margin:0 auto;
  padding:42px clamp(16px,3vw,34px) 90px;
}
.settings-page-head{
  margin-bottom:22px;
}
.settings-page-head-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
}
.settings-page-head h2{
  margin:6px 0 0;
  font:700 48px/1 Georgia,"Times New Roman",serif;
}
.settings-card{
  padding:22px;
  border:1px solid #2b3235;
  border-radius:10px;
  background:#0c1012;
}
.settings-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.settings-grid>label,
.reminder-times-v1>label{
  display:grid;
  gap:7px;
  color:#929a9e;
  font-size:11px;
  font-weight:800;
}
.settings-grid input,
.reminder-times-v1 input{
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid #30373a;
  border-radius:7px;
  background:#090c0e;
  color:#f2f4f4;
  font:inherit;
}
.settings-grid input:focus,
.reminder-times-v1 input:focus{
  outline:none;
  border-color:#8e252c;
  box-shadow:0 0 0 2px rgba(198,27,34,.10);
}
.field-with-unit{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  border:1px solid #30373a;
  border-radius:7px;
  background:#090c0e;
}
.field-with-unit:focus-within{
  border-color:#8e252c;
  box-shadow:0 0 0 2px rgba(198,27,34,.10);
}
.field-with-unit input{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.field-with-unit b{
  padding:0 12px 0 8px;
  color:#6f797d;
  font-size:11px;
}
.settings-hint{
  margin:14px 0 0;
  color:#7e888c;
  font-size:11px;
}
.settings-primary{
  min-height:43px;
  margin-top:18px;
  padding:10px 16px;
  border:1px solid #a91b21;
  border-radius:7px;
  background:linear-gradient(180deg,#d4242b,#a81116);
  color:#fff;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.settings-primary:hover:not(:disabled){
  filter:brightness(1.05);
}
.settings-primary:disabled{
  opacity:.5;
  cursor:default;
}
.settings-card>.status{
  min-height:18px;
  margin-top:9px;
}
.planning-v1 .settings-card>h3{
  margin:0 0 12px;
  color:#b7bec1;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
}
.planning-v1 .planning-times-title{
  margin-top:24px!important;
}
.planning-v1 .weekday-picker{
  margin:0;
}
.reminder-times-v1{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.planning-v1 .reminder-switch{
  margin-bottom:2px;
}
.planning-v1 .settings-primary{
  margin-top:22px;
}
@media(max-width:820px){
  .accountMenu{
    width:100%!important;
  }
  .settings-page{
    padding:28px 12px 68px;
  }
  .settings-page-head-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .settings-page-head h2{
    font-size:42px;
  }
  .settings-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:520px){
  .reminder-times-v1{
    grid-template-columns:1fr!important;
  }
}


/* Dashboard — saisie rapide du poids */
.dashboard-weight-modal[hidden]{display:none!important}
.dashboard-weight-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:18px;
}
.dashboard-weight-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(0,0,0,.78)!important;
}
.dashboard-weight-card{
  position:relative;
  z-index:1;
  width:min(100%,460px);
  padding:20px;
  border:1px solid #353d41;
  border-radius:11px;
  background:#0d1012;
  box-shadow:0 30px 90px rgba(0,0,0,.6);
}
.dashboard-weight-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.dashboard-weight-head h3{
  margin:0;
  font:700 25px/1.1 Georgia,"Times New Roman",serif;
}
.dashboard-weight-close{
  width:36px;
  min-width:36px;
  height:36px;
  min-height:36px;
  padding:0;
  border:1px solid transparent;
  border-radius:50%;
  background:transparent;
  color:#90999d;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}
.dashboard-weight-close:hover{
  border-color:#394145;
  background:#171c1f;
  color:#fff;
}
.dashboard-weight-field{
  display:grid;
  gap:7px;
  color:#929a9e;
  font-size:11px;
  font-weight:800;
}
.dashboard-weight-field>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  border:1px solid #30373a;
  border-radius:7px;
  background:#090c0e;
}
.dashboard-weight-field input{
  width:100%;
  min-height:46px;
  padding:10px 12px;
  border:0;
  outline:0;
  background:transparent;
  color:#f2f4f4;
  font:inherit;
}
.dashboard-weight-field b{
  padding:0 12px 0 8px;
  color:#778185;
  font-size:11px;
}
.dashboard-weight-save{
  width:100%;
  min-height:43px;
  margin-top:16px;
  border:1px solid #a91b21;
  border-radius:7px;
  background:linear-gradient(180deg,#d4242b,#a81116);
  color:#fff;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.dashboard-weight-save:disabled{opacity:.5;cursor:default}
body.dashboard-weight-open{overflow:hidden!important}
@media(max-width:520px){
  .dashboard-weight-modal{align-items:end;padding:8px}
  .dashboard-weight-card{width:100%;border-radius:14px 14px 8px 8px}
}
