/* JUSTEVIVO V7 — couche additive de cohérence visuelle claire.
   Ne remplace pas les styles existants et conserve la navigation sombre. */
:root{
  --jv-v7-bg:#f6f8fc;
  --jv-v7-surface:#ffffff;
  --jv-v7-surface-soft:#f8faff;
  --jv-v7-text:#17243b;
  --jv-v7-muted:#66758e;
  --jv-v7-line:#e4e9f2;
  --jv-v7-primary:#7057f5;
  --jv-v7-primary-soft:#f0edff;
  --jv-v7-shadow:0 12px 32px rgba(27,42,75,.07);
}
html,body{background:var(--jv-v7-bg)!important;color:var(--jv-v7-text)!important}
body{min-height:100vh}
.workspace,.workspace-page,.workspace-page-heading,.preview-panel,.controls-panel,
.jv-editor-settings-panel,.jv-settings-card,.jv-projects-panel,.jv-project-card,
.dashboard-card,.dashboard-recent,.saved-project-card{
  color:var(--jv-v7-text)!important;
  background:var(--jv-v7-surface)!important;
  border-color:var(--jv-v7-line)!important;
}
.workspace-page-heading h3,.workspace-page-title,.dashboard-section-title,
.dashboard-value,.saved-project-card h4,.jv-settings-card h5{
  color:var(--jv-v7-text)!important;
}
.workspace-page-heading p,.workspace-page-intro,.dashboard-muted,
.dashboard-kicker,.jv-settings-intro,.jv-settings-hint,
.preview-note,.demo-warning{color:var(--jv-v7-muted)!important}
.dashboard-card,.dashboard-recent,.saved-project-card{
  border:1px solid var(--jv-v7-line)!important;
  border-radius:16px!important;
  box-shadow:var(--jv-v7-shadow)!important;
}
.dashboard-kicker{font-weight:800!important;letter-spacing:.1em}
.dashboard-progress{background:#e9edf5!important}
.dashboard-progress-fill{background:linear-gradient(90deg,#7057f5,#20b7aa)!important}
.jv-account-bar{
  background:#fff!important;color:var(--jv-v7-text)!important;
  border:1px solid var(--jv-v7-line)!important;
  box-shadow:0 6px 20px rgba(27,42,75,.05)!important;
}
.jv-account-bar button{white-space:normal}
.jv-auth-modal{
  background:rgba(17,27,47,.48)!important;
  backdrop-filter:blur(7px);
}
.jv-auth-card{
  background:#fff!important;color:var(--jv-v7-text)!important;
  border:1px solid var(--jv-v7-line)!important;
  border-radius:20px!important;box-shadow:0 24px 80px rgba(10,20,40,.2)!important;
}
.jv-auth-title{color:var(--jv-v7-text)!important;font-size:21px!important}
.jv-auth-message{
  color:#465570!important;background:#f6f8fc!important;
  border:1px solid var(--jv-v7-line)!important;
  border-radius:11px!important;padding:11px 12px!important;
}
.jv-auth-field{
  color:var(--jv-v7-text)!important;background:#fff!important;
  border:1px solid #d8e0ed!important;border-radius:10px!important;
}
.jv-auth-field::placeholder{color:#8793a7!important}
.jv-auth-field:focus{
  outline:3px solid rgba(112,87,245,.13)!important;
  border-color:var(--jv-v7-primary)!important;
}
.jv-auth-card .button.ghost{
  background:#fff!important;color:#34435d!important;
  border:1px solid var(--jv-v7-line)!important;
}
.jv-auth-card .button.primary,.jv-account-bar .button.primary{
  background:var(--jv-v7-primary)!important;color:#fff!important;
  border:1px solid var(--jv-v7-primary)!important;
}
.jv-settings-message{
  color:#465570!important;background:#f6f8fc!important;
  border:1px solid var(--jv-v7-line)!important;border-radius:9px!important;padding:8px!important;
}
.jv-settings-card,.jv-project-card{
  background:#fff!important;color:var(--jv-v7-text)!important;
  border:1px solid var(--jv-v7-line)!important;border-radius:14px!important;
}
.jv-editor-panel-nav{background:#f5f7fb!important;border-color:var(--jv-v7-line)!important}
.jv-editor-panel-tab{background:#fff!important;color:#34435d!important;border-color:var(--jv-v7-line)!important}
.jv-editor-panel-tab[aria-selected="true"],.jv-editor-panel-tab.active{
  background:var(--jv-v7-primary-soft)!important;color:var(--jv-v7-primary)!important;
  border-color:#d5ccff!important;
}
input:not([type="color"]):not([type="range"]):not([type="file"]),
select,textarea{
  color:var(--jv-v7-text);
}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{
  outline-color:rgba(112,87,245,.55);
}
.toast,#toast,[role="status"].toast,[role="alert"]{
  background:#fff!important;color:var(--jv-v7-text)!important;
  border:1px solid var(--jv-v7-line)!important;
  box-shadow:var(--jv-v7-shadow)!important;
}
.site-footer{background:#fff!important;color:var(--jv-v7-muted)!important;border-top:1px solid var(--jv-v7-line)!important}
.site-footer a{color:#465570!important}
@media(max-width:700px){
  .jv-auth-card{max-width:min(100%,460px)!important;padding:20px!important}
  .jv-account-bar{align-items:flex-start!important}
  .jv-account-bar>div{min-width:0}
}

/* Dialogues Projets / Paramètres : fonds clairs et messages lisibles */
.jv-app-modal{background:rgba(17,27,47,.48)!important;backdrop-filter:blur(7px)}
.jv-app-modal-card{
  background:#fff!important;color:var(--jv-v7-text)!important;
  border:1px solid var(--jv-v7-line)!important;border-radius:18px!important;
  box-shadow:0 24px 80px rgba(10,20,40,.2)!important;
}
.jv-app-modal-title{color:var(--jv-v7-text)!important}
.jv-app-modal-card input:not([type="color"]),.jv-app-modal-card select,.jv-app-modal-card textarea{
  background:#fff!important;color:var(--jv-v7-text)!important;
  border:1px solid #d8e0ed!important;border-radius:10px!important;
}
.jv-app-modal-card p,.jv-app-modal-card small,.jv-app-modal-card label{color:var(--jv-v7-muted)!important}
.jv-app-modal-card .button.ghost{
  background:#fff!important;color:#34435d!important;border:1px solid var(--jv-v7-line)!important;
}
.jv-app-modal-card .button.primary{
  background:var(--jv-v7-primary)!important;color:#fff!important;border:1px solid var(--jv-v7-primary)!important;
}

.jv-app-modal-card [style*="#c2c8d9"],.jv-app-modal-card [style*="#aeb8d0"],
.jv-app-modal-card [style*="#8994ad"]{color:var(--jv-v7-muted)!important}
.jv-project-search{background:#fff!important;color:var(--jv-v7-text)!important;border:1px solid #d8e0ed!important}
.jv-project-search::placeholder{color:#8793a7!important}
.jv-project-status{color:var(--jv-v7-muted)!important;background:#f6f8fc!important;border:1px solid var(--jv-v7-line)!important;border-radius:9px!important;padding:9px!important}
.jv-project-row{background:#fff!important;color:var(--jv-v7-text)!important;border:1px solid var(--jv-v7-line)!important;box-shadow:0 5px 16px rgba(27,42,75,.04)!important}
.jv-project-row [style*="#8994ad"]{color:var(--jv-v7-muted)!important}

.jv-captcha-wrap{
  display:flex;justify-content:center;align-items:center;
  min-height:0;margin:4px 0 12px;padding:10px;
  background:#f8faff;border:1px solid var(--jv-v7-line);border-radius:12px;
}
.jv-captcha-wrap[hidden]{display:none!important}
#jv-turnstile-widget{max-width:100%;min-height:0}


/* Production polish — account actions remain visible in both themes */
.jv-account-bar{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:12px!important;flex-wrap:wrap!important;position:relative!important;z-index:5!important;
  min-height:52px!important;padding:12px 14px!important;
}
.jv-account-bar>div:last-child{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  gap:8px!important;flex:0 0 auto!important;min-width:max-content!important;
}
.jv-account-bar button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  visibility:visible!important;opacity:1!important;min-height:38px!important;
  padding:9px 13px!important;font-size:12px!important;font-weight:800!important;
  white-space:nowrap!important;border-radius:10px!important;flex:0 0 auto!important;
}
.jv-account-bar button.button.ghost{
  background:#fff!important;color:#263550!important;border:1px solid #cbd5e4!important;
  box-shadow:0 2px 8px rgba(20,35,65,.08)!important;
}
.jv-account-bar button.button.ghost:hover{
  background:#f0edff!important;color:#513bd0!important;border-color:#b8aaff!important;
}
html[data-theme="dark"] .jv-account-bar button.button.ghost{
  background:#202b43!important;color:#f4f7ff!important;border-color:#53627d!important;
}
html[data-theme="dark"] .jv-account-bar button.button.ghost:hover{
  background:#303d5b!important;color:#fff!important;border-color:#9b83ff!important;
}
.jv-account-bar button:focus-visible{
  outline:3px solid #8067ff!important;outline-offset:2px!important;
}
.theme-toggle{z-index:10050!important}
.jv-app-modal{z-index:10020!important}
.jv-auth-modal{z-index:10030!important}
@media(max-width:520px){
  .jv-account-bar{align-items:flex-start!important}
  .jv-account-bar>div:first-child{flex:1 1 100%!important}
  .jv-account-bar>div:last-child{width:100%!important;justify-content:flex-end!important}
  .jv-account-bar button{min-height:40px!important}
}
