/* /Components/Dialogs/PosTerminalSimulatorDialog.razor.rz.scp.css */
/* Le variabili stanno sul layout e non sulla radice del MudDialog: quella la disegna MudBlazor senza
   l'attributo di scope del CSS isolato, quindi nessuna regola di questo file la raggiunge. */
.pos-simulator-layout[b-y6qzgcibuo] {
    --pos-ink: #17212f;
    --pos-muted: #788494;
    --pos-blue: #2563eb;
    --pos-green: #138a5b;
}

.pos-dialog-heading[b-y6qzgcibuo] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    justify-content: space-between;
    /* Spazio per la X di chiusura del dialog, che e' posizionata in assoluto sopra il titolo. */
    padding-right: 40px;
}

/* Senza min-width il titolo si comprime fino a una colonna di un carattere accanto al chip su mobile. */
.pos-dialog-heading > div[b-y6qzgcibuo] {
    flex: 1 1 220px;
    min-width: 0;
}

.pos-simulator-layout[b-y6qzgcibuo] {
    align-items: center;
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(230px, .9fr) minmax(300px, 1.1fr);
    min-height: 430px;
}

.pos-terminal[b-y6qzgcibuo] {
    align-items: center;
    background: linear-gradient(145deg, #283344, #111923 78%);
    border: 1px solid #405064;
    border-radius: 25px;
    box-shadow: 0 22px 40px rgba(15, 25, 40, .28), inset 0 1px 1px rgba(255,255,255,.2);
    color: white;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    max-width: 245px;
    padding: 13px 17px 16px;
    width: 100%;
}

.pos-terminal-speaker[b-y6qzgcibuo] {
    align-items: center;
    display: flex;
    gap: 4px;
    height: 9px;
    justify-content: center;
    margin-bottom: 9px;
}

.pos-terminal-speaker span[b-y6qzgcibuo] {
    background: #657185;
    border-radius: 50%;
    height: 4px;
    width: 4px;
}

.pos-terminal-screen[b-y6qzgcibuo] {
    background: #eaf0f7;
    border: 3px solid #0a1017;
    border-radius: 10px;
    color: var(--pos-ink);
    height: 171px;
    overflow: hidden;
    padding: 9px 10px;
    width: 100%;
}

.pos-screen-brand[b-y6qzgcibuo] {
    align-items: center;
    color: #47566a;
    display: flex;
    font-size: 10px;
    font-weight: 750;
    gap: 5px;
}

.pos-brand-mark[b-y6qzgcibuo] {
    align-items: center;
    background: var(--pos-blue);
    border-radius: 5px;
    color: white;
    display: inline-flex;
    font-size: 11px;
    height: 18px;
    justify-content: center;
    width: 18px;
}

.pos-screen-signal[b-y6qzgcibuo] {
    color: #19a573;
    font-size: 8px;
    margin-left: auto;
}

.pos-screen-amount-label[b-y6qzgcibuo] {
    color: #657386;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .09em;
    margin-top: 17px;
    text-align: center;
}

.pos-screen-amount[b-y6qzgcibuo] {
    color: #101c2a;
    font-size: 30px;
    font-weight: 750;
    letter-spacing: -.04em;
    line-height: 1.25;
    text-align: center;
}

.pos-screen-prompt[b-y6qzgcibuo] {
    align-items: center;
    color: #3d587b;
    display: flex;
    font-size: 7px;
    font-weight: 750;
    gap: 4px;
    justify-content: center;
    margin-top: 12px;
}

.pos-screen-prompt[b-y6qzgcibuo]  .mud-icon-root {
    font-size: 16px;
}

.pos-screen-wait[b-y6qzgcibuo],
.pos-screen-result[b-y6qzgcibuo] {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 127px;
}

.pos-screen-wait[b-y6qzgcibuo]  .mud-icon-root,
.pos-screen-result[b-y6qzgcibuo]  .mud-icon-root {
    color: var(--pos-blue);
    font-size: 36px;
    margin-bottom: 5px;
}

.pos-screen-wait strong[b-y6qzgcibuo],
.pos-screen-result strong[b-y6qzgcibuo] {
    font-size: 10px;
    letter-spacing: .04em;
    text-align: center;
}

.pos-screen-wait span[b-y6qzgcibuo],
.pos-screen-result span[b-y6qzgcibuo] {
    color: #657386;
    font-size: 7px;
    margin-top: 3px;
    text-align: center;
}

.pos-terminal-screen.is-approved .pos-screen-result[b-y6qzgcibuo]  .mud-icon-root { color: var(--pos-green); }
.pos-terminal-screen.is-declined .pos-screen-result[b-y6qzgcibuo]  .mud-icon-root { color: #dc3545; }
.pos-screen-result.pos-screen-failed strong[b-y6qzgcibuo] { color: #bd2938; }
.pos-terminal-contactless[b-y6qzgcibuo] { color: #9eacc0; margin: 9px 0 3px auto; }
.pos-terminal-contactless[b-y6qzgcibuo]  .mud-icon-root { font-size: 22px; }

.pos-keypad[b-y6qzgcibuo] {
    display: grid;
    gap: 7px 12px;
    grid-template-columns: repeat(3, 1fr);
    margin: 4px 12px 10px;
    width: 82%;
}

.pos-keypad span[b-y6qzgcibuo] {
    align-items: center;
    background: linear-gradient(#465366, #354153);
    border: 1px solid #566477;
    border-radius: 6px;
    box-shadow: 0 2px 0 #1a222e;
    color: #f1f4f8;
    display: flex;
    font-size: 11px;
    height: 19px;
    justify-content: center;
}

.pos-terminal-footer[b-y6qzgcibuo] {
    color: #a5b1c2;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .13em;
}

.pos-terminal-footer span[b-y6qzgcibuo] { color: #29ca91; margin-right: 4px; }

.pos-simulation-controls[b-y6qzgcibuo] { align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
/* Pannello di controllo sui colori del tema MudBlazor, cosi' resta leggibile anche in modalita' scura;
   il terminale disegnato a sinistra ha invece colori propri, come un oggetto fisico. */
.pos-demo-banner[b-y6qzgcibuo] { align-items: center; background: rgba(255, 176, 32, .14); border: 1px solid rgba(255, 176, 32, .45); border-radius: 8px; color: var(--mud-palette-text-primary); display: flex; font-size: 12px; gap: 9px; margin-bottom: 23px; padding: 10px 12px; }
.pos-demo-banner[b-y6qzgcibuo]  .mud-icon-root { flex: none; font-size: 19px; }
.pos-total[b-y6qzgcibuo] { color: var(--mud-palette-text-primary); font-weight: 750; margin-top: -5px; }
.pos-outcome-buttons[b-y6qzgcibuo] { display: flex; flex-wrap: wrap; gap: 8px; }
.pos-mode-switch[b-y6qzgcibuo] { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.pos-deposit-breakdown[b-y6qzgcibuo] { align-items: center; color: var(--mud-palette-text-secondary); display: flex; flex-wrap: wrap; font-size: 13px; gap: 6px 12px; margin-top: 4px; }
/* Badge semplice e non MudChip: il chip ha altezza fissa e su mobile il testo usciva dalla pillola. */
.pos-cover-badge[b-y6qzgcibuo] { border: 1px solid var(--mud-palette-info); border-radius: 12px; color: var(--mud-palette-info); font-size: 12px; line-height: 1.3; max-width: 100%; padding: 3px 10px; }
/* I campi MudBlazor crescono (flex-grow) dentro una colonna flex e allontanano il testo di aiuto dal campo. */
.pos-simulation-controls[b-y6qzgcibuo]  .mud-input-control { flex-grow: 0; }
.pos-capture-form[b-y6qzgcibuo] { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }
.pos-dialog-actions[b-y6qzgcibuo] { align-items: center; display: flex; gap: 8px; justify-content: flex-end; margin-top: auto; padding-top: 24px; }
.pos-spin[b-y6qzgcibuo] { animation: pos-spin-b-y6qzgcibuo 1.1s linear infinite; }

@keyframes pos-spin-b-y6qzgcibuo { to { transform: rotate(360deg); } }

@media (max-width: 680px) {
    /* minmax(0, 1fr): senza, la colonna si allarga al contenuto (pulsanti, campi) e la modale scorre in orizzontale. */
    .pos-simulator-layout[b-y6qzgcibuo] { gap: 20px; grid-template-columns: minmax(0, 1fr); }
    .pos-simulator-layout > *[b-y6qzgcibuo] { min-width: 0; }
    .pos-terminal[b-y6qzgcibuo] { max-width: 220px; }
    .pos-simulation-controls[b-y6qzgcibuo] { min-height: 300px; }
}
/* /Components/Dialogs/RdsEditDialog.razor.rz.scp.css */
.rds-title[b-ck21ld8jz6] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rds-title-text[b-ck21ld8jz6] {
    font-size: 1.05rem;
    font-weight: 600;
}

.rds-loading[b-ck21ld8jz6] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 24px 4px;
    color: var(--mud-palette-text-secondary);
}

/* Scorrimento solo verticale: la griglia non genera piu' la barra orizzontale. */
.rds-body[b-ck21ld8jz6] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 65vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 2px 4px 4px 0;
}

.rds-section[b-ck21ld8jz6] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px 16px 16px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    background: var(--mud-palette-surface);
}

.rds-section-title[b-ck21ld8jz6] {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-primary);
}

.rds-grid[b-ck21ld8jz6] {
    display: grid;
    gap: 12px 16px;
    align-items: end;
}

.rds-grid-3[b-ck21ld8jz6] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rds-grid-4[b-ck21ld8jz6] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rds-span-2[b-ck21ld8jz6] {
    grid-column: span 2;
}

.rds-span-all[b-ck21ld8jz6] {
    grid-column: 1 / -1;
}

.rds-field[b-ck21ld8jz6] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.rds-field[b-ck21ld8jz6]  .mud-input-control {
    margin: 0 !important;
}

/* Le caselle stanno sulla riga dei campi, centrate sull'altezza di un input. */
.rds-field-check[b-ck21ld8jz6] {
    justify-content: center;
    min-height: 40px;
}

.rds-label[b-ck21ld8jz6] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.rds-required[b-ck21ld8jz6] {
    color: var(--mud-palette-error);
}

.rds-docs[b-ck21ld8jz6] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px 24px;
}

.rds-checks[b-ck21ld8jz6] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 20px;
}

.rds-checks[b-ck21ld8jz6]  .mud-checkbox,
.rds-field-check[b-ck21ld8jz6]  .mud-checkbox {
    margin: 0;
}

.rds-field-narrow[b-ck21ld8jz6] {
    width: 160px;
}

.rds-actions-hint[b-ck21ld8jz6] {
    font-size: 0.8125rem;
    color: var(--mud-palette-warning-darken, #b45309);
}

@media (max-width: 900px) {
    .rds-grid-3[b-ck21ld8jz6],
    .rds-grid-4[b-ck21ld8jz6] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .rds-grid-3[b-ck21ld8jz6],
    .rds-grid-4[b-ck21ld8jz6] {
        grid-template-columns: 1fr;
    }

    .rds-span-2[b-ck21ld8jz6] {
        grid-column: auto;
    }
}
/* /Components/Layout/BookingEngineLayout.razor.rz.scp.css */
.booking-layout-shell[b-mr7nn0vpzu] {
    --booking-text: #e6eef8;
    --booking-muted: #99a7bd;
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(56, 189, 248, 0.16), transparent 26%),
        radial-gradient(circle at bottom right, rgba(244, 114, 182, 0.14), transparent 24%),
        linear-gradient(135deg, #08101d 0%, #0d1729 52%, #071422 100%);
    color: var(--booking-text);
}

.booking-layout-glow[b-mr7nn0vpzu] {
    position: absolute;
    width: 32rem;
    height: 32rem;
    border-radius: 999px;
    filter: blur(90px);
    opacity: 0.5;
    pointer-events: none;
}

.booking-layout-glow--left[b-mr7nn0vpzu] {
    top: -12rem;
    left: -10rem;
    background: rgba(14, 165, 233, 0.34);
}

.booking-layout-glow--right[b-mr7nn0vpzu] {
    right: -12rem;
    bottom: -14rem;
    background: rgba(168, 85, 247, 0.3);
}

.booking-layout-header[b-mr7nn0vpzu],
.booking-layout-footer[b-mr7nn0vpzu],
.booking-layout-main[b-mr7nn0vpzu] {
    position: relative;
    z-index: 1;
}

.booking-layout-header[b-mr7nn0vpzu] {
    width: min(1320px, calc(100% - 2rem));
    margin: 0 auto;
    padding: 1.25rem 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.booking-layout-brand[b-mr7nn0vpzu] {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    color: inherit;
    text-decoration: none;
}

.booking-layout-brand__mark[b-mr7nn0vpzu] {
    width: 2.75rem;
    height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.9rem;
    background: #fff;
    padding: 0.3rem;
    box-shadow: 0 18px 40px rgba(56, 189, 248, 0.22);
}

.booking-layout-brand__mark img[b-mr7nn0vpzu] {
    display: block;
    width: 100%;
    height: 100%;
}

.booking-layout-brand__copy[b-mr7nn0vpzu] {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
    font-family: "Aptos", "Trebuchet MS", "Segoe UI", sans-serif;
}

.booking-layout-brand__copy strong[b-mr7nn0vpzu] {
    font-size: 1rem;
    letter-spacing: 0.04em;
}

.booking-layout-brand__copy span[b-mr7nn0vpzu] {
    color: var(--booking-muted);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.booking-layout-nav[b-mr7nn0vpzu] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.booking-layout-nav a[b-mr7nn0vpzu] {
    color: var(--booking-text);
    text-decoration: none;
    font-weight: 600;
}

.booking-layout-nav__cta[b-mr7nn0vpzu] {
    min-width: 7rem;
}

.booking-layout-main[b-mr7nn0vpzu] {
    width: min(1320px, calc(100% - 2rem));
    margin: 0 auto;
    padding: 1.25rem 0 3rem;
}

.booking-layout-footer[b-mr7nn0vpzu] {
    width: min(1320px, calc(100% - 2rem));
    margin: 0 auto;
    padding: 0 0 1.5rem;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    color: var(--booking-muted);
    font-size: 0.9rem;
}

@media (max-width: 900px) {
    .booking-layout-header[b-mr7nn0vpzu],
    .booking-layout-footer[b-mr7nn0vpzu] {
        flex-direction: column;
        align-items: flex-start;
    }

    .booking-layout-nav[b-mr7nn0vpzu] {
        width: 100%;
        flex-wrap: wrap;
    }

    .booking-layout-footer[b-mr7nn0vpzu] {
        padding-bottom: 2rem;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ============================================================
   APPBAR TITLE
   ============================================================ */

.appbar-title[b-5b7rvnrz5z] {
    font-size: .9375rem;
    font-weight: 700;
    letter-spacing: -.01em;
    opacity: 0.97;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 220px;
}

/* Logo: intero da tablet in su, solo il simbolo su telefono. */
.appbar-logo[b-5b7rvnrz5z] { margin-inline: 4px 6px; height: 32px; padding: 3px 10px; }
.appbar-logo img[b-5b7rvnrz5z] { display: block; height: 100%; width: auto; max-width: 180px; object-fit: contain; }
.appbar-logo__mark[b-5b7rvnrz5z] { display: none !important; }

@media (max-width: 600px) {
    .appbar-logo[b-5b7rvnrz5z] { padding: 3px 5px; }
    .appbar-logo__full[b-5b7rvnrz5z] { display: none !important; }
    .appbar-logo__mark[b-5b7rvnrz5z] { display: block !important; }
}

/* ============================================================
   USER CONTEXT (appbar destra)
   ============================================================ */

.layout-user-context[b-5b7rvnrz5z] {
    align-items: center;
    display: flex;
    gap: 12px;
    margin-right: 6px;
}

.layout-user-context__item[b-5b7rvnrz5z] {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    min-width: 0;
}

/* Item con avatar (nome utente) */
.layout-user-context__item--name[b-5b7rvnrz5z] {
    flex-direction: row;
    align-items: center;
    gap: 7px;
}

.layout-user-context__label[b-5b7rvnrz5z] {
    font-size: 10px;
    opacity: 0.75;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 600;
}

.layout-user-context__value[b-5b7rvnrz5z] {
    font-size: 12.5px;
    font-weight: 600;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    opacity: 0.95;
}

/* Avatar circolare con iniziale */
.layout-user-context__avatar[b-5b7rvnrz5z] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22);
    border: 1.5px solid rgba(255, 255, 255, 0.4);
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
    letter-spacing: 0;
    line-height: 1;
}

.openai-rate-limit[b-5b7rvnrz5z] {
    margin-right: 6px;
    min-width: auto;
    white-space: nowrap;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* Le voci "mobile only" del menu ⋮ compaiono solo quando le azioni secondarie escono dalla barra. */
.appbar-mobile-only[b-5b7rvnrz5z] { display: none; }

@media (max-width: 960px) {
    .layout-user-context[b-5b7rvnrz5z] { display: none; }
    .appbar-title[b-5b7rvnrz5z] { max-width: 140px; }
}

@media (max-width: 600px) {
    .appbar-title[b-5b7rvnrz5z] { display: none; }
    .appbar-mobile-only[b-5b7rvnrz5z] { display: block; }
}

/* Tablet in orizzontale: le azioni secondarie sono nel menu ⋮ (vedi app.css); dell'utente resta l'avatar
   (il nome e' nel suggerimento), l'ufficio si vede e si cambia dal menu ⋮. */
@media (min-width: 961px) and (max-width: 1279px) {
    .appbar-mobile-only[b-5b7rvnrz5z] { display: block; }
    .layout-user-context__item:not(.layout-user-context__item--name)[b-5b7rvnrz5z] { display: none; }
    .layout-user-context__item--name .layout-user-context__value[b-5b7rvnrz5z] { display: none; }
}
/* /Components/Layout/QuickActionsTab.razor.rz.scp.css */
/* Linguetta appesa al bordo inferiore dell'header, al centro: e' dentro l'AppBar (fisso), quindi top: 100%
   la attacca all'header qualunque sia la sua altezza. */
.quick-actions[b-tdhizl88yp] {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: calc(100vw - 32px);
}

/* Stesso sfondo dell'header (MudAppBar Color.Primary, tema MudBlazorAdminDashboard): il pannello ne sembra il
   prolungamento, come la linguetta. */
.quick-actions__panel[b-tdhizl88yp] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    padding: 10px 12px;
    background: var(--mud-palette-primary);
    border-radius: 0 0 10px 10px;
    box-shadow: var(--mud-elevation-4);
}

.quick-actions__tab[b-tdhizl88yp] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 10px 3px;
    border: none;
    border-radius: 0 0 8px 8px;
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    font: inherit;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .02em;
    line-height: 1.4;
    cursor: pointer;
    box-shadow: var(--mud-elevation-2);
    opacity: .92;
}

.quick-actions__tab:hover[b-tdhizl88yp],
.quick-actions.is-open .quick-actions__tab[b-tdhizl88yp] {
    opacity: 1;
}

.quick-actions__tab:focus-visible[b-tdhizl88yp] {
    outline: 2px solid var(--mud-palette-secondary);
    outline-offset: 2px;
}

/* Pulsanti bianchi sul blu dell'header, testo e icona nel colore primario (anche nel tema scuro). */
.quick-actions__panel[b-tdhizl88yp]  .quick-actions__button {
    white-space: nowrap;
    background-color: #fff;
    color: var(--mud-palette-primary);
}

.quick-actions__panel[b-tdhizl88yp]  .quick-actions__button:hover {
    background-color: rgba(255, 255, 255, .88);
}

.quick-actions__panel[b-tdhizl88yp]  .quick-actions__button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

@media print {
    .quick-actions[b-tdhizl88yp] { display: none; }
}
/* /Components/Pages/Admin/LocalizationAdmin.razor.rz.scp.css */
.translation-row[b-0wieekuz8g] {
    cursor: pointer;
}

.translation-row-selected > td[b-0wieekuz8g] {
    background: #eef5ff;
}
/* /Components/Pages/Admin/UsersAdmin.razor.rz.scp.css */
.row-clickable[b-x52ksylx04] {
    cursor: pointer;
}

.row-selected > td[b-x52ksylx04] {
    background: #f3f0ff;
}
/* /Components/Pages/Ai/AiSchede.razor.rz.scp.css */
/* Barra delle sezioni neutra, cosi' non si confonde con le schede interne del cruscotto (blu). */
.ai-schede[b-qoyl65w0su] {
    margin-bottom: 12px;
}

.ai-schede[b-qoyl65w0su]  .mud-tabs-tabbar {
    background: var(--mud-palette-surface);
}

.ai-schede[b-qoyl65w0su]  .ai-schede-active {
    color: var(--mud-palette-primary);
    font-weight: 600;
}
/* /Components/Pages/BookingEngine/BookingEngine.razor.rz.scp.css */
.booking-engine-page[b-ohfaw66gag] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    font-family: "Aptos", "Trebuchet MS", "Segoe UI", sans-serif;
}

.booking-hero[b-ohfaw66gag] {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
    gap: 1.5rem;
    align-items: stretch;
}

.booking-hero__copy[b-ohfaw66gag],
.booking-search-card[b-ohfaw66gag],
.booking-value-card[b-ohfaw66gag],
.booking-offer-card[b-ohfaw66gag],
.booking-summary-card[b-ohfaw66gag],
.booking-summary-panel__points article[b-ohfaw66gag] {
    border: 1px solid rgba(148, 163, 184, 0.16);
    background: rgba(7, 15, 28, 0.72);
    backdrop-filter: blur(18px);
    box-shadow: 0 24px 80px rgba(4, 10, 20, 0.28);
}

.booking-hero__copy[b-ohfaw66gag] {
    border-radius: 2rem;
    padding: 2rem;
    background:
        radial-gradient(circle at top left, rgba(56, 189, 248, 0.14), transparent 28%),
        linear-gradient(145deg, rgba(11, 23, 42, 0.94), rgba(9, 16, 31, 0.82));
}

.booking-hero__eyebrow[b-ohfaw66gag],
.booking-search-card__eyebrow[b-ohfaw66gag],
.booking-results-header__eyebrow[b-ohfaw66gag],
.booking-value-card span[b-ohfaw66gag] {
    display: inline-flex;
    margin-bottom: 0.85rem;
    color: #7dd3fc;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.78rem;
    font-weight: 800;
}

.booking-hero h1[b-ohfaw66gag] {
    margin: 0;
    max-width: 12ch;
    font-size: clamp(2.8rem, 6vw, 5.3rem);
    line-height: 0.94;
}

.booking-hero p[b-ohfaw66gag] {
    max-width: 60ch;
    margin: 1rem 0 0;
    color: #b7c5d9;
    font-size: 1.03rem;
    line-height: 1.7;
}

.booking-hero__trust[b-ohfaw66gag] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

.booking-trust-card[b-ohfaw66gag] {
    padding: 1rem 1.1rem;
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(148, 163, 184, 0.14);
}

.booking-trust-card strong[b-ohfaw66gag] {
    display: block;
    font-size: 1.45rem;
}

.booking-trust-card span[b-ohfaw66gag] {
    color: #9eb0c8;
    font-size: 0.92rem;
}

.booking-search-card[b-ohfaw66gag] {
    border-radius: 2rem;
    padding: 1.5rem;
}

.booking-search-card__head h2[b-ohfaw66gag] {
    margin: 0;
    font-size: 1.7rem;
}

.booking-search-card__head p[b-ohfaw66gag] {
    margin: 0.55rem 0 1.2rem;
    color: #a7b9cf;
    line-height: 1.6;
}

.booking-field-label[b-ohfaw66gag] {
    color: #8ba2c1;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.booking-checkboxes[b-ohfaw66gag] {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.booking-checkboxes[b-ohfaw66gag]  .mud-checkbox {
    margin-top: 0.15rem;
}

.booking-search-card__actions[b-ohfaw66gag] {
    margin-top: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #9cb0c9;
}

.booking-search-card__actions span[b-ohfaw66gag] {
    max-width: 26rem;
    font-size: 0.95rem;
}

.booking-search-skeleton[b-ohfaw66gag] {
    display: grid;
    gap: 0.85rem;
}

.booking-alert[b-ohfaw66gag] {
    border-radius: 1rem;
}

.booking-value-grid[b-ohfaw66gag] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.booking-value-card[b-ohfaw66gag] {
    border-radius: 1.5rem;
    padding: 1.4rem;
}

.booking-value-card h3[b-ohfaw66gag] {
    margin: 0 0 0.6rem;
    font-size: 1.2rem;
}

.booking-value-card p[b-ohfaw66gag] {
    margin: 0;
    color: #a9bbd2;
    line-height: 1.65;
}

.booking-results-shell[b-ohfaw66gag] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 1.25rem;
    align-items: start;
}

.booking-results-header[b-ohfaw66gag] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
    margin-bottom: 1rem;
}

.booking-results-header h2[b-ohfaw66gag] {
    margin: 0;
    font-size: 1.8rem;
}

.booking-results-header p[b-ohfaw66gag] {
    margin: 0.4rem 0 0;
    color: #a7bad1;
}

.booking-results-grid[b-ohfaw66gag] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.booking-offer-card[b-ohfaw66gag] {
    border-radius: 1.75rem;
    overflow: hidden;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.booking-offer-card.is-selected[b-ohfaw66gag] {
    transform: translateY(-3px);
    border-color: rgba(56, 189, 248, 0.55);
    box-shadow: 0 28px 90px rgba(12, 26, 45, 0.46);
}

.booking-offer-card__hero[b-ohfaw66gag] {
    min-height: 11.5rem;
    padding: 1.2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.booking-offer-card__badge[b-ohfaw66gag] {
    align-self: flex-start;
    padding: 0.4rem 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(8px);
    font-size: 0.8rem;
    font-weight: 700;
}

.booking-offer-card__pricing[b-ohfaw66gag] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.booking-offer-card__pricing strong[b-ohfaw66gag] {
    font-size: 2rem;
    line-height: 1;
}

.booking-offer-card__pricing span[b-ohfaw66gag] {
    color: rgba(255, 255, 255, 0.82);
}

.booking-offer-card__body[b-ohfaw66gag] {
    padding: 1.25rem;
}

.booking-offer-card__title-row[b-ohfaw66gag] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.booking-offer-card__title-row h3[b-ohfaw66gag] {
    margin: 0;
    font-size: 1.35rem;
}

.booking-offer-card__title-row p[b-ohfaw66gag] {
    margin: 0.45rem 0 0;
    color: #abc0d7;
    line-height: 1.55;
}

.booking-offer-card__specs[b-ohfaw66gag],
.booking-offer-card__meta[b-ohfaw66gag] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    color: #8ea6c7;
    font-size: 0.94rem;
}

.booking-offer-card__specs[b-ohfaw66gag] {
    margin-top: 1rem;
}

.booking-offer-card__meta-block[b-ohfaw66gag] {
    display: grid;
    gap: 0.45rem;
    margin-top: 1rem;
    color: #9ab0cb;
    font-size: 0.92rem;
}

.booking-offer-card__chips[b-ohfaw66gag],
.booking-summary-card__chips[b-ohfaw66gag] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1rem;
}

.booking-inline-chip[b-ohfaw66gag] {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.12);
    color: #d5e3f5;
    font-size: 0.82rem;
    font-weight: 700;
}

.booking-inline-chip--accent[b-ohfaw66gag] {
    background: rgba(56, 189, 248, 0.14);
    color: #8fe7ff;
}

.booking-offer-card__footer[b-ohfaw66gag] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    margin-top: 1.1rem;
}

.booking-summary-panel__sticky[b-ohfaw66gag] {
    position: sticky;
    top: 1rem;
}

.booking-summary-panel__placeholder[b-ohfaw66gag] {
    color: #a7b9cf;
    line-height: 1.7;
}

.booking-summary-card[b-ohfaw66gag] {
    border-radius: 1.6rem;
    padding: 1.3rem;
    margin-top: 1rem;
}

.booking-summary-card__header[b-ohfaw66gag] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.booking-summary-card__header strong[b-ohfaw66gag] {
    font-size: 1.15rem;
}

.booking-summary-card__header span[b-ohfaw66gag] {
    color: #8ea6c7;
}

.booking-summary-card__rows[b-ohfaw66gag] {
    margin: 1rem 0 0;
    display: grid;
    gap: 0.8rem;
}

.booking-summary-card__rows div[b-ohfaw66gag] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.booking-summary-card__rows dt[b-ohfaw66gag] {
    color: #8ea6c7;
}

.booking-summary-card__rows dd[b-ohfaw66gag] {
    margin: 0;
    text-align: right;
    font-weight: 700;
}

.booking-summary-card__section[b-ohfaw66gag] {
    margin: 1.1rem 0 1.3rem;
}

.booking-summary-card__section h3[b-ohfaw66gag],
.booking-summary-panel__points h3[b-ohfaw66gag] {
    margin: 0;
    font-size: 1rem;
}

.booking-summary-panel__points[b-ohfaw66gag] {
    display: grid;
    gap: 0.9rem;
    margin-top: 1rem;
}

.booking-summary-panel__points article[b-ohfaw66gag] {
    border-radius: 1.4rem;
    padding: 1rem;
}

.booking-summary-panel__points p[b-ohfaw66gag] {
    margin: 0.45rem 0 0;
    color: #a7b9cf;
    line-height: 1.6;
}

.booking-line-row[b-ohfaw66gag] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
    color: #bfd0e4;
}

.booking-checkout-shell[b-ohfaw66gag] {
    display: grid;
    gap: 1rem;
}

.booking-checkout-shell__header[b-ohfaw66gag] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
}

.booking-checkout-shell__header h2[b-ohfaw66gag] {
    margin: 0;
    font-size: 1.9rem;
}

.booking-checkout-shell__header p[b-ohfaw66gag] {
    margin: 0.45rem 0 0;
    color: #9db0c8;
}

.booking-checkout-grid[b-ohfaw66gag] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.booking-checkout-card[b-ohfaw66gag],
.booking-confirmation-card[b-ohfaw66gag] {
    border: 1px solid rgba(148, 163, 184, 0.16);
    background: rgba(7, 15, 28, 0.72);
    backdrop-filter: blur(18px);
    box-shadow: 0 24px 80px rgba(4, 10, 20, 0.28);
    border-radius: 1.75rem;
    padding: 1.35rem;
}

.booking-checkout-card h3[b-ohfaw66gag],
.booking-confirmation-card h2[b-ohfaw66gag] {
    margin: 0 0 1rem;
}

.booking-option-list[b-ohfaw66gag] {
    display: grid;
    gap: 0.35rem;
}

.booking-checkout-actions[b-ohfaw66gag] {
    margin-top: 1rem;
    display: flex;
    justify-content: flex-end;
}

.booking-confirmation-shell[b-ohfaw66gag] {
    margin-top: 0.5rem;
}

.booking-confirmation-card p[b-ohfaw66gag] {
    margin: 0;
    color: #b4c6da;
    line-height: 1.65;
}

.booking-confirmation-grid[b-ohfaw66gag] {
    margin-top: 1.2rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.booking-confirmation-grid div[b-ohfaw66gag] {
    padding: 1rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.booking-confirmation-grid span[b-ohfaw66gag] {
    display: block;
    color: #8ea6c7;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.booking-confirmation-grid strong[b-ohfaw66gag] {
    display: block;
    margin-top: 0.35rem;
}

.booking-offer-card--loading[b-ohfaw66gag] {
    padding: 1rem;
}

@media (max-width: 1180px) {
    .booking-hero[b-ohfaw66gag],
    .booking-results-shell[b-ohfaw66gag],
    .booking-checkout-grid[b-ohfaw66gag] {
        grid-template-columns: 1fr;
    }

    .booking-summary-panel__sticky[b-ohfaw66gag] {
        position: static;
    }
}

@media (max-width: 820px) {
    .booking-hero__trust[b-ohfaw66gag],
    .booking-value-grid[b-ohfaw66gag],
    .booking-results-grid[b-ohfaw66gag],
    .booking-confirmation-grid[b-ohfaw66gag] {
        grid-template-columns: 1fr;
    }

    .booking-search-card__actions[b-ohfaw66gag],
    .booking-results-header[b-ohfaw66gag],
    .booking-offer-card__footer[b-ohfaw66gag],
    .booking-summary-card__rows div[b-ohfaw66gag],
    .booking-checkout-shell__header[b-ohfaw66gag] {
        flex-direction: column;
        align-items: flex-start;
    }

    .booking-search-card[b-ohfaw66gag],
    .booking-hero__copy[b-ohfaw66gag] {
        border-radius: 1.4rem;
        padding: 1.2rem;
    }
}
/* /Components/Pages/Calendario/CalendarioAuto.razor.rz.scp.css */
.vehicle-calendar-page[b-qbh7xgmsrk] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.vehicle-calendar-header[b-qbh7xgmsrk] {
    align-items: flex-end;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.vehicle-calendar-title[b-qbh7xgmsrk] {
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.vehicle-calendar-subtitle[b-qbh7xgmsrk] {
    color: var(--mud-palette-text-secondary);
    font-size: .9rem;
    margin-top: 4px;
}

.vehicle-calendar-toolbar[b-qbh7xgmsrk] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    min-width: min(100%, 560px);
}

.vehicle-calendar-toolbar > :first-child[b-qbh7xgmsrk] {
    min-width: 220px;
}

.vehicle-calendar-legend[b-qbh7xgmsrk] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.legend-item[b-qbh7xgmsrk] {
    align-items: center;
    color: var(--mud-palette-text-secondary);
    display: inline-flex;
    font-size: .84rem;
    gap: 6px;
}

.legend-swatch[b-qbh7xgmsrk] {
    border: 1px solid rgba(0, 0, 0, .12);
    display: inline-block;
    height: 12px;
    width: 24px;
}

.vehicle-calendar-loading[b-qbh7xgmsrk] {
    align-items: center;
    color: var(--mud-palette-text-secondary);
    display: flex;
    gap: 10px;
    min-height: 160px;
}

.vehicle-calendar-grid-shell[b-qbh7xgmsrk] {
    border: 1px solid var(--mud-palette-lines-default);
    max-height: calc(100vh - 235px);
    min-height: 360px;
    overflow-x: auto;
    overflow-y: auto;
    scrollbar-gutter: stable both-edges;
}

.vehicle-calendar-scroll-hint[b-qbh7xgmsrk] {
    background: var(--mud-palette-surface);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary);
    font-size: .78rem;
    min-width: max-content;
    padding: 6px 12px;
}

.vehicle-calendar-grid[b-qbh7xgmsrk] {
    display: grid;
    min-width: max-content;
    width: max-content;
}

.vehicle-calendar-corner[b-qbh7xgmsrk],
.vehicle-calendar-hour[b-qbh7xgmsrk],
.vehicle-calendar-row-header[b-qbh7xgmsrk],
.vehicle-calendar-group-header[b-qbh7xgmsrk],
.slot-cell[b-qbh7xgmsrk] {
    border-bottom: 1px solid var(--mud-palette-lines-default);
    border-right: 1px solid var(--mud-palette-lines-default);
    min-height: 48px;
}

.vehicle-calendar-corner[b-qbh7xgmsrk],
.vehicle-calendar-hour[b-qbh7xgmsrk] {
    align-items: center;
    background: var(--mud-palette-background);
    color: var(--mud-palette-text-secondary);
    display: flex;
    flex-direction: column;
    font-size: .78rem;
    font-weight: 700;
    justify-content: center;
    position: sticky;
    top: 0;
    z-index: 3;
}

.vehicle-calendar-hour span[b-qbh7xgmsrk],
.vehicle-calendar-hour small[b-qbh7xgmsrk] {
    line-height: 1.15;
    white-space: nowrap;
}

.vehicle-calendar-hour small[b-qbh7xgmsrk] {
    font-size: .68rem;
    font-weight: 600;
}

.vehicle-calendar-corner[b-qbh7xgmsrk] {
    justify-content: flex-start;
    left: 0;
    padding: 0 12px;
    z-index: 5;
}

.vehicle-calendar-row-header[b-qbh7xgmsrk] {
    background: var(--mud-palette-surface);
    left: 0;
    padding: 8px 12px;
    position: sticky;
    z-index: 2;
}

.vehicle-calendar-group-header[b-qbh7xgmsrk] {
    align-items: baseline;
    background: var(--mud-palette-table-hover);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-primary);
    display: flex;
    gap: 8px;
    min-height: 36px;
    padding: 8px 12px;
}

.vehicle-calendar-group-header span[b-qbh7xgmsrk] {
    color: var(--mud-palette-text-secondary);
    font-size: .78rem;
}

.vehicle-plate[b-qbh7xgmsrk] {
    font-size: .94rem;
    font-weight: 700;
    line-height: 1.15;
}

.vehicle-group[b-qbh7xgmsrk],
.vehicle-model[b-qbh7xgmsrk] {
    color: var(--mud-palette-text-secondary);
    font-size: .76rem;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.slot-cell[b-qbh7xgmsrk] {
    align-items: center;
    border-left: 0;
    border-top: 0;
    color: #fff;
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: .74rem;
    font-weight: 700;
    justify-content: center;
    outline-offset: -3px;
    padding: 0 4px;
}

.slot-cell span[b-qbh7xgmsrk] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.slot-cell.has-preparation[b-qbh7xgmsrk] {
    box-shadow: inset 0 -4px 0 #f5c542;
}

.slot-cell.is-late[b-qbh7xgmsrk] {
    box-shadow: inset 0 4px 0 #ffcc00;
}

/* Il tratteggio e il testo aria-label rendono i problemi distinguibili senza affidarsi al solo colore. */
.slot-cell.has-conflict[b-qbh7xgmsrk] {
    outline: 3px solid #d32f2f;
    outline-offset: -3px;
}

.slot-cell.has-turnaround-warning[b-qbh7xgmsrk] {
    background-image: repeating-linear-gradient(135deg, transparent 0, transparent 6px, rgba(255, 255, 255, .28) 6px, rgba(255, 255, 255, .28) 10px);
}

.slot-cell.has-preparation.is-late[b-qbh7xgmsrk] {
    box-shadow: inset 0 4px 0 #ffcc00, inset 0 -4px 0 #f5c542;
}

.slot-cell:hover[b-qbh7xgmsrk],
.slot-cell:focus-visible[b-qbh7xgmsrk] {
    filter: brightness(.92);
}

.slot-cell:disabled[b-qbh7xgmsrk] {
    cursor: wait;
    opacity: .75;
}

.slot-cell.is-movable[b-qbh7xgmsrk] {
    cursor: grab;
}

.slot-cell.is-movable:active[b-qbh7xgmsrk] {
    cursor: grabbing;
}

/* Riga di destinazione durante il trascinamento: contorno tratteggiato leggibile anche senza colore. */
.vehicle-calendar-row-header.is-drop-target[b-qbh7xgmsrk],
.slot-cell.is-drop-target[b-qbh7xgmsrk] {
    outline: 3px dashed var(--mud-palette-primary);
    outline-offset: -3px;
}

@media (max-width: 900px) {
    .vehicle-calendar-header[b-qbh7xgmsrk] {
        align-items: stretch;
        flex-direction: column;
    }

    .vehicle-calendar-toolbar[b-qbh7xgmsrk] {
        grid-template-columns: 1fr;
        min-width: 0;
    }

    .vehicle-calendar-grid-shell[b-qbh7xgmsrk] {
        max-height: calc(100vh - 290px);
    }

    /* Le istruzioni vanno a capo invece di essere troncate dallo scroll orizzontale della griglia. */
    .vehicle-calendar-scroll-hint[b-qbh7xgmsrk] {
        min-width: 0;
        white-space: normal;
        position: sticky;
        left: 0;
        max-width: 100vw;
    }
}

/* Frecce, Oggi e aggiorna vanno a capo insieme: su tablet la ">" finiva da sola sulla riga sotto. */
.vehicle-calendar-nav[b-qbh7xgmsrk] {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 4px;
}
/* /Components/Pages/Calendario/VehicleTimeline.razor.rz.scp.css */
.rental-timeline[b-wtsdjlksv1] { min-width: 0; background: var(--mud-palette-surface); color: var(--mud-palette-text-primary); }
.rental-timeline[b-wtsdjlksv1]  .vis-timeline { border-color: var(--mud-palette-divider); font: inherit; }
.rental-timeline[b-wtsdjlksv1]  .vis-label, .rental-timeline[b-wtsdjlksv1]  .vis-text { color: var(--mud-palette-text-primary); }
.rental-timeline[b-wtsdjlksv1]  .vis-label { max-width: 280px; }
/* Modalita' compatta (host < 640px, impostata da vehicleTimeline.js): etichetta veicolo stretta,
   cosi' la griglia temporale resta leggibile anche a 390px. */
.rental-timeline[b-wtsdjlksv1]  .is-compact .vis-label { max-width: 96px; font-size: 0.75rem; }
.rental-timeline[b-wtsdjlksv1]  .is-compact .vis-label .vis-inner { white-space: normal; line-height: 1.2; padding: 2px 4px; }
/* /Components/Pages/Contratti/Contratti.razor.rz.scp.css */
.preventivo-shell[b-kmnh4fdyp9] {
    border: 1px solid #9fb4de;
    border-radius: 8px;
    box-shadow: 0 3px 14px rgba(23, 55, 112, .08);
    font-family: Tahoma, Verdana, sans-serif;
}

.preventivo-header[b-kmnh4fdyp9] {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    min-height: 40px;
    padding: 4px 12px;
}

.preventivo-title[b-kmnh4fdyp9] {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1.25;
    margin: 0;
}

.preventivo-header-actions[b-kmnh4fdyp9] {
    align-items: center;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

[b-kmnh4fdyp9] .legacy-action-button.mud-disabled,
[b-kmnh4fdyp9] .legacy-action-button:disabled,
[b-kmnh4fdyp9] .legacy-action-button[disabled] {
    background-color: #e7ebf0 !important;
    border-color: #a7b0bd !important;
    color: #243244 !important;
    opacity: 1 !important;
}

[b-kmnh4fdyp9] .legacy-action-button.mud-disabled .mud-button-label,
[b-kmnh4fdyp9] .legacy-action-button:disabled .mud-button-label,
[b-kmnh4fdyp9] .legacy-action-button[disabled] .mud-button-label {
    color: #243244 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #243244 !important;
}

.preventivo-tabs[b-kmnh4fdyp9] {
    padding: 0 12px;
}

.top-level-tabs[b-kmnh4fdyp9] {
    border-bottom: 1px solid #3561b6;
}

/* La radice di MudTabs non porta l'attributo di scope: il selettore parte dal contenitore della pagina. */
[b-kmnh4fdyp9] .top-level-tabs .mud-tabs-panels {
    display: none;
}

[b-kmnh4fdyp9] .top-level-tabs .mud-tabs-tabbar-inner,
[b-kmnh4fdyp9] .top-level-tabs .mud-tab {
    min-height: 40px;
}

.top-level-tabs[b-kmnh4fdyp9]  .mud-tabs-tabbar {
    min-height: 0;
}

.top-level-tabs[b-kmnh4fdyp9]  .mud-tab {
    border: 1px solid #424242;
    border-bottom: none;
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    min-height: 40px;
    min-width: auto;
    padding: 4px 10px;
    text-transform: none;
}

.legacy-tab[b-kmnh4fdyp9] {
    border: 1px solid #424242;
    border-bottom: none;
    cursor: pointer;
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    min-height: 26px;
    padding: 4px 10px;
}

.legacy-tab:disabled[b-kmnh4fdyp9] {
    color: #6d6d6d;
    cursor: not-allowed;
    opacity: 0.65;
}

.preventivo-panel[b-kmnh4fdyp9] {
    border-top: 1px solid #9fb4de;
    padding: 8px 12px 12px;
}

.panel-caption[b-kmnh4fdyp9] {
    font-size: 14px;
    padding: 8px 6px 4px;
}

.panel-caption-inline[b-kmnh4fdyp9] {
    padding-left: 12px;
    padding-top: 12px;
}

.search-toolbar[b-kmnh4fdyp9] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    background: var(--mud-palette-surface);
}

/* Ricerca elastica, stazione a larghezza contenuta, pulsanti alla stessa altezza dei campi. */
.search-toolbar[b-kmnh4fdyp9]  > .mud-input-control {
    flex: 1 1 320px;
    margin: 0;
}

.search-toolbar[b-kmnh4fdyp9]  > .workflow-search-station-select {
    flex: 0 1 320px;
    min-width: 220px;
}

.search-toolbar[b-kmnh4fdyp9]  > .mud-button-root {
    height: 40px;
    white-space: nowrap;
}

[b-kmnh4fdyp9] .preventivi-list-grid .mud-data-grid-table-wrapper,
[b-kmnh4fdyp9] .preventivi-list-grid .mud-data-grid-table,
[b-kmnh4fdyp9] .preventivi-list-grid .mud-table-root,
[b-kmnh4fdyp9] .preventivi-list-grid .mud-table-container {
    min-width: 100% !important;
}

[b-kmnh4fdyp9] .preventivi-list-grid .mud-data-grid-table {
    table-layout: auto;
}

[b-kmnh4fdyp9] .preventivi-list-grid .mud-table-cell,
[b-kmnh4fdyp9] .preventivi-list-grid th {
    white-space: normal !important;
    overflow-wrap: anywhere;
}

/* Intestazioni integre: mai spezzate carattere per carattere; se non c'e' spazio la tabella
   scorre in orizzontale (GridHorizontalScrollbar) invece di comprimere le colonne. */
[b-kmnh4fdyp9] .preventivi-list-grid th,
[b-kmnh4fdyp9] .preventivi-list-grid th .mud-table-cell,
[b-kmnh4fdyp9] .preventivi-list-grid .mud-data-grid-header-cell,
[b-kmnh4fdyp9] .preventivi-list-grid .column-header .column-header-title {
    white-space: nowrap !important;
    overflow-wrap: normal;
    word-break: keep-all;
}

.loading-block[b-kmnh4fdyp9],
.empty-state[b-kmnh4fdyp9] {
    align-items: center;
    border: 1px solid #557ccd;
    display: flex;
    justify-content: center;
    margin-top: 8px;
    min-height: 180px;
}

.loading-content[b-kmnh4fdyp9],
.empty-state-content[b-kmnh4fdyp9] {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 640px;
    padding: 24px;
    text-align: center;
}

.loading-title[b-kmnh4fdyp9],
.empty-state-title[b-kmnh4fdyp9] {
    font-size: 18px;
    font-weight: 700;
}

.loading-subtitle[b-kmnh4fdyp9],
.empty-state-text[b-kmnh4fdyp9] {
    font-size: 13px;
    line-height: 1.5;
}

.empty-state.compact[b-kmnh4fdyp9] {
    justify-content: flex-start;
    margin: 8px;
    min-height: 44px;
    padding: 8px;
}

.action-state[b-kmnh4fdyp9] {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.action-state-title[b-kmnh4fdyp9] {
    font-size: 13px;
    font-weight: 700;
}

.action-state-text[b-kmnh4fdyp9] {
    font-size: 12px;
    line-height: 1.45;
}

.booking-data-paper[b-kmnh4fdyp9] {
    border: 1px solid #315ab2;
    margin-top: 8px;
}

.final-step-paper[b-kmnh4fdyp9] {
    margin-bottom: 10px;
}

.preventivo-guidance-strip[b-kmnh4fdyp9] {
    margin-top: 8px;
}

.workflow-alert[b-kmnh4fdyp9] {
    border-radius: 0;
    font-family: Tahoma, Verdana, sans-serif;
}

.mud-field-label[b-kmnh4fdyp9] {
    color: #26457d;
    display: block;
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 2px;
}

[b-kmnh4fdyp9] .booking-input-row {
    align-items: flex-end;
}

[b-kmnh4fdyp9] .booking-group-select {
    flex: 1 1 0;
    min-width: 140px;
}

[b-kmnh4fdyp9] .booking-line-select {
    flex: 2 1 0;
    min-width: 200px;
}

.booking-value-paper[b-kmnh4fdyp9] {
    align-items: center;
    border: 1px solid #a8b9dc;
    display: flex;
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    min-height: 40px;
    padding: 0 12px;
}

.booking-total-paper[b-kmnh4fdyp9] {
    font-size: 18px;
}

.booking-inline-hint[b-kmnh4fdyp9] {
    color: #26457d;
    display: block;
    font-size: 12px;
    margin-top: 4px;
}

/* Schede di riepilogo (veicolo, uscita, km, stato; documenti di chiusura): tutte sulla stessa riga, a capo solo se stretto. */
.preventivo-context-banner[b-kmnh4fdyp9] {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    margin-top: 10px;
}

.context-card[b-kmnh4fdyp9] {
    border: 1px solid #315ab2;
    padding: 12px;
}

.context-card-label[b-kmnh4fdyp9] {
    color: #173770;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.context-card-value[b-kmnh4fdyp9] {
    font-size: 13px;
    font-weight: 700;
}

.context-card-note[b-kmnh4fdyp9] {
    color: #26457d;
    font-size: 12px;
    margin-top: 6px;
}

.context-card-wide[b-kmnh4fdyp9] {
    min-width: 0;
}

.booking-sections[b-kmnh4fdyp9] {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(340px, 430px) minmax(0, 1fr);
    margin-top: 10px;
    align-items: start;
}

.booking-sections.catalog-closed[b-kmnh4fdyp9] {
    grid-template-columns: 56px minmax(0, 1fr);
}

.booking-left-column[b-kmnh4fdyp9],
.booking-right-column[b-kmnh4fdyp9] {
    min-width: 0;
}

.booking-left-column[b-kmnh4fdyp9] {
    position: sticky;
    top: 12px;
}

.booking-aside-header[b-kmnh4fdyp9] {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
    min-height: 36px;
}

.booking-sections.catalog-closed .booking-aside-header[b-kmnh4fdyp9] {
    justify-content: center;
}

.booking-section-caption[b-kmnh4fdyp9] {
    font-size: 14px;
    font-weight: 700;
    padding: 0 0 6px;
}

.final-step-section-title[b-kmnh4fdyp9] {
    color: #173770;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.final-step-readonly[b-kmnh4fdyp9] {
    min-height: 38px;
}

.center-caption[b-kmnh4fdyp9] {
    text-align: center;
}

.legacy-selector-frame[b-kmnh4fdyp9] {
    border: 1px solid #315ab2;
    height: calc(100vh - 180px);
    max-height: calc(100vh - 180px);
    min-height: 320px;
    overflow: auto;
}

.payment-card[b-kmnh4fdyp9] {
    border: 1px solid #88a0d0;
}

.payment-phase-sections[b-kmnh4fdyp9] {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0 12px 12px;
}

.payment-phase-panel[b-kmnh4fdyp9] {
    border: 1px solid #b5c5e4;
}


.payment-toolbar[b-kmnh4fdyp9] {
    align-items: center;
    display: flex;
    gap: 10px;
    padding: 0 12px 8px;
}


.payment-card-list[b-kmnh4fdyp9] {
    display: grid;
    gap: 10px;
    padding: 0 12px 12px;
}



.payment-empty-state[b-kmnh4fdyp9] {
    margin: 0 12px 12px;
}

.calculation-actions-paper[b-kmnh4fdyp9] {
    margin-top: 8px;
}

.calculation-actions-text[b-kmnh4fdyp9] {
    color: #26457d;
    font-size: 12px;
    line-height: 1.45;
}

.otp-code-field[b-kmnh4fdyp9]  .mud-input-outlined-border legend {
    max-width: 72px;
    visibility: visible;
}

.otp-code-field[b-kmnh4fdyp9]  .mud-input-slot {
    padding-top: 10px !important;
}

@media (max-width: 1200px) {
    .preventivo-context-banner[b-kmnh4fdyp9] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .payment-phase-sections[b-kmnh4fdyp9] {
        grid-template-columns: 1fr;
    }

    .booking-sections[b-kmnh4fdyp9] {
        grid-template-columns: 1fr;
    }

    .booking-sections.catalog-closed[b-kmnh4fdyp9] {
        grid-template-columns: 1fr;
    }

    .booking-left-column[b-kmnh4fdyp9] {
        position: static;
        top: auto;
    }
}

@media (max-width: 768px) {
    .search-toolbar[b-kmnh4fdyp9],
    .preventivo-context-banner[b-kmnh4fdyp9] {
        grid-template-columns: 1fr;
    }

    .preventivo-header[b-kmnh4fdyp9] {
        align-items: flex-start;
        flex-direction: column;
        padding: 10px 12px;
    }

    .preventivo-header-actions[b-kmnh4fdyp9] {
        justify-content: flex-start;
        width: 100%;
    }

    .booking-input-row[b-kmnh4fdyp9] {
        align-items: stretch !important;
        flex-wrap: wrap;
    }
}
.legacy-action-button[b-kmnh4fdyp9] {
    min-height: 36px;
}

[b-kmnh4fdyp9] .mud-button-root:focus-visible,
[b-kmnh4fdyp9] .mud-icon-button:focus-visible {
    outline: 3px solid rgba(49, 90, 178, .45);
    outline-offset: 2px;
}

/* Pagamenti: riepilogo per fase e righe compatte con dettaglio espandibile. */
.pos-status-strip[b-kmnh4fdyp9] {
    align-items: center;
    display: flex;
    gap: 4px;
    padding: 0 12px 8px;
}

.payment-toolbar[b-kmnh4fdyp9] {
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 8px;
}

.payment-phase-heading[b-kmnh4fdyp9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.payment-phase-summary[b-kmnh4fdyp9] {
    color: #26457d;
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    gap: 12px;
}

.payment-residual[b-kmnh4fdyp9] {
    border-radius: 4px;
    padding: 0 6px;
}

.payment-residual.is-open[b-kmnh4fdyp9] {
    background: #fff4e5;
    color: #b45309;
}

.payment-residual.is-settled[b-kmnh4fdyp9] {
    background: #e8f5e9;
    color: #2e7d32;
}

.payment-gate-note[b-kmnh4fdyp9] {
    color: #5f6f8f;
    font-size: 12px;
    padding: 0 12px 8px;
}

[b-kmnh4fdyp9] .payment-card.is-new {
    border-color: #f59e0b;
    border-left-width: 4px;
}

.payment-row[b-kmnh4fdyp9] {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: 34px 86px 96px minmax(0, 1fr) auto auto;
    min-height: 40px;
    padding: 2px 8px 2px 2px;
}

.payment-row-date[b-kmnh4fdyp9] {
    font-size: 13px;
}

.payment-row-amount[b-kmnh4fdyp9] {
    font-size: 14px;
    font-weight: 700;
    text-align: right;
}

.payment-row-mode[b-kmnh4fdyp9] {
    color: #26457d;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.payment-row-actions[b-kmnh4fdyp9] {
    align-items: center;
    display: flex;
    gap: 4px;
    justify-content: flex-end;
}

@media (max-width: 600px) {
    .payment-row[b-kmnh4fdyp9] {
        grid-template-columns: 34px 1fr auto;
    }

    .payment-row-mode[b-kmnh4fdyp9],
    .payment-row-status[b-kmnh4fdyp9] {
        grid-column: 2 / -1;
    }
}

/* Workflow: id tecnici dei movimenti fuori dalla vista principale. */
.technical-details[b-kmnh4fdyp9] {
    color: #5f6f8f;
    font-size: 12px;
    padding: 0 12px 12px;
}

.technical-details summary[b-kmnh4fdyp9] {
    cursor: pointer;
}

.technical-details span[b-kmnh4fdyp9] {
    display: block;
    padding-left: 14px;
}

.requirement-link[b-kmnh4fdyp9] {
    color: var(--mud-palette-primary);
    font-size: 12px;
    margin-left: 6px;
}

/* Chiusura: azione principale, poi gruppi Documenti e Stampa. */
.closure-actions[b-kmnh4fdyp9] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    padding: 12px;
}

.closure-actions-group[b-kmnh4fdyp9] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.closure-actions-label[b-kmnh4fdyp9] {
    color: #5f6f8f;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.checkin-caption[b-kmnh4fdyp9] {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

/* ---- Barra delle fasi (Fase 3 UX): una sola navigazione per il contratto ---- */
.contract-phase-bar[b-kmnh4fdyp9] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
}

.contract-phase[b-kmnh4fdyp9] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 18px;
    background: var(--mud-palette-background);
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
}

.contract-phase:hover:not(:disabled)[b-kmnh4fdyp9] {
    border-color: var(--mud-palette-primary);
}

.contract-phase:focus-visible[b-kmnh4fdyp9] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.contract-phase:disabled[b-kmnh4fdyp9] {
    cursor: not-allowed;
    opacity: .55;
}

.contract-phase.is-active[b-kmnh4fdyp9] {
    background: var(--mud-palette-primary);
    border-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

.contract-phase.is-done[b-kmnh4fdyp9]  .contract-phase-icon { color: var(--mud-palette-success); }
.contract-phase.is-attention[b-kmnh4fdyp9]  .contract-phase-icon { color: var(--mud-palette-warning); }
.contract-phase.is-ready[b-kmnh4fdyp9]  .contract-phase-icon { color: var(--mud-palette-info); }
.contract-phase.is-pending[b-kmnh4fdyp9] { color: var(--mud-palette-text-secondary); }
.contract-phase.is-active[b-kmnh4fdyp9]  .contract-phase-icon { color: inherit; }

.contract-next-step[b-kmnh4fdyp9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin: 8px 12px 0;
    padding: 6px 12px;
    border-left: 3px solid var(--mud-palette-info);
    background: var(--mud-palette-background);
    font-size: .85rem;
}

.contract-next-step-label[b-kmnh4fdyp9] {
    color: var(--mud-palette-text-secondary);
}

.contract-next-step-note[b-kmnh4fdyp9] {
    color: var(--mud-palette-text-secondary);
}

/* Le sotto-schede del Workflow sono guidate dalla barra delle fasi: la loro intestazione non serve piu'. */
[b-kmnh4fdyp9] .phase-driven-tabs > .mud-tabs-tabbar,
[b-kmnh4fdyp9] .phase-driven-tabs .mud-tabs-tabbar {
    display: none;
}

/* Schermi touch (tablet al banco): fasi alte almeno 40 px, piu' facili da toccare col dito. */
@media (pointer: coarse) {
    .contract-phase[b-kmnh4fdyp9] { min-height: 40px; }
}

/* Passi del calcolo (contratto prima dell'uscita): fatti in verde, mancanti in rosso dopo un tentativo di proseguire. */
.contract-calc-steps[b-kmnh4fdyp9] {
    align-items: center;
    background: var(--mud-palette-background-gray);
    border-left: 3px solid var(--mud-palette-info);
    border-radius: 4px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin-bottom: 10px;
    padding: 8px 12px;
}

.contract-calc-steps.has-missing[b-kmnh4fdyp9] {
    border-left-color: var(--mud-palette-error);
}

.contract-calc-steps-title[b-kmnh4fdyp9] {
    font-weight: 600;
}

.contract-calc-step[b-kmnh4fdyp9] {
    align-items: center;
    color: var(--mud-palette-text-secondary);
    display: inline-flex;
    gap: 4px;
}

.contract-calc-step.is-done[b-kmnh4fdyp9] {
    color: var(--mud-palette-success);
}

.contract-calc-step.is-missing[b-kmnh4fdyp9] {
    color: var(--mud-palette-error);
    font-weight: 600;
}

.contract-calc-steps-hint[b-kmnh4fdyp9] {
    color: var(--mud-palette-error);
    flex-basis: 100%;
}
/* /Components/Pages/Contratti/PreAutorizzazioni.razor.rz.scp.css */
.preauth-shell[b-nzvi637q9n] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px 16px;
}

.preauth-header[b-nzvi637q9n] {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: space-between;
}

.preauth-title[b-nzvi637q9n] {
    align-items: center;
    color: #173770;
    display: flex;
    font-size: 1.35rem;
    gap: 8px;
    margin: 0;
}

.preauth-subtitle[b-nzvi637q9n] {
    color: #5f6f8f;
    font-size: 13px;
}

.preauth-kpis[b-nzvi637q9n] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.preauth-kpi[b-nzvi637q9n] {
    border: 1px solid #b5c5e4;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    min-width: 120px;
    padding: 6px 12px;
}

.preauth-kpi strong[b-nzvi637q9n] {
    color: #173770;
    font-size: 1.1rem;
}

.preauth-kpi.is-warning[b-nzvi637q9n] {
    background: #fff4e5;
    border-color: #f59e0b;
}

.preauth-kpi-label[b-nzvi637q9n] {
    color: #5f6f8f;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.preauth-toolbar[b-nzvi637q9n] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.preauth-toolbar[b-nzvi637q9n]  .preauth-search {
    max-width: 320px;
}

.preauth-toolbar[b-nzvi637q9n]  .workflow-search-station-select {
    max-width: 260px;
}

.preauth-empty[b-nzvi637q9n] {
    align-items: center;
    border: 1px dashed #b5c5e4;
    border-radius: 8px;
    color: #5f6f8f;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 32px 16px;
    text-align: center;
}

.preauth-empty-title[b-nzvi637q9n] {
    color: #173770;
    font-weight: 700;
}

.preauth-muted[b-nzvi637q9n] {
    color: #5f6f8f;
    font-size: 12px;
}

.preauth-expiring[b-nzvi637q9n] {
    color: #b45309;
    font-weight: 700;
}

[b-nzvi637q9n] .preauth-actions {
    white-space: nowrap;
}

[b-nzvi637q9n] .preauth-actions .mud-button-root + .mud-button-root {
    margin-left: 6px;
}

@media (max-width: 600px) {
    .preauth-shell[b-nzvi637q9n] {
        padding: 8px;
    }

    .preauth-toolbar[b-nzvi637q9n]  .preauth-search,
    .preauth-toolbar[b-nzvi637q9n]  .workflow-search-station-select {
        max-width: none;
        width: 100%;
    }
}
/* /Components/Pages/Contratti/RdsIndex.razor.rz.scp.css */
.rds-toolbar[b-0r4qvtwejm],
.rds-title-group[b-0r4qvtwejm],
.rds-toolbar-actions[b-0r4qvtwejm] {
    align-items: center;
    display: flex;
}

.rds-toolbar[b-0r4qvtwejm] {
    gap: 16px;
    justify-content: space-between;
    min-width: 0;
}

.rds-title-group[b-0r4qvtwejm] {
    gap: 8px;
    min-width: 0;
}

.rds-toolbar-actions[b-0r4qvtwejm] {
    flex: 1 1 auto;
    gap: 8px;
    justify-content: flex-end;
    min-width: 0;
}

.rds-toolbar-actions[b-0r4qvtwejm]  .rds-search-field {
    flex: 1 1 320px;
    max-width: 480px;
    min-width: 220px;
}

[b-0r4qvtwejm] .mud-icon-button:focus-visible,
[b-0r4qvtwejm] .mud-button-root:focus-visible {
    outline: 3px solid rgba(49, 90, 178, .45);
    outline-offset: 2px;
}

@media (max-width: 760px) {
    .rds-toolbar[b-0r4qvtwejm] {
        align-items: stretch;
        flex-direction: column;
    }

    .rds-toolbar-actions[b-0r4qvtwejm] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .rds-toolbar-actions[b-0r4qvtwejm]  .rds-search-field {
        grid-column: 1 / -1;
        max-width: none;
        min-width: 0;
        width: 100%;
    }

    .rds-toolbar-actions[b-0r4qvtwejm]  .mud-button-root {
        min-height: 44px;
        min-width: 0;
        width: 100%;
    }
}

@media (max-width: 380px) {
    .rds-title-group[b-0r4qvtwejm] {
        align-items: flex-start;
    }

    .rds-toolbar-actions[b-0r4qvtwejm] {
        grid-template-columns: 1fr;
    }

    .rds-toolbar-actions[b-0r4qvtwejm]  .rds-search-field {
        grid-column: 1;
    }
}
/* /Components/Pages/Contratti/VerbaleMobile.razor.rz.scp.css */
.verbale-shell[b-rvor767fpe] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 1100px;
}

.verbale-header[b-rvor767fpe] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.verbale-heading[b-rvor767fpe] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.verbale-title[b-rvor767fpe] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--mud-palette-text-primary);
}

.verbale-loading[b-rvor767fpe] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 24px 0;
    color: var(--mud-palette-text-secondary);
}

.verbale-card[b-rvor767fpe] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 16px 20px 20px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
    background: var(--mud-palette-surface);
}

.verbale-card-title[b-rvor767fpe] {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-primary);
}

.verbale-fields[b-rvor767fpe] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.verbale-field[b-rvor767fpe] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.verbale-field[b-rvor767fpe]  .mud-input-control {
    margin: 0 !important;
}

.verbale-label[b-rvor767fpe] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.verbale-upload[b-rvor767fpe] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px 16px;
}

.verbale-field-type[b-rvor767fpe] {
    width: 220px;
}

/* Pulsante che apre il selettore file: l'input nativo copre il pulsante ma e' invisibile. */
.verbale-upload-button[b-rvor767fpe] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 16px;
    border: 1px solid var(--mud-palette-primary);
    border-radius: 4px;
    color: var(--mud-palette-primary);
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    cursor: pointer;
    overflow: hidden;
    transition: background-color 0.15s ease;
}

.verbale-upload-button:hover[b-rvor767fpe] {
    background: var(--mud-palette-primary-hover, rgba(25, 118, 210, 0.06));
}

.verbale-upload-button.is-disabled[b-rvor767fpe] {
    border-color: var(--mud-palette-lines-default);
    color: var(--mud-palette-text-disabled);
    cursor: default;
    pointer-events: none;
}

.verbale-upload-button[b-rvor767fpe]  .verbale-upload-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.verbale-upload-hint[b-rvor767fpe] {
    align-self: center;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.verbale-attachments[b-rvor767fpe] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.verbale-footer[b-rvor767fpe] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
    background: var(--mud-palette-surface);
}

.verbale-footer[b-rvor767fpe]  .mud-button-root {
    height: 40px;
}

.verbale-shell[b-rvor767fpe]  .verbale-button-spinner {
    width: 16px !important;
    height: 16px !important;
    margin-right: 8px;
    color: currentColor;
}

.verbale-upload-button[b-rvor767fpe]  .verbale-button-spinner {
    margin-right: 0;
}

@media (max-width: 700px) {
    .verbale-fields[b-rvor767fpe] {
        grid-template-columns: 1fr;
    }

    .verbale-field-type[b-rvor767fpe] {
        width: 100%;
    }

    .verbale-footer[b-rvor767fpe]  .mud-button-root {
        flex: 1 1 auto;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.situazione-shell[b-u39eyri8am] {
    width: min(1760px, 100%);
    margin: 0 auto;
    padding: 1rem;
    background:
        radial-gradient(circle at top, rgba(255, 255, 255, 0.08), transparent 30%),
        linear-gradient(180deg, #747474 0%, #666666 100%);
    color: #fff;
}

.situazione-toolbar[b-u39eyri8am],
.situazione-summary-wrap[b-u39eyri8am],
.situazione-detail-wrap[b-u39eyri8am] {
    background: rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.situazione-office-select[b-u39eyri8am] {
    min-width: 260px;
}

.situazione-date-picker[b-u39eyri8am] {
    min-width: 180px;
}

.situazione-horizon[b-u39eyri8am] {
    font-weight: 700;
    color: #fff;
}

.situazione-summary-table[b-u39eyri8am] {
    background: transparent;
}

.situazione-summary-wrap[b-u39eyri8am] {
    position: relative;
    min-height: 16rem;
    overflow: hidden;
}

.situazione-summary-table .mud-table-container[b-u39eyri8am] {
    overflow-x: auto;
}

.situazione-summary-table table[b-u39eyri8am] {
    min-width: 1280px;
}

.situazione-summary-table thead th[b-u39eyri8am],
.situazione-detail-table thead th[b-u39eyri8am] {
    background: #07188c;
    color: #fff;
    font-weight: 800;
    border: 1px solid rgba(5, 20, 92, 0.85);
    text-align: center;
    white-space: nowrap;
}

.situazione-summary-table tbody td[b-u39eyri8am],
.situazione-detail-table tbody td[b-u39eyri8am] {
    border: 1px solid rgba(5, 20, 92, 0.55);
    white-space: nowrap;
    text-align: center;
}

.summary-index[b-u39eyri8am] {
    width: 42px;
    font-weight: 800;
}

.summary-label[b-u39eyri8am],
.summary-row-label[b-u39eyri8am] {
    min-width: 240px;
}

.summary-row-label[b-u39eyri8am] {
    text-align: left !important;
    font-weight: 800;
    font-size: 1rem;
}

.summary-value[b-u39eyri8am] {
    min-width: 68px;
    min-height: 46px;
    padding-inline: 0.8rem;
    border: 1px solid #868686;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.94);
    color: #111;
    font-size: 1.15rem;
    font-weight: 700;
    box-shadow: none;
}

.summary-value.is-selected[b-u39eyri8am] {
    border-color: #07188c;
    box-shadow: inset 0 0 0 2px rgba(7, 24, 140, 0.18);
}

.summary-total[b-u39eyri8am] {
    min-width: 64px;
    justify-content: center;
    font-weight: 800;
    background: rgba(255, 255, 255, 0.96);
    color: #111;
}

.bucket-in-nolo[b-u39eyri8am] {
    background: #1dd9dd;
    color: #111;
}

.bucket-non-disponibili[b-u39eyri8am] {
    background: #ece9d3;
    color: #111;
}

.bucket-disponibili[b-u39eyri8am] {
    background: #12979d;
    color: #fff;
}

.bucket-altro-in-movimento[b-u39eyri8am] {
    background: #ef5aa6;
    color: #111;
}

.bucket-previsti-rientri[b-u39eyri8am] {
    background: #6410a0;
    color: #fff;
}

.bucket-previsti-rientri-inevasi[b-u39eyri8am] {
    background: #45b875;
    color: #fff;
}

.bucket-prenotazioni[b-u39eyri8am] {
    background: #73991e;
    color: #fff;
}

.situazione-group-button[b-u39eyri8am] {
    min-width: 110px;
}

.situazione-detail-table .mud-table-container[b-u39eyri8am] {
    overflow-x: auto;
}

.today-work-filters[b-u39eyri8am] {
    padding-bottom: 0.25rem;
}

.today-work-search[b-u39eyri8am] {
    min-width: min(100%, 360px);
}

.today-work-buckets[b-u39eyri8am] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.today-work-priority[b-u39eyri8am] {
    min-width: 150px;
}

.today-work-viewport[b-u39eyri8am]  .mud-table-container {
    max-height: min(58vh, 560px);
    overflow-x: auto;
    overflow-y: auto;
    border: 1px solid var(--mud-palette-table-lines);
    border-radius: 4px;
    -webkit-overflow-scrolling: touch;
}

.today-work-viewport[b-u39eyri8am]  thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--mud-palette-background-grey);
}

/* Riepilogo generale (ruolo 4): pivot gerarchico multi-stazione, molte colonne. */
.riepilogo-generale-wrap[b-u39eyri8am] {
    background: var(--mud-palette-surface);
}

.riepilogo-page-loader[b-u39eyri8am],
.page-centered-loader[b-u39eyri8am] {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    pointer-events: none;
    position: fixed;
    z-index: 1400;
}

.riepilogo-page-loader-card[b-u39eyri8am],
.page-centered-loader-card[b-u39eyri8am] {
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-table-lines);
    color: var(--mud-palette-text-primary);
    min-width: min(360px, calc(100vw - 32px));
    pointer-events: auto;
}

.riepilogo-toolbar[b-u39eyri8am] {
    padding: 0 4px 4px 4px;
}

.riepilogo-scroll[b-u39eyri8am] {
    height: 500px;
    width: 100%;
    overflow-x: auto;
    overflow-y: auto;
    border: 1px solid var(--mud-palette-table-lines);
    border-radius: 4px;
    -webkit-overflow-scrolling: touch;
}

.riepilogo-table-inner[b-u39eyri8am] {
    display: flex;
    align-items: flex-start;
    width: max-content;
    min-width: 100%;
}

.riepilogo-frozen[b-u39eyri8am] {
    position: sticky;
    left: 0;
    z-index: 3;
    flex: 0 0 auto;
    background: var(--mud-palette-surface);
    border-right: 2px solid var(--mud-palette-table-lines);
    box-shadow: 4px 0 8px -4px rgba(0, 0, 0, 0.12);
}

.riepilogo-frozen .riepilogo-table-dims[b-u39eyri8am] {
    background: var(--mud-palette-surface);
}

.riepilogo-metrics[b-u39eyri8am] {
    flex: 0 0 auto;
}

.riepilogo-table[b-u39eyri8am] {
    --riepilogo-station-width: 210px;
    --riepilogo-group-width: 130px;
    border-collapse: collapse;
    font-size: 0.8125rem;
}

.riepilogo-table-dims[b-u39eyri8am] {
    table-layout: fixed;
    width: calc(var(--riepilogo-station-width) + var(--riepilogo-group-width));
}

.riepilogo-table-metrics[b-u39eyri8am] {
    width: max-content;
}

.riepilogo-table thead th[b-u39eyri8am] {
    background:
        linear-gradient(var(--mud-palette-background-grey), var(--mud-palette-background-grey)),
        var(--mud-palette-surface);
    background-color:rgba(255, 255, 255);
    color: var(--mud-palette-text-primary);
    font-weight: 600;
    padding: 6px 10px;
    position: sticky;
    top: 0;
    z-index: 2;
    white-space: nowrap;
    border-bottom: 2px solid var(--mud-palette-table-lines);
    text-align: right;
}

.riepilogo-table-dims thead th[b-u39eyri8am] {
    text-align: left;
}

.riepilogo-table td[b-u39eyri8am] {
    padding: 4px 10px;
    white-space: nowrap;
    border-bottom: 1px solid var(--mud-palette-table-lines);
    vertical-align: middle;
    box-sizing: border-box;
}

.riepilogo-table thead th[b-u39eyri8am] {
    vertical-align: middle;
    box-sizing: border-box;
}

.riepilogo-table th.num[b-u39eyri8am],
.riepilogo-table td.num[b-u39eyri8am] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    min-width: 88px;
}

.riepilogo-table th.dim-col[b-u39eyri8am],
.riepilogo-table td.dim-col[b-u39eyri8am] {
    padding: 0;
    text-align: left;
    background: inherit;
}

.riepilogo-table-dims thead th.dim-col[b-u39eyri8am] {
    background:
        linear-gradient(var(--mud-palette-background-grey), var(--mud-palette-background-grey)),
        var(--mud-palette-surface);
}

.riepilogo-table .dim-col-station[b-u39eyri8am] {
    width: var(--riepilogo-station-width);
    min-width: var(--riepilogo-station-width);
    max-width: var(--riepilogo-station-width);
}

.riepilogo-table .dim-col-group[b-u39eyri8am] {
    width: var(--riepilogo-group-width);
    min-width: var(--riepilogo-group-width);
    max-width: var(--riepilogo-group-width);
}

.riepilogo-table .dim-col .dim-inner[b-u39eyri8am] {    
    box-sizing: border-box;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

th.dim-col.dim-col-station.contrasto[b-u39eyri8am] {
    background-color: #f0f0f0;
    color: #000;
}
th.dim-col.dim-col-group.contrasto[b-u39eyri8am] {
    background-color: #f0f0f0;
    color: #000;
}
.riepilogo-table th.dim-col .dim-inner[b-u39eyri8am] {
    padding: 6px 10px;
}

.riepilogo-table td.dim-col .dim-inner[b-u39eyri8am] {
    padding: 4px 10px;
}

.riepilogo-table .pivot-toggle[b-u39eyri8am] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    cursor: pointer;
    user-select: none;
}

.riepilogo-table .pivot-toggle:hover[b-u39eyri8am] {
    color: var(--mud-palette-primary);
}

.riepilogo-value-button[b-u39eyri8am] {
    min-width: 0;
    height: 22px;
    margin: 0;
    padding: 0 4px;
    font-size: 0.8125rem;
    font-weight: inherit;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    color: inherit;
    background: transparent;
}

.riepilogo-anomaly-button[b-u39eyri8am] {
    width: 20px;
    height: 20px;
    padding: 0;
    margin-left: 2px;
    vertical-align: middle;
}

.riepilogo-value-button:not(.mud-disabled):hover[b-u39eyri8am],
.riepilogo-value-button.is-selected[b-u39eyri8am] {
    color: var(--mud-palette-primary);
    background: var(--mud-palette-primary-hover);
    text-decoration: underline;
}

.riepilogo-value-button.mud-disabled[b-u39eyri8am] {
    color: inherit;
    opacity: 0.55;
}

/* Riga totale generale */
.riepilogo-table .row-grand-total td[b-u39eyri8am] {
    font-weight: 700;
    background: var(--mud-palette-primary-hover);
    border-bottom: 2px solid var(--mud-palette-table-lines);
}

/* Le celle congelate devono avere un fondo OPACO (tinta compositata su surface),
   altrimenti il contenuto scrollato traspare durante lo scroll orizzontale. */
.riepilogo-table .row-grand-total td.dim-col[b-u39eyri8am] {
    background:
        linear-gradient(var(--mud-palette-primary-hover), var(--mud-palette-primary-hover)),
        var(--mud-palette-surface);
}

/* Righe gruppo (con figli) evidenziate */
.riepilogo-table .row-group[b-u39eyri8am] {
    font-weight: 600;
}

.riepilogo-table .row-group td[b-u39eyri8am] {
    background: var(--mud-palette-action-default-hover);
}

.riepilogo-table .row-group td.dim-col[b-u39eyri8am] {
    background:
        linear-gradient(var(--mud-palette-action-default-hover), var(--mud-palette-action-default-hover)),
        var(--mud-palette-surface);
}

.riepilogo-table .row-level-0.row-group td[b-u39eyri8am] {
    background: var(--mud-palette-background-grey);
}

.riepilogo-table .row-level-0.row-group td.dim-col[b-u39eyri8am] {
    background: var(--mud-palette-background-grey);
}

.riepilogo-table .row-leaf:hover td[b-u39eyri8am] {
    background: var(--mud-palette-action-default-hover);
}

.riepilogo-table .row-leaf:hover td.dim-col[b-u39eyri8am] {
    background:
        linear-gradient(var(--mud-palette-action-default-hover), var(--mud-palette-action-default-hover)),
        var(--mud-palette-surface);
}

.situazione-detail-table table[b-u39eyri8am] {
    min-width: 1380px;
}

.situazione-detail-table tbody tr:nth-child(odd) td[b-u39eyri8am] {
    background: #12979d;
    color: #fff;
}

.situazione-detail-table tbody tr:nth-child(even) td[b-u39eyri8am] {
    background: #ffffff;
    color: #111;
}

.situazione-detail-table a[b-u39eyri8am] {
    color: inherit;
    font-weight: 700;
}

@media (max-width: 960px) {
    .situazione-shell[b-u39eyri8am] {
        padding: 0.5rem;
    }

    .summary-row-label[b-u39eyri8am] {
        min-width: 180px;
    }

    .summary-value[b-u39eyri8am],
    .summary-total[b-u39eyri8am] {
        min-width: 52px;
    }
}
/* /Components/Pages/Login.razor.rz.scp.css */
.login-page[b-8rvg9oubl1] {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: calc(100vh - 7rem);
    padding: 2rem 1rem;
    background:
        radial-gradient(ellipse 70% 55% at 50% -5%, color-mix(in srgb, var(--mud-palette-primary) 16%, transparent), transparent),
        var(--mud-palette-background);
}

.login-card[b-8rvg9oubl1] {
    width: 100%;
    max-width: 420px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px !important;
}

.login-brand[b-8rvg9oubl1] {
    text-align: center;
}

.login-brand__icon[b-8rvg9oubl1] {
    align-items: center;
    border-radius: 12px;
    box-shadow: 0 6px 18px color-mix(in srgb, var(--mud-palette-primary) 28%, transparent);
    display: inline-flex;
    margin-bottom: 4px;
}

.login-logo[b-8rvg9oubl1] {
    display: flex;
    justify-content: center;
    margin-bottom: 1.25rem;
}

.login-logo .n4w-logo-chip[b-8rvg9oubl1] {
    padding: 10px 16px;
    box-shadow: none;
}

.login-logo img[b-8rvg9oubl1] {
    display: block;
    width: auto;
    height: auto;
    max-width: 220px;
    max-height: 110px;
    object-fit: contain;
}
/* /Components/Pages/MenuManager.razor.rz.scp.css */
.menu-detail-item[b-1rmmejac3t] {
    align-self: flex-start;
}

.menu-tree-scroll[b-1rmmejac3t] {
    margin-top: 12px;
    max-height: 400px;
    overflow: hidden auto;
}

.menu-drop-zone[b-1rmmejac3t] {
    min-height: 12px;
    padding-bottom: 2px;
}

.menu-drop-zone-active[b-1rmmejac3t] {
    background: color-mix(in srgb, var(--mud-palette-primary) 7%, transparent);
    border-radius: 4px;
}

.menu-node[b-1rmmejac3t] {
    margin-top: 2px;
}

.menu-node-block[b-1rmmejac3t] {
    transition: opacity 120ms ease, background-color 120ms ease;
}

.menu-node-dragging[b-1rmmejac3t] {
    opacity: 0.55;
}

.menu-node-children[b-1rmmejac3t] {
    margin-left: 20px;
    padding-left: 8px;
    border-left: 1px solid color-mix(in srgb, var(--mud-palette-lines-default) 70%, transparent);
}

.menu-tree-row[b-1rmmejac3t] {
    min-height: 34px;
}

.menu-tree-row-drop-active[b-1rmmejac3t] {
    outline: 1px dashed var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
}

.menu-drag-handle[b-1rmmejac3t] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--mud-palette-text-secondary);
    cursor: grab;
    border-radius: 4px;
}

.menu-drag-handle:active[b-1rmmejac3t] {
    cursor: grabbing;
}

.menu-drag-handle-disabled[b-1rmmejac3t] {
    cursor: not-allowed;
    opacity: 0.4;
}

.menu-drop-marker[b-1rmmejac3t] {
    height: 8px;
    margin: 1px 0;
    border-radius: 4px;
    transition: background-color 120ms ease, height 120ms ease;
}

.menu-drop-marker-active[b-1rmmejac3t] {
    height: 10px;
    background: var(--mud-palette-primary);
}

.menu-drop-append[b-1rmmejac3t] {
    min-height: 18px;
    border: 1px dashed transparent;
    border-radius: 4px;
}

.menu-drop-append-active[b-1rmmejac3t] {
    border-color: var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 9%, transparent);
}

.menu-detail-sticky[b-1rmmejac3t] {
    position: fixed;
    top: 88px;
    right: 24px;
    width: min(520px, calc(50vw - 36px));
    z-index: 6;
    background: var(--mud-palette-surface);
    max-height: calc(100vh - 120px);
    overflow: auto;
}

@media (max-width: 600px) {
    .menu-manager-root[b-1rmmejac3t] {
        padding-bottom: 260px;
    }

    .menu-detail-item[b-1rmmejac3t] {
        order: 1;
    }

    .menu-detail-sticky[b-1rmmejac3t] {
        left: 0;
        right: 0;
        bottom: 0;
        top: auto;
        width: 100%;
        max-height: 45vh;
        overflow: auto;
        border-radius: 0;
        z-index: 6;
        box-shadow: 0 -6px 16px rgba(0, 0, 0, 0.18);
    }
}
/* /Components/Pages/Prenotazioni/Prenotazioni.razor.rz.scp.css */
.preventivo-shell[b-3si4375uro] {
    border: 1px solid #9fb4de;
    border-radius: 8px;
    box-shadow: 0 3px 14px rgba(23, 55, 112, .08);
    font-family: Tahoma, Verdana, sans-serif;
}

.preventivo-header[b-3si4375uro] {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    min-height: 40px;
    padding: 4px 12px;
}

.preventivo-title[b-3si4375uro] {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1.25;
    margin: 0;
}

.preventivo-header-actions[b-3si4375uro] {
    align-items: center;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

[b-3si4375uro] .legacy-action-button.mud-disabled,
[b-3si4375uro] .legacy-action-button:disabled,
[b-3si4375uro] .legacy-action-button[disabled] {
    background-color: #e7ebf0 !important;
    border-color: #a7b0bd !important;
    color: #243244 !important;
    opacity: 1 !important;
}

[b-3si4375uro] .legacy-action-button.mud-disabled .mud-button-label,
[b-3si4375uro] .legacy-action-button:disabled .mud-button-label,
[b-3si4375uro] .legacy-action-button[disabled] .mud-button-label {
    color: #243244 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #243244 !important;
}

.preventivo-tabs[b-3si4375uro] {
    padding: 0 12px;
}

.top-level-tabs[b-3si4375uro] {
    border-bottom: 1px solid #3561b6;
}

/* La radice di MudTabs non porta l'attributo di scope: il selettore parte dal contenitore della pagina. */
[b-3si4375uro] .top-level-tabs .mud-tabs-panels {
    display: none;
}

[b-3si4375uro] .top-level-tabs .mud-tabs-tabbar-inner,
[b-3si4375uro] .top-level-tabs .mud-tab {
    min-height: 40px;
}

.top-level-tabs[b-3si4375uro]  .mud-tabs-tabbar {
    min-height: 0;
}

.top-level-tabs[b-3si4375uro]  .mud-tab {
    border: 1px solid #424242;
    border-bottom: none;
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    min-height: 40px;
    min-width: auto;
    padding: 4px 10px;
    text-transform: none;
}

.legacy-tab[b-3si4375uro] {
    border: 1px solid #424242;
    border-bottom: none;
    cursor: pointer;
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    min-height: 26px;
    padding: 4px 10px;
}

.preventivo-panel[b-3si4375uro] {
    border-top: 1px solid #9fb4de;
    padding: 8px 12px 12px;
}

.panel-caption[b-3si4375uro] {
    font-size: 14px;
    padding: 8px 6px 4px;
}

.panel-caption-inline[b-3si4375uro] {
    padding-left: 12px;
    padding-top: 12px;
}

.search-toolbar[b-3si4375uro] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    background: var(--mud-palette-surface);
}

/* Ricerca elastica, stazione a larghezza contenuta, pulsanti alla stessa altezza dei campi. */
.search-toolbar[b-3si4375uro]  > .mud-input-control {
    flex: 1 1 320px;
    margin: 0;
}

.search-toolbar[b-3si4375uro]  > .workflow-search-station-select {
    flex: 0 1 320px;
    min-width: 220px;
}

.search-toolbar[b-3si4375uro]  > .mud-button-root {
    height: 40px;
    white-space: nowrap;
}

[b-3si4375uro] .preventivi-list-grid .mud-data-grid-table-wrapper,
[b-3si4375uro] .preventivi-list-grid .mud-data-grid-table,
[b-3si4375uro] .preventivi-list-grid .mud-table-root,
[b-3si4375uro] .preventivi-list-grid .mud-table-container {
    width: 100% !important;
    min-width: 100% !important;
}

[b-3si4375uro] .preventivi-list-grid .mud-data-grid-table {
    table-layout: auto;
}

[b-3si4375uro] .preventivi-list-grid .mud-table-cell,
[b-3si4375uro] .preventivi-list-grid th {
    white-space: normal !important;
    overflow-wrap: anywhere;
}

/* Intestazioni integre: mai spezzate carattere per carattere; se non c'e' spazio la tabella
   scorre in orizzontale (GridHorizontalScrollbar) invece di comprimere le colonne. */
[b-3si4375uro] .preventivi-list-grid th,
[b-3si4375uro] .preventivi-list-grid th .mud-table-cell,
[b-3si4375uro] .preventivi-list-grid .mud-data-grid-header-cell,
[b-3si4375uro] .preventivi-list-grid .column-header .column-header-title {
    white-space: nowrap !important;
    overflow-wrap: normal;
    word-break: keep-all;
}

.loading-block[b-3si4375uro],
.empty-state[b-3si4375uro] {
    align-items: center;
    border: 1px solid #557ccd;
    display: flex;
    justify-content: center;
    margin-top: 8px;
    min-height: 180px;
}

.loading-content[b-3si4375uro],
.empty-state-content[b-3si4375uro] {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 640px;
    padding: 24px;
    text-align: center;
}

.loading-title[b-3si4375uro],
.empty-state-title[b-3si4375uro] {
    font-size: 18px;
    font-weight: 700;
}

.loading-subtitle[b-3si4375uro],
.empty-state-text[b-3si4375uro] {
    font-size: 13px;
    line-height: 1.5;
}

.empty-state-actions[b-3si4375uro] {
    display: flex;
    gap: 8px;
}

.empty-state.compact[b-3si4375uro] {
    justify-content: flex-start;
    margin: 8px;
    min-height: 44px;
    padding: 8px;
}

.action-state[b-3si4375uro] {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.action-state-title[b-3si4375uro] {
    font-size: 13px;
    font-weight: 700;
}

.action-state-text[b-3si4375uro] {
    font-size: 12px;
    line-height: 1.45;
}

.booking-data-paper[b-3si4375uro] {
    border: 1px solid #315ab2;
    margin-top: 8px;
}

.final-step-paper[b-3si4375uro] {
    margin-bottom: 10px;
}

.preventivo-guidance-strip[b-3si4375uro] {
    margin-top: 8px;
}

.workflow-alert[b-3si4375uro] {
    border-radius: 0;
    font-family: Tahoma, Verdana, sans-serif;
}

.preventivo-refresh-strip[b-3si4375uro] {
    border: 1px solid #88a8de;
    border-top: none;
    /*margin-bottom: 4px;*/
}

.refresh-strip-text[b-3si4375uro] {
    color: #23416f;
    font-size: 12px;
    padding: 6px 10px;
}

.mud-field-label[b-3si4375uro] {
    color: #26457d;
    display: block;
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 2px;
}

.booking-input-row[b-3si4375uro] {
    align-items: center;
}

.booking-value-paper[b-3si4375uro] {
    align-items: center;
    border: 1px solid #a8b9dc;
    display: flex;
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    min-height: 40px;
    padding: 0 12px;
}

.booking-total-paper[b-3si4375uro] {
    font-size: 18px;
}

.booking-inline-hint[b-3si4375uro] {
    color: #26457d;
    display: block;
    font-size: 12px;
    margin-top: 4px;
}

.booking-group-select-required[b-3si4375uro]  .mud-input-control {
    border-color: #d07a2a;
}

.preventivo-context-banner[b-3si4375uro] {
    display: grid;
    gap: 8px;
    grid-template-columns: 220px 240px minmax(0, 1fr);
    margin-top: 10px;
}

.context-card[b-3si4375uro] {
    border: 1px solid #315ab2;
    padding: 12px;
}

.context-card-label[b-3si4375uro] {
    color: #173770;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.context-card-value[b-3si4375uro] {
    font-size: 13px;
    font-weight: 700;
}

.context-card-note[b-3si4375uro] {
    color: #26457d;
    font-size: 12px;
    margin-top: 6px;
}

.context-card-wide[b-3si4375uro] {
    min-width: 0;
}

.booking-sections[b-3si4375uro] {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(340px, 430px) minmax(0, 1fr);
    margin-top: 10px;
    align-items: start;
}

.booking-sections.catalog-closed[b-3si4375uro] {
    grid-template-columns: 56px minmax(0, 1fr);
}

.booking-left-column[b-3si4375uro],
.booking-right-column[b-3si4375uro] {
    min-width: 0;
}

.booking-left-column[b-3si4375uro] {
    position: sticky;
    top: 12px;
}

.booking-aside-header[b-3si4375uro] {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
    min-height: 36px;
}

.booking-sections.catalog-closed .booking-aside-header[b-3si4375uro] {
    justify-content: center;
}

.booking-section-caption[b-3si4375uro] {
    font-size: 14px;
    font-weight: 700;
    padding: 0 0 6px;
}

.center-caption[b-3si4375uro] {
    text-align: center;
}

.booking-group-separator[b-3si4375uro],
.booking-group-current[b-3si4375uro] {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 6px;
}

.booking-group-current[b-3si4375uro] {
    margin-left: 4px;
}

.legacy-selector-frame[b-3si4375uro] {
    border: 1px solid #315ab2;
    height: calc(100vh - 180px);
    max-height: calc(100vh - 180px);
    min-height: 320px;
    overflow: auto;
}

.legacy-selector-frame.is-updating[b-3si4375uro],
.booking-summary-grid.is-updating[b-3si4375uro] {
    opacity: .7;
}

.section-status[b-3si4375uro] {
    display: grid;
    gap: 6px;
    margin-bottom: 6px;
}

.section-status span[b-3si4375uro] {
    font-size: 12px;
}

.booking-summary-grid[b-3si4375uro] {
    border: 1px solid #315ab2;
    display: grid;
    grid-template-columns: minmax(220px, 1.8fr) 56px 90px 110px 120px 70px 130px 80px 130px 44px;
}

.summary-header[b-3si4375uro],
.summary-cell[b-3si4375uro] {
    border-bottom: 1px solid #c1cde7;
    border-right: 1px solid #c1cde7;
    font-size: 12px;
    min-height: 38px;
    padding: 6px 8px;
}

.summary-header[b-3si4375uro] {
    font-weight: 700;
}

.summary-cell.description[b-3si4375uro] {
    font-weight: 700;
}

.summary-cell.center[b-3si4375uro],
.summary-header.center[b-3si4375uro] {
    text-align: center;
}

.summary-cell.right[b-3si4375uro],
.summary-header.right[b-3si4375uro] {
    text-align: right;
}

.summary-header.icon-cell[b-3si4375uro],
.summary-cell.icon-cell[b-3si4375uro] {
    align-items: center;
    display: flex;
    justify-content: center;
}

.summary-footer-notes[b-3si4375uro],
.summary-footer-totals[b-3si4375uro] {
    font-size: 13px;
    font-weight: 700;
    min-height: 70px;
    padding: 10px 12px;
}

.summary-footer-notes[b-3si4375uro] {
    border-right: 1px solid #c1cde7;
    grid-column: 1 / span 7;
}

.summary-footer-totals[b-3si4375uro] {
    grid-column: 8 / span 3;
    text-align: right;
}

.messages-strip[b-3si4375uro] {
    display: grid;
    gap: 6px;
    margin-top: 8px;
}

.booking-actions[b-3si4375uro] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.final-step-actions[b-3si4375uro] {
    padding: 0 12px 12px;
}

.final-step-section-title[b-3si4375uro] {
    color: #173770;
    font-family: Tahoma, Verdana, sans-serif;
    font-weight: 700;
    text-transform: uppercase;
}

.final-step-readonly[b-3si4375uro] {
    min-height: 38px;
}


.payment-toolbar[b-3si4375uro] {
    align-items: center;
    display: flex;
    gap: 10px;
    padding: 0 12px 8px;
}

.payment-toolbar-text[b-3si4375uro] {
    color: #26457d;
    font-size: 12px;
}

.payment-card-list[b-3si4375uro] {
    display: grid;
    gap: 10px;
    padding: 0 12px 12px;
}

.payment-card[b-3si4375uro] {
    border: 1px solid #88a0d0;
}



.payment-empty-state[b-3si4375uro] {
    margin: 0 12px 12px;
}

@media (max-width: 1200px) {
    .preventivo-context-banner[b-3si4375uro] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .booking-sections[b-3si4375uro] {
        grid-template-columns: 1fr;
    }

    .booking-sections.catalog-closed[b-3si4375uro] {
        grid-template-columns: 1fr;
    }

    .booking-left-column[b-3si4375uro] {
        position: static;
        top: auto;
    }
}

@media (max-width: 768px) {
    .search-toolbar[b-3si4375uro],
    .preventivo-context-banner[b-3si4375uro] {
        grid-template-columns: 1fr;
    }

    .preventivo-header[b-3si4375uro] {
        align-items: flex-start;
        flex-direction: column;
        padding: 10px 12px;
    }

    .preventivo-header-actions[b-3si4375uro] {
        justify-content: flex-start;
        width: 100%;
    }

    .booking-summary-grid[b-3si4375uro] {
        grid-template-columns: minmax(180px, 1fr) 56px 80px 100px 110px 60px 110px 70px 110px 44px;
        overflow-x: auto;
    }

    .booking-input-row[b-3si4375uro] {
        align-items: stretch !important;
        flex-wrap: wrap;
    }
}

.legacy-action-button[b-3si4375uro] {
    min-height: 36px;
}

[b-3si4375uro] .mud-button-root:focus-visible,
[b-3si4375uro] .mud-icon-button:focus-visible {
    outline: 3px solid rgba(49, 90, 178, .45);
    outline-offset: 2px;
}

/* Pagamenti: riepilogo unico e righe compatte con dettaglio espandibile (come nel contratto). */
.payment-toolbar[b-3si4375uro] {
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 8px;
}

.payment-phase-heading[b-3si4375uro] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.payment-phase-summary[b-3si4375uro] {
    color: #26457d;
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    gap: 12px;
}

.payment-residual[b-3si4375uro] {
    border-radius: 4px;
    padding: 0 6px;
}

.payment-residual.is-open[b-3si4375uro] {
    background: #fff4e5;
    color: #b45309;
}

.payment-residual.is-settled[b-3si4375uro] {
    background: #e8f5e9;
    color: #2e7d32;
}

[b-3si4375uro] .payment-card.is-new {
    border-color: #f59e0b;
    border-left-width: 4px;
}

.payment-row[b-3si4375uro] {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: 34px 86px 96px minmax(0, 1fr) auto auto;
    min-height: 40px;
    padding: 2px 8px 2px 2px;
}

.payment-row-date[b-3si4375uro] {
    font-size: 13px;
}

.payment-row-amount[b-3si4375uro] {
    font-size: 14px;
    font-weight: 700;
    text-align: right;
}

.payment-row-mode[b-3si4375uro] {
    color: #26457d;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.payment-row-actions[b-3si4375uro] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: flex-end;
}

@media (max-width: 600px) {
    .payment-row[b-3si4375uro] {
        grid-template-columns: 34px 1fr auto;
    }

    .payment-row-mode[b-3si4375uro],
    .payment-row-status[b-3si4375uro],
    .payment-row-actions[b-3si4375uro] {
        grid-column: 2 / -1;
    }
}

.pos-status-strip[b-3si4375uro] {
    align-items: center;
    display: flex;
    gap: 4px;
    padding: 0 12px 8px;
}
/* /Components/Pages/Preventivi/Preventivi.razor.rz.scp.css */
.preventivo-shell[b-6za0fzwliu] {
    border: 1px solid #9fb4de;
    border-radius: 8px;
    box-shadow: 0 3px 14px rgba(23, 55, 112, .08);
   /* color: #0d1a33;*/
    font-family: Tahoma, Verdana, sans-serif;
}

.preventivo-header[b-6za0fzwliu] {
    align-items: center;
    /* background: #8f8f8f;
    color: #fff;*/
    display: flex;
    gap: 12px;
    justify-content: space-between;
    min-height: 40px;
    padding: 4px 12px;
}

.preventivo-title[b-6za0fzwliu] {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1.25;
    margin: 0;
}

.preventivo-header-actions[b-6za0fzwliu] {
    align-items: center;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

[b-6za0fzwliu] .legacy-action-button.mud-disabled,
[b-6za0fzwliu] .legacy-action-button:disabled,
[b-6za0fzwliu] .legacy-action-button[disabled] {
    background-color: #e7ebf0 !important;
    border-color: #a7b0bd !important;
    color: #243244 !important;
    opacity: 1 !important;
}

[b-6za0fzwliu] .legacy-action-button.mud-disabled .mud-button-label,
[b-6za0fzwliu] .legacy-action-button:disabled .mud-button-label,
[b-6za0fzwliu] .legacy-action-button[disabled] .mud-button-label {
    color: #243244 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #243244 !important;
}

.preventivo-tabs[b-6za0fzwliu] {
    padding: 0 12px;
}

.top-level-tabs[b-6za0fzwliu] {
    border-bottom: 1px solid #3561b6;
}

/* La radice di MudTabs non porta l'attributo di scope: il selettore parte dal contenitore della pagina. */
[b-6za0fzwliu] .top-level-tabs .mud-tabs-panels {
    display: none;
}

[b-6za0fzwliu] .top-level-tabs .mud-tabs-tabbar-inner,
[b-6za0fzwliu] .top-level-tabs .mud-tab {
    min-height: 40px;
}

.top-level-tabs[b-6za0fzwliu]  .mud-tabs-tabbar {
    min-height: 0;
}

.top-level-tabs[b-6za0fzwliu]  .mud-tab {
    border: 1px solid #424242;
    border-bottom: none;
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    min-height: 40px;
    min-width: auto;
    padding: 4px 10px;
    text-transform: none;
}

.legacy-tab[b-6za0fzwliu] {
    /*background: #d7d7d7!important;*/
    border: 1px solid #424242;
    border-bottom: none;
    /*color: #000;*/
    cursor: pointer;
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    min-height: 26px;
    padding: 4px 10px;
}

.legacy-tab.active[b-6za0fzwliu] {
    /*background: #e4e4e4;*/
}

.preventivo-panel[b-6za0fzwliu] {
    border-top: 1px solid #9fb4de;
    padding: 8px 12px 12px;
}

.panel-caption[b-6za0fzwliu] {
    /*color: #fff;*/
    font-size: 14px;
    padding: 8px 6px 4px;
}

.search-toolbar[b-6za0fzwliu] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    background: var(--mud-palette-surface);
}

/* Ricerca elastica, stazione a larghezza contenuta, pulsanti alla stessa altezza dei campi. */
.search-toolbar[b-6za0fzwliu]  > .mud-input-control {
    flex: 1 1 320px;
    margin: 0;
}

.search-toolbar[b-6za0fzwliu]  > .workflow-search-station-select {
    flex: 0 1 320px;
    min-width: 220px;
}

.search-toolbar[b-6za0fzwliu]  > .mud-button-root {
    height: 40px;
    white-space: nowrap;
}

.legacy-grid[b-6za0fzwliu] {
    /*background: #dfe4ea;*/
    border: 1px solid #365fb5;
}

.legacy-grid[b-6za0fzwliu]  .mud-table-head th {
    background: #8f8f8f;
    border-bottom: 1px solid #6f6f6f;
    /*color: #fff;*/
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 6px;
}

.legacy-grid[b-6za0fzwliu]  .mud-table-body td {
    /*background: #dfe4ea;*/
    border-right: 1px solid #8e8e8e;
    /*color: #00122f;*/
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    padding: 4px 6px;
}

[b-6za0fzwliu] .preventivi-list-grid .mud-data-grid-table-wrapper,
[b-6za0fzwliu] .preventivi-list-grid .mud-data-grid-table,
[b-6za0fzwliu] .preventivi-list-grid .mud-table-root,
[b-6za0fzwliu] .preventivi-list-grid .mud-table-container {
    width: 100% !important;
    min-width: 100% !important;
}

[b-6za0fzwliu] .preventivi-list-grid .mud-data-grid-table {
    table-layout: auto;
}

[b-6za0fzwliu] .preventivi-list-grid .mud-table-cell,
[b-6za0fzwliu] .preventivi-list-grid th {
    white-space: normal !important;
    overflow-wrap: anywhere;
}

/* Intestazioni integre: mai spezzate carattere per carattere; se non c'e' spazio la tabella
   scorre in orizzontale (GridHorizontalScrollbar) invece di comprimere le colonne. */
[b-6za0fzwliu] .preventivi-list-grid th,
[b-6za0fzwliu] .preventivi-list-grid th .mud-table-cell,
[b-6za0fzwliu] .preventivi-list-grid .mud-data-grid-header-cell,
[b-6za0fzwliu] .preventivi-list-grid .column-header .column-header-title {
    white-space: nowrap !important;
    overflow-wrap: normal;
    word-break: keep-all;
}

.loading-block[b-6za0fzwliu],
.empty-state[b-6za0fzwliu] {
    align-items: center;
    /*background: #e6edf9;*/
    border: 1px solid #557ccd;
    display: flex;
    justify-content: center;
    margin-top: 8px;
    min-height: 180px;
}

.loading-content[b-6za0fzwliu],
.empty-state-content[b-6za0fzwliu] {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 640px;
    padding: 24px;
    text-align: center;
}

.loading-title[b-6za0fzwliu],
.empty-state-title[b-6za0fzwliu] {
    /*color: #173770;*/
    font-size: 18px;
    font-weight: 700;
}

.loading-subtitle[b-6za0fzwliu],
.empty-state-text[b-6za0fzwliu] {
    /*color: #2b467a;*/
    font-size: 13px;
    line-height: 1.5;
}

.empty-state-actions[b-6za0fzwliu] {
    display: flex;
    gap: 8px;
}

.empty-state.compact[b-6za0fzwliu] {
    justify-content: flex-start;
    margin: 8px;
    min-height: 44px;
    padding: 8px;
}

.action-state[b-6za0fzwliu] {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.action-state-title[b-6za0fzwliu] {
    /*color: #1b376e;*/
    font-size: 13px;
    font-weight: 700;
}

.action-state-text[b-6za0fzwliu] {
    /*color: #274981;*/
    font-size: 12px;
    line-height: 1.45;
}

.booking-data-grid[b-6za0fzwliu] {
    border: 1px solid #315ab2;
    margin-top: 2px;
}

.booking-data-paper[b-6za0fzwliu] {
    /*background: #e9eef8;*/
    border: 1px solid #315ab2;
    margin-top: 2px;
}

.preventivo-guidance-strip[b-6za0fzwliu] {
    margin-top: 8px;
}

.workflow-alert[b-6za0fzwliu] {
    border-radius: 0;
    font-family: Tahoma, Verdana, sans-serif;
}

.preventivo-refresh-strip[b-6za0fzwliu] {
    /*background: #e4eefc;*/
    border: 1px solid #88a8de;
    border-top: none;
    /*margin-bottom: 4px;*/
}

.refresh-strip-text[b-6za0fzwliu] {
    color: #23416f;
    font-size: 12px;
    padding: 6px 10px;
}

.mud-field-label[b-6za0fzwliu] {
    color: #26457d;
    display: block;
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 2px;
}

.booking-input-row[b-6za0fzwliu] {
    align-items: center;
}

.booking-value-paper[b-6za0fzwliu] {
    align-items: center;
    /*background: #f4f6fb;*/
    border: 1px solid #a8b9dc;
    /*color: #18315f;*/
    display: flex;
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    min-height: 40px;
    padding: 0 12px;
}

.booking-total-paper[b-6za0fzwliu] {
    /*color: #0e2f8b;*/
    font-size: 18px;
}

.booking-row[b-6za0fzwliu] {
    display: grid;
    grid-template-columns: 110px .6fr 140px .7fr 140px 1fr 320px .5fr 190px ;
}
.booking-row2[b-6za0fzwliu] {
    display: grid;
    grid-template-columns: 110px 282px 110px 282px 110px 282px 110px 282px;
}
.booking-row-bottom[b-6za0fzwliu] {
    grid-template-columns: 1fr 2fr;
}

.booking-label[b-6za0fzwliu],
.booking-wide-label[b-6za0fzwliu] {
    align-items: center;
    /*background: #6691e8;*/
    border-bottom: 1px solid #466ec0;
    border-right: 1px solid #466ec0;
    /*color: #fff;*/
    display: flex;
    font-size: 12px;
    justify-content: flex-end;
    min-height: 24px;
    padding: 2px 6px;
}

.booking-field[b-6za0fzwliu],
.booking-wide-field[b-6za0fzwliu] {
    align-items: center;
    /*background: #6691e8;*/
    border-bottom: 1px solid #466ec0;
    border-right: 1px solid #466ec0;
    display: flex;
    min-height: 24px;
    min-width: 0;
    padding: 0 4px;
}

.readonly-booking-field[b-6za0fzwliu] {
    /*color: #0d1a33;*/
    font-size: 12px;
    justify-content: flex-start;
}

.contract-number[b-6za0fzwliu] {
    /*color: #f1f6ff;*/
    font-size: 16px;
    font-weight: 700;
}
.booking-date-field[b-6za0fzwliu] {
    gap: 4px;
}
.booking-time-field[b-6za0fzwliu] {
    gap: 4px;
}

.booking-field[b-6za0fzwliu]  .mud-input-root,
.booking-wide-field[b-6za0fzwliu]  .mud-input-root {
    /*background: #efefef;*/
    border: 1px solid #6d6d6d;
    border-radius: 0;
    font-size: 12px;
    min-height: 20px;
}

.booking-field[b-6za0fzwliu]  .mud-select,
.booking-field[b-6za0fzwliu]  .mud-input,
.booking-wide-field[b-6za0fzwliu]  .mud-select,
.booking-wide-field[b-6za0fzwliu]  .mud-input {
    width: 100%;
}

.booking-data-paper[b-6za0fzwliu]  .mud-input-control,
.booking-data-paper[b-6za0fzwliu]  .mud-picker,
.booking-data-paper[b-6za0fzwliu]  .mud-select {
    width: 100%;
}

.booking-data-paper[b-6za0fzwliu]  .mud-input-root {
    /*background: #fff;*/
}

.booking-date-field[b-6za0fzwliu]  .mud-picker,
.booking-date-field[b-6za0fzwliu]  .mud-select {
    flex: 1 1 0;
}
.booking-time-field[b-6za0fzwliu]  .mud-picker,
.booking-time-field[b-6za0fzwliu]  .mud-select {
    flex: 1 1 0;
}
.booking-field[b-6za0fzwliu]  .mud-input-control,
.booking-wide-field[b-6za0fzwliu]  .mud-input-control {
    margin-top: 0;
}

.booking-field[b-6za0fzwliu]  .mud-input-slot,
.booking-wide-field[b-6za0fzwliu]  .mud-input-slot {
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    min-height: 20px;
}

.booking-field[b-6za0fzwliu]  input,
.booking-field[b-6za0fzwliu]  .mud-select-input,
.booking-wide-field[b-6za0fzwliu]  input,
.booking-wide-field[b-6za0fzwliu]  .mud-select-input {
    /*color: #111;*/
    font-size: 12px;
    padding: 0 4px;
}

.booking-group-strip[b-6za0fzwliu] {
    /*color: #fff;*/
    display: flex;
    gap: 10px;
}

.booking-group-current[b-6za0fzwliu],
.booking-group-separator[b-6za0fzwliu] {
    font-size: 12px;
    font-weight: 700;
}

.booking-group-select[b-6za0fzwliu] {
    max-width: 180px;
}

.booking-group-select-required[b-6za0fzwliu]  .mud-input-root {
    border-color: #c58d25;
    box-shadow: inset 0 0 0 1px rgba(197, 141, 37, .25);
}

.booking-line-select[b-6za0fzwliu] {
    max-width: 240px;
}

.booking-inline-hint[b-6za0fzwliu] {
    /*color: #26457d;*/
    display: block;
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    margin-top: 4px;
}

.preventivo-context-banner[b-6za0fzwliu] {
    display: grid;
    gap: 8px;
    grid-template-columns: 260px minmax(0, 1fr);
    margin-top: 6px;
}

.context-card[b-6za0fzwliu] {
    /*background: #e9eef8;*/
    border: 1px solid #315ab2;
    /*color: #163263;*/
    padding: 10px 12px;
}

.context-card-wide[b-6za0fzwliu] {
    min-width: 0;
}

.context-card-label[b-6za0fzwliu] {
    /*color: #345486;*/
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.context-card-value[b-6za0fzwliu] {
    /*color: #102c58;*/
    font-size: 14px;
    font-weight: 700;
}

.context-card-note[b-6za0fzwliu] {
    /*color: #345486;*/
    font-size: 12px;
    margin-top: 6px;
}

.booking-sections[b-6za0fzwliu] {
    display: grid;
    gap: 8px;
    grid-template-columns: 460px minmax(0, 1fr);
    margin-top: 4px;
    align-items: start;
}

.booking-sections.catalog-closed[b-6za0fzwliu] {
    grid-template-columns: 56px minmax(0, 1fr);
}

.booking-left-column[b-6za0fzwliu],
.booking-right-column[b-6za0fzwliu] {
    min-width: 0;
}

.booking-left-column[b-6za0fzwliu] {
    position: sticky;
    top: 12px;
}

.booking-aside-header[b-6za0fzwliu] {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 4px;
    min-height: 36px;
}

.booking-sections.catalog-closed .booking-aside-header[b-6za0fzwliu] {
    justify-content: center;
}

.booking-section-caption[b-6za0fzwliu] {
    /*color: #fff;*/
    font-size: 14px;
    padding: 0 6px 4px;
}

.center-caption[b-6za0fzwliu] {
    text-align: center;
}

.legacy-selector-frame[b-6za0fzwliu] {
    /*background: #6994ea;*/
    border: 1px solid #365fb5;
    height: calc(100vh - 180px);
    max-height: calc(100vh - 180px);
    min-height: 670px;
    overflow: auto;
    padding: 0;
    position: relative;
}

.legacy-selector-frame.is-updating[b-6za0fzwliu],
.booking-summary-grid.is-updating[b-6za0fzwliu] {
    opacity: .86;
}

.section-status[b-6za0fzwliu] {
    align-items: center;
    /*background: #dce9fb;*/
    border: 1px solid #89a8de;
    /*color: #23416f;*/
    display: flex;
    flex-direction: column;
    font-size: 12px;
    gap: 4px;
    margin-bottom: 4px;
    padding: 6px 8px;
}

.section-status-right[b-6za0fzwliu] {
    margin-bottom: 6px;
}

.legacy-selector-frame[b-6za0fzwliu]  .mud-typography {
    /*color: #fff;*/
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 8px 4px;
}

.legacy-selector-frame[b-6za0fzwliu]  .mud-list {
    /*background: transparent;*/
    padding: 0 2px 4px;
}

.legacy-selector-frame[b-6za0fzwliu]  .mud-list-item {
    border-radius: 0 !important;
    margin-bottom: 5px !important;
    min-height: 30px;
}

.legacy-selector-frame[b-6za0fzwliu]  .mud-list-item-text {
    font-family: Tahoma, Verdana, sans-serif;
    font-size: 12px;
}

.legacy-selector-frame[b-6za0fzwliu]  .mud-list-item .mud-list {
    /*background: #dfe4ea;*/
    border: 1px solid #6d84a7;
    margin-top: 4px;
    max-height: 460px;
    overflow: auto;
    padding: 0;
}

.legacy-selector-frame[b-6za0fzwliu]  .mud-list-item .mud-list .mud-list-item {
    /*background: #dfe4ea !important;*/
    border-bottom: 1px solid #8e8e8e;
    /*color: #00122f !important;*/
    margin: 0 !important;
    min-height: 22px;
}

.legacy-selector-frame[b-6za0fzwliu]  .mud-list-item .mud-list .mud-list-item > div {
    font-size: 12px;
}

.legacy-selector-frame[b-6za0fzwliu]  .mud-input-root {
    /*background: #efefef;*/
    border: 1px solid #6d6d6d;
    border-radius: 0;
    min-height: 22px;
}

.legacy-selector-frame[b-6za0fzwliu]  .mud-button-root {
    border-radius: 0;
    min-height: 22px;
}

.booking-summary-grid[b-6za0fzwliu] {
    /*background: #6994ea;*/
    border: 1px solid #365fb5;
    display: grid;
    /*grid-template-columns: minmax(220px, 1.7fr) 56px 80px 118px 118px 84px 168px 64px 168px 34px;*/
}

.summary-header[b-6za0fzwliu] {
    /*background: #8f8f8f;*/
    border-bottom: 1px solid #6f6f6f;
    /*color: #fff;*/
    font-size: 12px;
    font-weight: 700;
    min-height: 26px;
    padding: 3px 6px;
}

.summary-cell[b-6za0fzwliu] {
    align-items: center;
    /*background: #6994ea;*/
    border-bottom: 1px solid #8aa6dd;
    border-right: 1px solid #8aa6dd;
    /*color: #fff;*/
    display: flex;
    font-size: 12px;
    min-height: 26px;
    padding: 2px 6px;
}

.summary-cell.right[b-6za0fzwliu],
.summary-header.right[b-6za0fzwliu] {
    justify-content: flex-end;
}

.summary-cell.center[b-6za0fzwliu],
.summary-header.center[b-6za0fzwliu] {
    justify-content: center;
}

.summary-cell.icon-cell[b-6za0fzwliu],
.summary-header.icon-cell[b-6za0fzwliu] {
    justify-content: center;
    padding: 0;
}

.summary-cell[b-6za0fzwliu]  .mud-icon-button {
    /*color: #202020;*/
}

.total-line-cell[b-6za0fzwliu] {
    font-weight: 700;
}

.summary-footer-notes[b-6za0fzwliu] {
    /*background: #ececc2;*/
    border-right: 1px solid #8aa6dd;
    /*color: #111;*/
    font-size: 13px;
    font-weight: 700;
    grid-column: 1 / span 6;
    min-height: 58px;
    padding: 8px 10px;
}

.summary-footer-totals[b-6za0fzwliu] {
    align-items: flex-end;
    /*background: #ececc2;*/
    /*color: #000;*/
    display: flex;
    flex-direction: column;
    font-size: 13px;
    font-weight: 700;
    grid-column: 7 / span 4;
    justify-content: center;
    min-height: 58px;
    padding: 8px 14px;
}

.messages-strip[b-6za0fzwliu] {
    margin-top: 8px;
}

.messages-strip > * + *[b-6za0fzwliu] {
    margin-top: 6px;
}

.legacy-action-button[b-6za0fzwliu] {
    /*background: #efefef !important;*/
    border: 1px solid #6d6d6d !important;
    border-radius: 2px !important;
    /*color: #111 !important;*/
    font-size: 12px !important;
    min-height: 36px;
    min-width: 0;
    padding: 2px 12px !important;
}

.panel-caption-inline[b-6za0fzwliu] {
    padding-left: 12px;
    padding-top: 12px;
}

.final-step-paper[b-6za0fzwliu] {
    margin-top: 8px;
}

.final-step-section-title[b-6za0fzwliu] {
    color: #26457d;
    font-family: Tahoma, Verdana, sans-serif;
    font-weight: 700;
}

.final-step-readonly[b-6za0fzwliu] {
    min-height: 42px;
}

.final-step-actions[b-6za0fzwliu] {
    background: #c6c6c6;
    border: 1px solid #88a0d3;
    border-top: none;
    display: flex;
    gap: 6px;
    justify-content: flex-end;
    padding: 6px 10px;
}

@media (max-width: 1400px) {
    .booking-row[b-6za0fzwliu] {
        grid-template-columns: 150px 1fr 150px 1fr;
    }

    .preventivo-context-banner[b-6za0fzwliu],
    .booking-sections[b-6za0fzwliu] {
        grid-template-columns: 1fr;
    }

    .booking-sections.catalog-closed[b-6za0fzwliu] {
        grid-template-columns: 1fr;
    }

    .booking-left-column[b-6za0fzwliu] {
        position: static;
        top: auto;
    }

    .legacy-selector-frame[b-6za0fzwliu] {
        min-height: 420px;
        height: auto;
        max-height: none;
    }

    .booking-summary-grid[b-6za0fzwliu] {
        overflow-x: auto;
    }
}

@media (max-width: 900px) {
    .preventivo-header[b-6za0fzwliu] {
        align-items: flex-start;
        flex-direction: column;
        padding: 10px 12px;
    }

    .preventivo-header-actions[b-6za0fzwliu] {
        justify-content: flex-start;
        width: 100%;
    }

    .empty-state-actions[b-6za0fzwliu] {
        align-items: stretch;
        flex-direction: column;
    }

    .search-toolbar[b-6za0fzwliu],
    .booking-row[b-6za0fzwliu],
    .booking-row-bottom[b-6za0fzwliu] {
        grid-template-columns: 1fr;
    }

    .booking-label[b-6za0fzwliu],
    .booking-wide-label[b-6za0fzwliu] {
        justify-content: flex-start;
    }

    .booking-group-strip[b-6za0fzwliu] {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .booking-input-row[b-6za0fzwliu] {
        align-items: stretch !important;
        flex-wrap: wrap;
    }
}
[b-6za0fzwliu] .mud-button-root:focus-visible,
[b-6za0fzwliu] .mud-icon-button:focus-visible {
    outline: 3px solid rgba(49, 90, 178, .45);
    outline-offset: 2px;
}
/* /Components/Pages/Reports/RiepilogoGeneraleDrilldown.razor.rz.scp.css */
.riepilogo-detail-page-table .mud-table-container[b-ltny0oc3t6] {
    max-height: calc(100vh - 190px);
    overflow: auto;
}

.riepilogo-detail-page-table table[b-ltny0oc3t6] {
    min-width: 1380px;
}

.riepilogo-detail-page-table thead th[b-ltny0oc3t6] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--mud-palette-background-grey);
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
}

.riepilogo-detail-page-table tbody td[b-ltny0oc3t6] {
    white-space: nowrap;
}

.riepilogo-detail-page-table tbody tr:nth-child(odd) td[b-ltny0oc3t6] {
    background: #12979d;
    color: #fff;
}

.riepilogo-detail-page-table tbody tr:nth-child(even) td[b-ltny0oc3t6] {
    background: #fff;
    color: #111;
}

.riepilogo-detail-page-table a[b-ltny0oc3t6] {
    color: inherit;
    font-weight: 700;
}
/* /Components/Pages/Tariffe/Listino.razor.rz.scp.css */
.listino-shell--compact[b-w9ue8k146n] {
    padding: 0;
}

.listino-compact-toolbar[b-w9ue8k146n] {
    padding: 0.25rem 0 0.5rem;
}

.listino-filter-row[b-w9ue8k146n],
.listino-editor-row[b-w9ue8k146n],
.listino-editor-actions[b-w9ue8k146n] {
    flex-wrap: wrap;
}

.listino-compact-container[b-w9ue8k146n] {
    position: relative;
}

.listino-compact-layout[b-w9ue8k146n] {
    position: relative;
}

.listino-editor-surface[b-w9ue8k146n] {
    width: 100%;
}
/* /Components/Pages/Tariffe/ServiziTariffe.razor.rz.scp.css */
/* Anteprima come appare il tipo servizio nel selettore servizi. */
.tipo-servizio-color-preview[b-uwld1oe52h] {
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 6px;
    display: inline-block;
    font-size: 13px;
    padding: 2px 10px;
    white-space: nowrap;
}
/* /Components/Pages/Tariffe/Stagioni.razor.rz.scp.css */
.season-legend[b-v7k0ce2ftz] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    font-size: .85rem;
    color: var(--mud-palette-text-secondary);
}

.season-legend span[b-v7k0ce2ftz] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.season-swatch[b-v7k0ce2ftz] {
    display: inline-block;
    width: 14px;
    height: 10px;
    border-radius: 3px;
}

.season-scroll[b-v7k0ce2ftz] {
    overflow-x: auto;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 6px;
    background: var(--mud-palette-surface);
}

.season-grid[b-v7k0ce2ftz] {
    display: grid;
    grid-template-columns: 220px minmax(720px, 1fr);
    align-items: center;
    min-width: 940px;
}

.season-head[b-v7k0ce2ftz] {
    position: sticky;
    top: 0;
    background: var(--mud-palette-background);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    padding: 6px 8px;
    font-size: .75rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.season-months[b-v7k0ce2ftz] {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    text-transform: capitalize;
}

.season-family[b-v7k0ce2ftz] {
    grid-column: 1 / -1;
    padding: 8px 8px 2px;
    font-weight: 700;
    font-size: .85rem;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.season-label[b-v7k0ce2ftz] {
    padding: 4px 8px;
    font-size: .8rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.season-track[b-v7k0ce2ftz] {
    position: relative;
    height: 26px;
    margin: 2px 8px;
}

.season-month-line[b-v7k0ce2ftz] {
    position: absolute;
    top: 0;
    bottom: 0;
    border-left: 1px dashed var(--mud-palette-lines-default);
}

.season-bar[b-v7k0ce2ftz] {
    position: absolute;
    top: 3px;
    height: 20px;
    padding: 0 6px;
    border: 0;
    border-radius: 4px;
    font: inherit;
    font-size: .72rem;
    color: #fff;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
}

.season-bar:focus-visible[b-v7k0ce2ftz] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.is-published[b-v7k0ce2ftz] {
    background: var(--mud-palette-success);
}

.is-draft[b-v7k0ce2ftz] {
    background: var(--mud-palette-gray-default, #9e9e9e);
}

.is-suspended[b-v7k0ce2ftz] {
    background: var(--mud-palette-warning);
}
/* /Components/Pages/Tariffe/TabellaPrezziEditor.razor.rz.scp.css */
.tabella-prezzi-scroll[b-xy1oqe9aex] {
    overflow: auto;
    max-height: 70vh;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 4px;
}

.tabella-prezzi[b-xy1oqe9aex] {
    border-collapse: collapse;
    font-size: 0.875rem;
}

.tabella-prezzi th[b-xy1oqe9aex],
.tabella-prezzi td[b-xy1oqe9aex] {
    border: 1px solid var(--mud-palette-table-lines);
    padding: 0;
    text-align: center;
    white-space: nowrap;
}

.tabella-prezzi thead th[b-xy1oqe9aex] {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 0.4rem 0.5rem;
    background: var(--mud-palette-background-grey);
    font-weight: 600;
}

.tabella-prezzi .tabella-prezzi-gruppo[b-xy1oqe9aex] {
    position: sticky;
    left: 0;
    z-index: 1;
    padding: 0.3rem 0.6rem;
    text-align: left;
    background: var(--mud-palette-background-grey);
    font-weight: 600;
}

.tabella-prezzi thead .tabella-prezzi-gruppo[b-xy1oqe9aex] {
    z-index: 3;
}

.tabella-prezzi-gruppo-descr[b-xy1oqe9aex] {
    display: block;
    font-weight: 400;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.tabella-prezzi-input[b-xy1oqe9aex] {
    width: 5.5rem;
    padding: 0.35rem 0.4rem;
    border: none;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: right;
}

.tabella-prezzi-input:focus[b-xy1oqe9aex] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.tabella-prezzi-cell--changed[b-xy1oqe9aex] {
    background: rgba(255, 193, 7, 0.25);
}

.tabella-prezzi-cell--new[b-xy1oqe9aex] {
    background: rgba(76, 175, 80, 0.22);
}

.tabella-prezzi-cell--draft[b-xy1oqe9aex] {
    background: rgba(33, 150, 243, 0.10);
}

.tabella-prezzi-cell--invalid[b-xy1oqe9aex] {
    background: rgba(244, 67, 54, 0.25);
}

.tabella-prezzi-cell--notsellable .tabella-prezzi-input[b-xy1oqe9aex] {
    text-decoration: line-through;
}

.tabella-prezzi-legend-item[b-xy1oqe9aex] {
    font-size: 0.75rem;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    border: 1px solid var(--mud-palette-table-lines);
}
/* /Components/Pages/Tariffe/Testata.razor.rz.scp.css */
.tariffe-testata-shortcuts[b-t87lf8vxd7] {
    margin-bottom: 0.5rem;
}

.tariffe-testata-shortcut-title[b-t87lf8vxd7] {
    width: 100%;
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.tariffe-testata-shortcut-body[b-t87lf8vxd7] {
    padding-top: 0.25rem;
}

.tariffe-testata-shortcut-row[b-t87lf8vxd7] {
    padding-top: 0.25rem;
    width: 100%;
}

[b-t87lf8vxd7] .tariffe-testata-shortcuts .mud-expand-panel {
    border-radius: 4px;
}

[b-t87lf8vxd7] .tariffe-testata-shortcuts .mud-expand-panel-header {
    min-height: 44px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

[b-t87lf8vxd7] .tariffe-testata-shortcuts .mud-expand-panel-content {
    padding-top: 0;
}

[b-t87lf8vxd7] .tariffe-testata-shortcuts [role="group"] {
    padding: 10px;
}

[b-t87lf8vxd7] .tariffe-testata-shortcut-button {
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
}

@media (max-width: 959.98px) {
    .tariffe-testata-shortcut-row[b-t87lf8vxd7] {
        flex-wrap: wrap !important;
    }

    [b-t87lf8vxd7] .tariffe-testata-shortcut-button {
        flex-basis: 100%;
    }
}
/* /Components/Shared/ContrattoDocumentiCard.razor.rz.scp.css */
.docs-loading[b-udp9nn1kzw] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 12px;
}

.docs-sections[b-udp9nn1kzw] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px;
}

.docs-section[b-udp9nn1kzw] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    background: var(--mud-palette-surface);
    overflow: hidden;
}

/* Barra di avanzamento a filo del bordo superiore: non sposta il contenuto quando compare. */
.docs-section-progress[b-udp9nn1kzw] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
}

.docs-section-header[b-udp9nn1kzw] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.docs-section-title[b-udp9nn1kzw] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.docs-section-title[b-udp9nn1kzw]  .docs-section-name {
    font-weight: 600;
    margin-right: 4px;
}

.docs-section-title[b-udp9nn1kzw]  .mud-chip {
    margin: 0;
}

.docs-section-meta[b-udp9nn1kzw] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.docs-section-meta:empty[b-udp9nn1kzw] {
    display: none;
}

.docs-waiting[b-udp9nn1kzw] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 0.8125rem;
    color: var(--mud-palette-info-darken, var(--mud-palette-info));
    background: var(--mud-palette-info-hover, rgba(33, 150, 243, 0.08));
}

.docs-sections[b-udp9nn1kzw]  .docs-alert {
    margin: 0;
}

.docs-action-groups[b-udp9nn1kzw] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 32px;
}

.docs-action-group[b-udp9nn1kzw] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.docs-action-group + .docs-action-group[b-udp9nn1kzw] {
    padding-left: 32px;
    border-left: 1px solid var(--mud-palette-lines-default);
}

.docs-action-group-label[b-udp9nn1kzw] {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

.docs-action-row[b-udp9nn1kzw] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

/* Select e pulsanti alla stessa altezza, cosi' la riga resta allineata. */
.docs-action-row[b-udp9nn1kzw]  .docs-select {
    width: 130px;
    flex: 0 0 130px;
    margin: 0;
}

.docs-action-row[b-udp9nn1kzw]  .docs-select .mud-input-control {
    margin: 0;
}

.docs-action-row[b-udp9nn1kzw]  > .mud-button-root {
    height: 40px;
}

.docs-action-row-contract[b-udp9nn1kzw] {
    padding-top: 4px;
}

.docs-secondary-actions[b-udp9nn1kzw] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 4px;
    padding-top: 8px;
    border-top: 1px dashed var(--mud-palette-lines-default);
}

.docs-qr[b-udp9nn1kzw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.docs-qr img[b-udp9nn1kzw] {
    width: 220px;
    height: 220px;
}

.docs-sections[b-udp9nn1kzw]  .docs-button-label,
.docs-loading[b-udp9nn1kzw]  .docs-button-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.docs-sections[b-udp9nn1kzw]  .docs-button-spinner,
.docs-loading[b-udp9nn1kzw]  .docs-button-spinner {
    width: 16px !important;
    height: 16px !important;
    color: currentColor;
}

.docs-sections[b-udp9nn1kzw]  .docs-spinner,
.docs-loading[b-udp9nn1kzw]  .docs-spinner {
    width: 18px !important;
    height: 18px !important;
}

@media (max-width: 900px) {
    .docs-action-group + .docs-action-group[b-udp9nn1kzw] {
        padding-left: 0;
        border-left: none;
    }
}

/* ---- Guida al prossimo passo ---- */
.docs-guide[b-udp9nn1kzw] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid var(--mud-palette-lines-default);
    border-left-width: 4px;
    border-radius: 8px;
    background: var(--mud-palette-surface);
}

.docs-guide--action[b-udp9nn1kzw] { border-left-color: var(--mud-palette-primary); }
.docs-guide--waiting[b-udp9nn1kzw] { border-left-color: var(--mud-palette-info); }
.docs-guide--error[b-udp9nn1kzw] { border-left-color: var(--mud-palette-error); }
.docs-guide--done[b-udp9nn1kzw] { border-left-color: var(--mud-palette-success); }

.docs-guide-steps[b-udp9nn1kzw] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.docs-guide-step[b-udp9nn1kzw] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.docs-guide-step-mark[b-udp9nn1kzw] {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 1px solid var(--mud-palette-lines-default);
    font-size: 0.75rem;
    font-weight: 700;
}

.docs-guide-step.is-current[b-udp9nn1kzw] { color: var(--mud-palette-text-primary); }
.docs-guide-step.is-current .docs-guide-step-mark[b-udp9nn1kzw] {
    border-color: var(--mud-palette-primary);
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text, #fff);
}

.docs-guide-step.is-done[b-udp9nn1kzw] { color: var(--mud-palette-success); }
.docs-guide-step.is-done .docs-guide-step-mark[b-udp9nn1kzw] {
    border-color: var(--mud-palette-success);
    background: var(--mud-palette-success);
    color: #fff;
}

.docs-guide-message[b-udp9nn1kzw] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.docs-guide-message strong[b-udp9nn1kzw] {
    font-size: 0.9375rem;
    color: var(--mud-palette-text-primary);
}

.docs-guide-message span[b-udp9nn1kzw] {
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Shared/NestedPagedSelector.razor.rz.scp.css */
.nested-selector-franchise-reduction[b-mhjvrj1ozm] {
    background: #ecfdf3;
    border-inline-start: 4px solid #16a34a;
}

.nested-selector-item-content[b-mhjvrj1ozm] {
    min-width: 0;
}

.nested-selector-franchise-chip[b-mhjvrj1ozm] {
    margin-top: 0.125rem;
    font-weight: 700;
}

/* Righe compatte: gruppi e servizi alti quanto il testo, senza i paddings di lista e checkbox. */
.nested-selector[b-mhjvrj1ozm]  .mud-list-item {
    padding-top: 1px;
    padding-bottom: 1px;
}

.nested-selector[b-mhjvrj1ozm]  .mud-list-item-text {
    margin-top: 0;
    margin-bottom: 0;
}

/* app.css aggiunge 10px sopra e sotto a ogni [role=group] (MudStack) dentro i tab. */
.nested-selector[b-mhjvrj1ozm]  .mud-list-item [role="group"] {
    padding: 0;
}

.nested-selector[b-mhjvrj1ozm]  .mud-list-item .mud-checkbox .mud-icon-button {
    padding: 2px;
}
/* /Components/Shared/NextStepLine.razor.rz.scp.css */
.n4w-next-step[b-r27eiv1gke] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin: 8px 12px 0;
    padding: 6px 12px;
    border-left: 3px solid var(--mud-palette-info);
    background: var(--mud-palette-background);
    font-size: .85rem;
}

.n4w-next-step-label[b-r27eiv1gke],
.n4w-next-step-note[b-r27eiv1gke] {
    color: var(--mud-palette-text-secondary);
}
/* /Components/Shared/NoleggioCalcoloTab.razor.rz.scp.css */
.booking-data-paper[b-7iqk0fhdqa] {
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
}

.preventivo-guidance-strip[b-7iqk0fhdqa] {
    margin-bottom: 1rem;
}

.workflow-alert[b-7iqk0fhdqa] {
    border-radius: 16px;
}

.preventivo-refresh-strip[b-7iqk0fhdqa] {
    margin-bottom: 1rem;
}

.refresh-strip-text[b-7iqk0fhdqa] {
    padding: 0.45rem 0.85rem 0;
    font-size: 0.85rem;
    color: var(--mud-palette-text-secondary);
}

.preventivo-context-banner[b-7iqk0fhdqa] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.85rem;
    margin: 1rem 0;
}

.booking-sections[b-7iqk0fhdqa] {
    display: grid;
    gap: 0.3rem;
    align-items: start;
}

.booking-sections.catalog-open[b-7iqk0fhdqa] {
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

.booking-sections.catalog-closed[b-7iqk0fhdqa] {
    grid-template-columns: 27px minmax(0, 1fr);
}

.booking-left-column[b-7iqk0fhdqa],
.booking-right-column[b-7iqk0fhdqa] {
    min-width: 0;
}

.booking-aside-header[b-7iqk0fhdqa] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.booking-section-caption[b-7iqk0fhdqa] {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

.center-caption[b-7iqk0fhdqa] {
    margin-bottom: 0.75rem;
}

.legacy-selector-frame[b-7iqk0fhdqa] {
    min-height: 220px;
}

.summary-context-cards[b-7iqk0fhdqa] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
}

.summary-context-card[b-7iqk0fhdqa] {
    min-width: 0;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
    background: var(--mud-palette-background-gray);
}

.summary-context-card-label[b-7iqk0fhdqa] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.summary-context-card-value[b-7iqk0fhdqa] {
    margin-top: 0.2rem;
    font-size: 1rem;
    font-weight: 700;
}

.summary-context-card-note[b-7iqk0fhdqa] {
    margin-top: 0.25rem;
    color: var(--mud-palette-text-secondary);
    font-size: 0.78rem;
    line-height: 1.35;
}

.summary-franchise-reduction[b-7iqk0fhdqa] {
    background: #ecfdf3;
    border-inline-start: 4px solid #16a34a;
}

.summary-franchise-chip[b-7iqk0fhdqa] {
    align-self: flex-start;
    margin-top: 0.25rem;
    font-weight: 700;
}

@media (max-width: 1199.98px) {
    .booking-sections.catalog-open[b-7iqk0fhdqa],
    .booking-sections.catalog-closed[b-7iqk0fhdqa] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 599.98px) {
    .summary-context-cards[b-7iqk0fhdqa] {
        grid-template-columns: 1fr;
    }
}
/*
.summary-col-narrow {
    width: 80px;
    max-width: 80px;
    min-width: 80px;
}

    .summary-col-narrow-field {
        max-width: 80px;
    }
td.mud-table-cell.summary-col-narrow {
    width: 80px;
    max-width: 80px;
    min-width: 80px;
}*/

/* Dati del calcolo: etichetta sopra e campo sotto con la stessa distanza in ogni colonna; i campi riempiono la colonna
   della griglia, cosi' gruppo, gruppo veicolo e veicolo stanno sotto date, stazioni e numero. */
.noleggio-calcolo-dati[b-7iqk0fhdqa]  .mud-field-label {
    display: block;
    line-height: 16px;
    min-height: 16px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.noleggio-calcolo-dati[b-7iqk0fhdqa]  .booking-group-select,
.noleggio-calcolo-dati[b-7iqk0fhdqa]  .booking-line-select {
    max-width: none;
    min-width: 0;
    width: 100%;
}

/* Valori calcolati (giorni, totale, origine): riquadro alto come un campo e allineato ai campi della riga. */
.noleggio-calcolo-dati[b-7iqk0fhdqa]  .booking-value-paper {
    align-items: center;
    background: var(--mud-palette-background-gray);
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    display: flex;
    font-weight: 700;
    margin-top: 4px;
    min-height: 34px;
    overflow: hidden;
    padding: 0 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.noleggio-calcolo-dati[b-7iqk0fhdqa]  .booking-total-paper {
    color: var(--mud-palette-primary);
    font-size: 1rem;
}

.noleggio-calcolo-dati[b-7iqk0fhdqa]  .booking-inline-hint {
    color: var(--mud-palette-text-secondary);
    display: block;
    margin-top: 2px;
}

/* Riquadri di contesto sopra i dati (stato veicolo, catalogo servizi). */
.context-card[b-7iqk0fhdqa] {
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
    min-width: 0;
    padding: 0.6rem 0.85rem;
}

.context-card-wide[b-7iqk0fhdqa] {
    grid-column: span 2;
}

.context-card-label[b-7iqk0fhdqa] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.context-card-value[b-7iqk0fhdqa] {
    font-size: 0.9rem;
    font-weight: 700;
    margin-top: 0.15rem;
}

.context-card-note[b-7iqk0fhdqa] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.78rem;
    line-height: 1.35;
    margin-top: 0.2rem;
}

@media (max-width: 599.98px) {
    .context-card-wide[b-7iqk0fhdqa] {
        grid-column: auto;
    }
}

/* Righe obbligatorie o sola lettura: il cestino non agisce, quindi quasi invisibile per non sembrare cliccabile.
   !important perche' app.css forza opacity 1 su tutti i pulsanti disattivati. */
[b-7iqk0fhdqa] .summary-remove-button.mud-disabled,
[b-7iqk0fhdqa] .summary-remove-button:disabled {
    opacity: .3 !important;
}
/* /Components/Shared/NoticeStrip.razor.rz.scp.css */
.n4w-notice-strip[b-bbrlsij3p6] {
    margin: 8px 12px 0;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 6px;
    background: var(--mud-palette-surface);
}

.n4w-notice-strip__toggle[b-bbrlsij3p6] {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 4px 10px;
    border: 0;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font: inherit;
    font-size: .8rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.n4w-notice-strip__toggle:focus-visible[b-bbrlsij3p6] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.n4w-notice-strip__hint[b-bbrlsij3p6] {
    font-weight: 400;
}

.n4w-notice-strip__content[b-bbrlsij3p6] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 0 8px 8px;
}

.n4w-notice-strip__content[hidden][b-bbrlsij3p6] {
    display: none;
}

/* I pannelli interni hanno margini propri pensati per stare da soli: nella fascia li allinea il gap. */
.n4w-notice-strip__content[b-bbrlsij3p6]  .mud-alert,
.n4w-notice-strip__content[b-bbrlsij3p6]  .mud-paper {
    margin: 0 !important;
}
/* /Components/Shared/OfficeManagementPanel.razor.rz.scp.css */
.station-hours-panel[b-2yx3m9jrke] {
    border-top: 1px solid var(--mud-palette-lines-default);
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 6px;
    padding-top: 14px;
}

.station-hours-heading[b-2yx3m9jrke] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.station-hours-days[b-2yx3m9jrke],
.station-hours-actions[b-2yx3m9jrke],
.station-hours-ranges[b-2yx3m9jrke] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.station-hours-actions[b-2yx3m9jrke] {
    justify-content: space-between;
}

.station-hours-copy[b-2yx3m9jrke] {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(180px, 240px) minmax(150px, 190px) auto auto;
}

.station-hours-timeline[b-2yx3m9jrke] {
    border: 1px solid var(--mud-palette-lines-default);
    display: grid;
    max-width: 100%;
    min-height: 48px;
    overflow-x: auto;
}

.station-hours-slot[b-2yx3m9jrke] {
    align-items: flex-start;
    background: var(--mud-palette-surface);
    border: 0;
    border-right: 1px solid rgba(0, 0, 0, .08);
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: .62rem;
    justify-content: center;
    min-height: 48px;
    min-width: 22px;
    padding: 3px 0 0;
}

.station-hours-slot.is-hour[b-2yx3m9jrke] {
    border-left: 1px solid rgba(0, 0, 0, .24);
}

.station-hours-slot.is-open[b-2yx3m9jrke] {
    background: #2f8f46;
    color: #fff;
}

.station-hours-slot.is-pending[b-2yx3m9jrke] {
    background: #1d6fb8;
    color: #fff;
}

.station-hours-slot:hover[b-2yx3m9jrke],
.station-hours-slot:focus-visible[b-2yx3m9jrke] {
    filter: brightness(.93);
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.station-hours-slot span[b-2yx3m9jrke] {
    writing-mode: vertical-rl;
}

.station-hours-range[b-2yx3m9jrke] {
    align-items: center;
    background: var(--mud-palette-background-grey);
    border: 1px solid var(--mud-palette-lines-default);
    display: inline-flex;
    font-size: .82rem;
    gap: 4px;
    min-height: 30px;
    padding: 2px 2px 2px 10px;
}

@media (max-width: 900px) {
    .station-hours-actions[b-2yx3m9jrke] {
        align-items: flex-start;
        flex-direction: column;
    }

    .station-hours-copy[b-2yx3m9jrke] {
        grid-template-columns: 1fr;
        width: 100%;
    }
}
/* /Components/Shared/OfficeSelector.razor.rz.scp.css */

[b-jyw0aurvbu] .office-menu-item .mud-menu-item-label {
    min-width: 0;
    width: 100%;
}

.office-label-scroll[b-jyw0aurvbu] {
    display: block;
    max-width: 260px;
    overflow-x: hidden;
    overflow-y: hidden;
    white-space: nowrap;
    text-overflow: unset;
    scrollbar-width: thin;
}

[b-jyw0aurvbu] .office-menu-item .mud-list-item-text,
[b-jyw0aurvbu] .office-menu-item .mud-menu-item-text,
[b-jyw0aurvbu] .office-menu-item .mud-menu-item-label {
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    text-overflow: unset !important;
}

.office-label-scroll[b-jyw0aurvbu]::-webkit-scrollbar {
    height: 6px;
}

.office-label-scroll[b-jyw0aurvbu]::-webkit-scrollbar-thumb {
    background: rgba(120, 120, 120, 0.6);
    border-radius: 4px;
}
/* /Components/Shared/PhaseBar.razor.rz.scp.css */
.n4w-phase-bar[b-mimk9crxoo] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
}

.n4w-phase[b-mimk9crxoo] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 18px;
    background: var(--mud-palette-background);
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
}

.n4w-phase:hover:not(:disabled)[b-mimk9crxoo] {
    border-color: var(--mud-palette-primary);
}

.n4w-phase:focus-visible[b-mimk9crxoo] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.n4w-phase:disabled[b-mimk9crxoo] {
    cursor: not-allowed;
    opacity: .55;
}

.n4w-phase.is-active[b-mimk9crxoo] {
    background: var(--mud-palette-primary);
    border-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

.n4w-phase.is-done[b-mimk9crxoo]  .n4w-phase-icon { color: var(--mud-palette-success); }
.n4w-phase.is-attention[b-mimk9crxoo]  .n4w-phase-icon { color: var(--mud-palette-warning); }
.n4w-phase.is-ready[b-mimk9crxoo]  .n4w-phase-icon { color: var(--mud-palette-info); }
.n4w-phase.is-pending[b-mimk9crxoo] { color: var(--mud-palette-text-secondary); }
.n4w-phase.is-active[b-mimk9crxoo]  .n4w-phase-icon { color: inherit; }

/* Schermi touch (tablet al banco): fasi alte almeno 40 px, piu' facili da toccare col dito. */
@media (pointer: coarse) {
    .n4w-phase[b-mimk9crxoo] { min-height: 40px; }
}
/* /Components/Shared/WorkflowChecklist.razor.rz.scp.css */
.workflow-checklist[b-uxoiqjvje1] {
    border: 1px solid #315ab2;
    margin: 4px 12px 0;
    padding: 4px 8px;
}

.workflow-checklist.is-expanded[b-uxoiqjvje1] {
    padding-bottom: 8px;
}

.workflow-checklist-header[b-uxoiqjvje1] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
}

.workflow-checklist.is-expanded .workflow-checklist-header[b-uxoiqjvje1] {
    margin-bottom: 6px;
}

.workflow-checklist-toggle[b-uxoiqjvje1] {
    align-items: center;
    background: transparent;
    border: 0;
    color: #173770;
    cursor: pointer;
    display: inline-flex;
    gap: 4px;
    padding: 2px 0;
}

.workflow-checklist-toggle:focus-visible[b-uxoiqjvje1] {
    outline: 2px solid #173770;
    outline-offset: 2px;
}

.workflow-checklist-summary[b-uxoiqjvje1] {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    gap: 4px;
    min-width: 0;
}

.workflow-checklist-pill[b-uxoiqjvje1] {
    align-items: center;
    background: transparent;
    border: 1px solid #9fb3df;
    color: #173770;
    display: inline-flex;
    font: inherit;
    font-size: 11px;
    gap: 6px;
    line-height: 1.2;
    padding: 2px 8px;
    white-space: nowrap;
}

button.workflow-checklist-pill[b-uxoiqjvje1] {
    cursor: pointer;
}

button.workflow-checklist-pill:disabled[b-uxoiqjvje1] {
    cursor: default;
}

button.workflow-checklist-pill:not(:disabled):hover[b-uxoiqjvje1] {
    filter: brightness(.96);
}

button.workflow-checklist-pill:not(:disabled):focus-visible[b-uxoiqjvje1] {
    outline: 2px solid #173770;
    outline-offset: 2px;
}

.workflow-checklist-pill-step[b-uxoiqjvje1] {
    font-weight: 700;
    text-transform: uppercase;
}

.workflow-checklist-pill-status[b-uxoiqjvje1] {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.workflow-checklist-pill.is-done[b-uxoiqjvje1] {
    background: #eef8f0;
    border-color: #4f9463;
}

.workflow-checklist-pill.is-done .workflow-checklist-pill-status[b-uxoiqjvje1] {
    color: #2c6e3f;
}

.workflow-checklist-pill.is-ready[b-uxoiqjvje1] {
    background: #eef4ff;
    border-color: #315ab2;
}

.workflow-checklist-pill.is-ready .workflow-checklist-pill-status[b-uxoiqjvje1] {
    color: #315ab2;
}

.workflow-checklist-pill.is-progress[b-uxoiqjvje1] {
    background: #fff8e8;
    border-color: #b8860b;
}

.workflow-checklist-pill.is-progress .workflow-checklist-pill-status[b-uxoiqjvje1] {
    color: #8b6508;
}

/* Passo non ancora raggiungibile: neutro, cosi' il rosso resta per i blocchi veri. */
.workflow-checklist-pill.is-pending[b-uxoiqjvje1] {
    background: #f3f5f8;
    border-color: #9aa5b5;
}

.workflow-checklist-pill.is-pending .workflow-checklist-pill-status[b-uxoiqjvje1] {
    color: #5f6b7a;
}

.workflow-checklist-pill.is-blocked[b-uxoiqjvje1] {
    background: #fff1f1;
    border-color: #b33a3a;
}

.workflow-checklist-pill.is-blocked .workflow-checklist-pill-status[b-uxoiqjvje1] {
    color: #a33131;
}

.workflow-checklist-title[b-uxoiqjvje1],
.workflow-checklist-subtitle[b-uxoiqjvje1],
.workflow-checklist-note[b-uxoiqjvje1],
.workflow-checklist-hint[b-uxoiqjvje1] {
    margin: 0;
}

.workflow-checklist-title[b-uxoiqjvje1] {
    color: #173770;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.workflow-checklist-subtitle[b-uxoiqjvje1] {
    color: #26457d;
    flex-basis: 100%;
    font-size: 12px;
}

.workflow-checklist-grid[b-uxoiqjvje1] {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(var(--workflow-checklist-columns), minmax(0, 1fr));
}

.workflow-checklist-card[b-uxoiqjvje1] {
    border: 1px solid #9fb3df;
    min-width: 0;
    padding: 6px 8px;
}

.workflow-checklist-card.is-done[b-uxoiqjvje1] {
    background: #eef8f0;
    border-color: #4f9463;
}

.workflow-checklist-card.is-ready[b-uxoiqjvje1] {
    background: #eef4ff;
    border-color: #315ab2;
}

.workflow-checklist-card.is-progress[b-uxoiqjvje1] {
    background: #fff8e8;
    border-color: #b8860b;
}

.workflow-checklist-card.is-pending[b-uxoiqjvje1] {
    background: #f3f5f8;
    border-color: #9aa5b5;
}

.workflow-checklist-card.is-blocked[b-uxoiqjvje1] {
    background: #fff1f1;
    border-color: #b33a3a;
}

.workflow-checklist-topline[b-uxoiqjvje1] {
    align-items: center;
    background: transparent;
    border: 0;
    color: inherit;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    margin: 0 0 4px;
    padding: 0;
    text-align: left;
    width: 100%;
}

.workflow-checklist-toggle .workflow-checklist-title[b-uxoiqjvje1] {
    font-size: 12px;
}

button.workflow-checklist-topline[b-uxoiqjvje1] {
    cursor: pointer;
}

button.workflow-checklist-topline:disabled[b-uxoiqjvje1] {
    cursor: default;
}

button.workflow-checklist-topline:not(:disabled):focus-visible[b-uxoiqjvje1] {
    outline: 2px solid #173770;
    outline-offset: 3px;
}

.workflow-checklist-step[b-uxoiqjvje1] {
    color: #173770;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.workflow-checklist-badge[b-uxoiqjvje1] {
    border: 1px solid currentColor;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 6px;
    text-transform: uppercase;
    white-space: nowrap;
}

.workflow-checklist-card.is-done .workflow-checklist-badge[b-uxoiqjvje1] {
    color: #2c6e3f;
}

.workflow-checklist-card.is-ready .workflow-checklist-badge[b-uxoiqjvje1] {
    color: #315ab2;
}

.workflow-checklist-card.is-progress .workflow-checklist-badge[b-uxoiqjvje1] {
    color: #8b6508;
}

.workflow-checklist-card.is-pending .workflow-checklist-badge[b-uxoiqjvje1] {
    color: #5f6b7a;
}

.workflow-checklist-card.is-blocked .workflow-checklist-badge[b-uxoiqjvje1] {
    color: #a33131;
}

.workflow-checklist-note[b-uxoiqjvje1] {
    color: #173770;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
}

.workflow-checklist-hint[b-uxoiqjvje1] {
    color: #26457d;
    font-size: 11px;
    line-height: 1.45;
    margin-top: 6px;
}

@media (max-width: 1400px) {
    .workflow-checklist-grid[b-uxoiqjvje1] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .workflow-checklist-grid[b-uxoiqjvje1] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .workflow-checklist[b-uxoiqjvje1] {
        margin-inline: 4px;
        padding-inline: 6px;
    }

    .workflow-checklist-grid[b-uxoiqjvje1] {
        grid-template-columns: 1fr;
    }

    .workflow-checklist-pill[b-uxoiqjvje1] {
        padding: 2px 6px;
        white-space: normal;
    }

    button.workflow-checklist-pill:not(:disabled)[b-uxoiqjvje1] {
        min-height: 32px;
    }

    .workflow-checklist-topline[b-uxoiqjvje1] {
        align-items: flex-start;
        flex-direction: column;
    }

    button.workflow-checklist-topline:not(:disabled)[b-uxoiqjvje1] {
        min-height: 44px;
    }
}
/* /Components/Shared/WorkflowSaveFooter.razor.rz.scp.css */
.workflow-save-footer[b-1ctbpcfuhe] {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    padding: 6px 12px;
    border-top: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
    box-shadow: 0 -2px 8px rgba(23, 55, 112, .08);
    position: sticky;
    bottom: 0;
    z-index: 20;
}

/* Classe applicata a MudButton: serve ::deep perche' la radice del componente figlio non porta lo scope. */
.workflow-save-footer[b-1ctbpcfuhe]  .workflow-save-footer-button {
    min-width: 128px;
    min-height: 36px;
}

.workflow-save-footer-secondary[b-1ctbpcfuhe] {
    align-items: center;
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.workflow-save-footer-error[b-1ctbpcfuhe] {
    margin-left: 4px;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--mud-palette-error);
}

.workflow-save-footer-hint[b-1ctbpcfuhe] {
    margin-left: 4px;
    font-size: 0.8125rem;
    color: var(--mud-palette-warning-darken, #b45309);
}

@media (max-width: 600px) {
    .workflow-save-footer[b-1ctbpcfuhe] {
        flex-wrap: wrap;
        gap: 4px 8px;
        padding: 6px 8px;
    }

    .workflow-save-footer[b-1ctbpcfuhe]  .workflow-save-footer-button {
        flex: 1 1 auto;
        min-height: 44px;
    }

    .workflow-save-footer-secondary[b-1ctbpcfuhe] {
        flex: 0 0 auto;
    }

    .workflow-save-footer-secondary[b-1ctbpcfuhe]  .mud-button-root {
        min-height: 44px;
    }

    /* Il suggerimento va sotto i pulsanti, cosi' salva e azioni restano sulla stessa riga. */
    .workflow-save-footer-error[b-1ctbpcfuhe],
    .workflow-save-footer-hint[b-1ctbpcfuhe] {
        flex-basis: 100%;
        font-size: 0.75rem;
        margin-left: 0;
        order: 1;
    }
}
/* /Components/Shared/WorkingIndicator.razor.rz.scp.css */
.working-indicator-bar[b-s8psrendvc] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1600;
    pointer-events: none;
}

.working-indicator-pill[b-s8psrendvc] {
    position: fixed;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    z-index: 1600;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border-radius: 999px;
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.25);
    font-size: 0.875rem;
    font-weight: 500;
    pointer-events: none;
}
