/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* The framework's unhandled-error bar: a solid strip with a hairline, in the warning tokens. */
#blazor-error-ui[b-k3gr5yc9fo] {
    color-scheme: light only;
    background: var(--color-warning-bg);
    color: var(--color-text);
    bottom: 0;
    border-top: 1px solid var(--line-strong);
    box-shadow: var(--shadow-2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: var(--space-3) var(--space-6) var(--space-3) var(--space-5);
    position: fixed;
    width: 100%;
    z-index: var(--z-overlay);
}

    #blazor-error-ui .dismiss[b-k3gr5yc9fo] {
        cursor: pointer;
        position: absolute;
        right: var(--space-3);
        top: var(--space-3);
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-d5it1zjw4a],
.components-reconnect-repeated-attempt-visible[b-d5it1zjw4a],
.components-reconnect-failed-visible[b-d5it1zjw4a],
.components-pause-visible[b-d5it1zjw4a],
.components-resume-failed-visible[b-d5it1zjw4a],
.components-rejoining-animation[b-d5it1zjw4a] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-d5it1zjw4a],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-d5it1zjw4a],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-d5it1zjw4a],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-d5it1zjw4a],
#components-reconnect-modal.components-reconnect-retrying[b-d5it1zjw4a],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-d5it1zjw4a],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-d5it1zjw4a],
#components-reconnect-modal.components-reconnect-failed[b-d5it1zjw4a],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-d5it1zjw4a] {
    display: block;
}

/* A modal task: the dialog arrives with opacity and scale in 200 ms over a scrim (cross-fade under reduced motion,
   see tokens.css). It is closed by the browser, so there is no exit animation to hold open. */
#components-reconnect-modal[b-d5it1zjw4a] {
    width: 20rem;
    max-width: calc(100vw - 2 * var(--space-4));
    margin: 20vh auto;
    padding: var(--space-6);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--surface);
    color: var(--color-text);
    box-shadow: var(--shadow-3);
}

#components-reconnect-modal[open][b-d5it1zjw4a] {
    animation: var(--anim-enter);
}

#components-reconnect-modal[b-d5it1zjw4a]::backdrop {
    background: var(--color-overlay);
    animation: var(--anim-enter-fade);
}

.components-reconnect-container[b-d5it1zjw4a] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-4);
}

#components-reconnect-modal p[b-d5it1zjw4a] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-d5it1zjw4a] {
    padding: var(--space-2) var(--space-5);
    border: 0;
    border-radius: var(--radius-sm);
    background: var(--color-primary);
    color: var(--color-on-primary);
    font: inherit;
    font-weight: 500;
    cursor: pointer;
    transition: transform var(--press-duration) ease-out;
}

#components-reconnect-modal button:hover[b-d5it1zjw4a] {
    background: var(--color-primary-hover);
}

#components-reconnect-modal button:active[b-d5it1zjw4a] {
    transform: scale(var(--press-scale));
}

/* Two rings that grow and fade, on transform and opacity only. It runs only while the dialog shows a reconnect
   attempt: outside those states the element is display: none, so nothing animates (skill section 0.3). */
.components-rejoining-animation[b-d5it1zjw4a] {
    position: relative;
    width: 5rem;
    height: 5rem;
}

    .components-rejoining-animation div[b-d5it1zjw4a] {
        position: absolute;
        inset: 0;
        border: 3px solid var(--color-primary);
        border-radius: 50%;
        opacity: 0;
        animation: components-rejoining-ring-b-d5it1zjw4a 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-d5it1zjw4a] {
            animation-delay: -0.75s;
        }

@keyframes components-rejoining-ring-b-d5it1zjw4a {
    from {
        opacity: 1;
        transform: scale(0);
    }

    to {
        opacity: 0;
        transform: scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .components-rejoining-animation div[b-d5it1zjw4a] {
        animation: none;
        opacity: 0.5;
    }

        .components-rejoining-animation div:nth-child(2)[b-d5it1zjw4a] {
            transform: scale(0.5);
        }
}
/* /Components/Pages/Cases/AgentReportPage.razor.rz.scp.css */
/* Layout only: the agent picker beside its button, the report under them; the grid scrolls inside the card. */
.agent-report-form[b-7xmqwnlnr3] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
}

.agent-report-form .field[b-7xmqwnlnr3] {
    flex: 0 1 24rem;
    min-width: min(16rem, 100%);
    margin: 0;
}

.agent-report-grid[b-7xmqwnlnr3] {
    margin-top: var(--space-4);
    overflow-x: auto;
}
/* /Components/Pages/Cases/CaseCreatePage.razor.rz.scp.css */
/* Layout only; the wizard look (steps, panel, actions, client list) is in app.css. */

/* The case fields beside the client they are for; one column on a phone. */
.case-create-details[b-zpi0fgivwp] {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(16rem, 2fr);
    gap: var(--space-5);
    align-items: start;
}

@media (max-width: 900px) {
    .case-create-details[b-zpi0fgivwp] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.case-create-fields[b-zpi0fgivwp] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 0 var(--space-4);
}

.case-create-fields .field:first-child[b-zpi0fgivwp],
.case-create-reminder[b-zpi0fgivwp] {
    grid-column: 1 / -1;
}

.case-amount[b-zpi0fgivwp] {
    font-variant-numeric: tabular-nums;
}

.case-create-reminder[b-zpi0fgivwp] {
    margin: 0;
}

/* /Components/Pages/Cases/CaseDetailsPage.razor.rz.scp.css */
/* Layout only; the detail-page layout, cards, feed, chips and fields take their look from app.css. */

/* A field with its save button on the same line (description, status); the button drops under it on a phone. */
.case-description[b-3p7dvyeix5],
.case-inline[b-3p7dvyeix5] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}

.case-description .field[b-3p7dvyeix5],
.case-inline .field[b-3p7dvyeix5] {
    flex: 1 1 12rem;
    margin: 0;
}

.case-number[b-3p7dvyeix5] {
    font-variant-numeric: tabular-nums;
}

.case-statement[b-3p7dvyeix5] {
    white-space: pre-line;
}

.case-balance[b-3p7dvyeix5] {
    margin-bottom: var(--space-3);
}

.case-quotation-actions[b-3p7dvyeix5] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}
/* /Components/Pages/Cases/CasePayments.razor.rz.scp.css */
/* Layout only; cards, chips, the grid and the paid-row tint take their look from app.css. */

/* The three totals side by side, each label over its figure; they wrap on a phone. */
.payment-totals[b-zcf39fspxk],
.payment-figures[b-zcf39fspxk] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: var(--space-3) var(--space-4);
    margin: 0 0 var(--space-3);
}

.payment-totals dt[b-zcf39fspxk],
.payment-figures dt[b-zcf39fspxk] {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
}

.payment-totals dd[b-zcf39fspxk],
.payment-figures dd[b-zcf39fspxk] {
    margin: var(--space-1) 0 0;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.payment-warning[b-zcf39fspxk] {
    margin: 0 0 var(--space-3);
}

/* The grid scrolls inside the card on a phone, never the page. */
.case-payments-grid[b-zcf39fspxk] {
    overflow-x: auto;
}

.payment-actions[b-zcf39fspxk] {
    display: inline-flex;
    gap: var(--space-2);
}

.case-number[b-zcf39fspxk] {
    font-variant-numeric: tabular-nums;
}
/* /Components/Pages/Cases/CasesPage.razor.rz.scp.css */
/* Layout only: the search grows, the toggle and the total sit next to it, the print button ends the row. */
.cases-toolbar[b-yryy9lewkv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}

.cases-search[b-yryy9lewkv] {
    flex: 1 1 16rem;
    min-width: 0;
    max-width: 28rem;
}

.cases-total[b-yryy9lewkv] {
    display: flex;
    align-items: baseline;
    gap: var(--space-2);
    margin-left: auto;
    font-variant-numeric: tabular-nums;
}
/* /Components/Pages/Cases/OloDocumentPage.razor.rz.scp.css */
/* Layout only; the card, chip, buttons and notes take their look from app.css (DESIGN-SYSTEM.md section 5). */
.doc-card[b-ej5nr638zj] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-width: 0;
}

.doc-card h2[b-ej5nr638zj] {
    margin: 0;
}

.doc-note[b-ej5nr638zj] {
    margin: 0;
    max-width: 72ch;
}

/* The Word editor keeps its own scroll inside the card; the page never scrolls sideways. */
.doc-editor[b-ej5nr638zj] {
    min-width: 0;
    overflow: hidden;
    border-radius: var(--radius-md);
}

.doc-upload[b-ej5nr638zj] {
    cursor: pointer;
}

.doc-upload[b-ej5nr638zj]  input[type="file"] {
    display: none;
}
/* /Components/Pages/Cases/OloListPage.razor.rz.scp.css */
/* Layout only: the search grows up to a readable width, the print button ends the row. */
.olo-toolbar[b-vimvcvwk6q] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}

.olo-search[b-vimvcvwk6q] {
    flex: 1 1 16rem;
    min-width: 0;
    max-width: 28rem;
}
/* /Components/Pages/Files/FileCheckPage.razor.rz.scp.css */
/* Layout only: the since field and its hint on one row, the area cards in a responsive grid, each card's facts in two columns. */
.file-check-toolbar[b-y0wu74njvh] {
    align-items: flex-end;
}

.file-check-since[b-y0wu74njvh] {
    margin-bottom: 0;
}

.file-check-toolbar .file-check-note[b-y0wu74njvh] {
    flex: 1 1 18rem;
    margin: 0;
}

.file-check-section[b-y0wu74njvh] {
    margin-bottom: var(--space-6);
}

.file-areas[b-y0wu74njvh] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
    gap: var(--space-4);
}

.file-area[b-y0wu74njvh] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-width: 0;
}

.file-area .card-head[b-y0wu74njvh] {
    margin-bottom: 0;
}

.file-area-facts[b-y0wu74njvh] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3) var(--space-4);
    margin: 0;
}

.file-area-newest[b-y0wu74njvh] {
    display: flex;
    flex-wrap: wrap;
    gap: 0 var(--space-2);
    min-width: 0;
    margin: 0;
}

.file-area-actions[b-y0wu74njvh] {
    margin-top: auto;
}

.file-check-filter[b-y0wu74njvh] {
    margin-bottom: var(--space-4);
}
/* /Components/Pages/Finance/FinancePage.razor.rz.scp.css */
/* Layout only: the end date, Generate, Add to review and Print share the toolbar. The card spacing, the IVA row and the grid wrapper
   are shared with the review batch page (app.css). */
.finance-toolbar[b-piffzkx6n1] {
    align-items: flex-end;
}

.finance-end[b-piffzkx6n1] {
    margin-bottom: 0;
}

.finance-admin-only[b-piffzkx6n1] {
    margin: 0;
    align-self: center;
}

.finance-generated[b-piffzkx6n1] {
    margin: 0 0 var(--space-3);
}
/* /Components/Pages/Finance/InvoicePage.razor.rz.scp.css */
/* Layout only: the invoice fields in two columns (file name and comments across both), one column on a phone; the grid scrolls inside its card. */
.finance-invoice-form[b-isea67bj1g] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 var(--space-4);
}

.finance-invoice-wide[b-isea67bj1g] {
    grid-column: 1 / -1;
}

@media (max-width: 600px) {
    .finance-invoice-form[b-isea67bj1g] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.finance-installments-grid[b-isea67bj1g] {
    overflow-x: auto;
}
/* /Components/Pages/Products/ProductsPage.razor.rz.scp.css */
.products-toolbar[b-etuld64q8k] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}

.products-filter[b-etuld64q8k] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.products-search[b-etuld64q8k] {
    min-width: min(16rem, 100%);
}
/* /Components/Pages/Products/TemplateEditorDialog.razor.rz.scp.css */
.template-editor[b-9b92w56h3i] {
    display: flex;
    flex-direction: column;
    width: min(calc(100vw - 2rem), 100rem);
    height: calc(100dvh - 2rem);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-3);
    padding: var(--space-4);
    animation: var(--anim-enter);
}

.template-editor-header[b-9b92w56h3i] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
}

.template-editor-header h2[b-9b92w56h3i] {
    margin: 0;
    font-size: var(--font-size-lg);
    overflow-wrap: anywhere;
}

.template-editor-hint[b-9b92w56h3i] {
    margin: 0 0 var(--space-3);
}

.template-editor-body[b-9b92w56h3i] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.replace-file[b-9b92w56h3i] {
    cursor: pointer;
}

.replace-file[b-9b92w56h3i]  input[type="file"] {
    display: none;
}
/* /Components/Pages/Products/TemplateLanguagesDialog.razor.rz.scp.css */
.language-table th[b-dvluydhcg1],
.language-table td[b-dvluydhcg1] {
    padding: var(--space-2) var(--space-3);
}
/* /Components/Pages/Quotations/QuotationDetailsPage.razor.rz.scp.css */
/* Layout only; the detail-page layout (two columns, definition lists, rows), cards, chips, buttons, tables and fields take
   their look from app.css (DESIGN-SYSTEM.md section 5). */

.details-number[b-ifiteah0fx] {
    font-variant-numeric: tabular-nums;
}

.details-products[b-ifiteah0fx] {
    margin: 0;
    padding-left: var(--space-4);
}

.details-sign[b-ifiteah0fx] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
}

.details-sign .field[b-ifiteah0fx] {
    flex: 1 1 10rem;
    margin: 0;
}
/* /Components/Pages/Quotations/QuotationDocumentPage.razor.rz.scp.css */
/* Layout only; the card, chip, buttons and notes take their look from app.css (DESIGN-SYSTEM.md section 5). */
.doc-card[b-mlfu09nh81] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-width: 0;
}

.doc-note[b-mlfu09nh81] {
    margin: 0;
    max-width: 72ch;
}

/* The Word editor keeps its own scroll inside the card; the page never scrolls sideways. */
.doc-editor[b-mlfu09nh81] {
    min-width: 0;
    overflow: hidden;
    border-radius: var(--radius-md);
}

.doc-upload[b-mlfu09nh81] {
    cursor: pointer;
}

.doc-upload[b-mlfu09nh81]  input[type="file"] {
    display: none;
}

/* On a phone the back button, the title and the status chip wrap as whole items; the number never breaks at its hyphens. */
.page-title[b-mlfu09nh81] {
    flex-wrap: wrap;
}

.page-title h1[b-mlfu09nh81],
.page-title .chip[b-mlfu09nh81] {
    white-space: nowrap;
}

.doc-created[b-mlfu09nh81] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
}

/* Status reads by colour as well as by its word (DESIGN-SYSTEM.md section 4), with the tints of the list's status pills. */
.status-ok[b-mlfu09nh81] {
    border-color: transparent;
    background: var(--color-success-bg);
}

.status-pending[b-mlfu09nh81] {
    border-color: transparent;
    background: var(--color-warning-bg);
}
/* /Components/Pages/Quotations/QuotationsPage.razor.rz.scp.css */
.quotations-filters[b-3tp4yc1e8z] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}

.quotations-filters .field[b-3tp4yc1e8z] {
    margin: 0;
}

/* Auto Refresh and Refresh belong to the list, so they sit at the end of the bar; the padding lines the label up with the
   text of the selects. */
.quotations-filters .check[b-3tp4yc1e8z] {
    margin: 0 0 0 auto;
    padding-bottom: var(--space-2);
}

.quotations-search[b-3tp4yc1e8z] {
    flex: 1 1 18rem;
    max-width: 28rem;
}

/* Status as tint and text, never colour alone. */
.quotation-status[b-3tp4yc1e8z] {
    display: inline-block;
    padding: 0 var(--space-2);
    border-radius: var(--radius-sm);
    color: var(--color-text);
    font-size: var(--font-size-sm);
}

.quotation-status.to-sign[b-3tp4yc1e8z] {
    background: var(--color-warning-bg);
}

.quotation-status.to-send[b-3tp4yc1e8z] {
    background: var(--color-success-bg);
}
/* /Components/Pages/Quotations/QuotationWizardPage.razor.rz.scp.css */
/* Layout of the quotation wizard; the shared wizard look (steps, panel, actions, chosen row, client list) is in app.css. */

.wizard-note[b-ltjgqgbyin] {
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-sm);
    background: var(--surface-sunken);
}

.wizard-toolbar[b-ltjgqgbyin] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-2);
}

.wizard-toolbar .field[b-ltjgqgbyin] {
    margin-bottom: 0;
}

.wizard-products[b-ltjgqgbyin],
.wizard-review[b-ltjgqgbyin] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(16rem, 1fr);
    gap: var(--space-5);
    margin-bottom: var(--space-4);
}

.wizard-review[b-ltjgqgbyin] {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

@media (max-width: 900px) {
    .wizard-products[b-ltjgqgbyin],
    .wizard-review[b-ltjgqgbyin] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.wizard-selected[b-ltjgqgbyin] {
    margin: 0;
    padding-left: var(--space-5);
}

.wizard-selected li[b-ltjgqgbyin] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-1) 0;
    border-bottom: 1px solid var(--line);
}

.wizard-fields[b-ltjgqgbyin] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 0 var(--space-4);
    margin-bottom: var(--space-3);
}

.wizard-suffix[b-ltjgqgbyin] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.wizard-suffix input[b-ltjgqgbyin] {
    flex: 1;
    min-width: 0;
}

.wizard-delivery[b-ltjgqgbyin] {
    display: flex;
    /* .field stacks its children; the amount and Weeks/Days sit side by side under the legend. */
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    border: 0;
    padding: 0;
    margin-inline: 0;
}

.wizard-delivery legend[b-ltjgqgbyin] {
    width: 100%;
    padding: 0;
    margin-bottom: var(--space-1);
}

.wizard-delivery input[b-ltjgqgbyin] {
    width: 6rem;
}

.wizard-qty[b-ltjgqgbyin] {
    width: 5rem;
    text-align: right;
}

.wizard-table-wrap[b-ltjgqgbyin] {
    overflow-x: auto;
}

.wizard-table th[b-ltjgqgbyin],
.wizard-table td[b-ltjgqgbyin] {
    padding: var(--space-2) var(--space-3);
}

.wizard-table tbody tr[b-ltjgqgbyin] {
    cursor: pointer;
}

.wizard-table tbody tr:hover[b-ltjgqgbyin] {
    background: var(--surface-sunken);
}

.wizard-table tbody tr.is-focused[b-ltjgqgbyin] {
    background: var(--color-selected);
    box-shadow: inset 3px 0 0 var(--color-primary);
}

.wizard-table .cell-center[b-ltjgqgbyin] {
    text-align: center;
}

/* /Components/Pages/Settings/CountryLanguagesTab.razor.rz.scp.css */
.language-select[b-6brn6u11vi] {
    width: 100%;
    padding: var(--space-1) var(--space-2);
}
/* /Components/Pages/Settings/MachinesTab.razor.rz.scp.css */
.machine-panels[b-rgpfogbgei] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
    gap: var(--space-4);
    margin-bottom: var(--space-5);
}

.machine-panel[b-rgpfogbgei],
.machine-combos[b-rgpfogbgei] {
    padding: var(--space-3);
}

.machine-panel header[b-rgpfogbgei],
.machine-combos header[b-rgpfogbgei] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
}

.machine-panel h3[b-rgpfogbgei],
.machine-combos h3[b-rgpfogbgei] {
    margin: 0;
    font-size: var(--font-size-base);
}

.machine-table th[b-rgpfogbgei],
.machine-table td[b-rgpfogbgei] {
    padding: var(--space-2);
}

.machine-table tbody tr[b-rgpfogbgei] {
    cursor: pointer;
}

.machine-table tbody tr:hover[b-rgpfogbgei] {
    background: var(--surface-sunken);
}

.machine-table tbody tr.selected[b-rgpfogbgei] {
    background: var(--color-selected);
}

.machine-table .actions[b-rgpfogbgei] {
    text-align: right;
    white-space: nowrap;
}

.machine-table .danger[b-rgpfogbgei] {
    color: var(--color-danger);
}
/* /Components/Pages/Settings/SettingsPage.razor.rz.scp.css */
.settings-tabs[b-5muae8filw] {
    margin-bottom: var(--space-4);
}
/* /Components/Pages/Settings/SettingsSection.razor.rz.scp.css */
.settings-section-header[b-7911iqzchk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}

.settings-section-header h2[b-7911iqzchk] {
    margin: 0;
    font-size: var(--font-size-lg);
}

.settings-section-actions[b-7911iqzchk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
}

/* Elements the tabs put into Actions are rendered by the tab, so they reach the section through ::deep. */
.settings-section[b-7911iqzchk]  .settings-search {
    min-width: min(12rem, 100%);
}
/* /Components/Pages/SpareParts/LanguageSwitch.razor.rz.scp.css */
.segmented[b-sc1gqxbowm] {
    display: inline-flex;
    gap: 0;
    margin: 0;
    padding: 0;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.segmented legend[b-sc1gqxbowm] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.segmented label[b-sc1gqxbowm] {
    display: inline-flex;
    align-items: center;
    padding: var(--space-2) var(--space-3);
    background: var(--surface);
    color: var(--color-text);
    cursor: pointer;
    border-left: 1px solid var(--line-strong);
}

.segmented label:first-of-type[b-sc1gqxbowm] {
    border-left: none;
}

.segmented label:hover[b-sc1gqxbowm] {
    background: var(--surface-sunken);
}

.segmented label.active[b-sc1gqxbowm] {
    background: var(--color-primary);
    color: var(--color-on-primary);
    font-weight: 600;
}

.segmented label:has(input:focus-visible)[b-sc1gqxbowm] {
    outline: 2px solid var(--color-focus);
    outline-offset: -2px;
}

.segmented input[b-sc1gqxbowm] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
/* /Components/Pages/SpareParts/MachinesDialog.razor.rz.scp.css */
.machines-dialog[b-dpsqtyt4wd] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    width: min(40rem, 80vw);
    min-height: 26rem;
}
/* /Components/Pages/SpareParts/PartCostsPanel.razor.rz.scp.css */
.costs[b-uh9hbctplv] {
    padding: var(--space-3);
}

.costs header[b-uh9hbctplv] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-2);
}

.costs h2[b-uh9hbctplv] {
    margin: 0;
    font-size: var(--font-size-base);
}

.costs-table th[b-uh9hbctplv],
.costs-table td[b-uh9hbctplv] {
    padding: var(--space-1) var(--space-2);
}

.costs-table .num[b-uh9hbctplv] {
    text-align: right;
    width: 9rem;
}

.costs-table select[b-uh9hbctplv],
.costs-table input[b-uh9hbctplv] {
    width: 100%;
    padding: var(--space-1) var(--space-2);
}

.costs-table input[b-uh9hbctplv] {
    text-align: right;
}
/* /Components/Pages/SpareParts/PendingTab.razor.rz.scp.css */
.pending-toolbar[b-9x6mbgp7lc] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3) var(--space-4);
    margin-bottom: var(--space-3);
}

.pending-search[b-9x6mbgp7lc] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    letter-spacing: var(--tracking-small);
    color: var(--color-text-muted);
}

.pending-search input[b-9x6mbgp7lc] {
    min-width: min(18rem, 100%);
}
/* /Components/Pages/SpareParts/PriceListTab.razor.rz.scp.css */
.price-toolbar[b-flgkyhrm0b] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3) var(--space-4);
    margin-bottom: var(--space-3);
}

.price-search[b-flgkyhrm0b],
.price-machines[b-flgkyhrm0b] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    letter-spacing: var(--tracking-small);
    color: var(--color-text-muted);
}

.price-search input[b-flgkyhrm0b] {
    min-width: min(18rem, 100%);
}

.price-machines[b-flgkyhrm0b] {
    min-width: min(22rem, 100%);
    max-width: 36rem;
    flex: 1 1 22rem;
}

.machine-cell[b-flgkyhrm0b] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.machine-cell-row[b-flgkyhrm0b] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.machine-cell-row .machine-cell[b-flgkyhrm0b] {
    flex: 1;
    min-width: 0;
}

.price-hint[b-flgkyhrm0b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
    padding: var(--space-2) var(--space-3);
    background: var(--color-warning-bg);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
}
/* /Components/Pages/SpareParts/RicambiPage.razor.rz.scp.css */
.ricambi-toolbar[b-3fxlf4mt09] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3) var(--space-4);
    margin-bottom: var(--space-3);
}
/* /Components/Pages/SpareParts/SparePartPage.razor.rz.scp.css */
.pending-banner[b-0j3w9kx11j] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
    padding: var(--space-3);
    background: var(--color-warning-bg);
    color: var(--color-warning);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    font-weight: 600;
}

.part-columns[b-0j3w9kx11j] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
    gap: var(--space-4);
    align-items: start;
}

.part-col[b-0j3w9kx11j] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.part-lower[b-0j3w9kx11j] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
    gap: var(--space-4);
    margin-top: var(--space-4);
    align-items: start;
}

.part-prices[b-0j3w9kx11j] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    max-width: 22rem;
}

.part-prices dl[b-0j3w9kx11j] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--space-2) var(--space-4);
    margin: 0;
    font-variant-numeric: tabular-nums;
}

.part-prices dt[b-0j3w9kx11j] {
    color: var(--color-text-muted);
}

.part-prices dd[b-0j3w9kx11j] {
    margin: 0;
    text-align: right;
}

.multiplier[b-0j3w9kx11j] {
    margin-right: var(--space-2);
    color: var(--color-text-muted);
}

.part-actions[b-0j3w9kx11j] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-top: var(--space-5);
}

.field-head[b-0j3w9kx11j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
}

.part-history[b-0j3w9kx11j] {
    margin-top: var(--space-4);
}
/* /Components/Pages/SpareParts/SparePartsPage.razor.rz.scp.css */
.parts-tabs[b-f0xgbkgmwu] {
    margin-bottom: var(--space-4);
}
/* /Components/Pages/SpareParts/SupplierHistoryPanel.razor.rz.scp.css */
.history[b-r1sqikfumb] {
    padding: var(--space-3);
}

.history header[b-r1sqikfumb] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--space-3);
    margin-bottom: var(--space-2);
}

.history h2[b-r1sqikfumb] {
    margin: 0;
    font-size: var(--font-size-base);
}

.history p[b-r1sqikfumb] {
    margin: 0 0 var(--space-2);
}
/* /Components/Pages/SpareParts/TranslationsDialog.razor.rz.scp.css */
.translations[b-p26x5ls71c] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    width: min(44rem, 85vw);
}

.translation-row[b-p26x5ls71c] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-3);
    align-items: end;
}
/* /Components/Pages/Vesuvio/FidiaCodesPage.razor.rz.scp.css */
.vesuvio-tabs[b-pa91elohju] {
    margin-bottom: var(--space-4);
}
/* /Components/Pages/Vesuvio/FidiaCodesTab.razor.rz.scp.css */
.codes-toolbar[b-i6o02vo1l9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}
/* /Components/Pages/Vesuvio/GroupedSalesReportPage.razor.rz.scp.css */
.report-toolbar[b-vl0j1l7si0] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3) var(--space-4);
    margin-bottom: var(--space-3);
}

.report-date[b-vl0j1l7si0] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    letter-spacing: var(--tracking-small);
    color: var(--color-text-muted);
}
/* /Components/Pages/Vesuvio/InventorFilePage.razor.rz.scp.css */
.file-head[b-v39agoxjjf] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3) var(--space-4);
    margin: var(--space-3) 0;
}

.file-field[b-v39agoxjjf] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    letter-spacing: var(--tracking-small);
    color: var(--color-text-muted);
}

.file-field input[b-v39agoxjjf] {
    min-width: min(16rem, 100%);
    background: var(--surface-sunken);
}

.file-name[b-v39agoxjjf] {
    color: var(--color-text-muted);
}

.tick[b-v39agoxjjf] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}

.file-title[b-v39agoxjjf] {
    margin-top: var(--space-3);
}
/* /Components/Pages/Vesuvio/IssuedPartsPage.razor.rz.scp.css */
.issued-toolbar[b-x6pwx485y6] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3) var(--space-4);
    margin-bottom: var(--space-3);
}

.issued-search[b-x6pwx485y6] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    letter-spacing: var(--tracking-small);
    color: var(--color-text-muted);
}

.issued-search input[b-x6pwx485y6] {
    min-width: min(18rem, 100%);
}

.issued-notice[b-x6pwx485y6] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
    padding: var(--space-3);
    background: var(--color-warning-bg);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
}

.issued-notice p[b-x6pwx485y6] {
    flex: 1;
    margin: 0;
    white-space: pre-line;
}
/* /Components/Pages/Vesuvio/LinkedCodesTab.razor.rz.scp.css */
.codes-toolbar[b-kpwr2cxi4x] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}
/* /Components/Pages/Vesuvio/NewFidiaCodeDialog.razor.rz.scp.css */
.new-code[b-9daaydgms3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    width: min(36rem, 85vw);
}

.new-code p[b-9daaydgms3] {
    margin: 0;
}
/* /Components/Pages/Vesuvio/ProductHierarchyTab.razor.rz.scp.css */
.hierarchy[b-8s8ifdwu2v] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
    gap: var(--space-4);
    align-items: start;
}

.hierarchy section[b-8s8ifdwu2v] {
    padding: var(--space-3);
}

.hierarchy h2[b-8s8ifdwu2v] {
    margin: 0 0 var(--space-2);
    font-size: var(--font-size-base);
}

.pick-search[b-8s8ifdwu2v] {
    width: 100%;
    margin-bottom: var(--space-2);
}

.pick th[b-8s8ifdwu2v],
.pick td[b-8s8ifdwu2v] {
    padding: var(--space-1) var(--space-2);
}

.pick tbody tr[tabindex][b-8s8ifdwu2v] {
    cursor: pointer;
}

.pick tbody tr[tabindex]:hover[b-8s8ifdwu2v] {
    background: var(--surface-sunken);
}

.pick tbody tr.selected[b-8s8ifdwu2v] {
    background: var(--color-selected);
    font-weight: 600;
}
/* /Components/Pages/Vesuvio/SalesReportPage.razor.rz.scp.css */
.report-toolbar[b-gxfmuodqcn] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3) var(--space-4);
    margin-bottom: var(--space-3);
}

.report-date[b-gxfmuodqcn] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    font-size: var(--font-size-sm);
    letter-spacing: var(--tracking-small);
    color: var(--color-text-muted);
}
