/* /Components/Dialogs/DocumentiDialog.razor.rz.scp.css */
/* Il nome del file e il link per aprirlo: su una riga sola con i puntini, perche
   i nomi delle fatture sono lunghi e senza spazi e altrimenti allargano il dialogo. */
.documento-nome[b-53lm64329i] {
    white-space: nowrap;
    color: var(--mud-palette-text-primary);
    text-decoration: none;
}

.documento-nome:hover[b-53lm64329i] {
    color: var(--iq-primario-forte);
    text-decoration: underline;
}
/* /Components/Layout/AzioniRapide.razor.rz.scp.css */
/* Il "+" tondo: solo su telefono, sopra la barra in basso, dove arriva il pollice. */
.fab[b-qe2yf6juls] { display: none; }

@media (max-width: 960px) {
    .fab[b-qe2yf6juls] {
        position: fixed;
        right: 16px;
        bottom: calc(80px + env(safe-area-inset-bottom, 0px));
        z-index: 1301;
        width: 58px;
        height: 58px;
        border: 0;
        border-radius: 18px;
        display: grid;
        place-items: center;
        background: var(--mud-palette-primary);
        color: var(--mud-palette-primary-text);
        box-shadow: 0 10px 24px rgba(20, 23, 28, 0.25);
        cursor: pointer;
    }

    .fab[b-qe2yf6juls]  .mud-icon-root { font-size: 28px; }
}

.foglio-velo[b-qe2yf6juls] {
    position: fixed;
    inset: 0;
    z-index: 1400;
    background: var(--mud-palette-overlay-dark);
}

.foglio[b-qe2yf6juls] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1401;
    max-height: 88dvh;
    overflow-y: auto;
    padding: 8px 16px calc(24px + env(safe-area-inset-bottom, 0px));
    border-radius: 26px 26px 0 0;
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    animation: sale-b-qe2yf6juls 0.18s ease-out;
}

@keyframes sale-b-qe2yf6juls {
    from { transform: translateY(24px); opacity: 0; }
    to { transform: none; opacity: 1; }
}

.foglio-maniglia[b-qe2yf6juls] {
    width: 40px;
    height: 5px;
    margin: 0 auto 6px;
    border-radius: 999px;
    background: var(--mud-palette-lines-inputs);
}

.foglio-testa[b-qe2yf6juls] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0 12px;
}

.foglio-testa h2[b-qe2yf6juls] {
    margin: 0;
    font-family: var(--iq-titoli);
    font-size: 21px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.foglio-griglia[b-qe2yf6juls] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.foglio-voce[b-qe2yf6juls] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    min-height: 104px;
    padding: 14px;
    border: 0;
    border-radius: 18px;
    background: var(--iq-incavo);
    color: var(--mud-palette-text-primary);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.foglio-voce--principale[b-qe2yf6juls] { background: var(--iq-primario-tenue); }

.foglio-voce-titolo[b-qe2yf6juls] { display: block; font-weight: 650; font-size: 14.5px; }
.foglio-voce-sotto[b-qe2yf6juls] { display: block; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
/* /Components/Layout/BarraMobile.razor.rz.scp.css */
/* Solo sotto i 961px: sopra c'e il cassetto laterale e questa sarebbe di troppo. */
.barra-basso[b-ozaj97h7wd] { display: none; }

@media (max-width: 960px) {
    .barra-basso[b-ozaj97h7wd] {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1300;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        padding: 6px 4px 8px;
        background: var(--mud-palette-surface);
        border-top: 1px solid var(--mud-palette-divider);
        /* Sugli iPhone senza tasto casa la barra di sistema mangia lo spazio
           in fondo: l'area sicura va aggiunta, non indovinata. */
        padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    }
}

[b-ozaj97h7wd] .voce-basso {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    /* 54px: la misura minima di un bersaglio che si prende col pollice */
    min-height: 54px;
    padding: 0 2px;
    border: 0;
    background: transparent;
    font: inherit;
    text-decoration: none;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
    transition: color 0.15s ease;
}

.voce-basso[b-ozaj97h7wd] { display: flex; }

[b-ozaj97h7wd] .voce-basso--attiva { color: var(--iq-primario-forte); }

[b-ozaj97h7wd] .voce-basso:focus-visible {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
    border-radius: 12px;
}

.voce-icona[b-ozaj97h7wd] {
    position: relative;
    display: grid;
    place-items: center;
    width: 56px;
    height: 30px;
    border-radius: 999px;
    transition: background 0.15s ease;
}

[b-ozaj97h7wd] .voce-basso--attiva .voce-icona { background: var(--iq-primario-tenue); }

.voce-icona[b-ozaj97h7wd]  .mud-icon-root { font-size: 23px; }

.voce-testo[b-ozaj97h7wd] {
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

[b-ozaj97h7wd] .voce-basso--attiva .voce-testo { font-weight: 650; }

.voce-pallino[b-ozaj97h7wd] {
    position: absolute;
    top: -3px;
    right: 8px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: var(--mud-palette-error);
    color: var(--mud-palette-error-text);
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
}
/* /Components/Layout/LayoutAccesso.razor.rz.scp.css */
/* La base (sfondo, scheda, campi, pulsante, avvisi) sta in app.css. Qui i pezzi
   comuni alle pagine di accesso: titolo, link in fondo, esito dopo l'invio.
   Il markup delle pagine e dei componenti figli non porta l'attributo di scope
   di questo layout, quindi le regole passano da ::deep appese alla scheda. */

/* Su telefono la scheda sta in alto: centrata, la tastiera la coprirebbe a meta. */
@media (max-width: 600px) {
    .accesso[b-xjgqpdvm40] {
        align-items: flex-start;
        padding: 20px 16px 32px;
    }

    .accesso-card[b-xjgqpdvm40] {
        padding: 26px 20px 22px;
        border-radius: 22px;
    }

    .accesso-marchio[b-xjgqpdvm40] { margin-bottom: 24px; }
}

/* ---------- Titolo e sottotitolo ---------- */

.accesso-card[b-xjgqpdvm40]  .accesso-testa { margin-bottom: 24px; }

.accesso-card[b-xjgqpdvm40]  .accesso-sotto { margin: 8px 0 0; }

.accesso-card[b-xjgqpdvm40]  .accesso-sotto strong { color: var(--mud-palette-text-primary); font-weight: 600; }

/* ---------- Campi ---------- */

/* La mail gia decisa (attivazione) si vede ma non si tocca: fondo incavato. */
.accesso-card[b-xjgqpdvm40]  .campo input:disabled {
    background: var(--iq-incavo);
    color: var(--mud-palette-text-secondary);
    cursor: not-allowed;
}

/* ---------- Link e pulsanti sotto il form ---------- */

.accesso-card[b-xjgqpdvm40]  .accesso-riga {
    display: flex;
    justify-content: center;
    margin: 6px 0 0;
}

.accesso-card[b-xjgqpdvm40]  .accesso-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 4px;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--iq-primario-forte);
    text-decoration: none;
}

.accesso-card[b-xjgqpdvm40]  .accesso-link:hover { text-decoration: underline; }

/* Il pulsante pieno usato come link, quando dopo l'esito resta un solo passo. */
.accesso-card[b-xjgqpdvm40]  a.bottone-pieno {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

/* Le strade secondarie (registrarsi, l'invito) in fondo, sotto una riga sottile. */
.accesso-card[b-xjgqpdvm40]  .accesso-piede {
    margin-top: 22px;
    padding-top: 14px;
    border-top: 1px solid var(--mud-palette-divider);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 14.5px;
    color: var(--mud-palette-text-secondary);
}

.accesso-card[b-xjgqpdvm40]  .accesso-piede p { margin: 0; }

.accesso-card[b-xjgqpdvm40]  .accesso-piede .accesso-nota {
    max-width: 36ch;
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.45;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Layout/LayoutPubblico.razor.rz.scp.css */
.pubblico[b-v98zxr38ua] {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    background: var(--mud-palette-background);
}

/* Barra, corpo e piede allineati sulla stessa colonna. */
.pubblico-dentro[b-v98zxr38ua] {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    padding-left: 16px;
    padding-right: 16px;
}

@media (min-width: 961px) {
    .pubblico-dentro[b-v98zxr38ua] { padding-left: 32px; padding-right: 32px; }
}

/* Come la barra dell'app: il fondo della pagina, appena trasparente e sfocato
   quando il contenuto ci scorre sotto. */
.pubblico-barra[b-v98zxr38ua] {
    position: sticky;
    top: 0;
    z-index: 10;
    background: color-mix(in srgb, var(--mud-palette-background) 88%, transparent);
    backdrop-filter: saturate(1.4) blur(10px);
    -webkit-backdrop-filter: saturate(1.4) blur(10px);
    border-bottom: 1px solid var(--mud-palette-divider-light);
}

.pubblico-barra-dentro[b-v98zxr38ua] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 64px;
}

.pubblico-marchio[b-v98zxr38ua] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    text-decoration: none;
    color: var(--mud-palette-text-primary);
}

.pubblico-marchio span[b-v98zxr38ua] {
    font-family: var(--iq-titoli);
    font-size: 21px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.pubblico-marchio--piccolo[b-v98zxr38ua] { gap: 8px; }
.pubblico-marchio--piccolo span[b-v98zxr38ua] { font-size: 17px; }

.pubblico-azioni[b-v98zxr38ua] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.pubblico-corpo[b-v98zxr38ua] {
    flex: 1 1 auto;
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    padding: 24px 16px 48px;
}

@media (min-width: 961px) {
    .pubblico-corpo[b-v98zxr38ua] { padding: 44px 32px 72px; }
}

.pubblico-piede[b-v98zxr38ua] {
    border-top: 1px solid var(--mud-palette-divider);
    background: var(--mud-palette-surface);
    padding: 20px 0 calc(20px + env(safe-area-inset-bottom, 0px));
}

.pubblico-piede-dentro[b-v98zxr38ua] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 24px;
}

.pubblico-link[b-v98zxr38ua] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 20px;
}

.pubblico-link a[b-v98zxr38ua] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 14px;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
    text-decoration: none;
}

.pubblico-link a:hover[b-v98zxr38ua] { color: var(--iq-primario-forte); text-decoration: underline; }

@media (max-width: 600px) {
    .pubblico-piede-dentro[b-v98zxr38ua] { flex-direction: column; align-items: flex-start; }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.profilo-bottone[b-hjia9vau3c] {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
}

.profilo-bottone:hover[b-hjia9vau3c] { background: var(--mud-palette-table-hover); }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-ondyqmmg7w],
.components-reconnect-repeated-attempt-visible[b-ondyqmmg7w],
.components-reconnect-failed-visible[b-ondyqmmg7w],
.components-pause-visible[b-ondyqmmg7w],
.components-resume-failed-visible[b-ondyqmmg7w],
.components-rejoining-animation[b-ondyqmmg7w] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-ondyqmmg7w],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-ondyqmmg7w],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-ondyqmmg7w],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-ondyqmmg7w],
#components-reconnect-modal.components-reconnect-retrying[b-ondyqmmg7w],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-ondyqmmg7w],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-ondyqmmg7w],
#components-reconnect-modal.components-reconnect-failed[b-ondyqmmg7w],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-ondyqmmg7w] {
    display: block;
}

/* I colori arrivano dal tema, con un ripiego in chiaro (gli stessi valori di
   InquiloTheme): questo dialogo puo comparire prima che il MudThemeProvider
   abbia emesso le sue variabili. Angoli, ombra e carattere sono quelli dei
   dialoghi dell'app. */
#components-reconnect-modal[b-ondyqmmg7w] {
    background-color: var(--mud-palette-surface, #FFFFFF);
    color: var(--mud-palette-text-primary, #14171C);
    border: 1px solid var(--mud-palette-divider, #E4E7EC);
    width: min(22rem, calc(100vw - 32px));
    box-sizing: border-box;
    margin: 20vh auto;
    padding: 28px 24px 24px;
    border-radius: 24px;
    box-shadow: 0 32px 64px -24px rgba(0, 0, 0, 0.35);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-ondyqmmg7w 0.5s both;
    font-family: 'Onest', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    font-size: 15px;
    -webkit-font-smoothing: antialiased;
}

#components-reconnect-modal[open][b-ondyqmmg7w] {
    animation: components-reconnect-modal-slideUp-b-ondyqmmg7w 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-ondyqmmg7w 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

#components-reconnect-modal[b-ondyqmmg7w]::backdrop {
    background-color: rgba(20, 23, 28, 0.45);
    backdrop-filter: blur(2px);
    animation: components-reconnect-modal-fadeInOpacity-b-ondyqmmg7w 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-ondyqmmg7w {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-ondyqmmg7w {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-ondyqmmg7w {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-ondyqmmg7w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-ondyqmmg7w] {
    margin: 0;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.45;
}

#components-reconnect-modal button[b-ondyqmmg7w] {
    border: 0;
    width: 100%;
    min-height: 48px;
    padding: 8px 24px;
    border-radius: 14px;
    font: inherit;
    font-size: 15.5px;
    font-weight: 650;
    cursor: pointer;
    background-color: var(--mud-palette-primary, #2B59C3);
    color: var(--mud-palette-primary-text, #FFFFFF);
    transition: filter 0.2s ease;
}

#components-reconnect-modal button:hover[b-ondyqmmg7w] {
    filter: brightness(1.08);
}

#components-reconnect-modal button:active[b-ondyqmmg7w] {
    filter: brightness(0.95);
}

#components-reconnect-modal button:focus-visible[b-ondyqmmg7w] {
    outline: 2px solid var(--mud-palette-primary, #2B59C3);
    outline-offset: 2px;
}

.components-rejoining-animation[b-ondyqmmg7w] {
    position: relative;
    width: 80px;
    height: 80px;
}

.components-rejoining-animation div[b-ondyqmmg7w] {
    position: absolute;
    border: 3px solid var(--mud-palette-primary, #2B59C3);
    opacity: 1;
    border-radius: 50%;
    animation: components-rejoining-animation-b-ondyqmmg7w 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.components-rejoining-animation div:nth-child(2)[b-ondyqmmg7w] {
    animation-delay: -0.5s;
}

@keyframes components-rejoining-animation-b-ondyqmmg7w {
    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/Admin/Abbonamento.razor.rz.scp.css */
/* Pagina dei piani. Telefono prima: una colonna, le schede in fila verticale,
   e da 961px in su le tre affiancate. */

/* ---------- Il piano attuale ---------- */

.piano-attuale[b-l294h5xhcw] { gap: 18px; padding-bottom: 18px; margin-bottom: 24px; }

@media (min-width: 961px) { .piano-attuale[b-l294h5xhcw] { padding-bottom: 22px; margin-bottom: 32px; } }

.piano-attuale-testa[b-l294h5xhcw] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.piano-attuale-testo[b-l294h5xhcw] { flex: 1 1 auto; min-width: 0; }
.piano-attuale-testo h2[b-l294h5xhcw] { margin: 2px 0; }

.piano-consumi[b-l294h5xhcw] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

@media (min-width: 601px) {
    .piano-consumi[b-l294h5xhcw] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
}

.consumo[b-l294h5xhcw] { display: flex; flex-direction: column; gap: 10px; }

.consumo-riga[b-l294h5xhcw] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    font-size: 13.5px;
    color: var(--mud-palette-text-secondary);
}

.consumo-riga strong[b-l294h5xhcw] {
    color: var(--mud-palette-text-primary);
    font-weight: 650;
}

.consumo-barra[b-l294h5xhcw] { height: 8px; background: color-mix(in srgb, var(--mud-palette-text-secondary) 14%, var(--mud-palette-surface)); }

/* ---------- Scelta del periodo ---------- */

.scelta-testa[b-l294h5xhcw] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
}

.scelta-testa .schede[b-l294h5xhcw] { align-self: flex-start; }

@media (min-width: 601px) {
    .scelta-testa[b-l294h5xhcw] {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
    .scelta-testa .schede[b-l294h5xhcw] { align-self: auto; }
}

/* ---------- Le schede dei piani ---------- */

.griglia-piani[b-l294h5xhcw] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

@media (min-width: 961px) {
    .griglia-piani[b-l294h5xhcw] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
}

.scheda-piano[b-l294h5xhcw] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    padding: 22px 20px 20px;
    border: 1px solid var(--mud-palette-divider);
    border-radius: 22px;
    background: var(--mud-palette-surface);
}

@media (min-width: 961px) { .scheda-piano[b-l294h5xhcw] { padding: 24px 22px 22px; } }

/* Il piano consigliato si distingue col bordo, non con un colore di fondo:
   resta leggibile anche in tema scuro. */
.scheda-piano--consigliato[b-l294h5xhcw] {
    border-color: var(--mud-palette-primary);
    box-shadow: 0 0 0 1px var(--mud-palette-primary);
}

/* Il piano attuale ha il fondo tenue: e "casa", non una proposta. */
.scheda-piano--corrente[b-l294h5xhcw] {
    background: var(--iq-primario-tenue);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 45%, var(--mud-palette-divider));
}

/* Sul fondo tenue una pillola tenue sparirebbe: qui diventa piena. */
.scheda-piano--corrente[b-l294h5xhcw]  .pillola {
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

.scheda-piano-testa[b-l294h5xhcw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.scheda-piano-nome[b-l294h5xhcw] {
    margin: 0;
    font-family: var(--iq-titoli);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.015em;
}

.prezzo[b-l294h5xhcw] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0 2px;
}

.prezzo-cifra[b-l294h5xhcw] { font-size: 36px; line-height: 1; }

.prezzo-periodo[b-l294h5xhcw] {
    font-size: 13.5px;
    color: var(--mud-palette-text-secondary);
}

.lista-funzioni[b-l294h5xhcw] {
    list-style: none;
    margin: 12px 0 18px;
    padding: 14px 0 0;
    border-top: 1px solid var(--mud-palette-divider-light);
    display: flex;
    flex-direction: column;
    gap: 9px;
    font-size: 14px;
    flex: 1 1 auto;
}

.lista-funzioni li[b-l294h5xhcw] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

/* L'icona di spunta e decorativa: colore tenue, non deve urlare */
.lista-funzioni[b-l294h5xhcw]  .mud-icon-root {
    color: var(--iq-credito);
    margin-top: 1px;
    flex: 0 0 auto;
}

/* ---------- Disdetta ---------- */

.disdetta[b-l294h5xhcw] {
    flex-direction: column;
    gap: 14px;
    padding-bottom: 18px;
}

.disdetta-testo[b-l294h5xhcw] { min-width: 0; }
.disdetta-testo h2[b-l294h5xhcw] { margin-bottom: 4px; }

@media (min-width: 601px) {
    .disdetta[b-l294h5xhcw] { flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; }
    .disdetta[b-l294h5xhcw]  .mud-button-root { flex-shrink: 0; }
}
/* /Components/Pages/Admin/Bollette.razor.rz.scp.css */
.bollette-sintesi[b-lsnhtxn6ay] { gap: 14px; padding-bottom: 18px; }

@media (min-width: 961px) { .bollette-sintesi[b-lsnhtxn6ay] { padding-bottom: 22px; } }

[b-lsnhtxn6ay] .bollette-totale { display: block; margin-top: 2px; font-size: 34px; }

/* Il numero di fatture: piccolo, ma e un bottone vero che apre gli allegati. */
.bollette-documenti[b-lsnhtxn6ay] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    min-height: 28px;
    padding: 0 6px;
    margin-right: -6px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font: inherit;
    font-size: 12.5px;
    cursor: pointer;
}

.bollette-documenti:hover[b-lsnhtxn6ay] { color: var(--iq-primario-forte); background: var(--iq-primario-tenue); }
/* /Components/Pages/Admin/Contatori.razor.rz.scp.css */
/* La scheda di un contatore: testa, le due cifre, lo storico, il pulsante in
   fondo. Le schede affiancate hanno altezze diverse, quindi il pulsante va
   spinto in basso per restare allineato. */
.contatore[b-fsigf1b81f] { gap: 14px; padding-bottom: 18px; }

@media (min-width: 961px) { .contatore[b-fsigf1b81f] { padding-bottom: 22px; } }

.contatore-testa[b-fsigf1b81f] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.contatore-nome[b-fsigf1b81f] { flex: 1 1 auto; min-width: 0; }
.contatore-nome h2[b-fsigf1b81f] { overflow-wrap: anywhere; }

.contatore-dati[b-fsigf1b81f] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.contatore-cifra[b-fsigf1b81f] {
    margin: 2px 0;
    font-family: var(--iq-titoli);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contatore-unita[b-fsigf1b81f] {
    font-family: 'Onest', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: normal;
    color: var(--mud-palette-text-secondary);
}

.contatore-lettura[b-fsigf1b81f] { min-height: 56px; padding: 10px 0; }

[b-fsigf1b81f] .contatore-icona-foto { font-size: 16px; vertical-align: -3px; }

.contatore-piede[b-fsigf1b81f] { margin-top: auto; padding-top: 2px; }
/* /Components/Pages/Admin/Immobili.razor.rz.scp.css */
/* La scheda di un immobile: testa con nome e menu, due numeri, quattro scorciatoie. */
.scheda-immobile[b-byrrj2l9hm] { gap: 16px; padding-bottom: 18px; }

@media (min-width: 961px) { .scheda-immobile[b-byrrj2l9hm] { padding-bottom: 22px; } }

.immobile-testa[b-byrrj2l9hm] {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.immobile-nome[b-byrrj2l9hm] { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }

.immobile-indirizzo[b-byrrj2l9hm] { margin: 2px 0 0; }

.immobile-numeri[b-byrrj2l9hm] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.immobile-cifra[b-byrrj2l9hm] {
    margin: 0;
    font-size: 24px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.immobile-etichetta[b-byrrj2l9hm] { margin: 2px 0 0; }

/* Le scorciatoie: due per riga anche su telefono, ciascuna alta abbastanza per
   il pollice. Niente freccia: a 375px non ci stava insieme a "Spese fisse". */
.immobile-scorciatoie[b-byrrj2l9hm] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding-top: 16px;
    border-top: 1px solid var(--mud-palette-divider-light);
}

.immobile-link[b-byrrj2l9hm] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 12px;
    border: 1px solid var(--mud-palette-divider);
    border-radius: var(--iq-raggio-piccolo);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font-size: 14.5px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.immobile-link span[b-byrrj2l9hm] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.immobile-link:hover[b-byrrj2l9hm] {
    background: var(--iq-primario-tenue);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 35%, var(--mud-palette-divider));
}

.immobile-link[b-byrrj2l9hm]  .mud-icon-root { flex: none; color: var(--iq-primario-forte); }
/* /Components/Pages/Admin/Impostazioni.razor.rz.scp.css */
/* Una colonna sola anche su schermo largo: un modulo si legge dall'alto in
   basso, e due colonne di righe "testo + controllo" diventerebbero quattro. */
.impostazioni[b-lqjw1zhlyu] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 880px;
}

@media (min-width: 961px) { .impostazioni[b-lqjw1zhlyu] { gap: 20px; } }

/* ---------- Una riga di impostazione: cosa fa a sinistra, controllo a destra ---------- */

.impostazione[b-lqjw1zhlyu] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px 0;
    border-top: 1px solid var(--mud-palette-divider-light);
    min-width: 0;
}

.impostazioni-righe > .impostazione:first-child[b-lqjw1zhlyu] { border-top: 0; padding-top: 0; }
.impostazioni-righe > .impostazione:last-child[b-lqjw1zhlyu] { padding-bottom: 0; }

.impostazione-testo[b-lqjw1zhlyu] { flex: 1 1 auto; min-width: 0; }

.impostazione-titolo[b-lqjw1zhlyu] {
    display: block;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.35;
    color: var(--mud-palette-text-primary);
}

.impostazione-nota[b-lqjw1zhlyu] {
    margin: 3px 0 0;
    max-width: 56ch;
    font-size: 13.5px;
    color: var(--mud-palette-text-secondary);
}

.impostazione-controllo[b-lqjw1zhlyu] { min-width: 0; }

/* L'interruttore resta accanto al suo testo anche su telefono. */
.impostazione--in-linea[b-lqjw1zhlyu] { flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; }
.impostazione-interruttore[b-lqjw1zhlyu] { flex: none; }

@media (min-width: 721px) {
    .impostazione[b-lqjw1zhlyu] { flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; }
    .impostazione-controllo[b-lqjw1zhlyu] { flex: 0 0 320px; }
    .impostazione-controllo--corto[b-lqjw1zhlyu] { flex-basis: 140px; }
    .impostazione-azione[b-lqjw1zhlyu] { flex: none; }
}

/* Il pulsante "Salva" vale per le due schede sopra: sta subito sotto, a destra
   su schermo largo, a tutta larghezza sul telefono. */
.impostazioni-salva[b-lqjw1zhlyu] { display: flex; }
.impostazioni-salva[b-lqjw1zhlyu]  .mud-button-root { width: 100%; }

@media (min-width: 601px) {
    .impostazioni-salva[b-lqjw1zhlyu] { justify-content: flex-end; }
    .impostazioni-salva[b-lqjw1zhlyu]  .mud-button-root { width: auto; }
}

/* ---------- Posta ---------- */

.posta-avviso[b-lqjw1zhlyu] { background: var(--iq-deve-tenue); }
.posta-avviso[b-lqjw1zhlyu]  .mud-icon-root { color: var(--iq-deve); }

.posta-numeri[b-lqjw1zhlyu] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.posta-numeri .incavo[b-lqjw1zhlyu] {
    display: flex;
    flex-direction: column;
    padding: 12px 14px;
}

.posta-cifra[b-lqjw1zhlyu] { font-size: 24px; }

.testo-errore[b-lqjw1zhlyu] { color: var(--mud-palette-error); }

.posta-prova[b-lqjw1zhlyu] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.posta-prova[b-lqjw1zhlyu]  .mud-input-control { flex: 1 1 auto; min-width: 0; margin-top: 0; }
.posta-prova[b-lqjw1zhlyu]  .mud-button-root { flex: none; }

.posta-riga[b-lqjw1zhlyu] { min-height: 56px; padding: 10px 0; }

/* ---------- Dati ---------- */

.numerico-sinistra[b-lqjw1zhlyu] { font-variant-numeric: tabular-nums; }

.spazio-barra[b-lqjw1zhlyu] { display: flex; height: 8px; margin-top: 10px; max-width: 360px; }

.dati-azioni[b-lqjw1zhlyu] { padding-top: 14px; margin-top: 16px; border-top: 1px solid var(--mud-palette-divider-light); }

/* ---------- Zona pericolosa: da sola, in fondo, col bordo rosso ---------- */

.zona-pericolosa[b-lqjw1zhlyu] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 16px;
    padding: 18px;
    border: 1px solid color-mix(in srgb, var(--mud-palette-error) 40%, var(--mud-palette-divider));
    border-radius: 20px;
    background: color-mix(in srgb, var(--mud-palette-error) 4%, var(--mud-palette-surface));
}

@media (min-width: 961px) { .zona-pericolosa[b-lqjw1zhlyu] { padding: 22px 24px; border-radius: 22px; } }

.zona-pericolosa-testo[b-lqjw1zhlyu] { flex: 1 1 200px; min-width: 0; }

.zona-pericolosa-titolo[b-lqjw1zhlyu] {
    margin: 0;
    font-size: 17px;
    font-weight: 650;
    color: var(--mud-palette-error);
}

.zona-pericolosa[b-lqjw1zhlyu]  .mud-button-root { flex: none; }

@media (max-width: 600px) {
    .zona-pericolosa[b-lqjw1zhlyu]  .mud-button-root { width: 100%; }
}
/* /Components/Pages/Admin/Pagamenti.razor.rz.scp.css */
.pagamenti-filtri[b-u9jc4myloh] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    padding: 12px 0 8px;
}

@media (max-width: 600px) {
    .pagamenti-filtri .schede[b-u9jc4myloh] { width: 100%; overflow-x: auto; flex-wrap: nowrap; }
}
/* /Components/Pages/Admin/Report.razor.rz.scp.css */
/* Gli anni stanno sopra tutto: cambiano ogni cifra della pagina. Su telefono
   scorrono dentro la loro fila invece di allargare la pagina. */
.report-anni[b-h72pb7sn35] { margin-bottom: 16px; }

@media (min-width: 961px) { .report-anni[b-h72pb7sn35] { margin-bottom: 20px; } }

@media (max-width: 600px) {
    .report-anni .schede[b-h72pb7sn35] { max-width: 100%; overflow-x: auto; flex-wrap: nowrap; }
}

/* Un mese per riga: nome, barra, importo. La barra e relativa al mese migliore,
   cosi si vede a colpo d'occhio dove l'incasso si e fermato. */
.mesi[b-h72pb7sn35] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.mese[b-h72pb7sn35] {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 30px;
}

.mese-nome[b-h72pb7sn35] {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    text-transform: capitalize;
}

.mese-barra[b-h72pb7sn35] { height: 8px; }

.mese-valore[b-h72pb7sn35] {
    min-width: 88px;
    text-align: right;
    font-size: 14px;
    font-weight: 600;
}

.report-vuoto[b-h72pb7sn35] { margin: 4px 0 18px; }

.report-totali[b-h72pb7sn35] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 12px 0 16px;
    border-top: 1px solid var(--mud-palette-divider);
}

.report-totale[b-h72pb7sn35] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    font-size: 14.5px;
}

.report-totale span[b-h72pb7sn35] { color: var(--mud-palette-text-secondary); }
.report-totale strong[b-h72pb7sn35] { font-variant-numeric: tabular-nums; white-space: nowrap; }
/* /Components/Pages/Admin/RiepilogoView.razor.rz.scp.css */
/* Il riquadro "Da incassare" e il "Da fare" stanno affiancati su schermo
   largo (3 a 2) e uno sotto l'altro su telefono. */
.riepilogo-alto[b-x383z712wu] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

[b-x383z712wu] .riepilogo-eroe { flex: 3 1 420px; }
[b-x383z712wu] .riepilogo-dafare { flex: 2 1 320px; }

@media (min-width: 961px) { .riepilogo-alto[b-x383z712wu] { gap: 20px; } }

.riepilogo-tutto-ok[b-x383z712wu] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: auto 0 0;
    padding-top: 12px;
    border-top: 1px solid var(--mud-palette-divider-light);
    font-size: 13.5px;
    font-weight: 500;
    color: var(--iq-credito);
}

.scheda-inquilino[b-x383z712wu] { gap: 16px; padding-bottom: 18px; }

@media (min-width: 961px) { .scheda-inquilino[b-x383z712wu] { padding-bottom: 22px; } }

.scheda-inquilino-saldi[b-x383z712wu] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.scheda-inquilino-cifra[b-x383z712wu] {
    margin: 2px 0;
    font-size: 21px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
/* /Components/Pages/Admin/SpeseFisse.razor.rz.scp.css */
/* Il riferimento (da dove viene l'importo) puo essere lungo: due righe al
   massimo nella lista, il resto si legge aprendo la voce. */
.spese-riferimento[b-7ka9z4m1qi] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 12.5px;
    max-width: 70ch;
}

.spese-documenti[b-7ka9z4m1qi] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    min-height: 28px;
    padding: 0 6px;
    margin-right: -6px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font: inherit;
    font-size: 12.5px;
    cursor: pointer;
}

.spese-documenti:hover[b-7ka9z4m1qi] { color: var(--iq-primario-forte); background: var(--iq-primario-tenue); }
/* /Components/Pages/Comunicazione/Messaggi.razor.rz.scp.css */
/* La riga e quella globale (.riga di app.css); qui solo cio che fa di una
   riga una conversazione: l'ora in coda e il peso di chi ha scritto. */

.conv-ora[b-rbw9kkow4m] {
    font-size: 12.5px;
    color: var(--mud-palette-text-secondary);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.conv-pallino[b-rbw9kkow4m] { margin-left: 0; }

/* Chi ha messaggi da leggere si vede anche senza il pallino: nome e anteprima
   piu scuri, ora nel colore principale. */
.conv--nuova .conv-nome[b-rbw9kkow4m] { font-weight: 700; }
.conv--nuova .conv-anteprima[b-rbw9kkow4m] { color: var(--mud-palette-text-primary); }
.conv--nuova .conv-ora[b-rbw9kkow4m] { color: var(--iq-primario-forte); font-weight: 600; }
/* /Components/Pages/Inquilino/Letture.razor.rz.scp.css */
.contatore[b-ixozljk1f1] { gap: 16px; padding-bottom: 18px; }

@media (min-width: 961px) { .contatore[b-ixozljk1f1] { padding-bottom: 22px; } }

/* L'ultima lettura: il numero grande a sinistra, la foto a portata di pollice. */
.contatore-ultima[b-ixozljk1f1] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.contatore-cifra[b-ixozljk1f1] {
    margin: 2px 0;
    font-size: 30px;
}

.contatore-cifra span[b-ixozljk1f1] {
    font-family: 'Onest', system-ui, sans-serif;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--mud-palette-text-secondary);
}

.contatore-riga[b-ixozljk1f1] { min-height: 56px; padding: 8px 0; }

.contatore-azione[b-ixozljk1f1] { margin-top: auto; }
/* /Components/Pages/Inquilino/MieiPagamenti.razor.rz.scp.css */
/* Il motivo del rifiuto sta in un riquadro rosso tenue sotto la riga: e la cosa
   da leggere per rimediare, deve vedersi anche scorrendo in fretta. */
.miei-rifiuto[b-70ek6iv80x] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 8px;
    padding: 8px 12px;
    border-radius: 12px;
    background: var(--iq-errore-tenue);
    color: var(--mud-palette-text-primary);
    font-size: 13.5px;
    line-height: 1.45;
}

.miei-rifiuto[b-70ek6iv80x]  .mud-icon-root {
    flex: none;
    font-size: 18px;
    margin-top: 1px;
    color: var(--iq-errore);
}

.miei-rifiuto strong[b-70ek6iv80x] { color: var(--iq-errore); font-weight: 650; }
/* /Components/Pages/Inquilino/SituazioneView.razor.rz.scp.css */
/* Il saldo a sinistra, affitto e scorciatoie a destra; uno sotto l'altro su telefono. */
.situazione-alto[b-9qrp6wvein] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: flex-start;
}

[b-9qrp6wvein] .situazione-saldo { flex: 3 1 400px; }
.situazione-lato[b-9qrp6wvein] { flex: 2 1 300px; min-width: 0; gap: 12px; }

@media (min-width: 961px) { .situazione-alto[b-9qrp6wvein] { gap: 20px; } }

.situazione-attesa[b-9qrp6wvein] {
    display: flex;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 12px;
    background: var(--iq-attesa-tenue);
    color: var(--iq-attesa);
    font-size: 14px;
}

.situazione-affitto[b-9qrp6wvein],
.situazione-link[b-9qrp6wvein] { padding-top: 4px; padding-bottom: 4px; }

.situazione-affitto[b-9qrp6wvein] { padding-bottom: 12px; }

.situazione-link[b-9qrp6wvein] { text-decoration: none; color: inherit; }
.situazione-link:hover[b-9qrp6wvein] { border-color: var(--mud-palette-lines-inputs); }

.situazione-mese[b-9qrp6wvein] { min-height: 64px; }

[b-9qrp6wvein] .situazione-freccia {
    flex: none;
    color: var(--mud-palette-text-secondary);
    transition: transform 0.2s ease;
}

[b-9qrp6wvein] .situazione-freccia--aperta { transform: rotate(180deg); }

.situazione-dettaglio[b-9qrp6wvein] {
    display: flex;
    flex-direction: column;
    margin: 0 0 12px;
    padding: 4px 14px;
    border-radius: 14px;
    background: var(--iq-incavo);
}

.situazione-voce[b-9qrp6wvein] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 0;
    border-top: 1px solid var(--mud-palette-divider-light);
}

.situazione-voce:first-child[b-9qrp6wvein] { border-top: 0; }

.situazione-voce-nome[b-9qrp6wvein] { display: block; font-size: 14px; font-weight: 500; }

/* Qui una riga sta da sola nella sua scheda: niente filo sopra. */
.situazione-affitto .riga[b-9qrp6wvein],
.situazione-link .riga[b-9qrp6wvein] { border-top: 0; }
/* /Components/Pages/Pubblico/Calcolatore.razor.rz.scp.css */
/* I dati e il conto affiancati su schermo largo, uno sotto l'altro sul
   telefono. Il conto e un po' piu stretto: e una cifra, non un modulo. */
.calc[b-93pkfrz9dh] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
}

@media (min-width: 861px) {
    .calc[b-93pkfrz9dh] {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
        gap: 20px;
        align-items: start;
    }
}

/* La bolletta e le sue date stanno insieme: un riquadro incassato le lega. */
.calc-gruppo[b-93pkfrz9dh] {
    padding: 14px 14px 12px;
    border-radius: 16px;
    background: var(--iq-incavo);
}

.calc-date[b-93pkfrz9dh] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
}

.calc-voce[b-93pkfrz9dh] {
    margin: 0 0 6px;
    font-size: 14px;
    opacity: 0.88;
}

/* La barra dei giorni sul riquadro colorato: chiara su scuro, nel colore del
   testo, cosi funziona sia sul blu pieno sia sulla tinta del tema scuro. */
.calc-barra[b-93pkfrz9dh] {
    margin-top: 16px;
    height: 8px;
    background: color-mix(in srgb, currentColor 22%, transparent);
}

.calc-barra > span[b-93pkfrz9dh] {
    background: currentColor;
    border-radius: 999px;
    transition: width 0.25s ease;
}

.calc-spiega[b-93pkfrz9dh] { margin-top: 8px; }

.calc-dati[b-93pkfrz9dh] {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 16px;
}

.calc-nota[b-93pkfrz9dh] {
    margin: 2px 0 0;
    font-size: 13px;
    line-height: 1.4;
    opacity: 0.85;
}
/* /Components/Pages/Verbali/DettaglioVerbale.razor.rz.scp.css */
.dettaglio-indietro[b-1wplfcoes9] { margin: -6px 0 4px -2px; }

/* Lo stato e il pulsante nella testa: allineati al centro, altrimenti la
   pillola si allungherebbe all'altezza del pulsante. */
.dettaglio-testa-azioni[b-1wplfcoes9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

/* L'esito del verbale: stesso riquadro dei suggerimenti, nel colore dello stato. */
.esito--errore[b-1wplfcoes9] { background: var(--iq-errore-tenue); }
.esito--errore[b-1wplfcoes9]  .mud-icon-root { color: var(--iq-errore); }
.esito--ok[b-1wplfcoes9] { background: var(--iq-credito-tenue); }
.esito--ok[b-1wplfcoes9]  .mud-icon-root { color: var(--iq-credito); }

/* ---------- Le voci ---------- */

.voce-stato[b-1wplfcoes9] { font-weight: 600; }

.voce-detrazione[b-1wplfcoes9] { color: var(--mud-palette-error); }

/* Le miniature scorrono in orizzontale sotto la riga, allineate al testo: su
   un telefono e il modo giusto di mostrarne cinque senza allungare la pagina. */
.voce-foto[b-1wplfcoes9] {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    margin: -4px 0 0 54px;
    padding-bottom: 14px;
    scrollbar-width: thin;
}

.foto-riquadro[b-1wplfcoes9] {
    flex: 0 0 auto;
    width: 88px;
    height: 88px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--mud-palette-divider);
    background: var(--iq-incavo);
    color: var(--mud-palette-text-secondary);
    display: grid;
    place-items: center;
}

.foto-riquadro:hover[b-1wplfcoes9] { border-color: var(--mud-palette-primary); }

.foto-riquadro img[b-1wplfcoes9] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (min-width: 961px) {
    .foto-riquadro[b-1wplfcoes9] { width: 104px; height: 104px; }
}

/* ---------- Tocca all'inquilino ---------- */

.tocca-a-te[b-1wplfcoes9] {
    gap: 16px;
    padding-bottom: 18px;
    border-color: color-mix(in srgb, var(--iq-attesa) 40%, var(--mud-palette-divider));
}

@media (min-width: 961px) { .tocca-a-te[b-1wplfcoes9] { padding-bottom: 22px; } }

.tocca-a-te-testa[b-1wplfcoes9] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.tocca-a-te-testa h2[b-1wplfcoes9] { margin-bottom: 2px; }

/* ---------- Cauzione ---------- */

.cauzione[b-1wplfcoes9] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

@media (min-width: 601px) {
    .cauzione[b-1wplfcoes9] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.cauzione-cifra[b-1wplfcoes9] {
    margin: 2px 0 0;
    font-family: var(--iq-titoli);
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}
/* /Components/Shared/EmptyState.razor.rz.scp.css */
.vuoto[b-t9a1ze9udp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 40px 24px;
}

.vuoto-titolo[b-t9a1ze9udp] { margin: 14px 0 0; }
.vuoto-testo[b-t9a1ze9udp] { margin: 8px 0 0; }
.vuoto-azione[b-t9a1ze9udp] { margin-top: 20px; }
/* /Components/Shared/FiloMessaggi.razor.rz.scp.css */
/* Solo struttura: i colori arrivano dal tema (--mud-palette-*, --iq-*). */

/* La scheda e alta quanto lo spazio libero dello schermo: sopra c'e la barra
   dell'app (64px) e il margine della pagina (8px), sotto il margine che la
   pagina lascia per la barra in basso (104px sul telefono, 56px su desktop).
   Cosi la pagina non scorre, scorrono solo i messaggi, e la casella di
   scrittura sta sempre sopra la barra di navigazione. */
.filo[b-ucwrf9dtvq] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: calc(100vh - 176px);
    height: calc(100dvh - 176px - env(safe-area-inset-bottom, 0px));
    min-height: 380px;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-divider);
    border-radius: 22px;
    overflow: hidden;
}

@media (min-width: 961px) {
    .filo[b-ucwrf9dtvq] {
        height: calc(100vh - 128px);
        height: calc(100dvh - 128px);
        min-height: 460px;
    }
}

/* ---------- Intestazione: chi c'e dall'altra parte ---------- */

.filo-testa[b-ucwrf9dtvq] {
    flex: none;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px 10px 14px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

@media (min-width: 961px) {
    .filo-testa[b-ucwrf9dtvq] { padding: 14px 18px; }
}

.filo-testa[b-ucwrf9dtvq]  .filo-chi {
    flex: 1 1 auto;
    min-width: 0;
}

.filo-testa[b-ucwrf9dtvq]  .filo-nome {
    margin: 0;
    font-family: var(--iq-titoli);
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.filo-testa[b-ucwrf9dtvq]  .filo-sotto {
    margin: 2px 0 0;
    font-size: 13px;
    line-height: 1.35;
    color: var(--mud-palette-text-secondary);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (min-width: 961px) {
    .filo-testa[b-ucwrf9dtvq]  .filo-nome { font-size: 21px; }
}

/* ---------- I messaggi ---------- */

.filo-messaggi[b-ucwrf9dtvq] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 12px 12px 16px;
}

@media (min-width: 961px) {
    .filo-messaggi[b-ucwrf9dtvq] { padding: 16px 22px 20px; }
}

/* Con un solo avviso nella scheda, lo si mette in mezzo. */
.filo-messaggi[b-ucwrf9dtvq]  .vuoto { margin: auto 0; }

.filo-messaggi[b-ucwrf9dtvq]  .filo-scheletro { border-radius: 18px; margin-top: 8px; }
.filo-messaggi[b-ucwrf9dtvq]  .filo-scheletro--mio { align-self: flex-end; }

.filo-giorno[b-ucwrf9dtvq] {
    align-self: center;
    margin: 14px 0 8px;
}

.filo-giorno:first-child[b-ucwrf9dtvq] { margin-top: 0; }

.filo-giorno span[b-ucwrf9dtvq] {
    display: inline-block;
    padding: 3px 12px;
    border-radius: 999px;
    background: var(--iq-neutro-tenue);
    font-size: 12px;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.bolla[b-ucwrf9dtvq] {
    max-width: min(82%, 560px);
    margin-top: 8px;
    padding: 9px 14px 7px;
    border-radius: 18px;
    font-size: 15px;
    line-height: 1.45;
}

@media (min-width: 601px) {
    .bolla[b-ucwrf9dtvq] { max-width: min(68%, 560px); }
}

/* La seconda bolla di fila della stessa persona sta attaccata alla prima. */
.bolla--segue[b-ucwrf9dtvq] { margin-top: 0; }

/* Le proprie a destra, in colore pieno: si distinguono senza leggere il nome.
   L'angolo verso il bordo e piu stretto: indica da che parte arriva. */
.bolla-mia[b-ucwrf9dtvq] {
    align-self: flex-end;
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    border-bottom-right-radius: 6px;
}

.bolla-sua[b-ucwrf9dtvq] {
    align-self: flex-start;
    background: var(--iq-incavo);
    color: var(--mud-palette-text-primary);
    border-bottom-left-radius: 6px;
}

.bolla-mia.bolla--segue[b-ucwrf9dtvq] { border-top-right-radius: 6px; }
.bolla-sua.bolla--segue[b-ucwrf9dtvq] { border-top-left-radius: 6px; }

.bolla-autore[b-ucwrf9dtvq] {
    font-size: 12.5px;
    font-weight: 650;
    color: var(--iq-primario-forte);
    margin-bottom: 1px;
}

/* Gli a capo scritti da chi manda vanno tenuti; una parola lunghissima
   (un IBAN, un link) deve spezzarsi invece di allargare la bolla. */
.bolla-testo[b-ucwrf9dtvq] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.bolla-meta[b-ucwrf9dtvq] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
    font-size: 11px;
    margin-top: 1px;
    opacity: 0.72;
    font-variant-numeric: tabular-nums;
}

[b-ucwrf9dtvq] .bolla-spunta {
    font-size: 15px !important;
    width: 15px;
    height: 15px;
}

/* ---------- Casella di scrittura ---------- */

.filo-composizione[b-ucwrf9dtvq] {
    flex: none;
    padding: 10px 10px 10px 12px;
    border-top: 1px solid var(--mud-palette-divider);
    background: var(--mud-palette-surface);
}

@media (min-width: 961px) {
    .filo-composizione[b-ucwrf9dtvq] { padding: 12px 18px 10px; }
}

.filo-riga[b-ucwrf9dtvq] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

/* min-width:0 perche una textarea in un flex non si stringe da sola */
.filo-campo[b-ucwrf9dtvq] {
    flex: 1 1 auto;
    min-width: 0;
}

/* Il campo arrotondato come in ogni chat, senza i margini di un modulo. */
.filo-campo[b-ucwrf9dtvq]  .mud-input-control {
    margin: 0 !important;
}

.filo-campo[b-ucwrf9dtvq]  .mud-input.mud-input-outlined {
    border-radius: 22px;
    background: var(--iq-incavo);
}

.filo-campo[b-ucwrf9dtvq]  .mud-input-outlined .mud-input-outlined-border {
    border-radius: 22px;
    border-color: var(--mud-palette-divider);
}

.filo-campo[b-ucwrf9dtvq]  .mud-input-outlined:focus-within .mud-input-outlined-border {
    border-color: var(--mud-palette-primary);
}

.filo-campo[b-ucwrf9dtvq]  textarea {
    font-size: 16px; /* 16px evita lo zoom automatico di iOS al tocco */
    line-height: 1.4;
}

.filo-campo[b-ucwrf9dtvq]  .mud-input-helper-text {
    padding-left: 14px;
}

/* Il pulsante tondo, alto quanto il campo vuoto: il pollice lo trova da solo. */
[b-ucwrf9dtvq] .filo-invia {
    flex: none;
    width: 48px;
    height: 48px;
    border-radius: 999px !important;
    margin-bottom: 9px;
}

/* Suggerimento da tastiera: su un telefono non c'e un tasto Ctrl. */
.filo-scorciatoia[b-ucwrf9dtvq] {
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
    margin-top: 4px;
    padding-left: 14px;
}

@media (max-width: 600px) {
    .filo-scorciatoia[b-ucwrf9dtvq] { display: none; }
}
/* /Components/Shared/Marchio.razor.rz.scp.css */
/* display:block toglie lo spazio da riga di testo che un <svg> inline si porta
   dietro; flex:none evita che un contenitore flex lo schiacci. */
.marchio[b-3i2vnki2lr] {
    display: block;
    flex: none;
}
/* /Components/Shared/PageHeader.razor.rz.scp.css */
.intestazione[b-s6dz0oifdu] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 20px;
}

.intestazione-sopra[b-s6dz0oifdu] {
    margin: 0 0 4px;
    font-size: 14px;
    color: var(--mud-palette-text-secondary);
}

.intestazione-sotto[b-s6dz0oifdu] {
    margin: 6px 0 0;
    font-size: 15px;
    color: var(--mud-palette-text-secondary);
}

.intestazione-azione[b-s6dz0oifdu] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

@media (min-width: 601px) {
    .intestazione[b-s6dz0oifdu] {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: 24px;
        margin-bottom: 28px;
    }
    .intestazione-azione[b-s6dz0oifdu] {
        flex-shrink: 0;
    }
}
/* /Components/Shared/SchedeSpese.razor.rz.scp.css */
.schede-spese[b-fc2qmbtzs0] { margin-bottom: 20px; }

@media (max-width: 600px) {
    .schede-spese[b-fc2qmbtzs0] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
}
/* /Components/Shared/SectionCard.razor.rz.scp.css */
.scheda[b-jw0b3ux2pf] {
    padding: 20px;
    border: 1px solid var(--mud-palette-divider);
    border-radius: 20px;
    background: var(--mud-palette-surface);
    min-width: 0;
}

.scheda-compatta[b-jw0b3ux2pf] { padding: 16px 18px; }

.scheda-elenco[b-jw0b3ux2pf] { padding: 6px 14px; }
.scheda-elenco .scheda-testa[b-jw0b3ux2pf] { margin: 10px 0 4px; }

@media (min-width: 961px) {
    .scheda[b-jw0b3ux2pf] { padding: 24px; border-radius: 22px; }
    .scheda-compatta[b-jw0b3ux2pf] { padding: 18px 20px; }
    .scheda-elenco[b-jw0b3ux2pf] { padding: 8px 22px; }
}

.scheda-testa[b-jw0b3ux2pf] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.scheda-titolo[b-jw0b3ux2pf] {
    margin: 0;
    font-size: 18px;
    font-weight: 650;
    line-height: 1.3;
}

.scheda-nota[b-jw0b3ux2pf] { margin: 3px 0 0; }

.scheda-strumenti[b-jw0b3ux2pf] { flex-shrink: 0; display: flex; align-items: center; gap: 6px; }
/* /Components/Shared/Soldi.razor.rz.scp.css */
.soldi-grande[b-lkurxi50pt] {
    font-size: 30px;
    line-height: 1.1;
    text-align: left;
}
