html, body {
    font-family: 'Roboto', sans-serif;
}

/* ---- Barre di scorrimento discrete e coerenti col tema ---- */
* {
    scrollbar-width: thin;
    scrollbar-color: rgba(120, 130, 150, 0.45) transparent;
}

*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

*::-webkit-scrollbar-thumb {
    background: rgba(120, 130, 150, 0.4);
    border-radius: 8px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:hover {
    background: rgba(120, 130, 150, 0.65);
    background-clip: padding-box;
}

/* Chip utente nella AppBar: testo e icona sempre bianchi (anche in tema chiaro) */
.appbar-user,
.appbar-user .mud-chip-icon,
.appbar-user .mud-icon-root {
    color: #ffffff !important;
}

/* ---- Titolo applicazione nella AppBar ---- */
.app-title {
    letter-spacing: 0.2px;
}

.app-title b {
    font-weight: 500;
}

/* ---- Schermata di login ---- */
.login-bg {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: linear-gradient(135deg, #1f3a63 0%, #2f5ca8 55%, #12a89f 140%);
}

.login-container {
    padding: 0 !important;
}

.login-card {
    border-radius: 16px;
    overflow: hidden;
}

.login-logo {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 16px;
    background: #ffffff;
    padding: 8px;
    box-shadow: 0 6px 18px rgba(47, 92, 168, 0.35);
}

/* Testo digitato centrato nei campi del login.
   Istr36: le due icone stanno da parti opposte — la persona a sinistra sull'username,
   l'occhio a destra sulla password — e l'input occupa solo lo spazio che l'icona gli
   lascia. Il testo finiva centrato sull'input, non sul campo, quindi i due valori
   risultavano sfalsati fra loro. Si dà all'icona lo stesso ingombro da una parte e
   dall'altra e si riserva altrettanto spazio dal lato libero: cosi' in tutti e due i
   campi il testo e' centrato sul campo. */
.login-input-center {
    /* icona 24px + 8px di margine per lato + 14px di padding del campo dal lato icona */
    --login-spazio-icona: 54px;
}

.login-input-center input {
    text-align: center;
}

.login-input-center .mud-input-adornment {
    width: 24px;
    min-width: 24px;
    justify-content: center;
    margin-inline: 8px;
}

/* Selettori lunghi di proposito: MudBlazor imposta il padding dell'input con
   .mud-input > input.mud-input-root-outlined.mud-input-root-adorned-start, che ha la
   meglio su un selettore piu' corto. */
.login-input-center .mud-input.mud-input-outlined > input.mud-input-root-adorned-start {
    padding-inline-end: var(--login-spazio-icona);
}

.login-input-center .mud-input.mud-input-outlined > input.mud-input-root-adorned-end {
    padding-inline-start: var(--login-spazio-icona);
}

/* ---- Rifinitura generale card/tabelle ---- */
.mud-table-container {
    border-radius: 10px;
}

/* ---- Riquadro errore Blazor coerente col tema ---- */
#blazor-error-ui {
    background: #fff4d6;
    color: #6b4e00;
    bottom: 0;
    box-shadow: 0 -1px 8px rgba(0, 0, 0, 0.18);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

/* Istr19: segnalibro "F" di documento/riga fatturata — lettera colorata su sfondo
   bianco dentro una circonferenza dello stesso colore. Il colore lo passa la pagina
   (rosso = fatturato, arancione = fatturato in parte). */
.icona-fatturato {
    align-items: center;
    background: #fff;
    border: 2px solid currentColor;
    border-radius: 50%;
    display: inline-flex;
    font-size: 0.75rem;
    font-weight: 700;
    height: 22px;
    justify-content: center;
    line-height: 1;
    width: 22px;
}
