/* ════════════════════════════════════════════════════════════════════════════
   ZK EVENT — base.css : variables, reset, typographie globale
   ════════════════════════════════════════════════════════════════════════════ */

:root {
  --navy: #1e3a6e;
  --navy-dark: #0f2870;
  --orange: #f0a030;
  --teal: #00808c;
  --red: #dc3545;
  --green: #28a745;
  --gold: #c9a14c;
  --border: #e0e8f4;
  --muted: #6b7a99;
  --bg-soft: #f0f4fb;
  /* ADEX */
  --adex-primary: #003d47;
  --adex-primary-dark: #001f25;
  --adex-accent: #00c4d2;
  --adex-accent-dark: #009eab;
}

*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;font-family:'Montserrat','Segoe UI',Arial,sans-serif;color:#222;background:var(--bg-soft);line-height:1.5;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--navy);text-decoration:none;}
a:hover{text-decoration:underline;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}

/* Scrollbars */
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(30,58,110,.25);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:rgba(30,58,110,.45);}

/* Utilitaires */
.hidden{display:none!important;}
.text-center{text-align:center;}
.text-muted{color:var(--muted);}
.flex{display:flex;}
.flex-col{flex-direction:column;}
.items-center{align-items:center;}
.justify-center{justify-content:center;}
.justify-between{justify-content:space-between;}
.gap-1{gap:4px;}.gap-2{gap:8px;}.gap-3{gap:12px;}.gap-4{gap:16px;}
.mt-1{margin-top:8px;}.mt-2{margin-top:16px;}.mt-3{margin-top:24px;}

/* Animations communes */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeSlideIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes spin{to{transform:rotate(360deg)}}

/* Empty state */
.empty-state{text-align:center;padding:40px 20px;color:var(--muted);}
.empty-state .ic{font-size:42px;margin-bottom:10px;display:block;}
.empty-state p{font-size:13px;}

/* Loader */
.loader-overlay{position:fixed;inset:0;background:rgba(15,21,32,.75);display:flex;align-items:center;justify-content:center;z-index:9999;}
.loader-box{background:#fff;padding:24px 32px;border-radius:12px;display:flex;align-items:center;gap:14px;}
.spinner{width:22px;height:22px;border:3px solid var(--border);border-top-color:var(--navy);border-radius:50%;animation:spin .8s linear infinite;}
