:root {
    --rosso: #c8102e;
    --rosso-scuro: #a00d25;
}

html { font-size: 15px; }
body { background: #f4f5f7; }

.bg-rosso { background-color: var(--rosso) !important; }

.card-rossa > .card-header {
    background: var(--rosso);
    color: #fff;
    font-weight: 500;
}

.btn-rosso { background: var(--rosso); border-color: var(--rosso); color: #fff; }
.btn-rosso:hover, .btn-rosso:focus { background: var(--rosso-scuro); border-color: var(--rosso-scuro); color: #fff; }

.numero-rapporto { color: var(--rosso); font-weight: 600; }

.sezione-titolo {
    border-bottom: 1px solid #dee2e6;
    padding-bottom: .3rem;
    margin: 1.2rem 0 .8rem;
    font-size: 1.05rem;
    font-weight: 500;
}

/* Riquadri firma */
.firma-box {
    position: relative;
    border: 1px dashed #adb5bd;
    border-radius: .375rem;
    background: #fff;
    aspect-ratio: 3 / 1;
    width: 100%;
    touch-action: none;
}
.firma-box canvas { width: 100%; height: 100%; display: block; cursor: crosshair; }
.firma-box::after {
    content: "";
    position: absolute;
    left: 8%; right: 8%; bottom: 18%;
    border-bottom: 1px solid #ced4da;
    pointer-events: none;
}

/* Login */
.login-wrap { max-width: 400px; margin: 8vh auto 0; }

/* Elenco rapporti su smartphone: tabella compatta */
@media (max-width: 767.98px) {
    html { font-size: 14px; }
    .table-rapporti .col-opz { display: none; }
    .barra-azioni { position: sticky; bottom: 0; background: #fff; padding: .75rem 0; z-index: 10; }
    .barra-azioni .btn { flex: 1; }
}
