/* ================================================================
   components.css — clase de componente comune, definite GLOBAL o
   singură dată (în app veche erau redefinite ad-hoc în blocul <style>
   al fiecărei pagini → inconsecvențe + duplicare). Încărcat după
   style.css în layout. Valorile respectă design-ul original.
   ================================================================ */

/* ── Card ── */
.card {
    background: #fff;
    border: 1px solid var(--gray-200, #e2e8f0);
    border-radius: var(--card-radius, 12px);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0,0,0,.06));
}

/* ── Formulare ── */
.form-control {
    width: 100%;
    padding: 9px 13px;
    border: 1.5px solid var(--gray-200, #e2e8f0);
    border-radius: 8px;
    font-size: 14px;
    color: var(--gray-900, #0f172a);
    background: #fff;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
}
.form-control:focus {
    outline: none;
    border-color: var(--primary, #4f46e5);
    box-shadow: 0 0 0 3px var(--primary-muted, rgba(79,70,229,.12));
}
.form-control:disabled { background: var(--gray-50, #f8fafc); color: var(--gray-500, #64748b); }
textarea.form-control { resize: vertical; min-height: 64px; }

.form-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--gray-700, #334155);
    margin-bottom: 6px;
}
.form-group { margin-bottom: 16px; }

/* ── Badge generic ── */
.badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
}

/* ── Indicator de restanțe pe client (listă, modal, creare cursă) ── */
.ovd-badge { display:inline-flex; align-items:center; gap:4px; padding:3px 7px; border-radius:6px; font-size:11px; font-weight:600; border:1px solid; white-space:nowrap; }
.ovd-da { background:#fef2f2; color:#b91c1c; border-color:#fecaca; }
.ovd-nu { background:#f0fdf4; color:#15803d; border-color:#bbf7d0; }
.ovd-necunoscut { background:#f8fafc; color:#64748b; border-color:#e2e8f0; }

/* ── Antet pagină (fallback dacă lipsesc din style.css) ── */
.page-subtitle { color: var(--gray-500, #64748b); font-size: 13px; }
.page-icon { display: inline-flex; vertical-align: middle; }
.page-icon svg { width: 22px; height: 22px; }

/* ── Utilitare tabel responsive ── */
.table-responsive { overflow-x: auto; }
