:root{
  /* Palette dérivée du logo ALPAGES (orange / or sur noir) */
  --ga-primary:#E4661F; --ga-primary-2:#C4531A; --ga-accent:#F2C500;
  --ga-ink:#1f2a37; --ga-muted:#6b7684; --ga-bg:#f4f6fa; --ga-card:#ffffff;
}
*{box-sizing:border-box}
body{background:var(--ga-bg);color:var(--ga-ink);font-family:"Inter",system-ui,Segoe UI,Roboto,sans-serif}

/* ---------- Layout applicatif ---------- */
.ga-shell{display:flex;min-height:100vh}
.ga-sidebar{width:250px;background:linear-gradient(180deg,var(--ga-primary),#5a2408);color:#ecdfd6;
  position:fixed;top:0;bottom:0;left:0;display:flex;flex-direction:column;padding:18px 12px;z-index:20}
.ga-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:1.15rem;padding:6px 10px 16px}
.ga-brand .dot{width:30px;height:30px;border-radius:8px;background:var(--ga-accent);display:grid;place-items:center;color:#12395f}
.ga-brand .brand-logo{width:36px;height:36px;border-radius:9px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.ga-brand .brand-logo img{width:100%;height:100%;object-fit:contain}
.ga-online{display:flex;align-items:center;gap:7px;font-size:.78rem;color:#ecdfd6;opacity:.92;padding:0 12px 12px}
.pulse{width:9px;height:9px;border-radius:50%;background:#28c76f;flex:0 0 auto;
  box-shadow:0 0 0 0 rgba(40,199,111,.6);animation:ga-pulse 2s infinite}
@keyframes ga-pulse{0%{box-shadow:0 0 0 0 rgba(40,199,111,.5)}
  70%{box-shadow:0 0 0 7px rgba(40,199,111,0)}100%{box-shadow:0 0 0 0 rgba(40,199,111,0)}}
.ga-nav{display:flex;flex-direction:column;gap:3px;overflow:auto}
.ga-nav a{display:flex;align-items:center;gap:11px;color:#ecdfd6;text-decoration:none;padding:10px 12px;border-radius:9px;font-size:.93rem}
.ga-nav a i{font-size:1.05rem;opacity:.9}
.ga-nav a:hover{background:rgba(255,255,255,.10);color:#fff}
.ga-nav a.active{background:var(--ga-accent);color:#2b0a0c;font-weight:600}
.ga-nav-group{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;
  color:#e6b6a6;padding:16px 12px 6px}
.ga-nav .ga-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.ga-main{flex:1;margin-left:250px;display:flex;flex-direction:column;min-width:0}
.ga-topbar{height:64px;background:#fff;border-bottom:1px solid #e6eaf0;display:flex;align-items:center;
  justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:10}
.ga-topbar .title{font-weight:700}
.ga-content{padding:22px}
.ga-user{display:flex;align-items:center;gap:10px}
.ga-avatar{width:36px;height:36px;border-radius:50%;background:var(--ga-primary);color:#fff;display:grid;place-items:center;font-weight:600}

/* ---------- Cartes stats ---------- */
.stat{background:var(--ga-card);border:1px solid #e9edf3;border-radius:14px;padding:18px;height:100%}
.stat .ico{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;font-size:1.25rem;margin-bottom:10px}
.stat .val{font-size:1.7rem;font-weight:700;line-height:1}
.stat .lbl{color:var(--ga-muted);font-size:.85rem;margin-top:4px}
.i-blue{background:#e7f0fb;color:#1b5389}.i-amber{background:#fdf1d6;color:#a9770a}
.i-green{background:#e6f5ec;color:#1e7a46}.i-violet{background:#efe7f7;color:#6f3aa0}
.card-soft{background:#fff;border:1px solid #e9edf3;border-radius:14px}

/* ---------- Login ---------- */
.ga-login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.ga-login .form-side{display:flex;align-items:center;justify-content:center;padding:40px}
.ga-login .form-box{width:100%;max-width:400px}
.ga-login .brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.4rem;color:var(--ga-primary);margin-bottom:6px}
.ga-login .brand .dot{width:34px;height:34px;border-radius:9px;background:var(--ga-accent);display:grid;place-items:center;color:#12395f}
.ga-login .brand .brand-logo-lg{display:inline-grid;place-items:center}
.ga-login .brand .brand-logo-lg img{height:52px;width:auto;display:block}
.ga-login .media-side{position:relative;color:#fff;overflow:hidden}
.ga-login .media-side .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.ga-login .media-side .veil{position:absolute;inset:0;background:linear-gradient(160deg,rgba(42,10,12,.86),rgba(20,6,8,.80))}
.ga-login .media-side .inner{position:relative;padding:52px 46px;height:100%;display:flex;flex-direction:column;justify-content:center}
.ga-login .media-side h2{font-weight:800;font-size:1.9rem;margin-bottom:8px}
.ga-login .modlist{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
.ga-login .mod{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);border-radius:11px;padding:11px 13px}
.ga-login .mod i{font-size:1.2rem;color:var(--ga-accent)}
.ga-login .mod span{font-size:.9rem}
@media (max-width:900px){.ga-login{grid-template-columns:1fr}.ga-login .media-side{display:none}}
@media (max-width:992px){.ga-sidebar{transform:translateX(-100%);transition:.2s}.ga-sidebar.open{transform:none}.ga-main{margin-left:0}}

/* ---------- État d'impression : noir & blanc, paysage, compact ---------- */
@media print{
  @page{ size:A4 landscape; margin:7mm; }
  .ga-sidebar,.ga-topbar,.btn,.no-print,.ca-action,.ga-genre-ico{display:none !important}
  .ga-main{margin-left:0 !important}
  .ga-content{padding:0 !important}
  body{background:#fff !important;color:#000 !important;font-family:Arial,Helvetica,sans-serif}
  .card-soft{border:none !important;box-shadow:none !important;padding:0 !important}

  /* En-tête compact */
  .ca-xl-title{font-size:12pt;margin-bottom:3px;color:#000}
  .ca-xl-meta{font-size:9pt;gap:22px;margin-bottom:5px}

  /* Tableau : tout en noir sur blanc, très dense */
  .ca-xl-table{width:100%;border-collapse:collapse}
  .ca-xl-table th,.ca-xl-table td{
    font-size:7.5pt !important;line-height:1.15 !important;padding:1px 3px !important;
    border:.5pt solid #000 !important;color:#000 !important;background:#fff !important}
  .ca-xl-table thead{display:table-header-group}   /* en-tête répété à chaque page */
  .ca-xl-table tfoot{display:table-footer-group}
  .ca-xl-table tr,.ca-xl-table td,.ca-xl-table th{page-break-inside:avoid}
  .ca-xl-table .ca-aff{min-width:0 !important;max-width:none !important}
  .ca-xl-table tfoot .ca-total td{font-weight:700}
  a[href]:after{content:"" !important}
}

/* ================= Formulaires — style axelit ================= */
:root{--ga-danger:#e5484d;--ga-danger-2:#c62828;--ga-border:#e4e9f0;--ga-field-bg:#fff}

/* Carte de formulaire à en-tête titré (axelit) */
.form-card{--mod-bg:#F6F6F6;background:var(--ga-card);border:1px solid var(--ga-border);border-radius:16px;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.05);overflow:hidden;margin-bottom:22px}
.form-card__header{display:flex;align-items:center;gap:10px;padding:16px 22px;
  border-bottom:1px solid var(--ga-border);background:var(--mod-bg)}
.form-card__header .ico{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;
  background:#e7f0fb;color:var(--ga-primary-2);font-size:1.05rem}
.form-card__header h5{margin:0;font-weight:700;font-size:1.02rem;color:var(--ga-ink);display:flex;align-items:center;gap:8px}
.ga-genre-ico{height:26px;width:26px;object-fit:contain;vertical-align:middle}
.form-card__header .sub{margin:0;font-size:.82rem;color:var(--ga-muted)}
.form-card__body{padding:22px;background:var(--mod-bg)}
/* Chaque rubrique du formulaire dans un cadre arrondi blanc */
.rubrique{background:#fff;border:1px solid var(--ga-border);border-radius:12px;padding:14px 16px;height:100%}
.form-card__footer{padding:16px 22px;border-top:1px solid var(--ga-border);background:var(--mod-bg);
  display:flex;gap:10px;align-items:center}

/* Champs (axelit) — appliqués globalement à tous les formulaires */
.form-label{font-size:.85rem;font-weight:600;color:var(--ga-ink);margin-bottom:.4rem}
.form-control,.form-select,.form-control:focus,.form-select:focus{box-shadow:none}
.form-control,.form-select{background-color:var(--ga-field-bg);border:1px solid var(--ga-border);
  border-radius:10px;padding:.55rem .85rem;font-size:.92rem;color:var(--ga-ink);transition:border-color .15s,box-shadow .15s}
textarea.form-control{border-radius:12px}
.form-control::placeholder{color:#9aa6b4}
.form-control:focus,.form-select:focus{border-color:var(--ga-primary-2);
  box-shadow:0 0 0 3px rgba(228,102,31,.18)}
.form-control:disabled,.form-select:disabled{background-color:#f3f5f9}
.form-text{font-size:.8rem;color:var(--ga-muted)}
.form-check-input{border-color:#cbd3de}
.form-check-input:checked{background-color:var(--ga-primary-2);border-color:var(--ga-primary-2)}
.form-check-input:focus{border-color:var(--ga-primary-2);box-shadow:0 0 0 3px rgba(228,102,31,.18)}

/* Boutons cohérents avec la charte */
.btn{border-radius:10px;font-weight:600}
.btn-ga-primary{background:var(--ga-primary);color:#fff;border:1px solid var(--ga-primary)}
.btn-ga-primary:hover{background:var(--ga-primary-2);color:#fff}

/* ---------- Zone de danger (axelit) ---------- */
.danger-zone{background:var(--ga-card);border:1px solid #f3c9cb;border-radius:16px;overflow:hidden;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(197,26,26,.06)}
.danger-zone__header{display:flex;align-items:center;gap:10px;padding:14px 20px;
  background:linear-gradient(90deg,rgba(229,72,77,.12),rgba(229,72,77,.04));border-bottom:1px solid #f3c9cb}
.danger-zone__header .ico{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;
  background:var(--ga-danger);color:#fff;font-size:1rem}
.danger-zone__header h6{margin:0;font-weight:700;color:var(--ga-danger-2);font-size:.98rem}
.danger-zone__body{padding:18px 20px}
.danger-zone__body .lead-txt{font-size:.85rem;color:var(--ga-muted);margin-bottom:14px}

/* Liste : cadre arrondi blanc + en-tête titré + corps coloré par module */
.ga-list-card{--mod-bg:#F6F6F6;overflow:hidden}
.ga-list-head{display:flex;align-items:center;gap:9px;padding:12px 20px;
  border-bottom:1px solid #e9edf3;background:var(--mod-bg)}
.ga-list-title{display:inline-flex;align-items:center;gap:9px;font-weight:700;
  text-transform:uppercase;letter-spacing:.02em;color:var(--ga-ink)}
.ga-list-title i{color:var(--ga-primary-2)}
.ga-list-pager .page-link{color:var(--ga-primary-2)}
.ga-list-pager .page-item.active .page-link{background:var(--ga-primary);border-color:var(--ga-primary);color:#fff}
.ga-list-body{background:var(--mod-bg);padding:16px}
.ga-list-body .table{--bs-table-bg:#fff;background:#fff}

/* ---- Couleurs spécifiques par module (séparation des sections) ---- */
[data-mod="clients"],[data-mod="offres"],[data-mod="commandes"],[data-mod="type_intervention"]{--mod-bg:#E8F0F9}
[data-mod="missions"],[data-mod="type_mission"],[data-mod="affaires"]{--mod-bg:#EAF7EE}
[data-mod="personnel"],[data-mod="services"],[data-mod="vehicules"]{--mod-bg:#FDECEC}
[data-mod="carnets"],[data-mod="notes_frais"],[data-mod="taux_missions"]{--mod-bg:#FBF3E5}

/* Description tronquée (…) dans les listes */
.ga-desc{max-width:340px;display:block}

/* Alerte « light success » (style axelit) */
.alert-light-success{background-color:#e6f7ee;border:1px solid #c9ecd8;color:#1e7a46;border-radius:10px}
.alert-light-success .alert-link{color:#155e37;font-weight:700}
