@import '_content/SolverTech.Lara.Blazor.Common/SolverTech.Lara.Blazor.Common.wr3s6e4nmi.bundle.scp.css';
@import '_content/SolverTech.Lara.Blazor.Framework/SolverTech.Lara.Blazor.Framework.mcnxgamye9.bundle.scp.css';
@import '_content/Z.Blazor.Diagrams/Z.Blazor.Diagrams.ezdqu7jd9f.bundle.scp.css';

/* /Components/Dev/UI/DevStartupBar.razor.rz.scp.css */
.lara-dev-startup[b-ynxz1lc82x] {
    display: inline-flex;
    align-items: center;
}

/* The bookmark/x icons are rendered by child DxButton components, so reach them with ::deep. */
.lara-dev-startup[b-ynxz1lc82x]  .lara-dev-startup-btn--active .oi {
    color: var(--lara-warning, #d97706);
}

.lara-dev-startup[b-ynxz1lc82x]  .lara-dev-startup-btn--clear .oi {
    color: var(--lara-danger, #DC2626);
}
/* /Components/Lineage/RequestLineageGraph.razor.rz.scp.css */
.lineage-graph[b-nwd4l2s2ra] {
    width: 100%;
    height: 100%;
    min-height: 320px;
    position: relative;
}
/* /Components/Routes/UI/RouteLocationSegmentsGrid.razor.rz.scp.css */
/* Timeline segments rendered inside an expanded location's detail row. */
.route-segments[b-9e97mbo3oz] {
    padding: 6px 10px 8px 38px;
}

.route-segments-empty[b-9e97mbo3oz] {
    font-size: 12px;
    font-style: italic;
    color: #6c757d;
    padding: 4px 0;
}

.route-segments-table[b-9e97mbo3oz] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
}

    .route-segments-table thead th[b-9e97mbo3oz] {
        text-align: left;
        font-weight: 500;
        color: #6c757d;
        font-size: 11px;
        padding: 5px 10px;
        border-bottom: 1px solid #e0e0e0;
        background: #f8f9fa;
    }

    .route-segments-table tbody td[b-9e97mbo3oz] {
        padding: 5px 10px;
        border-top: 1px solid #f0f0f0;
        vertical-align: middle;
    }

.route-segments-type-col[b-9e97mbo3oz] {
    width: 110px;
}

.segment-label[b-9e97mbo3oz] {
    color: #343a40;
}

/* Segment-kind badge. Move=slate, handling=teal, shared=blue, wait=amber, break/rest=grey. */
.segment-badge[b-9e97mbo3oz] {
    display: inline-block;
    font-size: 11px;
    line-height: 1.4;
    padding: 1px 8px;
    border-radius: 10px;
    white-space: nowrap;
}

.segment-move[b-9e97mbo3oz] {
    background: #e7ebf0;
    color: #2f3b49;
}

.segment-handling[b-9e97mbo3oz] {
    background: #e2f3f1;
    color: #14564f;
}

.segment-sharedduration[b-9e97mbo3oz] {
    background: #e6f0fb;
    color: #1f4d7a;
}

.segment-wait[b-9e97mbo3oz] {
    background: #faeeda;
    color: #633806;
}

.segment-break[b-9e97mbo3oz],
.segment-rest[b-9e97mbo3oz] {
    background: #ececed;
    color: #495057;
}

/* StopRole badge, mirrored from RouteStopsGrid (CSS isolation is per-component). */
.role-badge[b-9e97mbo3oz] {
    display: inline-block;
    font-size: 11px;
    line-height: 1.4;
    padding: 1px 8px;
    margin-right: 6px;
    border-radius: 10px;
    white-space: nowrap;
}

.role-pickup[b-9e97mbo3oz] {
    background: #e6f1fb;
    color: #0c447c;
}

.role-delivery[b-9e97mbo3oz] {
    background: #faece7;
    color: #712b13;
}

.role-service[b-9e97mbo3oz] {
    background: #eeedfe;
    color: #3c3489;
}

.role-through[b-9e97mbo3oz] {
    background: #faeeda;
    color: #633806;
}
/* /Components/Routes/UI/RouteStopsGrid.razor.rz.scp.css */
/* Handling activities rendered inside an expanded stop's detail row. */
.route-handlings[b-c54y7eixnt] {
    padding: 6px 10px 8px 38px;
}

.route-handlings-empty[b-c54y7eixnt] {
    font-size: 12px;
    font-style: italic;
    color: #6c757d;
    padding: 4px 0;
}

.route-handlings-table[b-c54y7eixnt] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
}

    .route-handlings-table thead th[b-c54y7eixnt] {
        text-align: left;
        font-weight: 500;
        color: #6c757d;
        font-size: 11px;
        padding: 5px 10px;
        border-bottom: 1px solid #e0e0e0;
        background: #f8f9fa;
    }

    .route-handlings-table tbody td[b-c54y7eixnt] {
        padding: 5px 10px;
        border-top: 1px solid #f0f0f0;
        vertical-align: middle;
    }

.route-handlings-actions-col[b-c54y7eixnt] {
    width: 96px;
}

.route-handlings-actions[b-c54y7eixnt] {
    text-align: right;
    white-space: nowrap;
}

/* StopRole badge. Colors mirror the planning mockups: pickup=blue, delivery=coral,
   service=purple, through=amber. */
.role-badge[b-c54y7eixnt] {
    display: inline-block;
    font-size: 11px;
    line-height: 1.4;
    padding: 1px 8px;
    border-radius: 10px;
    white-space: nowrap;
}

.role-pickup[b-c54y7eixnt] {
    background: #e6f1fb;
    color: #0c447c;
}

.role-delivery[b-c54y7eixnt] {
    background: #faece7;
    color: #712b13;
}

.role-service[b-c54y7eixnt] {
    background: #eeedfe;
    color: #3c3489;
}

.role-through[b-c54y7eixnt] {
    background: #faeeda;
    color: #633806;
}

/* Marks a handling that starts a new materialized dispatch interval. */
.dispatch-badge[b-c54y7eixnt] {
    display: inline-block;
    font-size: 10px;
    line-height: 1.4;
    padding: 1px 7px;
    margin-left: 4px;
    border-radius: 10px;
    white-space: nowrap;
    background: #e2e3e5;
    color: #41464b;
}

/* Per-handling action buttons (move up/down, remove). */
.route-handling-action[b-c54y7eixnt] {
    border: none;
    background: transparent;
    color: #495057;
    cursor: pointer;
    padding: 2px 5px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1;
}

    .route-handling-action:hover:not(:disabled)[b-c54y7eixnt] {
        background: #e9ecef;
    }

    .route-handling-action:disabled[b-c54y7eixnt] {
        color: #c4c8cc;
        cursor: default;
    }

.route-handling-action--danger:hover:not(:disabled)[b-c54y7eixnt] {
    background: #f8d7da;
    color: #dc2626;
}
/* /Components/Routes/UI/RouteTravelLegs.razor.rz.scp.css */
/* Travel legs (driving / break / rest) leading into a stop, shown as compact chips. */
.route-travel-legs[b-v990m60z9k] {
    margin: 2px 0 8px 0;
}

.route-travel-legs-title[b-v990m60z9k] {
    font-size: 11px;
    font-weight: 500;
    color: #6c757d;
    margin-bottom: 3px;
}

.route-travel-legs-list[b-v990m60z9k] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.route-travel-leg[b-v990m60z9k] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 1px 8px;
}

.leg-badge[b-v990m60z9k] {
    font-weight: 500;
}

.leg-driving[b-v990m60z9k] {
    color: #0c447c;
}

.leg-break[b-v990m60z9k] {
    color: #633806;
}

.leg-rest[b-v990m60z9k] {
    color: #3c3489;
}

.leg-time[b-v990m60z9k],
.leg-duration[b-v990m60z9k] {
    color: #6c757d;
}
/* /Components/Routes/UI/RouteViolationIndicator.razor.rz.scp.css */
/* Warning badge for time-constraint violations on a stop/handling row. Amber mirrors the
   planning violation-severity convention (Warning/Soft = #ffc107). */
.route-violation-badge[b-4kod2l83d3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-left: 4px;
    border-radius: 50%;
    background: #fff3cd;
    color: #b8860b;
    font-size: 10px;
    cursor: help;
    vertical-align: middle;
}
/* /Features/Admin/Constraints/Pages/ConstraintBindings.razor.rz.scp.css */
.constraints-dashboard[b-mjlnk7qc7k] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    gap: 12px;
    padding: 12px;
    overflow: auto;
    background: var(--lara-surface-tint);
}

/* ---- KPI strip ---- */
.kpi-strip[b-mjlnk7qc7k] {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr)) minmax(220px, 1.4fr) minmax(220px, 1.4fr);
    gap: 12px;
}

@media (max-width: 1200px) {
    .kpi-strip[b-mjlnk7qc7k] {
        grid-template-columns: repeat(2, 1fr);
    }
}

.kpi-card[b-mjlnk7qc7k] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px 16px;
    background: var(--lara-surface);
    border: 1px solid var(--lara-border-light);
    border-radius: var(--lara-radius-md);
}

.kpi-card-head[b-mjlnk7qc7k] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--lara-text-secondary);
}

.kpi-card-head .oi[b-mjlnk7qc7k] {
    font-size: 11px;
}

.kpi-value[b-mjlnk7qc7k] {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--lara-text-primary);
}

.kpi-card--danger .kpi-value[b-mjlnk7qc7k] {
    color: var(--lara-danger);
}

.kpi-card--warning .kpi-value[b-mjlnk7qc7k] {
    color: var(--lara-warning);
}

.kpi-sub[b-mjlnk7qc7k] {
    font-size: 11px;
    color: var(--lara-text-muted);
}

.kpi-coverage-badge[b-mjlnk7qc7k] {
    margin-left: auto;
    font-size: 12px;
    font-weight: 700;
    color: var(--lara-primary);
}

/* ---- Donut ---- */
.kpi-severity[b-mjlnk7qc7k] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.donut[b-mjlnk7qc7k] {
    position: relative;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    flex: 0 0 auto;
}

.donut-hole[b-mjlnk7qc7k] {
    position: absolute;
    inset: 16px;
    border-radius: 50%;
    background: var(--lara-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
    color: var(--lara-text-primary);
}

.donut-legend[b-mjlnk7qc7k] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
    min-width: 0;
}

.legend-row[b-mjlnk7qc7k] {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
}

.legend-dot[b-mjlnk7qc7k] {
    width: 9px;
    height: 9px;
    border-radius: 2px;
    flex: 0 0 auto;
}

.legend-label[b-mjlnk7qc7k] {
    color: var(--lara-text-secondary);
}

.legend-count[b-mjlnk7qc7k] {
    margin-left: auto;
    font-weight: 600;
    color: var(--lara-text-primary);
}

/* ---- Coverage ---- */
.coverage-list[b-mjlnk7qc7k] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.coverage-row[b-mjlnk7qc7k] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
}

.coverage-label[b-mjlnk7qc7k] {
    flex: 0 0 96px;
    color: var(--lara-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.coverage-track[b-mjlnk7qc7k] {
    flex: 1;
    height: 6px;
    border-radius: 3px;
    background: var(--lara-surface-tint);
    overflow: hidden;
}

.coverage-fill[b-mjlnk7qc7k] {
    display: block;
    height: 100%;
    border-radius: 3px;
    background: var(--lara-primary);
}

.coverage-count[b-mjlnk7qc7k] {
    flex: 0 0 auto;
    font-weight: 600;
    color: var(--lara-text-primary);
}

/* ---- Toolbar ---- */
.dash-toolbar[b-mjlnk7qc7k] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.result-count[b-mjlnk7qc7k] {
    font-size: 12px;
    color: var(--lara-text-muted);
}

.dash-toolbar-spacer[b-mjlnk7qc7k] {
    flex: 1;
}

.search-box[b-mjlnk7qc7k] {
    display: flex;
    align-items: center;
}

/* ---- Filter chips ---- */
.filter-bar[b-mjlnk7qc7k] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.filter-bar--concepts[b-mjlnk7qc7k] {
    padding-bottom: 2px;
}

.filter-sep[b-mjlnk7qc7k] {
    width: 1px;
    height: 18px;
    background: var(--lara-border-light);
    margin: 0 4px;
}

.chip[b-mjlnk7qc7k] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border: 1px solid var(--lara-border-light);
    border-radius: var(--lara-radius-pill);
    background: var(--lara-surface);
    color: var(--lara-text-secondary);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: background .12s, border-color .12s, color .12s;
}

.chip:hover[b-mjlnk7qc7k] {
    border-color: var(--lara-primary);
    color: var(--lara-primary);
}

.chip--active[b-mjlnk7qc7k] {
    background: var(--lara-primary);
    border-color: var(--lara-primary);
    color: var(--lara-text-on-dark);
}

.chip--active:hover[b-mjlnk7qc7k] {
    color: var(--lara-text-on-dark);
}

.chip .oi[b-mjlnk7qc7k] {
    font-size: 11px;
}

.chip-count[b-mjlnk7qc7k] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    background: var(--lara-surface-tint);
    color: var(--lara-text-secondary);
    font-size: 10px;
    font-weight: 700;
}

.chip--active .chip-count[b-mjlnk7qc7k] {
    background: rgba(255, 255, 255, .25);
    color: var(--lara-text-on-dark);
}

.chip--link[b-mjlnk7qc7k] {
    border-color: transparent;
    background: transparent;
    color: var(--lara-text-muted);
}

.chip--link:hover[b-mjlnk7qc7k] {
    color: var(--lara-danger);
}

.sev-dot[b-mjlnk7qc7k] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex: 0 0 auto;
}

/* ---- Bulk bar ---- */
.bulk-bar[b-mjlnk7qc7k] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 12px;
    background: var(--lara-primary);
    border-radius: var(--lara-radius-md);
    color: var(--lara-text-on-dark);
}

.bulk-count[b-mjlnk7qc7k] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    font-size: 13px;
}

.bulk-label[b-mjlnk7qc7k] {
    font-size: 12px;
    opacity: .85;
}

.bulk-sep[b-mjlnk7qc7k] {
    width: 1px;
    height: 18px;
    background: rgba(255, 255, 255, .3);
    margin: 0 2px;
}

.bulk-bar .chip[b-mjlnk7qc7k] {
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .25);
    color: var(--lara-text-on-dark);
}

.bulk-bar .chip:hover[b-mjlnk7qc7k] {
    background: rgba(255, 255, 255, .22);
    border-color: var(--lara-text-on-dark);
    color: var(--lara-text-on-dark);
}

.bulk-bar .chip--danger:hover[b-mjlnk7qc7k] {
    background: var(--lara-danger);
    border-color: var(--lara-danger);
}

.bulk-bar .chip--link[b-mjlnk7qc7k] {
    background: transparent;
    border-color: transparent;
}

/* ---- Grid ---- */
.dash-grid[b-mjlnk7qc7k] {
    flex: 1;
    min-height: 0;
    background: var(--lara-surface);
    border: 1px solid var(--lara-border-light);
    border-radius: var(--lara-radius-md);
    overflow: hidden;
}

/* The two-line name-cell makes rows taller than a single text line. Body cells
   inherit a 25px line-height (sized for text rows); any cell holding a checkbox
   (the selection column and the Active value column) then pins the small checkbox
   (inline-flex, vertical-align: top) to the top of the row. Collapse the line box
   in those cells so their vertical-align: middle centers the checkbox. */
.dash-grid[b-mjlnk7qc7k]  .dxbl-grid-table td:has(.dxbl-checkbox) {
    line-height: 1 !important;
    vertical-align: middle;
}

.name-cell[b-mjlnk7qc7k] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    cursor: pointer;
}

/* Clickable-name affordance: highlight the title on hover (opens the edit popup). */
.name-cell:hover .name-cell-title[b-mjlnk7qc7k] {
    color: var(--lara-primary);
    text-decoration: underline dotted;
    text-underline-offset: 3px;
}

.name-cell--inactive[b-mjlnk7qc7k] {
    opacity: .5;
}

.sev-strip[b-mjlnk7qc7k] {
    width: 3px;
    align-self: stretch;
    min-height: 26px;
    border-radius: 2px;
    flex: 0 0 auto;
}

.concept-ico[b-mjlnk7qc7k] {
    font-size: 13px;
    color: var(--lara-text-muted);
    flex: 0 0 auto;
}

.name-cell-text[b-mjlnk7qc7k] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.name-cell-title[b-mjlnk7qc7k] {
    font-weight: 600;
    color: var(--lara-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.name-cell-sub[b-mjlnk7qc7k] {
    font-size: 11px;
    color: var(--lara-text-muted);
}

.type-pill[b-mjlnk7qc7k] {
    display: inline-block;
    padding: 1px 8px;
    border-radius: var(--lara-radius-sm);
    background: var(--lara-surface-tint);
    border: 1px solid var(--lara-border-light);
    font-family: ui-monospace, "Cascadia Code", Consolas, monospace;
    font-size: 11px;
    color: var(--lara-text-secondary);
}

.dim-text[b-mjlnk7qc7k] {
    font-family: ui-monospace, "Cascadia Code", Consolas, monospace;
    font-size: 12px;
    color: var(--lara-text-secondary);
}

.scope-cell[b-mjlnk7qc7k] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.scope-detail[b-mjlnk7qc7k] {
    font-size: 11px;
    color: var(--lara-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.partition-text[b-mjlnk7qc7k],
.modified-text[b-mjlnk7qc7k] {
    font-size: 12px;
    color: var(--lara-text-secondary);
}

/* ---- Edit drawer ---- */
.binding-drawer[b-mjlnk7qc7k] {
    height: 100%;
    overflow: auto;
    /* bottom room so the floating ActionPopupComponent save bar never covers the last fields */
    padding: 16px 20px 80px;
}

.binding-drawer-title[b-mjlnk7qc7k] {
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: 600;
    color: var(--lara-text-primary);
}

/* ---- Dimension setup panel (server readback) ---- */
.dim-setup[b-mjlnk7qc7k] {
    background: var(--lara-surface);
    border: 1px solid var(--lara-border-light);
    border-radius: var(--lara-radius-md);
    overflow: hidden;
}

.dim-setup-head[b-mjlnk7qc7k] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 10px 14px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--lara-text-secondary);
}

.dim-setup-head .oi[b-mjlnk7qc7k] {
    font-size: 11px;
}

.dim-setup-pill[b-mjlnk7qc7k] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 700;
}

.dim-setup-pill--problem[b-mjlnk7qc7k] {
    background: var(--lara-danger);
    color: var(--lara-text-on-dark);
}

.dim-setup-table[b-mjlnk7qc7k] {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--lara-border-light);
}

.dim-setup-row[b-mjlnk7qc7k] {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) minmax(140px, auto) minmax(180px, 1.2fr) minmax(240px, 1.8fr);
    align-items: center;
    gap: 10px;
    padding: 7px 14px;
    border-top: 1px solid var(--lara-border-light);
    font-size: 12px;
}

.dim-setup-row:first-child[b-mjlnk7qc7k] {
    border-top: none;
}

.dim-setup-row--head[b-mjlnk7qc7k] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--lara-text-muted);
    background: var(--lara-surface-tint);
}

.dim-setup-table .dim-setup-row:not(.dim-setup-row--head)[b-mjlnk7qc7k] {
    cursor: pointer;
}

.dim-setup-table .dim-setup-row:not(.dim-setup-row--head):hover[b-mjlnk7qc7k] {
    background: var(--lara-surface-tint);
}

.dim-setup-row--problem[b-mjlnk7qc7k] {
    box-shadow: inset 3px 0 0 var(--lara-danger);
}

.dim-setup-name[b-mjlnk7qc7k] {
    font-family: ui-monospace, "Cascadia Code", Consolas, monospace;
    font-weight: 600;
    color: var(--lara-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dim-setup-projection[b-mjlnk7qc7k] {
    color: var(--lara-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dim-setup-action[b-mjlnk7qc7k] {
    color: var(--lara-text-secondary);
    line-height: 1.35;
}
/* /Features/Admin/Dashboard.razor.rz.scp.css */
.dashboard[b-tq1s8mzzjq] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    height: 100%;
    min-height: 0;
    padding: 12px 16px 16px;
    box-sizing: border-box;
}

.dashboard__toolbar[b-tq1s8mzzjq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.dashboard__toolbar-group[b-tq1s8mzzjq] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.dashboard__title[b-tq1s8mzzjq] {
    font-size: 16px;
    font-weight: 600;
    color: var(--lara-text-primary);
}

.dashboard__body[b-tq1s8mzzjq] {
    display: flex;
    gap: 16px;
    flex: 1 1 auto;
    min-height: 0;
}

.dashboard__left[b-tq1s8mzzjq] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1 1 50%;
    min-width: 0;
    overflow: auto;
}

.dashboard__cards[b-tq1s8mzzjq] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.dashboard__panels[b-tq1s8mzzjq] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.dashboard__panel[b-tq1s8mzzjq] {
    background: var(--lara-surface);
    border: 1px solid var(--lara-border-strong);
    border-radius: var(--lara-radius-md);
    padding: 14px 18px;
    min-width: 0;
}

.dashboard__map[b-tq1s8mzzjq] {
    flex: 1 1 50%;
    min-width: 0;
    min-height: 60vh;
    border: 1px solid var(--lara-border-strong);
    border-radius: var(--lara-radius-md);
    overflow: hidden;
    background: var(--lara-surface);
}

@media (max-width: 1200px) {
    .dashboard__body[b-tq1s8mzzjq] {
        flex-direction: column;
    }

    .dashboard__map[b-tq1s8mzzjq] {
        min-height: 50vh;
    }
}
/* /Features/Admin/Dashboard/Components/DashboardAlertsStrip.razor.rz.scp.css */
.dashboard-alerts[b-xckq9eqnql] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.dashboard-alerts__title[b-xckq9eqnql] {
    font-size: 13px;
    font-weight: 600;
    color: var(--lara-text-secondary);
}

.dashboard-alerts__chips[b-xckq9eqnql] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.dashboard-chip[b-xckq9eqnql] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 10px;
    border-radius: var(--lara-radius-pill);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.6;
}

.dashboard-chip--info[b-xckq9eqnql] {
    color: var(--lara-primary-hover);
    background: var(--lara-primary-light);
}

.dashboard-chip--success[b-xckq9eqnql] {
    color: var(--lara-success-active);
    background: var(--lara-success-light);
}

.dashboard-chip--warning[b-xckq9eqnql] {
    color: var(--lara-warning);
    background: var(--lara-warning-light);
}

.dashboard-chip--danger[b-xckq9eqnql] {
    color: var(--lara-danger);
    background: var(--lara-danger-light);
}
/* /Features/Admin/Dashboard/Components/DashboardQuickActions.razor.rz.scp.css */
.dashboard-quick[b-44z6exj7na] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

/* Size the quick-action buttons to match the .lara-plan-btn proportions used
   on the Planning Session detail ribbon (33px tall, 13/700 caption, 3px radius).
   ::deep penetrates the DxButton wrapper so the rule lands on the rendered
   <button class="dxbl-btn">. */
.dashboard-quick[b-44z6exj7na]  .dxbl-btn {
    height: 33px;
    min-height: 33px;
    padding: 0 12px;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 700;
    line-height: 16px;
    gap: 8px;
}

.dashboard-quick[b-44z6exj7na]  .dxbl-btn .dxbl-btn-icon,
.dashboard-quick[b-44z6exj7na]  .dxbl-btn .dxbl-image {
    font-size: 13px;
    line-height: 13px;
}
/* /Features/Admin/Dashboard/Components/DashboardRecentSessions.razor.rz.scp.css */
.dashboard-sessions[b-uvrc95lxys] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dashboard-sessions__title[b-uvrc95lxys] {
    font-size: 13px;
    font-weight: 600;
    color: var(--lara-text-secondary);
}

.dashboard-sessions__empty[b-uvrc95lxys] {
    font-size: 13px;
    color: var(--lara-text-muted);
}

.dashboard-sessions__list[b-uvrc95lxys] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.dashboard-sessions__item[b-uvrc95lxys] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 6px 10px;
    border: none;
    border-radius: var(--lara-radius-sm);
    background: var(--lara-surface-tint);
    cursor: pointer;
    text-align: left;
    font: inherit;
}

.dashboard-sessions__item:hover[b-uvrc95lxys] {
    background: var(--lara-surface-header);
}

.dashboard-sessions__name[b-uvrc95lxys] {
    font-weight: 600;
    color: var(--lara-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.dashboard-sessions__meta[b-uvrc95lxys] {
    flex: 0 0 auto;
    font-size: 12px;
    color: var(--lara-text-muted);
}
/* /Features/Admin/Dashboard/Components/DashboardStatCard.razor.rz.scp.css */
.dashboard-card[b-m3x6x3vu9c] {
    display: flex;
    flex-direction: column;
    background: var(--lara-surface);
    border: 1px solid var(--lara-border-strong);
    border-radius: var(--lara-radius-md);
    padding: 14px 18px;
    min-height: 124px;
    box-sizing: border-box;
}

.dashboard-card__head[b-m3x6x3vu9c] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.dashboard-card__headline[b-m3x6x3vu9c] {
    display: flex;
    align-items: baseline;
    gap: 6px;
    min-width: 0;
}

.dashboard-card__value[b-m3x6x3vu9c] {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.1;
    color: var(--lara-text-primary);
}

.dashboard-card__suffix[b-m3x6x3vu9c] {
    font-size: 13px;
    color: var(--lara-text-muted);
    white-space: nowrap;
}

.dashboard-card__chart[b-m3x6x3vu9c] {
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
}

.dashboard-card__link[b-m3x6x3vu9c] {
    flex: 0 0 auto;
    line-height: 1;
    font-size: 16px;
    color: var(--lara-primary-hover);
    text-decoration: none;
}

.dashboard-card__link:hover[b-m3x6x3vu9c] {
    color: var(--lara-primary);
}

.dashboard-card__title[b-m3x6x3vu9c] {
    margin-top: 2px;
    font-size: 13px;
    font-weight: 600;
    color: var(--lara-text-secondary);
}

.dashboard-card__rows[b-m3x6x3vu9c] {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--lara-border-light);
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.dashboard-card__row[b-m3x6x3vu9c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 13px;
}

.dashboard-card__row-label[b-m3x6x3vu9c] {
    color: var(--lara-text-muted);
}

.dashboard-card__row-value[b-m3x6x3vu9c] {
    font-weight: 600;
    color: var(--lara-text-primary);
}

.dashboard-card__row-value--muted[b-m3x6x3vu9c] {
    color: var(--lara-text-muted);
    font-weight: 400;
}

.dashboard-card__row-value--success[b-m3x6x3vu9c] {
    color: var(--lara-success);
}

.dashboard-card__row-value--warning[b-m3x6x3vu9c] {
    color: var(--lara-warning);
}

.dashboard-card__row-value--danger[b-m3x6x3vu9c] {
    color: var(--lara-danger);
}

.dashboard-card--primary[b-m3x6x3vu9c] {
    border-left: 3px solid var(--lara-primary-hover);
}

.dashboard-card--success[b-m3x6x3vu9c] {
    border-left: 3px solid var(--lara-success);
}

.dashboard-card--warning[b-m3x6x3vu9c] {
    border-left: 3px solid var(--lara-warning);
}
/* /Features/Admin/Dashboard/Components/DashboardUtilization.razor.rz.scp.css */
.dashboard-util[b-a4bek4p480] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dashboard-util__title[b-a4bek4p480] {
    font-size: 13px;
    font-weight: 600;
    color: var(--lara-text-secondary);
}

.dashboard-util__bar[b-a4bek4p480] {
    height: 8px;
    border-radius: var(--lara-radius-pill);
    background: var(--lara-surface-tint);
    overflow: hidden;
}

.dashboard-util__fill[b-a4bek4p480] {
    height: 100%;
    background: var(--lara-primary-hover);
    transition: width 0.3s ease;
}

.dashboard-util__stats[b-a4bek4p480] {
    display: flex;
    gap: 24px;
}

.dashboard-util__stat[b-a4bek4p480] {
    display: flex;
    flex-direction: column;
}

.dashboard-util__value[b-a4bek4p480] {
    font-size: 18px;
    font-weight: 600;
    color: var(--lara-text-primary);
}

.dashboard-util__label[b-a4bek4p480] {
    font-size: 12px;
    color: var(--lara-text-muted);
}
/* /Features/Admin/Environment/Pages/Environments.razor.rz.scp.css */
/* Environment configuration (Settings) — Variant 1: Rail + Grid.
   Uses global Lara design tokens from wwwroot/css/lara-theme.css (--lara-*). */

.env-page[b-pd3ud5hgs8] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* ---- Header ---- */
.env-header[b-pd3ud5hgs8] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    padding: 10px 16px;
    background: var(--lara-surface);
    border-bottom: 1px solid var(--lara-border-light);
}

.env-header__title[b-pd3ud5hgs8] {
    font-size: 15px;
    font-weight: 700;
    color: var(--lara-text-primary);
}

.env-header__spacer[b-pd3ud5hgs8] {
    flex: 1 1 auto;
}

/* ---- Body (rail | center | right) ---- */
.env-body[b-pd3ud5hgs8] {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    gap: 16px;
    padding: 16px;
    overflow: hidden;
}

/* ---- Entity type rail ---- */
.env-rail[b-pd3ud5hgs8] {
    width: 200px;
    flex: 0 0 200px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    overflow-y: auto;
}

.env-rail__head[b-pd3ud5hgs8] {
    padding: 4px 10px 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: var(--lara-text-muted);
}

.env-rail__item[b-pd3ud5hgs8] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 12px;
    border: 1px solid transparent;
    border-radius: var(--lara-radius-md);
    background: transparent;
    color: var(--lara-text-primary);
    font-family: inherit;
    font-size: 13px;
    text-align: left;
    cursor: pointer;
}

.env-rail__item:hover[b-pd3ud5hgs8] {
    background: var(--lara-surface);
    border-color: var(--lara-border-light);
}

.env-rail__item.active[b-pd3ud5hgs8] {
    background: var(--lara-surface);
    border-color: var(--lara-border-light);
    box-shadow: inset 3px 0 0 var(--lara-primary);
}

.env-rail__item .oi[b-pd3ud5hgs8] {
    width: 16px;
    text-align: center;
    font-size: 15px;
    color: var(--lara-text-secondary);
}

.env-rail__item.active .oi[b-pd3ud5hgs8] {
    color: var(--lara-primary);
}

.env-rail__label[b-pd3ud5hgs8] {
    flex: 1 1 auto;
    font-weight: 600;
}

.env-rail__count[b-pd3ud5hgs8] {
    padding: 1px 8px;
    border-radius: var(--lara-radius-pill);
    background: var(--lara-surface-header);
    color: var(--lara-text-secondary);
    font-size: 11px;
    font-weight: 700;
}

.env-rail__item.active .env-rail__count[b-pd3ud5hgs8] {
    background: var(--lara-primary-light);
    color: var(--lara-primary);
}

/* ---- Main (toolbar spans the top; grid + side panel sit in the row below) ---- */
.env-main[b-pd3ud5hgs8] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
}

.env-content[b-pd3ud5hgs8] {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    gap: 16px;
}

.env-center__toolbar[b-pd3ud5hgs8] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    flex-shrink: 0;
    margin-bottom: 12px;
}

.env-toolbar-actions[b-pd3ud5hgs8] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.env-search[b-pd3ud5hgs8] {
    flex: 0 1 280px;
    min-width: 180px;
}

/* DevExpress search box renders full-width by default; keep it inside its fixed-width wrapper. */
.env-search[b-pd3ud5hgs8]  .lara-search-box {
    width: 100%;
}

/* ---- Segmented control (subtypes) ---- */
.env-seg[b-pd3ud5hgs8] {
    display: inline-flex;
    gap: 2px;
    padding: 3px;
    background: var(--lara-surface-tint);
    border: 1px solid var(--lara-border-light);
    border-radius: var(--lara-radius-md);
}

.env-seg__btn[b-pd3ud5hgs8] {
    height: 28px;
    padding: 0 14px;
    border: none;
    border-radius: var(--lara-radius-sm);
    background: transparent;
    color: var(--lara-text-secondary);
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.env-seg__btn:hover[b-pd3ud5hgs8] {
    color: var(--lara-text-primary);
}

.env-seg__btn.active[b-pd3ud5hgs8] {
    background: var(--lara-surface);
    color: var(--lara-primary);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

/* ---- Grid wrapper ---- */
.env-grid-wrap[b-pd3ud5hgs8] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--lara-surface);
    border: 1px solid var(--lara-border-light);
    border-radius: var(--lara-radius-md);
}

/* The toolbar sits above the grid inside the same flex-column wrapper; keep it at its
   natural height so it never steals space from the grid below. */
.env-grid-wrap[b-pd3ud5hgs8]  .lara-grid-toolbar {
    flex: 0 0 auto;
}

/* LaraGrid's root (.lara-grid-container) uses flex:1 and needs a flex-column parent to fill height. */
.env-grid-wrap[b-pd3ud5hgs8]  .lara-grid-container {
    flex: 1 1 auto;
    min-height: 0;
}

/* ---- Right panel ---- */
.env-right[b-pd3ud5hgs8] {
    width: 320px;
    flex: 0 0 320px;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.env-right.collapsed[b-pd3ud5hgs8] {
    display: none;
}

.env-right__toggle[b-pd3ud5hgs8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border: 1px solid var(--lara-border-light);
    border-radius: var(--lara-radius-sm);
    background: var(--lara-surface);
    color: var(--lara-text-secondary);
    cursor: pointer;
}

.env-right__toggle:hover[b-pd3ud5hgs8] {
    border-color: var(--lara-primary);
    color: var(--lara-primary);
}

.env-right__content[b-pd3ud5hgs8] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

/* ---- Panels ---- */
.env-panel[b-pd3ud5hgs8] {
    background: var(--lara-surface);
    border: 1px solid var(--lara-border-light);
    border-radius: var(--lara-radius-md);
}

.env-panel__header[b-pd3ud5hgs8] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--lara-border-light);
    font-size: 13px;
    font-weight: 700;
    color: var(--lara-text-primary);
}

.env-panel__header .oi[b-pd3ud5hgs8] {
    color: var(--lara-text-secondary);
    font-size: 13px;
}

.env-panel__spacer[b-pd3ud5hgs8] {
    flex: 1 1 auto;
}

.env-panel__body[b-pd3ud5hgs8] {
    padding: 14px;
}

.env-panel__hint[b-pd3ud5hgs8] {
    margin-bottom: 10px;
    font-size: 11px;
    color: var(--lara-text-muted);
}

/* ---- Entity validation toggle rows ---- */
.env-toggle-row[b-pd3ud5hgs8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px dashed var(--lara-border-medium);
}

.env-toggle-row:last-child[b-pd3ud5hgs8] {
    border-bottom: none;
}

.env-toggle-row__label[b-pd3ud5hgs8] {
    font-size: 12px;
    color: var(--lara-text-primary);
}

.env-routing-form[b-pd3ud5hgs8] {
    --dxbl-form-layout-item-gap: 4px;
}

/* ---- Save bar ---- */
.env-savebar[b-pd3ud5hgs8] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    padding: 10px 16px;
    background: var(--lara-surface);
    border-top: 1px solid var(--lara-border-light);
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.04);
}

.env-savebar__dirty[b-pd3ud5hgs8] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    font-weight: 600;
    color: var(--lara-warning);
}

.env-savebar__dot[b-pd3ud5hgs8] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lara-warning);
}

.env-savebar__spacer[b-pd3ud5hgs8] {
    flex: 1 1 auto;
}

/* ---- Empty / placeholder states ---- */
.env-placeholder[b-pd3ud5hgs8] {
    margin: 16px;
    padding: 14px 16px;
    background: var(--lara-surface);
    border: 1px solid var(--lara-border-light);
    border-radius: var(--lara-radius-md);
    color: var(--lara-text-secondary);
}

.env-empty[b-pd3ud5hgs8] {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 40px 20px;
    color: var(--lara-text-muted);
    text-align: center;
}

.env-empty--compact[b-pd3ud5hgs8] {
    padding: 24px 12px;
}

.env-empty .oi[b-pd3ud5hgs8] {
    font-size: 24px;
    opacity: 0.5;
}

.env-muted[b-pd3ud5hgs8] {
    color: var(--lara-text-muted);
}
/* /Features/Admin/WorkflowEditor/WorkflowEditor.razor.rz.scp.css */
/* Workflow editor — split layout (tree + stage diagram + inspector). */

.wfe-root[b-8iaydsx6na] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 80vh;
    background: #EFF2F5;
}

/* ---- stage accent colors (one per RequestStatus master state) ---- */
.stage-new[b-8iaydsx6na] { --stage: #6B7785; }
.stage-planning[b-8iaydsx6na] { --stage: #0C3D82; }
.stage-scheduled[b-8iaydsx6na] { --stage: #7A4FBF; }
.stage-inprogress[b-8iaydsx6na] { --stage: #FF8800; }
.stage-delivered[b-8iaydsx6na] { --stage: #34B416; }
.stage-cancelled[b-8iaydsx6na] { --stage: #FF0000; }

/* ---- ribbon ---- */
.wfe-ribbon[b-8iaydsx6na] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #fff;
    border-bottom: 1px solid #D6DCE0;
    flex: 0 0 auto;
}

.wfe-btn[b-8iaydsx6na] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 33px;
    padding: 0 14px;
    border-radius: 3px;
    border: 1px solid transparent;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
}

.wfe-btn .oi[b-8iaydsx6na] { font-size: 11px; }
.wfe-btn:disabled[b-8iaydsx6na] { opacity: .5; cursor: not-allowed; }
.wfe-btn-success[b-8iaydsx6na] { background: #34B416; color: #fff; font-weight: 700; }
.wfe-btn-success:hover:not(:disabled)[b-8iaydsx6na] { background: #2DA214; }
.wfe-btn-outline[b-8iaydsx6na] { background: #fff; border-color: #D6DCE0; color: #39424C; height: 32px; }
.wfe-btn-outline:hover:not(:disabled)[b-8iaydsx6na] { border-color: #0C3D82; color: #0C3D82; }
.wfe-btn-danger[b-8iaydsx6na] { background: #FF0000; color: #fff; }
.wfe-btn-danger:hover:not(:disabled)[b-8iaydsx6na] { background: #B91C1C; }
.wfe-btn-danger-soft[b-8iaydsx6na] { background: #fff; border: 1px solid #D6DCE0; color: #C0341D; height: 32px; }
.wfe-btn-danger-soft:hover[b-8iaydsx6na] { border-color: #FF0000; color: #FF0000; background: rgba(255, 0, 0, .05); }

.wfe-sep[b-8iaydsx6na] { width: 1px; height: 24px; background: #E1E6EB; margin: 0 4px; }
.wfe-spacer[b-8iaydsx6na] { flex: 1 1 auto; }
.wfe-hint[b-8iaydsx6na] { font-size: 12px; color: #939DA7; font-weight: 400; }

/* ---- validation ---- */
.wfe-validation[b-8iaydsx6na] {
    margin: 10px 16px 0;
    padding: 10px 14px;
    border: 1px solid #f1aeb5;
    border-left: 3px solid #FF0000;
    background: #fdf0f1;
    border-radius: 6px;
    flex: 0 0 auto;
}

.wfe-validation-title[b-8iaydsx6na] { font-weight: 700; color: #9b1c1c; font-size: 12px; margin-bottom: 4px; }
.wfe-validation-item[b-8iaydsx6na] { color: #9b1c1c; font-size: 12px; }

/* ---- shared pane header ---- */
.wfe-pane-head[b-8iaydsx6na] {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 12px;
    flex: 0 0 auto;
    background: #fff;
    border-bottom: 1px solid #E1E6EB;
    font-size: 13px;
    font-weight: 700;
    color: #39424C;
}

.wfe-pane-head .oi[b-8iaydsx6na] { color: #939DA7; font-size: 12px; }

/* ---- main split: tree | stage | inspector ---- */
.wfe-main[b-8iaydsx6na] {
    flex: 1 1 auto;
    display: flex;
    min-height: 0;
}

/* ---- badges (tree) ---- */
.wfe-badge[b-8iaydsx6na] { font-size: 10px; font-weight: 700; padding: 1px 6px; border-radius: 12px; line-height: 1.4; }
.wfe-badge.def[b-8iaydsx6na] { background: rgba(52, 180, 22, .14); color: #279115; }
.wfe-badge.end[b-8iaydsx6na] { background: rgba(65, 137, 241, .2); color: #0C3D82; }

/* ---- tree ---- */
.wfe-tree-pane[b-8iaydsx6na] {
    flex: 0 0 240px;
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: #fff;
    border-right: 1px solid #D6DCE0;
}

.wfe-tree[b-8iaydsx6na] { flex: 1 1 auto; overflow: auto; padding: 6px 4px; min-height: 0; }

.wfe-tree-master[b-8iaydsx6na] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 8px;
    border-radius: 3px;
    cursor: pointer;
    user-select: none;
}

.wfe-tree-master:hover[b-8iaydsx6na] { background: #F4F5F7; }
.wfe-tree-master.active[b-8iaydsx6na] { background: rgba(65, 137, 241, .12); }
.wfe-tree-master .twist[b-8iaydsx6na] { width: 10px; font-size: 8px; color: #939DA7; text-align: center; }
.wfe-tree-master .dot[b-8iaydsx6na] { width: 9px; height: 9px; border-radius: 50%; background: var(--stage); flex: 0 0 auto; }
.wfe-tree-master .name[b-8iaydsx6na] { flex: 1 1 auto; font-size: 12px; font-weight: 700; color: #39424C; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wfe-tree-master .lock[b-8iaydsx6na] { font-size: 9px; color: #939DA7; }
.wfe-tree-master .cnt[b-8iaydsx6na] { font-size: 10px; font-weight: 600; color: #5B6470; background: #E1E6EB; border-radius: 12px; padding: 1px 6px; }

.wfe-tree-children[b-8iaydsx6na] { margin: 1px 0 4px 18px; padding-left: 10px; border-left: 2px solid #E1E6EB; }
.wfe-tree-leaf[b-8iaydsx6na] { display: flex; align-items: center; gap: 7px; padding: 5px 8px; border-radius: 3px; cursor: pointer; }
.wfe-tree-leaf:hover[b-8iaydsx6na] { background: #F4F5F7; }
.wfe-tree-leaf.selected[b-8iaydsx6na] { background: rgba(65, 137, 241, .12); }
.wfe-tree-leaf.selected .lname[b-8iaydsx6na] { color: #0C3D82; font-weight: 700; }
.wfe-tree-leaf .lname[b-8iaydsx6na] { flex: 1 1 auto; font-size: 12px; color: #5B6470; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---- stage canvas (one stage at a time) ---- */
.wfe-stage-pane[b-8iaydsx6na] { flex: 1 1 auto; display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.wfe-stage-name[b-8iaydsx6na] { display: inline-flex; align-items: center; gap: 6px; padding-left: 8px; font-size: 12px; font-weight: 700; color: #39424C; }
.wfe-stage-name .dot[b-8iaydsx6na] { width: 8px; height: 8px; border-radius: 50%; background: var(--stage); }
.wfe-connect-hint[b-8iaydsx6na] { display: inline-flex; align-items: center; gap: 5px; margin-left: 14px; font-size: 11px; font-weight: 400; color: #939DA7; }
.wfe-connect-hint .oi[b-8iaydsx6na] { font-size: 10px; }

.wfe-stage-canvas[b-8iaydsx6na] {
    flex: 1 1 auto;
    min-height: 0;
    position: relative;
    background-color: #F7F9FB;
    background-image: radial-gradient(#D6DCE0 1px, transparent 1px);
    background-size: 18px 18px;
    overflow: hidden;
}

.wfe-stage-canvas[b-8iaydsx6na]  .diagram-canvas { width: 100%; height: 100%; }

/* ---- inspector ---- */
.wfe-inspector[b-8iaydsx6na] {
    flex: 0 0 320px;
    width: 320px;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-left: 1px solid #D6DCE0;
    overflow: auto;
}

.wfe-inspector-empty[b-8iaydsx6na] { padding: 40px 22px; text-align: center; color: #939DA7; }
.wfe-inspector-empty .oi[b-8iaydsx6na] { font-size: 22px; opacity: .5; }
.wfe-inspector-empty p[b-8iaydsx6na] { margin: 10px 0 0; font-size: 12px; }
.wfe-inspector-body[b-8iaydsx6na] { padding: 16px; }

.wfe-field[b-8iaydsx6na] { margin-bottom: 14px; }
.wfe-field > label[b-8iaydsx6na] { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 600; color: #5B6470; }
.wfe-field .wfe-hint[b-8iaydsx6na] { font-size: 11px; margin-top: 4px; }

.wfe-readonly[b-8iaydsx6na] {
    height: 32px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    background: #EFF2F5;
    border: 1px solid #E1E6EB;
    border-radius: 3px;
    color: #5B6470;
    font-size: 13px;
}

.wfe-readonly.mono[b-8iaydsx6na] { font-family: Consolas, 'Courier New', monospace; font-size: 12px; }
.wfe-readonly.with-lock .oi[b-8iaydsx6na] { margin-left: auto; color: #939DA7; font-size: 10px; }
.wfe-lane-dot[b-8iaydsx6na] { width: 9px; height: 9px; border-radius: 50%; background: var(--stage); flex: 0 0 auto; }

.wfe-toggle[b-8iaydsx6na] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px dashed #E1E6EB;
}

.wfe-toggle-meta[b-8iaydsx6na] { display: flex; flex-direction: column; }
.wfe-toggle-meta .t[b-8iaydsx6na] { font-size: 12px; font-weight: 600; color: #39424C; }
.wfe-toggle-meta .d[b-8iaydsx6na] { font-size: 11px; color: #939DA7; }

.wfe-chips[b-8iaydsx6na] { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.wfe-chip[b-8iaydsx6na] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 7px 3px 8px;
    border-radius: 12px;
    background: #EFF2F5;
    border: 1px solid #E1E6EB;
    font-size: 11px;
    color: #39424C;
}

.wfe-chip .oi[b-8iaydsx6na] { font-size: 8px; color: #939DA7; }
.wfe-chip.cross[b-8iaydsx6na] { background: rgba(65, 137, 241, .12); border-color: rgba(65, 137, 241, .3); color: #0C3D82; }
.wfe-chip.cross .oi[b-8iaydsx6na] { color: #0C3D82; }
.wfe-chip-x[b-8iaydsx6na] { cursor: pointer; font-size: 9px; color: #939DA7; }
.wfe-chip-x:hover[b-8iaydsx6na] { color: #FF0000; }
.wfe-empty[b-8iaydsx6na] { font-size: 12px; color: #939DA7; font-style: italic; }

.wfe-delete[b-8iaydsx6na] { width: 100%; justify-content: center; margin-top: 18px; }

/* ---- confirm dialogs ---- */
.wfe-confirm[b-8iaydsx6na] { padding: 6px 14px 18px; }
.wfe-confirm-body[b-8iaydsx6na] {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 24px;
    font-size: 13px;
    line-height: 1.5;
    color: #39424C;
}

.wfe-confirm-icon[b-8iaydsx6na] {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.wfe-confirm-icon.danger[b-8iaydsx6na] { background: rgba(255, 0, 0, .1); color: #E11900; }
.wfe-confirm-icon.warn[b-8iaydsx6na] { background: rgba(255, 136, 0, .14); color: #FF8800; }
.wfe-confirm-actions[b-8iaydsx6na] { display: flex; justify-content: flex-end; gap: 8px; }
.wfe-confirm-actions .wfe-btn[b-8iaydsx6na] { min-width: 96px; justify-content: center; }

.wfe-add-select[b-8iaydsx6na] {
    width: 100%;
    height: 32px;
    padding: 0 8px;
    background: #fff;
    border: 1px solid #E1E6EB;
    border-radius: 3px;
    font-family: inherit;
    font-size: 13px;
    color: #39424C;
    cursor: pointer;
}

.wfe-add-select:focus[b-8iaydsx6na] { outline: none; border-color: #0C3D82; box-shadow: 0 0 0 2px rgba(65, 137, 241, .2); }
/* /Features/Admin/WorkflowEditor/WorkflowSubstateNodeWidget.razor.rz.scp.css */
/* Custom Z.Blazor.Diagrams node widget — a LARA-styled substate card. */

.stage-new[b-nd2wgq8j1j] { --stage: #6B7785; }
.stage-planning[b-nd2wgq8j1j] { --stage: #0C3D82; }
.stage-scheduled[b-nd2wgq8j1j] { --stage: #7A4FBF; }
.stage-inprogress[b-nd2wgq8j1j] { --stage: #FF8800; }
.stage-delivered[b-nd2wgq8j1j] { --stage: #34B416; }
.stage-cancelled[b-nd2wgq8j1j] { --stage: #FF0000; }

.wfe-dnode[b-nd2wgq8j1j] {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 8px 11px;
    background: #fff;
    border: 1px solid #D6DCE0;
    border-left: 4px solid var(--stage);
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
    cursor: grab;
}

.wfe-dnode.selected[b-nd2wgq8j1j] {
    border-color: #0C3D82;
    box-shadow: 0 0 0 2px rgba(65, 137, 241, .25), 0 2px 6px rgba(12, 61, 130, .18);
}

.wfe-dnode-title[b-nd2wgq8j1j] { font-size: 13px; font-weight: 700; color: #39424C; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wfe-dnode-id[b-nd2wgq8j1j] { font-family: Consolas, 'Courier New', monospace; font-size: 11px; color: #939DA7; margin-top: 1px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wfe-dnode-badges[b-nd2wgq8j1j] { display: flex; gap: 4px; margin-top: 5px; }
.wfe-dbadge[b-nd2wgq8j1j] { font-size: 10px; font-weight: 700; padding: 1px 6px; border-radius: 12px; line-height: 1.4; }
.wfe-dbadge.def[b-nd2wgq8j1j] { background: rgba(52, 180, 22, .14); color: #279115; }
.wfe-dbadge.end[b-nd2wgq8j1j] { background: rgba(65, 137, 241, .2); color: #0C3D82; }

/* Connection bubbles. The library renders ports as `.diagram-port` with an alignment class
   (left/right/top/bottom) and ships no styling for them, so we size and position them here. */
.wfe-dnode[b-nd2wgq8j1j]  .diagram-port {
    position: absolute;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--stage);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
    cursor: crosshair;
    z-index: 5;
    transition: background-color .1s ease, box-shadow .1s ease;
}

.wfe-dnode[b-nd2wgq8j1j]  .diagram-port.left { left: -7px; top: 50%; transform: translateY(-50%); }
.wfe-dnode[b-nd2wgq8j1j]  .diagram-port.right { right: -7px; top: 50%; transform: translateY(-50%); }
.wfe-dnode[b-nd2wgq8j1j]  .diagram-port.top { top: -7px; left: 50%; transform: translateX(-50%); }
.wfe-dnode[b-nd2wgq8j1j]  .diagram-port.bottom { bottom: -7px; left: 50%; transform: translateX(-50%); }
.wfe-dnode[b-nd2wgq8j1j]  .diagram-port:hover { background: var(--stage); box-shadow: 0 0 0 3px rgba(65, 137, 241, .25); }
.wfe-dnode[b-nd2wgq8j1j]  .diagram-port.has-links { background: var(--stage); }
/* /Features/Assets/Pages/VehicleDriversSection.razor.rz.scp.css */
.vehicle-drivers-section[b-efbemm9z0r] {
    display: flex;
    flex-direction: column;
}

/* Empty state: turn the lone muted sentence into a centred, padded panel so
   the section reads as intentional (not unfinished) when no driver is paired. */
.vehicle-drivers-section > .text-muted[b-efbemm9z0r] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 96px;
    padding: 20px;
    text-align: center;
    font-size: 13px;
    color: var(--lara-text-muted, #939DA7);
    background: var(--lara-surface-tint, #EFF2F5);
    border: 1px dashed var(--lara-border-light, #D6DCE0);
    border-radius: var(--lara-radius-md, 6px);
}

/* Driver grid: framed, rounded container to match Lara cards. */
.vehicle-drivers-section[b-efbemm9z0r]  .dxbl-grid {
    border: 1px solid var(--lara-border-light, #D6DCE0);
    border-radius: var(--lara-radius-md, 6px);
    overflow: hidden;
}
/* /Features/Carriers/Pages/CarrierDetail.razor.rz.scp.css */
.lcd[b-m8md2vxc5p] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--lara-surface);
    /* Anchor for the create-mode bottom-right Create/Cancel action bar (.lara-action-popup). */
    position: relative;
}

/* top bar */
.lcd-topbar[b-m8md2vxc5p] {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 48px;
    flex-shrink: 0;
    padding: 0 14px;
    background: #0C3D82;
    color: #fff;
}

.lcd-back[b-m8md2vxc5p] {
    background: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    font-size: 16px;
    padding: 4px 6px;
    display: flex;
    align-items: center;
}

.lcd-crumb[b-m8md2vxc5p] {
    font-size: 13px;
    color: #B5D4F4;
}

.lcd-crumb b[b-m8md2vxc5p] {
    color: #fff;
    font-weight: 600;
}

.lcd-grow[b-m8md2vxc5p] {
    flex: 1;
}

/* cost/time segmented toggle */
.lcd-seg[b-m8md2vxc5p] {
    display: inline-flex;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 6px;
    overflow: hidden;
}

.lcd-seg-btn[b-m8md2vxc5p] {
    background: transparent;
    border: none;
    color: #B5D4F4;
    font-size: 12px;
    padding: 5px 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
}

.lcd-seg-btn.on[b-m8md2vxc5p] {
    background: #fff;
    color: #0C3D82;
    font-weight: 600;
}

.lcd-body[b-m8md2vxc5p] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.lcd-editor-area[b-m8md2vxc5p] {
    flex: 1;
    min-height: 0;
}

/* identity bar (carrier name + code) shown above the tariff editor */
.lcd-identity[b-m8md2vxc5p] {
    display: flex;
    gap: 16px;
    align-items: flex-end;
    flex-shrink: 0;
    padding: 12px 14px;
    background: #fff;
    border-bottom: 1px solid #D6DCE0;
}

.lcd-id-field[b-m8md2vxc5p] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.lcd-id-name[b-m8md2vxc5p] {
    flex: 1;
    max-width: 360px;
}

.lcd-id-code[b-m8md2vxc5p] {
    width: 160px;
}

.lcd-id-label[b-m8md2vxc5p] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #939DA7;
    font-weight: 600;
}

[b-m8md2vxc5p] .lcd-id-input {
    width: 100%;
}

.lcd-empty[b-m8md2vxc5p] {
    padding: 40px;
    color: #5B6470;
    font-size: 14px;
}

/* panes */
.lcd-pane[b-m8md2vxc5p] {
    height: 100%;
    overflow: auto;
    background: #fff;
    padding: 14px;
}

.lcd-right[b-m8md2vxc5p] {
    background: #F6F8FA;
    border-left: 1px solid #D6DCE0;
}

.lcd-left[b-m8md2vxc5p] {
    border-right: 1px solid #D6DCE0;
}

.lcd-section[b-m8md2vxc5p] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #939DA7;
    font-weight: 600;
    margin-bottom: 8px;
}

.lcd-section-gap[b-m8md2vxc5p] {
    margin-top: 16px;
}

/* dimension rail */
.lcd-dim[b-m8md2vxc5p] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 10px;
    border-radius: 6px;
    margin-bottom: 4px;
    cursor: pointer;
    color: #39424C;
    font-size: 13px;
}

.lcd-dim:hover[b-m8md2vxc5p] {
    background: #EFF2F5;
}

.lcd-dim.on[b-m8md2vxc5p] {
    background: #E6F1FB;
    color: #0C3D82;
}

.lcd-dim-main[b-m8md2vxc5p] {
    flex: 1;
    min-width: 0;
}

.lcd-dim-title[b-m8md2vxc5p] {
    font-weight: 600;
}

.lcd-dim-sub[b-m8md2vxc5p] {
    font-size: 11px;
    color: #939DA7;
}

.lcd-dim.on .lcd-dim-sub[b-m8md2vxc5p] {
    color: #0858CA;
}

.lcd-dim-chev[b-m8md2vxc5p] {
    font-size: 11px;
}

/* center editor */
.lcd-center-head[b-m8md2vxc5p] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    margin-bottom: 4px;
}

.lcd-note[b-m8md2vxc5p] {
    font-size: 12px;
    color: #5B6470;
    margin-bottom: 12px;
}

.lcd-tier[b-m8md2vxc5p] {
    width: 100%;
    border-collapse: collapse;
}

.lcd-tier th[b-m8md2vxc5p] {
    font-size: 11px;
    color: #5B6470;
    font-weight: 600;
    text-align: left;
    padding: 7px 10px;
    background: #EFF2F5;
}

.lcd-tier td[b-m8md2vxc5p] {
    font-size: 13px;
    padding: 7px 10px;
    border-top: 1px solid #E1E6EB;
    vertical-align: middle;
}

.lcd-r[b-m8md2vxc5p] {
    text-align: right;
}

.lcd-num[b-m8md2vxc5p] {
    font-variant-numeric: tabular-nums;
}

.lcd-muted[b-m8md2vxc5p] {
    color: #5B6470;
}

.lcd-del[b-m8md2vxc5p] {
    color: #939DA7;
    cursor: pointer;
    font-size: 12px;
}

.lcd-del:hover[b-m8md2vxc5p] {
    color: #C62828;
}

/* Option 4 — stacked: the dimension header acts as the label; the editor is a
   full-width field with the unit ghosted inside on the right. */
.lcd-scalar[b-m8md2vxc5p] {
    position: relative;
    max-width: 280px;
    margin-top: 8px;
}

[b-m8md2vxc5p] .lcd-scalar-spin {
    width: 100%;
}

[b-m8md2vxc5p] .lcd-scalar-spin input {
    text-align: left;
    padding-right: 84px;
}

.lcd-scalar-unit[b-m8md2vxc5p] {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #939DA7;
    font-size: 13px;
    pointer-events: none;
}

.lcd-add[b-m8md2vxc5p] {
    margin-top: 10px;
    background: transparent;
    border: 1px dashed #85B7EB;
    color: #0C3D82;
    border-radius: 6px;
    padding: 5px 11px;
    font-size: 12px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.lcd-add:hover[b-m8md2vxc5p] {
    background: #E6F1FB;
}

.lcd-add-block[b-m8md2vxc5p] {
    width: 100%;
    justify-content: center;
    border-color: #D6DCE0;
    color: #5B6470;
    margin-top: 8px;
}

.lcd-add-block:disabled[b-m8md2vxc5p] {
    opacity: 0.5;
    cursor: default;
}

.lcd-add-wrap[b-m8md2vxc5p] {
    margin-top: 8px;
}

.lcd-add-menu[b-m8md2vxc5p] {
    margin-top: 6px;
    background: #fff;
    border: 1px solid #D6DCE0;
    border-radius: 6px;
    padding: 4px;
}

.lcd-add-item[b-m8md2vxc5p] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    background: transparent;
    border: none;
    padding: 7px 9px;
    font-size: 13px;
    color: #39424C;
    cursor: pointer;
    border-radius: 4px;
    text-align: left;
}

.lcd-add-item:hover[b-m8md2vxc5p] {
    background: #EFF2F5;
}

.lcd-dim-move[b-m8md2vxc5p] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.lcd-move-btn[b-m8md2vxc5p] {
    background: transparent;
    border: none;
    color: #939DA7;
    cursor: pointer;
    font-size: 10px;
    line-height: 1;
    padding: 1px 3px;
    border-radius: 3px;
}

.lcd-move-btn:hover:not(:disabled)[b-m8md2vxc5p] {
    background: #fff;
    color: #0C3D82;
}

.lcd-move-btn:disabled[b-m8md2vxc5p] {
    opacity: 0.3;
    cursor: default;
}

.lcd-remove-dim[b-m8md2vxc5p] {
    background: transparent;
    border: none;
    color: #939DA7;
    cursor: pointer;
    font-size: 13px;
    padding: 4px 6px;
    border-radius: 4px;
}

.lcd-remove-dim:hover[b-m8md2vxc5p] {
    color: #C62828;
    background: #FCEBEB;
}

.lcd-add-band[b-m8md2vxc5p] {
    background: transparent;
    border: none;
    color: #939DA7;
    cursor: pointer;
    font-size: 13px;
    padding: 4px 6px;
    border-radius: 4px;
}

.lcd-add-band:hover[b-m8md2vxc5p] {
    color: #0C3D82;
    background: #E6F1FB;
}

.lcd-presets[b-m8md2vxc5p] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

.lcd-preset[b-m8md2vxc5p] {
    font-size: 11px;
    padding: 4px 9px;
    border-radius: 6px;
    border: 1px solid #D6DCE0;
    background: #fff;
    color: #5B6470;
    cursor: pointer;
}

.lcd-preset:hover[b-m8md2vxc5p] {
    background: #E6F1FB;
    color: #0C3D82;
    border-color: #85B7EB;
}

.lcd-waterfall[b-m8md2vxc5p] {
    background: #fff;
    border: 1px solid #E1E6EB;
    border-radius: 6px;
    padding: 6px 4px;
}

.lcd-dim[b-m8md2vxc5p] {
    cursor: pointer;
}

.lcd-dim.dragging[b-m8md2vxc5p] {
    opacity: 0.4;
}

.lcd-dim.dragover[b-m8md2vxc5p] {
    box-shadow: inset 0 2px 0 0 #0C3D82;
}

.lcd-to-cell[b-m8md2vxc5p] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.lcd-inf[b-m8md2vxc5p] {
    font-size: 14px;
    color: #5B6470;
    min-width: 40px;
    display: inline-block;
}

.lcd-inf-toggle[b-m8md2vxc5p] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 12px;
    color: #5B6470;
    cursor: pointer;
}

.lcd-hint[b-m8md2vxc5p] {
    font-size: 11px;
    color: #939DA7;
    margin-top: 8px;
    line-height: 1.4;
}

.lcd-center[b-m8md2vxc5p] {
    display: flex;
    flex-direction: column;
}

.lcd-band-grid[b-m8md2vxc5p] {
    flex: 0 0 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
}

/* The band table is small and edited in place: render it at content height with
   no virtual-scroll viewport and no pager. Virtual scrolling caches rows by the
   Data reference, so an in-place add/remove would not repaint; non-virtual +
   content height keeps add/remove instant and avoids an empty filler block. */
.lcd-band-grid[b-m8md2vxc5p]  .lara-grid-container,
.lcd-band-grid[b-m8md2vxc5p]  .dxbl-grid,
.lcd-band-grid[b-m8md2vxc5p]  .dxbl-grid > .dxbl-scroll-viewer {
    flex: 0 0 auto;
}

.lcd-band-grid[b-m8md2vxc5p]  .dxbl-grid-bottom-panel {
    display: none;
}

.lcd-band-select[b-m8md2vxc5p] {
    font-size: 12px;
    padding: 4px 6px;
    border: 1px solid #D6DCE0;
    border-radius: 4px;
    background: #fff;
    color: #39424C;
}

.lcd-value-cell[b-m8md2vxc5p] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.lcd-grip[b-m8md2vxc5p] {
    color: #B6BDC4;
    cursor: grab;
    font-size: 13px;
    flex-shrink: 0;
}

.lcd-grip:active[b-m8md2vxc5p] {
    cursor: grabbing;
}

.lcd-dim-list[b-m8md2vxc5p] {
    display: block;
}

.lcd-dim-del[b-m8md2vxc5p] {
    color: #B6BDC4;
    cursor: pointer;
    font-size: 12px;
    flex-shrink: 0;
    opacity: 0;
}

.lcd-dim:hover .lcd-dim-del[b-m8md2vxc5p],
.lcd-dim.on .lcd-dim-del[b-m8md2vxc5p] {
    opacity: 1;
}

.lcd-dim-del:hover[b-m8md2vxc5p] {
    color: #C62828;
}

/* route simulator */
.lcd-slider[b-m8md2vxc5p] {
    margin-bottom: 14px;
}

.lcd-slider-head[b-m8md2vxc5p] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 12px;
    color: #5B6470;
    margin-bottom: 4px;
}

.lcd-slider-head .lcd-num[b-m8md2vxc5p] {
    font-weight: 600;
    color: #39424C;
}

.lcd-slider .split-range[b-m8md2vxc5p] {
    width: 100%;
    accent-color: #0C3D82;
    height: 4px;
}

.lcd-breakdown[b-m8md2vxc5p] {
    background: #fff;
    border: 1px solid #E1E6EB;
    border-radius: 6px;
    padding: 6px 12px;
}

.lcd-kv[b-m8md2vxc5p] {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    padding: 5px 0;
    color: #5B6470;
}

.lcd-kv .lcd-num[b-m8md2vxc5p] {
    font-weight: 600;
    color: #39424C;
}

.lcd-total[b-m8md2vxc5p] {
    border-top: 1px solid #E1E6EB;
    margin-top: 4px;
    padding-top: 8px;
    font-size: 13px;
}

.lcd-total .lcd-num[b-m8md2vxc5p] {
    font-size: 16px;
    color: #2E6B12;
}

.lcd-proto[b-m8md2vxc5p] {
    margin-top: 14px;
    font-size: 11px;
    color: #939DA7;
    line-height: 1.5;
    display: flex;
    gap: 6px;
}

/* DxSpinEdit is a child component — size it through ::deep */
[b-m8md2vxc5p] .lcd-spin {
    width: 96px;
    display: inline-block;
}

/* Edit-cell spin edits fill the cell width (cleaner than a fixed inline width) */
[b-m8md2vxc5p] .lcd-edit-spin {
    width: 100%;
}

/* "To" column edit: numeric value (or ∞) + a compact infinite toggle button */
.lcd-to-edit[b-m8md2vxc5p] {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
}

.lcd-to-edit[b-m8md2vxc5p]  .lcd-edit-spin {
    flex: 1;
    width: auto;
    min-width: 0;
}

.lcd-to-edit .lcd-inf-display[b-m8md2vxc5p] {
    flex: 1;
    color: #5B6470;
    font-size: 14px;
}

.lcd-to-edit[b-m8md2vxc5p]  .lcd-inf-btn {
    flex-shrink: 0;
    min-width: 34px;
    padding-left: 8px;
    padding-right: 8px;
}

/* ── Dimension tiles workbench (replaces the left rail + single-select editor) ── */
.lcd-tiles-pane[b-m8md2vxc5p] {
    background: #F6F8FA;
}

/* Cost/Time mode toggle, now hosted inside the tariff workbench layout cell
   (the old Detail/Cost/Time ribbon switch became the Detail/Tariff layout tabs). */
.lcd-tariff-modes[b-m8md2vxc5p] {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.lcd-tiles[b-m8md2vxc5p] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    padding: 0;
    overflow: visible;
}

/* Band tiles (the in-place band grid) span the full workbench grid width. */
.lcd-tiles .lcd-tile-band[b-m8md2vxc5p] {
    grid-column: 1 / -1;
}

.lcd-tile[b-m8md2vxc5p] {
    background: #fff;
    border: 1px solid #E1E6EB;
    border-radius: 8px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lcd-tile-head[b-m8md2vxc5p] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #39424C;
}

.lcd-tile-title[b-m8md2vxc5p] {
    font-weight: 600;
}

.lcd-tile-field[b-m8md2vxc5p] {
    position: relative;
}

.lcd-tile-add[b-m8md2vxc5p] {
    background: transparent;
    border: 1px dashed #85B7EB;
    border-radius: 8px;
    color: #0C3D82;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 92px;
    font-size: 13px;
}

.lcd-tile-add:hover:not(:disabled)[b-m8md2vxc5p] {
    background: #E6F1FB;
}

.lcd-tile-add:disabled[b-m8md2vxc5p] {
    opacity: 0.5;
    cursor: default;
    border-color: #D6DCE0;
    color: #939DA7;
}

.lcd-tile-add-icon[b-m8md2vxc5p] {
    font-size: 20px;
}

/* ── Detail tab: business profile (identity context + Party tax id & contacts) ── */
.lcd-detail-pane[b-m8md2vxc5p] {
    background: #F6F8FA;
}

.lcd-detail-form[b-m8md2vxc5p] {
    max-width: 760px;
}

/* DxTextBox is a child component — stretch it to the grid cell through ::deep. Size is the
   DevExpress default (Medium), matching LaraFormLayout editors — do not set SizeMode.Small. */
[b-m8md2vxc5p] .lcd-detail-input {
    width: 100%;
}

.lcd-detail-grid[b-m8md2vxc5p] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px 16px;
}

.lcd-detail-field[b-m8md2vxc5p] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.lcd-detail-field label[b-m8md2vxc5p] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #939DA7;
    font-weight: 600;
}

.lcd-readonly[b-m8md2vxc5p] {
    display: flex;
    align-items: center;
    min-height: 34px;
    font-size: 14px;
    color: #39424C;
}

.lcd-contacts[b-m8md2vxc5p] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.lcd-contact-row[b-m8md2vxc5p] {
    display: grid;
    grid-template-columns: 1.4fr 1.6fr 1fr 1.4fr auto;
    gap: 8px;
    align-items: center;
}

.lcd-input[b-m8md2vxc5p] {
    width: 100%;
    height: 34px;
    padding: 0 12px;
    border: 1px solid #D6DCE0;
    border-radius: 6px;
    background: #fff;
    color: #39424C;
    font-size: 14px;
}

.lcd-input:focus[b-m8md2vxc5p] {
    outline: none;
    border-color: #85B7EB;
    box-shadow: 0 0 0 2px rgba(12, 61, 130, 0.12);
}

.lcd-detail-hint[b-m8md2vxc5p] {
    font-size: 13px;
    color: #5B6470;
    padding: 8px 0;
}
/* /Features/Carriers/Pages/Carriers.razor.rz.scp.css */
.carriers-page[b-1oaepz844p] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.carriers-chip-group[b-1oaepz844p] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.carriers-chip[b-1oaepz844p] {
    font-size: 12px;
    padding: 5px 11px;
    border-radius: 6px;
    border: 1px solid #D6DCE0;
    background: #fff;
    color: #5B6470;
    cursor: pointer;
}

.carriers-chip:hover[b-1oaepz844p] {
    background: #EFF2F5;
}

.carriers-chip.on[b-1oaepz844p] {
    background: #E6F1FB;
    color: #0C3D82;
    border-color: #85B7EB;
    font-weight: 600;
}

/* Grid cell content is rendered by LaraGrid (a child component), so reach it with ::deep. */
[b-1oaepz844p] .carriers-name-cell {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

[b-1oaepz844p] .carriers-name {
    font-weight: 600;
    color: #0C3D82;
}

[b-1oaepz844p] .carriers-sub {
    font-size: 11px;
    color: #939DA7;
}

[b-1oaepz844p] .carriers-badge {
    font-size: 11px;
    padding: 2px 9px;
    border-radius: 50px;
    font-weight: 600;
    display: inline-block;
    line-height: 1.6;
}

[b-1oaepz844p] .carriers-badge.is-blue {
    background: #E6F1FB;
    color: #0C3D82;
}

[b-1oaepz844p] .carriers-badge.is-gray {
    background: #EEF1F4;
    color: #5B6470;
}

[b-1oaepz844p] .carriers-badge.is-green {
    background: #EAF3DE;
    color: #2E6B12;
}

[b-1oaepz844p] .carriers-badge.is-amber {
    background: #FAEEDA;
    color: #B26A00;
}

[b-1oaepz844p] .carriers-num {
    font-variant-numeric: tabular-nums;
}
/* /Features/Imports/Pages/ImportScriptEditor.razor.rz.scp.css */
.script-editor-container[b-4yfkyadfqz] {
    position: relative;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    height: 100%;
    gap: 8px;
    padding: 8px;
    background: var(--lara-surface-tint);
}

.script-editor-meta[b-4yfkyadfqz] {
    flex-wrap: wrap;
}

.script-editor-main[b-4yfkyadfqz] {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 8px;
    min-height: 0;
    overflow: hidden;
}

.script-editor-left[b-4yfkyadfqz] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    overflow-y: auto;
    padding: 14px;
    background: var(--lara-surface);
    border: 0.5px solid var(--lara-border-light);
    border-radius: var(--lara-radius-md);
}

.script-editor-center[b-4yfkyadfqz] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: var(--lara-surface);
    border: 0.5px solid var(--lara-border-light);
    border-radius: var(--lara-radius-md);
}

.script-editor-center > .script-editor-section-label[b-4yfkyadfqz] {
    padding: 8px 10px 6px;
}

.script-editor-section-label[b-4yfkyadfqz] {
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--lara-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.monaco-wrapper[b-4yfkyadfqz] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.monaco-wrapper[b-4yfkyadfqz]  #script-editor {
    min-height: 0 !important;
    height: 100% !important;
}

.preview-grid[b-4yfkyadfqz] {
    max-height: 200px;
    overflow: auto;
    border: 1px solid var(--lara-border-light);
    border-radius: var(--lara-radius-md);
    padding: 8px;
}

.upload-dropzone[b-4yfkyadfqz] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 1px dashed var(--lara-border-medium);
    border-radius: var(--lara-radius-md);
    padding: 18px 8px;
    color: var(--lara-text-secondary);
    text-align: center;
    background: var(--lara-surface);
    transition: border-color 0.12s, color 0.12s;
}

.upload-dropzone:hover[b-4yfkyadfqz] {
    border-color: var(--lara-primary);
    color: var(--lara-primary);
}

.upload-dropzone[b-4yfkyadfqz]  .upload-dropzone-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.upload-dropzone-icon[b-4yfkyadfqz] {
    font-size: 20px;
    pointer-events: none;
}

.upload-dropzone-text[b-4yfkyadfqz] {
    font-size: 0.8125rem;
    pointer-events: none;
}

.upload-file-chip[b-4yfkyadfqz] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    color: var(--lara-text-primary);
    background: var(--lara-surface-tint);
    border-radius: var(--lara-radius-md);
    padding: 6px 8px;
}

.upload-file-chip-name[b-4yfkyadfqz] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.upload-preview-summary[b-4yfkyadfqz] {
    font-size: 0.75rem;
    color: var(--lara-text-muted);
}

.result-status[b-4yfkyadfqz] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    font-weight: 500;
}

.result-status.is-success[b-4yfkyadfqz] {
    color: var(--lara-success);
}

.result-status.is-error[b-4yfkyadfqz] {
    color: var(--lara-danger);
}

.result-tile[b-4yfkyadfqz] {
    border-radius: var(--lara-radius-md);
    padding: 8px 10px;
    background: var(--lara-surface-tint);
}

.result-tile-label[b-4yfkyadfqz] {
    font-size: 0.6875rem;
    color: var(--lara-text-secondary);
}

.result-tile-value[b-4yfkyadfqz] {
    font-size: 1.125rem;
    font-weight: 500;
    color: var(--lara-text-primary);
}

.result-tiles-row[b-4yfkyadfqz] {
    display: flex;
    gap: 8px;
}

.result-tiles-row .result-tile[b-4yfkyadfqz] {
    flex: 1;
}

.result-tile.is-danger[b-4yfkyadfqz] {
    background: var(--lara-danger-light);
}

.result-tile.is-danger .result-tile-label[b-4yfkyadfqz],
.result-tile.is-danger .result-tile-value[b-4yfkyadfqz] {
    color: var(--lara-danger);
}

.result-tile.is-warning[b-4yfkyadfqz] {
    background: var(--lara-warning-light);
}

.result-tile.is-warning .result-tile-label[b-4yfkyadfqz],
.result-tile.is-warning .result-tile-value[b-4yfkyadfqz] {
    color: var(--lara-warning);
}

.log-dock[b-4yfkyadfqz] {
    display: flex;
    flex-direction: column;
    background: var(--lara-surface);
    border: 0.5px solid var(--lara-border-light);
    border-radius: var(--lara-radius-md);
    overflow: hidden;
}

.log-dock-tabs[b-4yfkyadfqz] {
    display: flex;
    gap: 2px;
    padding: 0 8px;
    background: var(--lara-surface);
    border-bottom: 1px solid var(--lara-border-light);
}

.log-tab[b-4yfkyadfqz] {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 10px 16px;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--lara-text-secondary);
    cursor: pointer;
}

.log-output-panel[b-4yfkyadfqz] {
    background: var(--lara-surface);
    padding: 12px 14px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    flex-wrap: wrap;
    min-height: 180px;
}

.log-preview-panel[b-4yfkyadfqz] {
    background: var(--lara-surface);
    padding: 10px;
    min-height: 180px;
    max-height: 340px;
    overflow: auto;
}

.log-tab:hover[b-4yfkyadfqz] {
    color: var(--lara-text-primary);
}

.log-tab.active[b-4yfkyadfqz] {
    color: var(--lara-primary);
    border-bottom-color: var(--lara-primary);
}

.console-panel[b-4yfkyadfqz] {
    min-height: 180px;
    max-height: 320px;
    overflow-y: auto;
    background: #1e1e1e;
    color: #d4d4d4;
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 12px;
    padding: 8px 10px;
}

.console-line[b-4yfkyadfqz] {
    padding: 2px 4px;
    display: flex;
    gap: 8px;
    line-height: 1.5;
    border-radius: var(--lara-radius-sm);
}

.console-error[b-4yfkyadfqz] {
    color: #f48771;
}

.console-warning[b-4yfkyadfqz] {
    color: #ddb76b;
}

.console-clickable[b-4yfkyadfqz] {
    cursor: pointer;
}

.console-clickable:hover[b-4yfkyadfqz] {
    background: rgba(255, 255, 255, 0.08);
}

.console-prefix[b-4yfkyadfqz] {
    font-weight: 700;
    min-width: 56px;
}

.console-location[b-4yfkyadfqz] {
    color: #569cd6;
    text-decoration: underline;
}
/* /Features/Inbound/Components/InboxMessageDetail.razor.rz.scp.css */
.inbound-detail[b-piclf0x4qn] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px;
    height: 100%;
    overflow: auto;
}

.inbound-detail-header[b-piclf0x4qn] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.inbound-detail-header h3[b-piclf0x4qn] {
    margin: 0;
}

.inbound-detail-meta[b-piclf0x4qn] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.85rem;
}

.inbound-detail-label[b-piclf0x4qn] {
    display: inline-block;
    min-width: 92px;
    font-weight: 600;
    opacity: 0.7;
}

.inbound-detail-actions[b-piclf0x4qn] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.inbound-detail-section h4[b-piclf0x4qn] {
    margin: 0 0 8px;
}

.inbound-empty[b-piclf0x4qn] {
    font-size: 0.85rem;
    opacity: 0.7;
}

.inbound-attachments[b-piclf0x4qn] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.inbound-attachment[b-piclf0x4qn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid var(--dxbl-border-color, #e0e0e0);
    border-radius: 6px;
    padding: 8px 12px;
}

.inbound-attachment-name[b-piclf0x4qn] {
    font-weight: 600;
    display: block;
}

.inbound-attachment-actions[b-piclf0x4qn] {
    display: flex;
    gap: 6px;
}

.inbound-sub[b-piclf0x4qn] {
    font-size: 0.78rem;
    opacity: 0.7;
}

.inbound-body[b-piclf0x4qn] {
    white-space: pre-wrap;
    word-break: break-word;
    font-family: inherit;
    background: var(--dxbl-gray-100, #f6f6f6);
    border-radius: 6px;
    padding: 12px;
    margin: 0;
    max-height: 320px;
    overflow: auto;
}

.inbound-dialog-field[b-piclf0x4qn] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.inbound-dialog-field label[b-piclf0x4qn] {
    font-weight: 600;
    font-size: 0.85rem;
}
/* /Features/Inbound/Pages/Inbox.razor.rz.scp.css */
.inbound-chip-group[b-vga5ijm1s2] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
}

.inbound-chip[b-vga5ijm1s2] {
    border: 1px solid var(--dxbl-border-color, #ccc);
    background: transparent;
    border-radius: 14px;
    padding: 2px 12px;
    font-size: 0.8rem;
    cursor: pointer;
    color: inherit;
}

.inbound-chip.on[b-vga5ijm1s2] {
    background: var(--lara-accent, #1976d2);
    border-color: var(--lara-accent, #1976d2);
    color: #fff;
}

.inbound-chip-sep[b-vga5ijm1s2] {
    width: 1px;
    align-self: stretch;
    background: var(--dxbl-border-color, #ddd);
    margin: 2px 4px;
}

.inbound-sender[b-vga5ijm1s2] {
    font-weight: 600;
}

.inbound-sub[b-vga5ijm1s2] {
    font-size: 0.78rem;
    opacity: 0.7;
}

.inbound-num[b-vga5ijm1s2] {
    font-variant-numeric: tabular-nums;
}

.inbound-badge[b-vga5ijm1s2] {
    display: inline-block;
    border-radius: 10px;
    padding: 1px 8px;
    font-size: 0.75rem;
    background: #eee;
    color: #333;
}

.inbound-badge.is-blue[b-vga5ijm1s2] {
    background: #e3f0ff;
    color: #1457a8;
}

.inbound-badge.is-green[b-vga5ijm1s2] {
    background: #e3f7e8;
    color: #1b7a3d;
}

.inbound-badge.is-amber[b-vga5ijm1s2] {
    background: #fff3df;
    color: #9a6400;
}

.inbound-badge.is-red[b-vga5ijm1s2] {
    background: #ffe5e5;
    color: #b01e1e;
}

.inbound-badge.is-gray[b-vga5ijm1s2] {
    background: #eee;
    color: #555;
}
/* /Features/Organizations/Components/DispatchBoundaryPolicyEditor.razor.rz.scp.css */
.dbp-editor[b-r2l6ac4v0b] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--lara-border, #D7DDE4);
    border-radius: 6px;
    background: var(--lara-surface, #FFFFFF);
    min-width: 0;
}

.dbp-head[b-r2l6ac4v0b] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto auto 34px;
    gap: 8px;
    align-items: center;
    min-width: 0;
}

.dbp-heading[b-r2l6ac4v0b] {
    min-width: 0;
}

.dbp-title[b-r2l6ac4v0b] {
    font-size: 13px;
    font-weight: 700;
    color: var(--lara-text-primary, #39424C);
}

.dbp-key[b-r2l6ac4v0b] {
    margin-top: 1px;
    font-size: 11px;
    color: var(--lara-text-muted, #939DA7);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dbp-state[b-r2l6ac4v0b] {
    justify-self: end;
    padding: 2px 7px;
    border-radius: 999px;
    background: var(--lara-surface-header, #E1E6EB);
    color: var(--lara-text-secondary, #5B6470);
    font-size: 11px;
    font-weight: 700;
}

.dbp-button[b-r2l6ac4v0b],
.dbp-icon-button[b-r2l6ac4v0b] {
    height: 32px;
    border: 1px solid var(--lara-border, #D7DDE4);
    border-radius: 5px;
    background: #FFFFFF;
    color: var(--lara-text-primary, #39424C);
}

.dbp-button[b-r2l6ac4v0b] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 10px;
    font-size: 12px;
    font-weight: 600;
}

.dbp-button--primary[b-r2l6ac4v0b] {
    background: var(--lara-primary, #0C3D82);
    border-color: var(--lara-primary, #0C3D82);
    color: #FFFFFF;
}

.dbp-icon-button[b-r2l6ac4v0b] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    padding: 0;
    flex: none;
}

.dbp-button:disabled[b-r2l6ac4v0b],
.dbp-icon-button:disabled[b-r2l6ac4v0b] {
    opacity: 0.45;
    cursor: not-allowed;
}

.dbp-error[b-r2l6ac4v0b] {
    padding: 6px 8px;
    border-radius: 5px;
    background: #FDECEC;
    color: #A4262C;
    font-size: 12px;
}

.dbp-section[b-r2l6ac4v0b],
.dbp-preview[b-r2l6ac4v0b] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.dbp-section--compact[b-r2l6ac4v0b] {
    gap: 4px;
}

.dbp-section-title[b-r2l6ac4v0b],
.dbp-preview-title[b-r2l6ac4v0b] {
    color: var(--lara-text-muted, #939DA7);
    font-size: 11px;
    font-weight: 700;
}

.dbp-row[b-r2l6ac4v0b] {
    display: grid;
    grid-template-columns:
        minmax(132px, 0.8fr)
        minmax(180px, 1.1fr)
        minmax(150px, 0.9fr)
        minmax(180px, 1.1fr)
        32px;
    gap: 8px;
    align-items: center;
    min-width: 0;
}

.dbp-row--header[b-r2l6ac4v0b] {
    color: var(--lara-text-muted, #939DA7);
    font-size: 11px;
    font-weight: 700;
}

.dbp-inline[b-r2l6ac4v0b],
.dbp-limits[b-r2l6ac4v0b] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    min-width: 0;
}

.dbp-field[b-r2l6ac4v0b] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.dbp-field span[b-r2l6ac4v0b] {
    color: var(--lara-text-muted, #939DA7);
    font-size: 11px;
    font-weight: 700;
}

.dbp-control[b-r2l6ac4v0b] {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 32px;
    padding: 4px 8px;
    border: 1px solid var(--lara-border, #D7DDE4);
    border-radius: 5px;
    color: var(--lara-text-primary, #39424C);
    background: #FFFFFF;
    font-size: 12px;
}

.dbp-muted[b-r2l6ac4v0b],
.dbp-preview-line[b-r2l6ac4v0b] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--lara-text-secondary, #5B6470);
    font-size: 12px;
}

.dbp-muted[b-r2l6ac4v0b] {
    color: var(--lara-text-muted, #939DA7);
}

.dbp-check[b-r2l6ac4v0b] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    color: var(--lara-text-primary, #39424C);
    font-size: 12px;
}

.dbp-check span[b-r2l6ac4v0b] {
    min-width: 0;
}

.dbp-preview[b-r2l6ac4v0b] {
    padding: 8px;
    border: 1px dashed var(--lara-border, #D7DDE4);
    border-radius: 5px;
    background: #FAFBFC;
}

.dbp-preview-block[b-r2l6ac4v0b] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.dbp-chip-list[b-r2l6ac4v0b] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    min-width: 0;
}

.dbp-row-preview-list[b-r2l6ac4v0b] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 6px;
    min-width: 0;
}

.dbp-row-preview[b-r2l6ac4v0b] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    gap: 7px;
    align-items: center;
    min-width: 0;
    padding: 5px 7px;
    border: 1px solid var(--lara-border, #D7DDE4);
    border-radius: 5px;
    background: #FFFFFF;
    color: var(--lara-text-secondary, #5B6470);
    font-size: 11px;
    font-weight: 700;
}

.dbp-row-preview span[b-r2l6ac4v0b] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dbp-chip[b-r2l6ac4v0b] {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 3px 7px;
    border-radius: 999px;
    background: var(--lara-surface-header, #E1E6EB);
    color: var(--lara-text-secondary, #5B6470);
    font-size: 11px;
    font-weight: 700;
}

@media (max-width: 1050px) {
    .dbp-head[b-r2l6ac4v0b] {
        grid-template-columns: minmax(0, 1fr) auto auto 34px;
    }

    .dbp-state[b-r2l6ac4v0b] {
        display: none;
    }

    .dbp-row[b-r2l6ac4v0b],
    .dbp-row--header[b-r2l6ac4v0b],
    .dbp-limits[b-r2l6ac4v0b] {
        grid-template-columns: 1fr;
    }

    .dbp-row--header[b-r2l6ac4v0b] {
        display: none;
    }
}
/* /Features/Organizations/Components/PermissionsPanel.razor.rz.scp.css */
/* Authorization matrix — Approach 01 (Tabs + matrix grid). Tokens from lara-theme.css :root. */

.perm[b-n66ha9u7zu] {
    font-size: 13px;
    color: var(--lara-text-primary, #39424C);
}

/* ---------- toolbar (search + state filter) ---------- */
.perm-toolbar[b-n66ha9u7zu] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.perm-search[b-n66ha9u7zu] {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.perm-seg[b-n66ha9u7zu] {
    display: inline-flex;
    border: 1px solid var(--lara-border-light, #D6DCE0);
    border-radius: var(--lara-radius-sm, 3px);
    overflow: hidden;
}

.perm-seg button[b-n66ha9u7zu] {
    height: 30px;
    padding: 0 12px;
    background: #fff;
    border: none;
    border-right: 1px solid var(--lara-border-light, #D6DCE0);
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    color: var(--lara-text-secondary, #5B6470);
    cursor: pointer;
}

.perm-seg button:last-child[b-n66ha9u7zu] { border-right: none; }
.perm-seg button.on[b-n66ha9u7zu] {
    background: var(--lara-primary-light, rgba(65, 137, 241, 0.2));
    color: var(--lara-primary, #0C3D82);
}

/* ---------- presets ---------- */
.perm-presets[b-n66ha9u7zu] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.perm-presets__lbl[b-n66ha9u7zu] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--lara-text-muted, #939DA7);
}

.perm-preset[b-n66ha9u7zu] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 28px;
    padding: 0 12px;
    border: 1px solid var(--lara-border-light, #D6DCE0);
    border-radius: 12px;
    background: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    color: var(--lara-text-primary, #39424C);
    cursor: pointer;
}

.perm-preset:hover[b-n66ha9u7zu] {
    border-color: var(--lara-primary, #0C3D82);
    color: var(--lara-primary, #0C3D82);
}

.perm-preset__dot[b-n66ha9u7zu] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lara-text-muted, #939DA7);
}

.perm-preset.on[b-n66ha9u7zu] {
    background: var(--lara-primary, #0C3D82);
    border-color: var(--lara-primary, #0C3D82);
    color: #fff;
}

.perm-preset.on .perm-preset__dot[b-n66ha9u7zu] { background: #fff; }

/* ---------- legend ---------- */
.perm-legend[b-n66ha9u7zu] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 10px 14px;
    margin-bottom: 14px;
    background: var(--lara-surface-tint, #EFF2F5);
    border: 1px solid var(--lara-border-strong, #E7EBEE);
    border-radius: var(--lara-radius-sm, 3px);
    font-size: 12px;
    color: var(--lara-text-secondary, #5B6470);
}

.perm-legend .item[b-n66ha9u7zu] { display: flex; align-items: center; gap: 7px; }

/* ---------- global-scope tag ---------- */
.perm-g[b-n66ha9u7zu] {
    display: inline-flex;
    align-items: center;
    height: 15px;
    padding: 0 5px;
    border-radius: 7px;
    background: #EDE9FE;
    color: #6D28D9;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.5px;
}

/* ---------- swatches ---------- */
.sw[b-n66ha9u7zu] {
    width: 16px;
    height: 16px;
    border-radius: var(--lara-radius-sm, 3px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--lara-border-light, #D6DCE0);
    background: #fff;
    flex: none;
}

.sw .oi[b-n66ha9u7zu] { font-size: 9px; }
.sw--direct[b-n66ha9u7zu] { background: var(--lara-success, #34B416); border-color: var(--lara-success, #34B416); color: #fff; }
.sw--inherited[b-n66ha9u7zu] { background: #EAF1FB; border-color: #BBD3F2; color: var(--lara-primary, #0C3D82); }
.sw--baseline[b-n66ha9u7zu] { background: var(--lara-surface-header, #E1E6EB); border-color: var(--lara-border-light, #D6DCE0); color: var(--lara-text-muted, #939DA7); }
.sw--none[b-n66ha9u7zu] { background: #fff; border-color: var(--lara-border-light, #D6DCE0); }

/* ---------- matrix ---------- */
.perm-matrix-wrap[b-n66ha9u7zu] { overflow-x: auto; }

.perm-matrix[b-n66ha9u7zu] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}

.perm-matrix th[b-n66ha9u7zu],
.perm-matrix td[b-n66ha9u7zu] {
    text-align: center;
    border: 1px solid var(--lara-border-strong, #E7EBEE);
    padding: 0;
}

.perm-matrix thead th[b-n66ha9u7zu] {
    background: var(--lara-surface-header, #E1E6EB);
    height: 34px;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--lara-text-primary, #39424C);
}

.perm-matrix thead th.res-col[b-n66ha9u7zu] { text-align: left; padding-left: 12px; width: 150px; }
.perm-matrix thead th.other-col[b-n66ha9u7zu] { width: 38%; }

.perm-matrix tbody th[b-n66ha9u7zu] {
    text-align: left;
    padding: 0 12px;
    background: #fff;
    font-weight: 700;
    height: 40px;
}

.perm-matrix tbody th .res[b-n66ha9u7zu] { display: flex; align-items: center; gap: 8px; }

.perm-matrix tbody th .res .cnt[b-n66ha9u7zu] {
    margin-left: auto;
    font-size: 11px;
    font-weight: 700;
    color: var(--lara-text-muted, #939DA7);
    background: var(--lara-surface-tint, #EFF2F5);
    border-radius: 12px;
    padding: 1px 8px;
}

.perm-matrix tbody tr:hover th[b-n66ha9u7zu],
.perm-matrix tbody tr:hover td[b-n66ha9u7zu] { background: var(--lara-surface-secondary, rgba(239, 242, 245, 0.5)); }

.perm-matrix td[b-n66ha9u7zu] { height: 40px; }

.perm-matrix td.cell[b-n66ha9u7zu] { cursor: pointer; }
.perm-matrix td.cell.locked[b-n66ha9u7zu] { cursor: default; }
.perm-matrix td.cell:hover .sw--none[b-n66ha9u7zu] { border-color: var(--lara-success, #34B416); background: #EAF7E6; }

.perm-matrix td.na[b-n66ha9u7zu] {
    background: repeating-linear-gradient(45deg, #fff, #fff 4px, #FAFBFC 4px, #FAFBFC 8px);
    cursor: default;
}

.sw[b-n66ha9u7zu] { margin: 0 auto; }

/* ---------- "other operations" chips ---------- */
.perm-matrix td.other[b-n66ha9u7zu] { text-align: left; padding: 6px 10px; }

.other-chips[b-n66ha9u7zu] { display: flex; flex-wrap: wrap; gap: 6px; }

.other-chip[b-n66ha9u7zu] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 8px 2px 5px;
    border: 1px solid var(--lara-border-strong, #E7EBEE);
    border-radius: 12px;
    font-size: 11px;
    cursor: pointer;
}

.other-chip:hover[b-n66ha9u7zu] { border-color: var(--lara-primary, #0C3D82); }
.other-chip.locked[b-n66ha9u7zu] { cursor: default; }
.other-chip .sw[b-n66ha9u7zu] { margin: 0; }

/* ---------- action bar ---------- */
.perm-actions[b-n66ha9u7zu] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 14px;
    margin-top: 16px;
    border-top: 1px solid var(--lara-border-light, #D6DCE0);
}

.perm-actions__spacer[b-n66ha9u7zu] { flex: 1; }

.perm-dirty[b-n66ha9u7zu] {
    font-size: 12px;
    font-weight: 600;
    color: var(--lara-warning, #FF8800);
}

.perm-btn[b-n66ha9u7zu] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 14px;
    border-radius: var(--lara-radius-sm, 3px);
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid transparent;
    cursor: pointer;
    background: #fff;
}

.perm-btn .oi[b-n66ha9u7zu] { font-size: 11px; }

.perm-btn--primary[b-n66ha9u7zu] {
    background: var(--lara-success, #34B416);
    border-color: var(--lara-success, #34B416);
    color: #fff;
}

.perm-btn--primary:hover:not(:disabled)[b-n66ha9u7zu] { background: var(--lara-success-hover, #2DA214); border-color: var(--lara-success-hover, #2DA214); }

.perm-btn--danger[b-n66ha9u7zu] {
    background: #fff;
    border-color: var(--lara-danger, #FF0000);
    color: var(--lara-danger, #FF0000);
}

.perm-btn--danger:hover:not(:disabled)[b-n66ha9u7zu] { background: var(--lara-danger, #FF0000); color: #fff; }

.perm-btn:disabled[b-n66ha9u7zu] { opacity: 0.5; cursor: not-allowed; }
/* /Features/Organizations/Components/ServiceDurationRulesEditor.razor.rz.scp.css */
.service-duration-rules-editor[b-2yxc17unj6] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid var(--lara-border, #D7DDE4);
    border-radius: 6px;
    background: var(--lara-surface, #FFFFFF);
    min-width: 0;
}

.sdr-head[b-2yxc17unj6] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto 34px;
    gap: 8px;
    align-items: center;
    min-width: 0;
}

.sdr-heading[b-2yxc17unj6] {
    min-width: 0;
}

.sdr-title[b-2yxc17unj6] {
    font-size: 13px;
    font-weight: 700;
    color: var(--lara-text-primary, #39424C);
}

.sdr-key[b-2yxc17unj6] {
    margin-top: 1px;
    font-size: 11px;
    color: var(--lara-text-muted, #939DA7);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sdr-state[b-2yxc17unj6] {
    justify-self: end;
    padding: 2px 7px;
    border-radius: 999px;
    background: var(--lara-surface-header, #E1E6EB);
    color: var(--lara-text-secondary, #5B6470);
    font-size: 11px;
    font-weight: 700;
}

.sdr-button[b-2yxc17unj6],
.sdr-icon-button[b-2yxc17unj6] {
    height: 32px;
    border: 1px solid var(--lara-border, #D7DDE4);
    border-radius: 5px;
    background: #FFFFFF;
    color: var(--lara-text-primary, #39424C);
}

.sdr-button[b-2yxc17unj6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 10px;
    font-size: 12px;
    font-weight: 600;
}

.sdr-button--primary[b-2yxc17unj6] {
    background: var(--lara-primary, #0C3D82);
    border-color: var(--lara-primary, #0C3D82);
    color: #FFFFFF;
}

.sdr-icon-button[b-2yxc17unj6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    padding: 0;
    flex: none;
}

.sdr-button:disabled[b-2yxc17unj6],
.sdr-icon-button:disabled[b-2yxc17unj6] {
    opacity: 0.45;
    cursor: not-allowed;
}

.sdr-error[b-2yxc17unj6] {
    padding: 6px 8px;
    border-radius: 5px;
    background: #FDECEC;
    color: #A4262C;
    font-size: 12px;
}

.sdr-empty[b-2yxc17unj6] {
    padding: 8px;
    border: 1px dashed var(--lara-border, #D7DDE4);
    border-radius: 5px;
    color: var(--lara-text-muted, #939DA7);
    font-size: 12px;
}

.sdr-list[b-2yxc17unj6] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.sdr-rule[b-2yxc17unj6] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.sdr-row[b-2yxc17unj6] {
    display: grid;
    grid-template-columns:
        minmax(140px, 1.15fr)
        minmax(110px, 0.95fr)
        minmax(86px, 0.65fr)
        minmax(82px, 0.65fr)
        minmax(150px, 1.2fr)
        32px;
    gap: 8px;
    align-items: center;
    min-width: 0;
}

.sdr-details[b-2yxc17unj6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 8px;
    padding-left: 148px;
    min-width: 0;
}

.sdr-detail[b-2yxc17unj6] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.sdr-detail span[b-2yxc17unj6] {
    color: var(--lara-text-muted, #939DA7);
    font-size: 11px;
    font-weight: 700;
}

.sdr-row--header[b-2yxc17unj6] {
    color: var(--lara-text-muted, #939DA7);
    font-size: 11px;
    font-weight: 700;
}

.sdr-control[b-2yxc17unj6] {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 32px;
    padding: 4px 8px;
    border: 1px solid var(--lara-border, #D7DDE4);
    border-radius: 5px;
    color: var(--lara-text-primary, #39424C);
    background: #FFFFFF;
    font-size: 12px;
}

.sdr-type[b-2yxc17unj6] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.sdr-muted[b-2yxc17unj6],
.sdr-preview[b-2yxc17unj6] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--lara-text-secondary, #5B6470);
    font-size: 12px;
}

.sdr-muted[b-2yxc17unj6] {
    color: var(--lara-text-muted, #939DA7);
}

@media (max-width: 900px) {
    .sdr-head[b-2yxc17unj6] {
        grid-template-columns: minmax(0, 1fr) auto 34px;
    }

    .sdr-state[b-2yxc17unj6] {
        display: none;
    }

    .sdr-button[b-2yxc17unj6] {
        padding: 0 8px;
    }

    .sdr-row[b-2yxc17unj6],
    .sdr-row--header[b-2yxc17unj6] {
        grid-template-columns: minmax(120px, 1fr) minmax(110px, 1fr) 32px;
    }

    .sdr-row--header span:nth-child(3)[b-2yxc17unj6],
    .sdr-row--header span:nth-child(4)[b-2yxc17unj6],
    .sdr-row--header span:nth-child(5)[b-2yxc17unj6] {
        display: none;
    }

    .sdr-row > .sdr-control:nth-child(3)[b-2yxc17unj6],
    .sdr-row > .sdr-control:nth-child(4)[b-2yxc17unj6],
    .sdr-row > .sdr-muted[b-2yxc17unj6],
    .sdr-preview[b-2yxc17unj6] {
        grid-column: 1 / span 2;
    }

    .sdr-details[b-2yxc17unj6] {
        grid-template-columns: 1fr;
        padding-left: 0;
    }
}
/* /Features/Organizations/Pages/Organizations.razor.rz.scp.css */
/* Organization detail — Approach 01 (Tabs + matrix grid). Tokens from lara-theme.css :root. */

.org-detail[b-mnz2ak5e7v] {
    padding: 16px 20px;
    /* Fill the splitter pane (which has a resolved height) and lay out as a
       column so the active tab pane can flex to consume the remaining space. */
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* ---------- header ---------- */
.org-head[b-mnz2ak5e7v] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--lara-border-light, #D6DCE0);
}

.org-head__main[b-mnz2ak5e7v] { flex: 1; min-width: 0; }

.org-head__name[b-mnz2ak5e7v] {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.01em;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--lara-text-primary, #39424C);
}

.org-head__crumbs[b-mnz2ak5e7v] {
    font-size: 12px;
    color: var(--lara-text-muted, #939DA7);
    margin-top: 5px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.org-head__crumbs .oi[b-mnz2ak5e7v] { font-size: 8px; }
.org-head__crumbs .cur[b-mnz2ak5e7v] { color: var(--lara-text-primary, #39424C); font-weight: 600; }

.org-head__actions[b-mnz2ak5e7v] {
    display: flex;
    gap: 8px;
    flex: none;
    flex-wrap: wrap;
    justify-content: flex-end;
}

/* ---------- type chip ---------- */
.type-chip[b-mnz2ak5e7v] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.type-owner[b-mnz2ak5e7v] { background: #F3E8FF; color: #7C3AED; }
.type-sphere[b-mnz2ak5e7v] { background: #EAF1FB; color: var(--lara-primary, #0C3D82); }
.type-branch[b-mnz2ak5e7v] { background: #EAF7E6; color: var(--lara-success-active, #279115); }
.type-user[b-mnz2ak5e7v] { background: #FFF1E0; color: #B45309; }
.type-service[b-mnz2ak5e7v] { background: var(--lara-surface-tint, #EFF2F5); color: var(--lara-text-secondary, #5B6470); }

/* ---------- header buttons ---------- */
.org-btn[b-mnz2ak5e7v] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 14px;
    border-radius: var(--lara-radius-sm, 3px);
    font: inherit;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid transparent;
    background: #fff;
    cursor: pointer;
}

.org-btn .oi[b-mnz2ak5e7v] { font-size: 11px; }

.org-btn--secondary[b-mnz2ak5e7v] {
    border-color: var(--lara-border-light, #D6DCE0);
    color: var(--lara-text-primary, #39424C);
}

.org-btn--secondary:hover[b-mnz2ak5e7v] { border-color: var(--lara-primary, #0C3D82); color: var(--lara-primary, #0C3D82); }

.org-btn--danger[b-mnz2ak5e7v] {
    border-color: var(--lara-danger, #FF0000);
    color: var(--lara-danger, #FF0000);
}

.org-btn--danger:hover:not(:disabled)[b-mnz2ak5e7v] { background: var(--lara-danger, #FF0000); color: #fff; }
.org-btn:disabled[b-mnz2ak5e7v] { opacity: 0.45; cursor: not-allowed; }

/* ---------- tabs ---------- */
.org-tabs[b-mnz2ak5e7v] {
    display: flex;
    gap: 2px;
    border-bottom: 1px solid var(--lara-border-light, #D6DCE0);
    margin-bottom: 18px;
}

.org-tab[b-mnz2ak5e7v] {
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 600;
    color: var(--lara-text-secondary, #5B6470);
    border-bottom: 2px solid transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: -1px;
}

.org-tab:hover[b-mnz2ak5e7v] { color: var(--lara-text-primary, #39424C); }

.org-tab--active[b-mnz2ak5e7v] {
    color: var(--lara-primary, #0C3D82);
    border-bottom-color: var(--lara-primary, #0C3D82);
}

.org-tab__pill[b-mnz2ak5e7v] {
    background: var(--lara-surface-header, #E1E6EB);
    color: var(--lara-text-secondary, #5B6470);
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    padding: 1px 7px;
}

.org-tab--active .org-tab__pill[b-mnz2ak5e7v] {
    background: var(--lara-primary-light, rgba(65, 137, 241, 0.2));
    color: var(--lara-primary, #0C3D82);
}

/* ---------- panes ---------- */
.org-pane[b-mnz2ak5e7v] { display: none; }

/* The active pane consumes the height left after the head + tabs. Laying it out
   as a flex column gives its LaraGrid a resolved parent height, so the grid
   (whose .lara-grid-container is flex:1; min-height:0) stretches to fill the
   pane while the LaraGridToolbar keeps its natural height. */
.org-pane--active[b-mnz2ak5e7v] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    min-height: 0;
}

/* The settings LaraGrid is the flexible child; its toolbar stays natural height. */
.org-pane--active[b-mnz2ak5e7v]  .lara-grid-container {
    flex: 1;
    min-height: 0;
}

/* ---------- organization tree (Option B — full restyle) ---------- */
.org-tree[b-mnz2ak5e7v] { padding: 4px 2px; }

/* The node template content becomes a full-row pill. These selectors target
   elements authored in this component's NodeTemplate, so plain scoped CSS applies. */
.org-tree-node[b-mnz2ak5e7v] {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 13px;
    color: var(--lara-text-primary, #39424C);
}

.org-tree-node:hover[b-mnz2ak5e7v] { background: #F7F9FB; }

/* color-coded rounded icon chip per org-unit type */
.org-tree-node > i[b-mnz2ak5e7v] {
    width: 24px;
    height: 24px;
    border-radius: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    font-size: 13px;
}

.org-tree-node.type-owner > i[b-mnz2ak5e7v]  { background: #F3E8FF; color: #7C3AED; }
.org-tree-node.type-sphere > i[b-mnz2ak5e7v] { background: #EAF1FB; color: var(--lara-primary, #0C3D82); }
.org-tree-node.type-branch > i[b-mnz2ak5e7v] { background: #EAF7E6; color: #279115; }
.org-tree-node.type-user > i[b-mnz2ak5e7v]   { background: #FFF1E0; color: #B45309; }
.org-tree-node.type-service > i[b-mnz2ak5e7v]{ background: var(--lara-surface-tint, #EFF2F5); color: var(--lara-text-secondary, #5B6470); }

.org-tree-node__name[b-mnz2ak5e7v] { font-weight: 600; }
.org-tree-node__id[b-mnz2ak5e7v] { color: var(--lara-text-muted, #939DA7); font-weight: 400; margin-left: 2px; }

/* Neutralize DevExpress' own row highlight so our pill is the only selection cue.
   In DevExpress 25.2 (Fluent) the painted row surface is .dxbl-treeview-item-container
   — it carries `background-color: var(--dxbl-treeview-item-bg)` — and the SELECTED
   node is flagged with .dxbl-active on that *container*, NOT on .dxbl-treeview-item.
   (Targeting .dxbl-treeview-item.dxbl-active / [aria-selected] matched nothing, so the
   container kept DevExpress' solid-blue active fill and the dark node text on top of it
   was barely legible.) Zero the bg tokens so the container stays transparent in every
   state, leaving the .org-tree-node pill below as the only hover/selection cue. */
.org-tree[b-mnz2ak5e7v]  .dxbl-treeview {
    --dxbl-treeview-item-bg: transparent;
    --dxbl-treeview-item-hover-bg: transparent;
    --dxbl-treeview-item-active-bg: transparent;
    --dxbl-treeview-item-active-focused-bg: transparent;
}

.org-tree[b-mnz2ak5e7v]  .dxbl-treeview-item-container.dxbl-active .org-tree-node {
    background: var(--lara-primary-light, rgba(65, 137, 241, 0.18));
    box-shadow: inset 3px 0 0 var(--lara-primary, #0C3D82);
}

.org-tree[b-mnz2ak5e7v]  .dxbl-treeview-item-container.dxbl-active .org-tree-node__name {
    color: var(--lara-primary, #0C3D82);
}
/* /Features/Parties/Pages/Parties.razor.rz.scp.css */
.parties-page[b-82xhgszl2f] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.parties-chip-group[b-82xhgszl2f] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.parties-chip[b-82xhgszl2f] {
    font-size: 12px;
    padding: 5px 11px;
    border-radius: 6px;
    border: 1px solid #D6DCE0;
    background: #fff;
    color: #5B6470;
    cursor: pointer;
}

.parties-chip:hover[b-82xhgszl2f] {
    background: #EFF2F5;
}

.parties-chip.on[b-82xhgszl2f] {
    background: #E6F1FB;
    color: #0C3D82;
    border-color: #85B7EB;
    font-weight: 600;
}

/* Grid cell content is rendered by LaraGrid (a child component), so reach it with ::deep. */
[b-82xhgszl2f] .parties-name-cell {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

[b-82xhgszl2f] .parties-name {
    font-weight: 600;
    color: #0C3D82;
}

[b-82xhgszl2f] .parties-sub {
    font-size: 11px;
    color: #939DA7;
}

[b-82xhgszl2f] .parties-badge {
    font-size: 11px;
    padding: 2px 9px;
    border-radius: 50px;
    font-weight: 600;
    display: inline-block;
    line-height: 1.6;
}

[b-82xhgszl2f] .parties-badge.is-gray {
    background: #EEF1F4;
    color: #5B6470;
}

[b-82xhgszl2f] .parties-badge.is-green {
    background: #EAF3DE;
    color: #2E6B12;
}

[b-82xhgszl2f] .parties-num {
    font-variant-numeric: tabular-nums;
}
/* /Features/Parties/Pages/PartyDetail.razor.rz.scp.css */
.pd[b-7czs7kt3mm] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--lara-surface);
    /* Anchor for the create-mode bottom-right Create/Cancel action bar (.lara-action-popup). */
    position: relative;
}

.pd-empty[b-7czs7kt3mm] {
    padding: 40px;
    color: #5B6470;
    font-size: 14px;
}

.pd-readonly[b-7czs7kt3mm] {
    display: flex;
    align-items: center;
    min-height: 34px;
    font-size: 14px;
    color: #39424C;
}

.pd-hint[b-7czs7kt3mm] {
    font-size: 13px;
    color: #5B6470;
    padding: 8px 0;
}

/* ── Contacts ── */
.pd-contacts[b-7czs7kt3mm] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pd-contact-row[b-7czs7kt3mm] {
    display: grid;
    grid-template-columns: 1.4fr 1.6fr 1fr 1.4fr auto;
    gap: 8px;
    align-items: center;
}

.pd-input[b-7czs7kt3mm] {
    width: 100%;
    height: 34px;
    padding: 0 12px;
    border: 1px solid #D6DCE0;
    border-radius: 6px;
    background: #fff;
    color: #39424C;
    font-size: 14px;
}

.pd-input:focus[b-7czs7kt3mm] {
    outline: none;
    border-color: #85B7EB;
    box-shadow: 0 0 0 2px rgba(12, 61, 130, 0.12);
}

.pd-remove[b-7czs7kt3mm] {
    background: transparent;
    border: none;
    color: #939DA7;
    cursor: pointer;
    font-size: 13px;
    padding: 4px 6px;
    border-radius: 4px;
}

.pd-remove:hover[b-7czs7kt3mm] {
    color: #C62828;
    background: #FCEBEB;
}

.pd-add[b-7czs7kt3mm] {
    margin-top: 4px;
    background: transparent;
    border: 1px dashed #85B7EB;
    color: #0C3D82;
    border-radius: 6px;
    padding: 5px 11px;
    font-size: 12px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.pd-add:hover[b-7czs7kt3mm] {
    background: #E6F1FB;
}

/* ── Inbound import tab ── */
.pd-import[b-7czs7kt3mm] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 480px;
}

.pd-import-hint[b-7czs7kt3mm] {
    font-size: 12px;
    color: #5B6470;
    margin: 0;
}

.pd-import-field[b-7czs7kt3mm] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pd-import-field label[b-7czs7kt3mm] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #939DA7;
    font-weight: 600;
}

[b-7czs7kt3mm] .pd-import-input {
    width: 100%;
}

.pd-import-checkbox[b-7czs7kt3mm] {
    flex-direction: row;
    align-items: center;
}

.pd-import-actions[b-7czs7kt3mm] {
    display: flex;
    gap: 8px;
    margin-top: 4px;
}
/* /Features/Planning/Components/PlanningEditInspector.razor.rz.scp.css */
.plan-inspector[b-j7b3mc3qxa] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background: #fff;
}

.plan-inspector__empty[b-j7b3mc3qxa] {
    color: #8a8886;
    font-size: 12.5px;
    text-align: center;
    padding: 40px 18px;
    line-height: 1.6;
}

.plan-inspector__head[b-j7b3mc3qxa] {
    flex: none;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 11px 14px;
    border-bottom: 1px solid #edebe9;
    background: #f5f4f2;
}

.plan-inspector__head-text[b-j7b3mc3qxa] {
    min-width: 0;
}

.plan-inspector__title[b-j7b3mc3qxa] {
    font-size: 13.5px;
    font-weight: 700;
    color: #201f1e;
}

.plan-inspector__sub[b-j7b3mc3qxa] {
    font-size: 11.5px;
    color: #605e5c;
    margin-top: 1px;
}

.plan-inspector__x[b-j7b3mc3qxa] {
    margin-left: auto;
    flex: none;
    /* Center against the (possibly two-line) title block, not the head's flex-start. */
    align-self: center;
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 6px;
    background: #e6e4e1;
    color: #3b3a39;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    transition: background 0.12s ease, color 0.12s ease;
}

.plan-inspector__x:hover[b-j7b3mc3qxa] {
    background: #c0392b;
    color: #fff;
}

.plan-inspector__body[b-j7b3mc3qxa] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 10px 14px;
}

.plan-inspector__sec[b-j7b3mc3qxa] {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8a8886;
    margin: 12px 2px 6px;
}

.plan-inspector__sec:first-child[b-j7b3mc3qxa] {
    margin-top: 2px;
}

.plan-inspector__item[b-j7b3mc3qxa] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 4px;
    border-bottom: 1px solid #f3f2f1;
}

.plan-inspector__badge[b-j7b3mc3qxa] {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 700;
    font-size: 10.5px;
    flex: none;
}

.plan-inspector__badge--pool[b-j7b3mc3qxa] {
    width: 14px;
    height: 14px;
    border-radius: 2px;
    background: #c0392b;
    transform: rotate(45deg);
    box-shadow: 0 0 0 1.5px #fff;
}

.plan-inspector__item-l1[b-j7b3mc3qxa] {
    font-size: 12.5px;
    font-weight: 600;
    color: #201f1e;
}

.plan-inspector__item-l2[b-j7b3mc3qxa] {
    font-size: 11px;
    color: #605e5c;
    margin-top: 1px;
    font-variant-numeric: tabular-nums;
}

.plan-inspector__action[b-j7b3mc3qxa] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 8px;
    border: 0;
    border-bottom: 1px solid #f3f2f1;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #201f1e;
    text-align: left;
    cursor: pointer;
}

.plan-inspector__action:hover:not(:disabled)[b-j7b3mc3qxa] {
    background: #faf9f8;
}

.plan-inspector__action:disabled[b-j7b3mc3qxa] {
    opacity: 0.4;
    cursor: not-allowed;
}

.plan-inspector__action.begins-group[b-j7b3mc3qxa] {
    margin-top: 6px;
    border-top: 1px solid #edebe9;
}

.plan-inspector__action-ic[b-j7b3mc3qxa] {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    background: #e7f1e8;
    color: #216025;
    display: grid;
    place-items: center;
    font-size: 13px;
    flex: none;
}

.plan-inspector__action.is-destructive[b-j7b3mc3qxa] {
    color: #9c2c20;
}

.plan-inspector__action.is-destructive .plan-inspector__action-ic[b-j7b3mc3qxa] {
    background: #fbe9e7;
    color: #9c2c20;
}

.plan-inspector__chip[b-j7b3mc3qxa] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #e1dfdd;
    background: #faf9f8;
    border-radius: 7px;
    padding: 7px 11px;
    font-size: 12.5px;
    font-weight: 600;
}

.plan-inspector__sw[b-j7b3mc3qxa] {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    flex: none;
}

.plan-inspector__impact[b-j7b3mc3qxa] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.plan-inspector__cell[b-j7b3mc3qxa] {
    border: 1px solid #f3f2f1;
    border-radius: 8px;
    padding: 8px 10px;
    background: #faf9f8;
}

.plan-inspector__cell-k[b-j7b3mc3qxa] {
    font-size: 10px;
    color: #8a8886;
    text-transform: uppercase;
}

.plan-inspector__cell-v[b-j7b3mc3qxa] {
    font-size: 14px;
    font-weight: 700;
    margin-top: 1px;
    font-variant-numeric: tabular-nums;
}

.plan-inspector__cap[b-j7b3mc3qxa] {
    grid-column: 1 / 3;
    border: 1px solid #f3f2f1;
    border-radius: 8px;
    padding: 9px 10px;
    background: #faf9f8;
}

.plan-inspector__cap-row[b-j7b3mc3qxa] {
    display: flex;
    justify-content: space-between;
    font-size: 11.5px;
    color: #605e5c;
    margin-bottom: 5px;
}

.plan-inspector__cap-row b[b-j7b3mc3qxa] {
    color: #201f1e;
    font-variant-numeric: tabular-nums;
}

.plan-inspector__cap-bar[b-j7b3mc3qxa] {
    height: 8px;
    border-radius: 5px;
    background: #e6ebed;
    overflow: hidden;
}

.plan-inspector__cap-bar i[b-j7b3mc3qxa] {
    display: block;
    height: 100%;
    border-radius: 5px;
    background: #2e7d32;
}

.plan-inspector__cap-bar i.is-over[b-j7b3mc3qxa] {
    background: #c9930a;
}

.plan-inspector__foot[b-j7b3mc3qxa] {
    flex: none;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-top: 1px solid #edebe9;
    background: #faf9f8;
}

.plan-inspector__grow[b-j7b3mc3qxa] {
    flex: 1;
}

.plan-inspector__btn[b-j7b3mc3qxa] {
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 600;
    border-radius: 7px;
    padding: 8px 15px;
    cursor: pointer;
    border: 1px solid;
}

.plan-inspector__btn--confirm[b-j7b3mc3qxa] {
    background: #2e7d32;
    color: #fff;
    border-color: #216025;
}

.plan-inspector__btn--cancel[b-j7b3mc3qxa] {
    background: #fff;
    color: #9c2c20;
    border-color: #e6c9c9;
}

/* Picker sub-view (unit / route / stop selection). */
.plan-inspector__hint[b-j7b3mc3qxa] {
    font-size: 11.5px;
    color: #605e5c;
    line-height: 1.5;
    margin: 0 2px 8px;
}

.plan-inspector__search[b-j7b3mc3qxa] {
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 12.5px;
    padding: 7px 10px;
    margin-bottom: 6px;
    border: 1px solid #e1dfdd;
    border-radius: 7px;
    background: #faf9f8;
    color: #201f1e;
}

.plan-inspector__search:focus[b-j7b3mc3qxa] {
    outline: none;
    border-color: #2e7d32;
    background: #fff;
}

.plan-inspector__empty-list[b-j7b3mc3qxa] {
    color: #8a8886;
    font-size: 12px;
    text-align: center;
    padding: 22px 12px 10px;
}

/* Call-to-action under the empty picker message (e.g. add requests when the unit pool is empty). */
.plan-inspector__empty-cta[b-j7b3mc3qxa] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: fit-content;
    margin: 0 auto 10px;
    padding: 8px 14px;
    border: 1px solid #216025;
    border-radius: 7px;
    background: #e7f1e8;
    color: #216025;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.12s ease;
}

.plan-inspector__empty-cta:hover[b-j7b3mc3qxa] {
    background: #d8ecda;
}

.plan-inspector__pick[b-j7b3mc3qxa] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 6px;
    border: 0;
    border-bottom: 1px solid #f3f2f1;
    background: transparent;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
}

.plan-inspector__pick:hover[b-j7b3mc3qxa] {
    background: #faf9f8;
}

.plan-inspector__pick.is-selected[b-j7b3mc3qxa] {
    background: #eef6ef;
}

.plan-inspector__checkbox[b-j7b3mc3qxa] {
    width: 16px;
    height: 16px;
    flex: none;
    margin: 0;
    accent-color: #2e7d32;
    cursor: pointer;
}

/* "Select all" header row sits above the options and reads as a lighter, grouping row. */
.plan-inspector__pick--all[b-j7b3mc3qxa] {
    border-bottom: 1px solid #edebe9;
}

.plan-inspector__pick--all .plan-inspector__item-l1[b-j7b3mc3qxa] {
    color: #605e5c;
    font-weight: 700;
}

.plan-inspector__picktext[b-j7b3mc3qxa] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.plan-inspector__picktext .plan-inspector__item-l1[b-j7b3mc3qxa],
.plan-inspector__picktext .plan-inspector__item-l2[b-j7b3mc3qxa] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Features/Planning/Components/SplitRouteDialog.razor.rz.scp.css */
.split-route[b-rnvypoxgmy] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.split-route__hint[b-rnvypoxgmy] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--lara-text-muted, #605e5c);
}

.split-route__list[b-rnvypoxgmy] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--lara-border, #e6e3e0);
    border-radius: 6px;
    padding: 4px 0;
    max-height: 45vh;
    overflow-y: auto;
}

.split-route__stop[b-rnvypoxgmy] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 12px;
    font-size: 0.85rem;
}

.split-route__stop-num[b-rnvypoxgmy] {
    flex: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #3b82f6;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.split-route__stop--tail .split-route__stop-num[b-rnvypoxgmy] {
    background: #10b981;
}

.split-route__stop-roles[b-rnvypoxgmy] {
    font-family: var(--lara-mono, Consolas, monospace);
    font-size: 0.75rem;
    color: var(--lara-text-muted, #605e5c);
    flex: none;
}

.split-route__stop-name[b-rnvypoxgmy] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.split-route__stop-unit[b-rnvypoxgmy] {
    flex: none;
    font-family: var(--lara-mono, Consolas, monospace);
    font-size: 0.72rem;
    color: var(--lara-text-faint, #8a8886);
}

.split-route__stop-eta[b-rnvypoxgmy] {
    flex: none;
    font-variant-numeric: tabular-nums;
    font-size: 0.78rem;
    color: var(--lara-text-muted, #605e5c);
}

.split-route__cut[b-rnvypoxgmy] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 2px 12px;
    background: none;
    border: none;
    width: 100%;
    cursor: pointer;
}

.split-route__cut-line[b-rnvypoxgmy] {
    flex: 1;
    border-top: 2px dashed #34b416;
}

.split-route__cut-pill[b-rnvypoxgmy] {
    flex: none;
    font-size: 0.72rem;
    font-weight: 700;
    color: #fff;
    background: #34b416;
    border-radius: 999px;
    padding: 2px 11px;
}

.split-route__cut--picked .split-route__cut-pill[b-rnvypoxgmy] {
    background: #ff6b00;
}

.split-route__cut--picked .split-route__cut-line[b-rnvypoxgmy] {
    border-top-style: solid;
    border-top-color: #ff6b00;
}

.split-route__cut--blocked[b-rnvypoxgmy] {
    cursor: default;
}

.split-route__cut--blocked .split-route__cut-line[b-rnvypoxgmy] {
    border-top: 1px dashed var(--lara-border, #e6e3e0);
}

.split-route__cut--blocked .split-route__cut-pill[b-rnvypoxgmy] {
    background: var(--lara-surface-muted, #f5f4f2);
    color: var(--lara-text-faint, #8a8886);
    border: 1px solid var(--lara-border, #edebe9);
    font-weight: 600;
}

.split-route__vehicle[b-rnvypoxgmy] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.split-route__none[b-rnvypoxgmy] {
    font-size: 0.85rem;
    color: #c0392b;
}

.split-route__summary[b-rnvypoxgmy] {
    font-size: 0.8rem;
    color: var(--lara-text-muted, #605e5c);
}
/* /Features/Planning/Components/ViolationsRibbonIndicator.razor.rz.scp.css */
.violations-trigger-wrapper[b-1rrxsu851i] {
    display: inline-flex;
    align-items: center;
}

.violations-trigger[b-1rrxsu851i] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 4px 8px;
    background: transparent;
    border: none;
    cursor: pointer;
    color: #2563eb;
    font-weight: 500;
}

.violations-trigger:hover[b-1rrxsu851i] {
    color: #1d4ed8;
}

.violations-trigger-text .violations-count-text[b-1rrxsu851i] {
    text-decoration: underline;
}

.violations-dot[b-1rrxsu851i] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Severity palette shared with the top-bar notifications (lara-theme.css) so the
   two surfaces match: error = red, warning-family = orange, info = blue. */
.violations-dot--fatal[b-1rrxsu851i] {
    background-color: #E03434;
}

.violations-dot--supervised[b-1rrxsu851i],
.violations-dot--soft[b-1rrxsu851i],
.violations-dot--warning[b-1rrxsu851i] {
    background-color: #F28A13;
}

.violations-dot--info[b-1rrxsu851i] {
    background-color: #1976D2;
}

.violations-bell-wrapper[b-1rrxsu851i] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #374151;
    font-size: 1.1em;
}

.violations-bell-dot[b-1rrxsu851i] {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-sizing: content-box;
}

.violations-chevron[b-1rrxsu851i] {
    color: #9ca3af;
    font-size: 0.7em;
}

.violations-popup[b-1rrxsu851i] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px 4px;
    min-width: 320px;
}

.violations-section[b-1rrxsu851i] {
    display: flex;
    flex-direction: column;
    padding: 8px 4px;
}

.violations-section + .violations-section[b-1rrxsu851i] {
    border-top: 1px solid #e5e7eb;
    margin-top: 4px;
}

.violations-section-header[b-1rrxsu851i] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px 8px;
    color: #6b7280;
    font-size: 0.85em;
    font-weight: 500;
    text-transform: none;
}

.violations-section-suppressed[b-1rrxsu851i] {
    opacity: 0.7;
}

.violations-row[b-1rrxsu851i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 8px;
    cursor: pointer;
    border-radius: 4px;
}

.violations-row:hover[b-1rrxsu851i] {
    background: #f9fafb;
}

.violations-row:focus-visible[b-1rrxsu851i] {
    outline: 2px solid #2563eb;
    outline-offset: -2px;
    background: #f9fafb;
}

.violations-row-text[b-1rrxsu851i] {
    color: #111827;
    font-weight: 500;
    flex: 1;
}

.violations-row-count[b-1rrxsu851i] {
    color: #6b7280;
    font-weight: 400;
    margin-left: 4px;
}

.violations-row-chevron[b-1rrxsu851i] {
    color: #9ca3af;
    font-size: 0.7em;
    flex-shrink: 0;
}

.violations-row:hover .violations-row-chevron[b-1rrxsu851i],
.violations-row:focus-visible .violations-row-chevron[b-1rrxsu851i] {
    color: #2563eb;
}
/* /Features/Planning/Pages/PlanningSessionDetailView.razor.rz.scp.css */
/* The LaraFormLayout host fills the remaining flex column space and clips its overflow so
   inner Star-sized grids and the tab control resolve "h-100" against a definite height
   (otherwise content grows unbounded and pushes siblings past the viewport). */
.planning-detail-layout-host[b-tpa6h02nci] {
    flex: 1 1 0;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.solving-window-body[b-tpa6h02nci] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.solving-progress[b-tpa6h02nci] {
    position: relative;
    width: 100%;
    height: 7px;
    overflow: hidden;
    background: #e9eef5;
    border-radius: 999px;
}

.solving-progress-bar[b-tpa6h02nci] {
    height: 100%;
    background: #1976d2;
    border-radius: inherit;
    transition: width 180ms ease;
}

.solving-metrics[b-tpa6h02nci] {
    width: max-content;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.solving-metric[b-tpa6h02nci] {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    padding: 3px 7px;
    background: rgba(25, 118, 210, 0.08);
    border: 1px solid rgba(25, 118, 210, 0.16);
    border-radius: 6px;
    color: #1d3557;
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
}

.solving-metric-label[b-tpa6h02nci] {
    color: #586579;
    font-weight: 500;
}

/* Drag handle on unserved planning units — drag onto a route to load. */
.lara-edit-drag-grip[b-tpa6h02nci] {
    cursor: grab;
    color: #8a8886;
    font-size: 15px;
    letter-spacing: -2px;
    user-select: none;
}

.lara-edit-drag-grip:active[b-tpa6h02nci] {
    cursor: grabbing;
}

/* Reorder mode — page-owned flex host that soaks up the space left by the toolbar so the tile
   view resolves its 100% height against a definite box and scrolls internally instead of
   overflowing the flex-column cell (which clips it and hides the scrollbar). */
.stop-reorder-list[b-tpa6h02nci] {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* The tile view is a flex child here. Its default min-height:auto (= min-content of every stop
   row) otherwise overrides its own height:100%, so it grows to fit all rows and its overflow:auto
   never engages — the list spills past the cell and gets clipped with no scrollbar. Clamp it to
   the host height so the tile view scrolls internally in reorder mode. */
.stop-reorder-list[b-tpa6h02nci]  .lara-tileview {
    flex: 1 1 0;
    min-height: 0;
    /* Each .lara-tile sets overflow:hidden, which gives grid items a 0 automatic minimum size.
       Once the grid is clamped to a definite height (above), the implicit grid-auto-rows:auto
       tracks collapse to share that height — 25 stop rows squeeze to ~8px each, so nothing
       overflows and no scrollbar appears. Pin the rows to their natural content height so the
       list overflows and the tile view's overflow:auto produces the vertical scrollbar. */
    grid-auto-rows: max-content;
}

/* Reorder mode — a stop row inside the sortable LaraTileView list. */
.stop-reorder-row[b-tpa6h02nci] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 34px;
    padding: 8px 10px;
    font-size: 12.5px;
}

.stop-reorder-grip[b-tpa6h02nci] {
    cursor: grab;
    color: #8a8886;
    font-size: 15px;
    letter-spacing: -2px;
    user-select: none;
}

.stop-reorder-grip:active[b-tpa6h02nci] {
    cursor: grabbing;
}

.stop-reorder-seq[b-tpa6h02nci] {
    min-width: 22px;
    font-weight: 700;
    color: #201f1e;
    font-variant-numeric: tabular-nums;
}

.stop-reorder-eta[b-tpa6h02nci] {
    flex: 1;
    color: #3a4550;
    font-variant-numeric: tabular-nums;
}

.stop-reorder-ops[b-tpa6h02nci] {
    color: #8a8886;
    font-size: 11px;
}
/* /Features/Planning/Pages/RouteDetail.razor.rz.scp.css */
/* Handling activities rendered inside an expanded stop's detail row. */
.route-handlings[b-yg8fg6xxtt] {
    padding: 6px 10px 8px 38px;
}

.route-handlings-empty[b-yg8fg6xxtt] {
    font-size: 12px;
    font-style: italic;
    color: #6c757d;
    padding: 4px 0;
}

.route-handlings-table[b-yg8fg6xxtt] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
}

    .route-handlings-table thead th[b-yg8fg6xxtt] {
        text-align: left;
        font-weight: 500;
        color: #6c757d;
        font-size: 11px;
        padding: 5px 10px;
        border-bottom: 1px solid #e0e0e0;
        background: #f8f9fa;
    }

    .route-handlings-table tbody td[b-yg8fg6xxtt] {
        padding: 5px 10px;
        border-top: 1px solid #f0f0f0;
        vertical-align: middle;
    }

.route-handlings-actions-col[b-yg8fg6xxtt] {
    width: 96px;
}

.route-handlings-actions[b-yg8fg6xxtt] {
    text-align: right;
    white-space: nowrap;
}

/* StopRole badge. Colors mirror the planning mockups: pickup=blue, delivery=coral,
   service=purple, through=amber. */
.role-badge[b-yg8fg6xxtt] {
    display: inline-block;
    font-size: 11px;
    line-height: 1.4;
    padding: 1px 8px;
    border-radius: 10px;
    white-space: nowrap;
}

.role-pickup[b-yg8fg6xxtt] {
    background: #e6f1fb;
    color: #0c447c;
}

.role-delivery[b-yg8fg6xxtt] {
    background: #faece7;
    color: #712b13;
}

.role-service[b-yg8fg6xxtt] {
    background: #eeedfe;
    color: #3c3489;
}

.role-through[b-yg8fg6xxtt] {
    background: #faeeda;
    color: #633806;
}

/* Per-handling action buttons (move up/down, remove). */
.route-handling-action[b-yg8fg6xxtt] {
    border: none;
    background: transparent;
    color: #495057;
    cursor: pointer;
    padding: 2px 5px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1;
}

    .route-handling-action:hover:not(:disabled)[b-yg8fg6xxtt] {
        background: #e9ecef;
    }

    .route-handling-action:disabled[b-yg8fg6xxtt] {
        color: #c4c8cc;
        cursor: default;
    }

.route-handling-action--danger:hover:not(:disabled)[b-yg8fg6xxtt] {
    background: #f8d7da;
    color: #dc2626;
}
/* /Features/Requests/Pages/Requests.razor.rz.scp.css */

/* /Features/Requests/RequestTimeWindowsBoard.razor.rz.scp.css */
/* Weekly time-windows board. Renders inline in the request detail form (not a popup portal), so
   scoped CSS applies. Colours come from the global --lara-* design tokens. */

.tw-board[b-ttfldsqwln] {
    border: 1px solid var(--lara-border-light);
    border-radius: var(--lara-radius-md);
    background: var(--lara-surface);
    overflow: hidden;
}

.tw-head[b-ttfldsqwln] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 16px;
    border-bottom: 1px solid var(--lara-border-strong);
    background: linear-gradient(0deg, var(--lara-surface-secondary), var(--lara-surface));
}

.tw-title[b-ttfldsqwln] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--lara-text-primary);
}

.tw-count[b-ttfldsqwln] {
    font-size: 11.5px;
    font-weight: 600;
    color: var(--lara-text-muted);
    background: var(--lara-surface-secondary);
    border: 1px solid var(--lara-border-strong);
    border-radius: var(--lara-radius-pill);
    padding: 1px 8px;
    font-variant-numeric: tabular-nums;
}

.tw-head-actions[b-ttfldsqwln] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.tw-toggle[b-ttfldsqwln] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--lara-text-secondary);
    cursor: pointer;
    user-select: none;
}

.tw-toggle input[b-ttfldsqwln] {
    accent-color: var(--lara-primary);
    cursor: pointer;
}

.tw-btn[b-ttfldsqwln] {
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    border-radius: var(--lara-radius-md);
    padding: 7px 13px;
    border: 1px solid transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    line-height: 1;
}

.tw-btn-add[b-ttfldsqwln] {
    background: var(--lara-success);
    color: #fff;
}

.tw-btn-add:hover[b-ttfldsqwln] {
    background: var(--lara-success-hover);
}

.tw-ico[b-ttfldsqwln] {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
}

/* day rows */
.tw-day-row[b-ttfldsqwln] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--lara-border-strong);
}

.tw-day-row:last-child[b-ttfldsqwln] {
    border-bottom: none;
}

.tw-day-row.is-today[b-ttfldsqwln] {
    background: var(--lara-primary-light);
    box-shadow: inset 3px 0 0 var(--lara-primary);
}

.tw-day-row.is-weekend .tw-day-name[b-ttfldsqwln] {
    color: var(--lara-text-muted);
}

.tw-day-meta[b-ttfldsqwln] {
    flex: 0 0 116px;
    padding-top: 4px;
}

.tw-day-name[b-ttfldsqwln] {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--lara-text-primary);
}

.tw-today[b-ttfldsqwln] {
    font-size: 10px;
    font-weight: 700;
    color: var(--lara-primary);
    margin-left: 6px;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.tw-day-count[b-ttfldsqwln] {
    display: block;
    font-size: 11px;
    color: var(--lara-text-muted);
    margin-top: 1px;
    font-variant-numeric: tabular-nums;
}

.tw-slots[b-ttfldsqwln] {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    min-height: 30px;
}

.tw-closed[b-ttfldsqwln] {
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    color: var(--lara-text-muted);
}

/* pill */
.tw-pill[b-ttfldsqwln] {
    position: relative;
    display: inline-flex;
    background: var(--lara-primary-light);
    border: 1px solid var(--lara-primary-light);
    border-radius: var(--lara-radius-pill);
    transition: border-color .12s, box-shadow .12s, background .12s;
}

.tw-pill:hover[b-ttfldsqwln],
.tw-pill:focus-within[b-ttfldsqwln] {
    background: var(--lara-surface);
    border-color: var(--lara-primary);
    box-shadow: 0 1px 4px rgba(var(--lara-primary-rgb), .18);
}

.tw-pill.is-overnight[b-ttfldsqwln] {
    box-shadow: inset 3px 0 0 var(--lara-warning);
}

.tw-pill-body[b-ttfldsqwln] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    padding: 6px 36px 6px 12px;
    border-radius: var(--lara-radius-pill);
    color: var(--lara-primary);
}

.tw-pill-body:focus-visible[b-ttfldsqwln] {
    outline: 2px solid var(--lara-primary);
    outline-offset: 1px;
}

.tw-rng[b-ttfldsqwln] {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .2px;
    font-variant-numeric: tabular-nums;
}

.tw-dur[b-ttfldsqwln] {
    font-size: 11px;
    color: var(--lara-text-secondary);
    font-weight: 500;
}

.tw-pill-acts[b-ttfldsqwln] {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    display: flex;
    gap: 3px;
    opacity: 0;
    transition: opacity .12s;
}

.tw-pill:hover .tw-pill-acts[b-ttfldsqwln],
.tw-pill:focus-within .tw-pill-acts[b-ttfldsqwln] {
    opacity: 1;
}

.tw-pact[b-ttfldsqwln] {
    width: 18px;
    height: 18px;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--lara-text-secondary);
    background: rgba(255, 255, 255, .7);
    padding: 0;
}

.tw-pact .tw-ico[b-ttfldsqwln] {
    width: 12px;
    height: 12px;
}

.tw-pact:hover[b-ttfldsqwln] {
    color: var(--lara-primary);
}

.tw-pact.tw-del:hover[b-ttfldsqwln] {
    background: var(--lara-danger);
    color: #fff;
}

/* contextual per-day add */
.tw-add-slot[b-ttfldsqwln] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font: inherit;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--lara-primary);
    background: transparent;
    border: 1px dashed var(--lara-border-light);
    border-radius: var(--lara-radius-pill);
    padding: 6px 11px;
    cursor: pointer;
}

.tw-add-slot:hover[b-ttfldsqwln] {
    border-color: var(--lara-primary);
    background: var(--lara-primary-light);
}

.tw-add-slot .tw-ico[b-ttfldsqwln] {
    width: 12px;
    height: 12px;
}

/* touch / coarse pointers have no hover: keep row actions always visible */
@media (hover: none) {
    .tw-pill-acts[b-ttfldsqwln] {
        opacity: 1;
    }
}
/* /Features/Requests/StopTasksPanel.razor.rz.scp.css */
/* Tasks are rendered with a LaraGrid hosted in a LaraFormGrid element; the grid, its toolbar title,
   and the empty (no-data) state are all styled by the grid framework. No panel-specific CSS needed. */
/* /Layout/LaraNavMenuItem.razor.rz.scp.css */
/* ==========================================================================
   LaraNavMenuItem — single nav row (+ recursive children)
   Zeplin reference: screen 69d63231156414d6df921936
   ========================================================================== */

.lara-nav-item[b-fb3wq6fjy8] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ---- Clickable row (icon + label + chevron) ------------------------------ */
/* Zeplin: 41px tall, 8px horizontal inset, 3px radius, 700 weight, dark text */
.lara-nav-row[b-fb3wq6fjy8] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 24px;
    padding: 6px 8px;
    margin: 2px 0;
    border-radius: 3px;
    color: var(--lara-text-primary);
    font-family: 'proxima-nova', sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    cursor: pointer;
    user-select: none;
    transition: background-color 120ms, color 120ms;
    outline: none;
    box-sizing: border-box;
    min-width: 0;
}

.lara-nav-row:focus-visible[b-fb3wq6fjy8] {
    box-shadow: 0 0 0 2px rgba(var(--lara-primary-rgb), 0.25);
}

/* Zeplin: hover shows subtle gray pill, icon turns blue */
.lara-nav-row:hover[b-fb3wq6fjy8] {
    background: rgba(244, 245, 247, 0.6);
}

.lara-nav-row:hover .lara-nav-icon[b-fb3wq6fjy8] {
    color: var(--lara-primary-hover);
}

/* ---- Icon (left) --------------------------------------------------------- */
.lara-nav-icon[b-fb3wq6fjy8] {
    width: 16px;
    height: 16px;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: inherit;
}

/* ---- Label (wraps to as many lines as needed — no truncation) ----------- */
.lara-nav-label[b-fb3wq6fjy8] {
    flex: 1 1 0;
    min-width: 0;
    color: inherit;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
}

/* ---- Chevron (right) ----------------------------------------------------- */
.lara-nav-chevron[b-fb3wq6fjy8] {
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    position: relative;
    color: var(--lara-text-muted);
    transition: transform 150ms;
}

.lara-nav-chevron[b-fb3wq6fjy8]::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 6px;
    height: 6px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(-45deg);
    transition: transform 150ms;
}

.lara-nav-item--expanded > .lara-nav-row .lara-nav-chevron[b-fb3wq6fjy8]::before {
    transform: rotate(45deg);
    top: 0;
    left: 1px;
}

/* ---- Active (matches current URL) — Zeplin: light gray pill + blue icon - */
.lara-nav-item--active > .lara-nav-row[b-fb3wq6fjy8] {
    background: #F4F5F7;
    color: var(--lara-text-primary);
    font-weight: 700;
}

.lara-nav-item--active > .lara-nav-row .lara-nav-icon[b-fb3wq6fjy8] {
    color: var(--lara-primary-hover);
}

.lara-nav-item--active > .lara-nav-row:hover[b-fb3wq6fjy8] {
    background: #EEF0F3;
    color: var(--lara-text-primary);
}

.lara-nav-item--active > .lara-nav-row .lara-nav-chevron[b-fb3wq6fjy8] {
    color: var(--lara-text-primary);
}

/* ---- Children container (indented) -------------------------------------- */
.lara-nav-children[b-fb3wq6fjy8] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* Option D — left accent bar: a 2px #E1E6EB border on the children container
   visually groups nested items as a block under their parent. Applies only
   when the parent is expanded in the normal (non-minimized) rail. */
.lara-nav-item--expanded:not(.lara-nav-item--minimized) > .lara-nav-children[b-fb3wq6fjy8] {
    margin: 2px 0 4px 15px;
    padding: 2px 0 2px 10px;
    border-left: 2px solid #E1E6EB;
}

.lara-nav-children .lara-nav-row[b-fb3wq6fjy8] {
    padding-left: 24px;
    min-height: 24px;
    font-weight: 500;
    color: var(--lara-text-secondary);
}

/* Inside the accent-bar block, rows sit flush-left against the bar (the
   bar replaces the old indentation) so the visual indent comes from the
   border, not padding. */
.lara-nav-item--expanded:not(.lara-nav-item--minimized) > .lara-nav-children > .lara-nav-item > .lara-nav-row[b-fb3wq6fjy8] {
    padding-left: 14px;
    margin-left: 0;
    margin-right: 0;
    border-radius: 4px;
}

/* Nested items have no icon in Zeplin submenu */
.lara-nav-children .lara-nav-icon[b-fb3wq6fjy8] {
    display: none;
}

.lara-nav-children .lara-nav-row:hover[b-fb3wq6fjy8] {
    color: var(--lara-primary);
}

.lara-nav-children .lara-nav-item--active > .lara-nav-row[b-fb3wq6fjy8] {
    background: #F4F5F7;
    color: var(--lara-text-primary);
    font-weight: 700;
}

/* ---- Minimized mode (icon-only rail + hover flyout) --------------------- */
.lara-nav-item--minimized[b-fb3wq6fjy8] {
    width: auto;
    position: relative;
}

.lara-nav-item--minimized > .lara-nav-row[b-fb3wq6fjy8] {
    justify-content: center;
    padding: 0;
    gap: 0;
    width: 40px;
}

.lara-nav-item--minimized > .lara-nav-row .lara-nav-label[b-fb3wq6fjy8],
.lara-nav-item--minimized > .lara-nav-row .lara-nav-chevron[b-fb3wq6fjy8] {
    display: none;
}

/* Children of a minimized parent render as a hover flyout. Sits flush against
   the rail (left: 100%) so there is no hover-gap to cross — visual gap is
   created instead by the flyout's own left margin/padding. */
.lara-nav-item--minimized > .lara-nav-children[b-fb3wq6fjy8] {
    display: none;
    position: absolute;
    left: 100%;
    top: 0;
    margin-left: 4px;
    min-width: 200px;
    padding: 6px 0;
    background: var(--lara-surface);
    border: 1px solid var(--lara-border-light);
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
    z-index: 1000;
}

/* Invisible bridge over the 4px gap so moving the cursor from the rail into
   the flyout does not break :hover. */
.lara-nav-item--minimized > .lara-nav-children[b-fb3wq6fjy8]::before {
    content: '';
    position: absolute;
    top: 0;
    left: -4px;
    width: 4px;
    height: 100%;
}

/* Hover-only flyout: using :focus-within would keep the flyout open after a
   click leaves focus on the parent's row, so a second flyout could appear when
   hovering a sibling. Restricting the trigger to :hover guarantees that at most
   one flyout is ever visible. */
.lara-nav-item--minimized:hover > .lara-nav-children[b-fb3wq6fjy8] {
    display: flex;
    flex-direction: column;
}

/* Header inside flyout — shows the parent's label so user knows context */
.lara-nav-flyout-header[b-fb3wq6fjy8] {
    padding: 6px 14px 8px;
    margin: 0 6px 4px;
    border-bottom: 1px solid var(--lara-border-light);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--lara-text-muted);
}

/* Flyout children use normal (non-indented) padding since there's no icon column above them */
.lara-nav-item--minimized > .lara-nav-children > .lara-nav-item > .lara-nav-row[b-fb3wq6fjy8] {
    padding-left: 14px;
}
/* /Layout/NavMenu.razor.rz.scp.css */
/* ==========================================================================
   NavMenu — outer nav container (renders LaraNavMenuItem children)
   ========================================================================== */

.lara-nav[b-1gq64hil8g] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    padding: 6px 0;
    background: var(--lara-surface);
    font-family: 'proxima-nova', sans-serif;
    overflow-x: hidden;
    overflow-y: auto;
}

.lara-nav--minimized[b-1gq64hil8g] {
    align-items: center;
    /* Allow hover flyouts to escape the narrow rail horizontally */
    overflow-x: visible;
    overflow-y: visible;
}

/* Thin scrollbar when content overflows vertically */
.lara-nav[b-1gq64hil8g]::-webkit-scrollbar {
    width: 4px;
}
.lara-nav[b-1gq64hil8g]::-webkit-scrollbar-thumb {
    background: var(--lara-border-light);
    border-radius: 2px;
}
.lara-nav[b-1gq64hil8g]::-webkit-scrollbar-track {
    background: transparent;
}
