/* =============================================================================
   ATLA — THÈME NUIT pour les applications hors CRM (espace client, espace
   partenaire, appli employés, page de signature). Même palette que theme-nuit.css.
   Chargé en dernier, rattaché à html.nuit : retirer la classe rétablit le style précédent.
   ============================================================================= */
html.nuit{
  --n-bg:#05080c; --n-bg-2:#070b10; --n-panel:#0a1016; --n-panel-2:#0d151c; --n-raised:#111b24;
  --n-line:#15212b; --n-line-2:#1d2d3a; --n-line-3:#2a4152;
  --n-ink:#f4f8fb; --n-ink-2:#c9d5df; --n-muted:#8b9dac; --n-faint:#5b6c7a;
  --n-cyan:#6ee7f9; --n-blue:#3b9dff; --n-accent-ink:#021219; --n-accent-line:rgba(110,231,249,.34);
  --n-grad:linear-gradient(135deg,#7eecfb 0%,#3b9dff 100%);
  --n-green:#34d399; --n-amber:#fbbf24; --n-red:#ff5a6e;
  /* theme.css (appli employés, signature) */
  --black:var(--n-bg); --off-black:var(--n-bg-2); --surface:var(--n-panel); --surface-2:var(--n-raised);
  --line:var(--n-line-2); --gold:var(--n-cyan); --gold-light:#9af0fc; --accent-dark:#34c6e6; --accent-ink:var(--n-accent-ink);
  --parchment:var(--n-ink); --gray-300:var(--n-ink-2); --gray-500:var(--n-muted); --gray-700:var(--n-faint); --field-line:var(--n-line-3);
  --green:#22b57c; --green-light:var(--n-green); --red:#e23d55; --red-light:var(--n-red); --amber:#e0a21c; --amber-light:var(--n-amber);
  /* espace-client.css */
  --bg:var(--n-bg); --panel:var(--n-panel); --raised:var(--n-raised); --ink:var(--n-ink); --muted:var(--n-muted); --accent:var(--n-cyan); --button:#3fd3f0;
  /* partenaire.css */
  --p-bg:var(--n-bg); --p-panel:var(--n-panel); --p-line:var(--n-line-2); --p-ink:var(--n-ink); --p-muted:var(--n-muted); --p-accent:var(--n-cyan);
  color-scheme:dark;
}
html.nuit body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif!important;-webkit-font-smoothing:antialiased;
  background:radial-gradient(900px 500px at 100% -10%,rgba(31,107,255,.12),transparent 60%),var(--n-bg)!important;background-attachment:fixed!important;
}
html.nuit :is(h1,h2){font-family:'Montserrat','Inter',sans-serif;color:#fff;letter-spacing:-.02em;}
html.nuit ::selection{background:rgba(110,231,249,.28);color:#fff;}
html.nuit :focus-visible{outline:2px solid var(--n-cyan)!important;outline-offset:2px!important;}
/* Boutons principaux : même dégradé que le CRM */
html.nuit :is(.primary,button.primary,.btn-primary,a.btn-primary,button[type="submit"].primary){
  background:var(--n-grad)!important;color:var(--n-accent-ink)!important;border:0!important;font-weight:700!important;
  box-shadow:0 0 0 1px rgba(126,236,251,.35) inset,0 10px 26px -12px rgba(59,157,255,.35)!important;transition:filter .18s,transform .18s,box-shadow .18s;
}
html.nuit :is(.primary,.btn-primary):hover{filter:brightness(1.08);transform:translateY(-1px);}
html.nuit :is(.btn-outline,.btn-ghost){border-color:var(--n-line-3)!important;color:var(--n-ink-2)!important;background:rgba(255,255,255,.015)!important;}
html.nuit :is(.btn-outline,.btn-ghost):hover{border-color:var(--n-accent-line)!important;color:#fff!important;background:rgba(110,231,249,.08)!important;}
/* Champs */
html.nuit :is(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="password"],input[type="date"],input[type="time"],input[type="search"],select,textarea){
  background:#060a0e!important;border:1px solid var(--n-line-3)!important;color:var(--n-ink)!important;border-radius:10px!important;
}
html.nuit :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):focus{border-color:var(--n-cyan)!important;box-shadow:0 0 0 3px rgba(110,231,249,.14)!important;outline:none!important;}
html.nuit ::placeholder{color:var(--n-faint)!important;opacity:1;}
html.nuit input[type="checkbox"],html.nuit input[type="radio"]{accent-color:var(--n-cyan);}
/* Panneaux et cartes courants de ces pages */
html.nuit :is(.panel,.card,.partner-panel,.partner-card,.portal-document-card,.document,.field-card,.cw-panel){
  border-color:var(--n-line-2)!important;
}
html.nuit :is(.partner-card,.portal-document-card){transition:border-color .18s,transform .18s,box-shadow .18s;}
@media (hover:hover) and (pointer:fine){
  html.nuit :is(.partner-card,.portal-document-card):hover{border-color:var(--n-accent-line)!important;transform:translateY(-2px);box-shadow:0 18px 40px -20px rgba(59,157,255,.45);}
}
html.nuit details>summary{list-style:none;cursor:pointer;}
html.nuit details>summary::-webkit-details-marker{display:none;}
@media (prefers-reduced-motion:reduce){html.nuit *{transition:none!important;transform:none!important;}}
/* Statuts des contrats (espace partenaire) */
html.nuit .partner-badge.etat-attente{color:#fcd98a!important;border-color:rgba(251,191,36,.35)!important;background:rgba(251,191,36,.08)!important;}
html.nuit .partner-badge.etat-accepte{color:#8ff0c7!important;border-color:rgba(52,211,153,.35)!important;background:rgba(52,211,153,.08)!important;}
html.nuit .partner-badge.etat-refuse{color:#ff9aa7!important;border-color:rgba(255,90,110,.35)!important;background:rgba(255,90,110,.08)!important;}
html.nuit .partner-badge.etat-nouvelle-version{color:#a9d3ff!important;border-color:rgba(59,157,255,.35)!important;background:rgba(59,157,255,.08)!important;}
html.nuit .partner-badge{border-radius:999px!important;font-weight:700!important;letter-spacing:.04em;}
/* Icônes d'état (remplacent les grands emojis) */
html.nuit .big-icon{line-height:1;}
html.nuit .nv-etat{width:56px;height:56px;color:var(--n-cyan);filter:drop-shadow(0 0 14px rgba(110,231,249,.35));}
html.nuit .nv-etat.nv-ok{color:var(--n-green);filter:drop-shadow(0 0 14px rgba(52,211,153,.35));}
html.nuit .nv-etat.nv-alerte{color:var(--n-amber);filter:drop-shadow(0 0 14px rgba(251,191,36,.3));}
html.nuit .nv-etat.nv-expire{color:var(--n-muted);filter:none;}
/* Impression (espace client, partenaire, appli) : les titres passés en blanc par le thème
   redeviennent noirs — sinon blanc sur papier blanc. */
@media print{html.nuit :is(h1,h2,h3,h4){color:#111!important;-webkit-text-fill-color:#111!important;}html.nuit body::before{display:none!important;}}
/* Intro vidéo de l'espace client (client-intro.css) : accents beige et or → cyan. */
html.nuit .client-intro-copy p{color:#9af0fc;}
html.nuit .client-intro-skip:hover{border-color:var(--n-cyan);}
html.nuit .client-intro-skip:focus-visible{outline-color:var(--n-cyan);}
html.nuit .client-intro-progress i{background:var(--n-grad);}
/* Listes déroulantes : même flèche que le CRM (poids égal à la règle des champs ci-dessus, déclarée après). */
html.nuit :is(input[type="text"],select):is(select):not([multiple]){appearance:none!important;-webkit-appearance:none!important;padding-right:36px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b9dac' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:14px!important;}
/* Contrats (R7) : contenu altéré après envoi, et vérification en cours. */
html.nuit .partner-badge.etat-altere{color:#ffb3bd!important;border-color:rgba(255,90,110,.45)!important;background:rgba(255,90,110,.1)!important;}
html.nuit .partner-badge.etat-verification{color:var(--n-muted)!important;border-color:var(--n-line-3)!important;}
/* Variables utilisées par d'autres feuilles sans être définies (contrôle « tokens fantômes » de verifier.sh) :
   la progression de l'intro est ensuite pilotée par client-intro.mjs. */
html.nuit{--partner-line:var(--n-line-2);}
.client-intro{--intro-progress:0;}
