/* MBF Velours Premium V1 — design rose professionnel, doux et SMA/TAB friendly */
:root{
  --mbf-bg-0:#fff7fb;
  --mbf-bg-1:#fbedf5;
  --mbf-bg-2:#f7e7f3;
  --mbf-card:rgba(255,255,255,.82);
  --mbf-card-strong:rgba(255,255,255,.94);
  --mbf-border:rgba(190,91,151,.22);
  --mbf-border-strong:rgba(190,91,151,.36);
  --mbf-text:#30202b;
  --mbf-muted:#7d6174;
  --mbf-primary:#b01b8d;
  --mbf-primary-2:#e13692;
  --mbf-primary-3:#f6a2c8;
  --mbf-soft:#fff0f7;
  --mbf-shadow:0 22px 60px rgba(117,39,88,.12);
  --mbf-shadow-soft:0 10px 30px rgba(117,39,88,.10);
  --mbf-radius:22px;
  --mbf-radius-sm:16px;
  --mbf-touch:44px;
}
body.theme-rose,
body:not([class*="theme-"]){
  background:
    radial-gradient(circle at 15% 8%, rgba(255,210,230,.92), transparent 32%),
    radial-gradient(circle at 84% 12%, rgba(233,207,255,.60), transparent 30%),
    linear-gradient(140deg,var(--mbf-bg-0),var(--mbf-bg-1) 48%,#fff4ec) !important;
  color:var(--mbf-text);
}
.app{max-width:1280px;margin-inline:auto;}
.app-header,.card,.content-card,.player-shell,.modal-card,.profile-panel,.profile-modal,.drawer-card,.left-card,#contentCard,.video-card,.games-card{
  border:1px solid var(--mbf-border) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(255,249,253,.76)) !important;
  box-shadow:var(--mbf-shadow-soft) !important;
  border-radius:var(--mbf-radius) !important;
}
.app-header{backdrop-filter:blur(18px) saturate(1.15);}
.app-title,.content-title,.modal-title,.profile-title{color:var(--mbf-primary) !important;letter-spacing:-.01em;}
.app-subtitle,.content-text,.sub,.muted,.today-title{color:var(--mbf-muted) !important;}
button,.btn,.btn-small,.profile-btn,.chip,.nav-btn,.top-nav-btn,input,select,textarea{min-height:var(--mbf-touch);}
button,.btn,.btn-small,.profile-btn,.chip,.nav-btn,.top-nav-btn,.field-input,.field-select,input,select,textarea{
  border-radius:16px !important;
  border-color:var(--mbf-border-strong) !important;
}
button,.btn,.btn-small,.profile-btn,.chip,.nav-btn,.top-nav-btn{
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
button:hover,.btn:hover,.btn-small:hover,.profile-btn:hover,.chip:hover,.nav-btn:hover,.top-nav-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(176,27,141,.12);}
.btn-primary,.btn-small.btn-primary,.chip.active,.top-nav-btn.active,.nav-btn.active,.switch[data-on="true"] .switch-toggle,
button[data-primary-action],.cycle-mini-day.is-selected{
  background:linear-gradient(135deg,var(--mbf-primary),var(--mbf-primary-2)) !important;
  color:#fff !important;
  border-color:transparent !important;
}
.profile-btn,.chip,.btn-small.btn-ghost,.btn-ghost{
  background:rgba(255,255,255,.72) !important;
  color:var(--mbf-text) !important;
}
.profile-btn.active,.chip.active,.btn-small.is-active{color:#fff !important;}
.field-input,input[type="text"],input[type="email"],input[type="password"],input[type="date"],input[type="number"],select,textarea{
  background:rgba(255,255,255,.88) !important;
  color:var(--mbf-text) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
  font-size:15px;
}
textarea{line-height:1.45;}
/* Login premium */
#profileChoiceButtons,#loginFormContainer,#importFormContainer,#profileFormContainer{width:100%;}
.profile-modal-card,.profile-choice-card,.auth-card,.modal-card{
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,246,251,.90)),
    radial-gradient(circle at 10% 0%,rgba(255,193,224,.22),transparent 38%) !important;
}
#googleSignInWrap .btn-google,.btn-google{
  min-height:48px !important;
  border-radius:999px !important;
  box-shadow:0 8px 22px rgba(117,39,88,.10) !important;
}
.google-divider span{color:var(--mbf-muted)!important;}
/* Accueil / badges */
.cycle-chip,.tag,.pill,.badge,.module-pill,.quick-chip{border-radius:999px!important;background:var(--mbf-soft)!important;color:var(--mbf-primary)!important;}
.reminder-banner{background:linear-gradient(135deg,#fff5fa,#fdf0ff)!important;border:1px solid var(--mbf-border)!important;border-radius:18px!important;}
/* Cycle */
.cycle-form-v9,.mbf-cycle-pro{background:transparent!important;}
.cycle-date-trigger,.mbf-cycle-panel,.mbf-cycle-card,.mbf-cycle-history-item,.cycle-mini-popover{
  background:var(--mbf-card-strong)!important;
  border:1px solid var(--mbf-border)!important;
  border-radius:20px!important;
  box-shadow:var(--mbf-shadow-soft)!important;
}
.flux-btn,.symptom-item,.mbf-chip{min-height:44px;border-radius:999px!important;border:1px solid var(--mbf-border)!important;background:#fff!important;}
.flux-btn.active,.mbf-chip.is-active{background:linear-gradient(135deg,var(--mbf-primary),var(--mbf-primary-2))!important;color:#fff!important;}
/* Lecteur intégré */
#playerPanel,.player-panel,.tv-panel,.radio-panel{border-radius:24px!important;overflow:hidden;}
.player-header{background:linear-gradient(135deg,#9f1a8b,#e51b90)!important;}
/* Jeux */
.game-tab,.game-card,.memory-card{border-radius:18px!important;}
/* Profil sauvegarde */
.backup-status-card,.vault-card,.profile-save-card{background:rgba(255,255,255,.86)!important;border:1px solid var(--mbf-border)!important;border-radius:20px!important;}
/* Bottom nav premium */
.bottom-nav,.mobile-bottom-nav{
  backdrop-filter:blur(18px) saturate(1.2);
  background:rgba(255,247,252,.90)!important;
  border-top:1px solid var(--mbf-border)!important;
}
.bottom-nav button,.mobile-bottom-nav button{min-width:54px;min-height:50px;border-radius:18px!important;}
@media (max-width:1024px){
  .app{padding:10px!important;}
  .app-main{gap:12px!important;}
  .card,.content-card,#contentCard{border-radius:20px!important;}
  .top-nav{gap:6px!important;}
  .profile-btn,.chip,.btn,.btn-small{min-height:46px!important;}
  input,select,textarea{font-size:16px!important;}
}
@media (max-width:640px){
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important;}
  .app-header-buttons{gap:8px!important;}
  .top-nav{display:none!important;}
  .quick-buttons{grid-template-columns:1fr 1fr!important;}
  .content-header{align-items:flex-start!important;gap:10px!important;}
  .cycle-period-actions,.mbf-cycle-actions{display:grid!important;grid-template-columns:1fr!important;}
  .cycle-period-actions .btn-small,.mbf-cycle-actions .btn-small{width:100%!important;}
}


/* V2 — cadrage modules Humeur/Sommeil : le contenu remplit tout le cadre central */
#contentCard .mbf-panel--single{grid-template-columns:1fr!important;padding:0 22px 16px!important;}
#contentCard .mbf-panel-col{width:100%!important;max-width:none!important;}
#contentCard .mbf-daily-grid{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(460px,1.35fr);gap:18px;align-items:stretch;width:100%;}
#contentCard .mbf-daily-grid>.mbf-form,#contentCard .mbf-insight-stack{min-width:0;}
#contentCard .mbf-insight-stack{display:grid;grid-template-columns:1fr;gap:14px;}
#contentCard .mbf-insight-card{position:relative;min-width:0;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,248,252,.80));border:1px solid rgba(190,91,151,.22);border-radius:20px;padding:16px;box-shadow:0 12px 28px rgba(117,39,88,.08);color:var(--mbf-text);}
#contentCard .mbf-insight-title{font-weight:900;color:var(--mbf-primary);font-size:16px;margin-bottom:6px;letter-spacing:-.01em;}
#contentCard .mbf-insight-sub{font-size:13px;color:var(--mbf-muted);line-height:1.45;margin-bottom:10px;}
#contentCard .mbf-textarea--large{min-height:130px;}
#contentCard .mbf-counter{text-align:right;font-size:12px;color:var(--mbf-muted);margin-top:6px;font-weight:700;}
#contentCard .mbf-card-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
#contentCard .mbf-soft-list{display:grid;grid-template-columns:28px 1fr;gap:8px 10px;align-items:center;}
#contentCard .mbf-soft-list span{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:linear-gradient(135deg,var(--mbf-primary),var(--mbf-primary-2));color:#fff;font-weight:900;}
#contentCard .mbf-soft-list p{margin:0;padding:8px 10px;background:rgba(255,240,247,.78);border-radius:12px;color:var(--mbf-text);line-height:1.35;}
#contentCard .mbf-kind-note{min-height:118px;display:flex;align-items:center;padding:14px;border-radius:16px;background:linear-gradient(135deg,#fff5fa,#ffe7f3);font-weight:700;line-height:1.45;color:#6d214f;}
#contentCard .mbf-insight-card--flower::after{content:'🌸';position:absolute;right:14px;bottom:8px;font-size:64px;opacity:.18;pointer-events:none;}
#contentCard .mbf-mini-chart{position:relative;height:112px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,232,244,.64));border:1px solid rgba(190,91,151,.14);overflow:hidden;margin-top:10px;}
#contentCard .mbf-mini-chart::before{content:'';position:absolute;inset:18px 10px;background:repeating-linear-gradient(to right,rgba(190,91,151,.10) 0 1px,transparent 1px 14.25%),repeating-linear-gradient(to bottom,rgba(190,91,151,.10) 0 1px,transparent 1px 33.33%);opacity:.75;}
#contentCard .mbf-chart-dot{position:absolute;transform:translate(-50%,-50%);z-index:1;font-size:18px;filter:drop-shadow(0 3px 4px rgba(117,39,88,.18));}
#contentCard .mbf-chart-dot--small{width:10px;height:10px;border-radius:999px;background:var(--mbf-primary-2);font-size:0;border:2px solid #fff;}
#contentCard .mbf-chart-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:6px;font-size:11px;color:var(--mbf-muted);text-align:center;font-weight:700;}
#contentCard .mbf-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:8px 0 12px;}
#contentCard .mbf-kpi-grid div{border:1px solid rgba(190,91,151,.20);border-radius:16px;background:rgba(255,255,255,.78);padding:12px;text-align:center;}
#contentCard .mbf-kpi-grid b{display:block;font-size:20px;color:var(--mbf-primary);margin-bottom:3px;}
#contentCard .mbf-kpi-grid span{font-size:12px;color:var(--mbf-muted);font-weight:700;line-height:1.25;}
#contentCard .mbf-objective-note{border-radius:16px;background:linear-gradient(135deg,#f7ecff,#fff3f8);padding:12px 14px;color:#6d214f;font-weight:700;line-height:1.45;}
#contentCard .mbf-check-list{display:grid;gap:7px;}
#contentCard .mbf-check-list span{padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid rgba(190,91,151,.14);color:var(--mbf-muted);font-weight:700;}
#contentCard .mbf-check-list span.is-on{background:#fff0f7;color:var(--mbf-primary);border-color:rgba(190,91,151,.34);}
#contentCard .mbf-advice-list{margin:0;padding-left:18px;color:var(--mbf-text);line-height:1.65;font-weight:650;}
#contentCard .mbf-table-lite{display:grid;grid-template-columns:1.1fr .9fr .9fr .8fr;gap:0;border:1px solid rgba(190,91,151,.14);border-radius:14px;overflow:hidden;}
#contentCard .mbf-table-lite span{padding:9px 10px;border-bottom:1px solid rgba(190,91,151,.10);background:rgba(255,255,255,.62);font-size:12px;color:var(--mbf-text);font-weight:750;}
#contentCard .mbf-table-lite span:nth-child(-n+4){background:#fff0f7;color:var(--mbf-primary);font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:11px;}
#contentCard .mbf-table-empty{grid-column:1/-1!important;text-align:center;color:var(--mbf-muted)!important;background:rgba(255,255,255,.70)!important;}
@media(max-width:1180px){#contentCard .mbf-daily-grid{grid-template-columns:1fr;}#contentCard .mbf-card-row{grid-template-columns:1fr;}#contentCard .mbf-kpi-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){#contentCard .mbf-panel--single{padding:0 12px 12px!important;}#contentCard .mbf-kpi-grid{grid-template-columns:1fr;}#contentCard .mbf-chart-days{font-size:10px}.mbf-topbar{padding-inline:12px!important}.mbf-date-pill{width:100%;text-align:center;}}


/* V3 — correction bouton Google + lisibilité globale auth */
#profileModal #mbfAuthUI #mbfGoogleZone{width:100%;display:flex;flex-direction:column;align-items:center;}
#profileModal #mbfAuthUI .mbf-auth-google-btn,
#profileModal #googleSignInWrap .btn-google,
#profileModal .btn-google{
  position:relative!important;
  width:min(100%,420px)!important;
  max-width:420px!important;
  min-height:50px!important;
  margin:0 auto!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  padding:13px 24px!important;
  background:linear-gradient(180deg,#fff,#fff9fd)!important;
  border:1.5px solid rgba(190,91,151,.30)!important;
  color:#261827!important;
  font-size:14.5px!important;
  font-weight:850!important;
  text-align:center!important;
  box-shadow:0 10px 26px rgba(117,39,88,.10), inset 0 1px 0 rgba(255,255,255,.90)!important;
}
#profileModal #mbfAuthUI .mbf-auth-google-btn svg,
#profileModal #googleSignInWrap .btn-google svg,
#profileModal .btn-google svg{position:absolute!important;left:22px!important;top:50%!important;transform:translateY(-50%)!important;width:19px!important;height:19px!important;flex:0 0 auto!important;}
#profileModal #mbfGoogleRenderTarget,
#profileModal .google-btn-container{width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;}
#profileModal #mbfGoogleRenderTarget>div,
#profileModal .google-btn-container>div{width:min(100%,420px)!important;max-width:420px!important;margin:0 auto!important;border-radius:999px!important;overflow:hidden!important;}
#profileModal #mbfGoogleRenderTarget iframe,
#profileModal .google-btn-container iframe{width:100%!important;border-radius:999px!important;}
#profileModal .mbf-auth-or,#profileModal .google-divider{width:100%!important;max-width:440px!important;margin-inline:auto!important;}
#profileModal .mbf-auth-title{font-size:22px!important;color:#201321!important;}
#profileModal .mbf-auth-sub{font-size:13px!important;color:#7d6174!important;opacity:1!important;}
