/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-u97peyizev] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main[b-u97peyizev] {
    flex: 1;
    min-width: 0;
}

.sidebar[b-u97peyizev] {
    background: var(--surface);
    border-bottom: 1px solid var(--line);
}

.content[b-u97peyizev] {
    padding: 1.25rem 1rem 3rem;
    max-width: 1200px;
}

@media (min-width: 641px) {
    .page[b-u97peyizev] {
        flex-direction: row;
    }

    .sidebar[b-u97peyizev] {
        width: 236px;
        height: 100vh;
        position: sticky;
        top: 0;
        flex: none;
        border-bottom: 0;
        border-right: 1px solid var(--line);
    }

    .content[b-u97peyizev] {
        padding: 2rem 2rem 3rem;
    }
}

#blazor-error-ui[b-u97peyizev] {
    color-scheme: light only;
    background: var(--due-soft);
    color: var(--due);
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-u97peyizev] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.brand-row[b-enz6zjnvbn] {
    position: relative;
}

.brand[b-enz6zjnvbn] {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .9rem 4.5rem .9rem 1rem;
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    font-size: .98rem;
    line-height: 1.2;
    letter-spacing: -.01em;
}

.navbar-toggler[b-enz6zjnvbn] {
    appearance: none;
    cursor: pointer;
    width: 2.75rem;
    height: 2.4rem;
    position: absolute;
    top: .7rem;
    right: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--r-ctl);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%235f5f69' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M5 9h20M5 15h20M5 21h20'/%3e%3c/svg%3e") no-repeat center/1.3rem var(--surface);
}

    .navbar-toggler:checked[b-enz6zjnvbn] {
        background-color: var(--sunken);
    }

    .navbar-toggler:focus-visible[b-enz6zjnvbn] {
        outline: 2px solid var(--accent);
        outline-offset: 2px;
    }

.nav-scrollable[b-enz6zjnvbn] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-enz6zjnvbn] {
    display: block;
}

.nav-list[b-enz6zjnvbn] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: .25rem .75rem 1rem;
}

    .nav-list hr[b-enz6zjnvbn] {
        border: 0;
        border-top: 1px solid var(--line);
        margin: .5rem .25rem;
        opacity: 1;
    }

.nav-list[b-enz6zjnvbn]  .nav-link {
    display: block;
    width: 100%;
    text-align: left;
    color: var(--muted);
    background: none;
    border: none;
    border-radius: var(--r-ctl);
    padding: .5rem .65rem;
    font-size: .92rem;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    .nav-list[b-enz6zjnvbn]  .nav-link:hover {
        background: var(--sunken);
        color: var(--ink);
    }

    .nav-list[b-enz6zjnvbn]  .nav-link:focus-visible {
        outline: 2px solid var(--accent);
        outline-offset: -2px;
    }

.nav-list[b-enz6zjnvbn]  a.active {
    background: var(--sunken);
    color: var(--ink);
    font-weight: 600;
}

@media (min-width: 641px) {
    .brand[b-enz6zjnvbn] {
        padding: 1.1rem 1rem 1rem 1.1rem;
    }

    .navbar-toggler[b-enz6zjnvbn] {
        display: none;
    }

    .nav-scrollable[b-enz6zjnvbn] {
        display: block;
        height: calc(100vh - 4.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-8t8yxpfdct],
.components-reconnect-repeated-attempt-visible[b-8t8yxpfdct],
.components-reconnect-failed-visible[b-8t8yxpfdct],
.components-pause-visible[b-8t8yxpfdct],
.components-resume-failed-visible[b-8t8yxpfdct],
.components-rejoining-animation[b-8t8yxpfdct] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-8t8yxpfdct],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-8t8yxpfdct],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-8t8yxpfdct],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-8t8yxpfdct],
#components-reconnect-modal.components-reconnect-retrying[b-8t8yxpfdct],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-8t8yxpfdct],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-8t8yxpfdct],
#components-reconnect-modal.components-reconnect-failed[b-8t8yxpfdct],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-8t8yxpfdct] {
    display: block;
}


#components-reconnect-modal[b-8t8yxpfdct] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-8t8yxpfdct 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-8t8yxpfdct 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-8t8yxpfdct 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-8t8yxpfdct]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-8t8yxpfdct 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-8t8yxpfdct {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-8t8yxpfdct {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-8t8yxpfdct {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-8t8yxpfdct] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-8t8yxpfdct] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-8t8yxpfdct] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-8t8yxpfdct] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-8t8yxpfdct] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-8t8yxpfdct] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-8t8yxpfdct] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-8t8yxpfdct 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-8t8yxpfdct] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-8t8yxpfdct {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Gestore/ClienteDettaglio.razor.rz.scp.css */
.back[b-i71ahwwboe] {
    display: inline-block;
    font-size: .88rem;
    color: var(--muted);
    text-decoration: none;
    margin-bottom: .5rem;
}

    .back:hover[b-i71ahwwboe] {
        color: var(--ink);
    }

.head[b-i71ahwwboe] {
    margin-bottom: 1.1rem;
}

    .head h1[b-i71ahwwboe] {
        margin: 0;
        font-size: clamp(1.8rem, 4vw, 2.4rem);
    }

.meta[b-i71ahwwboe] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    align-items: center;
    margin-top: .5rem;
}

.cols[b-i71ahwwboe] {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 1.1rem;
    align-items: start;
}

@media (max-width: 1100px) {
    .cols[b-i71ahwwboe] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.justify-self-start[b-i71ahwwboe] {
    justify-self: start;
}

/* saldo: il numero è la notizia */
.balance[b-i71ahwwboe] {
    display: grid;
    gap: .25rem;
}

    .balance .amt[b-i71ahwwboe] {
        font: 600 2.3rem/1.05 var(--font);
        letter-spacing: -.03em;
    }

        .balance .amt.due[b-i71ahwwboe] {
            color: var(--due);
        }

        .balance .amt.ok[b-i71ahwwboe] {
            color: var(--ok);
        }

    .balance p[b-i71ahwwboe] {
        margin: 0;
        color: var(--muted);
        font-size: .9rem;
        max-width: 50ch;
    }

/* ultimi 12 mesi */
.months[b-i71ahwwboe] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 3px;
}

@media (max-width: 560px) {
    .months[b-i71ahwwboe] {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

.m[b-i71ahwwboe] {
    display: grid;
    gap: 4px;
    justify-items: center;
    font-size: .7rem;
    color: var(--muted);
}

    .m i[b-i71ahwwboe] {
        display: block;
        width: 100%;
        height: 26px;
        border-radius: 5px;
        background: var(--ok-soft);
    }

    .m.owed i[b-i71ahwwboe] {
        background: var(--due);
    }

    .m.part i[b-i71ahwwboe] {
        background: linear-gradient(0deg, var(--due) 0 50%, var(--ok-soft) 50%);
    }

    .m.now span[b-i71ahwwboe] {
        color: var(--ink);
        font-weight: 600;
    }

.legend[b-i71ahwwboe] {
    display: flex;
    flex-wrap: wrap;
    gap: .9rem;
    font-size: .78rem;
    color: var(--muted);
}

    .legend span[b-i71ahwwboe]::before {
        content: "";
        display: inline-block;
        width: 10px;
        height: 10px;
        border-radius: 3px;
        margin-right: 6px;
        vertical-align: -1px;
        background: var(--c);
    }

/* canone: il più recente in alto, quello in vigore evidenziato */
.history[b-i71ahwwboe] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 2px;
}

    .history li[b-i71ahwwboe] {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .2rem .75rem;
        padding: .6rem .75rem;
        border-radius: var(--r-ctl);
    }

        .history li.current[b-i71ahwwboe] {
            background: var(--accent-soft);
        }

    .history .fee[b-i71ahwwboe] {
        font-weight: 600;
    }

    .history .span[b-i71ahwwboe] {
        grid-column: 1;
        font-size: .85rem;
        color: var(--muted);
    }

    .history .tag[b-i71ahwwboe] {
        grid-row: 1;
        grid-column: 2;
        font-size: .78rem;
        font-weight: 600;
        color: var(--accent);
    }

.change summary[b-i71ahwwboe] {
    cursor: pointer;
    font-weight: 600;
    color: var(--accent);
}
/* /Components/Pages/Gestore/Clienti.razor.rz.scp.css */
.head[b-fbw5v8j8c0] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
    gap: .75rem;
    margin-bottom: 1.1rem;
}

    .head h1[b-fbw5v8j8c0] {
        margin: 0;
    }

.justify-self-start[b-fbw5v8j8c0] {
    justify-self: start;
}

.toolbar[b-fbw5v8j8c0] {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    align-items: center;
    margin-bottom: .9rem;
}

    .toolbar input[b-fbw5v8j8c0] {
        max-width: 24rem;
    }

/* elenco: tabella su PC, schede impilate su telefono */
.list[b-fbw5v8j8c0] {
    display: grid;
}

.list-head[b-fbw5v8j8c0], .row-link[b-fbw5v8j8c0] {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.4fr) minmax(0, .8fr) minmax(0, 1.1fr);
    gap: .75rem;
    align-items: center;
    padding: .65rem .75rem;
}

.list-head[b-fbw5v8j8c0] {
    font-size: .8rem;
    font-weight: 500;
    color: var(--muted);
    border-bottom: 1px solid var(--line);
}

.row-link[b-fbw5v8j8c0] {
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px solid var(--line);
}

    .row-link:last-child[b-fbw5v8j8c0] {
        border-bottom: 0;
    }

    .row-link:hover[b-fbw5v8j8c0] {
        background: var(--sunken);
    }

    .row-link:focus-visible[b-fbw5v8j8c0] {
        outline: 2px solid var(--accent);
        outline-offset: -3px;
    }

.name[b-fbw5v8j8c0] {
    font-weight: 600;
    overflow-wrap: anywhere;
}

.list[b-fbw5v8j8c0] {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-panel);
    overflow: hidden;
}

.plates[b-fbw5v8j8c0] {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
}

.num[b-fbw5v8j8c0], .state[b-fbw5v8j8c0] {
    text-align: right;
}

.fee[b-fbw5v8j8c0] {
    color: var(--muted);
    font-size: .88rem;
}

@media (max-width: 720px) {
    .list[b-fbw5v8j8c0] {
        gap: .5rem;
        display: grid;
        background: none;
        border: 0;
        overflow: visible;
    }

    .list-head[b-fbw5v8j8c0] {
        display: none;
    }

    .row-link[b-fbw5v8j8c0] {
        grid-template-columns: minmax(0, 1fr) auto;
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: var(--radius);
        gap: .4rem .75rem;
    }

    .plates[b-fbw5v8j8c0] {
        grid-column: 1;
    }

    .fee[b-fbw5v8j8c0] {
        grid-row: 1;
        grid-column: 2;
    }

    .state[b-fbw5v8j8c0] {
        grid-column: 2;
        grid-row: 2;
    }
}

.head-actions[b-fbw5v8j8c0] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

/* inserimento rapido: una riga su PC, due colonne su telefono */
.quick-grid[b-fbw5v8j8c0] {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr) minmax(12.5rem, 1.5fr) minmax(0, .8fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: .6rem;
    align-items: end;
}

.plate-input[b-fbw5v8j8c0] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 5.2rem;
    gap: .35rem;
}

.quick-hint[b-fbw5v8j8c0] {
    margin: 0;
    color: var(--muted);
    font-size: .85rem;
    max-width: 70ch;
}

@media (max-width: 1200px) {
    .quick-grid[b-fbw5v8j8c0] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .head-actions[b-fbw5v8j8c0] {
        width: 100%;
    }

        .head-actions .btn-primary[b-fbw5v8j8c0] {
            order: -1;
            flex: 1 1 100%;
        }

    .quick-grid[b-fbw5v8j8c0] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .f-name[b-fbw5v8j8c0], .f-plate[b-fbw5v8j8c0] {
        grid-column: 1 / -1;
    }
}

/* clienti registrati dal QR in attesa di approvazione */
.pending-list[b-fbw5v8j8c0] {
    display: grid;
}

.pending-row[b-fbw5v8j8c0] {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr) auto;
    gap: .75rem 1rem;
    align-items: end;
    padding: .8rem 0;
    border-top: 1px solid var(--line);
}

    .pending-row:first-child[b-fbw5v8j8c0] {
        border-top: 0;
        padding-top: 0;
    }

    .pending-row .who[b-fbw5v8j8c0] {
        display: grid;
        gap: .3rem;
        align-self: center;
    }

    .pending-row .name[b-fbw5v8j8c0] {
        color: var(--ink);
        text-decoration: none;
    }

        .pending-row .name:hover[b-fbw5v8j8c0] {
            text-decoration: underline;
        }

.contact[b-fbw5v8j8c0] {
    color: var(--muted);
    font-size: .85rem;
    overflow-wrap: anywhere;
}

.terms[b-fbw5v8j8c0] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}

.decide[b-fbw5v8j8c0] {
    display: flex;
    gap: .5rem;
}

@media (max-width: 720px) {
    .pending-row[b-fbw5v8j8c0] {
        grid-template-columns: minmax(0, 1fr);
    }

    .decide .btn[b-fbw5v8j8c0] {
        flex: 1 1 0;
    }
}
/* /Components/Pages/Gestore/ImportaClienti.razor.rz.scp.css */
.back[b-0rpurwg46g] {
    display: inline-block;
    font-size: .88rem;
    color: var(--muted);
    text-decoration: none;
    margin-bottom: .5rem;
}

    .back:hover[b-0rpurwg46g] {
        color: var(--ink);
    }

.head[b-0rpurwg46g] {
    margin-bottom: 1.1rem;
}

    .head h1[b-0rpurwg46g] {
        margin: 0;
    }

.hint[b-0rpurwg46g] {
    margin: 0;
    color: var(--muted);
    font-size: .88rem;
    max-width: 65ch;
}

.intro[b-0rpurwg46g] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: 1.1rem;
    align-items: start;
}

/* area di caricamento: tutto il riquadro è cliccabile */
.drop[b-0rpurwg46g] {
    position: relative;
    display: grid;
    gap: .25rem;
    place-items: center;
    text-align: center;
    padding: 2.2rem 1rem;
    border: 1.5px dashed var(--line);
    border-radius: var(--r-ctl);
    background: var(--sunken);
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease;
}

    .drop:hover[b-0rpurwg46g], .drop:focus-within[b-0rpurwg46g] {
        border-color: var(--accent);
        background: var(--accent-soft);
    }

    .drop.busy[b-0rpurwg46g] {
        cursor: progress;
        opacity: .7;
    }

    .drop strong[b-0rpurwg46g] {
        font-weight: 600;
        color: var(--accent);
    }

    .drop span[b-0rpurwg46g] {
        color: var(--muted);
        font-size: .85rem;
    }

    .drop[b-0rpurwg46g]  input[type=file] {
        position: absolute;
        inset: 0;
        opacity: 0;
        cursor: inherit;
    }

.fields[b-0rpurwg46g] {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: .45rem 1rem;
    margin: 0;
    font-size: .9rem;
}

    .fields dt[b-0rpurwg46g] {
        font-weight: 600;
    }

    .fields dd[b-0rpurwg46g] {
        margin: 0;
        color: var(--muted);
    }

.done[b-0rpurwg46g] {
    max-width: 40rem;
}

/* anteprima */
.summary[b-0rpurwg46g] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    padding: .8rem 1rem;
    margin-bottom: .8rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-panel);
    position: sticky;
    top: .5rem;
    z-index: 2;
}

.counts[b-0rpurwg46g], .actions[b-0rpurwg46g] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem .9rem;
}

.file[b-0rpurwg46g] {
    color: var(--muted);
    font-size: .85rem;
    max-width: 18rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.actions .form-check[b-0rpurwg46g] {
    margin: 0;
    font-size: .88rem;
}

.rows[b-0rpurwg46g] {
    display: grid;
    margin-top: .8rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-panel);
    overflow: hidden;
}

.rows-head[b-0rpurwg46g], .r[b-0rpurwg46g] {
    display: grid;
    grid-template-columns: 3.2rem minmax(0, 1.5fr) minmax(0, 1.1fr) minmax(0, .6fr) minmax(0, 1.5fr);
    gap: .75rem;
    align-items: center;
    padding: .6rem .8rem;
}

.rows-head[b-0rpurwg46g] {
    font-size: .8rem;
    font-weight: 500;
    color: var(--muted);
    border-bottom: 1px solid var(--line);
}

.r[b-0rpurwg46g] {
    border-bottom: 1px solid var(--line);
}

    .r:last-child[b-0rpurwg46g] {
        border-bottom: 0;
    }

    .r.bad[b-0rpurwg46g] {
        background: color-mix(in srgb, var(--due-soft) 55%, transparent);
        box-shadow: inset 3px 0 0 var(--due);
    }

.line[b-0rpurwg46g] {
    color: var(--muted);
    font-size: .85rem;
}

.who[b-0rpurwg46g] {
    display: grid;
    min-width: 0;
}

.name[b-0rpurwg46g] {
    font-weight: 600;
}

.contact[b-0rpurwg46g] {
    color: var(--muted);
    font-size: .82rem;
    white-space: pre;
    overflow: hidden;
    text-overflow: ellipsis;
}

.plates[b-0rpurwg46g] {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
    align-items: center;
}

.fee[b-0rpurwg46g] {
    text-align: right;
}

.state[b-0rpurwg46g] {
    font-size: .86rem;
    color: var(--muted);
}

.errors[b-0rpurwg46g] {
    grid-column: 2 / -1;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: .15rem;
    color: var(--due);
    font-size: .86rem;
    font-weight: 500;
}

@media (max-width: 900px) {
    .intro[b-0rpurwg46g] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 720px) {
    .summary[b-0rpurwg46g] {
        position: static;
    }

    .actions[b-0rpurwg46g] {
        width: 100%;
    }

        .actions .btn-primary[b-0rpurwg46g] {
            flex: 1 1 100%;
        }

    .fields[b-0rpurwg46g] {
        grid-template-columns: minmax(0, 1fr);
        gap: .1rem;
    }

        .fields dd[b-0rpurwg46g] {
            margin-bottom: .45rem;
        }

    .rows[b-0rpurwg46g] {
        background: none;
        border: 0;
        gap: .5rem;
        overflow: visible;
    }

    .rows-head[b-0rpurwg46g] {
        display: none;
    }

    .r[b-0rpurwg46g] {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .35rem .75rem;
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: var(--r-ctl);
    }

        .r:last-child[b-0rpurwg46g] {
            border-bottom: 1px solid var(--line);
        }

        .r.bad[b-0rpurwg46g] {
            background: var(--surface);
            border-color: var(--due);
            box-shadow: none;
        }

    .line[b-0rpurwg46g] {
        grid-column: 2;
        grid-row: 1;
        text-align: right;
    }

    .who[b-0rpurwg46g] {
        grid-column: 1;
        grid-row: 1;
    }

    .plates[b-0rpurwg46g] {
        grid-column: 1;
    }

    .fee[b-0rpurwg46g] {
        grid-column: 2;
        grid-row: 2;
    }

    .state[b-0rpurwg46g] {
        grid-column: 1 / -1;
    }

    .errors[b-0rpurwg46g] {
        grid-column: 1 / -1;
    }
}
/* /Components/Pages/Gestore/Prenotazioni.razor.rz.scp.css */
.head[b-1o19ux3kc3] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
    gap: .75rem;
    margin-bottom: .75rem;
}

    .head h1[b-1o19ux3kc3] {
        margin: 0;
    }

.day-nav[b-1o19ux3kc3] {
    display: flex;
    gap: .35rem;
}

    .day-nav input[b-1o19ux3kc3] {
        width: 11rem;
    }

.summary[b-1o19ux3kc3] {
    margin-bottom: 1rem;
}

    .summary strong[b-1o19ux3kc3] {
        display: inline-block;
    }

        .summary strong[b-1o19ux3kc3]::first-letter {
            text-transform: uppercase;
        }

.slots[b-1o19ux3kc3] {
    display: grid;
    gap: .6rem;
    max-width: 46rem;
}

/* ogni fascia come uno stallo: ora a sinistra, veicoli a destra */
.slot[b-1o19ux3kc3] {
    display: grid;
    grid-template-columns: 5.2rem minmax(0, 1fr);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-panel);
    overflow: hidden;
}

.slot-time[b-1o19ux3kc3] {
    background: var(--sunken);
    color: var(--ink);
    display: grid;
    align-content: center;
    justify-items: center;
    gap: .2rem;
    padding: .6rem .25rem;
}

    .slot-time time[b-1o19ux3kc3] {
        font: 600 1.15rem/1.2 var(--mono);
    }

    .slot-time small[b-1o19ux3kc3] {
        font-size: .72rem;
        color: var(--muted);
    }

ul[b-1o19ux3kc3] {
    list-style: none;
    margin: 0;
    padding: 0;
}

li[b-1o19ux3kc3] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem .75rem;
    padding: .55rem .75rem;
    border-bottom: 1px solid var(--line);
}

    li:last-child[b-1o19ux3kc3] {
        border-bottom: 0;
    }

    li.cancelled[b-1o19ux3kc3] {
        opacity: .5;
    }

        li.cancelled .plate[b-1o19ux3kc3] {
            text-decoration: line-through;
        }

.who[b-1o19ux3kc3] {
    flex: 1;
    min-width: 8rem;
    display: grid;
    line-height: 1.25;
}
/* /Components/Pages/Gestore/Registrazione.razor.rz.scp.css */
.back[b-fz1b8ngbt8] {
    display: inline-block;
    font-size: .88rem;
    color: var(--muted);
    text-decoration: none;
    margin-bottom: .5rem;
}

    .back:hover[b-fz1b8ngbt8] {
        color: var(--ink);
    }

.head[b-fz1b8ngbt8] {
    margin-bottom: 1.1rem;
}

    .head h1[b-fz1b8ngbt8] {
        margin: 0;
    }

.hint[b-fz1b8ngbt8] {
    margin: 0;
    color: var(--muted);
    font-size: .9rem;
    max-width: 60ch;
}

.cols[b-fz1b8ngbt8] {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 1.1rem;
    align-items: start;
}

/* cartello stampabile: sempre chiaro, perché il QR si legga anche col tema scuro */
.poster[b-fz1b8ngbt8] {
    justify-self: center;
    width: min(100%, 22rem);
    display: grid;
    justify-items: center;
    gap: .6rem;
    padding: 1.5rem 1.25rem 1.25rem;
    background: #ffffff;
    color: #18181b;
    border: 1px solid var(--line);
    border-radius: var(--r-panel);
    text-align: center;
}

.poster-brand[b-fz1b8ngbt8] {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-weight: 650;
    font-size: 1.05rem;
    letter-spacing: -.01em;
}

.poster-title[b-fz1b8ngbt8] {
    margin: .4rem 0 0;
    font-size: 1.35rem;
    font-weight: 650;
    letter-spacing: -.02em;
    line-height: 1.2;
}

.qr[b-fz1b8ngbt8] {
    width: 100%;
    max-width: 15rem;
}

    .qr[b-fz1b8ngbt8]  svg {
        display: block;
        width: 100%;
        height: auto;
    }

.poster-sub[b-fz1b8ngbt8] {
    margin: 0;
    color: #5f5f69;
}

.poster-url[b-fz1b8ngbt8] {
    margin: 0;
    font: 500 .85rem var(--mono);
    color: #5f5f69;
}

/* clienti da invitare */
.people[b-fz1b8ngbt8] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    max-height: 34rem;
    overflow: auto;
}

    .people li[b-fz1b8ngbt8] {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "name actions" "contact actions";
        gap: .1rem .75rem;
        align-items: center;
        padding: .6rem 0;
        border-top: 1px solid var(--line);
    }

        .people li:first-child[b-fz1b8ngbt8] {
            border-top: 0;
        }

    .people .name[b-fz1b8ngbt8] {
        grid-area: name;
        font-weight: 600;
        color: var(--ink);
        text-decoration: none;
    }

        .people .name:hover[b-fz1b8ngbt8] {
            color: var(--accent);
        }

    .people .contact[b-fz1b8ngbt8] {
        grid-area: contact;
        color: var(--muted);
        font-size: .84rem;
    }

    .people[b-fz1b8ngbt8]  .invite-actions {
        grid-area: actions;
    }

@media (max-width: 1000px) {
    .cols[b-fz1b8ngbt8] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 720px) {
    .people li[b-fz1b8ngbt8] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "name" "contact" "actions";
        gap: .3rem;
    }
}

@media print {
    .back[b-fz1b8ngbt8], .head[b-fz1b8ngbt8], .hint[b-fz1b8ngbt8], .panel-head[b-fz1b8ngbt8], .btn[b-fz1b8ngbt8], .cols > section:last-child[b-fz1b8ngbt8] {
        display: none !important;
    }

    .cols[b-fz1b8ngbt8] {
        display: block;
    }

    .poster[b-fz1b8ngbt8] {
        border: 0;
        width: 100%;
        max-width: none;
        padding-top: 3rem;
    }

    .poster-title[b-fz1b8ngbt8] {
        font-size: 2.2rem;
    }

    .qr[b-fz1b8ngbt8] {
        max-width: 26rem;
    }

    .poster-sub[b-fz1b8ngbt8], .poster-url[b-fz1b8ngbt8] {
        font-size: 1.2rem;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home[b-tp28pj66wf] {
    display: grid;
    gap: 1.25rem;
    max-width: 44rem;
}

h1[b-tp28pj66wf] {
    font-size: clamp(1.9rem, 5vw, 2.6rem);
    margin: 0;
}

.rules[b-tp28pj66wf] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: .5rem;
}

.rule[b-tp28pj66wf] {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-panel);
    padding: .85rem 1rem;
    display: grid;
    gap: .2rem;
}

    .rule b[b-tp28pj66wf] {
        font: 600 1.5rem/1.1 var(--mono);
    }

    .rule span[b-tp28pj66wf] {
        font-size: .86rem;
        color: var(--muted);
    }

.actions[b-tp28pj66wf] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
/* /Components/Pages/Invito.razor.rz.scp.css */
.invite[b-bydxkjab6k] {
    max-width: 34rem;
    margin: 2rem auto 0;
    padding: 1.6rem;
    gap: 1rem;
}

    .invite h1[b-bydxkjab6k] {
        margin: .2rem 0 0;
    }

.lead-text[b-bydxkjab6k] {
    margin: 0;
    color: var(--muted);
    max-width: 50ch;
}

.actions[b-bydxkjab6k] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

@media (max-width: 720px) {
    .invite[b-bydxkjab6k] {
        margin-top: .5rem;
        padding: 1.2rem;
    }

    .actions .btn[b-bydxkjab6k] {
        flex: 1 1 100%;
    }
}
/* /Components/Pages/Piattaforma/AutorimessaDettaglio.razor.rz.scp.css */
.head[b-kdcasi2crg] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
    gap: .75rem;
    margin-bottom: 1.1rem;
}

    .head h1[b-kdcasi2crg] {
        margin: 0;
    }

.detail-grid[b-kdcasi2crg] {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 992px) {
    .detail-grid[b-kdcasi2crg] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: start;
    }
}

.justify-self-start[b-kdcasi2crg] {
    justify-self: start;
}

.logo-row[b-kdcasi2crg] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.logo-actions[b-kdcasi2crg] {
    display: grid;
    gap: .4rem;
    min-width: 0;
    flex: 1;
}
/* /Components/Pages/Piattaforma/Autorimesse.razor.rz.scp.css */
.head[b-vb9m6xclm1] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
    gap: .75rem;
    margin-bottom: 1.1rem;
}

    .head h1[b-vb9m6xclm1] {
        margin: 0;
    }

.justify-self-start[b-vb9m6xclm1] {
    justify-self: start;
}

.toolbar[b-vb9m6xclm1] {
    margin-bottom: .9rem;
}

tr[role=button][b-vb9m6xclm1] {
    cursor: pointer;
}
/* /Components/Pages/Piattaforma/Fornitore.razor.rz.scp.css */
.head[b-lgtgcpf0zr] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
    gap: .75rem;
    margin-bottom: 1.1rem;
}

    .head h1[b-lgtgcpf0zr] {
        margin: 0;
    }

.justify-self-start[b-lgtgcpf0zr] {
    justify-self: start;
}
/* /Components/Pages/Prenota.razor.rz.scp.css */
h1[b-43q061k1bj] {
    margin: 0 0 1.25rem;
}

.booking[b-43q061k1bj] {
    display: grid;
    gap: 1.4rem;
    max-width: 34rem;
}

.step[b-43q061k1bj] {
    display: grid;
    gap: .6rem;
}

.label[b-43q061k1bj] {
    font-size: .88rem;
    font-weight: 600;
}

.empty[b-43q061k1bj], .hint[b-43q061k1bj] {
    color: var(--muted);
    margin: 0;
}

.hint[b-43q061k1bj] {
    font-size: .84rem;
}

button:focus-visible[b-43q061k1bj] {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

/* veicoli: la targa è il pulsante */
.vehicles[b-43q061k1bj] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.vehicle[b-43q061k1bj] {
    display: grid;
    justify-items: start;
    gap: .35rem;
    padding: .6rem;
    background: var(--surface);
    border: 0;
    box-shadow: inset 0 0 0 1px var(--line);
    border-radius: var(--r-ctl);
    color: var(--ink);
    cursor: pointer;
}

    .vehicle small[b-43q061k1bj] {
        font-size: .78rem;
        color: var(--muted);
    }

    .vehicle[aria-checked="true"][b-43q061k1bj] {
        background: var(--accent-soft);
        box-shadow: inset 0 0 0 2px var(--accent);
    }

/* giorni: striscia scorrevole */
.days[b-43q061k1bj] {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 3.7rem;
    gap: .4rem;
    overflow-x: auto;
    padding-bottom: .25rem;
    scroll-snap-type: x proximity;
}

.day[b-43q061k1bj] {
    scroll-snap-align: start;
    display: grid;
    justify-items: center;
    gap: .1rem;
    padding: .5rem 0;
    background: var(--surface);
    border: 0;
    box-shadow: inset 0 0 0 1px var(--line);
    border-radius: var(--r-ctl);
    color: var(--ink);
    cursor: pointer;
}

    .day b[b-43q061k1bj] {
        font-size: 1.15rem;
        font-weight: 600;
    }

    .day small[b-43q061k1bj] {
        font-size: .72rem;
        color: var(--muted);
    }

    .day[aria-checked="true"][b-43q061k1bj] {
        background: var(--ink);
        color: var(--bg);
        box-shadow: none;
    }

        .day[aria-checked="true"] small[b-43q061k1bj] {
            color: inherit;
            opacity: .75;
        }

/* orari */
.slots[b-43q061k1bj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(6rem, 1fr));
    gap: .4rem;
}

.slot[b-43q061k1bj] {
    display: grid;
    gap: .1rem;
    text-align: left;
    padding: .6rem .65rem .55rem;
    background: var(--surface);
    border: 0;
    box-shadow: inset 0 0 0 1px var(--line);
    border-radius: var(--r-ctl);
    color: var(--ink);
    cursor: pointer;
}

    .slot time[b-43q061k1bj] {
        font: 600 1.05rem/1.2 var(--mono);
    }

    .slot small[b-43q061k1bj] {
        font-size: .76rem;
        color: var(--muted);
    }

    .slot.few small[b-43q061k1bj] {
        color: var(--due);
    }

    .slot:hover:not(:disabled)[b-43q061k1bj] {
        box-shadow: inset 0 0 0 1px var(--muted);
    }

    .slot[aria-checked="true"][b-43q061k1bj] {
        background: var(--accent);
        color: var(--accent-ink);
        box-shadow: none;
    }

        .slot[aria-checked="true"] small[b-43q061k1bj] {
            color: inherit;
            opacity: .85;
        }

    .slot.full[b-43q061k1bj] {
        cursor: not-allowed;
        background: var(--sunken);
        box-shadow: none;
        color: var(--muted);
    }

        .slot.full time[b-43q061k1bj] {
            text-decoration: line-through;
            text-decoration-thickness: 1px;
        }

.book[b-43q061k1bj] {
    width: 100%;
}

/* prenotazioni attive */
.tickets[b-43q061k1bj] {
    display: grid;
    gap: .5rem;
}

.ticket[b-43q061k1bj] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .9rem;
    padding: .7rem .75rem .7rem .9rem;
    background: var(--surface);
    box-shadow: inset 0 0 0 1px var(--line);
    border-radius: var(--r-panel);
}

.when[b-43q061k1bj] {
    display: grid;
    line-height: 1.2;
}

    .when b[b-43q061k1bj] {
        font: 600 1.15rem/1.2 var(--mono);
    }

    .when small[b-43q061k1bj] {
        font-size: .78rem;
        color: var(--muted);
    }

.what[b-43q061k1bj] {
    min-width: 0;
}

@media (prefers-reduced-motion: no-preference) {
    .slot[b-43q061k1bj], .vehicle[b-43q061k1bj], .day[b-43q061k1bj] {
        transition: box-shadow .15s ease, background-color .15s ease;
    }
}
/* /Components/Pages/Situazione.razor.rz.scp.css */
/* Stessi stili della scheda cliente del gestore, in sola lettura. */
.cols[b-ric5oz6guk] {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 1.1rem;
    align-items: start;
}

@media (max-width: 1100px) {
    .cols[b-ric5oz6guk] {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* saldo: il numero è la notizia */
.balance[b-ric5oz6guk] {
    display: grid;
    gap: .25rem;
}

    .balance .amt[b-ric5oz6guk] {
        font: 600 2.3rem/1.05 var(--font);
        letter-spacing: -.03em;
    }

        .balance .amt.due[b-ric5oz6guk] {
            color: var(--due);
        }

        .balance .amt.ok[b-ric5oz6guk] {
            color: var(--ok);
        }

    .balance p[b-ric5oz6guk] {
        margin: 0;
        color: var(--muted);
        font-size: .9rem;
        max-width: 50ch;
    }

/* ultimi 12 mesi */
.months[b-ric5oz6guk] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 3px;
}

@media (max-width: 560px) {
    .months[b-ric5oz6guk] {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

.m[b-ric5oz6guk] {
    display: grid;
    gap: 4px;
    justify-items: center;
    font-size: .7rem;
    color: var(--muted);
}

    .m i[b-ric5oz6guk] {
        display: block;
        width: 100%;
        height: 26px;
        border-radius: 5px;
        background: var(--ok-soft);
    }

    .m.owed i[b-ric5oz6guk] {
        background: var(--due);
    }

    .m.part i[b-ric5oz6guk] {
        background: linear-gradient(0deg, var(--due) 0 50%, var(--ok-soft) 50%);
    }

    .m.now span[b-ric5oz6guk] {
        color: var(--ink);
        font-weight: 600;
    }

.legend[b-ric5oz6guk] {
    display: flex;
    flex-wrap: wrap;
    gap: .9rem;
    font-size: .78rem;
    color: var(--muted);
}

    .legend span[b-ric5oz6guk]::before {
        content: "";
        display: inline-block;
        width: 10px;
        height: 10px;
        border-radius: 3px;
        margin-right: 6px;
        vertical-align: -1px;
        background: var(--c);
    }

/* canone: il più recente in alto, quello in vigore evidenziato */
.history[b-ric5oz6guk] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 2px;
}

    .history li[b-ric5oz6guk] {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .2rem .75rem;
        padding: .6rem .75rem;
        border-radius: var(--r-ctl);
    }

        .history li.current[b-ric5oz6guk] {
            background: var(--accent-soft);
        }

    .history .fee[b-ric5oz6guk] {
        font-weight: 600;
    }

    .history .span[b-ric5oz6guk] {
        grid-column: 1;
        font-size: .85rem;
        color: var(--muted);
    }

    .history .tag[b-ric5oz6guk] {
        grid-row: 1;
        grid-column: 2;
        font-size: .78rem;
        font-weight: 600;
        color: var(--accent);
    }
/* /Components/Shared/BrandMark.razor.rz.scp.css */
.brand-mark[b-0hd3973w7z] {
    flex: none;
    display: block;
    border-radius: 22%;
    object-fit: contain;
}

.initials[b-0hd3973w7z] {
    display: grid;
    place-items: center;
    background: var(--accent);
    color: var(--accent-ink);
    font-weight: 600;
    letter-spacing: -.02em;
}
/* /Components/Shared/ContactDetails.razor.rz.scp.css */
.contacts[b-byi0qz0hwh] {
    margin: 0;
    display: grid;
}

    .contacts[b-byi0qz0hwh]  .row-item {
        display: grid;
        gap: .15rem;
        padding: .85rem 0;
        border-top: 1px solid var(--line);
    }

        .contacts[b-byi0qz0hwh]  .row-item:first-child {
            border-top: 0;
            padding-top: 0;
        }

        .contacts[b-byi0qz0hwh]  .row-item:last-child {
            padding-bottom: 0;
        }

    .contacts[b-byi0qz0hwh]  dt {
        font-size: .8rem;
        font-weight: 500;
        color: var(--muted);
    }

    .contacts[b-byi0qz0hwh]  dd {
        margin: 0;
        font-size: 1.05rem;
        overflow-wrap: anywhere;
    }

        .contacts[b-byi0qz0hwh]  dd a {
            text-decoration: none;
            font-weight: 550;
        }

            .contacts[b-byi0qz0hwh]  dd a:hover {
                text-decoration: underline;
            }

    .contacts .maps[b-byi0qz0hwh] {
        display: block;
        margin-top: .2rem;
        font-size: .875rem;
    }

    .contacts .notes[b-byi0qz0hwh] {
        white-space: pre-line;
        font-size: .95rem;
    }

@media (min-width: 768px) {
    .contacts[b-byi0qz0hwh]  .row-item {
        grid-template-columns: 9rem minmax(0, 1fr);
        gap: 1rem;
        align-items: baseline;
    }
}
/* /Components/Shared/CustomerInvite.razor.rz.scp.css */
.invite-text[b-7a84h372kn] {
    margin: 0;
    color: var(--muted);
    font-size: .9rem;
    max-width: 60ch;
}

.invite-actions[b-7a84h372kn] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

@media (max-width: 720px) {
    .invite-actions .btn[b-7a84h372kn] {
        flex: 1 1 100%;
    }
}

.invite-actions.compact[b-7a84h372kn] {
    gap: .35rem;
    justify-content: end;
}

@media (max-width: 720px) {
    .invite-actions.compact[b-7a84h372kn] {
        justify-content: start;
    }

        .invite-actions.compact .btn[b-7a84h372kn] {
            flex: 1 1 0;
        }
}
/* /Components/Shared/YearHistory.razor.rz.scp.css */
.year-bar[b-rwbvf4ax1y] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1.5rem;
    margin-bottom: .5rem;
}

.year-pick .form-select[b-rwbvf4ax1y] {
    width: auto;
    min-width: 6.5rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.sums[b-rwbvf4ax1y] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem 1.5rem;
    margin: 0;
}

    .sums div[b-rwbvf4ax1y] {
        display: grid;
    }

    .sums dt[b-rwbvf4ax1y] {
        font-size: .78rem;
        font-weight: 400;
        color: var(--muted);
    }

    .sums dd[b-rwbvf4ax1y] {
        margin: 0;
        font-weight: 600;
        font-variant-numeric: tabular-nums;
    }

    .sums .due dd[b-rwbvf4ax1y] {
        color: var(--due);
    }

.sub[b-rwbvf4ax1y] {
    font-size: .85rem;
    font-weight: 600;
    color: var(--muted);
    margin: 1rem 0 .25rem;
}

/* colonne fisse: non saltano cambiando anno */
table[b-rwbvf4ax1y] {
    table-layout: fixed;
}

    td.num[b-rwbvf4ax1y] {
        white-space: nowrap;
    }

.months th:nth-child(1)[b-rwbvf4ax1y] { width: 34%; }
.months th:nth-child(2)[b-rwbvf4ax1y] { width: 22%; }
.months th:nth-child(3)[b-rwbvf4ax1y] { width: 22%; }
.months th:nth-child(4)[b-rwbvf4ax1y] { width: 22%; padding-left: 1rem; }
.months td:nth-child(4)[b-rwbvf4ax1y] { padding-left: 1rem; }

.payments th:nth-child(1)[b-rwbvf4ax1y] { width: 30%; }
.payments th:nth-child(2)[b-rwbvf4ax1y] { width: 35%; }
.payments th:nth-child(3)[b-rwbvf4ax1y] { width: 35%; }

.payments.with-note th:nth-child(1)[b-rwbvf4ax1y] { width: 18%; }
.payments.with-note th:nth-child(2)[b-rwbvf4ax1y] { width: 22%; }
.payments.with-note th:nth-child(3)[b-rwbvf4ax1y] { width: 22%; }
.payments.with-note th:nth-child(4)[b-rwbvf4ax1y] { width: 38%; padding-left: 1rem; }
.payments.with-note td:nth-child(4)[b-rwbvf4ax1y] { padding-left: 1rem; overflow-wrap: anywhere; }

/* su telefono le colonne si adattano al contenuto */
@media (max-width: 560px) {
    .sums[b-rwbvf4ax1y] {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .75rem;
    }

    table[b-rwbvf4ax1y] {
        table-layout: auto;
    }

        th[b-rwbvf4ax1y] {
            width: auto !important;
        }

    .months th:nth-child(4)[b-rwbvf4ax1y], .months td:nth-child(4)[b-rwbvf4ax1y],
    .payments.with-note th:nth-child(4)[b-rwbvf4ax1y], .payments.with-note td:nth-child(4)[b-rwbvf4ax1y] {
        padding-left: .5rem;
    }
}

.date[b-rwbvf4ax1y] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
