/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-isuzmzvit9] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Sticky on narrow screens too: the ☰ bar stays reachable and the fixed overlay below it
   (top: header height) always lines up with it. */
.sidebar[b-isuzmzvit9] {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    flex-direction: column;
    background: var(--onf-surface);
    border-bottom: 1px solid var(--onf-border);
}

.content[b-isuzmzvit9] {
    flex: 1;
    min-width: 0;
    background: var(--onf-bg);
    padding: var(--onf-page-padding-top) var(--onf-page-padding-x) 24px;
}

@media (min-width: 768px) {
    .page[b-isuzmzvit9] {
        flex-direction: row;
    }

    .sidebar[b-isuzmzvit9] {
        flex: none;
        width: var(--onf-sidebar-width);
        height: 100vh;
        position: sticky;
        top: 0;
        border-bottom: 0;
        border-right: 1px solid var(--onf-border);
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.sidebar-top[b-pinkq8upx7] {
    flex: none;
    min-height: var(--onf-header-height);
    display: flex;
    align-items: center;
}

.brand[b-pinkq8upx7] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 12px 16px;
    text-decoration: none;
}

.brand-logo[b-pinkq8upx7] {
    max-height: 32px;
    max-width: 200px;
    object-fit: contain;
    align-self: flex-start;
}

.brand-caption[b-pinkq8upx7] {
    font-size: 11px;
    color: var(--onf-text-muted);
}

.brand-wordmark[b-pinkq8upx7] {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--onf-text);
}

.navbar-toggler[b-pinkq8upx7] {
    appearance: none;
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 16px;
    width: 40px;
    height: 36px;
    border: 1px solid var(--onf-border);
    border-radius: var(--onf-radius);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23495057' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/22px var(--onf-surface);
}

.navbar-toggler:checked[b-pinkq8upx7] {
    background-color: var(--onf-accent-subtle);
}

.sidebar-body[b-pinkq8upx7] {
    display: none;
    flex-direction: column;
}

.navbar-toggler:checked ~ .sidebar-body[b-pinkq8upx7] {
    display: flex;
    position: fixed;
    top: var(--onf-header-height);
    left: 0;
    bottom: 0;
    width: var(--onf-sidebar-width);
    background: var(--onf-surface);
    border-right: 1px solid var(--onf-border);
    box-shadow: 4px 0 16px rgba(0, 0, 0, 0.08);
    z-index: 20;
}

.sidebar-nav[b-pinkq8upx7] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 4px 8px 8px;
}

.nav-group[b-pinkq8upx7] {
    margin-bottom: 12px;
}

.nav-group-title[b-pinkq8upx7] {
    padding: 8px 12px 4px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--onf-text-muted);
}

.sidebar-nav[b-pinkq8upx7]  .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    height: 32px;
    padding: 0 12px;
    border-radius: var(--onf-radius);
    color: var(--onf-text);
    font-size: var(--bs-body-font-size);
    white-space: nowrap;
}

.sidebar-nav[b-pinkq8upx7]  .nav-link:hover {
    background: var(--onf-surface-alt);
    color: var(--onf-text);
}

.sidebar-nav[b-pinkq8upx7]  .nav-link.active {
    background: var(--onf-accent-subtle);
    color: var(--onf-accent);
    font-weight: 500;
}

.sidebar-nav[b-pinkq8upx7]  .nav-link.active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 3px;
    border-radius: 2px;
    background: var(--onf-accent);
}

.sidebar-nav[b-pinkq8upx7]  .onf-icon {
    flex: none;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    -webkit-mask: var(--icon) no-repeat center / contain;
    mask: var(--icon) no-repeat center / contain;
}

.sidebar-nav[b-pinkq8upx7]  .onf-icon-cash {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.5' viewBox='0 0 16 16'%3E%3Crect x='1.5' y='3' width='13' height='10' rx='1'/%3E%3Ccircle cx='8' cy='8' r='2.25'/%3E%3Cpath d='M1.5 6h2M12.5 10h2'/%3E%3C/svg%3E");
}

.sidebar-nav[b-pinkq8upx7]  .onf-icon-chart {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.5' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 14.5h13'/%3E%3Crect x='2.75' y='8' width='2.5' height='4.5'/%3E%3Crect x='6.75' y='3.5' width='2.5' height='9'/%3E%3Crect x='10.75' y='6' width='2.5' height='6.5'/%3E%3C/svg%3E");
}

.sidebar-nav[b-pinkq8upx7]  .onf-icon-receipt {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.5' viewBox='0 0 16 16'%3E%3Cpath d='M3 1.5h10v13l-2-1-2 1-2-1-2 1-2-1z'/%3E%3Cpath d='M5 5h6M5 8h6M5 11h4'/%3E%3C/svg%3E");
}

.sidebar-nav[b-pinkq8upx7]  .onf-icon-repeat {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.5' viewBox='0 0 16 16'%3E%3Cpath d='M13.5 8a5.5 5.5 0 0 1-9.9 3.3M2.5 8a5.5 5.5 0 0 1 9.9-3.3'/%3E%3Cpath d='M12.5 1.5v3h-3M3.5 14.5v-3h3'/%3E%3C/svg%3E");
}

.sidebar-nav[b-pinkq8upx7]  .onf-icon-bank {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.5' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 5h13L8 1.5zM2.5 13.5h11M4 5v6.5M8 5v6.5M12 5v6.5'/%3E%3C/svg%3E");
}

.sidebar-nav[b-pinkq8upx7]  .onf-icon-people {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.5' viewBox='0 0 16 16'%3E%3Ccircle cx='6' cy='5' r='2.25'/%3E%3Cpath d='M1.5 13c.4-2.6 2-4 4.5-4s4.1 1.4 4.5 4M10 4a2 2 0 0 1 0 4M11 9c2 0 3.2 1.2 3.5 3'/%3E%3C/svg%3E");
}

.sidebar-nav[b-pinkq8upx7]  .onf-icon-kanban {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.5' viewBox='0 0 16 16'%3E%3Crect x='1.5' y='2' width='13' height='12' rx='1'/%3E%3Cpath d='M5.8 2v12M10.2 2v12M3 5h1.3M7.3 5h1.4M11.7 5H13M3 8h1.3M7.3 8h1.4'/%3E%3C/svg%3E");
}

.sidebar-nav[b-pinkq8upx7]  .onf-icon-tags {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.5' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 2h5l7 7-4.5 4.5-7-7z'/%3E%3Ccircle cx='4.5' cy='5' r='1'/%3E%3Cpath d='m8 2 6.5 6.5'/%3E%3C/svg%3E");
}

.sidebar-nav[b-pinkq8upx7]  .onf-icon-shop {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.5' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 7v7h11V7'/%3E%3Cpath d='M1.5 6 3 2h10l1.5 4a2 2 0 0 1-3.25.6A2 2 0 0 1 8 6a2 2 0 0 1-3.25.6A2 2 0 0 1 1.5 6z'/%3E%3Cpath d='M6.5 14v-3.5h3V14'/%3E%3C/svg%3E");
}

.sidebar-nav[b-pinkq8upx7]  .onf-icon-users-gear {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.5' viewBox='0 0 16 16'%3E%3Ccircle cx='5' cy='4.5' r='2'/%3E%3Cpath d='M1.5 11c.4-2.2 1.6-3.3 3.5-3.3 1.3 0 2.3.5 2.9 1.5'/%3E%3Ccircle cx='11.5' cy='11.5' r='2'/%3E%3Cpath d='M11.5 7.8v1.1M11.5 14.1v1.1M7.8 11.5h1.1M14.1 11.5h1.1M8.9 8.9l.8.8M13.3 13.3l.8.8M14.1 8.9l-.8.8M9.7 13.3l-.8.8'/%3E%3C/svg%3E");
}

.sidebar-nav[b-pinkq8upx7]  .onf-icon-briefcase {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.5' viewBox='0 0 16 16'%3E%3Crect x='1.5' y='4.5' width='13' height='9' rx='1'/%3E%3Cpath d='M5.5 4.5v-2h5v2M1.5 8.5h13'/%3E%3C/svg%3E");
}

.sidebar-nav[b-pinkq8upx7]  .onf-icon-gear {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='white' stroke-width='1.5' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='2.25'/%3E%3Cpath d='M8 1.5v2M8 12.5v2M1.5 8h2M12.5 8h2M3.4 3.4l1.4 1.4M11.2 11.2l1.4 1.4M3.4 12.6l1.4-1.4M11.2 4.8l1.4-1.4'/%3E%3C/svg%3E");
}

@media (max-width: 767.98px) {
    .brand-caption[b-pinkq8upx7] {
        display: none;
    }
}

@media (min-width: 768px) {
    .navbar-toggler[b-pinkq8upx7] {
        display: none;
    }

    .sidebar-body[b-pinkq8upx7],
    .navbar-toggler:checked ~ .sidebar-body[b-pinkq8upx7] {
        display: flex;
        position: static;
        flex: 1;
        min-height: 0;
        width: auto;
        border-right: 0;
        box-shadow: none;
    }
}
/* /Components/Layout/UserMenu.razor.rz.scp.css */
.user-button[b-kqtm99gnfa] {
    flex: none;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 16px;
    border: 0;
    border-top: 1px solid var(--onf-border);
    background: none;
    text-align: left;
    color: var(--onf-text);
}

.user-button:hover[b-kqtm99gnfa] {
    background: var(--onf-surface-alt);
}

.user-avatar[b-kqtm99gnfa] {
    flex: none;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--onf-accent-subtle);
    color: var(--onf-accent);
    font-size: 12px;
    font-weight: 600;
}

.user-text[b-kqtm99gnfa] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.25;
}

.user-name[b-kqtm99gnfa] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
}

.user-role[b-kqtm99gnfa] {
    font-size: 12px;
    color: var(--onf-text-muted);
}

/* A popover sits in the top layer, centred by default. The sidebar is always at the
   viewport's left edge (desktop and narrow overlay), so placing it by hand just above the
   user row is enough — no anchor positioning needed. */
.user-popover[b-kqtm99gnfa] {
    inset: auto auto 64px 12px;
    margin: 0;
    width: 216px;
    padding: 4px;
    border: 1px solid var(--onf-border);
    border-radius: var(--onf-radius);
    background: var(--onf-surface);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.user-popover form[b-kqtm99gnfa] {
    margin: 0;
}

.user-popover-item[b-kqtm99gnfa] {
    display: block;
    width: 100%;
    padding: 6px 10px;
    border: 0;
    border-radius: var(--onf-radius);
    background: none;
    text-align: left;
    text-decoration: none;
    font-size: var(--bs-body-font-size);
    color: var(--onf-text);
}

.user-popover-item:hover[b-kqtm99gnfa] {
    background: var(--onf-surface-alt);
}
/* /Components/Pages/Analisi.razor.rz.scp.css */
/* The pivot table scrolls sideways inside its card (Mese has 13 amount columns) while the
   first column stays put. Colours come from the tokens only. */
.analysis-table-wrap[b-0cpmwf56ib] {
    overflow-x: auto;
}

.analysis-table[b-0cpmwf56ib] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.analysis-table .sticky-col[b-0cpmwf56ib] {
    position: sticky;
    left: 0;
    z-index: 1;
    min-width: 220px;
    background: var(--onf-surface);
}

.analysis-section td[b-0cpmwf56ib],
.analysis-section .sticky-col[b-0cpmwf56ib] {
    font-weight: 600;
    background: var(--onf-surface-alt);
}

.analysis-child .sticky-col[b-0cpmwf56ib] {
    padding-left: 1.5rem;
}

.analysis-total td[b-0cpmwf56ib] {
    font-weight: 700;
    border-top: 2px solid var(--onf-border);
}

.analysis-amount[b-0cpmwf56ib] {
    text-decoration: underline dotted;
    text-underline-offset: 3px;
}
/* /Components/Pages/Fatture.razor.rz.scp.css */
/* Sum of the ticked rows, shown above the grid while a selection exists. Colours come from
   the tokens only. */
.selection-summary[b-z8teahel4e] {
    display: inline-block;
    margin-bottom: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: var(--onf-surface);
    border: 1px solid var(--onf-border);
    border-radius: var(--onf-radius);
}

.selection-summary-title[b-z8teahel4e] {
    margin-bottom: 0.25rem;
}

.selection-summary-table[b-z8teahel4e] {
    white-space: nowrap;
}

.selection-summary-table th[b-z8teahel4e],
.selection-summary-table td[b-z8teahel4e] {
    padding: 0.125rem 0;
}

.selection-summary-table td[b-z8teahel4e],
.selection-summary-table thead th + th[b-z8teahel4e] {
    padding-left: 1.5rem;
}

.selection-summary-table thead th[b-z8teahel4e] {
    font-weight: 400;
    color: var(--onf-text-muted);
}

.selection-summary-table tbody th[b-z8teahel4e] {
    font-weight: 400;
}

.selection-summary-net th[b-z8teahel4e],
.selection-summary-net td[b-z8teahel4e] {
    font-weight: 600;
    border-top: 1px solid var(--onf-border);
}
/* /Components/Shared/PageHeader.razor.rz.scp.css */
/* Negative margins cancel the content padding so the band spans the whole content area;
   z-index 10 keeps it under Syncfusion popups and dialogs (1000+). */
.page-header[b-knx77rkiwt] {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
    min-height: var(--onf-header-height);
    margin: calc(-1 * var(--onf-page-padding-top)) calc(-1 * var(--onf-page-padding-x)) var(--onf-page-padding-top);
    padding: 8px var(--onf-page-padding-x);
    background: var(--onf-surface);
    border-bottom: 1px solid var(--onf-border);
}

.page-title[b-knx77rkiwt] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
}

.page-actions[b-knx77rkiwt] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

/* Below 768px the sidebar is a sticky 56px bar (plus its 1px border) at the top. */
@media (max-width: 767.98px) {
    .page-header[b-knx77rkiwt] {
        top: calc(var(--onf-header-height) + 1px);
    }
}
