/*
 * Utility helpers — Gestionale Nuoto UISP
 * Sostituisce tutti gli style="" inline nei template (Regola 2.1)
 */

/* ── Display ──────────────────────────────────────────────────── */

.d-inline          { display: inline; }
.d-inline-block    { display: inline-block; }
.d-flex            { display: flex; }
.d-none            { display: none; }

/* ── Flex ─────────────────────────────────────────────────────── */

.flex-center        { display: flex; align-items: center; }
.flex-center-gap    { display: flex; align-items: center; gap: 16px; }
.flex-center-gap-sm { display: flex; align-items: center; gap: 8px; }
.flex-wrap          { flex-wrap: wrap; }
.flex-between       { display: flex; align-items: center; justify-content: space-between; }
.flex-end           { display: flex; align-items: center; justify-content: flex-end; }
.gap-sm             { gap: 6px; }
.gap-md             { gap: 10px; }
.gap-lg             { gap: 16px; }

.ml-auto            { margin-left: auto; }

/* ── Spacing ──────────────────────────────────────────────────── */

.mt-sm   { margin-top: 0.5rem; }
.mt-md   { margin-top: 1rem; }
.mt-lg   { margin-top: 1.5rem; }
.mb-sm   { margin-bottom: 0.5rem; }
.mb-md   { margin-bottom: 1rem; }
.mb-lg   { margin-bottom: 1.5rem; }

/* ── Sizing ───────────────────────────────────────────────────── */

.max-w-form    { max-width: 600px; }
.max-w-form-sm { max-width: 500px; }

/* Input piccolo inline (es. campo max_entries nei limiti) */
.input-inline-sm {
    width: 80px;
    display: inline-block;
}

/* ── Typography ───────────────────────────────────────────────── */

.text-sm       { font-size: var(--t-14); }
.text-xs       { font-size: var(--t-12); }
.text-bold     { font-weight: 600; }
.text-nowrap   { white-space: nowrap; }
.text-center   { text-align: center; }

/* ── Special ──────────────────────────────────────────────────── */

.overflow-x-auto { overflow-x: auto; }

.position-relative { position: relative; }

/* Form action row */
.form-actions-row {
    display: flex;
    gap: 10px;
    margin-top: 1rem;
}

/* ── Inline forms (delete/submit inside tables) ───────────────── */

.inline-form {
    display: inline;
}

/* ── Chart containers ─────────────────────────────────────────── */

.chart-container {
    height: 260px;
}

.chart-container-centered {
    height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.chart-canvas {
    max-height: 220px;
}

/* ── Quote / pre blocks ───────────────────────────────────────── */

.code-sample {
    font-size: var(--t-14);
    overflow-x: auto;
}

/* ── Dividers ─────────────────────────────────────────────────── */

.divider {
    border: none;
    border-top: 1px solid var(--c-sunken);
    margin: 24px 0;
}

/* ── Muted display (read-only blocks) ─────────────────────────── */

.display-block {
    background: var(--c-ground);
    min-height: auto;
    padding: 12px;
}

/* ── Threshold / badge rows ───────────────────────────────────── */

.threshold-badge-row {
    display: flex;
    gap: 6px;
    margin-left: auto;
}

/* ── Table column widths ──────────────────────────────────────── */

.col-pos { width: 60px; }

/* ── Audit widget ─────────────────────────────────────────────── */

.audit-widget-name {
    font-weight: 600;
    font-size: var(--t-14);
}

.audit-widget-detail {
    font-size: var(--t-14);
    max-width: 250px;
}

.audit-widget-empty {
    text-align: center;
    color: var(--c-ink-subtle);
    padding: 24px;
}

/* ── Hint text ────────────────────────────────────────────────── */

.form-hint {
    font-size: var(--t-14);
    color: var(--c-ink-subtle);
    margin-top: 0.5rem;
}

/* ── No race row for thresholds ───────────────────────────────── */

.no-threshold-hint {
    margin-bottom: 0.75rem;
}

.no-threshold-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}
