/* theme-scp.css — habille les pages connectées (Tailwind) aux couleurs de la page d'accueil : crème, marine, orange.
   Chargée après le CDN Tailwind ; les sélecteurs commencent par « body » pour passer devant ses classes utilitaires. */
:root {
  --scp-bg: #fff8ee; --scp-surface: #ffffff; --scp-ink: #0e1629; --scp-muted: #5b6475; --scp-line: #f1dcc0;
  --scp-soft: #fdeccb; --scp-orange: #f4a93a; --scp-orange-deep: #c9780a; --scp-navy: #0a142b; --scp-navy-2: #14224a;
}
body.scp-theme { font-family: "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; background: var(--scp-bg); color: var(--scp-ink); }

/* Fonds et bordures neutres */
body.scp-theme.bg-slate-50, body.scp-theme .bg-slate-50 { background-color: var(--scp-bg); }
body.scp-theme .bg-slate-50\/50 { background-color: rgba(255, 248, 238, .6); }
body.scp-theme .bg-slate-100 { background-color: #f6ead3; }
body.scp-theme .border-slate-100, body.scp-theme .border-slate-200 { border-color: var(--scp-line); }
body.scp-theme .text-slate-900, body.scp-theme .text-slate-800 { color: var(--scp-ink); }
body.scp-theme .text-slate-600, body.scp-theme .text-slate-500 { color: var(--scp-muted); }
body.scp-theme .text-slate-400 { color: #8d8a80; }
body.scp-theme .bg-slate-900 { background-color: var(--scp-navy); }

/* Barre latérale */
body.scp-theme #dash-sidebar { background: #fffdf8; border-right: 1px solid var(--scp-line); }
body.scp-theme #dash-sidebar a.bg-blue-50 { background: var(--scp-soft); border-color: var(--scp-line); }
body.scp-theme #dash-sidebar a:hover { background-color: #fff3df; }

/* Bleu → orange / marine */
body.scp-theme .bg-blue-600, body.scp-theme .bg-indigo-600 { background-color: var(--scp-orange); color: #231400; }
body.scp-theme .bg-blue-600 *, body.scp-theme .bg-indigo-600 * { color: inherit; }
body.scp-theme .hover\:bg-blue-700:hover, body.scp-theme .hover\:bg-indigo-700:hover { background-color: #ffbb55; }
body.scp-theme .bg-blue-50, body.scp-theme .bg-indigo-50 { background-color: var(--scp-soft); }
body.scp-theme .border-blue-100, body.scp-theme .border-blue-200, body.scp-theme .border-indigo-100 { border-color: var(--scp-line); }
body.scp-theme .text-blue-600, body.scp-theme .text-indigo-600, body.scp-theme .text-purple-600 { color: var(--scp-orange-deep); }
body.scp-theme .text-indigo-700 { color: var(--scp-navy); }
body.scp-theme .hover\:text-blue-600:hover { color: var(--scp-orange-deep); }
body.scp-theme .text-indigo-200, body.scp-theme .text-indigo-100, body.scp-theme .text-blue-100 { color: rgba(255, 255, 255, .78); }
body.scp-theme [class*="from-blue-600"], body.scp-theme [class*="from-indigo-600"] { background-image: linear-gradient(135deg, var(--scp-navy), var(--scp-navy-2)); color: #fff; }
body.scp-theme .shadow-blue-100 { --tw-shadow-color: rgba(244, 169, 58, .25); box-shadow: 0 10px 30px rgba(244, 169, 58, .25); }

/* Cartes et blocs plus doux */
body.scp-theme .rounded-2xl, body.scp-theme .rounded-3xl { border-radius: 22px; }
body.scp-theme .module-card { box-shadow: 0 6px 22px rgba(120, 80, 20, .07); border-color: var(--scp-line); }
body.scp-theme .module-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(120, 80, 20, .13); }
body.scp-theme .shadow-sm { box-shadow: 0 2px 12px rgba(120, 80, 20, .07); }
body.scp-theme ::selection { background: var(--scp-orange); color: #231400; }
body.scp-theme #dash-msg-badge { background: #d4603e; }

/* ---- v2 : pages de modules (bail, états des lieux, quittances, révision, relances, congé…) ---- */
/* Titres plus sobres et plus lisibles : fini l'italique et les capitales partout */
body.scp-theme h1.italic, body.scp-theme h2.italic, body.scp-theme h3.italic { font-style: normal; }
body.scp-theme h1.uppercase, body.scp-theme h2.uppercase { text-transform: none; }
body.scp-theme h1.tracking-tighter, body.scp-theme h2.tracking-tighter { letter-spacing: -.02em; }
body.scp-theme h1, body.scp-theme h2 { color: var(--scp-ink); }

/* Champs de formulaire */
body.scp-theme input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),
body.scp-theme select, body.scp-theme textarea {
  background-color: #fffdf8; border-color: var(--scp-line); color: var(--scp-ink); font-family: inherit;
}
body.scp-theme input:focus, body.scp-theme select:focus, body.scp-theme textarea:focus {
  outline: none; border-color: var(--scp-orange); box-shadow: 0 0 0 3px rgba(244, 169, 58, .28);
}
body.scp-theme ::placeholder { color: #a39a88; }
body.scp-theme [class*="focus:ring-blue-"]:focus, body.scp-theme [class*="focus:ring-indigo-"]:focus,
body.scp-theme [class*="focus:ring-pink-"]:focus, body.scp-theme [class*="focus:ring-amber-"]:focus { --tw-ring-color: rgba(244, 169, 58, .45); }
body.scp-theme [class*="accent-blue"], body.scp-theme input[type="checkbox"], body.scp-theme input[type="radio"], body.scp-theme input[type="range"] { accent-color: var(--scp-orange); }

/* Teintes bleues restantes */
body.scp-theme .text-blue-500, body.scp-theme .text-blue-700, body.scp-theme .text-blue-400, body.scp-theme .text-indigo-400 { color: var(--scp-orange-deep); }
body.scp-theme .bg-blue-100 { background-color: var(--scp-soft); }
body.scp-theme .border-blue-600 { border-color: var(--scp-orange); }
body.scp-theme .hover\:bg-blue-600:hover, body.scp-theme .hover\:bg-indigo-600:hover { background-color: var(--scp-orange); color: #231400; }
body.scp-theme .hover\:bg-blue-600:hover *, body.scp-theme .hover\:bg-indigo-600:hover * { color: inherit; }
body.scp-theme .hover\:text-blue-600:hover { color: var(--scp-orange-deep); }
body.scp-theme .hover\:bg-slate-900:hover, body.scp-theme .hover\:bg-slate-950:hover { background-color: var(--scp-navy-2); }
body.scp-theme .hover\:bg-slate-50:hover { background-color: #fff3df; }
body.scp-theme .hover\:bg-slate-100:hover { background-color: #f6ead3; }
body.scp-theme .bg-slate-950 { background-color: var(--scp-navy); }
body.scp-theme .shadow-slate-200, body.scp-theme .shadow-slate-100 { --tw-shadow-color: rgba(120, 80, 20, .12); }
body.scp-theme .ring-slate-200 { --tw-ring-color: var(--scp-line); }
body.scp-theme .text-slate-700 { color: #2a3347; }
body.scp-theme .text-slate-300 { color: #c9c2b2; }
body.scp-theme .divide-slate-100 > :not([hidden]) ~ :not([hidden]) { border-color: var(--scp-line); }
body.scp-theme .border-slate-50 { border-color: #fbf1de; }

/* Cartes, boutons et zones principales */
body.scp-theme .bg-white { background-color: var(--scp-surface); }
body.scp-theme .shadow-xl, body.scp-theme .shadow-2xl, body.scp-theme .shadow-lg { box-shadow: 0 18px 44px rgba(120, 80, 20, .12); }
body.scp-theme button, body.scp-theme a.rounded-xl, body.scp-theme a.rounded-2xl { transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease; }
body.scp-theme button:not(:disabled):active { transform: scale(.98); }
body.scp-theme .bg-slate-900.text-white, body.scp-theme .bg-slate-900 .text-white { color: #fff; }
body.scp-theme .bg-red-600 { background-color: #d4603e; }
body.scp-theme table th { color: var(--scp-muted); }
body.scp-theme ::-webkit-scrollbar { width: 10px; height: 10px; }
body.scp-theme ::-webkit-scrollbar-thumb { background: #e7d6b8; border-radius: 99px; }

/* Choix « radio » stylés (peer-checked), boutons de fichier et variantes restantes */
body.scp-theme .peer:checked ~ .peer-checked\:bg-blue-600, body.scp-theme .peer:checked ~ .peer-checked\:bg-indigo-600 { background-color: var(--scp-orange); color: #231400; }
body.scp-theme .peer:checked ~ .peer-checked\:border-blue-600, body.scp-theme .peer:checked ~ .peer-checked\:border-indigo-600 { border-color: var(--scp-orange); }
body.scp-theme .peer:checked ~ .peer-checked\:bg-blue-50 { background-color: var(--scp-soft); }
body.scp-theme .peer:checked ~ .peer-checked\:text-blue-700 { color: var(--scp-orange-deep); }
body.scp-theme .file\:bg-blue-50::file-selector-button, body.scp-theme .file\:bg-blue-100::file-selector-button { background-color: var(--scp-soft); }
body.scp-theme .file\:text-blue-700::file-selector-button { color: var(--scp-orange-deep); }
body.scp-theme .hover\:bg-blue-700:hover { background-color: #ffbb55; color: #231400; }
body.scp-theme .hover\:bg-blue-50:hover { background-color: var(--scp-soft); }
body.scp-theme .hover\:border-blue-200:hover { border-color: var(--scp-line); }
body.scp-theme [class*="from-blue-50"] { background-image: linear-gradient(135deg, #fff8ee, var(--scp-soft)); }
body.scp-theme .text-purple-500, body.scp-theme .text-purple-600 { color: var(--scp-orange-deep); }
body.scp-theme .bg-purple-50 { background-color: var(--scp-soft); }
body.scp-theme .hover\:bg-purple-600:hover { background-color: var(--scp-orange); color: #231400; }

/* ---- v4 : connexion, inscription, mot de passe ---- */
body.scp-auth {
  background:
    radial-gradient(circle at 10% 6%, rgba(252, 216, 136, .6) 0 16%, transparent 16.5%),
    radial-gradient(circle at 94% 92%, rgba(252, 216, 136, .55) 0 21%, transparent 21.5%),
    radial-gradient(circle at 88% 12%, rgba(252, 216, 136, .35) 0 9%, transparent 9.5%),
    linear-gradient(180deg, #fff8ee, #fdecce);
  background-attachment: fixed;
}
body.scp-auth .scp-logo { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 15px; letter-spacing: -.01em; color: var(--scp-ink); text-decoration: none; margin-bottom: 10px; }
body.scp-auth .scp-logo svg { width: 36px; height: 36px; padding: 6px; border-radius: 12px; background: var(--scp-navy); flex: none; }
body.scp-auth .scp-tagline { margin: 6px 0 0; color: var(--scp-muted); font-size: 13px; font-weight: 500; }
body.scp-auth .rounded-\[2\.5rem\] { border-radius: 28px; border: 1px solid var(--scp-line); box-shadow: 0 30px 70px rgba(120, 80, 20, .16); }
body.scp-auth h2 { font-size: 1.9rem; letter-spacing: -.02em; }
body.scp-auth label, body.scp-auth .text-\[10px\] { letter-spacing: .08em; }
body.scp-auth button[type="submit"] { text-transform: none; letter-spacing: 0; font-size: 1rem; }
body.scp-auth a.text-blue-600, body.scp-auth a.text-blue-500 { color: var(--scp-orange-deep); }

/* Boutons orange dont le survol passait au marine : texte clair sur marine */
body.scp-theme .bg-blue-600.hover\:bg-slate-900:hover, body.scp-theme .bg-blue-600.hover\:bg-slate-950:hover { background-color: var(--scp-navy); color: #fff; }
body.scp-theme .bg-blue-600.hover\:bg-slate-900:hover *, body.scp-theme .bg-blue-600.hover\:bg-slate-950:hover * { color: inherit; }

/* ---- v5 : notifications (document signé) ---- */
.scp-toasts { position: fixed; top: 16px; right: 16px; z-index: 9993; display: grid; gap: 10px; width: min(360px, calc(100vw - 32px)); }
.scp-toast { position: relative; display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1px solid #f1dcc0; border-left: 5px solid #2fbf71; border-radius: 16px; padding: 14px 38px 14px 14px; box-shadow: 0 18px 44px rgba(10, 20, 43, .22); font-family: "Poppins", system-ui, sans-serif; animation: scptoast .35s ease; }
@keyframes scptoast { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
.scp-toast .ic { flex: none; width: 28px; height: 28px; border-radius: 50%; background: #2fbf71; color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 15px; }
.scp-toast .tx { display: grid; gap: 2px; font-size: 13px; line-height: 1.4; color: #0e1629; }
.scp-toast .tx b { font-size: 14px; }
.scp-toast .tx small { color: #5b6475; font-size: 11.5px; }
.scp-toast .voir { margin-top: 4px; font-weight: 700; font-size: 12.5px; color: #c9780a; text-decoration: none; }
.scp-toast .voir:hover { text-decoration: underline; }
.scp-toast .x { position: absolute; top: 6px; right: 8px; border: 0; background: transparent; font-size: 20px; line-height: 1; color: #8d8a80; cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .scp-toast { animation: none; } }

/* Bulles de discussion et accents violets passés à la charte */
body.scp-theme .bg-purple-600, body.scp-theme .bg-purple-500 { background-color: var(--scp-orange); color: #231400; }
body.scp-theme .hover\:bg-purple-700:hover { background-color: #ffbb55; }
body.scp-theme [class*="focus:ring-purple-"]:focus { --tw-ring-color: rgba(244, 169, 58, .45); }
body.scp-theme .text-purple-700 { color: var(--scp-orange-deep); }
