/* ============================================================
   PROSPECTO — Thème L'Agence Télécom (bleu nuit → rouge)
   Chargé APRÈS le CSS inline de chaque page : il gagne la cascade.
   Noms de variables identiques → le thème bascule partout.
   ============================================================ */

:root {
  --violet: #C41E1E;          /* primaire : rouge agence */
  --violet-dark: #8B1A1A;     /* hover rouge foncé */
  --violet-light: #FF5252;    /* accents rouges clairs */
  --bg: #0A1428;              /* bleu nuit */
  --card: #101D3A;            /* cartes bleu nuit clair */
  --text: #E8EDF7;            /* blanc bleuté */
  --muted: #8FA3C9;           /* texte secondaire */
  --border: #1E3460;          /* bordures */
  --ok: #2ecc71;
  --warn: #f39c12;
  --err: #e74c3c;
}

/* Fond général : léger dégradé bleu nuit (remplace le plat) */
body {
  background: linear-gradient(165deg, #0A1428 0%, #0B1730 55%, #0E1C3E 100%) fixed !important;
}

/* ============ HEADER + MARQUE ============ */
.header { background: linear-gradient(90deg, #0D1A33 0%, #122247 100%); border-bottom: 1px solid #C41E1E !important; }
.header h1 { color: #fff; }

.header .brand { display: flex; align-items: center; gap: 0.8rem; margin-right: 0.5rem; }
.header .brand img {
  height: 36px; width: auto; background: #fff;
  border-radius: 8px; padding: 4px 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.35);
}
.header .brand .brand-name {
  font-size: 1.3rem; font-weight: 800; letter-spacing: 0.02em;
  color: #fff; white-space: nowrap;
}
.header .brand .brand-name em { font-style: normal; color: #FF5252; }

/* ============ NAV / TABS (extensible : wrap si nouveaux onglets) ============ */
.tabs { flex-wrap: wrap; }
.tab-btn { padding: 0.65rem 1.4rem; font-size: 0.85rem; color: #AFC4E8; background: #0D1A33; border: 1px solid #1E3460; }
.tab-btn:hover { color: #fff; background: #16264A; }
.tab-btn.active {
  background: linear-gradient(135deg, #E02D2D 0%, #C41E1E 55%, #A01818 100%);
  border-color: #C41E1E; color: #fff;
  box-shadow: 0 -3px 12px rgba(196,30,30,0.35);
}

/* ============ BOUTONS PROSPECTO ============ */
button { cursor: pointer; transition: all 0.18s ease; }

/* --- Primaire : dégradé rouge, ombre, hover lift --- */
.btn, .search-row button, .bdd-form-btns .primary, .header button:not(.logout):not(.tab-btn),
.pagination button.active {
  background: linear-gradient(135deg, #E02D2D 0%, #C41E1E 55%, #A01818 100%) !important;
  border: none !important; color: #fff !important; font-weight: 700;
  border-radius: 10px; padding: 0.8rem 1.6rem;
  box-shadow: 0 4px 14px rgba(196,30,30,0.35);
}
.btn:hover, .search-row button:hover, .bdd-form-btns .primary:hover,
.header button:not(.logout):not(.tab-btn):hover, .pagination button.active:hover {
  background: linear-gradient(135deg, #F23A3A 0%, #D32F2F 100%) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(196,30,30,0.5);
}

/* --- Ghost / secondaire : contour rouge --- */
.btn.ghost, .bdd-form-btns .ghost, .search-row button.sec {
  background: rgba(196,30,30,0.08) !important;
  border: 1px solid #C41E1E !important;
  color: #FF8A8A !important;
  border-radius: 10px; padding: 0.8rem 1.6rem; font-weight: 600;
}
.btn.ghost:hover, .bdd-form-btns .ghost:hover, .search-row button.sec:hover {
  background: rgba(196,30,30,0.2) !important;
  color: #fff !important; border-color: #E02D2D !important;
}

/* --- Petits boutons ghost (Tout cocher…) --- */
.btn.small { padding: 0.35rem 0.7rem; font-size: 0.75rem; border-radius: 7px; }

/* --- Danger --- */
.btn.danger { background: linear-gradient(135deg, #E74C3C, #A02020) !important; border: none; }
.btn.danger:hover { filter: brightness(1.15); }

/* --- Export CSV (dashboard/CRM) : secondaire pour ne pas concurrencer l'action principale --- */
.export-btn {
  background: rgba(196,30,30,0.08) !important;
  border: 1px solid #C41E1E !important; color: #FF8A8A !important;
  border-radius: 9px; padding: 0.55rem 1.1rem; font-weight: 600;
}
.export-btn:hover {
  background: rgba(196,30,30,0.2) !important; color: #fff !important;
  border-color: #E02D2D !important;
}
.act-btn {
  background: rgba(42,74,128,0.18); border: 1px solid #2A4A80;
  color: #AFC4E8; border-radius: 8px; padding: 0.35rem 0.65rem; font-size: 0.85rem;
}
.act-btn:hover { border-color: #C41E1E; background: rgba(196,30,30,0.25); color: #fff; }

/* --- Pagination --- */
.pagination button { background: #0D1A33; border: 1px solid #1E3460; color: #AFC4E8; border-radius: 8px; padding: 0.55rem 1rem; }
.pagination button:hover:not(:disabled) { border-color: #C41E1E; color: #fff; }
.pagination button:disabled { opacity: 0.4; cursor: default; }

/* --- Navigation entre pages (header) --- */
.nav-btn, .header .nav-btn {
  background: rgba(42,74,128,0.15); border: 1px solid #2A4A80;
  color: #AFC4E8; border-radius: 9px; padding: 0.5rem 0.95rem;
  cursor: pointer; font-size: 0.82rem; font-weight: 600;
  text-decoration: none; display: inline-block; white-space: nowrap;
}
.nav-btn:hover, .header .nav-btn:hover {
  border-color: #C41E1E; color: #fff; background: rgba(196,30,30,0.18);
}

/* --- Déconnexion / actions header --- */
.header .logout { border: 1px solid #3A5A90; color: #AFC4E8; border-radius: 8px; padding: 0.5rem 1rem; }
.header .logout:hover { border-color: #C41E1E; color: #fff; background: rgba(196,30,30,0.15); }

/* --- Dropdowns fichiers-appel --- */
.dd-toggle {
  background: #0D1A33; border: 1px solid #2A4A80; color: #E8EDF7;
  border-radius: 10px; padding: 0.6rem 1.1rem; font-weight: 600;
}
.dd-toggle:hover { border-color: #C41E1E; background: #16264A; }

/* ============ CARTES / TABLES / FORMULAIRES ============ */
.stat-card, .search-box, .modal, .table-card, .results-info, .fiche-card {
  background: var(--card) !important; border-color: var(--border) !important;
}
.stat-card .value { color: #fff; }
.stat-card .label { color: #8FA3C9; }

table { background: var(--card) !important; border-color: var(--border) !important; }
th { background: #0D1A33 !important; color: #8FA3C9 !important; border-color: var(--border) !important; }
td { border-color: #13203E !important; }
tr:hover td { background: #16264A !important; }

.search-row input, .search-row select, .bdd-form input, .modal input, .modal select, input:not([type]), input[type="text"], input[type="password"], input[type="date"], input[type="number"], select, textarea {
  background: #0A1428 !important; border-color: #2A4A80 !important; color: #fff !important;
}
/* Anti-autofill Chrome/Safari : couvre le fond blanc injecté par le navigateur */
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #0A1428 inset !important;
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff;
  transition: background-color 9999s ease-in-out 0s;
}
.search-row input:focus, .search-row select:focus, input:focus, select:focus, textarea:focus {
  border-color: #C41E1E !important; outline: none;
}

.badge { background: #12351F; color: #5FE08A; }
.badge.no-tel { background: #3A1414; color: #FF8A8A; }

.table-card.selected { border-color: #C41E1E !important; background: #1A2B55 !important; }
.schema-bar .col-tag { background: #0D1A33; border-color: #1E3460; color: #8FA3C9; }
.schema-bar .col-tag.key { color: #FFD700; border-color: #6B5B00; }

.header .deps-badge { background: #0D1A33; border-color: #C41E1E !important; color: #FF8A8A !important; }

.loading .spinner { border-color: #1E3460; border-top-color: #C41E1E; }

.modal .close:hover { color: #FF5252; }
a { color: #FF8A8A; }
a:hover { color: #FFB3B3; }

/* ============ LOGIN ============ */
.login-card {
  border-color: #1E3460 !important;
  box-shadow: 0 24px 70px rgba(196,30,30,0.16), 0 4px 24px rgba(0,0,0,0.55) !important;
}
.login-card .logo {
  width: auto; height: auto; background: #fff !important;
  border-radius: 14px; padding: 12px 18px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.4); margin-bottom: 1.2rem;
}
.login-card .logo img { height: 64px; width: auto; display: block; }
.login-card button[type="submit"] {
  background: linear-gradient(135deg, #E02D2D 0%, #C41E1E 55%, #A01818 100%) !important;
  box-shadow: 0 4px 16px rgba(196,30,30,0.4); border-radius: 10px;
  font-weight: 700; padding: 1rem; letter-spacing: 0.02em;
}
.login-card button[type="submit"]:hover {
  filter: brightness(1.12); transform: translateY(-1px);
  box-shadow: 0 6px 22px rgba(196,30,30,0.55);
}

/* ============ SCROLLBAR ============ */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0A1428; }
::-webkit-scrollbar-thumb { background: #1E3460; border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: #C41E1E; }
