/* ═══════════════════════════════════════════════════════════════
   Composants de formulaire partagés — extraits des styles inline
   répétés à l'identique entre modules (calculator, casiers, …).
   But : un seul endroit pour le bouton-sélecteur d'infraction et la
   boîte de ligne éditable.
═══════════════════════════════════════════════════════════════ */

/* ─── Bouton ouvrant un picker (infraction, etc.) ─── */
.pick-btn{flex:1;text-align:left;cursor:pointer;display:flex;align-items:center;gap:8px}
.pick-btn--empty{color:var(--text3);font-style:italic}
.pick-btn--filled{padding:6px 10px}
.pick-btn-arrow{margin-left:auto;color:var(--text3);font-size:11px}
.pick-btn-cat{min-width:90px;justify-content:center;flex-shrink:0}
.pick-btn-body{flex:1;min-width:0;overflow:hidden}
.pick-btn-label{font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pick-btn-meta{font-size:11px;color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pick-btn-change{color:var(--text3);font-size:11px;flex-shrink:0}

/* ─── Boîte de ligne éditable (calc, infractions, …) ─── */
.edit-row{display:flex;flex-direction:column;gap:6px;background:rgba(15,22,40,0.4);padding:10px;border-radius:10px;border:1px solid var(--border);margin-bottom:8px}
.edit-row-top{display:flex;gap:6px;align-items:stretch}

/* ─── Petites utilités de champ ─── */
.field-grow{flex:1}
.field-noshrink{flex-shrink:0}
.form-empty-hint{font-size:12px;color:var(--text3);padding:8px 0}
