/* Ardila AO — design system commun (tokens Ardila : indigo / rouge / vert) */

:root{
  --indigo:#3b3f92; --indigo-d:#2f327a; --indigo-l:#5257b5;
  --red:#cf3026; --peri:#a9acda; --green:#2e9e76; --amber:#c98a12;
  --ink:#1c1e2e; --body:#33364a; --muted:#7a7d92;
  --line:#e6e7f0; --soft:#f6f7fc; --bg:#eef0f7; --card:#fff;
  --radius:12px; --radius-lg:16px;
  --shadow:0 10px 30px rgba(40,46,92,.10);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--body);
  font-family:'Mulish',system-ui,-apple-system,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Poppins',system-ui,sans-serif;color:var(--ink);margin:0;line-height:1.25}
a{color:var(--indigo)}
code,.nm{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}

/* ---------- Structure ---------- */
.top{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.top .in{max-width:1240px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.logo{font-family:'Poppins';font-weight:800;font-size:21px;color:var(--indigo);letter-spacing:-.5px;text-decoration:none}
.logo b{color:var(--red)}
.top .sep{width:1px;height:22px;background:var(--line)}
.top .tagline{font-size:13px;color:var(--muted)}
.top .right{margin-left:auto;display:flex;align-items:center;gap:10px}
/* 60px = hauteur mesurée de .top ; en dessous, le contenu défile entre les deux barres collées. */
.tabs{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:60px;z-index:49}
.tabs .in{max-width:1240px;margin:0 auto;padding:0 24px;display:flex;gap:4px;overflow-x:auto}
.tab{font-family:'Poppins';font-size:13.5px;font-weight:600;color:var(--muted);background:none;border:none;
  border-bottom:3px solid transparent;padding:13px 15px;cursor:pointer;white-space:nowrap}
.tab:hover{color:var(--indigo)}
.tab.on{color:var(--indigo);border-bottom-color:var(--indigo)}
.wrap{max-width:1240px;margin:0 auto;padding:24px 24px 70px}

/* ---------- Cartes ---------- */
.card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:22px;margin-bottom:18px}
.card-head{display:flex;align-items:center;gap:11px;margin-bottom:16px;flex-wrap:wrap}
.card-head h2{font-size:16.5px;font-weight:700}
.card-head .sub{font-size:12.5px;color:var(--muted);margin-left:auto}

/* ---------- Boutons & champs ---------- */
.btn{font-family:'Poppins';font-size:14px;font-weight:600;padding:10px 20px;border-radius:999px;
  border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:.15s}
.btn-primary{background:var(--indigo);color:#fff}.btn-primary:hover{background:var(--indigo-l)}
.btn-ghost{background:transparent;color:var(--indigo);border-color:var(--line)}.btn-ghost:hover{background:var(--soft)}
.btn-sm{font-size:12.5px;padding:6px 14px}
.btn:disabled{opacity:.45;cursor:not-allowed}
input[type=text],input[type=password],input[type=date],textarea,select{
  font-family:'Mulish',sans-serif;font-size:13.5px;padding:9px 12px;border:1px solid var(--line);
  border-radius:9px;background:#fff;color:var(--body);width:100%}
input:focus,textarea:focus,select:focus{outline:2px solid var(--peri);outline-offset:-1px;border-color:var(--indigo)}
label{display:block;font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:5px}
.field{margin-bottom:14px}

/* ---------- Badges ---------- */
.tag{display:inline-block;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px}
.tag-green{background:#e8f6f0;color:#1f7a58}.tag-red{background:#fdeceb;color:#b52a21}
.tag-amber{background:#fdf4e3;color:#96660a}.tag-indigo{background:#ecedf8;color:var(--indigo-d)}
.tag-grey{background:#f0f1f5;color:var(--muted)}

/* ---------- Tableaux ---------- */
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{text-align:left;font-family:'Poppins';font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;
  color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}
td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:none}
.scroll{overflow-x:auto}

/* ---------- Blocs d'information ---------- */
.note{border-left:3px solid var(--indigo);background:var(--soft);padding:12px 15px;
  border-radius:0 var(--radius) var(--radius) 0;font-size:13.5px;margin:14px 0}
.note.warn{border-left-color:var(--amber);background:#fdf9ef}
.note.bad{border-left-color:var(--red);background:#fdf3f2}
.note.good{border-left-color:var(--green);background:#f0f8f5}
.note b{color:var(--ink)}

/* ---------- Grilles & statistiques ---------- */
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px}
.stat{background:var(--soft);border-radius:var(--radius);padding:14px 16px}
.stat .v{font-family:'Poppins';font-size:23px;font-weight:700;color:var(--indigo);line-height:1.15}
.stat .l{font-size:12px;color:var(--muted);margin-top:3px}
.kv{display:grid;grid-template-columns:190px 1fr;gap:9px 16px;font-size:13.5px}
.kv dt{font-weight:700;color:var(--ink)}
.kv dd{margin:0}

/* ---------- Dépôt de fichier ---------- */
.drop{border:2px dashed var(--peri);border-radius:var(--radius-lg);padding:44px 24px;text-align:center;
  background:var(--soft);cursor:pointer;transition:.15s}
.drop:hover,.drop.over{border-color:var(--indigo);background:#eceef9}
.drop .ic{font-size:38px;line-height:1}
.drop h3{margin:12px 0 5px;font-size:16px}
.bar{height:7px;background:var(--line);border-radius:99px;overflow:hidden;margin:8px 0}
.bar span{display:block;height:100%;background:var(--indigo);border-radius:99px;transition:width .3s}

/* ---------- Listes de contrôle ---------- */
.chk{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.chk:last-child{border-bottom:none}
.chk .bx{width:18px;height:18px;border-radius:5px;flex:none;display:grid;place-items:center;
  font-size:11px;font-weight:700;color:#fff;margin-top:2px}
.chk .bx.ok{background:var(--green)}.chk .bx.ko{background:var(--red)}.chk .bx.wa{background:var(--amber)}
.chk .t{flex:1}.chk .t b{color:var(--ink)}

/* ---------- Critères pondérés ---------- */
.crit{display:flex;align-items:center;gap:11px;padding:7px 0;font-size:13.5px}
.crit .lbl{flex:1}
.crit .pc{font-family:'Poppins';font-weight:700;font-size:13px;width:52px;text-align:right;color:var(--indigo)}
.crit .track{width:140px;height:8px;background:var(--line);border-radius:99px;overflow:hidden;flex:none}
.crit .track i{display:block;height:100%;background:var(--indigo);border-radius:99px}
.crit.hi .track i{background:var(--red)}.crit.hi .pc{color:var(--red)}

/* ---------- Divers ---------- */
.muted{color:var(--muted)}
.small{font-size:12.5px}
.hidden{display:none}
.src{font-size:11.5px;color:var(--muted);font-style:italic}
.spin{display:inline-block;width:15px;height:15px;border:2px solid var(--line);
  border-top-color:var(--indigo);border-radius:50%;animation:sp .7s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.gate{max-width:390px;margin:70px auto;text-align:center}
@media(max-width:640px){.kv{grid-template-columns:1fr}.crit .track{width:70px}}
