/* ============================================================
   ANIMA — Module Frais kilométriques (B8 lot terrain)
   ------------------------------------------------------------
   Déclaration de trajets + validation directeur + totaux/export.
   Réutilise tokens + primitives .glass / .auth-input / .sf-btn
   de styles.css. Aucune valeur hex en dur.
   ============================================================ */

.frk-shell{display:flex; flex-direction:column; gap:var(--sp-5); padding:var(--sp-4) 0 56px}
.frk-loading{color:var(--text-3); font-family:var(--font-mono); font-size:.82rem}
.frk-err-flash{color:var(--danger, #c66); font-size:.78rem; font-family:var(--font-mono); margin-left:var(--sp-2)}

/* ---------- Sections ---------- */
.frk-section{padding:var(--sp-5); border-radius:var(--rad-lg,14px); display:flex; flex-direction:column; gap:var(--sp-4)}
.frk-section-h{font-size:1rem; font-weight:600; color:var(--text); margin:0}
.frk-section-hrow{display:flex; align-items:baseline; gap:var(--sp-3); flex-wrap:wrap}
.frk-count{
  font-family:var(--font-mono); font-size:.72rem; color:var(--text-3);
  background:var(--bg-2); padding:2px 8px; border-radius:20px;
}
.frk-export{margin-left:auto}

/* ---------- Saisie ---------- */
.frk-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--sp-3)}
.frk-field-full{grid-column:1 / -1}
.frk-lbl{display:flex; flex-direction:column; gap:var(--sp-1); font-size:.82rem; color:var(--text-3)}
.frk-lbl .auth-input{width:100%}
.frk-actions{display:flex; gap:var(--sp-3); align-items:center}

/* ---------- Taux ---------- */
.frk-taux-row{display:flex; gap:var(--sp-3); align-items:flex-end; flex-wrap:wrap}
.frk-taux-inp{max-width:140px}

/* ---------- Liste ---------- */
.frk-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column}
.frk-row{
  display:flex; flex-direction:column; gap:var(--sp-1);
  padding:var(--sp-3) 0; border-bottom:1px solid var(--line, rgba(255,255,255,.06));
}
.frk-row:last-child{border-bottom:0}
.frk-row-top{display:flex; align-items:baseline; gap:var(--sp-3); flex-wrap:wrap}
.frk-date{font-size:.75rem; color:var(--text-3)}
.frk-auteur{font-size:.88rem; font-weight:600; color:var(--text)}
.frk-km{font-size:.82rem; color:var(--text)}
.frk-eur{font-size:.82rem; color:var(--accent)}
.frk-row-meta{font-size:.8rem; color:var(--text-3)}
.frk-row-actions{display:flex; gap:var(--sp-2); align-items:center; flex-wrap:wrap}
.frk-val-btn{font-size:.78rem; padding:4px 10px}
.frk-val-btn.on{color:var(--accent); border-color:var(--accent-glow, rgba(255,190,120,.4))}
.frk-badge-ok{font-size:.72rem; color:var(--accent)}
.frk-del{
  font-size:.78rem; padding:4px 8px; color:var(--text-3); cursor:pointer;
  background:none; border:1px solid var(--line, rgba(255,255,255,.1)); border-radius:8px;
}
.frk-del.is-armed{color:var(--danger, #c66); border-color:var(--danger, #c66)}

/* ---------- Totaux ---------- */
.frk-totaux{list-style:none; margin:0; padding:0; display:flex; flex-direction:column}
.frk-total-row{
  display:flex; align-items:baseline; gap:var(--sp-3);
  padding:var(--sp-2) 0; border-bottom:1px solid var(--line, rgba(255,255,255,.06));
}
.frk-total-row:last-child{border-bottom:0}
.frk-total-nom{flex:1; font-size:.88rem; font-weight:600; color:var(--text)}

@media (max-width:560px){
  .frk-grid{grid-template-columns:1fr}
}
