@import '_content/TD.UI.Components/TD.UI.Components.imdnbwu2ub.bundle.scp.css';

/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-r3fpmh2anp] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-r3fpmh2anp] {
    flex: 1;
}

.sidebar[b-r3fpmh2anp] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-r3fpmh2anp] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-r3fpmh2anp]  a, .top-row[b-r3fpmh2anp]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-r3fpmh2anp]  a:hover, .top-row[b-r3fpmh2anp]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-r3fpmh2anp]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-r3fpmh2anp] {
        justify-content: space-between;
    }

    .top-row[b-r3fpmh2anp]  a, .top-row[b-r3fpmh2anp]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-r3fpmh2anp] {
        flex-direction: row;
    }

    .sidebar[b-r3fpmh2anp] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-r3fpmh2anp] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-r3fpmh2anp]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-r3fpmh2anp], article[b-r3fpmh2anp] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-r3fpmh2anp] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-r3fpmh2anp] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

.oc-actionbar[b-r3fpmh2anp] {
    position: sticky;
    bottom: 0;
    padding: .75rem 1rem;
    background: var(--bs-body-bg);
    border-top: 1px solid var(--bs-border-color);
    z-index: 1;
}

/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-ijvdelrbvi] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-ijvdelrbvi] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-ijvdelrbvi] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-ijvdelrbvi] {
    font-size: 1.1rem;
}

.bi[b-ijvdelrbvi] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-ijvdelrbvi] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-ijvdelrbvi] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-ijvdelrbvi] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-ijvdelrbvi] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-ijvdelrbvi] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-ijvdelrbvi] {
        padding-bottom: 1rem;
    }

    .nav-item[b-ijvdelrbvi]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-ijvdelrbvi]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-ijvdelrbvi]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-ijvdelrbvi] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-ijvdelrbvi] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-ijvdelrbvi] {
        display: none;
    }

    .nav-scrollable[b-ijvdelrbvi] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/Sidenav.razor.rz.scp.css */
/* The last menu item used to sit flush against the bottom of the scroll area, which made it
   look clipped and left nothing to grab when scrolling to the end. */
.side-nav[b-h343j4amzc] {
    padding-bottom: 2.5rem;
}

/* In the icon-only sidebar the theme hides the area titles (Sales, Operations, Fleet…)
   entirely, leaving one long undivided column of icons. Keep them, but as thin rules
   instead of text, so the areas still read as groups. */
html[data-sidenav-size="condensed"]:not([data-layout="topnav"]) .side-nav-title[b-h343j4amzc] {
    display: block;
    height: 0;
    padding: 0;
    margin: .6rem 1rem !important;
    overflow: hidden;
    font-size: 0;
    line-height: 0;
    border-top: 1px solid var(--osen-border-color);
}

/* No rule above the very first area. */
html[data-sidenav-size="condensed"]:not([data-layout="topnav"]) .side-nav > .side-nav-title:first-child[b-h343j4amzc] {
    display: none;
}

.dispatch-attention-strip[b-h343j4amzc] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-left: auto;
    margin-right: 2px;
    flex: 0 0 auto;
}

.dispatch-attention-segment[b-h343j4amzc] {
    display: block;
    width: 12px;
    height: 4px;
    border-radius: 999px;
}

.dispatch-attention-segment.rental[b-h343j4amzc] {
    background-color: #f7b84b;
    box-shadow: 0 0 5px rgba(247, 184, 75, 0.55);
}

.dispatch-attention-segment.operation-report[b-h343j4amzc] {
    background-color: #f06548;
    box-shadow: 0 0 5px rgba(240, 101, 72, 0.55);
}

.dispatch-attention-segment.no-show[b-h343j4amzc] {
    background-color: #fd7e14;
    box-shadow: 0 0 5px rgba(253, 126, 20, 0.55);
}
/* /Components/Pages/Accounting/AccountingDashboard.razor.rz.scp.css */
/* Accounting dashboard on Trip Desk UI: the few things td-ui.css doesn't have. */

/* Needs attention: one line per kind of thing, marked when there is something (as on Executive Overview). */
.ad-attn[b-att10b9dgb] { display: flex; flex-direction: column; }
.ad-attn-row[b-att10b9dgb] { display: flex; align-items: center; gap: .6rem; padding: .45rem .5rem; margin: 0 -.5rem; border-radius: var(--td-radius-md); font-size: .8125rem; color: var(--td-muted); text-decoration: none; }
.ad-attn-row:hover[b-att10b9dgb] { background: var(--td-surface-2); color: var(--td-emphasis); }
.ad-attn-row .ti[b-att10b9dgb] { font-size: 1rem; }
.ad-attn-n[b-att10b9dgb] { font-weight: 600; font-variant-numeric: tabular-nums; }
.ad-attn-row.is-on[b-att10b9dgb] { color: var(--td-emphasis); }
.ad-attn-row.is-on .ti[b-att10b9dgb] { color: var(--td-warning-ink); }
.ad-attn-row.is-on .ad-attn-n[b-att10b9dgb] { padding: 0 .45rem; border-radius: var(--td-radius-sm); background: var(--td-warning-soft); color: var(--td-warning-ink); }

/* This month's figures, side by side. */
.ad-figs[b-att10b9dgb] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }

/* The Review / Pay back button at the end of a row: a little lower than a header button. */
.ad-row-btn[b-att10b9dgb] { min-height: 1.75rem; }

.ad-more[b-att10b9dgb] { font-size: .8125rem; font-weight: 500; }
/* /Components/Pages/Accounting/EditExpenseReport.razor.rz.scp.css */
/* The expense form on Trip Desk UI: the few things td-ui.css doesn't have (same idioms as ProjectForm). */

/* A worked-out value, shown where its field would be. */
.ee-fixed[b-p62xgkgnpa] { display: flex; align-items: center; min-height: 2.25rem; padding: .375rem .75rem; border: 1px dashed var(--td-border); border-radius: var(--td-radius-md); font-weight: 600; color: var(--td-emphasis); }

/* Save and Discard at the foot of the form, on the right. */
.ee-foot[b-p62xgkgnpa] { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; }

/* Summary facts in the side panel. */
.ee-facts[b-p62xgkgnpa] { display: grid; grid-template-columns: max-content 1fr; gap: .35rem .9rem; margin: 0; font-size: .8125rem; }
.ee-facts dt[b-p62xgkgnpa] { font-weight: 500; color: var(--td-muted); }
.ee-facts dd[b-p62xgkgnpa] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

/* Ready to save? */
.ee-check[b-p62xgkgnpa] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; font-size: .8125rem; color: var(--td-muted); }
.ee-check li[b-p62xgkgnpa] { display: flex; align-items: center; gap: .45rem; }
.ee-check li .ti[b-p62xgkgnpa] { font-size: 1rem; }
.ee-check li.is-done[b-p62xgkgnpa] { color: var(--td-emphasis); }
.ee-check li.is-done .ti[b-p62xgkgnpa] { color: var(--td-success-ink); }
/* /Components/Pages/Accounting/ExpenseReportDetail.razor.rz.scp.css */
/* An expense report on Trip Desk UI: the few things td-ui.css doesn't have. */

/* The receipt preview runs to the panel's edges, so the panel clips it to its rounded corners. */
.ex-clip[b-hxo8unrr62] { overflow: hidden; }
.ex-preview[b-hxo8unrr62] { border-top: 1px solid var(--td-border); }
.ex-file[b-hxo8unrr62] { color: var(--td-muted); font-size: 1rem; flex: none; }

/* Facts about the expense. */
.ex-facts[b-hxo8unrr62] { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.ex-facts dt[b-hxo8unrr62] { color: var(--td-muted); font-weight: 400; }
.ex-facts dd[b-hxo8unrr62] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
.ex-text[b-hxo8unrr62] { font-size: .875rem; color: var(--td-emphasis); white-space: pre-line; }

/* Approved, rejected, reimbursed: one line each. */
.ex-steps[b-hxo8unrr62] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .55rem; font-size: .8125rem; color: var(--td-emphasis); }
.ex-steps li[b-hxo8unrr62] { display: flex; align-items: flex-start; gap: .5rem; }

/* Totals in the side panel: figures right-aligned, the total under a rule. */
.ex-sum[b-hxo8unrr62] { display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; margin: 0; font-size: .875rem; }
.ex-sum dt[b-hxo8unrr62] { color: var(--td-muted); font-weight: 400; }
.ex-sum dd[b-hxo8unrr62] { margin: 0; text-align: right; color: var(--td-emphasis); }
.ex-sum .ex-sum-total[b-hxo8unrr62] { border-top: 1px solid var(--td-border); padding-top: .4rem; font-weight: 600; color: var(--td-emphasis); }
/* /Components/Pages/Accounting/ExpenseReportList.razor.rz.scp.css */
/* Expense reports list on Trip Desk UI: the few things td-ui.css doesn't have. */

/* "3 waiting for approval" in the header: the line accounting looks for first. */
.ex-wait[b-zt9p4vzd79] { color: var(--td-warning-ink); font-weight: 500; }

/* The chosen period in the period chip's list. */
.ex-on[b-zt9p4vzd79] { color: var(--td-primary) !important; font-weight: 600 !important; }

/* Facts about the picked expense in the side panel. */
.ex-facts[b-zt9p4vzd79] { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.ex-facts dt[b-zt9p4vzd79] { color: var(--td-muted); font-weight: 400; }
.ex-facts dd[b-zt9p4vzd79] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
/* /Components/Pages/Accounting/IntegrationHealth.razor.rz.scp.css */
/* Business Central on Trip Desk UI: the few things td-ui.css doesn't have. */

/* "All clear" heading in the empty state. */
.bc-clear[b-w6aebz54fw] { display: flex; align-items: center; justify-content: center; gap: .4rem; margin-bottom: .35rem; font-size: 1rem; font-weight: 600; color: var(--td-success-ink); }
.bc-clear .ti[b-w6aebz54fw] { font-size: 1.25rem; }

/* The plain-words reason in the list: wraps, but not wider than it needs. */
.bc-why[b-w6aebz54fw] { min-width: 16rem; max-width: 28rem; }

/* Facts of the picked failure. */
.bc-facts[b-w6aebz54fw] { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.bc-facts dt[b-w6aebz54fw] { color: var(--td-muted); font-weight: 400; }
.bc-facts dd[b-w6aebz54fw] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

/* Business Central's own words, as it said them. */
.bc-raw[b-w6aebz54fw] { padding: .5rem .7rem; border-radius: var(--td-radius-md); background: var(--td-surface-2); color: var(--td-text); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .75rem; white-space: pre-wrap; overflow-wrap: anywhere; max-height: 14rem; overflow-y: auto; }
/* /Components/Pages/Accounting/Invoices/InvoiceDashboard.razor.rz.scp.css */
/* Ready to invoice on Trip Desk UI. */

/* Header total and strong cells. */
.ri-total[b-uwuyf7c674] { color: var(--td-emphasis); font-weight: 600; font-variant-numeric: tabular-nums; }
.ri-emph[b-uwuyf7c674] { color: var(--td-emphasis); }

/* Counts in the group-by switch. */
.ri-n[b-uwuyf7c674] { margin-left: .25rem; opacity: .75; font-variant-numeric: tabular-nums; }

.ri-search[b-uwuyf7c674] { width: 17.5rem; max-width: 100%; }

/* Pick-one lists in chip popovers: the chosen one bold in the accent. */
.ri-menu[b-uwuyf7c674] { padding: 0; min-width: 0; }
.ri-menu .is-on[b-uwuyf7c674] { color: var(--td-primary); font-weight: 600; }

/* Tables: the tick-box column, and an operation number over its credited pill. */
.ri-table[b-uwuyf7c674] { min-width: 46rem; }
.ri-tick[b-uwuyf7c674] { width: 1%; padding-right: 0 !important; }
.ri-stack[b-uwuyf7c674] { display: flex; flex-direction: column; align-items: flex-start; gap: .2rem; }
/* Finished within the last 7 days: may still change. */
.ri-recent[b-uwuyf7c674] { color: var(--td-warning-ink); }

/* The bulk bar: sticks to the bottom of the screen under the list. */
.ri-bar[b-uwuyf7c674] {
    position: sticky; bottom: 1rem; z-index: 5; display: flex; align-items: center; gap: .75rem; flex-wrap: wrap;
    padding: .6rem .85rem; background: var(--td-surface); border: 1px solid var(--td-primary); border-radius: var(--td-radius-lg); box-shadow: var(--td-shadow-pop);
}
.ri-bar-count[b-uwuyf7c674] { font-weight: 600; color: var(--td-emphasis); }
.ri-date[b-uwuyf7c674] { display: inline-flex; align-items: center; gap: .5rem; }
.ri-date[b-uwuyf7c674]  input { min-width: 12.5rem; }

/* Split button: the main action and ▾ for the ones that go further. */
.ri-split-main[b-uwuyf7c674] { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.ri-split-more[b-uwuyf7c674] { border-top-left-radius: 0; border-bottom-left-radius: 0; border-left: 1px solid rgba(255, 255, 255, .35); padding: 0 .6rem; }
/* Its menu opens upwards, the bar sits at the bottom of the screen. On a phone it is the sheet from td-ui.css. */
@media (min-width: 576px) { .ri-up[b-uwuyf7c674] { top: auto; bottom: calc(100% + .35rem); min-width: 19rem; } }
.ri-opt[b-uwuyf7c674] { display: flex; flex-direction: column; gap: .1rem; }
.ri-opt small[b-uwuyf7c674] { font-size: .75rem; font-weight: 400; color: var(--td-muted); }

/* Side panel: facts, and the invoice lines running to the panel's edges. */
.ri-facts[b-uwuyf7c674] { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.ri-facts dt[b-uwuyf7c674] { color: var(--td-muted); font-weight: 400; }
.ri-facts dd[b-uwuyf7c674] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
.ri-lines[b-uwuyf7c674] { padding: .75rem 0 .25rem; gap: .25rem; }
.ri-pad[b-uwuyf7c674] { padding: 0 1.1rem; }
.ri-lines .td-table td[b-uwuyf7c674] { padding-left: 1.1rem; padding-right: 1.1rem; }
/* /Components/Pages/Accounting/Invoices/InvoiceDetail.razor.rz.scp.css */
/* An invoice on Trip Desk UI. */

/* The ••• menu: a rule above the red action that stops the invoice. */
.inv-menu-sep[b-crp74u89ru] { border: 0; border-top: 1px solid var(--td-border); margin: .25rem 0; opacity: 1; }

/* The six steps in a row: a bar, the step, who and when. */
.inv-steps[b-crp74u89ru] { padding: .875rem 1.1rem; margin-bottom: 1rem; }
.inv-steps ol[b-crp74u89ru] { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .5rem; }
.inv-steps li[b-crp74u89ru] { display: flex; flex-direction: column; gap: .375rem; min-width: 0; }
.inv-step-bar[b-crp74u89ru] { height: 6px; border-radius: 999px; background: var(--td-surface-2); }
.inv-step-label[b-crp74u89ru] { font-size: .8125rem; font-weight: 600; color: var(--td-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inv-step-when[b-crp74u89ru] { font-size: .75rem; color: var(--td-muted); min-height: 1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inv-steps li.is-done .inv-step-bar[b-crp74u89ru] { background: var(--td-primary); }
.inv-steps li.is-done .inv-step-label[b-crp74u89ru] { color: var(--td-emphasis); }
.inv-steps li.is-failed .inv-step-bar[b-crp74u89ru] { background: var(--td-danger); }
.inv-steps li.is-failed .inv-step-label[b-crp74u89ru] { color: var(--td-danger-ink); }
@media (max-width: 767.98px) { .inv-steps ol[b-crp74u89ru] { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: .75rem; } }

/* Notes under the steps; td-ui.css has no success note, so this page adds it. */
.inv-note[b-crp74u89ru] { margin-bottom: 1rem; align-items: center; }
.td-note.is-success[b-crp74u89ru] { background: var(--td-success-soft); color: var(--td-success-ink); }
.inv-note-btn[b-crp74u89ru] { min-height: 2rem; flex: none; }
.inv-note-btn.is-danger[b-crp74u89ru] { color: var(--td-danger-ink); }
.inv-spin[b-crp74u89ru] { animation: inv-spin-b-crp74u89ru 1s linear infinite; display: inline-block; }
@keyframes inv-spin-b-crp74u89ru { to { transform: rotate(360deg); } }

/* Lines: title and the note on whether they can change. */
.inv-lines-head[b-crp74u89ru] { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; flex-wrap: wrap; padding: 1rem 1.1rem .4rem; }
.inv-count[b-crp74u89ru] { font-weight: 500; font-size: 1rem; }
.inv-lines[b-crp74u89ru] { min-width: 47.5rem; }
.inv-lines .inv-desc[b-crp74u89ru] { color: var(--td-emphasis); }
.inv-lines .inv-task[b-crp74u89ru] { font-variant-numeric: tabular-nums; }
.inv-act-col[b-crp74u89ru] { width: 2.5rem; text-align: right; }

/* Side panel: the gross figure, then facts as label/value pairs. */
.inv-gross[b-crp74u89ru] { margin-top: -.5rem; }
.inv-facts[b-crp74u89ru] { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.inv-facts dt[b-crp74u89ru] { color: var(--td-muted); font-weight: 400; }
.inv-facts dd[b-crp74u89ru] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

/* What happened: a dot per entry, what in emphasis, who/when muted under it. */
.inv-tl[b-crp74u89ru] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.inv-tl li[b-crp74u89ru] { display: grid; grid-template-columns: .875rem minmax(0, 1fr); gap: .625rem; padding: .375rem 0; font-size: .8125rem; line-height: 1.125rem; }
.inv-dot[b-crp74u89ru] { width: 8px; height: 8px; border-radius: 50%; margin-top: 5px; background: var(--td-primary); }
.inv-dot.is-bad[b-crp74u89ru] { background: var(--td-danger); }
.inv-dot.is-warning[b-crp74u89ru] { background: var(--td-warning); }
.inv-dot.is-muted[b-crp74u89ru] { background: var(--td-muted); }
.inv-what[b-crp74u89ru] { display: block; color: var(--td-emphasis); font-weight: 500; }
.inv-who[b-crp74u89ru] { display: block; font-size: .75rem; color: var(--td-muted); overflow-wrap: anywhere; }
a.inv-who[b-crp74u89ru] { color: var(--td-primary); }
/* /Components/Pages/Accounting/Invoices/InvoiceList.razor.rz.scp.css */
/* All invoices on Trip Desk UI. */

/* Counts in the header line: state ink, not the plain hues. */
.il-warn[b-2k1erd17g3] { color: var(--td-warning-ink); font-weight: 500; }
.il-danger[b-2k1erd17g3] { color: var(--td-danger-ink); font-weight: 500; }

/* "Didn't reach BC" chip: the danger border from td-ui, with readable ink. */
.td-chips[b-2k1erd17g3]  .td-chip.is-danger { color: var(--td-danger-ink); }

/* The chosen item in a chip's pick-one list. */
.td-chips[b-2k1erd17g3]  .td-menu button.il-on,
.td-table-foot[b-2k1erd17g3]  .td-menu button.il-on { color: var(--td-primary); font-weight: 600; }

/* The bar of bulk actions, above the table while something is ticked. */
.il-bulk[b-2k1erd17g3] { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; padding: .5rem .75rem; background: var(--td-primary-soft); border-radius: var(--td-radius-lg); }
.il-bulk-n[b-2k1erd17g3] { font-weight: 600; color: var(--td-emphasis); margin-right: .5rem; }
.il-bulk .td-btn[b-2k1erd17g3], .il-sm[b-2k1erd17g3] { min-height: 2rem; font-size: .8125rem; padding-left: .75rem; padding-right: .75rem; }

/* Tick-box column. */
.il-tick[b-2k1erd17g3] { width: 1%; padding-right: 0 !important; }
.il-tick input[b-2k1erd17g3] { cursor: pointer; }

/* The five steps of an invoice in the side panel. */
.il-steps[b-2k1erd17g3] { display: flex; gap: .25rem; }
.il-steps span[b-2k1erd17g3] { flex: 1; height: 6px; border-radius: 999px; background: var(--td-surface-2); }
.il-steps span.is-done[b-2k1erd17g3] { background: var(--td-primary); }
.il-steps span.is-fail[b-2k1erd17g3] { background: var(--td-danger); }
.il-next[b-2k1erd17g3] { font-size: .75rem; margin-top: .4rem; }

/* Facts of the picked invoice. */
.il-facts[b-2k1erd17g3] { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.il-facts dt[b-2k1erd17g3] { color: var(--td-muted); font-weight: 400; }
.il-facts dd[b-2k1erd17g3] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
/* /Components/Pages/Accounting/Invoices/PurchaseInvoiceDashboard.razor.rz.scp.css */
/* Purchase invoices on Trip Desk UI: the few things td-ui.css doesn't have. */

.pi-search[b-kilgufi8k1] { width: 17rem; max-width: 100%; }

/* The x that clears the search box. */
.pi-clear[b-kilgufi8k1] { all: unset; cursor: pointer; display: inline-flex; color: var(--td-muted); }
.pi-clear:hover[b-kilgufi8k1] { color: var(--td-emphasis); }
.pi-clear:focus-visible[b-kilgufi8k1] { box-shadow: var(--td-shadow-ring); border-radius: 3px; }

/* Facts about the picked settlement in the side panel. */
.pi-facts[b-kilgufi8k1] { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.pi-facts dt[b-kilgufi8k1] { color: var(--td-muted); font-weight: 400; }
.pi-facts dd[b-kilgufi8k1] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
/* /Components/Pages/Accounting/Reports/SalesOverview.razor.rz.scp.css */
/* Sales overview on Trip Desk UI: the few things td-ui.css and executive-reports.css don't have. */

/* The share bar column in Top customers. */
.so-share[b-0zxhqj6f9z] { width: 30%; min-width: 6rem; }

/* A cancelled invoice's status reads struck through. */
.td-page[b-0zxhqj6f9z]  .so-struck { text-decoration: line-through; }
/* /Components/Pages/Accounting/Suppliers/FindSuppliers.razor.rz.scp.css */
/* Find suppliers on Trip Desk UI: the few things td-ui.css doesn't have. */

/* The chosen item in a chip's pick-one list. */
.td-chips[b-aukgjru5v1]  .td-menu button.fs-on { color: var(--td-primary); font-weight: 600; }

/* Find work / Reset sit in the chip row, so they take the chips' height. */
.fs-find[b-aukgjru5v1] { min-height: 2rem; }

/* "Pick tasks ›" at the end of a row: quiet, primary on the row's hover. */
.fs-go[b-aukgjru5v1] { display: inline-flex; align-items: center; gap: .125rem; color: var(--td-muted); white-space: nowrap; }
tr:hover .fs-go[b-aukgjru5v1] { color: var(--td-primary); }
/* /Components/Pages/Accounting/Suppliers/SupplierSettlementDetail.razor.rz.scp.css */
/* A settlement on Trip Desk UI. */

/* The ••• menu: a rule above the red action that cancels it. */
.ss-menu-sep[b-hi6h804rfd] { border: 0; border-top: 1px solid var(--td-border); margin: .25rem 0; opacity: 1; }

/* The three steps in a row: a bar, the step, when. */
.ss-steps[b-hi6h804rfd] { padding: .875rem 1.1rem; margin-bottom: 1rem; }
.ss-steps ol[b-hi6h804rfd] { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.ss-steps li[b-hi6h804rfd] { display: flex; flex-direction: column; gap: .375rem; min-width: 0; }
.ss-step-bar[b-hi6h804rfd] { height: 6px; border-radius: 999px; background: var(--td-surface-2); }
.ss-step-label[b-hi6h804rfd] { font-size: .8125rem; font-weight: 600; color: var(--td-muted); }
.ss-step-when[b-hi6h804rfd] { font-size: .75rem; color: var(--td-muted); min-height: 1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ss-steps li.is-done .ss-step-bar[b-hi6h804rfd] { background: var(--td-primary); }
.ss-steps li.is-done .ss-step-label[b-hi6h804rfd] { color: var(--td-emphasis); }

/* The note that replaces the steps on a cancelled settlement. */
.ss-note[b-hi6h804rfd] { margin-bottom: 1rem; }

/* Tasks: title over the table, total in the foot. */
.ss-lines-head[b-hi6h804rfd] { padding: 1rem 1.1rem .4rem; }
.ss-count[b-hi6h804rfd] { font-weight: 500; font-size: 1rem; }
.ss-lines[b-hi6h804rfd] { min-width: 50rem; }
.ss-total[b-hi6h804rfd] { color: var(--td-emphasis); font-weight: 600; }

/* Side panel: the total, then facts as label/value pairs. */
.ss-figure[b-hi6h804rfd] { margin-top: -.5rem; }
.ss-facts[b-hi6h804rfd] { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.ss-facts dt[b-hi6h804rfd] { color: var(--td-muted); font-weight: 400; }
.ss-facts dd[b-hi6h804rfd] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

/* What happened: a dot per entry, what in emphasis, who/when muted under it. */
.ss-tl[b-hi6h804rfd] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.ss-tl li[b-hi6h804rfd] { display: grid; grid-template-columns: .875rem minmax(0, 1fr); gap: .625rem; padding: .375rem 0; font-size: .8125rem; line-height: 1.125rem; }
.ss-dot[b-hi6h804rfd] { width: 8px; height: 8px; border-radius: 50%; margin-top: 5px; background: var(--td-primary); }
.ss-dot.is-good[b-hi6h804rfd] { background: var(--td-success); }
.ss-dot.is-bad[b-hi6h804rfd] { background: var(--td-danger); }
.ss-dot.is-muted[b-hi6h804rfd] { background: var(--td-muted); }
.ss-what[b-hi6h804rfd] { display: block; color: var(--td-emphasis); font-weight: 500; }
.ss-who[b-hi6h804rfd] { display: block; font-size: .75rem; color: var(--td-muted); overflow-wrap: anywhere; }
/* /Components/Pages/Accounting/Suppliers/SupplierSettlementList.razor.rz.scp.css */
/* Settlements on Trip Desk UI: the few things td-ui.css doesn't have. */

/* "2 waiting to be paid" in the header: the line accounting looks for first. */
.sl-wait[b-usnmcec8gm] { color: var(--td-warning-ink); font-weight: 500; }

/* Reset and the paging buttons sit in rows of chips and the table foot. */
.sl-reset[b-usnmcec8gm] { min-height: 2rem; }
.sl-page[b-usnmcec8gm] { min-height: 1.75rem; }

/* A cancelled settlement reads as struck through. */
.sl-struck td:nth-child(5)[b-usnmcec8gm] { text-decoration: line-through; color: var(--td-muted); }

/* Facts about the picked settlement in the side panel. */
.sl-facts[b-usnmcec8gm] { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.sl-facts dt[b-usnmcec8gm] { color: var(--td-muted); font-weight: 400; }
.sl-facts dd[b-usnmcec8gm] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
/* /Components/Pages/Admin/Changelog.razor.rz.scp.css */
/* What's new on Trip Desk UI: a calm reading column, one section per release. */
.wn-read[b-t8nnpjacch] { max-width: 56rem; }
.wn-search[b-t8nnpjacch] { width: 16rem; max-width: 100%; }
.wn-min[b-t8nnpjacch] { min-width: 0; }

/* Area chip: the chosen area bold in the accent; counts on the right. */
.wn-areas[b-t8nnpjacch] { padding: 0; max-height: 18rem; overflow-y: auto; }
.wn-areas button.is-chosen[b-t8nnpjacch] { font-weight: 600; color: var(--td-primary); }
.wn-n[b-t8nnpjacch] { color: var(--td-muted); font-size: .75rem; font-variant-numeric: tabular-nums; }

/* The changes in a release: a ruled list, the kind of change as a pill on the left. */
.wn-changes[b-t8nnpjacch] { margin: 0; padding: 0; list-style: none; }
.wn-change[b-t8nnpjacch] { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .75rem; padding: .6rem 0; border-top: 1px solid var(--td-border); }
.wn-change:first-child[b-t8nnpjacch] { border-top: 0; padding-top: .1rem; }
.wn-kind[b-t8nnpjacch] { padding-top: .05rem; }
.wn-title[b-t8nnpjacch] { font-size: .875rem; font-weight: 600; color: var(--td-emphasis); }
.wn-desc[b-t8nnpjacch] { margin-top: .15rem; font-size: .8125rem; color: var(--td-text); }
.wn-area[b-t8nnpjacch] {
    margin-left: .35rem; padding: 0 .45rem; border: 0; border-radius: var(--td-radius-sm); vertical-align: middle;
    background: var(--td-surface-2); color: var(--td-muted); font-size: .75rem; font-weight: 500; cursor: pointer;
}
.wn-area:hover[b-t8nnpjacch] { color: var(--td-primary); }
.wn-area:focus-visible[b-t8nnpjacch] { outline: none; box-shadow: var(--td-shadow-ring); }
.wn-more[b-t8nnpjacch] { justify-content: center; }

@media (max-width: 575.98px) {
    .wn-change[b-t8nnpjacch] { grid-template-columns: minmax(0, 1fr); gap: .3rem; }
}
/* /Components/Pages/Admin/DataSync/BcReconciliation.razor.rz.scp.css */
/* Import & sync on Trip Desk UI: the few things td-ui.css doesn't have. */

/* Before the first comparison: what each kind of difference means. */
.ds-intro[b-e5vgjbry6g] { display: grid; grid-template-columns: max-content 1fr; gap: .6rem 1rem; align-items: baseline; font-size: .875rem; }
.ds-intro-row[b-e5vgjbry6g] { display: contents; }

.ds-search[b-e5vgjbry6g] { width: 18rem; max-width: 100%; }

/* Tick all and link, above the list. A strip of the panel, not a box. */
.ds-bulk[b-e5vgjbry6g] { display: flex; align-items: center; gap: .75rem; padding: .55rem .85rem; border-bottom: 1px solid var(--td-border); font-size: .8125rem; }

.ds-table[b-e5vgjbry6g] { min-width: 44rem; }
.ds-table .ds-tick[b-e5vgjbry6g] { width: 2.25rem; padding-right: 0; }

/* The picked difference's facts in the side panel. */
.ds-facts[b-e5vgjbry6g] { display: grid; grid-template-columns: max-content 1fr; gap: .35rem .9rem; margin: 0; font-size: .8125rem; }
.ds-facts dt[b-e5vgjbry6g] { font-weight: 500; color: var(--td-muted); }
.ds-facts dd[b-e5vgjbry6g] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 575.98px) {
    .ds-intro[b-e5vgjbry6g] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Pages/Admin/Depots/Depots.razor.rz.scp.css */
/* Depots on Trip Desk UI: the few things td-ui.css doesn't have. Sibling of Yards.razor.css. */

.dp-search[b-hrqdeupo5k] { width: 17rem; max-width: 100%; }

/* The picked depot's facts in the side panel. */
.dp-facts[b-hrqdeupo5k] { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.dp-facts dt[b-hrqdeupo5k] { color: var(--td-muted); font-weight: 400; }
.dp-facts dd[b-hrqdeupo5k] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

/* Long lists inside the side panel scroll on their own: yards on the form, vehicles to place. */
.dp-yards[b-hrqdeupo5k] { max-height: 16rem; overflow-y: auto; padding: 0 .5rem; }
.dp-scroll[b-hrqdeupo5k] { max-height: 20rem; overflow-y: auto; }

/* Discard and Save at the foot of the form, on the right. */
.dp-foot[b-hrqdeupo5k] { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--td-border); }
/* /Components/Pages/Admin/Documentation.razor.rz.scp.css */
/* Guides & manuals (Trip Desk UI). Tokens are --td-*; the theme underneath is --osen-*. */

.gm-search[b-ynceszj1pi] {
    flex: 1 1 18rem;
    max-width: 30rem;
}

kbd[b-ynceszj1pi] {
    font-size: .7rem;
    padding: .1rem .35rem;
}

/* The latest release, one line linking to What's New. */
.gm-news[b-ynceszj1pi] {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: .75rem 1.1rem;
    color: inherit;
    text-decoration: none;
}

.gm-news:hover[b-ynceszj1pi] {
    border-color: var(--td-primary);
    color: inherit;
}

.gm-news-title[b-ynceszj1pi] {
    font-weight: 600;
    color: var(--td-emphasis);
}

.gm-news-go[b-ynceszj1pi] {
    color: var(--td-muted);
}

/* The table sits in the section; the section gives the padding. */
.gm-table td[b-ynceszj1pi] {
    vertical-align: top;
}

.gm-guide[b-ynceszj1pi] {
    display: flex;
    gap: .6rem;
    align-items: flex-start;
}

.gm-guide-icon[b-ynceszj1pi],
.gm-hit-icon[b-ynceszj1pi] {
    flex: none;
    margin-top: .1rem;
    font-size: 1.1rem;
    color: var(--td-muted);
}

.gm-table .sub[b-ynceszj1pi] {
    max-width: 52ch;
}

.gm-actions[b-ynceszj1pi] {
    display: inline-flex;
    gap: .35rem;
    justify-content: flex-end;
    white-space: nowrap;
}

/* Search results: links divided by rules, no boxes. */
.gm-hits[b-ynceszj1pi] {
    border-top: 1px solid var(--td-border);
}

.gm-hit[b-ynceszj1pi] {
    display: flex;
    gap: .75rem;
    padding: .8rem 1.1rem;
    color: inherit;
    text-decoration: none;
}

.gm-hit + .gm-hit[b-ynceszj1pi] {
    border-top: 1px solid var(--td-border);
}

.gm-hit:hover[b-ynceszj1pi] {
    background: var(--td-surface-2);
    color: inherit;
}

.gm-hit:focus-visible[b-ynceszj1pi] {
    outline: none;
    box-shadow: var(--td-shadow-ring);
}

.gm-hit-title[b-ynceszj1pi] {
    font-weight: 600;
    color: var(--td-emphasis);
}

.gm-snippet[b-ynceszj1pi] {
    margin-top: .2rem;
    font-size: .8125rem;
    color: var(--td-text);
}

.gm-snippet[b-ynceszj1pi]  mark,
.gm-snippet mark[b-ynceszj1pi] {
    padding: 0 .1rem;
    border-radius: 3px;
    background: var(--td-warning-soft);
    color: var(--td-warning-ink);
}
/* /Components/Pages/Admin/Guides.razor.rz.scp.css */
/* User guides (Trip Desk UI). Only the frame: the section text is GuideSectionView's
   (.guide-reader in site.css, shared with the help panel), which keeps prose to 78ch. */

.gr-search[b-qfpbqwox8b] {
    flex: 1 1 16rem;
    max-width: 28rem;
}

/* Contents on the left, reading on the right; stacked on narrow screens. */
.gr-layout[b-qfpbqwox8b] {
    display: grid;
    grid-template-columns: minmax(14rem, 17rem) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

@media (max-width: 991.98px) {
    .gr-layout[b-qfpbqwox8b] { grid-template-columns: minmax(0, 1fr); }
}

.gr-main[b-qfpbqwox8b] {
    min-width: 0;
}

/* The guide list stays in view below the topbar and scrolls on its own when long. */
.gr-nav[b-qfpbqwox8b] {
    position: sticky;
    top: calc(var(--osen-topbar-height, 70px) + 16px);
    max-height: calc(100vh - var(--osen-topbar-height, 70px) - 2rem);
    overflow-y: auto;
    padding: .4rem;
    display: flex;
    flex-direction: column;
    gap: .1rem;
}

@media (max-width: 991.98px) {
    .gr-nav[b-qfpbqwox8b] { position: static; max-height: none; }
}

.gr-guide[b-qfpbqwox8b],
.gr-section[b-qfpbqwox8b] {
    display: flex;
    align-items: center;
    gap: .55rem;
    width: 100%;
    border: 0;
    border-radius: var(--td-radius-sm);
    background: transparent;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.gr-guide[b-qfpbqwox8b] {
    padding: .45rem .6rem;
    font-size: .875rem;
    font-weight: 500;
    color: var(--td-emphasis);
}

.gr-guide > .ti[b-qfpbqwox8b] {
    flex: none;
    font-size: 1.05rem;
    color: var(--td-muted);
}

.gr-guide:hover[b-qfpbqwox8b],
.gr-section:hover[b-qfpbqwox8b] {
    background: var(--td-surface-2);
}

.gr-guide.is-on[b-qfpbqwox8b] {
    background: var(--td-primary-soft);
    color: var(--td-primary);
    font-weight: 600;
}

.gr-guide.is-on > .ti[b-qfpbqwox8b] {
    color: var(--td-primary);
}

.gr-guide:focus-visible[b-qfpbqwox8b],
.gr-section:focus-visible[b-qfpbqwox8b],
.gr-hit:focus-visible[b-qfpbqwox8b],
.gr-step:focus-visible[b-qfpbqwox8b] {
    outline: none;
    box-shadow: var(--td-shadow-ring);
}

/* The open guide's sections hang under it on a rule. */
.gr-sections[b-qfpbqwox8b] {
    margin: .2rem 0 .45rem 1.1rem;
    padding-left: .35rem;
    border-left: 2px solid var(--td-border);
    display: flex;
    flex-direction: column;
}

.gr-section[b-qfpbqwox8b] {
    padding: .3rem .5rem;
    font-size: .8125rem;
    color: var(--td-muted);
}

.gr-section.is-on[b-qfpbqwox8b] {
    color: var(--td-primary);
    font-weight: 600;
}

.gr-title[b-qfpbqwox8b] {
    margin: .15rem 0 0;
    font-size: 1.25rem;
    line-height: 1.6rem;
    font-weight: 600;
    color: var(--td-emphasis);
}

/* The reading area: a little more air than a form section; the shared reader inside keeps the
   line length (78ch) and is a plain block, not a flex column. */
.gr-body[b-qfpbqwox8b] {
    display: block;
    padding: 1.1rem 1.4rem 1.4rem;
}

/* Search results: rows divided by rules, no boxes. */
.gr-hit[b-qfpbqwox8b] {
    display: flex;
    gap: .75rem;
    width: 100%;
    padding: .8rem 1.1rem;
    border: 0;
    background: none;
    font: inherit;
    color: inherit;
    text-align: left;
}

.gr-hit + .gr-hit[b-qfpbqwox8b] {
    border-top: 1px solid var(--td-border);
}

.gr-hit:hover[b-qfpbqwox8b] {
    background: var(--td-surface-2);
}

.gr-hit-icon[b-qfpbqwox8b] {
    flex: none;
    margin-top: .1rem;
    font-size: 1.1rem;
    color: var(--td-muted);
}

.gr-hit-title[b-qfpbqwox8b] {
    font-weight: 600;
    color: var(--td-emphasis);
}

.gr-snippet[b-qfpbqwox8b] {
    margin-top: .2rem;
    font-size: .8125rem;
    color: var(--td-text);
}

.gr-snippet[b-qfpbqwox8b]  mark {
    padding: 0 .1rem;
    border-radius: 3px;
    background: var(--td-warning-soft);
    color: var(--td-warning-ink);
}

/* Previous / next at the foot of the section. */
.gr-pager[b-qfpbqwox8b] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
}

.gr-step[b-qfpbqwox8b] {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    padding: .5rem .65rem;
    border: 0;
    border-radius: var(--td-radius-md);
    background: transparent;
    font: inherit;
    text-align: left;
    color: inherit;
    cursor: pointer;
}

.gr-step:hover[b-qfpbqwox8b] {
    background: var(--td-surface-2);
}

.gr-step:hover .gr-step-title[b-qfpbqwox8b] {
    color: var(--td-primary);
}

.gr-step.is-next[b-qfpbqwox8b] {
    align-items: flex-end;
    text-align: right;
}

.gr-step-title[b-qfpbqwox8b] {
    font-weight: 600;
    color: var(--td-emphasis);
}
/* /Components/Pages/Admin/IntelligenceDashboard.razor.rz.scp.css */
/* Intelligence on Trip Desk UI: the few things td-ui.css and executive-reports.css don't have. */

/* Events by kind: the table runs edge to edge under the section title. */
.in-flush[b-6iuzzn4s5q] { padding: 1rem 0 0; gap: .5rem; }
.in-pad[b-6iuzzn4s5q] { padding: 0 1.1rem; }

/* System health: one line per check, the count as a pill. */
.in-health[b-6iuzzn4s5q] { display: flex; flex-direction: column; }
.in-health-row[b-6iuzzn4s5q] { display: flex; align-items: center; gap: .6rem; padding: .4rem .5rem; margin: 0 -.5rem; border-radius: var(--td-radius-md); font-size: .8125rem; color: var(--td-emphasis); text-decoration: none; }
a.in-health-row:hover[b-6iuzzn4s5q] { background: var(--td-surface-2); color: var(--td-emphasis); }

/* Last 30 days: date, bar, count. */
.in-days[b-6iuzzn4s5q] { display: flex; flex-direction: column; gap: .4rem; }
.in-day[b-6iuzzn4s5q] { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr) 4rem; align-items: center; gap: .6rem; font-size: .75rem; color: var(--td-muted); }
.in-day-n[b-6iuzzn4s5q] { text-align: right; font-weight: 600; color: var(--td-emphasis); }

/* Placeholder tile while the first load runs. */
.in-value[b-6iuzzn4s5q] { height: 1.5rem; }
/* /Components/Pages/Admin/KnowledgeBase.razor.rz.scp.css */
/* Reading a draft, not editing one.

   The side panel scrolls itself above 1200px - right for an editor above a
   summary, wrong for a whole article, which gave the page a second scrollbar
   inside the first. Here it flows with the page. */
[b-opr623z7ok] .td-side {
    position: static;
    max-height: none;
    overflow: visible;
}

/* Pills sit flush against each other; a row of audiences needs air. */
.audience-pills[b-opr623z7ok] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
}

/* One version in an article's history. Divided by a rule, not boxed again -
   no box in a box. */
.kb-version[b-opr623z7ok] {
    padding: .6rem .75rem;
    border-top: 1px solid var(--td-border);
    font-size: .8125rem;
}

.kb-version:first-child[b-opr623z7ok] {
    border-top: 0;
}
/* /Components/Pages/Admin/Reports/ExecutiveOverview.razor.rz.scp.css */
/* Executive Overview on Trip Desk UI: the few things td-ui.css doesn't have. */

/* Needs attention: one line per kind of thing, marked when there is something. */
.eo-attn[b-6t76gwzcou] { display: flex; flex-direction: column; }
.eo-attn-row[b-6t76gwzcou] { display: flex; align-items: center; gap: .6rem; padding: .45rem .5rem; margin: 0 -.5rem; border-radius: var(--td-radius-md); font-size: .8125rem; color: var(--td-muted); text-decoration: none; }
.eo-attn-row:hover[b-6t76gwzcou] { background: var(--td-surface-2); color: var(--td-emphasis); }
.eo-attn-row .ti[b-6t76gwzcou] { font-size: 1rem; }
.eo-attn-n[b-6t76gwzcou] { font-weight: 600; font-variant-numeric: tabular-nums; }
.eo-attn-row.is-on[b-6t76gwzcou] { color: var(--td-emphasis); }
.eo-attn-row.is-on .ti[b-6t76gwzcou] { color: var(--td-warning-ink); }
.eo-attn-row.is-on .eo-attn-n[b-6t76gwzcou] { padding: 0 .45rem; border-radius: var(--td-radius-sm); background: var(--td-warning-soft); color: var(--td-warning-ink); }

.eo-more[b-6t76gwzcou] { font-size: .8125rem; font-weight: 500; }
/* /Components/Pages/Admin/Sandbox.razor.rz.scp.css */
/* Developer sandbox (Trip Desk UI): one panel, a section per tool. */

/* Who is signed in, as label / value pairs. */
.sb-facts[b-on9c1j3hnx] {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: .3rem 1rem;
    margin: 0;
    font-size: .8125rem;
}

.sb-facts dt[b-on9c1j3hnx] {
    font-weight: 500;
    color: var(--td-muted);
}

.sb-facts dd[b-on9c1j3hnx] {
    margin: 0;
    color: var(--td-emphasis);
    overflow-wrap: anywhere;
}

/* The pickers side by side where there is room. */
.sb-grid[b-on9c1j3hnx] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: 1rem 1.25rem;
    align-items: start;
}
/* /Components/Pages/Admin/SubmitArticle.razor.rz.scp.css */
/* Writing an article: the editor stays put, the preview scrolls past it.

   The page had three scrollbars stacked at the right edge - the window's, the
   preview's and the editor's. One is enough: the editor is sized to the
   viewport and sticks, so the only thing that scrolls is the page. */

.article-editor[b-r75rmzgtkx] {
    height: calc(100vh - 22rem);
    min-height: 18rem;
    resize: vertical;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .8125rem;
    line-height: 1.5;
}

.td-main[b-r75rmzgtkx] {
    position: sticky;
    top: 16px;
}

/* Below lg the side panel drops under the body, so nothing can stay stuck. */
@media (max-width: 991.98px) {
    .td-main[b-r75rmzgtkx] {
        position: static;
    }

    .article-editor[b-r75rmzgtkx] {
        height: auto;
        min-height: 24rem;
    }
}

/* The side panel scrolls itself above 1200px, which is right when it holds an
   editor and a summary that must stay in view. Here it holds a whole article,
   so it flows with the page instead and the window is the only thing that
   scrolls. The editor stays put; the preview moves past it. */
[b-r75rmzgtkx] .td-side {
    position: static;
    max-height: none;
    overflow: visible;
}
/* /Components/Pages/Admin/Teams/Teams.razor.rz.scp.css */
/* Teams on Trip Desk UI. */
.tm-search[b-hd62qz1hj0] { width: 17rem; max-width: 100%; }

/* The tree: teams inside a team are indented with a branch mark. */
.tm-name[b-hd62qz1hj0] { display: flex; align-items: flex-start; gap: .35rem; }
.tm-branch[b-hd62qz1hj0] { color: var(--td-muted); margin-top: .1rem; }
.tm-who[b-hd62qz1hj0] { display: flex; flex-direction: column; min-width: 0; }
.tm-lock[b-hd62qz1hj0] { color: var(--td-muted); margin-left: .25rem; font-weight: 400; }
.tm-min[b-hd62qz1hj0] { min-width: 0; }
.tm-pills[b-hd62qz1hj0] { gap: .25rem; }

/* Form sections sit inside a fieldset, so the panel's own rule between sections needs help. */
.tm-ruled[b-hd62qz1hj0] { border-top: 1px solid var(--td-border); }
.tm-foot[b-hd62qz1hj0] { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }

/* Members: one row each, ruled, not boxed. */
.tm-members[b-hd62qz1hj0] { display: flex; flex-direction: column; max-height: 18rem; overflow-y: auto; }
.tm-member[b-hd62qz1hj0] { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: .75rem; align-items: center; padding: .45rem 0; border-top: 1px solid var(--td-border); }
.tm-member:first-child[b-hd62qz1hj0] { border-top: 0; }
.tm-member > .tm-min[b-hd62qz1hj0] { display: flex; flex-direction: column; }
.tm-member-name[b-hd62qz1hj0] { font-size: .875rem; font-weight: 500; color: var(--td-emphasis); }
.tm-email[b-hd62qz1hj0] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tm-add[b-hd62qz1hj0] { display: flex; gap: .5rem; }
.tm-add .form-select[b-hd62qz1hj0] { flex: 1; min-width: 0; }
/* /Components/Pages/Admin/Teams/TeamSubscriptionsPanel.razor.rz.scp.css */
/* A team's alerts on Trip Desk UI: one section per part of the app, a ruled row per alert. */
.ts-ruled[b-xp1z9oqf9i] { border-top: 1px solid var(--td-border); }
.ts-module[b-xp1z9oqf9i] { display: flex; align-items: center; gap: .35rem; }
.ts-rows[b-xp1z9oqf9i] { display: flex; flex-direction: column; }
.ts-row[b-xp1z9oqf9i] { padding: .6rem 0; border-top: 1px solid var(--td-border); }
.ts-row:first-child[b-xp1z9oqf9i] { border-top: 0; padding-top: 0; }
.ts-head[b-xp1z9oqf9i] { display: flex; align-items: flex-start; gap: .6rem; }
.ts-label[b-xp1z9oqf9i] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .15rem; cursor: pointer; margin: 0; }
.ts-title[b-xp1z9oqf9i] { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; }
.ts-name[b-xp1z9oqf9i] { font-size: .875rem; font-weight: 600; color: var(--td-emphasis); }

/* The settings of a ticked alert, under its name. */
.ts-settings[b-xp1z9oqf9i] { display: flex; flex-direction: column; gap: .5rem; margin: .5rem 0 0 1.75rem; }
.ts-checks[b-xp1z9oqf9i] { display: flex; flex-wrap: wrap; gap: .4rem 1rem; }
.ts-selects[b-xp1z9oqf9i] { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: .5rem; }
.ts-foot[b-xp1z9oqf9i] { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; }
/* /Components/Pages/Admin/Yards/Yards.razor.rz.scp.css */
/* Yards on Trip Desk UI: the few things td-ui.css doesn't have. Sibling of Depots.razor.css. */

.yd-search[b-6ptvq869rv] { width: 17rem; max-width: 100%; }
.yd-find[b-6ptvq869rv] { width: 17rem; max-width: 100%; }

/* The map fills the foot of its panel; the panel clips it to its rounded corners. */
.yd-map-panel[b-6ptvq869rv] { overflow: hidden; }
.yd-map[b-6ptvq869rv] { height: 460px; width: 100%; border-top: 1px solid var(--td-border); }

/* The picked yard's facts in the side panel. */
.yd-facts[b-6ptvq869rv] { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.yd-facts dt[b-6ptvq869rv] { color: var(--td-muted); font-weight: 400; }
.yd-facts dd[b-6ptvq869rv] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

/* Discard and Save at the foot of the form, on the right. */
.yd-foot[b-6ptvq869rv] { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--td-border); }
/* /Components/Pages/Counter.razor.rz.scp.css */
.my-component[b-bppp1mm9d7] {
    border: 2px dashed red;
    padding: 1em;
    margin: 1em 0;
}
/* /Components/Pages/Operations/Dispatch/ActiveShifts.razor.rz.scp.css */
/* Active shifts. Theme variables are --osen-*, not --bs-*. */
.as-grid[b-zwvbuqt1ip] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
    gap: 0.75rem;
}

.as-card[b-zwvbuqt1ip] {
    display: block;
    padding: 0.9rem 1rem;
    border: 1px solid var(--osen-border-color);
    border-left: 3px solid var(--osen-info);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    color: inherit;
    text-decoration: none;
    transition: border-color 0.15s;
}

.as-card:hover[b-zwvbuqt1ip] {
    border-color: var(--osen-primary);
    color: inherit;
}

.as-card.over[b-zwvbuqt1ip] {
    border-left-color: var(--osen-warning);
}

.as-head[b-zwvbuqt1ip] {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
}

.as-sub[b-zwvbuqt1ip] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.as-running[b-zwvbuqt1ip] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.as-people[b-zwvbuqt1ip] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 0.9rem;
    margin: 0.6rem 0;
    font-size: 0.82rem;
}

.as-people > span[b-zwvbuqt1ip] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.as-progress[b-zwvbuqt1ip] {
    display: flex;
    gap: 3px;
    margin-bottom: 0.25rem;
}

.as-seg[b-zwvbuqt1ip] {
    flex: 1;
    height: 6px;
    border-radius: 3px;
    background: var(--osen-tertiary-bg);
}

.as-seg.done[b-zwvbuqt1ip] {
    background: var(--osen-success);
}

.as-seg.now[b-zwvbuqt1ip] {
    background: var(--osen-info);
}

.as-task[b-zwvbuqt1ip] {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr) auto;
    gap: 0.5rem;
    align-items: center;
    padding: 0.45rem 0;
    border-top: 1px solid var(--osen-border-color);
}

.as-task-next[b-zwvbuqt1ip] {
    opacity: 0.75;
}

.as-task-label[b-zwvbuqt1ip] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--osen-secondary-color);
}

.as-task-title[b-zwvbuqt1ip] {
    font-size: 0.85rem;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* /Components/Pages/Operations/Dispatch/CreateBulkShifts.razor.rz.scp.css */
/* Bulk create — preview rows; the rest is the shared FormCardStyles look.
   Theme variables are --osen-*, not --bs-*. */
.bc-day[b-1ixzdy93p9] {
    min-width: 3.2rem;
    justify-content: center;
}

.bc-sep[b-1ixzdy93p9] {
    width: 1px;
    height: 1.4rem;
    margin: 0 0.25rem;
    background: var(--osen-border-color);
}

.bc-preview[b-1ixzdy93p9] {
    max-height: 32rem;
    overflow-y: auto;
    padding-top: 0.25rem;
}

.bc-week[b-1ixzdy93p9] {
    margin: 0.75rem 0 0.35rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.bc-week:first-child[b-1ixzdy93p9] {
    margin-top: 0.25rem;
}

/* date · time · what · remove */
.bc-row[b-1ixzdy93p9] {
    display: grid;
    grid-template-columns: 6.5rem 6.5rem minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.4rem 0.4rem 0.4rem 0.75rem;
    border: 1px solid var(--osen-border-color);
    border-left: 4px solid var(--osen-border-color);
    border-radius: 0.5rem;
    font-size: 0.85rem;
}

.bc-row + .bc-row[b-1ixzdy93p9] {
    margin-top: 0.3rem;
}

.bc-row.past[b-1ixzdy93p9] { border-left-color: var(--osen-warning); }
.bc-row.error[b-1ixzdy93p9] { border-left-color: var(--osen-danger); background: color-mix(in srgb, var(--osen-danger) 6%, transparent); }

.bc-date[b-1ixzdy93p9] {
    white-space: nowrap;
}

.bc-time[b-1ixzdy93p9] {
    font-variant-numeric: tabular-nums;
    color: var(--osen-secondary-color);
    white-space: nowrap;
}

.bc-what[b-1ixzdy93p9] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bc-past[b-1ixzdy93p9] {
    margin-left: 0.4rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--osen-warning) 18%, transparent);
    color: var(--osen-warning);
    font-size: 0.68rem;
    font-weight: 600;
}

.bc-remove[b-1ixzdy93p9] {
    width: 1.7rem;
    height: 1.7rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--osen-secondary-color);
}

.bc-remove:hover[b-1ixzdy93p9] {
    background: color-mix(in srgb, var(--osen-danger) 12%, transparent);
    color: var(--osen-danger);
}

@media (max-width: 575.98px) {
    .bc-row[b-1ixzdy93p9] {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .bc-time[b-1ixzdy93p9],
    .bc-what[b-1ixzdy93p9] {
        grid-column: 1;
    }

    .bc-remove[b-1ixzdy93p9] {
        grid-column: 2;
        grid-row: 1;
    }
}
/* /Components/Pages/Operations/Dispatch/DailyOverview.razor.rz.scp.css */
/* Daily Overview — the To act on look, plus a day timeline. Theme variables are --osen-*, not --bs-*. */

/* ── Toolbar ── */
.dv-date[b-wwt07ffryb] {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    overflow: hidden;
}

.dv-date > button[b-wwt07ffryb] {
    width: 2rem;
    height: 1.95rem;
    border: 0;
    background: transparent;
    color: var(--osen-secondary-color);
}

.dv-date > button:hover[b-wwt07ffryb] {
    background: var(--osen-tertiary-bg);
    color: var(--osen-body-color);
}

.dv-date-label[b-wwt07ffryb] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0 0.6rem;
    font-size: 0.85rem;
    font-weight: 600;
    white-space: nowrap;
}

.dv-date-label > .ti[b-wwt07ffryb] { color: var(--osen-primary); }

.dv-tab[b-wwt07ffryb] {
    padding: 0.28rem 0.75rem;
    border: 1px solid var(--osen-primary);
    border-radius: 999px;
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
    font-size: 0.82rem;
    font-weight: 500;
}

.dv-divider[b-wwt07ffryb] {
    width: 1px;
    height: 1.4rem;
    background: var(--osen-border-color);
}

.dv-search[b-wwt07ffryb] { width: 15rem; }
.dv-picker[b-wwt07ffryb] { width: 11rem; }

.dv-switch[b-wwt07ffryb] {
    display: inline-flex;
    gap: 0.15rem;
    padding: 0.15rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
}

.dv-switch > button[b-wwt07ffryb] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.15rem 0.65rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--osen-secondary-color);
    font-size: 0.8rem;
}

.dv-switch > button.on[b-wwt07ffryb] {
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
    font-weight: 600;
}

/* ── Now strip ── */
.dv-now[b-wwt07ffryb] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.dv-now-tile[b-wwt07ffryb] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    color: inherit;
    text-align: left;
}

.dv-now-tile:hover[b-wwt07ffryb],
.dv-now-tile.on[b-wwt07ffryb] { border-color: var(--osen-primary); }

.dv-now-label[b-wwt07ffryb] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.dv-now-label > .ti[b-wwt07ffryb] { color: var(--osen-primary); }

.dv-now-value[b-wwt07ffryb] {
    font-size: 1.35rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.dv-now-value.hot[b-wwt07ffryb] { color: var(--osen-danger); }

.dv-now-note[b-wwt07ffryb] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

/* ── Panels ── */
.dv-panel[b-wwt07ffryb] {
    margin-bottom: 1rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.dv-panel-head[b-wwt07ffryb] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
    padding: 0.7rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.dv-title[b-wwt07ffryb] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 600;
}

.dv-title > .ti[b-wwt07ffryb] { color: var(--osen-primary); }

.dv-count[b-wwt07ffryb] {
    min-width: 1.4rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-weight: 600;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.dv-count.warn[b-wwt07ffryb] { background: var(--osen-warning); color: #000; }

.dv-note[b-wwt07ffryb] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.dv-empty[b-wwt07ffryb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding: 2.5rem 1rem;
    color: var(--osen-secondary-color);
}

.dv-empty > .ti[b-wwt07ffryb] { font-size: 2rem; }

.dv-linkbtn[b-wwt07ffryb] {
    padding: 0;
    border: 0;
    background: none;
    color: var(--osen-primary);
    font-weight: 600;
}

.dv-linkbtn:hover[b-wwt07ffryb] { text-decoration: underline; }
.dv-linkbtn.muted[b-wwt07ffryb] { color: var(--osen-secondary-color); }

.dv-flag[b-wwt07ffryb] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.02rem 0.5rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.dv-flag.danger[b-wwt07ffryb] { background: color-mix(in srgb, var(--osen-danger) 14%, transparent); color: var(--osen-danger); }
.dv-flag.orange[b-wwt07ffryb] { background: color-mix(in srgb, #fd7e14 16%, transparent); color: #fd7e14; }

.dv-people[b-wwt07ffryb] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.dv-person[b-wwt07ffryb] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    font-size: 0.8rem;
}

.dv-role[b-wwt07ffryb] {
    flex-shrink: 0;
    min-width: 1.6rem;
    padding: 0 0.25rem;
    border-radius: 0.3rem;
    background: var(--osen-tertiary-bg);
    font-size: 0.62rem;
    font-weight: 600;
    text-align: center;
    color: var(--osen-secondary-color);
}

.dv-name[b-wwt07ffryb] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dv-missing[b-wwt07ffryb] { color: var(--osen-danger); font-weight: 600; }
.dv-ans.ok[b-wwt07ffryb] { color: var(--osen-success); }
.dv-ans.no[b-wwt07ffryb] { color: var(--osen-danger); }

.dv-title-line[b-wwt07ffryb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.dv-sub[b-wwt07ffryb] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Task colours — squares and timeline blocks */
.dv-sq[b-wwt07ffryb] {
    display: inline-block;
    width: 0.8rem;
    height: 0.8rem;
    padding: 0;
    border: 0;
    border-radius: 0.22rem;
}

button.dv-sq[b-wwt07ffryb] { cursor: pointer; }
button.dv-sq:hover[b-wwt07ffryb] { outline: 2px solid var(--osen-primary); outline-offset: 1px; }

.pending[b-wwt07ffryb] { --dv-c: var(--osen-secondary-color); }
.transit[b-wwt07ffryb] { --dv-c: var(--osen-primary); }
.arrived[b-wwt07ffryb] { --dv-c: #17a2b8; }
.departed[b-wwt07ffryb] { --dv-c: var(--osen-info); }
.done[b-wwt07ffryb] { --dv-c: var(--osen-success); }
.skipped[b-wwt07ffryb] { --dv-c: #fd7e14; }
.cancel[b-wwt07ffryb] { --dv-c: var(--osen-danger); }

.dv-sq.pending[b-wwt07ffryb] { background: transparent; box-shadow: inset 0 0 0 2px var(--dv-c); }
.dv-sq.transit[b-wwt07ffryb],
.dv-sq.arrived[b-wwt07ffryb],
.dv-sq.departed[b-wwt07ffryb],
.dv-sq.done[b-wwt07ffryb],
.dv-sq.skipped[b-wwt07ffryb] { background: var(--dv-c); }
.dv-sq.cancel[b-wwt07ffryb] { background: color-mix(in srgb, var(--dv-c) 30%, transparent); }

.dv-legend[b-wwt07ffryb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.8rem;
    font-size: 0.72rem;
    color: var(--osen-secondary-color);
}

.dv-legend > span[b-wwt07ffryb] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

/* ── List view ── */
.dv-group-head[b-wwt07ffryb] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem 1rem;
    border: 0;
    border-radius: 0.6rem;
    background: transparent;
    color: var(--osen-body-color);
    text-align: left;
}

.dv-group-head > .ti:first-child[b-wwt07ffryb] { color: var(--osen-primary); }
.dv-group-name[b-wwt07ffryb] { font-weight: 600; }
.dv-group-attention .dv-group-head > .ti:first-child[b-wwt07ffryb],
.dv-group-attention .dv-group-name[b-wwt07ffryb] { color: var(--osen-danger); }

.dv-rows[b-wwt07ffryb] {
    padding: 0 1rem 0.75rem;
}

.dv-item[b-wwt07ffryb] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.5rem;
    background: var(--osen-secondary-bg);
}

.dv-item + .dv-item[b-wwt07ffryb] { margin-top: 0.4rem; }

/* mark · when · shift · people · progress · open */
.dv-item-row[b-wwt07ffryb] {
    display: grid;
    grid-template-columns: 4px 6.5rem minmax(0, 1fr) minmax(10rem, 14rem) minmax(8rem, 11rem) auto;
    gap: 0.8rem;
    align-items: center;
    padding: 0.55rem 0.6rem 0.55rem 0;
    font-size: 0.85rem;
}

.dv-mark[b-wwt07ffryb] {
    align-self: stretch;
    margin-left: -1px;
    border-radius: 0.5rem 0 0 0.5rem;
    background: var(--osen-border-color);
}

.urgent > .dv-item-row > .dv-mark[b-wwt07ffryb] { background: var(--osen-danger); }
.soon > .dv-item-row > .dv-mark[b-wwt07ffryb] { background: #6f42c1; }
.live > .dv-item-row > .dv-mark[b-wwt07ffryb] { background: var(--osen-info); }
.ok > .dv-item-row > .dv-mark[b-wwt07ffryb] { background: var(--osen-success); }
.done > .dv-item-row > .dv-mark[b-wwt07ffryb] { background: color-mix(in srgb, var(--osen-success) 50%, transparent); }
.dv-item.faded[b-wwt07ffryb] { opacity: 0.6; }

.dv-time[b-wwt07ffryb] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.dv-squares[b-wwt07ffryb] {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    margin-top: 0.2rem;
}

.dv-tasks[b-wwt07ffryb] {
    margin: 0 0.6rem 0.55rem 1.1rem;
    border-top: 1px dashed var(--osen-border-color);
    padding-top: 0.35rem;
}

/* time · task · customer · route · status */
.dv-task-row[b-wwt07ffryb] {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.25rem 0.5rem;
    border-left: 3px solid var(--dv-c);
    border-radius: 0.3rem;
    font-size: 0.8rem;
}

.dv-task-row + .dv-task-row[b-wwt07ffryb] { margin-top: 0.15rem; }

.dv-task-time[b-wwt07ffryb] {
    font-variant-numeric: tabular-nums;
    color: var(--osen-secondary-color);
    white-space: nowrap;
}

.dv-task-what[b-wwt07ffryb],
.dv-task-who[b-wwt07ffryb],
.dv-task-route[b-wwt07ffryb] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dv-task-who[b-wwt07ffryb],
.dv-task-route[b-wwt07ffryb] { color: var(--osen-secondary-color); font-size: 0.75rem; }

/* ── Timeline ── */
.dv-tl[b-wwt07ffryb] {
    padding: 0.25rem 1rem 0.9rem;
    overflow-x: auto;
}

.dv-tl-row[b-wwt07ffryb] {
    display: grid;
    grid-template-columns: 15rem minmax(36rem, 1fr);
    gap: 0.75rem;
    align-items: stretch;
}

.dv-tl-axis[b-wwt07ffryb] {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 0.35rem 0;
    background: var(--osen-secondary-bg);
}

.dv-tl-scale[b-wwt07ffryb] {
    position: relative;
    height: 1.1rem;
}

.dv-tl-scale > span[b-wwt07ffryb] {
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    font-size: 0.68rem;
    font-variant-numeric: tabular-nums;
    color: var(--osen-secondary-color);
}

.dv-tl-scale > span:first-child[b-wwt07ffryb] { transform: none; }

.dv-tl-group[b-wwt07ffryb] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0.6rem 0 0.25rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.dv-tl-group > .ti[b-wwt07ffryb] { color: var(--osen-primary); font-size: 0.9rem; }
.dv-tl-group > span[b-wwt07ffryb] { font-weight: 500; }
.dv-tl-group.dv-group-attention[b-wwt07ffryb],
.dv-tl-group.dv-group-attention > .ti[b-wwt07ffryb] { color: var(--osen-danger); }

.dv-lane + .dv-lane[b-wwt07ffryb] { margin-top: 0.3rem; }

.dv-lane-label[b-wwt07ffryb] {
    min-width: 0;
    padding: 0.35rem 0.5rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.45rem;
}

.dv-time-sm[b-wwt07ffryb] {
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
    color: var(--osen-secondary-color);
}

.dv-dot[b-wwt07ffryb] {
    flex-shrink: 0;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--osen-border-color);
}

.dv-dot.urgent[b-wwt07ffryb] { background: var(--osen-danger); }
.dv-dot.soon[b-wwt07ffryb] { background: #6f42c1; }
.dv-dot.live[b-wwt07ffryb] { background: var(--osen-info); }
.dv-dot.ok[b-wwt07ffryb] { background: var(--osen-success); }
.dv-dot.warn[b-wwt07ffryb] { background: var(--osen-warning); }

/* The hour grid is drawn as a background: one line per hour. */
.dv-tl-track[b-wwt07ffryb] {
    position: relative;
    min-height: 3.6rem;
    border-radius: 0.45rem;
    background-color: color-mix(in srgb, var(--osen-tertiary-bg) 40%, transparent);
    background-image: linear-gradient(to right, var(--osen-border-color) 1px, transparent 1px);
    background-size: calc(100% / var(--dv-hours)) 100%;
}

.dv-bar[b-wwt07ffryb] {
    position: absolute;
    top: 0.3rem;
    bottom: 0.3rem;
    border-radius: 0.4rem;
    border: 1px dashed var(--osen-border-color);
    background: color-mix(in srgb, var(--osen-primary) 6%, transparent);
}

.dv-bar.urgent[b-wwt07ffryb] { border-color: var(--osen-danger); }
.dv-bar.live[b-wwt07ffryb] { border-color: var(--osen-info); border-style: solid; }
.dv-bar.ok[b-wwt07ffryb] { border-color: var(--osen-success); }
.dv-bar.soon[b-wwt07ffryb] { border-color: #6f42c1; }

.dv-block[b-wwt07ffryb] {
    position: absolute;
    top: 0.75rem;
    bottom: 0.75rem;
    z-index: 1;
    display: flex;
    align-items: center;
    min-width: 0.4rem;
    padding: 0 0.35rem;
    overflow: hidden;
    border: 0;
    border-radius: 0.35rem;
    background: color-mix(in srgb, var(--dv-c) 22%, var(--osen-secondary-bg));
    box-shadow: inset 3px 0 0 var(--dv-c);
    color: var(--osen-body-color);
    font-size: 0.7rem;
    text-align: left;
    white-space: nowrap;
}

.dv-block > span[b-wwt07ffryb] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.dv-block:hover[b-wwt07ffryb] { outline: 2px solid var(--dv-c); z-index: 3; }
.dv-block.pending[b-wwt07ffryb] { background: color-mix(in srgb, var(--osen-primary) 8%, var(--osen-secondary-bg)); }
.dv-block.cancel[b-wwt07ffryb] { opacity: 0.55; text-decoration: line-through; }

.dv-nowline[b-wwt07ffryb] {
    position: absolute;
    top: -0.2rem;
    bottom: -0.2rem;
    z-index: 2;
    width: 2px;
    background: var(--osen-danger);
}

/* ── Side panels ── */
.dv-mini-list[b-wwt07ffryb] {
    padding: 0.4rem 0.6rem 0.6rem;
}

.dv-stat[b-wwt07ffryb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.4rem;
    font-size: 0.82rem;
}

.dv-stat + .dv-stat[b-wwt07ffryb] { border-top: 1px solid var(--osen-border-color); }
.dv-stat > .ti[b-wwt07ffryb] { color: var(--osen-secondary-color); }
.dv-stat > span[b-wwt07ffryb] { flex-grow: 1; color: var(--osen-secondary-color); }
.dv-stat > strong[b-wwt07ffryb] { font-variant-numeric: tabular-nums; }
.dv-stat > strong.warn[b-wwt07ffryb] { color: var(--osen-warning); }

.dv-blockout[b-wwt07ffryb] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.45rem 0.4rem;
}

.dv-blockout + .dv-blockout[b-wwt07ffryb] { border-top: 1px solid var(--osen-border-color); }

.dv-blockout-name[b-wwt07ffryb] {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--osen-body-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dv-done[b-wwt07ffryb] {
    flex-shrink: 0;
    width: 1.8rem;
    height: 1.8rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-success);
}

.dv-done:hover[b-wwt07ffryb] { border-color: var(--osen-success); }

.dv-link[b-wwt07ffryb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.4rem;
    border-radius: 0.4rem;
    font-size: 0.82rem;
    color: var(--osen-body-color);
}

.dv-link:hover[b-wwt07ffryb] { background: var(--osen-tertiary-bg); color: var(--osen-body-color); }
.dv-link > .ti[b-wwt07ffryb] { color: var(--osen-primary); }

@media (max-width: 1399.98px) {
    .dv-now[b-wwt07ffryb] { grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .dv-item-row[b-wwt07ffryb] { grid-template-columns: 4px 6rem minmax(0, 1fr) auto; row-gap: 0.4rem; }
    .dv-mark[b-wwt07ffryb] { grid-row: span 2; }
    .dv-item-row > .dv-people[b-wwt07ffryb] { grid-column: 3; grid-row: 2; }
    .dv-item-row > .dv-progress[b-wwt07ffryb] { grid-column: 2; grid-row: 2; }

    .dv-task-row[b-wwt07ffryb] { grid-template-columns: 6rem minmax(0, 1fr) auto; }
    .dv-task-who[b-wwt07ffryb],
    .dv-task-route[b-wwt07ffryb] { display: none; }
}

@media (max-width: 991.98px) {
    .dv-search[b-wwt07ffryb], .dv-picker[b-wwt07ffryb] { width: 100%; }
    .dv-tl-row[b-wwt07ffryb] { grid-template-columns: 11rem minmax(30rem, 1fr); }
}

@media (max-width: 767.98px) {
    .dv-now[b-wwt07ffryb] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* /Components/Pages/Operations/Dispatch/DispatchWorkspace.razor.rz.scp.css */
/* ── Command bar ───────────────────────────────────────────────── */
.workspace-command-card[b-lj1fn2aw0z] { overflow: visible; border: 0; box-shadow: 0 .25rem 1.25rem rgba(15, 23, 42, .07); }
.workspace-command-card > .card-body[b-lj1fn2aw0z] { overflow: visible; padding: .6rem .75rem; }
.workspace-commandbar[b-lj1fn2aw0z] { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }

/* Shared control look: 32px tall, hairline border, transparent fill. */
.workspace-date-control[b-lj1fn2aw0z],
.workspace-segmented[b-lj1fn2aw0z],
.workspace-search[b-lj1fn2aw0z],
.workspace-icon-button[b-lj1fn2aw0z],
.workspace-pill-button[b-lj1fn2aw0z] {
    height: 32px;
    border: 1px solid var(--osen-border-color, #37394d);
    border-radius: .5rem;
    background: rgba(131, 145, 162, .05);
    color: var(--osen-secondary-color, #8391a2);
}

.workspace-date-control[b-lj1fn2aw0z] { display: inline-flex; align-items: center; overflow: hidden; }
.workspace-date-step[b-lj1fn2aw0z] { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 100%; padding: 0; border: 0; background: transparent; color: inherit; }
.workspace-date-step:hover:not(:disabled)[b-lj1fn2aw0z] { background: rgba(70, 93, 255, .14); color: var(--osen-primary, #465dff); }
.workspace-date-control[b-lj1fn2aw0z]  .col-sm-auto { padding: 0; }
.workspace-date-control[b-lj1fn2aw0z]  .input-group { flex-wrap: nowrap; height: 30px; border-right: 1px solid var(--osen-border-color, #37394d); border-left: 1px solid var(--osen-border-color, #37394d); }
.workspace-date-control[b-lj1fn2aw0z]  .form-control {
    width: 196px;
    height: 30px;
    padding: 0 0 0 .6rem;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--osen-body-color, #dee2e6);
    font-size: .8rem;
    font-weight: 600;
    cursor: pointer;
}
.workspace-date-control[b-lj1fn2aw0z]  .input-group-text {
    padding: 0 .55rem;
    border: 0 !important;
    background: transparent !important;
    color: var(--osen-primary, #465dff) !important;
}
.workspace-date-control[b-lj1fn2aw0z]  .input-group-text:hover { background: rgba(70, 93, 255, .14) !important; }

.workspace-pill-button[b-lj1fn2aw0z] { display: inline-flex; align-items: center; gap: .3rem; padding: 0 .65rem; font-size: .75rem; font-weight: 600; }
.workspace-pill-button:hover:not(:disabled)[b-lj1fn2aw0z] { border-color: rgba(70, 93, 255, .6); color: var(--osen-primary, #465dff); }

.workspace-segmented[b-lj1fn2aw0z] { display: inline-flex; align-items: center; gap: 2px; padding: 2px; }
.workspace-segmented > button[b-lj1fn2aw0z] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    height: 100%;
    padding: 0 .6rem;
    border: 0;
    border-radius: .35rem;
    background: transparent;
    color: inherit;
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
}
.workspace-segmented > button:hover:not(:disabled):not(.is-active)[b-lj1fn2aw0z] { background: rgba(131, 145, 162, .12); color: var(--osen-body-color, #dee2e6); }
.workspace-segmented > button.is-active[b-lj1fn2aw0z] { background: var(--osen-primary, #465dff); color: #fff; box-shadow: 0 .15rem .4rem rgba(70, 93, 255, .35); }
.workspace-segmented > button:disabled[b-lj1fn2aw0z] { opacity: .35; }
.workspace-segmented.is-small[b-lj1fn2aw0z] { height: 30px; }
.workspace-segmented-value[b-lj1fn2aw0z] { padding: 0 .3rem; font-size: .7rem; font-variant-numeric: tabular-nums; }

.workspace-search[b-lj1fn2aw0z] { display: flex; flex: 1 1 200px; align-items: center; gap: .45rem; max-width: 360px; padding: 0 .65rem; }
.workspace-search:focus-within[b-lj1fn2aw0z] { border-color: rgba(70, 93, 255, .6); box-shadow: 0 0 0 .15rem rgba(70, 93, 255, .15); }
.workspace-search input[b-lj1fn2aw0z] { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--osen-body-color, #dee2e6); font-size: .8rem; }

.workspace-command-actions[b-lj1fn2aw0z] { display: flex; align-items: center; gap: .4rem; margin-left: auto; }
.workspace-result-count[b-lj1fn2aw0z] { display: flex; align-items: baseline; gap: .3rem; padding-right: .25rem; white-space: nowrap; }
.workspace-result-count strong[b-lj1fn2aw0z] { font-size: 1.05rem; }
.workspace-result-count small[b-lj1fn2aw0z] { color: var(--osen-secondary-color, #8391a2); }
.workspace-icon-button[b-lj1fn2aw0z] { display: inline-flex; align-items: center; justify-content: center; width: 32px; padding: 0; font-size: 1rem; }
.workspace-icon-button:hover:not(:disabled)[b-lj1fn2aw0z] { border-color: rgba(70, 93, 255, .6); color: var(--osen-primary, #465dff); }
.workspace-icon-button.is-danger:hover:not(:disabled)[b-lj1fn2aw0z] { border-color: rgba(220, 53, 69, .6); color: #dc3545; }

/* ── Filter bar ────────────────────────────────────────────────── */
.workspace-filterbar[b-lj1fn2aw0z] { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-top: .55rem; padding-top: .55rem; border-top: 1px solid rgba(131, 145, 162, .14); }
.workspace-filterbar-divider[b-lj1fn2aw0z] { width: 1px; height: 20px; margin: 0 .2rem; background: rgba(131, 145, 162, .25); }
.workspace-toggle-chip[b-lj1fn2aw0z] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    height: 30px;
    padding: 0 .6rem;
    border: 1px dashed rgba(131, 145, 162, .45);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-secondary-color, #8391a2);
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
}
.workspace-toggle-chip:hover[b-lj1fn2aw0z] { border-color: rgba(70, 93, 255, .6); color: var(--osen-body-color, #dee2e6); }
.workspace-toggle-chip.is-on[b-lj1fn2aw0z] { border-style: solid; border-color: rgba(70, 93, 255, .45); background: rgba(70, 93, 255, .12); color: var(--osen-body-color, #dee2e6); }
.workspace-toggle-chip.is-on .ti[b-lj1fn2aw0z] { color: var(--osen-primary, #465dff); }
.workspace-reset[b-lj1fn2aw0z] { display: inline-flex; align-items: center; gap: .25rem; height: 30px; padding: 0 .5rem; border: 0; background: transparent; color: var(--osen-secondary-color, #8391a2); font-size: .75rem; font-weight: 600; }
.workspace-reset:hover[b-lj1fn2aw0z] { color: #dc3545; }

/* Saved views sit inline; their manager and save form drop down as panels
   instead of pushing the filter bar around. */
.workspace-presets[b-lj1fn2aw0z] { position: relative; }
.workspace-presets[b-lj1fn2aw0z]  .input-group { width: 210px !important; height: 30px; }
.workspace-presets[b-lj1fn2aw0z]  .input-group .form-select,
.workspace-presets[b-lj1fn2aw0z]  .input-group .input-group-text { height: 30px; border-color: var(--osen-border-color, #37394d); background-color: transparent; font-size: .75rem; }
.workspace-presets[b-lj1fn2aw0z]  .btn-sm { height: 30px; min-width: 30px; font-size: .72rem; }
.workspace-presets[b-lj1fn2aw0z]  .view-preset-manager,
.workspace-presets[b-lj1fn2aw0z]  .card.border-primary {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 1045;
    width: min(540px, 92vw);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, .35) !important;
}

/* Requirements editor inside its filter chip panel. */
.workspace-requirements[b-lj1fn2aw0z] { display: flex; flex-direction: column; gap: .55rem; }
.workspace-requirements-head strong[b-lj1fn2aw0z] { display: block; font-size: .8rem; }
.workspace-requirements-head small[b-lj1fn2aw0z] { color: var(--osen-secondary-color, #8391a2); font-size: .7rem; }
.workspace-requirement-row[b-lj1fn2aw0z] { padding: .55rem; border: 1px solid rgba(70, 93, 255, .2); border-radius: .5rem; background: rgba(70, 93, 255, .04); }
.workspace-requirement-row-head[b-lj1fn2aw0z] { display: grid; grid-template-columns: minmax(0, 1fr) 140px 32px; align-items: center; gap: .4rem; margin-bottom: .4rem; font-size: .78rem; }
.workspace-requirement-row-head .form-select[b-lj1fn2aw0z] { height: 30px; font-size: .72rem; }
.workspace-field[b-lj1fn2aw0z] { min-width: 0; }
.workspace-values-field[b-lj1fn2aw0z] { min-width: 0; }
.workspace-value-loading[b-lj1fn2aw0z], .workspace-value-empty[b-lj1fn2aw0z] { min-height: 34px; display: flex; align-items: center; padding: .4rem .6rem; border: 1px dashed var(--osen-border-color, #37394d); border-radius: .4rem; color: var(--osen-secondary-color, #8391a2); font-size: .72rem; }
.workspace-error-state[b-lj1fn2aw0z] { display: flex; align-items: center; justify-content: center; gap: 1rem; min-height: 260px; padding: 2rem; border: 1px dashed rgba(var(--osen-danger-rgb), .35); border-radius: .75rem; background: rgba(var(--osen-danger-rgb), .025); text-align: left; }
.workspace-error-state h5[b-lj1fn2aw0z] { margin-bottom: .2rem; }
.workspace-error-state p[b-lj1fn2aw0z] { margin-bottom: .75rem; color: var(--osen-secondary-color); }
.workspace-error-icon[b-lj1fn2aw0z] { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 58px; width: 58px; height: 58px; border-radius: 1rem; background: rgba(var(--osen-danger-rgb), .1); color: var(--osen-danger); font-size: 1.6rem; }
[b-lj1fn2aw0z] .workspace-values-field .choices { margin-bottom: 0; }
[b-lj1fn2aw0z] .workspace-values-field .choices__inner { min-height: 38px; padding-top: .3rem; border-radius: .4rem; }
[b-lj1fn2aw0z] .workspace-field .choices { position: relative; margin-bottom: 0; }
[b-lj1fn2aw0z] .workspace-field .choices.is-open { z-index: 2050; }
[b-lj1fn2aw0z] .workspace-field .choices__inner {
    min-height: 38px;
    padding: .25rem .5rem;
    border-color: var(--osen-border-color);
    border-radius: .5rem;
    background: var(--osen-secondary-bg, var(--osen-body-bg));
}
[b-lj1fn2aw0z] .workspace-field .choices.is-focused .choices__inner,
[b-lj1fn2aw0z] .workspace-field .choices.is-open .choices__inner {
    border-color: rgba(var(--osen-primary-rgb), .55);
    box-shadow: 0 0 0 .15rem rgba(var(--osen-primary-rgb), .12);
}
[b-lj1fn2aw0z] .workspace-field .choices__list--multiple .choices__item {
    margin: .1rem .2rem .1rem 0;
    border-color: rgba(var(--osen-primary-rgb), .22);
    border-radius: 999px;
    background: rgba(var(--osen-primary-rgb), .12);
    color: var(--osen-primary);
    font-weight: 600;
}
[b-lj1fn2aw0z] .workspace-field .choices__list--dropdown,
[b-lj1fn2aw0z] .workspace-field .choices__list[aria-expanded] {
    z-index: 2050 !important;
    max-height: 260px;
    overflow-y: auto;
    border-color: var(--osen-border-color);
    background-color: var(--osen-secondary-bg, var(--osen-secondary-bg, #fff)) !important;
    box-shadow: 0 .75rem 1.5rem rgba(15, 23, 42, .28);
    opacity: 1 !important;
}
[b-lj1fn2aw0z] .workspace-field .choices__list--dropdown .choices__item,
[b-lj1fn2aw0z] .workspace-field .choices__list[aria-expanded] .choices__item {
    background-color: var(--osen-secondary-bg, var(--osen-secondary-bg, #fff)) !important;
    color: var(--osen-body-color);
}
[b-lj1fn2aw0z] .workspace-field .choices__list--dropdown .choices__item--selectable.is-highlighted,
[b-lj1fn2aw0z] .workspace-field .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
    background-color: rgba(var(--osen-primary-rgb), .22) !important;
}
.workspace-spin[b-lj1fn2aw0z] { animation: workspace-spin-b-lj1fn2aw0z .8s linear infinite; }
@keyframes workspace-spin-b-lj1fn2aw0z { to { transform: rotate(360deg); } }
.workspace-card[b-lj1fn2aw0z] { position: relative; z-index: 0; overflow: hidden; }
.workspace-scroll[b-lj1fn2aw0z] { overflow: auto; max-height: calc(100vh - 310px); }
.workspace-grid[b-lj1fn2aw0z] { width: var(--workspace-grid-width) !important; min-width: var(--workspace-grid-width); table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.workspace-grid th[b-lj1fn2aw0z], .workspace-grid td[b-lj1fn2aw0z] { border-top: 0; border-left: 0; }
.workspace-grid thead[b-lj1fn2aw0z] { position: relative; z-index: 8; }
.workspace-grid thead th[b-lj1fn2aw0z] { position: sticky; top: 0; z-index: 8; height: 54px; min-height: 54px; padding-top: .55rem; padding-bottom: .55rem; border-bottom: 1px solid var(--osen-border-color, var(--osen-border-color)); background: var(--osen-secondary-bg, var(--osen-light, #f4f5f7)) !important; color: var(--osen-body-color, var(--osen-body-color)); box-shadow: 0 .3rem .65rem rgba(15, 23, 42, .18); text-align: center; vertical-align: middle; }
.workspace-name-column[b-lj1fn2aw0z] { position: sticky; left: 0; z-index: 3; width: 230px; min-width: 230px; max-width: 230px; background: var(--osen-card-bg, var(--osen-body-bg)) !important; box-shadow: .35rem 0 .75rem rgba(15, 23, 42, .12); }
.workspace-grid thead .workspace-name-column[b-lj1fn2aw0z] { z-index: 10; background: var(--osen-secondary-bg, var(--osen-light, #f4f5f7)) !important; text-align: left; }
.workspace-date-column[b-lj1fn2aw0z] { min-width: 125px; width: 125px; }
.workspace-date-column small[b-lj1fn2aw0z] { display: block; color: var(--osen-secondary-color); font-weight: 400; text-transform: uppercase; }
.workspace-cell[b-lj1fn2aw0z] { min-width: 142px; width: 142px; max-width: 142px; padding: .35rem; vertical-align: top; transition: background-color .12s ease; }
.workspace-cell.is-available[b-lj1fn2aw0z] { background: rgba(var(--osen-success-rgb), .13); }
.workspace-cell.has-blocks[b-lj1fn2aw0z] { background: rgba(var(--osen-primary-rgb), .035); }
.workspace-grid tbody tr:nth-child(even) .workspace-cell.is-available[b-lj1fn2aw0z] { background: rgba(var(--osen-success-rgb), .17); }
.workspace-grid tbody tr:hover .workspace-cell[b-lj1fn2aw0z] { box-shadow: inset 0 0 0 999px rgba(var(--osen-primary-rgb), .025); }
.workspace-today[b-lj1fn2aw0z] { box-shadow: inset 2px 0 rgba(var(--osen-primary-rgb), .35), inset -2px 0 rgba(var(--osen-primary-rgb), .35); }
.resource-identity[b-lj1fn2aw0z] { display: flex; align-items: center; gap: .65rem; min-width: 0; padding: .1rem 0; }
.resource-avatar[b-lj1fn2aw0z] { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; color: #fff; font-size: .7rem; font-weight: 800; box-shadow: 0 .2rem .45rem rgba(15, 23, 42, .22); }
.resource-avatar.is-vehicle[b-lj1fn2aw0z] { background: linear-gradient(135deg, var(--osen-info), #2b8a9d); font-size: 1rem; }
.resource-avatar.is-equipment[b-lj1fn2aw0z] { background: linear-gradient(135deg, var(--osen-warning), #e08b20); color: #241a05; font-size: 1rem; }
.resource-meta[b-lj1fn2aw0z] { margin-top: .08rem; color: var(--osen-secondary-color); font-size: .66rem; font-weight: 500; }
.workspace-available[b-lj1fn2aw0z] { display: flex; align-items: center; justify-content: center; width: fit-content; margin: .35rem auto; padding: .22rem .45rem; border: 1px solid rgba(var(--osen-success-rgb), .24); border-radius: 999px; background: rgba(var(--osen-success-rgb), .14); color: var(--osen-success); font-size: .66rem; font-weight: 700; text-align: center; }
.workspace-block[b-lj1fn2aw0z] {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: .25rem;
    margin-bottom: .3rem;
    padding: .45rem .5rem;
    overflow: hidden;
    border: 1px solid var(--workspace-api-color, var(--osen-secondary));
    border-left: 3px solid var(--workspace-api-color, var(--osen-secondary));
    border-radius: .5rem;
    background: var(--workspace-api-bg, rgba(var(--osen-secondary-rgb), .12));
    color: var(--osen-body-color);
    text-align: left;
    line-height: 1.15;
    transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.workspace-block:hover[b-lj1fn2aw0z] {
    transform: translateY(-1px);
    border-color: rgba(var(--osen-primary-rgb), .32);
    box-shadow: 0 .25rem .6rem rgba(15, 23, 42, .1);
}
.workspace-block-shift[b-lj1fn2aw0z] { border-style: solid; }
.workspace-block-off[b-lj1fn2aw0z] { border-style: solid; }
.workspace-block-soft[b-lj1fn2aw0z] { border-left-style: dashed; }
.workspace-block.is-completed[b-lj1fn2aw0z] { border-color: rgba(25, 135, 84, .82); border-left: 5px solid #198754; background: rgba(25, 135, 84, .32); }
.workspace-block.is-dispatched[b-lj1fn2aw0z] { border-color: rgba(13, 202, 240, .82); border-left: 5px solid #0dcaf0; background: rgba(13, 202, 240, .26); }
.workspace-block.is-accepted[b-lj1fn2aw0z] { border-color: rgba(25, 135, 84, .76); border-left: 5px solid #20c997; background: rgba(25, 135, 84, .27); }
.workspace-block.is-draft[b-lj1fn2aw0z] { border-color: rgba(255, 193, 7, .82); border-left: 5px solid #ffc107; background: rgba(255, 193, 7, .26); }
.workspace-block.is-attention[b-lj1fn2aw0z] { border-color: rgba(220, 53, 69, .84); border-left: 5px solid #dc3545; background: rgba(220, 53, 69, .3); }
.workspace-block-head[b-lj1fn2aw0z] { display: flex; align-items: center; justify-content: space-between; gap: .3rem; }
.workspace-block-time[b-lj1fn2aw0z] { color: var(--osen-body-color); font-size: .67rem; font-weight: 700; white-space: nowrap; }
.workspace-block-status[b-lj1fn2aw0z] { overflow: hidden; color: var(--osen-body-color); font-size: .56rem; font-weight: 800; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.workspace-block-label[b-lj1fn2aw0z] { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .72rem; font-weight: 700; }
.workspace-block-meta[b-lj1fn2aw0z] { display: flex; gap: .4rem; overflow: hidden; color: var(--osen-secondary-color); font-size: .6rem; }
.workspace-block-meta span[b-lj1fn2aw0z] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-legend[b-lj1fn2aw0z] { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: .25rem; }
.workspace-legend-available[b-lj1fn2aw0z] { background: rgba(var(--osen-success-rgb), .55); }
.workspace-legend-accepted[b-lj1fn2aw0z] { background: #20c997; }
.workspace-legend-active[b-lj1fn2aw0z] { background: #0dcaf0; }
.workspace-legend-pending[b-lj1fn2aw0z] { background: #ffc107; }
.workspace-legend-off[b-lj1fn2aw0z] { background: rgba(var(--osen-dark-rgb), .45); }
.workspace-compact .workspace-grid th[b-lj1fn2aw0z], .workspace-compact .workspace-grid td[b-lj1fn2aw0z] { padding-top: .22rem; padding-bottom: .22rem; }
.workspace-compact .workspace-date-column[b-lj1fn2aw0z], .workspace-compact .workspace-cell[b-lj1fn2aw0z] { min-width: 122px; width: 122px; max-width: 122px; }
.workspace-compact .workspace-name-column[b-lj1fn2aw0z] { min-width: 200px; width: 200px; }
.tour-matrix-legend[b-lj1fn2aw0z] { display: inline-block; width: .68rem; height: .68rem; margin-right: .3rem; border-radius: .2rem; vertical-align: -.06rem; }
.tour-matrix-legend.is-confirmed[b-lj1fn2aw0z] { background: #198754; }
.tour-matrix-legend.is-active[b-lj1fn2aw0z] { background: #0dcaf0; }
.tour-matrix-legend.is-pending[b-lj1fn2aw0z] { background: #ffc107; }
.tour-matrix-legend.is-attention[b-lj1fn2aw0z] { background: #dc3545; }
.tour-matrix-legend.is-empty[b-lj1fn2aw0z] {
    border: 1px solid rgba(var(--osen-secondary-rgb), .22);
    background: repeating-linear-gradient(135deg, rgba(var(--osen-secondary-rgb), .1), rgba(var(--osen-secondary-rgb), .1) 5px, transparent 5px, transparent 10px);
}
.tour-matrix-wrap[b-lj1fn2aw0z] { position: relative; max-height: calc(100vh - 300px); overflow: auto; background: var(--osen-card-bg, var(--osen-body-bg, var(--osen-card-bg, var(--osen-body-bg)))); isolation: isolate; }
.tour-matrix[b-lj1fn2aw0z] { max-width: none !important; table-layout: fixed !important; border-collapse: separate; border-spacing: 0; color: var(--osen-body-color); }
.tour-matrix-operation-col[b-lj1fn2aw0z] { width: 280px; }
.tour-matrix-day-col[b-lj1fn2aw0z] { width: 145px; }
.tour-matrix th[b-lj1fn2aw0z],
.tour-matrix td[b-lj1fn2aw0z] { box-sizing: border-box; overflow: hidden; }
.tour-matrix-corner[b-lj1fn2aw0z],
.tour-matrix-date[b-lj1fn2aw0z] {
    position: sticky;
    top: 0;
    z-index: 4;
    width: 145px;
    min-width: 145px;
    max-width: 145px;
    min-height: 3.25rem;
    padding: .55rem .75rem;
    border-right: 1px solid rgba(var(--osen-secondary-rgb), .16);
    border-bottom: 1px solid rgba(var(--osen-secondary-rgb), .2);
    background: var(--osen-secondary-bg, var(--osen-light));
    color: var(--osen-secondary-color);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.tour-matrix-corner[b-lj1fn2aw0z] { left: 0; z-index: 20; width: 280px; min-width: 280px; max-width: 280px; overflow: hidden; background-color: var(--osen-secondary-bg, var(--osen-light)); box-shadow: .4rem 0 .8rem rgba(15, 23, 42, .32); text-align: left; }
.tour-matrix-date[b-lj1fn2aw0z] { text-align: center; }
.tour-matrix-date span[b-lj1fn2aw0z],
.tour-matrix-date strong[b-lj1fn2aw0z],
.tour-matrix-date small[b-lj1fn2aw0z] { display: block; }
.tour-matrix-date strong[b-lj1fn2aw0z] { color: var(--osen-body-color); font-size: 1rem; line-height: 1; }
.tour-matrix-date small[b-lj1fn2aw0z] { font-size: .58rem; }
.tour-matrix-date.is-today[b-lj1fn2aw0z] { box-shadow: inset 0 3px var(--osen-primary); color: var(--osen-primary); }
.tour-matrix-tour-column[b-lj1fn2aw0z] {
    position: sticky;
    left: 0;
    z-index: 12;
    width: 280px;
    min-width: 280px;
    max-width: 280px;
    padding: 0;
    overflow: hidden;
    border-right: 1px solid rgba(var(--osen-secondary-rgb), .18);
    border-bottom: 1px solid rgba(var(--osen-secondary-rgb), .16);
    background: var(--osen-card-bg, var(--osen-body-bg, var(--osen-card-bg, var(--osen-body-bg))));
    box-shadow: .4rem 0 .8rem rgba(15, 23, 42, .34);
    vertical-align: top;
}
.tour-matrix-tour[b-lj1fn2aw0z] {
    appearance: none;
    display: flex;
    width: 100%;
    min-height: 7.4rem;
    flex-direction: column;
    align-items: flex-start;
    gap: .12rem;
    padding: .6rem .8rem;
    overflow: hidden;
    border: 0;
    background: transparent;
    color: var(--osen-body-color);
    text-align: left;
    line-height: 1.25;
}
.tour-matrix-tour > *[b-lj1fn2aw0z] { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tour-matrix-tour-column.is-confirmed[b-lj1fn2aw0z] { border-left: 5px solid #198754; background: rgba(25, 135, 84, .23); }
.tour-matrix-tour-column.is-active[b-lj1fn2aw0z] { border-left: 5px solid #0dcaf0; background: rgba(13, 202, 240, .21); }
.tour-matrix-tour-column.is-pending[b-lj1fn2aw0z] { border-left: 5px solid #ffc107; background: rgba(255, 193, 7, .2); }
.tour-matrix-tour-column.is-attention[b-lj1fn2aw0z] { border-left: 5px solid #dc3545; background: rgba(220, 53, 69, .24); }
.tour-matrix-tour:hover[b-lj1fn2aw0z] { background: rgba(var(--osen-primary-rgb), .06); }
.tour-matrix-title[b-lj1fn2aw0z] { display: block; max-width: 100%; overflow: hidden; color: var(--osen-body-color); font-size: .8rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap !important; }
.tour-matrix-meta[b-lj1fn2aw0z] { display: block; max-width: 100%; overflow: hidden; color: var(--osen-secondary-color); font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.tour-matrix-summary[b-lj1fn2aw0z] { display: flex !important; align-items: center; flex-wrap: nowrap; gap: .15rem; margin-top: auto; padding-top: .3rem; }
.tour-matrix-summary .badge[b-lj1fn2aw0z] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tour-matrix-cell[b-lj1fn2aw0z] {
    position: relative;
    width: 145px;
    min-width: 145px;
    max-width: 145px;
    min-height: 7rem;
    height: 7rem;
    padding: 0;
    overflow: hidden;
    border-top: 0;
    border-left: 0;
    border-right: 1px solid rgba(var(--osen-secondary-rgb), .12);
    border-bottom: 1px solid rgba(var(--osen-secondary-rgb), .12);
    color: var(--osen-body-color);
    text-align: center;
    vertical-align: middle;
}
.tour-matrix-cell-action[b-lj1fn2aw0z] { appearance: none; display: flex; width: 100%; height: 100%; min-width: 0; min-height: 7.4rem; flex-direction: column; align-items: center; justify-content: center; gap: .16rem; padding: .55rem .65rem; overflow: hidden; border: 0; background: transparent; color: var(--osen-body-color); text-align: center; }
.tour-matrix-cell-action > span[b-lj1fn2aw0z] { display: block; width: 100%; min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tour-matrix-cell-action .tour-cell-title[b-lj1fn2aw0z] { display: -webkit-box; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal; }
.tour-matrix-cell-action:disabled[b-lj1fn2aw0z] { cursor: default; opacity: 1; }
.tour-matrix-cell.is-empty[b-lj1fn2aw0z] {
    background: repeating-linear-gradient(135deg, rgba(var(--osen-secondary-rgb), .08), rgba(var(--osen-secondary-rgb), .08) 7px, transparent 7px, transparent 14px);
    color: var(--osen-secondary-color);
}
.tour-matrix-cell.is-confirmed[b-lj1fn2aw0z] { border-left: 5px solid #198754; background: rgba(25, 135, 84, .3); }
.tour-matrix-cell.is-active[b-lj1fn2aw0z] { border-left: 5px solid #0dcaf0; background: rgba(13, 202, 240, .27); }
.tour-matrix-cell.is-pending[b-lj1fn2aw0z] { border-left: 5px solid #ffc107; background: rgba(255, 193, 7, .27); }
.tour-matrix-cell.is-attention[b-lj1fn2aw0z] { border-left: 5px solid #dc3545; background: rgba(220, 53, 69, .32); }
.tour-matrix-cell:not(.is-empty):hover[b-lj1fn2aw0z] { cursor: pointer; box-shadow: inset 0 0 0 2px rgba(var(--osen-primary-rgb), .35); }
.tour-matrix-empty-mark[b-lj1fn2aw0z] { color: rgba(var(--osen-secondary-rgb), .5); font-size: 1rem; font-weight: 700; }
.tour-cell-requirement[b-lj1fn2aw0z] { display: inline-flex; align-items: center; max-width: 100%; margin-top: .2rem; padding: .15rem .35rem; border-radius: 999px; background: rgba(var(--osen-primary-rgb), .11); color: var(--osen-primary); font-size: .59rem; font-weight: 700; }
.workspace-compact .tour-matrix-corner[b-lj1fn2aw0z],
.workspace-compact .tour-matrix-tour-column[b-lj1fn2aw0z] { width: 250px; min-width: 250px; max-width: 250px; }
.workspace-compact .tour-matrix-date[b-lj1fn2aw0z],
.workspace-compact .tour-matrix-cell[b-lj1fn2aw0z] { width: 130px; min-width: 130px; max-width: 130px; }
.workspace-compact .tour-matrix-operation-col[b-lj1fn2aw0z] { width: 250px; }
.workspace-compact .tour-matrix-day-col[b-lj1fn2aw0z] { width: 130px; }
.workspace-compact .tour-matrix-tour[b-lj1fn2aw0z],
.workspace-compact .tour-matrix-cell[b-lj1fn2aw0z],
.workspace-compact .tour-matrix-cell-action[b-lj1fn2aw0z] { min-height: 6.5rem; height: 6.5rem; }
.workspace-compact .tour-matrix-tour[b-lj1fn2aw0z],
.workspace-compact .tour-matrix-cell-action[b-lj1fn2aw0z] { padding-top: .45rem; padding-bottom: .45rem; }
/* ── Zoomed-out grids (Weeks / Months) ──
   Widths here must match ResourceDayColumnWidth / TourDayColumnWidth in the
   page, which size the table and colgroup. */
.workspace-zoom-weeks .tour-matrix-corner[b-lj1fn2aw0z], .workspace-zoom-weeks .tour-matrix-tour-column[b-lj1fn2aw0z] { width: 240px; min-width: 240px; max-width: 240px; }
.workspace-zoom-months .tour-matrix-corner[b-lj1fn2aw0z], .workspace-zoom-months .tour-matrix-tour-column[b-lj1fn2aw0z] { width: 220px; min-width: 220px; max-width: 220px; }
.workspace-zoom-weeks .tour-matrix-date[b-lj1fn2aw0z], .workspace-zoom-weeks .tour-matrix-cell[b-lj1fn2aw0z] { width: 64px; min-width: 64px; max-width: 64px; }
.workspace-zoom-months .tour-matrix-date[b-lj1fn2aw0z], .workspace-zoom-months .tour-matrix-cell[b-lj1fn2aw0z] { width: 30px; min-width: 30px; max-width: 30px; }
.workspace-zoom-weeks .tour-matrix-date[b-lj1fn2aw0z], .workspace-zoom-months .tour-matrix-date[b-lj1fn2aw0z] { padding: .35rem 0; letter-spacing: 0; }
.workspace-zoom-months .tour-matrix-date strong[b-lj1fn2aw0z] { font-size: .8rem; }
.workspace-zoom-months .tour-matrix-date span[b-lj1fn2aw0z] { font-size: .56rem; }
.workspace-zoom-month-label[b-lj1fn2aw0z] { display: block; min-height: .8rem; color: var(--osen-primary, #465dff); font-size: .58rem; font-weight: 800; text-transform: uppercase; white-space: nowrap; overflow: visible; }

.workspace-zoom-weeks .tour-matrix-tour[b-lj1fn2aw0z],
.workspace-zoom-weeks .tour-matrix-cell[b-lj1fn2aw0z],
.workspace-zoom-weeks .tour-matrix-cell-action[b-lj1fn2aw0z] { min-height: 3.1rem; height: 3.1rem; }
.workspace-zoom-months .tour-matrix-tour[b-lj1fn2aw0z],
.workspace-zoom-months .tour-matrix-cell[b-lj1fn2aw0z],
.workspace-zoom-months .tour-matrix-cell-action[b-lj1fn2aw0z] { min-height: 2rem; height: 2rem; }
.tour-matrix-tour-slim[b-lj1fn2aw0z] { justify-content: center; padding: .25rem .6rem; gap: 0; }
.tour-slim-line[b-lj1fn2aw0z] { display: flex !important; align-items: baseline; gap: .4rem; }
.tour-slim-line .tour-matrix-title[b-lj1fn2aw0z] { min-width: 0; font-size: .72rem; font-weight: 600; }
.workspace-zoom-months .tour-matrix-tour-column[b-lj1fn2aw0z] { border-left-width: 4px !important; }
.workspace-zoom-weeks .tour-matrix-cell-action[b-lj1fn2aw0z],
.workspace-zoom-months .tour-matrix-cell-action[b-lj1fn2aw0z] { gap: 0; padding: 0 .1rem; font-size: .7rem; line-height: 1.1; }
.workspace-zoom-weeks .tour-matrix-cell-action .small[b-lj1fn2aw0z] { font-size: .62rem; opacity: .85; }

/* Colour carries the meaning at this size, so drop the heavy left rule and
   let consecutive days run together into a bar. */
.workspace-zoom-weeks .tour-matrix-cell:not(.is-empty)[b-lj1fn2aw0z],
.workspace-zoom-months .tour-matrix-cell:not(.is-empty)[b-lj1fn2aw0z] { border-left: 0; border-right-color: rgba(0, 0, 0, .18); }
.workspace-zoom-weeks .tour-matrix-cell.is-empty[b-lj1fn2aw0z],
.workspace-zoom-months .tour-matrix-cell.is-empty[b-lj1fn2aw0z] { background: transparent; }
.workspace-zoom-weeks .tour-matrix-cell.is-empty.is-span[b-lj1fn2aw0z],
.workspace-zoom-months .tour-matrix-cell.is-empty.is-span[b-lj1fn2aw0z] { background: rgba(131, 145, 162, .16); }
.workspace-zoom-months .tour-matrix-cell.is-confirmed[b-lj1fn2aw0z] { background: rgba(25, 135, 84, .7); }
.workspace-zoom-months .tour-matrix-cell.is-active[b-lj1fn2aw0z] { background: rgba(13, 202, 240, .65); }
.workspace-zoom-months .tour-matrix-cell.is-pending[b-lj1fn2aw0z] { background: rgba(255, 193, 7, .65); }
.workspace-zoom-months .tour-matrix-cell.is-attention[b-lj1fn2aw0z] { background: rgba(220, 53, 69, .72); }

/* Weekend shading and week boundaries keep a long strip readable. */
.workspace-zoom-weeks td.tour-matrix-cell.is-empty.is-weekend:not(.is-span)[b-lj1fn2aw0z],
.workspace-zoom-months td.tour-matrix-cell.is-empty.is-weekend:not(.is-span)[b-lj1fn2aw0z] { background: rgba(131, 145, 162, .07); }
.workspace-zoom-weeks td.workspace-cell.is-available.is-weekend[b-lj1fn2aw0z],
.workspace-zoom-months td.workspace-cell.is-available.is-weekend[b-lj1fn2aw0z] { background: rgba(106, 199, 90, .14); }
.workspace-zoom-weeks .is-week-start[b-lj1fn2aw0z],
.workspace-zoom-months .is-week-start[b-lj1fn2aw0z] { border-left: 1px solid rgba(131, 145, 162, .35) !important; }
.workspace-zoom-weeks thead .is-weekend[b-lj1fn2aw0z],
.workspace-zoom-months thead .is-weekend[b-lj1fn2aw0z] { color: rgba(131, 145, 162, .75); }

/* Resources lens */
.workspace-zoom-weeks .workspace-name-column[b-lj1fn2aw0z] { width: 200px; min-width: 200px; max-width: 200px; }
.workspace-zoom-months .workspace-name-column[b-lj1fn2aw0z] { width: 180px; min-width: 180px; max-width: 180px; }
.workspace-zoom-weeks .workspace-date-column[b-lj1fn2aw0z], .workspace-zoom-weeks .workspace-cell[b-lj1fn2aw0z] { width: 96px; min-width: 96px; max-width: 96px; }
.workspace-zoom-months .workspace-date-column[b-lj1fn2aw0z], .workspace-zoom-months .workspace-cell[b-lj1fn2aw0z] { width: 30px; min-width: 30px; max-width: 30px; }
.workspace-zoom-weeks .workspace-grid thead th[b-lj1fn2aw0z], .workspace-zoom-months .workspace-grid thead th[b-lj1fn2aw0z] { padding: .3rem 0; font-size: .68rem; line-height: 1.1; }
.workspace-zoom-weeks .workspace-grid thead th strong[b-lj1fn2aw0z], .workspace-zoom-months .workspace-grid thead th strong[b-lj1fn2aw0z] { display: block; font-size: .8rem; }
.workspace-zoom-weeks .workspace-grid thead th.workspace-name-column[b-lj1fn2aw0z], .workspace-zoom-months .workspace-grid thead th.workspace-name-column[b-lj1fn2aw0z] { padding-left: .6rem; }
.workspace-zoom-weeks .workspace-cell[b-lj1fn2aw0z] { padding: .2rem; }
.workspace-zoom-months .workspace-cell[b-lj1fn2aw0z] { height: 2rem; padding: 0; }
.workspace-zoom-weeks .workspace-name-column[b-lj1fn2aw0z], .workspace-zoom-months .workspace-name-column[b-lj1fn2aw0z] { padding-top: .2rem; padding-bottom: .2rem; font-size: .75rem; }
.workspace-zoom-months .resource-meta[b-lj1fn2aw0z] { display: none; }
.workspace-zoom-weeks .resource-avatar[b-lj1fn2aw0z], .workspace-zoom-months .resource-avatar[b-lj1fn2aw0z] { flex-basis: 24px; width: 24px; height: 24px; font-size: .75rem; }
.workspace-zoom-weeks .workspace-cell.is-available[b-lj1fn2aw0z], .workspace-zoom-months .workspace-cell.is-available[b-lj1fn2aw0z] { background: rgba(106, 199, 90, .09); }

.workspace-chip[b-lj1fn2aw0z] {
    display: block;
    width: 100%;
    margin-bottom: 2px;
    padding: 1px 4px;
    border: 0;
    border-left: 3px solid var(--workspace-api-color, #8391a2);
    border-radius: 3px;
    background: var(--workspace-api-bg, rgba(131, 145, 162, .2));
    color: inherit;
    font-size: .64rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
}
.workspace-chip.is-completed[b-lj1fn2aw0z] { border-left-color: #198754; background: rgba(25, 135, 84, .32); }
.workspace-chip.is-dispatched[b-lj1fn2aw0z] { border-left-color: #0dcaf0; background: rgba(13, 202, 240, .26); }
.workspace-chip.is-accepted[b-lj1fn2aw0z] { border-left-color: #20c997; background: rgba(25, 135, 84, .27); }
.workspace-chip.is-draft[b-lj1fn2aw0z] { border-left-color: #ffc107; background: rgba(255, 193, 7, .26); }
.workspace-chip.is-attention[b-lj1fn2aw0z] { border-left-color: #dc3545; background: rgba(220, 53, 69, .3); }
.workspace-chip:hover[b-lj1fn2aw0z] { filter: brightness(1.15); }
.workspace-chip-more[b-lj1fn2aw0z] { display: block; color: #8391a2; font-size: .6rem; font-weight: 700; text-align: center; }

.workspace-heat[b-lj1fn2aw0z] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 2rem;
    padding: 0;
    border: 0;
    background: var(--workspace-api-color, #8391a2);
    color: #fff;
    font-size: .62rem;
    font-weight: 800;
    opacity: .75;
}
.workspace-heat.is-completed[b-lj1fn2aw0z] { background: #198754; }
.workspace-heat.is-dispatched[b-lj1fn2aw0z] { background: #0dcaf0; color: #062c33; }
.workspace-heat.is-accepted[b-lj1fn2aw0z] { background: #20c997; color: #06291f; }
.workspace-heat.is-draft[b-lj1fn2aw0z] { background: #ffc107; color: #332600; }
.workspace-heat.is-attention[b-lj1fn2aw0z] { background: #dc3545; }
.workspace-heat:hover[b-lj1fn2aw0z] { opacity: 1; }

/* ── Merged from Schedule Timeline: hour zoom, blockouts, clickable days ── */
.workspace-date-link[b-lj1fn2aw0z] { cursor: pointer; }
.workspace-date-link:hover[b-lj1fn2aw0z] { color: var(--osen-primary, #465dff) !important; box-shadow: inset 0 -2px var(--osen-primary, #465dff); }
.resource-blockout[b-lj1fn2aw0z] { flex: 0 0 22px; width: 22px; height: 22px; font-size: .75rem; opacity: 0; transition: opacity .12s ease; }
.workspace-grid tbody tr:hover .resource-blockout[b-lj1fn2aw0z],
.resource-blockout:focus-visible[b-lj1fn2aw0z] { opacity: 1; }
.workspace-zoom-months .resource-blockout[b-lj1fn2aw0z] { display: none; }
.workspace-legend-hard[b-lj1fn2aw0z] { border-left: 3px solid #198754; background: rgba(25, 135, 84, .25); }
.workspace-legend-soft[b-lj1fn2aw0z] { border-left: 3px dashed #8391a2; background: rgba(131, 145, 162, .18); }
.workspace-legend-now[b-lj1fn2aw0z] { width: 2px; background: #dc3545; }

/* ── Merged runs (Weeks / Months) ──
   A run is one <td colspan> spanning consecutive days. Column widths come
   from the header row (table-layout: fixed), so per-cell widths must not
   apply to spanning cells. Thin lines keep the day boundaries readable. */
.workspace-card td[colspan][b-lj1fn2aw0z] { width: auto !important; min-width: 0 !important; max-width: none !important; }
.workspace-card td.tour-run[b-lj1fn2aw0z] {
    background-image: repeating-linear-gradient(to right, transparent 0, transparent calc(var(--run-day-w) - 1px), rgba(0, 0, 0, .22) calc(var(--run-day-w) - 1px), rgba(0, 0, 0, .22) var(--run-day-w)) !important;
    border-radius: 0;
}
.tour-run-action[b-lj1fn2aw0z] { align-items: flex-start !important; justify-content: center !important; gap: 0 !important; padding: 0 .45rem !important; text-align: left !important; }
.tour-run-title[b-lj1fn2aw0z] { width: 100%; overflow: hidden; font-size: .7rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.tour-run-meta[b-lj1fn2aw0z] { width: 100%; overflow: hidden; font-size: .62rem; opacity: .85; text-overflow: ellipsis; white-space: nowrap; }
.workspace-zoom-months .tour-run-title[b-lj1fn2aw0z] { font-size: .64rem; }
.workspace-zoom-months .tour-matrix-cell.is-pending[b-lj1fn2aw0z],
.workspace-zoom-months .tour-matrix-cell.is-active[b-lj1fn2aw0z] { color: #1d1d1d; }
.workspace-run-label[b-lj1fn2aw0z] { overflow: hidden; padding: 0 .4rem; text-overflow: ellipsis; white-space: nowrap; }
.workspace-zoom-months td[colspan] .workspace-heat[b-lj1fn2aw0z] { justify-content: flex-start; }
.workspace-chip[b-lj1fn2aw0z] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-chip-time[b-lj1fn2aw0z] { margin-right: .3rem; font-weight: 800; }

@media (max-width: 768px) {
    .workspace-search[b-lj1fn2aw0z] { flex-basis: 100%; max-width: none; order: 10; }
    .workspace-date-control[b-lj1fn2aw0z]  .form-control { width: 170px; }
    .workspace-filterbar-divider[b-lj1fn2aw0z] { display: none; }
    .workspace-scroll[b-lj1fn2aw0z] { max-height: calc(100vh - 360px); }
}

/* ── The figure strip, Free row, groups, busy bars and clashes (the To act on look) ── */
.ws-now[b-lj1fn2aw0z] { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .6rem; margin-bottom: .75rem; }
.ws-now-tile[b-lj1fn2aw0z] { display: flex; flex-direction: column; min-width: 0; padding: .65rem .9rem; border: 1px solid var(--osen-border-color); border-radius: .6rem; background: var(--osen-secondary-bg); }
.ws-now-label[b-lj1fn2aw0z] { display: flex; align-items: center; gap: .35rem; font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; color: var(--osen-secondary-color); }
.ws-now-label > .ti[b-lj1fn2aw0z] { color: var(--osen-primary); }
.ws-now-value[b-lj1fn2aw0z] { font-size: 1.3rem; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ws-now-value.ok[b-lj1fn2aw0z] { color: var(--osen-success); }
.ws-now-value.warn[b-lj1fn2aw0z] { color: var(--osen-warning); }
.ws-now-value.hot[b-lj1fn2aw0z] { color: var(--osen-danger); }
.ws-now-note[b-lj1fn2aw0z] { font-size: .75rem; color: var(--osen-secondary-color); }

/* Second header row: how many are free each day. It sits under the 54px date row. */
.workspace-grid thead .ws-free-row th[b-lj1fn2aw0z] { top: 54px; height: 30px; min-height: 30px; padding: .2rem .25rem; box-shadow: 0 .2rem .4rem rgba(15, 23, 42, .12); font-size: .78rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--osen-success); }
.workspace-grid thead .ws-free-row th.is-tight[b-lj1fn2aw0z] { color: var(--osen-warning); background: color-mix(in srgb, var(--osen-warning) 12%, var(--osen-secondary-bg)) !important; }
.workspace-grid thead .ws-free-row th.is-none[b-lj1fn2aw0z] { color: var(--osen-danger); background: color-mix(in srgb, var(--osen-danger) 12%, var(--osen-secondary-bg)) !important; }
.workspace-grid thead .ws-free-row .workspace-name-column[b-lj1fn2aw0z] { display: table-cell; color: var(--osen-body-color); }
.ws-free-title[b-lj1fn2aw0z] { display: inline-flex; align-items: center; gap: .3rem; }
.ws-free-title > .ti[b-lj1fn2aw0z] { color: var(--osen-success); }
.ws-free-row small[b-lj1fn2aw0z] { margin-left: .35rem; font-weight: 400; color: var(--osen-secondary-color); }

/* Group rows: vehicles by type, people by role, with each day's free count for the group. */
.ws-group-row > th[b-lj1fn2aw0z],
.ws-group-row > td[b-lj1fn2aw0z] { padding: .3rem .4rem !important; border-bottom: 1px solid var(--osen-border-color); background: var(--osen-tertiary-bg) !important; }
.ws-group-toggle[b-lj1fn2aw0z] { display: inline-flex; align-items: center; gap: .35rem; width: 100%; padding: 0; border: 0; background: none; color: var(--osen-body-color); font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; text-align: left; }
.ws-group-icon[b-lj1fn2aw0z] { color: var(--osen-primary); }
.ws-group-count[b-lj1fn2aw0z] { padding: 0 .35rem; border-radius: 999px; background: var(--osen-secondary-bg); font-size: .68rem; text-transform: none; }
.ws-group-cell[b-lj1fn2aw0z] { text-align: center; font-size: .7rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--osen-secondary-color); }
.ws-group-cell.is-tight[b-lj1fn2aw0z] { color: var(--osen-warning); }
.ws-group-cell.is-none[b-lj1fn2aw0z] { color: var(--osen-danger); }

/* "Needs a resource": bookings with nobody yet, pinned on top. */
.ws-unassigned > .workspace-name-column[b-lj1fn2aw0z] { box-shadow: inset 3px 0 0 var(--osen-danger), .35rem 0 .75rem rgba(15, 23, 42, .12); }
.ws-unassigned > .workspace-cell[b-lj1fn2aw0z] { background: color-mix(in srgb, var(--osen-danger) 5%, transparent) !important; }

/* How busy each resource is in the period. */
.ws-usage[b-lj1fn2aw0z] { display: flex; align-items: center; gap: .35rem; margin-top: .15rem; }
.ws-usage-bar[b-lj1fn2aw0z] { flex: 1 1 auto; max-width: 70px; height: 4px; border-radius: 999px; background: var(--osen-tertiary-bg); overflow: hidden; }
.ws-usage-bar > span[b-lj1fn2aw0z] { display: block; height: 100%; border-radius: 999px; background: var(--osen-success); }
.ws-usage-bar > span.is-busy[b-lj1fn2aw0z] { background: var(--osen-info); }
.ws-usage-bar > span.is-full[b-lj1fn2aw0z] { background: var(--osen-warning); }
.ws-usage-text[b-lj1fn2aw0z] { font-size: .62rem; font-variant-numeric: tabular-nums; color: var(--osen-secondary-color); white-space: nowrap; }
.workspace-zoom-months .ws-usage-text[b-lj1fn2aw0z] { display: none; }

/* Booked twice at the same time. */
.workspace-cell.has-clash[b-lj1fn2aw0z] { position: relative; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--osen-danger) 70%, transparent); }
.ws-clash[b-lj1fn2aw0z] { position: absolute; top: 1px; right: 2px; z-index: 1; font-size: .75rem; color: var(--osen-danger); }

/* Panels instead of floating cards. */
.workspace-card[b-lj1fn2aw0z] { border: 1px solid var(--osen-border-color); border-radius: .6rem; box-shadow: none; }
.workspace-command-card[b-lj1fn2aw0z] { border: 1px solid var(--osen-border-color); border-radius: .6rem; box-shadow: none; }

@media (max-width: 1199.98px) {
    .ws-now[b-lj1fn2aw0z] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .ws-now[b-lj1fn2aw0z] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ── Tours: who is on each day ── */
.ws-cover[b-lj1fn2aw0z] { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .2rem; }
.ws-cover-day[b-lj1fn2aw0z] { margin-top: .2rem; max-width: 100%; }
.ws-cover-pill[b-lj1fn2aw0z] { display: inline-flex; align-items: center; gap: .15rem; max-width: 100%; padding: 0 .35rem; border-radius: 999px; font-size: .62rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ws-cover-pill.ok[b-lj1fn2aw0z] { background: color-mix(in srgb, var(--osen-success) 16%, transparent); color: var(--osen-success); }
.ws-cover-pill.gap[b-lj1fn2aw0z] { background: color-mix(in srgb, var(--osen-warning) 18%, transparent); color: var(--osen-warning); }
.workspace-card td.tour-run.has-gap[b-lj1fn2aw0z] { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--osen-warning) 80%, transparent); }
.ws-group-note[b-lj1fn2aw0z] { padding: .3rem .6rem !important; font-size: .72rem; color: var(--osen-secondary-color); background: var(--osen-tertiary-bg) !important; }

/* A free day is a button: its menu plans the next step. */
.ws-free-action[b-lj1fn2aw0z] { cursor: pointer; }
.ws-free-action:hover[b-lj1fn2aw0z] { border-color: var(--osen-success); box-shadow: 0 0 0 .15rem color-mix(in srgb, var(--osen-success) 20%, transparent); }
/* /Components/Pages/Operations/Dispatch/LiveOps.razor.rz.scp.css */
/* Live Ops on Trip Desk UI: every task of the day in one list, in time order.
   Colours are the --td-* tokens (on top of the theme's --osen-*), so light and dark follow the theme. */

/* ── Header: the day ── */
.lo-date[b-3tzrddq1gi] { display: inline-flex; align-items: center; border: 1px solid var(--td-border); border-radius: var(--td-radius-md); background: var(--td-surface); }
.lo-date > button[b-3tzrddq1gi] { width: 1.9rem; height: 1.75rem; border: 0; background: transparent; color: var(--td-muted); cursor: pointer; }
.lo-date > button:hover[b-3tzrddq1gi] { color: var(--td-primary); }
.lo-date > button:focus-visible[b-3tzrddq1gi] { outline: none; box-shadow: var(--td-shadow-ring); }
.lo-date-label[b-3tzrddq1gi] { padding: 0 .35rem; font-size: .8125rem; font-weight: 600; color: var(--td-emphasis); white-space: nowrap; }
.lo-picker[b-3tzrddq1gi] { width: 11rem; }
.lo-x[b-3tzrddq1gi] { margin-left: .25rem; padding: 0 .15rem; border: 0; background: none; color: inherit; opacity: .7; cursor: pointer; }
.lo-x:hover[b-3tzrddq1gi] { opacity: 1; }

/* ── App and vehicle dots: on, off, stopped, no app ── */
.lo-dot[b-3tzrddq1gi] { display: inline-block; width: .45rem; height: .45rem; border-radius: 50%; flex: none; margin-right: .1rem; }
.lo-dot.on[b-3tzrddq1gi] { background: var(--td-success); }
.lo-dot.off[b-3tzrddq1gi] { background: var(--td-danger); }
.lo-dot.stopped[b-3tzrddq1gi] { background: var(--td-info); }
.lo-dot.none[b-3tzrddq1gi] { border: 1.5px solid var(--td-field); box-sizing: border-box; }

/* ── The list ── */
.lo-table td[b-3tzrddq1gi] { vertical-align: top; }
.lo-edge[b-3tzrddq1gi] { width: 4px; padding: 0 !important; }
.lo-row.is-live .lo-edge[b-3tzrddq1gi] { background: var(--td-primary); }
.lo-row.is-next .lo-edge[b-3tzrddq1gi] { background: var(--td-info); }
.lo-row.is-differ .lo-edge[b-3tzrddq1gi] { background: var(--td-warning); }
.lo-row.is-late .lo-edge[b-3tzrddq1gi] { background: var(--td-danger); }
.lo-row.is-late > td[b-3tzrddq1gi] { background: var(--td-danger-soft); }
.lo-time[b-3tzrddq1gi] { font-size: .9375rem; font-weight: 600; color: var(--td-emphasis); }
.lo-sub[b-3tzrddq1gi] { font-size: .75rem; line-height: 1.05rem; color: var(--td-muted); }
.lo-late[b-3tzrddq1gi] { color: var(--td-danger-ink); font-weight: 600; }
.lo-ahead[b-3tzrddq1gi] { color: var(--td-warning-ink); font-weight: 500; }
.lo-task[b-3tzrddq1gi] { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; color: var(--td-emphasis); }
.lo-ellipsis[b-3tzrddq1gi] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lo-flight[b-3tzrddq1gi] { gap: .2rem; font-variant-numeric: tabular-nums; }
.lo-shiftlink[b-3tzrddq1gi] { padding: 0; border: 0; background: none; font: inherit; color: var(--td-muted); text-decoration: underline dotted; cursor: pointer; }
.lo-shiftlink:hover[b-3tzrddq1gi] { color: var(--td-primary); }
.lo-fix[b-3tzrddq1gi] { min-height: 1.875rem; font-size: .75rem; font-weight: 600; background: var(--td-warning-soft); color: var(--td-warning-ink); border-color: var(--td-warning); }
.lo-fix:hover:not(:disabled)[b-3tzrddq1gi] { color: var(--td-warning-ink); border-color: var(--td-warning-ink); }

/* ── Crew: one line per person, role tag + name + app dot ── */
.lo-crew[b-3tzrddq1gi] { display: flex; flex-direction: column; gap: .2rem; align-items: flex-start; }
.lo-who[b-3tzrddq1gi] { display: inline-flex; align-items: center; gap: .35rem; max-width: 100%; font-size: .8125rem; color: var(--td-emphasis); }
.lo-role[b-3tzrddq1gi] {
    display: inline-flex; align-items: center; justify-content: center; min-width: 1.4rem; height: 1.3rem; padding: 0 .25rem; flex: none;
    border-radius: var(--td-radius-sm); font-size: .6875rem; font-weight: 700; letter-spacing: .02em;
}
.lo-role.d[b-3tzrddq1gi] { background: var(--td-primary-soft); color: var(--td-primary); }
.lo-role.g[b-3tzrddq1gi] { background: var(--td-info-soft); color: var(--td-info-ink); }
.lo-role.dg[b-3tzrddq1gi] { background: var(--td-success-soft); color: var(--td-success-ink); }
.lo-role.mg[b-3tzrddq1gi] { background: var(--td-warning-soft); color: var(--td-warning-ink); }

/* ── Pax: the number, bold, with a people icon ── */
.lo-pax[b-3tzrddq1gi] {
    display: inline-flex; align-items: center; gap: .3rem; min-width: 3rem; justify-content: center; padding: .2rem .5rem;
    border-radius: var(--td-radius-md); background: var(--td-surface-2); color: var(--td-emphasis);
    font-size: .875rem; font-weight: 700; font-variant-numeric: tabular-nums;
}
.lo-pax > .ti[b-3tzrddq1gi] { color: var(--td-muted); font-size: .9rem; }

/* ── Folded sections: done, not on a shift yet ── */
.lo-fold[b-3tzrddq1gi] {
    display: flex; align-items: center; gap: .5rem; width: 100%; padding: .75rem 1rem; border: 0; border-top: 1px solid var(--td-border);
    background: transparent; font: inherit; font-size: .875rem; font-weight: 600; color: var(--td-emphasis); text-align: left; cursor: pointer;
}
.lo-fold:hover[b-3tzrddq1gi] { background: var(--td-surface-2); }
.lo-fold:focus-visible[b-3tzrddq1gi] { outline: none; box-shadow: inset var(--td-shadow-ring); }
.lo-rows[b-3tzrddq1gi] { display: flex; flex-direction: column; padding: 0 .5rem .5rem; }
.lo-line[b-3tzrddq1gi] {
    display: grid; grid-template-columns: 3.5rem minmax(0, 1.3fr) minmax(0, 1fr) auto auto; gap: .75rem; align-items: center; width: 100%;
    padding: .45rem .5rem; border: 0; border-radius: var(--td-radius-sm); background: transparent; font: inherit; font-size: .8125rem;
    color: var(--td-text); text-align: left; cursor: pointer;
}
.lo-line:hover[b-3tzrddq1gi] { background: var(--td-surface-2); }
.lo-line:focus-visible[b-3tzrddq1gi] { outline: none; box-shadow: var(--td-shadow-ring); }

/* ── Vehicle and crew pickers in the filter chips ── */
.lo-pick[b-3tzrddq1gi] { display: flex; flex-direction: column; gap: .5rem; width: 26rem; max-width: 80vw; }
.lo-pick-list[b-3tzrddq1gi] { display: flex; flex-direction: column; max-height: 22rem; overflow-y: auto; margin: 0 -.25rem; }
.lo-pick-group[b-3tzrddq1gi] { padding: .5rem .5rem .2rem; }
.lo-pick-row[b-3tzrddq1gi] {
    display: flex; flex-direction: column; gap: .1rem; width: 100%; padding: .4rem .5rem; border: 0; border-radius: var(--td-radius-sm);
    background: transparent; font: inherit; text-align: left; color: var(--td-emphasis); cursor: pointer;
}
.lo-pick-row:hover[b-3tzrddq1gi] { background: var(--td-surface-2); }
.lo-pick-row:focus-visible[b-3tzrddq1gi] { outline: none; box-shadow: var(--td-shadow-ring); }
.lo-pick-row.is-on[b-3tzrddq1gi] { background: var(--td-primary-soft); }
.lo-pick-main[b-3tzrddq1gi] { display: flex; align-items: center; gap: .35rem; min-width: 0; font-size: .8125rem; }
.lo-pick-sub[b-3tzrddq1gi] { font-size: .75rem; color: var(--td-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lo-pick-on[b-3tzrddq1gi] { color: var(--td-primary); font-weight: 500; }

/* ── Phone ── */
@media (max-width: 575.98px) {
    .lo-date > button[b-3tzrddq1gi] { width: 2.25rem; height: 2.25rem; }
    /* A folded row: time, task and status on the first line; the route and the vehicle under the task. */
    .lo-line[b-3tzrddq1gi] { grid-template-columns: 3rem minmax(0, 1fr) auto; column-gap: .5rem; row-gap: .1rem; }
    .lo-line > :nth-child(3)[b-3tzrddq1gi] { grid-column: 2 / 4; grid-row: 2; }
    .lo-line > :nth-child(4)[b-3tzrddq1gi] { grid-column: 2 / 4; grid-row: 3; }
    .lo-pick[b-3tzrddq1gi] { width: auto; max-width: none; }
}
/* /Components/Pages/Operations/Dispatch/Reports/DriverReports.razor.rz.scp.css */
/* Driver (end-of-shift vehicle) reports. Theme variables are --osen-*, not --bs-*. */
.dr-search[b-ema5btvzsf] {
    width: 240px;
}

.dr-count[b-ema5btvzsf] {
    margin-left: 0.35rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
}

.dr-stats[b-ema5btvzsf] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.dr-stat[b-ema5btvzsf] {
    display: flex;
    flex-direction: column;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.dr-stat-label[b-ema5btvzsf] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.dr-stat-value[b-ema5btvzsf] {
    font-size: 1.3rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.dr-list[b-ema5btvzsf] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    overflow: hidden;
}

.dr-day[b-ema5btvzsf] {
    display: flex;
    justify-content: space-between;
    padding: 0.45rem 1rem;
    background: var(--osen-tertiary-bg);
    border-bottom: 1px solid var(--osen-border-color);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--osen-secondary-color);
}

.dr-day:not(:first-child)[b-ema5btvzsf] {
    border-top: 1px solid var(--osen-border-color);
}

.dr-item + .dr-item[b-ema5btvzsf] {
    border-top: 1px solid var(--osen-border-color);
}

.dr-row[b-ema5btvzsf] {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(10rem, 1.2fr) 8rem 8.5rem minmax(0, 1.3fr) minmax(0, 1.5fr) 1rem;
    gap: 1rem;
    align-items: center;
    padding: 0.7rem 1rem;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    font-size: 0.85rem;
}

.dr-row:hover[b-ema5btvzsf],
.dr-item.open .dr-row[b-ema5btvzsf] {
    background: color-mix(in srgb, var(--osen-tertiary-bg) 55%, transparent);
}

.dr-driver[b-ema5btvzsf],
.dr-km[b-ema5btvzsf],
.dr-time[b-ema5btvzsf] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    font-variant-numeric: tabular-nums;
}

.dr-sub[b-ema5btvzsf] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.dr-parkings[b-ema5btvzsf] {
    min-width: 0;
}

.dr-comment[b-ema5btvzsf] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    min-width: 0;
    font-size: 0.8rem;
    color: var(--osen-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dr-chevron[b-ema5btvzsf] {
    color: var(--osen-secondary-color);
}

.dr-detail[b-ema5btvzsf] {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 1.5rem;
    padding: 0.5rem 1rem 1rem 1rem;
    background: color-mix(in srgb, var(--osen-tertiary-bg) 55%, transparent);
}

.dr-detail-head[b-ema5btvzsf] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--osen-secondary-color);
    margin-bottom: 0.35rem;
}

.dr-line[b-ema5btvzsf] {
    display: grid;
    grid-template-columns: 9rem minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.3rem 0;
    font-size: 0.82rem;
    border-bottom: 1px dashed var(--osen-border-color);
}

.dr-line-time[b-ema5btvzsf] {
    font-variant-numeric: tabular-nums;
    color: var(--osen-secondary-color);
}

.dr-empty[b-ema5btvzsf] {
    padding: 3rem 1rem;
    text-align: center;
    color: var(--osen-secondary-color);
}

@media (max-width: 1199.98px) {
    .dr-row[b-ema5btvzsf] {
        grid-template-columns: minmax(0, 1fr) 7rem 1rem;
    }

    .dr-time[b-ema5btvzsf],
    .dr-parkings[b-ema5btvzsf],
    .dr-comment[b-ema5btvzsf] {
        display: none;
    }

    .dr-detail[b-ema5btvzsf] {
        grid-template-columns: 1fr;
    }

    .dr-stats[b-ema5btvzsf] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dr-search[b-ema5btvzsf] {
        width: 100%;
    }
}
/* /Components/Pages/Operations/Dispatch/Reports/NoShows.razor.rz.scp.css */
/* No-shows. Theme variables are --osen-*, not --bs-*. */
.ns-search[b-aubdnuukc5] {
    width: 240px;
}

.ns-count[b-aubdnuukc5] {
    margin-left: 0.35rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
}

.ns-count.hot[b-aubdnuukc5] {
    background: var(--osen-warning);
    color: #000;
}

.ns-list[b-aubdnuukc5] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    overflow: hidden;
}

.ns-day[b-aubdnuukc5] {
    padding: 0.45rem 1rem;
    background: var(--osen-tertiary-bg);
    border-bottom: 1px solid var(--osen-border-color);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.ns-day:not(:first-child)[b-aubdnuukc5] {
    border-top: 1px solid var(--osen-border-color);
}

.ns-item[b-aubdnuukc5] {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.75rem 1rem;
    border-left: 3px solid var(--osen-warning);
}

.ns-item + .ns-item[b-aubdnuukc5] {
    border-top: 1px solid var(--osen-border-color);
}

.ns-item.told[b-aubdnuukc5] {
    border-left-color: transparent;
}

.ns-icon[b-aubdnuukc5] {
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    font-size: 1.1rem;
    color: #fd7e14;
    background: color-mix(in srgb, #fd7e14 14%, transparent);
}

.ns-item.told .ns-icon[b-aubdnuukc5] {
    color: var(--osen-secondary-color);
    background: var(--osen-tertiary-bg);
}

.ns-main[b-aubdnuukc5] {
    min-width: 0;
}

.ns-title[b-aubdnuukc5] {
    font-weight: 600;
    font-size: 0.875rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ns-title a[b-aubdnuukc5] {
    color: var(--osen-body-color);
}

.ns-title a:hover[b-aubdnuukc5] {
    color: var(--osen-primary);
}

.ns-meta[b-aubdnuukc5] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 0.9rem;
    margin-top: 0.2rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.ns-meta > *[b-aubdnuukc5] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.ns-reason[b-aubdnuukc5] {
    margin-top: 0.25rem;
    font-size: 0.8rem;
    font-style: italic;
}

.ns-act[b-aubdnuukc5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.ns-told[b-aubdnuukc5] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.78rem;
    color: var(--osen-success);
}

.ns-empty[b-aubdnuukc5] {
    padding: 3rem 1rem;
    text-align: center;
    color: var(--osen-secondary-color);
}

@media (max-width: 767.98px) {
    .ns-item[b-aubdnuukc5] {
        grid-template-columns: 2.25rem minmax(0, 1fr);
    }

    .ns-act[b-aubdnuukc5] {
        grid-column: 2;
        justify-content: flex-start;
    }

    .ns-search[b-aubdnuukc5] {
        width: 100%;
    }
}
/* /Components/Pages/Operations/Dispatch/Reports/ReportsHistory.razor.rz.scp.css */
/* Operation / resource reports inbox. Theme variables are --osen-*, not --bs-*. */
.rh-search[b-indbq7nz81] {
    width: 250px;
}

.rh-count[b-indbq7nz81] {
    margin-left: 0.35rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
}

.rh-count.hot[b-indbq7nz81] {
    background: var(--osen-danger);
    color: #fff;
}

.rh-bulk[b-indbq7nz81] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    padding: 0.5rem 0.85rem;
    border: 1px solid color-mix(in srgb, var(--osen-primary) 40%, transparent);
    border-radius: 0.55rem;
    background: color-mix(in srgb, var(--osen-primary) 8%, transparent);
    font-size: 0.85rem;
}

.rh-bulk-quiet[b-indbq7nz81] {
    border-color: var(--osen-border-color);
    background: transparent;
    color: var(--osen-secondary-color);
}

.rh-panel[b-indbq7nz81] {
    padding: 0.85rem 1rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.55rem;
    background: var(--osen-secondary-bg);
}

.rh-list[b-indbq7nz81] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.rh-head[b-indbq7nz81] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
    background: var(--osen-tertiary-bg);
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.rh-item[b-indbq7nz81] {
    display: grid;
    grid-template-columns: auto 2.25rem minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: start;
    padding: 0.8rem 1rem;
    border-left: 3px solid transparent;
}

.rh-item + .rh-item[b-indbq7nz81] {
    border-top: 1px solid var(--osen-border-color);
}

.rh-item > .form-check-input[b-indbq7nz81] {
    margin-top: 0.6rem;
}

/* Unread: a coloured edge and a bolder body, like an inbox. */
.rh-item.unread[b-indbq7nz81] {
    border-left-color: var(--osen-danger);
}

.rh-item.unread .rh-body[b-indbq7nz81] {
    font-weight: 500;
    color: var(--osen-body-color);
}

.rh-item.done[b-indbq7nz81] {
    opacity: 0.7;
}

.rh-type[b-indbq7nz81] {
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    font-size: 1.1rem;
    background: var(--osen-tertiary-bg);
    color: var(--osen-secondary-color);
}

.rh-type-1[b-indbq7nz81] { color: var(--osen-orange, #fd7e14); background: color-mix(in srgb, #fd7e14 14%, transparent); }
.rh-type-2[b-indbq7nz81] { color: #17a2b8; background: color-mix(in srgb, #17a2b8 14%, transparent); }
.rh-type-3[b-indbq7nz81] { color: var(--osen-info); background: color-mix(in srgb, var(--osen-info) 14%, transparent); }

.rh-main[b-indbq7nz81] {
    min-width: 0;
}

.rh-meta-top[b-indbq7nz81] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    font-size: 0.82rem;
}

.rh-body[b-indbq7nz81] {
    margin-top: 0.2rem;
    font-size: 0.875rem;
    color: var(--osen-body-color);
    cursor: pointer;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: pre-line;
}

.rh-body.full[b-indbq7nz81] {
    display: block;
    -webkit-line-clamp: unset;
}

.rh-meta[b-indbq7nz81] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.9rem;
    margin-top: 0.35rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.rh-meta > *[b-indbq7nz81] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.rh-resolution[b-indbq7nz81] {
    margin-top: 0.35rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
    font-style: italic;
}

.rh-actions[b-indbq7nz81] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
    max-width: 22rem;
}

.rh-actions .btn[b-indbq7nz81] {
    white-space: nowrap;
}

/* Resolve / link panels open under their report, full width. */
.rh-inline[b-indbq7nz81] {
    grid-column: 3 / -1;
    padding: 0.75rem;
    border-radius: 0.5rem;
    background: var(--osen-tertiary-bg);
}

.rh-empty[b-indbq7nz81] {
    padding: 3rem 1rem;
    text-align: center;
    color: var(--osen-secondary-color);
}

.rh-pager[b-indbq7nz81] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 1rem;
    border-top: 1px solid var(--osen-border-color);
}

@media (max-width: 991.98px) {
    .rh-item[b-indbq7nz81] {
        grid-template-columns: auto 2.25rem minmax(0, 1fr);
    }

    .rh-actions[b-indbq7nz81] {
        grid-column: 3;
        justify-content: flex-start;
        max-width: none;
    }

    .rh-search[b-indbq7nz81] {
        width: 100%;
    }
}
/* /Components/Pages/Operations/Dispatch/ShiftDetail.razor.rz.scp.css */
/* Shift detail — the To act on look (ActionQueue / Guide Area / Shifts list).
   Theme variables are --osen-*, not --bs-*. */

/* ── Header ── */
.sd-hero[b-1pf6vcosq9] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 0.9rem 1.1rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.sd-hero-main[b-1pf6vcosq9] {
    min-width: 0;
}

.sd-hero-top[b-1pf6vcosq9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.sd-when[b-1pf6vcosq9] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.6rem;
    margin-top: 0.4rem;
    font-size: 1.15rem;
    font-weight: 600;
}

.sd-window[b-1pf6vcosq9] {
    font-variant-numeric: tabular-nums;
    color: var(--osen-primary);
}

.sd-facts[b-1pf6vcosq9] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.5rem;
}

.sd-fact[b-1pf6vcosq9] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.78rem;
    color: var(--osen-secondary-color);
}

.sd-fact strong[b-1pf6vcosq9] { color: var(--osen-body-color); font-weight: 600; }
.sd-fact.ok[b-1pf6vcosq9] { background: color-mix(in srgb, var(--osen-success) 14%, transparent); color: var(--osen-success); }
.sd-fact.ok strong[b-1pf6vcosq9] { color: inherit; }
.sd-fact.warn[b-1pf6vcosq9] { background: color-mix(in srgb, #fd7e14 16%, transparent); color: #fd7e14; }
.sd-fact.warn strong[b-1pf6vcosq9] { color: inherit; }
.sd-fact.extra[b-1pf6vcosq9] { background: color-mix(in srgb, #6f42c1 14%, transparent); color: #6f42c1; }

.sd-hero-actions[b-1pf6vcosq9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
}

.sd-alert[b-1pf6vcosq9] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin-bottom: 1rem;
    padding: 0.65rem 0.9rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    font-size: 0.85rem;
}

.sd-alert > .ti[b-1pf6vcosq9] {
    margin-top: 0.1rem;
    font-size: 1.1rem;
    color: var(--osen-primary);
}

.sd-alert.warn[b-1pf6vcosq9] {
    border-color: color-mix(in srgb, var(--osen-warning) 45%, var(--osen-border-color));
    background: color-mix(in srgb, var(--osen-warning) 9%, var(--osen-secondary-bg));
}

.sd-alert.warn > .ti[b-1pf6vcosq9] { color: var(--osen-warning); }

.sd-prewrap[b-1pf6vcosq9] { white-space: pre-wrap; }

/* ── Crew strip ── */
.sd-crew[b-1pf6vcosq9] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.sd-tile[b-1pf6vcosq9] {
    min-width: 0;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.sd-tile-label[b-1pf6vcosq9] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.sd-tile-label > .ti[b-1pf6vcosq9] { color: var(--osen-primary); }

.sd-tile-value[b-1pf6vcosq9] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    margin-top: 0.2rem;
    font-size: 0.95rem;
    font-weight: 600;
}

.sd-tile-value.missing[b-1pf6vcosq9] { color: var(--osen-danger); }
.sd-tile-value.muted[b-1pf6vcosq9] { color: var(--osen-secondary-color); font-weight: 500; }

.sd-tile-sub[b-1pf6vcosq9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.2rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.sd-answer[b-1pf6vcosq9] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.15rem;
    font-size: 0.78rem;
    color: var(--osen-secondary-color);
}

.sd-answer.ok[b-1pf6vcosq9] { color: var(--osen-success); }
.sd-answer.no[b-1pf6vcosq9] { color: var(--osen-danger); }
.sd-answer.wait[b-1pf6vcosq9] { color: var(--osen-warning); }

.sd-remove[b-1pf6vcosq9] {
    margin-left: auto;
    flex-shrink: 0;
    width: 1.7rem;
    height: 1.7rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--osen-secondary-color);
}

.sd-remove:hover:not(:disabled)[b-1pf6vcosq9] {
    background: color-mix(in srgb, var(--osen-danger) 12%, transparent);
    color: var(--osen-danger);
}

.sd-progress[b-1pf6vcosq9] {
    height: 6px;
    margin-top: 0.45rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    overflow: hidden;
}

.sd-progress > span[b-1pf6vcosq9] {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--osen-success);
}

/* ── Panels ── */
.sd-panel[b-1pf6vcosq9] {
    margin-bottom: 1rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.sd-panel-head[b-1pf6vcosq9] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.sd-title[b-1pf6vcosq9] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 600;
}

.sd-title > .ti[b-1pf6vcosq9] { color: var(--osen-primary); }

.sd-note[b-1pf6vcosq9] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.sd-count[b-1pf6vcosq9] {
    min-width: 1.4rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-weight: 600;
    text-align: center;
    font-variant-numeric: tabular-nums;
    color: var(--osen-body-color);
}

.sd-count.warn[b-1pf6vcosq9] { background: var(--osen-warning); color: #000; }
.sd-count.hot[b-1pf6vcosq9] { background: var(--osen-danger); color: #fff; }

.sd-body[b-1pf6vcosq9] { padding: 0.75rem 1rem; }

.sd-coords[b-1pf6vcosq9] {
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
}

.sd-empty[b-1pf6vcosq9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 1.75rem 1rem;
    font-size: 0.85rem;
    color: var(--osen-secondary-color);
}

.sd-empty > .ti[b-1pf6vcosq9] { font-size: 1.8rem; }

/* Add-task / add-leg drawers inside a panel */
.sd-sub[b-1pf6vcosq9],
.sd-assign[b-1pf6vcosq9] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
    background: color-mix(in srgb, var(--osen-primary) 5%, transparent);
}

.sd-sub-title[b-1pf6vcosq9] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.5rem;
    font-size: 0.8rem;
    font-weight: 600;
}

.sd-picker[b-1pf6vcosq9] { width: 8.5rem; }
.sd-picker-sm[b-1pf6vcosq9] { width: 6.5rem; }
.sd-vehicle[b-1pf6vcosq9] { width: 15rem; }

/* ── Rows ── */
.sd-rows[b-1pf6vcosq9] {
    padding: 0.6rem 1rem 0.75rem;
}

.sd-task[b-1pf6vcosq9],
.sd-leg[b-1pf6vcosq9],
.sd-match[b-1pf6vcosq9],
.sd-report[b-1pf6vcosq9],
.sd-mail[b-1pf6vcosq9] {
    display: grid;
    gap: 0.75rem;
    align-items: center;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.5rem;
    background: var(--osen-secondary-bg);
    font-size: 0.85rem;
}

.sd-task + .sd-task[b-1pf6vcosq9],
.sd-leg + .sd-leg[b-1pf6vcosq9],
.sd-match + .sd-match[b-1pf6vcosq9],
.sd-report + .sd-report[b-1pf6vcosq9],
.sd-mail + .sd-mail[b-1pf6vcosq9] {
    margin-top: 0.35rem;
}

/* mark · # · when · what · status · actions */
.sd-task[b-1pf6vcosq9] {
    grid-template-columns: 4px 1.6rem 6.5rem minmax(0, 1fr) minmax(8rem, auto) auto;
    padding: 0.5rem 0.6rem 0.5rem 0;
}

/* # · vehicle · time · actions */
.sd-leg[b-1pf6vcosq9] {
    grid-template-columns: 1.6rem minmax(0, 1fr) auto auto;
    padding: 0.5rem 0.6rem;
}

/* time · task · score · pick */
.sd-match[b-1pf6vcosq9] {
    grid-template-columns: 3.5rem minmax(0, 1fr) auto auto;
    padding: 0.45rem 0.6rem;
}

/* when · km · lines · print */
.sd-report[b-1pf6vcosq9] {
    grid-template-columns: 7rem 7rem minmax(0, 1fr) auto;
    padding: 0.5rem 0.75rem;
}

/* mark · when · subject · status · resend */
.sd-mail[b-1pf6vcosq9] {
    grid-template-columns: 4px 6.5rem minmax(0, 1fr) auto auto;
    padding: 0.45rem 0.6rem 0.45rem 0;
}

.sd-mark[b-1pf6vcosq9] {
    align-self: stretch;
    margin-left: -1px;
    border-radius: 0.5rem 0 0 0.5rem;
    background: var(--osen-border-color);
}

.urgent > .sd-mark[b-1pf6vcosq9] { background: var(--osen-danger); }
.soon > .sd-mark[b-1pf6vcosq9] { background: var(--osen-warning); }
.live > .sd-mark[b-1pf6vcosq9] { background: var(--osen-info); }
.done > .sd-mark[b-1pf6vcosq9] { background: var(--osen-success); }

.sd-seq[b-1pf6vcosq9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--osen-secondary-color);
}

.sd-time[b-1pf6vcosq9] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.sd-dur[b-1pf6vcosq9] {
    font-size: 0.72rem;
    color: var(--osen-secondary-color);
}

.sd-actual[b-1pf6vcosq9] {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
    color: var(--osen-success);
}

.sd-main[b-1pf6vcosq9] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sd-main > a[b-1pf6vcosq9] {
    font-weight: 600;
    margin-right: 0.3rem;
}

.sd-sub-line[b-1pf6vcosq9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.sd-sub-line a[b-1pf6vcosq9] { color: inherit; font-weight: 600; }
.sd-sub-line a:hover[b-1pf6vcosq9] { color: var(--osen-primary); }

.sd-task-note[b-1pf6vcosq9] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.15rem;
    font-size: 0.75rem;
    font-style: italic;
    color: var(--osen-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sd-state[b-1pf6vcosq9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.2rem;
}

.sd-tag[b-1pf6vcosq9] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.05rem 0.5rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--osen-secondary-color);
}

.sd-tag.warn[b-1pf6vcosq9] { background: color-mix(in srgb, var(--osen-warning) 18%, transparent); color: var(--osen-warning); }
.sd-tag.orange[b-1pf6vcosq9] { background: color-mix(in srgb, #fd7e14 16%, transparent); color: #fd7e14; }

.sd-flag[b-1pf6vcosq9] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.05rem 0.5rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
    color: var(--osen-secondary-color);
}

.sd-flag.ok[b-1pf6vcosq9] { background: color-mix(in srgb, var(--osen-success) 14%, transparent); color: var(--osen-success); }
.sd-flag.warn[b-1pf6vcosq9] { background: color-mix(in srgb, var(--osen-warning) 18%, transparent); color: var(--osen-warning); }
.sd-flag.danger[b-1pf6vcosq9] { background: color-mix(in srgb, var(--osen-danger) 14%, transparent); color: var(--osen-danger); }
.sd-flag.orange[b-1pf6vcosq9] { background: color-mix(in srgb, #fd7e14 16%, transparent); color: #fd7e14; }

.sd-score[b-1pf6vcosq9] {
    padding: 0.05rem 0.5rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.75rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.sd-score.ok[b-1pf6vcosq9] { background: color-mix(in srgb, var(--osen-success) 14%, transparent); color: var(--osen-success); }
.sd-score.warn[b-1pf6vcosq9] { background: color-mix(in srgb, var(--osen-warning) 18%, transparent); color: var(--osen-warning); }

.sd-actions[b-1pf6vcosq9] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.3rem;
    white-space: nowrap;
}

/* NotesPanel brings its own card; keep it from overflowing the column. */
.sd-notes[b-1pf6vcosq9] {
    min-width: 0;
    margin-bottom: 1rem;
}

/* ── Timeline ── */
.sd-tl[b-1pf6vcosq9] {
    padding: 0.75rem 1rem 0.5rem;
}

.sd-tl-item[b-1pf6vcosq9] {
    position: relative;
    display: flex;
    gap: 0.7rem;
    padding-bottom: 0.85rem;
}

/* the line between dots */
.sd-tl-item:not(:last-child)[b-1pf6vcosq9]::before {
    content: "";
    position: absolute;
    top: 1.9rem;
    bottom: 0.2rem;
    left: 0.85rem;
    width: 2px;
    background: var(--osen-border-color);
}

.sd-tl-dot[b-1pf6vcosq9] {
    flex-shrink: 0;
    width: 1.75rem;
    height: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--osen-tertiary-bg);
    color: var(--osen-secondary-color);
    font-size: 0.8rem;
}

.sd-tl-dot.primary[b-1pf6vcosq9] { background: color-mix(in srgb, var(--osen-primary) 15%, transparent); color: var(--osen-primary); }
.sd-tl-dot.info[b-1pf6vcosq9] { background: color-mix(in srgb, var(--osen-info) 15%, transparent); color: var(--osen-info); }
.sd-tl-dot.success[b-1pf6vcosq9] { background: color-mix(in srgb, var(--osen-success) 15%, transparent); color: var(--osen-success); }
.sd-tl-dot.danger[b-1pf6vcosq9] { background: color-mix(in srgb, var(--osen-danger) 15%, transparent); color: var(--osen-danger); }
.sd-tl-dot.warning[b-1pf6vcosq9] { background: color-mix(in srgb, var(--osen-warning) 18%, transparent); color: var(--osen-warning); }

.sd-tl-title[b-1pf6vcosq9] {
    font-size: 0.85rem;
    font-weight: 600;
}

.sd-tl-when[b-1pf6vcosq9] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.sd-tl-reason[b-1pf6vcosq9] {
    margin-top: 0.15rem;
    font-size: 0.78rem;
    font-style: italic;
    color: var(--osen-secondary-color);
}

@media (max-width: 1199.98px) {
    .sd-task[b-1pf6vcosq9] {
        grid-template-columns: 4px 1.6rem 6rem minmax(0, 1fr) auto;
        row-gap: 0.35rem;
    }

    .sd-mark[b-1pf6vcosq9],
    .sd-task > .sd-seq[b-1pf6vcosq9] { grid-row: span 2; }

    .sd-task > .sd-state[b-1pf6vcosq9] { grid-column: 4; grid-row: 2; }
    .sd-task > .sd-actions[b-1pf6vcosq9] { grid-column: 5; grid-row: 1; }
}

@media (max-width: 767.98px) {
    .sd-hero-actions[b-1pf6vcosq9] { justify-content: flex-start; }

    .sd-report[b-1pf6vcosq9],
    .sd-mail[b-1pf6vcosq9] {
        grid-template-columns: 4px minmax(0, 1fr) auto;
    }

    .sd-report[b-1pf6vcosq9] { grid-template-columns: minmax(0, 1fr) auto; }
    .sd-mail > .sd-time[b-1pf6vcosq9] { display: none; }
    .sd-mail > .sd-flag[b-1pf6vcosq9] { display: none; }
}
/* /Components/Pages/Operations/Dispatch/ShiftsList.razor.rz.scp.css */
/* Shifts list — the To act on look (ActionQueue / Guide Area).
   Theme variables are --osen-*, not --bs-*. */

/* ── Period tabs ── */
.sh-tab[b-3itdypacpv] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.75rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-body-color);
    font-size: 0.85rem;
    font-weight: 500;
}

.sh-tab:hover[b-3itdypacpv] { border-color: var(--osen-primary); }

.sh-tab.on[b-3itdypacpv] {
    border-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
}

.sh-period[b-3itdypacpv] {
    margin-left: 0.4rem;
    font-size: 0.8rem;
    color: var(--osen-secondary-color);
}

/* ── Now strip ── */
.sh-now[b-3itdypacpv] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.sh-now-tile[b-3itdypacpv] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    color: inherit;
    text-align: left;
    transition: border-color 0.15s;
}

.sh-now-tile:hover[b-3itdypacpv],
.sh-now-tile.on[b-3itdypacpv] {
    border-color: var(--osen-primary);
}

.sh-now-label[b-3itdypacpv] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.sh-now-label > .ti[b-3itdypacpv] { color: var(--osen-primary); }

.sh-now-value[b-3itdypacpv] {
    font-size: 1.35rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.sh-now-value.warn[b-3itdypacpv] { color: var(--osen-warning); }
.sh-now-value.hot[b-3itdypacpv] { color: var(--osen-danger); }

.sh-now-note[b-3itdypacpv] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

/* ── Panel ── */
.sh-panel[b-3itdypacpv] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.sh-chips[b-3itdypacpv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    padding: 0.6rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.sh-chip[b-3itdypacpv] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.6rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-body-color);
    font-size: 0.8rem;
}

.sh-chip:hover[b-3itdypacpv] { border-color: var(--osen-primary); }

.sh-chip.on[b-3itdypacpv] {
    border-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
}

.sh-chip-count[b-3itdypacpv] {
    min-width: 1.3rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
    color: var(--osen-body-color);
}

.sh-chip-count.hot[b-3itdypacpv] { background: var(--osen-danger); color: #fff; }

.sh-filters[b-3itdypacpv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}

.sh-search[b-3itdypacpv] { width: 16rem; }
.sh-picker[b-3itdypacpv] { width: 12rem; }

.sh-bulk[b-3itdypacpv] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
    font-size: 0.85rem;
    color: var(--osen-secondary-color);
}

.sh-bulk.on[b-3itdypacpv] {
    background: color-mix(in srgb, var(--osen-primary) 7%, transparent);
    color: var(--osen-body-color);
}

.sh-empty[b-3itdypacpv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding: 2.5rem 1rem;
    font-size: 0.875rem;
    color: var(--osen-secondary-color);
}

.sh-empty > .ti[b-3itdypacpv] { font-size: 2rem; }

/* ── Rows ── */
.sh-rows[b-3itdypacpv] {
    padding: 0.25rem 1rem 0.75rem;
}

.sh-day[b-3itdypacpv] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0.75rem 0 0.35rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.sh-day-name[b-3itdypacpv] { color: var(--osen-body-color); }
.sh-day > span:last-child[b-3itdypacpv] { font-weight: 500; }

/* mark · check · when · what · who · status · actions */
.sh-item[b-3itdypacpv] {
    display: grid;
    grid-template-columns: 4px 1.1rem 6.5rem minmax(0, 1fr) minmax(11rem, 15rem) 10rem auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.5rem 0.75rem 0.5rem 0;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.5rem;
    background: var(--osen-secondary-bg);
    font-size: 0.85rem;
}

.sh-item + .sh-item[b-3itdypacpv] { margin-top: 0.35rem; }

.sh-mark[b-3itdypacpv] {
    align-self: stretch;
    margin-left: -1px;
    border-radius: 0.5rem 0 0 0.5rem;
    background: var(--osen-border-color);
}

.sh-item.urgent .sh-mark[b-3itdypacpv] { background: var(--osen-danger); }
.sh-item.soon .sh-mark[b-3itdypacpv] { background: var(--osen-warning); }
.sh-item.live .sh-mark[b-3itdypacpv] { background: var(--osen-info); }
.sh-item.done .sh-mark[b-3itdypacpv] { background: var(--osen-success); }
.sh-item.faded[b-3itdypacpv] { opacity: 0.6; }

.sh-check[b-3itdypacpv] {
    display: flex;
    align-items: center;
}

.sh-check .form-check-input[b-3itdypacpv] { margin: 0; }

.sh-time[b-3itdypacpv] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.sh-dur[b-3itdypacpv] {
    font-size: 0.72rem;
    color: var(--osen-secondary-color);
}

.sh-title[b-3itdypacpv] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sh-title > a[b-3itdypacpv] {
    font-weight: 600;
    margin-right: 0.35rem;
}

.sh-tag[b-3itdypacpv] {
    display: inline-flex;
    align-items: center;
    padding: 0.02rem 0.45rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    color: var(--osen-secondary-color);
}

.sh-sub[b-3itdypacpv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.sh-sub .ti[b-3itdypacpv] { margin-right: 0.2rem; }

.sh-warn[b-3itdypacpv] { color: #fd7e14; font-weight: 600; }

.sh-people[b-3itdypacpv] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.sh-person[b-3itdypacpv] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    font-size: 0.82rem;
}

.sh-role[b-3itdypacpv] {
    flex-shrink: 0;
    min-width: 1.6rem;
    padding: 0 0.3rem;
    border-radius: 0.3rem;
    background: var(--osen-tertiary-bg);
    font-size: 0.65rem;
    font-weight: 600;
    text-align: center;
    color: var(--osen-secondary-color);
}

.sh-name[b-3itdypacpv] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sh-missing[b-3itdypacpv] {
    color: var(--osen-danger);
    font-weight: 600;
}

.sh-ans[b-3itdypacpv] { flex-shrink: 0; }
.sh-ans.ok[b-3itdypacpv] { color: var(--osen-success); }
.sh-ans.no[b-3itdypacpv] { color: var(--osen-danger); }
.sh-ans.wait[b-3itdypacpv] { color: var(--osen-warning); }

.sh-state[b-3itdypacpv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
}

.sh-pill[b-3itdypacpv] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.sh-pill.orange[b-3itdypacpv] {
    background: color-mix(in srgb, #fd7e14 16%, transparent);
    color: #fd7e14;
}

.sh-actions[b-3itdypacpv] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}

/* ── Pager ── */
.sh-pager[b-3itdypacpv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    padding: 0.55rem 1rem;
    border-top: 1px solid var(--osen-border-color);
}

.sh-pager-info[b-3itdypacpv] {
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
    color: var(--osen-secondary-color);
}

.sh-pager-tools[b-3itdypacpv] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.sh-sizes[b-3itdypacpv] {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.15rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
}

.sh-sizes-label[b-3itdypacpv] {
    padding: 0 0.4rem 0 0.5rem;
    font-size: 0.72rem;
    color: var(--osen-secondary-color);
}

.sh-size[b-3itdypacpv] {
    min-width: 2rem;
    padding: 0.1rem 0.5rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--osen-secondary-color);
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
}

.sh-size:hover[b-3itdypacpv] { color: var(--osen-body-color); }

.sh-size.on[b-3itdypacpv] {
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
    font-weight: 600;
}

.sh-steps[b-3itdypacpv] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.sh-step[b-3itdypacpv] {
    width: 1.8rem;
    height: 1.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-body-color);
}

.sh-step:hover:not(:disabled)[b-3itdypacpv] {
    border-color: var(--osen-primary);
    color: var(--osen-primary);
}

.sh-step:disabled[b-3itdypacpv] { opacity: 0.4; }

.sh-step-label[b-3itdypacpv] {
    min-width: 3rem;
    font-size: 0.78rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
    color: var(--osen-secondary-color);
}

@media (max-width: 1399.98px) {
    .sh-now[b-3itdypacpv] { grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .sh-item[b-3itdypacpv] {
        grid-template-columns: 4px 1.1rem 6rem minmax(0, 1fr) minmax(10rem, 13rem) auto;
    }

    .sh-mark[b-3itdypacpv],
    .sh-check[b-3itdypacpv] { grid-row: span 2; }

    .sh-state[b-3itdypacpv] {
        grid-column: 4;
        grid-row: 2;
    }
}

@media (max-width: 991.98px) {
    .sh-item[b-3itdypacpv] {
        grid-template-columns: 4px 1.1rem 5.5rem minmax(0, 1fr) auto;
        row-gap: 0.35rem;
    }

    .sh-mark[b-3itdypacpv],
    .sh-check[b-3itdypacpv] { grid-row: span 3; }

    .sh-people[b-3itdypacpv],
    .sh-state[b-3itdypacpv] { grid-column: 4; grid-row: auto; }

    .sh-actions[b-3itdypacpv] { grid-column: 5; grid-row: 1; }

    .sh-filters[b-3itdypacpv] { margin-left: 0; width: 100%; }
    .sh-search[b-3itdypacpv], .sh-picker[b-3itdypacpv] { width: 100%; }
}

@media (max-width: 767.98px) {
    .sh-now[b-3itdypacpv] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* /Components/Pages/Operations/Dispatch/WorkingHours.razor.rz.scp.css */
/* Working Hours — the To act on look (ActionQueue / Guide Area).
   Theme variables are --osen-*, not --bs-*. */

.wh-tab[b-qq0bey9qjc] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.75rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-body-color);
    font-size: 0.85rem;
    font-weight: 500;
}

.wh-tab:hover[b-qq0bey9qjc] { border-color: var(--osen-primary); }

.wh-tab.on[b-qq0bey9qjc] {
    border-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
}

.wh-date[b-qq0bey9qjc] { width: 9rem; }

.wh-period[b-qq0bey9qjc] {
    margin-left: 0.4rem;
    font-size: 0.8rem;
    color: var(--osen-secondary-color);
}

/* ── Now strip ── */
.wh-now[b-qq0bey9qjc] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.wh-now-tile[b-qq0bey9qjc] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.wh-now-label[b-qq0bey9qjc] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.wh-now-label > .ti[b-qq0bey9qjc] { color: var(--osen-primary); }

.wh-now-value[b-qq0bey9qjc] {
    font-size: 1.35rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.wh-now-name[b-qq0bey9qjc] {
    font-size: 1rem;
    line-height: 2rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wh-now-note[b-qq0bey9qjc] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

/* ── Panel ── */
.wh-panel[b-qq0bey9qjc] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.wh-chips[b-qq0bey9qjc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    padding: 0.6rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.wh-chip[b-qq0bey9qjc] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.6rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-body-color);
    font-size: 0.8rem;
}

.wh-chip:hover[b-qq0bey9qjc] { border-color: var(--osen-primary); }

.wh-chip.on[b-qq0bey9qjc] {
    border-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
}

.wh-chip-count[b-qq0bey9qjc] {
    min-width: 1.3rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
    color: var(--osen-body-color);
}

.wh-filters[b-qq0bey9qjc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-left: auto;
}

.wh-toggle[b-qq0bey9qjc] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.8rem;
    color: var(--osen-secondary-color);
    cursor: pointer;
}

.wh-search[b-qq0bey9qjc] { width: 15rem; }

.wh-empty[b-qq0bey9qjc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding: 2.5rem 1rem;
    font-size: 0.875rem;
    color: var(--osen-secondary-color);
}

.wh-empty > .ti[b-qq0bey9qjc] { font-size: 2rem; }

/* ── Rows: person · bar · shifts · hours ── */
.wh-rows[b-qq0bey9qjc] {
    padding: 0.5rem 1rem 0.75rem;
}

.wh-head[b-qq0bey9qjc],
.wh-item[b-qq0bey9qjc] {
    display: grid;
    grid-template-columns: minmax(14rem, 1.2fr) minmax(8rem, 1fr) 4.5rem 5.5rem;
    gap: 1rem;
    align-items: center;
}

.wh-head[b-qq0bey9qjc] {
    padding: 0.25rem 0.75rem 0.4rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.wh-item[b-qq0bey9qjc] {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.5rem;
    cursor: pointer;
    font-size: 0.85rem;
}

.wh-item + .wh-item[b-qq0bey9qjc] { margin-top: 0.35rem; }

.wh-item:hover[b-qq0bey9qjc] {
    border-color: color-mix(in srgb, var(--osen-primary) 50%, var(--osen-border-color));
}

.wh-item.idle[b-qq0bey9qjc] {
    cursor: default;
    opacity: 0.65;
}

.wh-who[b-qq0bey9qjc] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.wh-avatar[b-qq0bey9qjc] {
    width: 2.1rem;
    height: 2.1rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
    font-size: 0.75rem;
    font-weight: 700;
}

.wh-name[b-qq0bey9qjc] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wh-sub[b-qq0bey9qjc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.wh-tag[b-qq0bey9qjc] {
    display: inline-flex;
    align-items: center;
    padding: 0.02rem 0.45rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    color: var(--osen-secondary-color);
}

.wh-bar[b-qq0bey9qjc] {
    height: 8px;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    overflow: hidden;
}

.wh-bar > span[b-qq0bey9qjc] {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--osen-primary);
}

.wh-shifts[b-qq0bey9qjc] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    color: var(--osen-secondary-color);
}

.wh-hours[b-qq0bey9qjc] {
    text-align: right;
    font-size: 1rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.wh-hours small[b-qq0bey9qjc] {
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--osen-secondary-color);
}

/* ── Drill-through ── */
.wh-modal[b-qq0bey9qjc] {
    background: rgba(0, 0, 0, 0.5);
}

.wh-stat[b-qq0bey9qjc] {
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.8rem;
}

/* date · time · shift · status · hours */
.wh-shift[b-qq0bey9qjc] {
    display: grid;
    grid-template-columns: 6rem 7.5rem minmax(0, 1fr) auto 4.5rem;
    gap: 0.75rem;
    align-items: center;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.5rem;
    font-size: 0.85rem;
}

.wh-shift + .wh-shift[b-qq0bey9qjc] { margin-top: 0.3rem; }

.wh-shift-date[b-qq0bey9qjc],
.wh-shift-time[b-qq0bey9qjc] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.wh-shift-time[b-qq0bey9qjc] { color: var(--osen-secondary-color); }

@media (max-width: 1399.98px) {
    .wh-now[b-qq0bey9qjc] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
    .wh-filters[b-qq0bey9qjc] { margin-left: 0; width: 100%; }
    .wh-search[b-qq0bey9qjc] { width: 100%; }

    .wh-head[b-qq0bey9qjc] { display: none; }

    .wh-item[b-qq0bey9qjc] {
        grid-template-columns: minmax(0, 1fr) auto;
        row-gap: 0.4rem;
    }

    .wh-bar[b-qq0bey9qjc] { grid-column: 1 / -1; grid-row: 2; }
    .wh-shifts[b-qq0bey9qjc] { display: none; }

    .wh-shift[b-qq0bey9qjc] {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}

@media (max-width: 767.98px) {
    .wh-now[b-qq0bey9qjc] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* /Components/Pages/Operations/Guides/GuideDashboard.razor.rz.scp.css */
/* Guide Area — the To act on look (ActionQueue.razor.css) for every tab.
   Theme variables are --osen-*, not --bs-*. */

/* ── Tabs ── */
.gd-tab[b-hlzaulrhxd] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-body-color);
    font-size: 0.85rem;
    font-weight: 500;
}

.gd-tab:hover[b-hlzaulrhxd] {
    border-color: var(--osen-primary);
}

.gd-tab.on[b-hlzaulrhxd] {
    border-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
}

.gd-tab-count[b-hlzaulrhxd] {
    min-width: 1.4rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.gd-tab-count.hot[b-hlzaulrhxd] {
    background: var(--osen-danger);
    color: #fff;
}

.gd-search[b-hlzaulrhxd] {
    width: 16rem;
}

/* ── Now strip ── */
.gd-now[b-hlzaulrhxd] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.gd-now-tile[b-hlzaulrhxd] {
    display: flex;
    flex-direction: column;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    color: inherit;
    text-decoration: none;
    transition: border-color 0.15s;
}

.gd-now-tile:hover[b-hlzaulrhxd] {
    border-color: var(--osen-primary);
    color: inherit;
}

.gd-now-label[b-hlzaulrhxd] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.gd-now-value[b-hlzaulrhxd] {
    font-size: 1.35rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.gd-now-note[b-hlzaulrhxd] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

/* ── Layout ── */
.gd-grid[b-hlzaulrhxd] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 21rem;
    gap: 1rem;
    align-items: start;
}

.gd-side[b-hlzaulrhxd] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    min-width: 0;
}

.gd-two[b-hlzaulrhxd] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    gap: 1rem;
}

/* ── Panels ── */
.gd-panel[b-hlzaulrhxd] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.gd-panel-head[b-hlzaulrhxd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.gd-panel-title[b-hlzaulrhxd] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 600;
}

.gd-panel-title > .ti[b-hlzaulrhxd] {
    color: var(--osen-primary);
}

.gd-panel-note[b-hlzaulrhxd] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.gd-panel-empty[b-hlzaulrhxd] {
    padding: 1rem;
    font-size: 0.8rem;
    text-align: center;
    color: var(--osen-secondary-color);
}

.gd-empty[b-hlzaulrhxd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding: 2.5rem 1rem;
    color: var(--osen-secondary-color);
    font-size: 0.875rem;
}

.gd-empty > .ti[b-hlzaulrhxd] {
    font-size: 2rem;
}

.gd-count[b-hlzaulrhxd] {
    min-width: 1.4rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-weight: 600;
    text-align: center;
    font-variant-numeric: tabular-nums;
    color: var(--osen-body-color);
}

.gd-count.warn[b-hlzaulrhxd] { background: var(--osen-warning); color: #000; }
.gd-count.hot[b-hlzaulrhxd] { background: var(--osen-danger); color: #fff; }

.gd-pill[b-hlzaulrhxd] {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
}

.gd-pill.danger[b-hlzaulrhxd] { background: color-mix(in srgb, var(--osen-danger) 15%, transparent); color: var(--osen-danger); }
.gd-pill.warning[b-hlzaulrhxd] { background: color-mix(in srgb, var(--osen-warning) 18%, transparent); color: var(--osen-warning); }
.gd-pill.info[b-hlzaulrhxd] { background: color-mix(in srgb, var(--osen-info) 15%, transparent); color: var(--osen-info); }
.gd-pill.orange[b-hlzaulrhxd] { background: color-mix(in srgb, #fd7e14 16%, transparent); color: #fd7e14; }

/* A panel that is one big link (Block Reserve Queue, Guide Reports). */
.gd-link[b-hlzaulrhxd] {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.75rem 1rem;
    color: inherit;
    text-decoration: none;
}

.gd-link:hover[b-hlzaulrhxd] {
    border-color: var(--osen-primary);
    color: inherit;
}

.gd-link-icon[b-hlzaulrhxd] {
    width: 2.2rem;
    height: 2.2rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    background: color-mix(in srgb, var(--osen-warning) 16%, transparent);
    color: var(--osen-warning);
    font-size: 1.15rem;
}

.gd-link-icon.info[b-hlzaulrhxd] {
    background: color-mix(in srgb, var(--osen-info) 15%, transparent);
    color: var(--osen-info);
}

/* ── Chips ── */
.gd-chips[b-hlzaulrhxd] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    padding: 0.6rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.gd-chip[b-hlzaulrhxd] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.6rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-body-color);
    font-size: 0.8rem;
}

.gd-chip:hover[b-hlzaulrhxd] { border-color: var(--osen-primary); }
.gd-chip.on[b-hlzaulrhxd] {
    border-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
}
.gd-chip.empty[b-hlzaulrhxd] { color: var(--osen-secondary-color); }

.gd-chip-count[b-hlzaulrhxd] {
    min-width: 1.3rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

/* Roster "Properties" dropdown and its picks. */
.gd-props-menu[b-hlzaulrhxd] {
    min-width: 20rem;
}

.gd-props-body[b-hlzaulrhxd] {
    max-height: 22rem;
    overflow-y: auto;
}

.gd-pick[b-hlzaulrhxd] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1rem 0.25rem 0.1rem 0.55rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
    font-size: 0.78rem;
}

.gd-pick > button[b-hlzaulrhxd] {
    border: 0;
    background: none;
    color: inherit;
    padding: 0 0.15rem;
}

.gd-divider[b-hlzaulrhxd] {
    width: 1px;
    height: 1.4rem;
    margin: 0 0.25rem;
    background: var(--osen-border-color);
}

/* ── Rows ── */
.gd-rows[b-hlzaulrhxd] {
    padding: 0.25rem 1rem 0.75rem;
}

.gd-day[b-hlzaulrhxd] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.75rem 0 0.35rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.gd-day-count[b-hlzaulrhxd] {
    font-weight: 500;
}

/* mark · when · what · who · state · action */
.gd-item[b-hlzaulrhxd] {
    display: grid;
    grid-template-columns: 4px 6.5rem minmax(0, 1fr) 11rem auto auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.55rem 0.75rem 0.55rem 0;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.5rem;
    background: var(--osen-secondary-bg);
    font-size: 0.85rem;
}

.gd-item + .gd-item[b-hlzaulrhxd] {
    margin-top: 0.35rem;
}

.gd-mark[b-hlzaulrhxd] {
    align-self: stretch;
    margin-left: -1px;
    border-radius: 0.5rem 0 0 0.5rem;
    background: var(--osen-border-color);
}

.gd-urgent .gd-mark[b-hlzaulrhxd] { background: var(--osen-danger); }
.gd-soon .gd-mark[b-hlzaulrhxd] { background: var(--osen-warning); }

.gd-date[b-hlzaulrhxd] {
    font-size: 0.72rem;
    color: var(--osen-secondary-color);
}

.gd-time[b-hlzaulrhxd] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gd-soon-tag[b-hlzaulrhxd] {
    display: inline-block;
    margin-top: 0.15rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: color-mix(in srgb, #fd7e14 16%, transparent);
    color: #fd7e14;
    font-size: 0.68rem;
    font-weight: 600;
}

.gd-title[b-hlzaulrhxd] {
    color: var(--osen-body-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gd-title > a[b-hlzaulrhxd] {
    font-weight: 600;
    margin-right: 0.3rem;
}

.gd-sub[b-hlzaulrhxd] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.gd-sub a[b-hlzaulrhxd] {
    color: inherit;
}

.gd-sub a:hover[b-hlzaulrhxd] {
    color: var(--osen-primary);
}

.gd-tags[b-hlzaulrhxd] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.25rem;
}

.gd-tag[b-hlzaulrhxd] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.02rem 0.45rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    color: var(--osen-secondary-color);
    text-decoration: none;
}

.gd-tag.lang[b-hlzaulrhxd] { background: color-mix(in srgb, #17a2b8 15%, transparent); color: #17a2b8; }
.gd-tag.cap[b-hlzaulrhxd] { background: color-mix(in srgb, #fd7e14 16%, transparent); color: #fd7e14; font-weight: 600; }
.gd-tag.link:hover[b-hlzaulrhxd] { color: var(--osen-primary); }

.gd-who[b-hlzaulrhxd] {
    min-width: 0;
    font-size: 0.82rem;
}

.gd-noguide[b-hlzaulrhxd] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--osen-danger);
    font-weight: 600;
}

.gd-pager[b-hlzaulrhxd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    padding: 0.55rem 1rem;
    border-top: 1px solid var(--osen-border-color);
}

.gd-pager-info[b-hlzaulrhxd] {
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
    color: var(--osen-secondary-color);
}

.gd-pager-tools[b-hlzaulrhxd] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}

/* Rows per page — a quiet segmented pill, same family as the chips. */
.gd-sizes[b-hlzaulrhxd] {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.15rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
}

.gd-sizes-label[b-hlzaulrhxd] {
    padding: 0 0.4rem 0 0.5rem;
    font-size: 0.72rem;
    color: var(--osen-secondary-color);
}

.gd-size[b-hlzaulrhxd] {
    min-width: 2rem;
    padding: 0.1rem 0.5rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--osen-secondary-color);
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
}

.gd-size:hover[b-hlzaulrhxd] {
    color: var(--osen-body-color);
}

.gd-size.on[b-hlzaulrhxd] {
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
    font-weight: 600;
}

.gd-steps[b-hlzaulrhxd] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.gd-step[b-hlzaulrhxd] {
    width: 1.8rem;
    height: 1.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-body-color);
}

.gd-step:hover:not(:disabled)[b-hlzaulrhxd] {
    border-color: var(--osen-primary);
    color: var(--osen-primary);
}

.gd-step:disabled[b-hlzaulrhxd] {
    opacity: 0.4;
}

.gd-step-label[b-hlzaulrhxd] {
    min-width: 3rem;
    font-size: 0.78rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
    color: var(--osen-secondary-color);
}

/* ── Mini rows (side panels) ── */
.gd-mini[b-hlzaulrhxd] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 1rem;
    cursor: pointer;
}

.gd-mini + .gd-mini[b-hlzaulrhxd] {
    border-top: 1px solid var(--osen-border-color);
}

.gd-mini:hover[b-hlzaulrhxd] {
    background: color-mix(in srgb, var(--osen-tertiary-bg) 55%, transparent);
}

.gd-mini-dot[b-hlzaulrhxd] {
    width: 0.5rem;
    height: 0.5rem;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--osen-secondary-color);
}

.gd-mini-danger .gd-mini-dot[b-hlzaulrhxd] { background: var(--osen-danger); }
.gd-mini-warning .gd-mini-dot[b-hlzaulrhxd] { background: var(--osen-warning); }

.gd-mini-title[b-hlzaulrhxd] {
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gd-mini-sub[b-hlzaulrhxd] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Figures, stats, bars ── */
.gd-figure[b-hlzaulrhxd] {
    display: flex;
    flex-direction: column;
}

.gd-figure > span[b-hlzaulrhxd] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--osen-secondary-color);
}

.gd-figure > strong[b-hlzaulrhxd] {
    font-size: 1.1rem;
    font-variant-numeric: tabular-nums;
}

.gd-stat[b-hlzaulrhxd] {
    display: flex;
    justify-content: space-between;
    padding: 0.55rem 1rem;
    font-size: 0.85rem;
}

.gd-stat + .gd-stat[b-hlzaulrhxd] {
    border-top: 1px solid var(--osen-border-color);
}

.gd-stat > span[b-hlzaulrhxd] {
    color: var(--osen-secondary-color);
}

.gd-bar[b-hlzaulrhxd] {
    height: 6px;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    overflow: hidden;
}

.gd-bar > span[b-hlzaulrhxd] {
    display: block;
    height: 100%;
    border-radius: 999px;
}

.gd-bar > span.ok[b-hlzaulrhxd] { background: var(--osen-success); }
.gd-bar > span.warn[b-hlzaulrhxd] { background: var(--osen-warning); }

/* ── Roster ── */
.gd-roster[b-hlzaulrhxd] {
    display: grid;
    grid-template-columns: 2.4rem minmax(14rem, 1fr) minmax(0, 1.6fr);
    gap: 0.8rem;
    align-items: start;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.5rem;
    cursor: pointer;
    font-size: 0.85rem;
}

.gd-roster + .gd-roster[b-hlzaulrhxd] {
    margin-top: 0.35rem;
}

.gd-roster:hover[b-hlzaulrhxd] {
    border-color: color-mix(in srgb, var(--osen-primary) 50%, var(--osen-border-color));
}

.gd-avatar[b-hlzaulrhxd] {
    width: 2.4rem;
    height: 2.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--osen-primary) 16%, transparent);
    color: var(--osen-primary);
    font-size: 0.8rem;
    font-weight: 600;
}

.gd-roster-props[b-hlzaulrhxd] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.gd-prop[b-hlzaulrhxd] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
}

.gd-prop:empty[b-hlzaulrhxd] {
    display: none;
}

.gd-prop-label[b-hlzaulrhxd] {
    min-width: 5.5rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--osen-secondary-color);
}

@media (max-width: 1399.98px) {
    .gd-now[b-hlzaulrhxd] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) {
    .gd-grid[b-hlzaulrhxd] {
        grid-template-columns: minmax(0, 1fr);
    }

    .gd-item[b-hlzaulrhxd] {
        grid-template-columns: 4px 6rem minmax(0, 1fr) auto;
    }

    .gd-item > .gd-who[b-hlzaulrhxd],
    .gd-item > :nth-child(5)[b-hlzaulrhxd] {
        display: none;
    }

    .gd-roster[b-hlzaulrhxd] {
        grid-template-columns: 2.4rem minmax(0, 1fr);
    }

    .gd-roster-props[b-hlzaulrhxd] {
        grid-column: 2;
    }

    .gd-search[b-hlzaulrhxd] {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .gd-now[b-hlzaulrhxd] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Components/Pages/Operations/Guides/GuideList.razor.rz.scp.css */
/* Guides list. Theme variables are --osen-*, not --bs-*. */
.gl-count[b-rd58ev6cso] {
    margin-left: 0.35rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
}

.gl-divider[b-rd58ev6cso] {
    width: 1px;
    height: 1.4rem;
    margin: 0 0.3rem;
    background: var(--osen-border-color);
}

.gl-search[b-rd58ev6cso] {
    width: 16rem;
}

.gl-props[b-rd58ev6cso] {
    min-width: 19rem;
}

.gl-props-body[b-rd58ev6cso] {
    max-height: 22rem;
    overflow-y: auto;
}

.gl-pick[b-rd58ev6cso] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1rem 0.25rem 0.1rem 0.55rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
    font-size: 0.78rem;
}

.gl-pick > button[b-rd58ev6cso] {
    border: 0;
    background: none;
    color: inherit;
    padding: 0 0.15rem;
}

/* Guide · Languages · Today · Next 7 days · Contact · actions */
.gl-list[b-rd58ev6cso] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    overflow: hidden;
}

.gl-row[b-rd58ev6cso] {
    display: grid;
    grid-template-columns: minmax(14rem, 1.5fr) minmax(10rem, 1.3fr) minmax(8rem, 0.9fr) 11.5rem minmax(11rem, 1fr) 2.5rem;
    gap: 1rem;
    align-items: center;
    padding: 0.6rem 1rem;
    font-size: 0.85rem;
}

.gl-head[b-rd58ev6cso] {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--osen-secondary-color);
}

.gl-item[b-rd58ev6cso] {
    border-top: 1px solid var(--osen-border-color);
    cursor: pointer;
}

.gl-item:hover[b-rd58ev6cso] {
    background: color-mix(in srgb, var(--osen-tertiary-bg) 55%, transparent);
}

.gl-who[b-rd58ev6cso] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.gl-name[b-rd58ev6cso] {
    font-weight: 600;
    color: var(--osen-body-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gl-sub[b-rd58ev6cso] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.gl-cap[b-rd58ev6cso] {
    padding: 0 0.4rem;
    border-radius: 999px;
    background: color-mix(in srgb, #fd7e14 16%, transparent);
    color: #fd7e14;
    font-size: 0.7rem;
    font-weight: 600;
}

.gl-langs[b-rd58ev6cso] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.gl-lang[b-rd58ev6cso] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.05rem 0.45rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.75rem;
}

.gl-lang.match[b-rd58ev6cso] {
    background: color-mix(in srgb, var(--osen-success) 18%, transparent);
    color: var(--osen-success);
    font-weight: 600;
}

/* Four dots: Basic → Native. */
.gl-level[b-rd58ev6cso] {
    display: inline-flex;
    gap: 2px;
}

.gl-level > i[b-rd58ev6cso] {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--osen-secondary-color) 35%, transparent);
}

.gl-level > i.on[b-rd58ev6cso] {
    background: currentColor;
}

.gl-today[b-rd58ev6cso] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

.gl-week[b-rd58ev6cso] {
    display: flex;
    gap: 3px;
}

.gl-day[b-rd58ev6cso] {
    width: 1.35rem;
    height: 1.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.3rem;
    font-size: 0.65rem;
    font-weight: 600;
}

/* Day states, shared by Today and the week strip. */
.gl-free[b-rd58ev6cso] { background: color-mix(in srgb, var(--osen-success) 15%, transparent); color: var(--osen-success); }
.gl-booked[b-rd58ev6cso] { background: color-mix(in srgb, var(--osen-primary) 18%, transparent); color: var(--osen-primary); }
.gl-held[b-rd58ev6cso] { background: transparent; color: var(--osen-info); box-shadow: inset 0 0 0 1px var(--osen-info); }
.gl-off[b-rd58ev6cso] { background: var(--osen-tertiary-bg); color: var(--osen-secondary-color); }
.gl-unknown[b-rd58ev6cso] { background: var(--osen-tertiary-bg); color: var(--osen-secondary-color); }

.gl-contact[b-rd58ev6cso] {
    min-width: 0;
    font-size: 0.8rem;
}

.gl-contact a[b-rd58ev6cso] {
    color: inherit;
}

.gl-contact a:hover[b-rd58ev6cso] {
    color: var(--osen-primary);
}

@media (max-width: 1199.98px) {
    .gl-head[b-rd58ev6cso] {
        display: none;
    }

    .gl-row[b-rd58ev6cso] {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .gl-row > :nth-child(2)[b-rd58ev6cso],
    .gl-row > :nth-child(4)[b-rd58ev6cso],
    .gl-row > :nth-child(5)[b-rd58ev6cso] {
        display: none;
    }

    .gl-row > :nth-child(6)[b-rd58ev6cso] {
        display: none;
    }

    .gl-search[b-rd58ev6cso] {
        width: 100%;
    }
}
/* /Components/Pages/Operations/Guides/GuideSchedule.razor.rz.scp.css */
/* Guide scheduler. Theme variables are --osen-*, not --bs-*. */
.gs-period[b-qhsh9yuh4n] {
    min-width: 11rem;
}

.gs-search[b-qhsh9yuh4n] {
    width: 13rem;
}

.gs-project[b-qhsh9yuh4n] {
    width: 13rem;
}

/* Queue on the left, guides on the right. */
.gs-layout[b-qhsh9yuh4n] {
    display: grid;
    grid-template-columns: 19rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

/* ── Queue ── */
.gs-queue[b-qhsh9yuh4n] {
    position: sticky;
    top: calc(var(--osen-topbar-height, 70px) + 1rem);
    margin-bottom: 0;
    max-height: calc(100vh - var(--osen-topbar-height, 70px) - 2rem);
    display: flex;
    flex-direction: column;
}

.gs-queue-head[b-qhsh9yuh4n] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0.9rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.gs-queue-body[b-qhsh9yuh4n] {
    overflow-y: auto;
    padding: 0.25rem 0.6rem 0.75rem;
}

.gs-queue-day[b-qhsh9yuh4n] {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 0.55rem 0.3rem 0.3rem;
    background: var(--osen-secondary-bg);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--osen-secondary-color);
}

.gs-task[b-qhsh9yuh4n] {
    margin-bottom: 0.4rem;
    padding: 0.55rem 0.65rem;
    border: 1px solid var(--osen-border-color);
    border-left: 3px solid var(--osen-warning);
    border-radius: 0.5rem;
    background: var(--osen-secondary-bg);
    font-size: 0.82rem;
    cursor: grab;
}

.gs-task:hover[b-qhsh9yuh4n] {
    border-color: color-mix(in srgb, var(--osen-primary) 50%, var(--osen-border-color));
    border-left-color: var(--osen-warning);
}

.gs-task.on[b-qhsh9yuh4n] {
    border-color: var(--osen-primary);
    border-left-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 8%, var(--osen-secondary-bg));
}

.gs-task-time[b-qhsh9yuh4n] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.gs-task-title[b-qhsh9yuh4n] {
    margin-top: 0.15rem;
    font-weight: 500;
    color: var(--osen-body-color);
}

.gs-task-sub[b-qhsh9yuh4n] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.gs-task-hint[b-qhsh9yuh4n] {
    margin-top: 0.45rem;
    padding-top: 0.45rem;
    border-top: 1px dashed var(--osen-border-color);
    font-size: 0.75rem;
    color: var(--osen-primary);
}

.gs-lang[b-qhsh9yuh4n],
.gs-cap[b-qhsh9yuh4n] {
    display: inline-block;
    margin: 0.1rem 0.2rem 0 0;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.68rem;
    color: var(--osen-secondary-color);
}

.gs-lang.match[b-qhsh9yuh4n] {
    background: color-mix(in srgb, var(--osen-success) 18%, transparent);
    color: var(--osen-success);
    font-weight: 600;
}

.gs-cap[b-qhsh9yuh4n] {
    background: color-mix(in srgb, #fd7e14 16%, transparent);
    color: #fd7e14;
}

/* ── Confirm bar ── */
.gs-confirm[b-qhsh9yuh4n] {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--osen-primary);
    border-radius: 0.6rem;
    background: color-mix(in srgb, var(--osen-primary) 8%, var(--osen-secondary-bg));
}

.gs-spin[b-qhsh9yuh4n] {
    display: inline-block;
    animation: gs-spin-b-qhsh9yuh4n 0.9s linear infinite;
}

@keyframes gs-spin-b-qhsh9yuh4n {
    to { transform: rotate(360deg); }
}

/* ── Grid shared ── */
.gs-grid-card[b-qhsh9yuh4n] {
    overflow-x: auto;
    margin-bottom: 0.75rem;
}

.gs-sticky-col[b-qhsh9yuh4n] {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--osen-secondary-bg);
}

.gs-guide[b-qhsh9yuh4n] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.55rem 0.75rem;
    border-top: 1px solid var(--osen-border-color);
    border-right: 1px solid var(--osen-border-color);
    border-left: 3px solid transparent;
}

.gs-guide.fit-good[b-qhsh9yuh4n] { border-left-color: var(--osen-success); }
.gs-guide.fit-partial[b-qhsh9yuh4n] { border-left-color: var(--osen-warning); }
.gs-guide.fit-busy[b-qhsh9yuh4n],
.gs-guide.fit-off[b-qhsh9yuh4n],
.gs-guide.fit-noteligible[b-qhsh9yuh4n] { opacity: 0.7; }

.gs-guide-name[b-qhsh9yuh4n] {
    display: block;
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--osen-body-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gs-guide-name:hover[b-qhsh9yuh4n] {
    color: var(--osen-primary);
}

.gs-guide-hours[b-qhsh9yuh4n] {
    margin-top: 0.15rem;
    font-size: 0.7rem;
    color: var(--osen-secondary-color);
}

.gs-fit[b-qhsh9yuh4n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    margin-top: 0.25rem;
    padding: 0.25rem 0.4rem;
    border-radius: 0.4rem;
    font-size: 0.72rem;
}

.gs-fit-text[b-qhsh9yuh4n] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gs-fit-good[b-qhsh9yuh4n] { background: color-mix(in srgb, var(--osen-success) 14%, transparent); color: var(--osen-success); }
.gs-fit-partial[b-qhsh9yuh4n] { background: color-mix(in srgb, var(--osen-warning) 16%, transparent); color: var(--osen-warning); }
.gs-fit-busy[b-qhsh9yuh4n] { background: color-mix(in srgb, var(--osen-danger) 12%, transparent); color: var(--osen-danger); }
.gs-fit-off[b-qhsh9yuh4n],
.gs-fit-noteligible[b-qhsh9yuh4n] { background: var(--osen-tertiary-bg); color: var(--osen-secondary-color); }

/* ── Week ── */
.gs-week[b-qhsh9yuh4n] {
    display: grid;
    grid-template-columns: 15rem repeat(var(--gs-days), minmax(8.5rem, 1fr));
    min-width: calc(15rem + var(--gs-days) * 8.5rem);
}

.gs-week-head[b-qhsh9yuh4n] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.05rem;
    padding: 0.5rem 0.25rem;
    background: var(--osen-tertiary-bg);
    border-right: 1px solid var(--osen-border-color);
    font-size: 0.8rem;
}

.gs-week-head.gs-sticky-col[b-qhsh9yuh4n] {
    align-items: flex-start;
    padding-left: 0.75rem;
    background: var(--osen-tertiary-bg);
    z-index: 3;
}

.gs-week-head.today .gs-dom[b-qhsh9yuh4n] { color: var(--osen-primary); font-weight: 700; }
.gs-week-head.picked[b-qhsh9yuh4n] { box-shadow: inset 0 -3px 0 var(--osen-primary); }

.gs-dow[b-qhsh9yuh4n] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--osen-secondary-color);
}

.gs-dom[b-qhsh9yuh4n] {
    font-weight: 600;
}

.gs-open[b-qhsh9yuh4n] {
    margin-top: 0.15rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--osen-warning) 22%, transparent);
    color: var(--osen-warning);
    font-size: 0.68rem;
    font-weight: 600;
}

.gs-cell[b-qhsh9yuh4n] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-height: 4.5rem;
    padding: 0.3rem;
    border-top: 1px solid var(--osen-border-color);
    border-right: 1px solid var(--osen-border-color);
}

.gs-cell.weekend[b-qhsh9yuh4n] { background: color-mix(in srgb, var(--osen-tertiary-bg) 45%, transparent); }
.gs-cell.today[b-qhsh9yuh4n] { background: color-mix(in srgb, var(--osen-primary) 5%, transparent); }
.gs-cell.picked[b-qhsh9yuh4n] { background: color-mix(in srgb, var(--osen-primary) 9%, transparent); }
.gs-cell.off[b-qhsh9yuh4n] {
    background-image: repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in srgb, var(--osen-secondary-color) 12%, transparent) 6px 7px);
}

.gs-chip[b-qhsh9yuh4n] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.15rem 0.35rem;
    border-radius: 0.35rem;
    border-left: 3px solid;
    font-size: 0.72rem;
    line-height: 1.25;
    min-width: 0;
}

.gs-chip-time[b-qhsh9yuh4n] {
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.gs-chip-label[b-qhsh9yuh4n] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: inherit;
}

.gs-chip > .ti[b-qhsh9yuh4n] {
    margin-left: auto;
}

/* Block kinds, shared by chips (week) and bars (day). */
.shift[b-qhsh9yuh4n] { background: color-mix(in srgb, var(--osen-primary) 13%, transparent); border-color: var(--osen-primary); }
.reserved[b-qhsh9yuh4n] { background: color-mix(in srgb, var(--osen-info) 14%, transparent); border-color: var(--osen-info); }
.held[b-qhsh9yuh4n] { background: transparent; border: 1px dashed var(--osen-info); border-left: 3px dashed var(--osen-info); }
.off[b-qhsh9yuh4n] { border-color: var(--osen-secondary-color); }
.gs-chip.off[b-qhsh9yuh4n] { background: var(--osen-tertiary-bg); color: var(--osen-secondary-color); }

/* ── Day ── */
.gs-day[b-qhsh9yuh4n] {
    display: grid;
    grid-template-columns: 15rem minmax(calc(var(--gs-hours) * 3.6rem), 1fr);
}

.gs-day-head[b-qhsh9yuh4n] {
    padding: 0.5rem 0.75rem;
    background: var(--osen-tertiary-bg);
    border-right: 1px solid var(--osen-border-color);
    z-index: 3;
}

.gs-day-hours[b-qhsh9yuh4n] {
    display: grid;
    grid-template-columns: repeat(var(--gs-hours), 1fr);
    background: var(--osen-tertiary-bg);
}

.gs-day-hours > span[b-qhsh9yuh4n] {
    padding: 0.5rem 0.3rem;
    border-left: 1px solid var(--osen-border-color);
    font-size: 0.7rem;
    color: var(--osen-secondary-color);
    font-variant-numeric: tabular-nums;
}

.gs-lane[b-qhsh9yuh4n] {
    position: relative;
    min-height: 3.6rem;
    border-top: 1px solid var(--osen-border-color);
    background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc(100% / var(--gs-hours) - 1px), var(--osen-border-color) calc(100% / var(--gs-hours) - 1px), var(--osen-border-color) calc(100% / var(--gs-hours)));
}

.gs-lane.off[b-qhsh9yuh4n] {
    background-color: color-mix(in srgb, var(--osen-tertiary-bg) 60%, transparent);
}

.gs-window[b-qhsh9yuh4n] {
    position: absolute;
    top: 0;
    bottom: 0;
    background: color-mix(in srgb, var(--osen-warning) 14%, transparent);
    border-left: 2px dashed var(--osen-warning);
    border-right: 2px dashed var(--osen-warning);
    pointer-events: none;
}

.gs-bar[b-qhsh9yuh4n] {
    position: absolute;
    top: 0.6rem;
    bottom: 0.6rem;
    display: flex;
    align-items: center;
    padding: 0 0.4rem;
    border-radius: 0.35rem;
    border-left: 3px solid;
    font-size: 0.72rem;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.gs-bar.off[b-qhsh9yuh4n] {
    background: var(--osen-tertiary-bg);
    color: var(--osen-secondary-color);
}

.gs-bar a[b-qhsh9yuh4n] {
    color: inherit;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Legend ── */
.gs-legend[b-qhsh9yuh4n] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.gs-key[b-qhsh9yuh4n] {
    display: inline-block;
    width: 0.9rem;
    height: 0.65rem;
    margin-right: 0.35rem;
    border-radius: 0.2rem;
    border-left: 3px solid;
    vertical-align: middle;
}

@media (max-width: 1199.98px) {
    .gs-layout[b-qhsh9yuh4n] {
        grid-template-columns: minmax(0, 1fr);
    }

    .gs-queue[b-qhsh9yuh4n] {
        position: static;
        max-height: 22rem;
    }
}
/* /Components/Pages/Operations/Guides/TasksNeedingGuide.razor.rz.scp.css */
/* Needs a guide. Theme variables are --osen-*, not --bs-*. */
.ng-search[b-p6deip15fk] {
    width: 17rem;
}

.ng-range[b-p6deip15fk] {
    min-width: 15rem;
}

.ng-count[b-p6deip15fk] {
    margin-left: 0.35rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
}

.ng-count.hot[b-p6deip15fk] {
    background: var(--osen-danger);
    color: #fff;
}

.ng-divider[b-p6deip15fk] {
    width: 1px;
    height: 1.4rem;
    margin: 0 0.3rem;
    background: var(--osen-border-color);
}

.ng-props[b-p6deip15fk] {
    min-width: 20rem;
}

.ng-props-body[b-p6deip15fk] {
    max-height: 22rem;
    overflow-y: auto;
}

.ng-pick[b-p6deip15fk] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1rem 0.25rem 0.1rem 0.55rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
    font-size: 0.78rem;
}

.ng-pick > button[b-p6deip15fk] {
    border: 0;
    background: none;
    color: inherit;
    padding: 0 0.15rem;
}

/* Groups (a day, or an operation) */
.ng-group[b-p6deip15fk] {
    margin-bottom: 0.75rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    overflow: hidden;
}

.ng-group-head[b-p6deip15fk] {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.55rem 1rem;
    border: 0;
    background: var(--osen-tertiary-bg);
    color: var(--osen-body-color);
    font-size: 0.875rem;
    text-align: left;
}

.ng-group-count[b-p6deip15fk] {
    margin-left: auto;
    padding: 0 0.45rem;
    border-radius: 999px;
    background: var(--osen-secondary-bg);
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
}

/* when · task · asks · staffing · pax · action */
.ng-row[b-p6deip15fk] {
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1.6fr) minmax(0, 1.4fr) 8rem 4rem auto;
    gap: 0.9rem;
    align-items: center;
    padding: 0.6rem 1rem;
    border-top: 1px solid var(--osen-border-color);
    border-left: 3px solid transparent;
    font-size: 0.85rem;
}

.ng-row.now[b-p6deip15fk] { border-left-color: var(--osen-danger); }
.ng-row.soon[b-p6deip15fk] { border-left-color: var(--osen-warning); }

.ng-row:hover[b-p6deip15fk] {
    background: color-mix(in srgb, var(--osen-tertiary-bg) 55%, transparent);
}

.ng-date[b-p6deip15fk] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.ng-time[b-p6deip15fk] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.ng-title[b-p6deip15fk] {
    color: var(--osen-body-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ng-title > a[b-p6deip15fk] {
    font-weight: 600;
}

.ng-sub[b-p6deip15fk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.ng-sub a[b-p6deip15fk] {
    color: inherit;
}

.ng-sub a:hover[b-p6deip15fk] {
    color: var(--osen-primary);
}

.ng-asks[b-p6deip15fk] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.ng-ask[b-p6deip15fk] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    max-width: 100%;
    padding: 0.05rem 0.45rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ng-ask.lang[b-p6deip15fk] {
    background: color-mix(in srgb, #17a2b8 15%, transparent);
    color: #17a2b8;
}

.ng-ask.match[b-p6deip15fk] {
    background: color-mix(in srgb, var(--osen-success) 18%, transparent);
    color: var(--osen-success);
    font-weight: 600;
}

.ng-pax[b-p6deip15fk] {
    font-variant-numeric: tabular-nums;
    color: var(--osen-secondary-color);
}

@media (max-width: 1199.98px) {
    .ng-row[b-p6deip15fk] {
        grid-template-columns: 6.5rem minmax(0, 1fr) auto;
    }

    .ng-row > :nth-child(3)[b-p6deip15fk],
    .ng-row > :nth-child(4)[b-p6deip15fk],
    .ng-row > :nth-child(5)[b-p6deip15fk] {
        display: none;
    }

    .ng-search[b-p6deip15fk] {
        width: 100%;
    }
}
/* /Components/Pages/Operations/Ops/BlockReserveQueue.razor.rz.scp.css */
/* Block Reserve Queue — the To act on look (pill tabs, now strip, one panel with chips, rows with
   an urgency mark). Theme variables are --osen-*, not --bs-*. */

/* ── Toolbar ── */
.bq-tab[b-ppq3zw4t4y] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.75rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-body-color);
    font-size: 0.85rem;
    font-weight: 500;
}

.bq-tab:hover[b-ppq3zw4t4y] { border-color: var(--osen-primary); }

.bq-tab.on[b-ppq3zw4t4y] {
    border-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
}

.bq-tab-count[b-ppq3zw4t4y] {
    min-width: 1.4rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
    color: var(--osen-body-color);
}

.bq-tab-count.warn[b-ppq3zw4t4y] { background: var(--osen-warning); color: #000; }

.bq-search[b-ppq3zw4t4y] { width: 17rem; }

.bq-sort[b-ppq3zw4t4y] {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.15rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
}

.bq-sort > button[b-ppq3zw4t4y] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.15rem 0.6rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--osen-secondary-color);
    font-size: 0.78rem;
}

.bq-sort > button:hover[b-ppq3zw4t4y] { color: var(--osen-body-color); }

.bq-sort > button.on[b-ppq3zw4t4y] {
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
    font-weight: 600;
}

/* ── Now strip ── */
.bq-now[b-ppq3zw4t4y] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.bq-now-tile[b-ppq3zw4t4y] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.bq-now-label[b-ppq3zw4t4y] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.bq-now-label > .ti[b-ppq3zw4t4y] { color: var(--osen-primary); }

.bq-now-value[b-ppq3zw4t4y] {
    font-size: 1.35rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.bq-now-value.hot[b-ppq3zw4t4y] { color: var(--osen-danger); }
.bq-now-value.warn[b-ppq3zw4t4y] { color: var(--osen-warning); }
.bq-now-value.ok[b-ppq3zw4t4y] { color: var(--osen-success); }

.bq-now-note[b-ppq3zw4t4y] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

/* ── Panel ── */
.bq-panel[b-ppq3zw4t4y] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.bq-chips[b-ppq3zw4t4y] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    padding: 0.6rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.bq-chip[b-ppq3zw4t4y] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.6rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-body-color);
    font-size: 0.8rem;
}

.bq-chip:hover[b-ppq3zw4t4y] { border-color: var(--osen-primary); }

.bq-chip.on[b-ppq3zw4t4y] {
    border-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
}

.bq-chip.empty[b-ppq3zw4t4y] { color: var(--osen-secondary-color); }

.bq-chip-count[b-ppq3zw4t4y] {
    min-width: 1.3rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
    color: var(--osen-body-color);
}

.bq-divider[b-ppq3zw4t4y] {
    width: 1px;
    height: 1.4rem;
    margin: 0 0.25rem;
    background: var(--osen-border-color);
}

.bq-help[b-ppq3zw4t4y] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-left: auto;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.bq-empty[b-ppq3zw4t4y] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding: 2.5rem 1rem;
    font-size: 0.875rem;
    color: var(--osen-secondary-color);
}

.bq-empty > .ti[b-ppq3zw4t4y] { font-size: 2rem; }

/* ── Rows ── */
.bq-rows[b-ppq3zw4t4y] {
    padding: 0.25rem 1rem 0.75rem;
}

.bq-group[b-ppq3zw4t4y] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.85rem 0 0.4rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.bq-group > .ti[b-ppq3zw4t4y] { color: var(--osen-primary); font-size: 0.9rem; }
.bq-group-name[b-ppq3zw4t4y] { color: var(--osen-body-color); }
.bq-group > span:last-child[b-ppq3zw4t4y] { font-weight: 500; }

.bq-item[b-ppq3zw4t4y] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.5rem;
    background: var(--osen-secondary-bg);
}

.bq-item + .bq-item[b-ppq3zw4t4y] { margin-top: 0.4rem; }

.bq-item.open[b-ppq3zw4t4y] {
    border-color: color-mix(in srgb, var(--osen-primary) 40%, var(--osen-border-color));
}

/* mark · date · booking · cover · actions */
.bq-row[b-ppq3zw4t4y] {
    display: grid;
    grid-template-columns: 4px 7.5rem minmax(0, 1fr) minmax(11rem, 15rem) auto;
    gap: 0.9rem;
    align-items: center;
    padding: 0.6rem 0.75rem 0.6rem 0;
    font-size: 0.85rem;
}

.bq-mark[b-ppq3zw4t4y] {
    align-self: stretch;
    margin-left: -1px;
    border-radius: 0.5rem 0 0 0.5rem;
    background: var(--osen-border-color);
}

.bq-item.urgent .bq-mark[b-ppq3zw4t4y] { background: var(--osen-danger); }
.bq-item.soon .bq-mark[b-ppq3zw4t4y] { background: var(--osen-warning); }

.bq-date[b-ppq3zw4t4y] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.bq-date-day[b-ppq3zw4t4y] {
    font-size: 1rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.bq-date-sub[b-ppq3zw4t4y] {
    font-size: 0.72rem;
    color: var(--osen-secondary-color);
}

.bq-when[b-ppq3zw4t4y] {
    display: inline-block;
    margin-top: 0.2rem;
    padding: 0 0.45rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
}

.bq-when.urgent[b-ppq3zw4t4y] { background: color-mix(in srgb, var(--osen-danger) 16%, transparent); color: var(--osen-danger); font-weight: 600; }
.bq-when.soon[b-ppq3zw4t4y] { background: color-mix(in srgb, var(--osen-warning) 18%, transparent); color: var(--osen-warning); font-weight: 600; }

.bq-title[b-ppq3zw4t4y] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bq-op[b-ppq3zw4t4y] {
    margin-right: 0.35rem;
    padding: 0;
    border: 0;
    background: none;
    color: var(--osen-primary);
    font-weight: 600;
}

.bq-op:hover[b-ppq3zw4t4y] {
    text-decoration: underline;
}

.bq-sub[b-ppq3zw4t4y] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.bq-name[b-ppq3zw4t4y] {
    color: var(--osen-body-color);
    max-width: 22rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bq-steps[b-ppq3zw4t4y] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.3rem;
}

.bq-step[b-ppq3zw4t4y] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.02rem 0.5rem;
    border-radius: 999px;
    font-size: 0.7rem;
}

.bq-step-done[b-ppq3zw4t4y] { background: color-mix(in srgb, var(--osen-success) 15%, transparent); color: var(--osen-success); }
.bq-step-wait[b-ppq3zw4t4y] { background: color-mix(in srgb, var(--osen-warning) 15%, transparent); color: var(--osen-warning); }
.bq-step-na[b-ppq3zw4t4y] { background: var(--osen-tertiary-bg); color: var(--osen-secondary-color); text-decoration: line-through; }
.bq-step.current[b-ppq3zw4t4y] { box-shadow: inset 0 0 0 1px currentColor; font-weight: 600; }

.bq-waiting[b-ppq3zw4t4y] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    margin-left: 0.25rem;
    font-size: 0.72rem;
    color: var(--osen-secondary-color);
}

/* Coverage: a dot per task — green picked, amber missing, grey not needed */
.bq-cover[b-ppq3zw4t4y] {
    min-width: 0;
}

.bq-cover-text[b-ppq3zw4t4y] {
    margin-bottom: 0.3rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.bq-cover-text.ok[b-ppq3zw4t4y] { color: var(--osen-success); font-weight: 600; }
.bq-cover-text.part[b-ppq3zw4t4y] { color: var(--osen-warning); font-weight: 600; }

.bq-dots[b-ppq3zw4t4y] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px;
}

.bq-dot[b-ppq3zw4t4y] {
    width: 0.85rem;
    height: 0.85rem;
    padding: 0;
    border: 0;
    cursor: pointer;
    border-radius: 0.25rem;
    background: color-mix(in srgb, var(--osen-primary) 30%, transparent);
}

.bq-dot.ok[b-ppq3zw4t4y] { background: var(--osen-success); }
.bq-dot.missing[b-ppq3zw4t4y] { background: transparent; box-shadow: inset 0 0 0 2px var(--osen-warning); }
.bq-dot.na[b-ppq3zw4t4y] { background: var(--osen-tertiary-bg); }
.bq-dot:hover[b-ppq3zw4t4y] { outline: 2px solid var(--osen-primary); outline-offset: 1px; }

.bq-more[b-ppq3zw4t4y] {
    font-size: 0.7rem;
    color: var(--osen-secondary-color);
}

.bq-actions[b-ppq3zw4t4y] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.3rem;
    white-space: nowrap;
}

/* Confirm a step */
.bq-record[b-ppq3zw4t4y] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem 1rem;
    margin: 0 0.75rem 0.75rem;
    padding: 0.65rem 0.8rem;
    border-radius: 0.5rem;
    background: color-mix(in srgb, var(--osen-primary) 8%, var(--osen-tertiary-bg));
    font-size: 0.85rem;
}

.bq-record-text[b-ppq3zw4t4y] {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
    flex: 1 1 22rem;
}

.bq-record-text > .ti[b-ppq3zw4t4y] {
    margin-top: 0.1rem;
    font-size: 1.15rem;
    color: var(--osen-primary);
}

.bq-record-form[b-ppq3zw4t4y] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex: 1 1 24rem;
}

/* The days of a booking */
.bq-days[b-ppq3zw4t4y] {
    margin: 0 0.75rem 0.75rem;
    border-top: 1px dashed var(--osen-border-color);
    padding-top: 0.5rem;
}

/* date · time · task · pax/staffing · picks */
.bq-day[b-ppq3zw4t4y] {
    display: grid;
    grid-template-columns: 6rem 3.5rem minmax(0, 1fr) 9.5rem minmax(10rem, auto);
    gap: 0.75rem;
    align-items: center;
    padding: 0.35rem 0.6rem;
    border-left: 3px solid var(--osen-border-color);
    border-radius: 0.3rem;
    font-size: 0.82rem;
}

.bq-day + .bq-day[b-ppq3zw4t4y] { margin-top: 0.2rem; }
.bq-day:nth-child(odd)[b-ppq3zw4t4y] { background: color-mix(in srgb, var(--osen-tertiary-bg) 50%, transparent); }
.bq-day.missing[b-ppq3zw4t4y] { border-left-color: var(--osen-warning); }
.bq-day.na[b-ppq3zw4t4y] { opacity: 0.6; }

.bq-day-date[b-ppq3zw4t4y],
.bq-day-time[b-ppq3zw4t4y] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.bq-day-time[b-ppq3zw4t4y] { color: var(--osen-secondary-color); }

.bq-day-what[b-ppq3zw4t4y] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bq-day-what > .bq-op[b-ppq3zw4t4y] {
    margin-right: 0.35rem;
}

.bq-day-meta[b-ppq3zw4t4y] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
    white-space: nowrap;
}

.bq-day-picks[b-ppq3zw4t4y] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.25rem;
}

.bq-pick[b-ppq3zw4t4y] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.02rem 0.5rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--osen-warning) 15%, transparent);
    color: var(--osen-warning);
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.bq-pick.ok[b-ppq3zw4t4y] {
    background: color-mix(in srgb, var(--osen-success) 14%, transparent);
    color: var(--osen-success);
}

@media (max-width: 1399.98px) {
    .bq-now[b-ppq3zw4t4y] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .bq-help[b-ppq3zw4t4y] { margin-left: 0; width: 100%; }
}

@media (max-width: 1199.98px) {
    .bq-row[b-ppq3zw4t4y] {
        grid-template-columns: 4px 6.5rem minmax(0, 1fr) auto;
        row-gap: 0.5rem;
    }

    .bq-mark[b-ppq3zw4t4y] { grid-row: span 2; }
    .bq-cover[b-ppq3zw4t4y] { grid-column: 2 / 4; grid-row: 2; }
    .bq-actions[b-ppq3zw4t4y] { grid-column: 4; grid-row: 1; }

    .bq-day[b-ppq3zw4t4y] { grid-template-columns: 5.5rem 3rem minmax(0, 1fr); }
    .bq-day-meta[b-ppq3zw4t4y],
    .bq-day-picks[b-ppq3zw4t4y] { grid-column: 3; justify-content: flex-start; }

    .bq-search[b-ppq3zw4t4y] { width: 100%; }
}

@media (max-width: 767.98px) {
    .bq-now[b-ppq3zw4t4y] { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .bq-row[b-ppq3zw4t4y] { grid-template-columns: 4px minmax(0, 1fr) auto; }
    .bq-date[b-ppq3zw4t4y] { grid-column: 2; }
    .bq-row > .min-w-0[b-ppq3zw4t4y] { grid-column: 2 / -1; }
    .bq-cover[b-ppq3zw4t4y] { grid-column: 2 / -1; grid-row: auto; }
    .bq-actions[b-ppq3zw4t4y] { grid-column: 3; grid-row: 1; flex-wrap: wrap; }
    .bq-mark[b-ppq3zw4t4y] { grid-row: span 3; }
}
/* /Components/Pages/Operations/Ops/OperationDetail.razor.rz.scp.css */
.operation-readiness[b-bd627fh7ds] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    background: color-mix(in srgb, var(--bs-primary) 6%, var(--bs-secondary-bg));
    border: 1px solid color-mix(in srgb, var(--bs-primary) 18%, var(--bs-border-color));
    border-radius: .8rem;
}

.operation-readiness-copy[b-bd627fh7ds] {
    display: grid;
    flex: 0 0 auto;
    gap: .15rem;
}

.operation-readiness-copy span[b-bd627fh7ds],
.operation-rail-heading > div > span[b-bd627fh7ds] {
    color: var(--bs-secondary-color);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.operation-readiness-status[b-bd627fh7ds] {
    justify-self: start;
    margin-top: .1rem;
}

.operation-readiness-metrics[b-bd627fh7ds] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .45rem;
}

.operation-readiness-pill[b-bd627fh7ds] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-height: 2rem;
    padding: .35rem .65rem;
    color: var(--bs-body-color);
    background: var(--bs-secondary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 600;
    white-space: nowrap;
}

.operation-readiness-pill.is-ready[b-bd627fh7ds] {
    color: var(--bs-success-text-emphasis);
    background: var(--bs-success-bg-subtle);
    border-color: var(--bs-success-border-subtle);
}

.operation-readiness-pill.needs-attention[b-bd627fh7ds] {
    color: var(--bs-warning-text-emphasis);
    background: var(--bs-warning-bg-subtle);
    border-color: var(--bs-warning-border-subtle);
}

.operation-skeleton-pill[b-bd627fh7ds] {
    width: 6.75rem;
}

.operation-skeleton-document-icon[b-bd627fh7ds] {
    width: 2.25rem;
    height: 2.25rem;
}

.operation-detail-layout[b-bd627fh7ds] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(26rem, 30rem);
    grid-template-areas: "main rail";
    align-items: start;
    gap: 1rem;
}

.operation-detail-main[b-bd627fh7ds] {
    grid-area: main;
    min-width: 0;
}

.operation-detail-rail[b-bd627fh7ds] {
    grid-area: rail;
    min-width: 0;
}

.operation-detail-main > .card[b-bd627fh7ds],
.operation-detail-main[b-bd627fh7ds]  > .card,
.operation-detail-rail > .card[b-bd627fh7ds] {
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
    border-radius: .85rem;
    box-shadow: 0 .35rem 1.25rem rgba(16, 24, 40, .045);
}

.operation-detail-main > .card > .card-header[b-bd627fh7ds] {
    min-height: 4rem;
    padding: .9rem 1rem;
    background: var(--bs-secondary-bg) !important;
    border-bottom-color: var(--bs-border-color);
}

.operation-detail-main > .card > .card-header h5[b-bd627fh7ds] {
    color: var(--bs-emphasis-color);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -.01em;
}

.operation-detail-main table[b-bd627fh7ds] {
    font-size: .855rem;
}

.operation-detail-main table thead th[b-bd627fh7ds] {
    padding-block: .8rem;
    color: var(--bs-secondary-color);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.operation-detail-main table tbody td[b-bd627fh7ds] {
    padding-block: .85rem;
    vertical-align: middle;
}

.operation-task-actions-column[b-bd627fh7ds] {
    width: 13.5rem;
}

.operation-task-actions[b-bd627fh7ds] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .3rem;
    white-space: nowrap;
}

.operation-task-actions .btn-icon[b-bd627fh7ds] {
    width: 2rem;
    height: 2rem;
}

.operation-detail-rail > .card > .card-body[b-bd627fh7ds] {
    padding: 1rem;
}

.operation-rail-heading[b-bd627fh7ds] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: 1.15rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.operation-rail-heading h2[b-bd627fh7ds] {
    margin: .15rem 0 0;
    color: var(--bs-emphasis-color);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -.015em;
}

.operation-overview-tabs[b-bd627fh7ds] {
    align-items: stretch;
    margin-bottom: 1rem;
}

.operation-overview-tabs .nav-item[b-bd627fh7ds] {
    display: flex;
    min-width: 0;
}

.operation-overview-tabs .nav-link[b-bd627fh7ds] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    gap: .2rem;
    min-width: 0;
    min-height: 2.75rem;
    width: 100%;
    padding: .55rem .25rem;
    font-size: .75rem;
    white-space: nowrap;
}

.operation-overview-tabs .badge[b-bd627fh7ds] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    line-height: 1;
}

.operation-overview-tab-content .accordion-button[b-bd627fh7ds],
.operation-overview-tab-content .accordion-button:not(.collapsed)[b-bd627fh7ds] {
    color: var(--bs-body-color);
    background: transparent;
    box-shadow: none;
}

.operation-overview-tab-content .accordion-button:hover[b-bd627fh7ds],
.operation-overview-tab-content .accordion-button:focus-visible[b-bd627fh7ds] {
    color: var(--bs-primary);
    background: color-mix(in srgb, var(--bs-primary) 5%, transparent);
}

.operation-overview-tab-content[b-bd627fh7ds] {
    min-height: 11rem;
}

.operation-documents-state[b-bd627fh7ds] {
    flex: 0 0 auto;
    margin-left: auto;
    color: var(--osen-secondary-color);
    font-size: .78rem;
    font-weight: 650;
    transition: color .15s ease-in-out;
}

/* Muted while closed, accent while open, so the label reads as state. Kept in step with
   .route-state in RouteDrivenCard.razor.css, which sits directly below this card. */
.operation-documents-toggle:not(.collapsed) .operation-documents-state[b-bd627fh7ds] {
    color: var(--osen-primary);
}

.operation-documents-accordion[b-bd627fh7ds],
.operation-documents-accordion > .accordion-item[b-bd627fh7ds] {
    border-radius: var(--osen-card-border-radius, .75rem);
}

/* No overflow: hidden here — it cut off the documents' visibility menu. The header button
   takes the rounded corners itself instead. */
.operation-documents-toggle[b-bd627fh7ds] {
    border-radius: var(--osen-card-border-radius, .75rem);
}

.operation-documents-toggle:not(.collapsed)[b-bd627fh7ds] {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.operation-documents-toggle[b-bd627fh7ds]::after {
    flex: 0 0 auto;
    margin-left: .35rem;
}

.operation-documents-toggle[b-bd627fh7ds],
.operation-documents-toggle:not(.collapsed)[b-bd627fh7ds] {
    color: var(--osen-body-color);
    background-color: var(--osen-accordion-bg);
}

.operation-documents-toggle:focus[b-bd627fh7ds] {
    box-shadow: none;
}

.operation-detail-rail h6[b-bd627fh7ds] {
    margin-bottom: .35rem !important;
    color: var(--bs-secondary-color) !important;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.operation-detail-rail .text-muted[b-bd627fh7ds] {
    color: var(--bs-body-color) !important;
    font-size: .86rem;
}

.operation-detail-rail hr[b-bd627fh7ds] {
    margin-block: 1rem;
    opacity: .8;
}

.operation-actions[b-bd627fh7ds] {
    display: grid;
    gap: .5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--bs-border-color);
}

.operation-actions > hr[b-bd627fh7ds] {
    display: none;
}

.operation-actions .btn[b-bd627fh7ds] {
    min-height: 2.7rem;
    margin-bottom: 0 !important;
    border-radius: .6rem;
    font-size: .84rem;
    font-weight: 650;
}

@media (max-width: 1199.98px) {
    .operation-readiness[b-bd627fh7ds] {
        align-items: flex-start;
        flex-direction: column;
    }

    .operation-readiness-metrics[b-bd627fh7ds] {
        justify-content: flex-start;
    }

    .operation-detail-layout[b-bd627fh7ds] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "rail"
            "main";
    }
}

@media (max-width: 575.98px) {
    .operation-readiness-pill[b-bd627fh7ds] {
        flex: 1 1 calc(50% - .45rem);
        justify-content: center;
    }
}
/* /Components/Pages/Operations/Ops/OperationList.razor.rz.scp.css */
/* Operations list (dispatch). Theme variables are --osen-*, not --bs-*. */
.ol-search[b-yovs8kf9e2] {
    width: 280px;
}

.ol-count[b-yovs8kf9e2] {
    margin-left: 0.35rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
}

.ol-count.warn[b-yovs8kf9e2] {
    background: var(--osen-warning);
    color: #000;
}

.ol-divider[b-yovs8kf9e2] {
    width: 1px;
    height: 1.4rem;
    margin: 0 0.25rem;
    background: var(--osen-border-color);
}

.ol-list[b-yovs8kf9e2] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    overflow: hidden;
}

/* Operation · Customer · Service · Scheduling · Total · Status — no wide empty columns. */
.ol-row[b-yovs8kf9e2] {
    display: grid;
    grid-template-columns: 2rem minmax(9rem, 1fr) minmax(10rem, 1.4fr) minmax(9rem, 1fr) minmax(9rem, 1fr) 8rem 9rem 2rem;
    gap: 0.9rem;
    align-items: center;
    padding: 0.6rem 1rem 0.6rem 0.75rem;
    font-size: 0.85rem;
}

.ol-head[b-yovs8kf9e2] {
    /* Same 3px left edge as the rows so the columns line up. */
    border-left: 3px solid transparent;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--osen-secondary-color);
}

.ol-item[b-yovs8kf9e2] {
    border-top: 1px solid var(--osen-border-color);
    border-left: 3px solid transparent;
}

/* How soon a task with no shift happens: red today or overdue, amber within three days. */
.ol-critical[b-yovs8kf9e2] { border-left-color: var(--osen-danger); }
.ol-warning[b-yovs8kf9e2] { border-left-color: var(--osen-warning); }
.ol-info[b-yovs8kf9e2] { border-left-color: color-mix(in srgb, var(--osen-info) 50%, transparent); }

.ol-item:hover > .ol-row[b-yovs8kf9e2] {
    background: color-mix(in srgb, var(--osen-tertiary-bg) 55%, transparent);
}

.ol-cell[b-yovs8kf9e2] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ol-strong[b-yovs8kf9e2] {
    color: var(--osen-body-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ol-sub[b-yovs8kf9e2] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
    min-height: 1em;
}

.ol-facts[b-yovs8kf9e2] {
    margin-top: 0.25rem;
}

.ol-when[b-yovs8kf9e2] {
    padding: 0 0.45rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
}

.ol-when.now[b-yovs8kf9e2] {
    background: color-mix(in srgb, var(--osen-primary) 18%, transparent);
    color: var(--osen-primary);
    font-weight: 600;
}

.ol-expand[b-yovs8kf9e2] {
    width: 1.8rem;
    height: 1.8rem;
    border: 0;
    border-radius: 0.4rem;
    background: transparent;
    color: var(--osen-secondary-color);
}

.ol-expand:hover[b-yovs8kf9e2] {
    background: var(--osen-tertiary-bg);
    color: var(--osen-body-color);
}

.ol-tasks[b-yovs8kf9e2] {
    padding: 0.25rem 1rem 0.75rem 3.5rem;
    background: color-mix(in srgb, var(--osen-tertiary-bg) 45%, transparent);
}

/* Task rows: state mark · when · what (route, staffing, people, needs) · who · price · status.
   The mark and the status dot take the day strip's square colour for the task. */
.ol-task[b-yovs8kf9e2] {
    --ol-tone: var(--osen-border-color);
    display: grid;
    grid-template-columns: 4px 7.5rem minmax(0, 1.5fr) minmax(0, 1fr) 5.5rem 9.5rem;
    gap: 0.75rem;
    align-items: center;
    padding: 0.45rem 0.5rem 0.45rem 0;
    border-radius: 0.4rem;
    font-size: 0.82rem;
    cursor: pointer;
}

.ol-task:hover[b-yovs8kf9e2] {
    background: var(--osen-tertiary-bg);
}

.ol-task + .ol-task[b-yovs8kf9e2] {
    border-top: 1px dashed var(--osen-border-color);
}

.ol-task.s-open[b-yovs8kf9e2] { --ol-tone: var(--osen-warning); }
.ol-task.s-draft[b-yovs8kf9e2] { --ol-tone: var(--osen-secondary-color); }
.ol-task.s-wait[b-yovs8kf9e2] { --ol-tone: color-mix(in srgb, var(--osen-info) 60%, transparent); }
.ol-task.s-shift[b-yovs8kf9e2] { --ol-tone: var(--osen-primary); }
.ol-task.s-done[b-yovs8kf9e2] { --ol-tone: var(--osen-success); }
.ol-task.s-cancel[b-yovs8kf9e2] { --ol-tone: color-mix(in srgb, var(--osen-danger) 45%, transparent); }
.ol-task.s-cancel .ol-task-main[b-yovs8kf9e2] { opacity: 0.6; }
.ol-task.s-cancel .ol-task-title[b-yovs8kf9e2] { text-decoration: line-through; }

.ol-task-mark[b-yovs8kf9e2] {
    align-self: stretch;
    border-radius: 2px;
    background: var(--ol-tone);
}

.ol-task-when[b-yovs8kf9e2] {
    display: flex;
    flex-direction: column;
    font-variant-numeric: tabular-nums;
}

.ol-task-date[b-yovs8kf9e2] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 600;
    white-space: nowrap;
}

.ol-task-day[b-yovs8kf9e2] {
    padding: 0 0.35rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--osen-secondary-color);
}

.ol-task-main[b-yovs8kf9e2] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.ol-task-line[b-yovs8kf9e2] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    min-width: 0;
}

.ol-task-title[b-yovs8kf9e2] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ol-task-meta[b-yovs8kf9e2] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.15rem 0.7rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.ol-task-meta .ti[b-yovs8kf9e2] { margin-right: 0.15rem; }

.ol-task-route[b-yovs8kf9e2] {
    max-width: 22rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--osen-body-color);
}

.ol-task-flight[b-yovs8kf9e2] { color: var(--osen-info); }
.ol-task-flight .ti[b-yovs8kf9e2] { margin-right: 0; }

.ol-req[b-yovs8kf9e2] {
    padding: 0 0.45rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    font-size: 0.7rem;
}

.ol-task-who[b-yovs8kf9e2] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.2rem 0.6rem;
    min-width: 0;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.ol-task-who .ti[b-yovs8kf9e2] { margin-right: 0.15rem; }
.ol-who-shift[b-yovs8kf9e2] { color: var(--osen-primary); font-weight: 600; }
.ol-who-none[b-yovs8kf9e2] { color: var(--osen-warning); font-weight: 600; }

.ol-task-figures[b-yovs8kf9e2] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    font-variant-numeric: tabular-nums;
}

.ol-task-state[b-yovs8kf9e2] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    font-weight: 600;
}

.ol-task-dot[b-yovs8kf9e2] {
    flex: none;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: var(--ol-tone);
}

.ol-task.s-open .ol-task-state[b-yovs8kf9e2] { color: var(--osen-warning); }
.ol-task.s-draft .ol-task-state[b-yovs8kf9e2],
.ol-task.s-cancel .ol-task-state[b-yovs8kf9e2] { color: var(--osen-secondary-color); }

.ol-cards[b-yovs8kf9e2] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr));
    gap: 0.75rem;
}

.ol-card[b-yovs8kf9e2] {
    display: block;
    padding: 0.9rem 1rem;
    border: 1px solid var(--osen-border-color);
    border-left-width: 3px;
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    color: inherit;
    text-decoration: none;
    font-size: 0.85rem;
}

.ol-card:hover[b-yovs8kf9e2] {
    border-color: var(--osen-primary);
    color: inherit;
}

.ol-card-foot[b-yovs8kf9e2] {
    border-top: 1px solid var(--osen-border-color);
}

.ol-pager[b-yovs8kf9e2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.75rem;
}

@media (max-width: 1199.98px) {
    .ol-head[b-yovs8kf9e2] {
        display: none;
    }

    .ol-row[b-yovs8kf9e2] {
        grid-template-columns: 2rem minmax(0, 1fr) minmax(0, 1fr) auto;
    }

    .ol-row > :nth-child(5)[b-yovs8kf9e2],
    .ol-row > :nth-child(6)[b-yovs8kf9e2] {
        display: none;
    }

    .ol-task[b-yovs8kf9e2] {
        grid-template-columns: 4px 6.5rem minmax(0, 1fr) auto;
        row-gap: 0.3rem;
    }

    .ol-task-mark[b-yovs8kf9e2] { grid-row: span 2; }
    .ol-task-who[b-yovs8kf9e2] { grid-column: 3; grid-row: 2; }
    .ol-task-figures[b-yovs8kf9e2] { display: none; }
    .ol-task-state[b-yovs8kf9e2] { grid-column: 4; grid-row: 1; }

    .ol-tasks[b-yovs8kf9e2] { padding-left: 1rem; }

    .ol-search[b-yovs8kf9e2] {
        width: 100%;
    }
}
/* /Components/Pages/Operations/Ops/RegisterOperation.razor.rz.scp.css */
/* Register Operation on Trip Desk UI: only what td-ui.css has no part for. */

/* Header: the customer's address, phone and email under the title */
.ro-contact[b-daegde3aem] { margin-top: .2rem; font-size: .8125rem; overflow-wrap: anywhere; }

/* The second chip row starts with its label */
.ro-chips-label[b-daegde3aem] { margin-right: .25rem; }

/* Chip popovers: a list of options, the picked one marked */
.ro-opts[b-daegde3aem] { display: flex; flex-direction: column; gap: .125rem; max-height: 18rem; overflow-y: auto; margin: 0 -.25rem; }
.ro-opt[b-daegde3aem] {
    display: flex; align-items: baseline; gap: .5rem; width: 100%; padding: .4rem .5rem; border: 0; border-radius: var(--td-radius-md);
    background: transparent; font: inherit; font-size: .875rem; color: var(--td-emphasis); text-align: left; cursor: pointer;
}
.ro-opt:hover[b-daegde3aem] { background: var(--td-surface-2); }
.ro-opt:focus-visible[b-daegde3aem] { outline: none; box-shadow: var(--td-shadow-ring); }
.ro-opt.is-on[b-daegde3aem] { background: var(--td-primary-soft); color: var(--td-primary); font-weight: 600; }
.ro-opt .td-muted[b-daegde3aem] { margin-left: auto; }

/* The route: a rail with a dot at each place, each place's flight attached under it */
.ro-route[b-daegde3aem] { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr) auto; column-gap: .625rem; align-items: center; }
.ro-cell[b-daegde3aem] { min-width: 0; padding: .2rem 0; }
.ro-rail[b-daegde3aem] { display: flex; flex-direction: column; align-items: center; align-self: stretch; }
.ro-dot[b-daegde3aem] { flex: none; width: .625rem; height: .625rem; border-radius: 50%; border: 2px solid var(--td-primary); background: var(--td-surface); margin-top: 2.6rem; }
.ro-dot.is-end[b-daegde3aem] { background: var(--td-primary); margin-top: 0; }
.ro-line[b-daegde3aem] { flex: 1; width: 2px; min-height: .5rem; background: var(--td-border); }
.ro-line.is-top[b-daegde3aem] { flex: none; height: 2.6rem; }
.ro-swap[b-daegde3aem] { align-self: end; margin-bottom: .2rem; }

.ro-fl[b-daegde3aem] {
    display: flex; align-items: center; gap: .5rem; width: 100%; min-height: 2.25rem; padding: .25rem .375rem .25rem .625rem;
    border-radius: var(--td-radius-md); background: var(--td-info-soft); color: var(--td-info-ink); font-size: .8125rem; font-weight: 500;
}
.ro-fl > .ti[b-daegde3aem] { font-size: 1rem; }
.ro-fl-text[b-daegde3aem] { flex: 1; min-width: 0; }
.ro-fl-hint[b-daegde3aem] { color: var(--td-muted); font-weight: 400; white-space: nowrap; }
button.ro-fl.is-add[b-daegde3aem] {
    border: 1px dashed var(--td-border); background: transparent; color: var(--td-muted); font: inherit; font-size: .8125rem;
    font-weight: 500; text-align: left; cursor: pointer;
}
button.ro-fl.is-add:hover[b-daegde3aem] { border-color: var(--td-primary); color: var(--td-primary); }
button.ro-fl.is-add:focus-visible[b-daegde3aem] { outline: none; box-shadow: var(--td-shadow-ring); }
.ro-fl-pick[b-daegde3aem] { display: flex; align-items: center; gap: .5rem; }
.ro-fl-pick[b-daegde3aem]  .fv-row { flex: 1; min-width: 0; margin-bottom: 0 !important; }

/* Date | pick-up | pax, in line with the places above */
.ro-indent[b-daegde3aem] { margin-left: 2.375rem; }
label.td-switch.ro-indent[b-daegde3aem] { align-self: flex-start; }
.ro-when[b-daegde3aem] { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: .75rem; align-items: start; }
.ro-when-2[b-daegde3aem] { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: .75rem; align-items: start; }
.ro-static[b-daegde3aem] {
    display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 2.25rem; padding: 0 .75rem;
    border: 1px solid var(--td-border); border-radius: var(--td-radius-md); background: var(--td-surface-2); font-size: .875rem; color: var(--td-emphasis);
}
.ro-static .td-muted[b-daegde3aem] { font-size: .75rem; }
.ro-help[b-daegde3aem] { margin-top: .2rem; font-size: .75rem; }

/* Repeat on several days or times */
.ro-repeat[b-daegde3aem] { display: flex; flex-direction: column; gap: .75rem; }
.ro-weekdays[b-daegde3aem] { gap: .25rem; }
.ro-time[b-daegde3aem] { gap: .25rem; padding-right: .25rem; }
.ro-time button[b-daegde3aem] { border: 0; background: transparent; color: inherit; padding: 0 .125rem; cursor: pointer; line-height: 1; }
.ro-time button:focus-visible[b-daegde3aem] { outline: none; box-shadow: var(--td-shadow-ring); border-radius: 3px; }
.ro-newtime[b-daegde3aem] { width: 8rem; }
.ro-preview[b-daegde3aem] { display: flex; flex-direction: column; gap: .5rem; font-size: .8125rem; }
.ro-btn-sm[b-daegde3aem] { min-height: 1.75rem; padding: 0 .65rem; font-size: .8125rem; }
.ro-dates[b-daegde3aem] { gap: .25rem; max-height: 13rem; overflow-y: auto; }
.ro-date[b-daegde3aem] {
    border: 1px solid var(--td-primary); border-radius: var(--td-radius-sm); background: var(--td-surface); color: var(--td-primary);
    font: inherit; font-size: .75rem; font-weight: 500; padding: .1rem .45rem; cursor: pointer; font-variant-numeric: tabular-nums;
}
.ro-date.is-skipped[b-daegde3aem] { border-color: var(--td-border); color: var(--td-muted); text-decoration: line-through; }
.ro-date:focus-visible[b-daegde3aem] { outline: none; box-shadow: var(--td-shadow-ring); }

/* Handover and return: label, date, time, place on each row */
.ro-rental[b-daegde3aem] { display: grid; grid-template-columns: 6rem minmax(0, 2fr) minmax(0, 1fr) minmax(0, 3fr); gap: .625rem .75rem; align-items: end; }
.ro-rental-k[b-daegde3aem] { font-weight: 600; color: var(--td-emphasis); padding-bottom: .55rem; }
.ro-return-place[b-daegde3aem] { display: flex; flex-direction: column; gap: .35rem; }
.ro-return-place .td-switch[b-daegde3aem] { min-height: 2.25rem; }

/* What is booked: the service's lines and the person types */
.ro-table-wrap[b-daegde3aem] { overflow-x: auto; margin: 0 -.25rem; }
.ro-lines th[b-daegde3aem] { white-space: nowrap; }
.ro-lines td[b-daegde3aem] { padding-top: .45rem; padding-bottom: .45rem; }
.ro-lines .ro-tick[b-daegde3aem] { width: 2rem; padding-right: 0; }
.ro-lines tr.is-off td[b-daegde3aem] { color: var(--td-muted); }
.ro-line-name[b-daegde3aem] { color: var(--td-emphasis); font-weight: 500; margin: 0; cursor: pointer; }
.ro-lines tr.is-off .ro-line-name[b-daegde3aem] { color: var(--td-muted); font-weight: 400; }
.ro-qty[b-daegde3aem] { display: flex; align-items: center; gap: .5rem; white-space: nowrap; }

/* A compact stepper for table rows: minus, the figure, plus */
.ro-step[b-daegde3aem] { display: inline-flex; align-items: center; height: 1.875rem; border: 1px solid var(--td-field); border-radius: var(--td-radius-md); background: var(--td-surface); overflow: hidden; }
.ro-step button[b-daegde3aem] { width: 1.75rem; height: 100%; border: 0; background: transparent; color: var(--td-primary); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.ro-step button:hover:not(:disabled)[b-daegde3aem] { background: var(--td-primary-soft); }
.ro-step button:disabled[b-daegde3aem] { color: var(--td-field); cursor: not-allowed; }
.ro-step button:focus-visible[b-daegde3aem] { outline: none; box-shadow: inset var(--td-shadow-ring); }
.ro-step b[b-daegde3aem], .ro-step input[b-daegde3aem] { min-width: 2rem; text-align: center; font-weight: 600; color: var(--td-emphasis); }
.ro-step input[b-daegde3aem] { width: 3rem; border: 0; background: transparent; font: inherit; font-weight: 600; -moz-appearance: textfield; }
.ro-step input[b-daegde3aem]::-webkit-outer-spin-button, .ro-step input[b-daegde3aem]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ro-step input:focus[b-daegde3aem] { outline: none; }

/* Field grids; they fold on narrow screens */
.ro-narrow[b-daegde3aem] { max-width: 20rem; }
.ro-grid2[b-daegde3aem] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.ro-grid3[b-daegde3aem] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; align-items: start; }
.ro-grid-2-1[b-daegde3aem] { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: .75rem; align-items: start; }

/* On this task: what the task has, and where it comes from */
.ro-kv[b-daegde3aem] { display: grid; grid-template-columns: 7rem minmax(0, 1fr) auto; gap: .5rem .75rem; align-items: center; font-size: .8125rem; }
.ro-kv .k[b-daegde3aem] { color: var(--td-muted); }
.ro-kv .v[b-daegde3aem] { min-width: 0; color: var(--td-emphasis); overflow-wrap: anywhere; }
.ro-kv .v.td-muted[b-daegde3aem] { color: var(--td-muted); }
.ro-kv .from[b-daegde3aem] { display: flex; align-items: center; justify-content: flex-end; gap: .3rem; font-size: .75rem; color: var(--td-muted); white-space: nowrap; }
/* "Change" / "Add" as a link: a chip without its frame, so its popover stays the same editor */
.ro-kv[b-daegde3aem]  .td-chip.ro-link, .ro-linkbtn[b-daegde3aem] {
    min-height: 0; padding: 0; border: 0; background: transparent; font: inherit; font-weight: 600; color: var(--td-primary); cursor: pointer;
}
.ro-kv[b-daegde3aem]  .td-chip.ro-link { font-size: .75rem; }
.ro-kv[b-daegde3aem]  .td-chip.ro-link:hover, .ro-linkbtn:hover[b-daegde3aem] { text-decoration: underline; }
.ro-linkbtn[b-daegde3aem] { font-size: .8125rem; display: inline-flex; align-items: center; gap: .25rem; }
.ro-kv .ro-linkbtn[b-daegde3aem] { font-size: .75rem; }
.ro-linkbtn:focus-visible[b-daegde3aem] { outline: none; box-shadow: var(--td-shadow-ring); border-radius: var(--td-radius-sm); }

/* The note fields: labelled fields, a quiet rule between a second note and the first */
.ro-notefields[b-daegde3aem] { display: flex; flex-direction: column; gap: .5rem; }
.ro-notefields + .ro-notefields[b-daegde3aem] { padding-top: .75rem; border-top: 1px dashed var(--td-border); }
.ro-note-head[b-daegde3aem] { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }

/* The bottom strip: this task's price and Add */
.ro-foot[b-daegde3aem] {
    flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem;
    background: var(--td-surface-2); border-radius: 0 0 var(--td-radius-lg) var(--td-radius-lg);
}
.ro-foot[b-daegde3aem]  .ro-foot-full { flex-basis: 100%; }
.ro-foot-sum[b-daegde3aem] { display: flex; align-items: baseline; flex-wrap: wrap; gap: .375rem; font-size: .8125rem; }
.ro-foot-total[b-daegde3aem] { font-size: 1.25rem; font-weight: 700; color: var(--td-emphasis); }
.ro-small[b-daegde3aem] { font-size: .75rem; }
.ro-em[b-daegde3aem] { color: var(--td-emphasis); font-weight: 600; }
.ro-warn-text[b-daegde3aem] { color: var(--td-warning-ink); }

/* The side panel: tasks by day */
.ro-tasklist[b-daegde3aem] { border-top: 1px solid var(--td-border); padding-bottom: .25rem; }
.ro-day[b-daegde3aem] { padding: .75rem 1.1rem .3rem; font-size: .75rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--td-muted); }
.ro-task[b-daegde3aem] { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .25rem .625rem; padding: .625rem 1.1rem; border-top: 1px solid var(--td-border); }
.ro-task.is-picked[b-daegde3aem] { background: var(--td-primary-soft); box-shadow: inset 3px 0 0 var(--td-primary); }
.ro-task-body[b-daegde3aem] { min-width: 0; display: flex; flex-direction: column; gap: .125rem; font-size: .875rem; }
.ro-task-side[b-daegde3aem] { display: flex; flex-direction: column; align-items: flex-end; gap: .25rem; }
.ro-task-acts[b-daegde3aem] { display: flex; gap: .125rem; }
.ro-pills[b-daegde3aem] { gap: .25rem; margin-top: .25rem; }
.ro-price[b-daegde3aem] {
    border: 0; background: transparent; padding: 0 .125rem; font: inherit; font-size: .875rem; font-weight: 600; color: var(--td-emphasis);
    font-variant-numeric: tabular-nums; white-space: nowrap; cursor: pointer; border-radius: var(--td-radius-sm);
}
.ro-price:hover[b-daegde3aem], .ro-price.is-on[b-daegde3aem] { color: var(--td-primary); text-decoration: underline; }
.ro-price:focus-visible[b-daegde3aem] { outline: none; box-shadow: var(--td-shadow-ring); }
.ro-price-edit[b-daegde3aem] { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .5rem .75rem; align-items: end; margin-top: .5rem; padding: .625rem .75rem; border-radius: var(--td-radius-md); background: var(--td-surface); }
.ro-price-edit .form-label[b-daegde3aem] { font-size: .75rem; margin-bottom: .2rem; }
.ro-span2[b-daegde3aem] { grid-column: 1 / -1; }

@media (max-width: 760px) {
    .ro-indent[b-daegde3aem] { margin-left: 0; }
    .ro-when[b-daegde3aem] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ro-when > :first-child[b-daegde3aem] { grid-column: 1 / -1; }
    .ro-grid3[b-daegde3aem], .ro-grid-2-1[b-daegde3aem] { grid-template-columns: minmax(0, 1fr); }
    .ro-rental[b-daegde3aem] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ro-rental-k[b-daegde3aem], .ro-return-place[b-daegde3aem] { grid-column: 1 / -1; padding-bottom: 0; }
    .ro-kv[b-daegde3aem] { grid-template-columns: 6rem minmax(0, 1fr); }
    .ro-kv .from[b-daegde3aem] { grid-column: 2; justify-content: flex-start; }
    .ro-fl[b-daegde3aem] { flex-wrap: wrap; }
}
/* /Components/Pages/Operations/Ops/TaskDetail.razor.rz.scp.css */
.task-readiness[b-2qvb74qyl2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 4.25rem;
    margin-bottom: 1rem;
    padding: .75rem 1rem;
    background: var(--bs-body-bg);
    border: 1px solid color-mix(in srgb, var(--bs-primary) 18%, var(--bs-border-color));
    border-radius: .8rem;
}

.task-readiness-status[b-2qvb74qyl2] {
    flex: 0 0 auto;
}

.task-readiness-metrics[b-2qvb74qyl2] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .45rem;
}

.task-readiness-pill[b-2qvb74qyl2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2rem;
    padding: .35rem .65rem;
    color: var(--bs-secondary-color);
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 600;
    white-space: nowrap;
}

.task-readiness-pill.is-ready[b-2qvb74qyl2] {
    color: var(--bs-success-text-emphasis);
    background: var(--bs-success-bg-subtle);
    border-color: var(--bs-success-border-subtle);
}

.task-readiness-pill.needs-attention[b-2qvb74qyl2] {
    color: var(--bs-warning-text-emphasis);
    background: var(--bs-warning-bg-subtle);
    border-color: var(--bs-warning-border-subtle);
}

.task-detail-layout[b-2qvb74qyl2] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(26rem, 30rem);
    grid-template-areas: "main rail";
    align-items: start;
    gap: 1rem;
}

.task-detail-main[b-2qvb74qyl2] {
    grid-area: main;
    min-width: 0;
}

.task-detail-rail[b-2qvb74qyl2] {
    grid-area: rail;
    min-width: 0;
}

.task-detail-main > .card[b-2qvb74qyl2],
.task-detail-rail > .card[b-2qvb74qyl2] {
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
    border-radius: .85rem;
    box-shadow: 0 .35rem 1.25rem rgba(16, 24, 40, .045);
}

.task-detail-main > .card > .card-body[b-2qvb74qyl2],
.task-detail-rail > .card > .card-body[b-2qvb74qyl2] {
    padding: 1rem;
}

.task-overview-heading[b-2qvb74qyl2],
.task-workspace-heading[b-2qvb74qyl2] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
}

.task-overview-heading h2[b-2qvb74qyl2],
.task-workspace-heading h2[b-2qvb74qyl2] {
    margin: 0;
    color: var(--bs-emphasis-color);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -.01em;
}

.task-overview-heading > div:first-child > span[b-2qvb74qyl2],
.task-workspace-heading > div:first-child > span[b-2qvb74qyl2] {
    display: block;
    margin-top: .2rem;
    color: var(--bs-secondary-color);
    font-size: .78rem;
}

.task-overview-tabs[b-2qvb74qyl2] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 1rem -1rem 0;
    padding-inline: .5rem;
}

.task-overview-tabs .nav-item[b-2qvb74qyl2] {
    min-width: 0;
}

.task-overview-tabs .nav-link[b-2qvb74qyl2] {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: .55rem .25rem;
    color: var(--bs-secondary-color);
    font-size: .74rem;
    font-weight: 650;
    white-space: normal;
}

.task-overview-tabs .nav-link.active[b-2qvb74qyl2] {
    color: var(--bs-primary);
}

.task-overview-tab-content[b-2qvb74qyl2] {
    min-height: 13rem;
    padding-top: 1rem;
}

.task-detail-rail h6[b-2qvb74qyl2] {
    margin-bottom: .35rem !important;
    color: var(--bs-secondary-color) !important;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.task-detail-rail .text-muted[b-2qvb74qyl2] {
    color: var(--bs-body-color) !important;
    font-size: .86rem;
}

.task-detail-rail hr[b-2qvb74qyl2] {
    margin-block: 1rem;
    opacity: .8;
}

.task-service-details[b-2qvb74qyl2] {
    overflow: hidden;
    background: color-mix(in srgb, var(--bs-primary) 4%, var(--bs-body-bg));
    border: 1px solid color-mix(in srgb, var(--bs-primary) 16%, var(--bs-border-color));
    border-radius: .75rem;
}

.task-service-schedule[b-2qvb74qyl2] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    padding: .85rem;
}

.task-service-icon[b-2qvb74qyl2],
.task-service-marker[b-2qvb74qyl2],
.task-reserved-resource-icon[b-2qvb74qyl2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: .65rem;
}

.task-service-icon[b-2qvb74qyl2] {
    width: 2.5rem;
    height: 2.5rem;
    color: var(--bs-primary);
    background: var(--bs-primary-bg-subtle);
    font-size: 1.15rem;
}

.task-service-label[b-2qvb74qyl2] {
    display: block;
    margin-bottom: .15rem;
    color: var(--bs-secondary-color);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.task-service-schedule strong[b-2qvb74qyl2],
.task-service-location strong[b-2qvb74qyl2] {
    display: block;
    overflow-wrap: anywhere;
    color: var(--bs-emphasis-color);
    font-size: .86rem;
    line-height: 1.25;
}

.task-service-time[b-2qvb74qyl2] {
    min-width: 5.25rem;
    padding-left: .75rem;
    border-left: 1px solid var(--bs-border-color);
}

.task-service-route-summary[b-2qvb74qyl2] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: .65rem;
    padding: .8rem .85rem;
    background: var(--bs-body-bg);
    border-top: 1px solid var(--bs-border-color);
}

.task-service-location[b-2qvb74qyl2] {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: .55rem;
}

.task-service-marker[b-2qvb74qyl2] {
    width: 2rem;
    height: 2rem;
    color: var(--bs-success-text-emphasis);
    background: var(--bs-success-bg-subtle);
}

.task-service-marker.is-destination[b-2qvb74qyl2] {
    color: var(--bs-primary-text-emphasis);
    background: var(--bs-primary-bg-subtle);
}

.task-service-route-arrow[b-2qvb74qyl2] {
    color: var(--bs-secondary-color);
}

.task-reserved-resource-list[b-2qvb74qyl2] {
    display: grid;
    gap: .55rem;
}

.task-reserved-resource[b-2qvb74qyl2] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .65rem;
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: .65rem;
}

.task-reserved-resource-icon[b-2qvb74qyl2] {
    width: 2.15rem;
    height: 2.15rem;
    color: var(--bs-primary);
    background: var(--bs-primary-bg-subtle);
}

.task-reserved-resource-copy[b-2qvb74qyl2] {
    display: grid;
    min-width: 0;
    gap: .15rem;
}

.task-reserved-resource-copy strong[b-2qvb74qyl2] {
    overflow: hidden;
    color: var(--bs-emphasis-color);
    font-size: .82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.task-reserved-resource-copy > span[b-2qvb74qyl2] {
    color: var(--bs-secondary-color);
    font-size: .72rem;
}

.task-reserved-resource-meta[b-2qvb74qyl2],
.task-reserved-resource-controls[b-2qvb74qyl2] {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.task-reserved-resource-meta[b-2qvb74qyl2] {
    flex-wrap: wrap;
    color: var(--bs-secondary-color);
    font-size: .72rem;
}

.task-reserved-resource-meta > span + span[b-2qvb74qyl2]::before {
    margin-right: .45rem;
    color: var(--bs-border-color);
    content: "•";
}

.task-reserved-resource-note[b-2qvb74qyl2] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.task-reserved-resource-controls[b-2qvb74qyl2] {
    justify-content: flex-end;
}

.task-reserved-resource-controls > .badge[b-2qvb74qyl2] {
    margin-right: 0 !important;
}

.task-overview-empty[b-2qvb74qyl2] {
    display: grid;
    justify-items: center;
    gap: .6rem;
    padding: 2.5rem 1rem;
    color: var(--bs-secondary-color);
    text-align: center;
}

.task-overview-empty i[b-2qvb74qyl2] {
    font-size: 1.8rem;
}

.task-overview-empty-compact[b-2qvb74qyl2] {
    gap: .35rem;
    padding: 1.25rem .75rem;
    background: var(--bs-tertiary-bg);
    border: 1px dashed var(--bs-border-color);
    border-radius: .65rem;
}

.task-overview-empty-compact i[b-2qvb74qyl2] {
    font-size: 1.35rem;
}

.task-overview-actions[b-2qvb74qyl2] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .75rem 1rem;
    background: var(--bs-secondary-bg);
    border-top-color: var(--bs-border-color);
}

.task-overview-actions .btn[b-2qvb74qyl2] {
    flex: 1 1 0;
    min-width: 7.5rem;
}

.task-price-summary[b-2qvb74qyl2] {
    display: grid;
    gap: .1rem;
    padding: .25rem 0;
}

.task-price-summary-row[b-2qvb74qyl2] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    min-height: 1.75rem;
    color: var(--bs-secondary-color);
    font-size: .84rem;
}

.task-price-summary-row strong[b-2qvb74qyl2] {
    color: var(--bs-emphasis-color);
    font-weight: 600;
    white-space: nowrap;
}

.task-price-summary-row.is-discount strong[b-2qvb74qyl2] {
    color: var(--bs-success) !important;
}

.task-price-summary-row.is-net[b-2qvb74qyl2] {
    margin-top: .2rem;
    padding-top: .55rem;
    border-top: 1px solid var(--bs-border-color);
}

.task-price-summary-row.is-total[b-2qvb74qyl2] {
    min-height: 2.4rem;
    margin-top: .35rem;
    padding-top: .7rem;
    border-top: 1px solid var(--bs-border-color);
    color: var(--bs-emphasis-color);
    font-weight: 700;
}

.task-price-summary-row.is-total strong[b-2qvb74qyl2] {
    color: var(--bs-primary) !important;
    font-size: 1.05rem;
    font-weight: 750;
}

.task-workspace-header[b-2qvb74qyl2] {
    display: grid;
    gap: .85rem;
    min-height: 7rem;
    padding: .9rem 1rem 0;
    background: var(--bs-secondary-bg) !important;
    border-bottom-color: var(--bs-border-color);
}

.task-workspace-context[b-2qvb74qyl2] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .5rem;
}

.task-workspace-requirements[b-2qvb74qyl2] {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .3rem;
    min-height: 2rem;
    padding: .25rem .35rem .25rem .6rem;
    background: color-mix(in srgb, var(--bs-teal) 7%, var(--bs-body-bg));
    border: 1px solid color-mix(in srgb, var(--bs-teal) 35%, var(--bs-border-color));
    border-radius: .55rem;
}

.task-workspace-requirements-label[b-2qvb74qyl2] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    margin-right: .15rem;
    color: var(--bs-teal);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .025em;
    text-transform: uppercase;
    white-space: nowrap;
}

.task-workspace-primary-tabs[b-2qvb74qyl2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(7.25rem, 1fr));
    gap: .25rem;
    width: 100%;
}

.task-workspace-primary-tabs .nav-link[b-2qvb74qyl2] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.4rem;
    padding: .55rem .75rem;
    color: var(--bs-secondary-color);
    font-size: .8rem;
    font-weight: 650;
    white-space: nowrap;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transition: color .15s ease, background-color .15s ease;
}

.task-workspace-primary-tabs .nav-link[aria-selected="true"][b-2qvb74qyl2] {
    color: rgb(var(--bs-primary-rgb)) !important;
    background: transparent !important;
}

.task-workspace-primary-tabs .nav-link:not(.active):hover[b-2qvb74qyl2] {
    color: var(--bs-primary);
    background: color-mix(in srgb, var(--bs-primary) 7%, transparent);
}

.task-workspace-primary-tabs .nav-link:focus-visible[b-2qvb74qyl2] {
    outline: 2px solid color-mix(in srgb, var(--bs-primary) 55%, transparent);
    outline-offset: -2px;
}

.task-workspace-subnav[b-2qvb74qyl2] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
    min-height: 2.25rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.task-workspace-subnav .btn[b-2qvb74qyl2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 0;
    height: 2.5rem;
    padding-block: .4rem;
}

.task-workspace-content[b-2qvb74qyl2] {
    min-width: 0;
}

.task-report-section[b-2qvb74qyl2] {
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
    border-radius: .75rem;
}

.task-report-section-heading[b-2qvb74qyl2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 1rem;
    background: var(--bs-tertiary-bg);
    border-bottom: 1px solid var(--bs-border-color);
}

.task-report-section-heading h6[b-2qvb74qyl2] {
    margin: 0;
    color: var(--bs-emphasis-color);
    font-size: .85rem;
    font-weight: 700;
}

.task-report-section-heading > div > span[b-2qvb74qyl2] {
    display: block;
    margin-top: .15rem;
    color: var(--bs-secondary-color);
    font-size: .72rem;
}

.task-report-section > .alert[b-2qvb74qyl2] {
    margin: 1rem !important;
}

.task-report-section[b-2qvb74qyl2]  > *:last-child {
    margin-bottom: 0;
}

.task-report-empty[b-2qvb74qyl2] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 5rem;
    padding: 1rem;
    color: var(--bs-secondary-color);
    font-size: .82rem;
}

.task-skeleton-status[b-2qvb74qyl2] {
    min-width: 8rem;
    height: 1.4rem;
    border-radius: 999px;
}

.task-skeleton-pill[b-2qvb74qyl2] {
    width: 8rem;
}

.task-skeleton-subnav[b-2qvb74qyl2] {
    width: 6rem;
    height: 2rem;
}

.task-skeleton-overview-tab[b-2qvb74qyl2] {
    width: 4.5rem;
    height: 1.8rem;
}

@media (max-width: 1199.98px) {
    .task-readiness[b-2qvb74qyl2] {
        align-items: flex-start;
        flex-direction: column;
    }

    .task-readiness-metrics[b-2qvb74qyl2] {
        justify-content: flex-start;
    }

    .task-detail-layout[b-2qvb74qyl2] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "rail"
            "main";
    }
}

@media (max-width: 575.98px) {
    .task-readiness-pill[b-2qvb74qyl2] {
        flex: 1 1 calc(50% - .45rem);
    }

    .task-overview-heading[b-2qvb74qyl2],
    .task-workspace-heading[b-2qvb74qyl2] {
        flex-direction: column;
    }

    .task-workspace-header[b-2qvb74qyl2] {
        padding-inline: .75rem;
    }

    .task-workspace-context[b-2qvb74qyl2] {
        justify-content: flex-start;
        width: 100%;
    }

    .task-overview-tabs[b-2qvb74qyl2] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .task-reserved-resource[b-2qvb74qyl2] {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .task-reserved-resource-controls[b-2qvb74qyl2] {
        grid-column: 2;
        justify-content: flex-start;
    }

    .task-service-schedule[b-2qvb74qyl2] {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .task-service-time[b-2qvb74qyl2] {
        grid-column: 2;
        padding-top: .55rem;
        padding-left: 0;
        border-top: 1px solid var(--bs-border-color);
        border-left: 0;
    }

    .task-service-route-summary[b-2qvb74qyl2] {
        grid-template-columns: minmax(0, 1fr);
    }

    .task-service-route-arrow[b-2qvb74qyl2] {
        margin-left: .5rem;
        transform: rotate(90deg);
    }
}
/* /Components/Pages/Operations/Resources/Equipments/Equipments.razor.rz.scp.css */
/* Equipment list. Theme variables are --osen-*, not --bs-*. */
.eq-count[b-jckq6023lc] {
    margin-left: 0.35rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
}

.eq-divider[b-jckq6023lc] {
    width: 1px;
    height: 1.4rem;
    margin: 0 0.3rem;
    background: var(--osen-border-color);
}

.eq-search[b-jckq6023lc] {
    width: 15rem;
}

.eq-list[b-jckq6023lc] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    overflow: hidden;
}

/* Equipment · Kept at · Today · Next 7 days · Status */
.eq-row[b-jckq6023lc] {
    display: grid;
    grid-template-columns: minmax(14rem, 1.6fr) minmax(8rem, 1fr) minmax(7rem, 0.8fr) 11.5rem 8rem;
    gap: 1rem;
    align-items: center;
    padding: 0.55rem 1rem;
    font-size: 0.85rem;
}

.eq-head[b-jckq6023lc] {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--osen-secondary-color);
}

.eq-group[b-jckq6023lc] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1rem 0.3rem;
    border-top: 1px solid var(--osen-border-color);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.eq-group > span[b-jckq6023lc] {
    font-weight: 500;
}

.eq-item[b-jckq6023lc] {
    color: inherit;
    text-decoration: none;
}

.eq-item:hover[b-jckq6023lc] {
    background: color-mix(in srgb, var(--osen-tertiary-bg) 55%, transparent);
    color: inherit;
}

.eq-who[b-jckq6023lc] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.eq-icon[b-jckq6023lc] {
    width: 2.1rem;
    height: 2.1rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    background: var(--osen-tertiary-bg);
    color: var(--osen-primary);
}

.eq-name[b-jckq6023lc] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.eq-sub[b-jckq6023lc] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.eq-today[b-jckq6023lc] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

.eq-week[b-jckq6023lc] {
    display: flex;
    gap: 3px;
}

.eq-day[b-jckq6023lc] {
    width: 1.35rem;
    height: 1.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.3rem;
    font-size: 0.65rem;
    font-weight: 600;
}

.eq-free[b-jckq6023lc] { background: color-mix(in srgb, var(--osen-success) 15%, transparent); color: var(--osen-success); }
.eq-booked[b-jckq6023lc] { background: color-mix(in srgb, var(--osen-primary) 18%, transparent); color: var(--osen-primary); }
.eq-held[b-jckq6023lc] { background: transparent; color: var(--osen-info); box-shadow: inset 0 0 0 1px var(--osen-info); }
.eq-off[b-jckq6023lc] { background: color-mix(in srgb, var(--osen-warning) 16%, transparent); color: var(--osen-warning); }
.eq-unknown[b-jckq6023lc] { background: var(--osen-tertiary-bg); color: var(--osen-secondary-color); }

@media (max-width: 1199.98px) {
    .eq-head[b-jckq6023lc] {
        display: none;
    }

    .eq-row[b-jckq6023lc] {
        grid-template-columns: minmax(0, 1fr) auto auto;
    }

    .eq-row > :nth-child(2)[b-jckq6023lc],
    .eq-row > :nth-child(4)[b-jckq6023lc] {
        display: none;
    }

    .eq-search[b-jckq6023lc] {
        width: 100%;
    }
}
/* /Components/Pages/Operations/Resources/Persons/PersonProfile.razor.rz.scp.css */
/* Person profile — Account tab. Theme variables are --osen-*, not --bs-*. */
.pp-acct[b-agm1cnkhng] {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.pp-col[b-agm1cnkhng] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
}

.pp-sec[b-agm1cnkhng] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    padding: 1rem 1.1rem;
}

.pp-sec-head[b-agm1cnkhng] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.pp-sec-head h6[b-agm1cnkhng] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
}

.pp-sec-head p[b-agm1cnkhng] {
    margin: 0;
    font-size: 0.78rem;
    color: var(--osen-secondary-color);
}

.pp-sec-icon[b-agm1cnkhng] {
    width: 2.1rem;
    height: 2.1rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    font-size: 1.1rem;
    color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 12%, transparent);
}

/* One fact per line: label, what it is, and the fix beside it. */
.pp-line[b-agm1cnkhng] {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.65rem 0;
    border-top: 1px solid var(--osen-border-color);
}

.pp-line-note[b-agm1cnkhng] {
    background: color-mix(in srgb, var(--osen-info) 7%, transparent);
    margin: 0 -1.1rem;
    padding-left: 1.1rem;
    padding-right: 1.1rem;
}

.pp-line-label[b-agm1cnkhng] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--osen-secondary-color);
}

.pp-line-value[b-agm1cnkhng] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.pp-line-act[b-agm1cnkhng] {
    display: flex;
    gap: 0.35rem;
    justify-content: flex-end;
}

.pp-role[b-agm1cnkhng] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.55rem 0;
    border-top: 1px solid var(--osen-border-color);
}

.pp-role-desc[b-agm1cnkhng] {
    font-size: 0.8rem;
    color: var(--osen-secondary-color);
}

.pp-icon-btn[b-agm1cnkhng] {
    width: 1.8rem;
    height: 1.8rem;
    border: 0;
    border-radius: 0.4rem;
    background: transparent;
    color: var(--osen-secondary-color);
}

.pp-icon-btn:hover:not(:disabled)[b-agm1cnkhng] {
    color: var(--osen-danger);
    background: color-mix(in srgb, var(--osen-danger) 12%, transparent);
}

.pp-role-add[b-agm1cnkhng] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--osen-border-color);
}

.pp-empty[b-agm1cnkhng] {
    padding: 2.5rem 1rem;
    text-align: center;
    color: var(--osen-secondary-color);
}

/* The shared password form comes as a Bootstrap card; flatten it to match. */
.pp-col[b-agm1cnkhng]  .card {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    box-shadow: none;
    background: transparent;
    margin-bottom: 0 !important;
}

.pp-col[b-agm1cnkhng]  .card-header {
    background: transparent;
    border-bottom: 0;
    padding: 1rem 1.1rem 0;
}

.pp-col[b-agm1cnkhng]  .card-header h6 {
    font-size: 0.95rem;
    font-weight: 600;
}

@media (max-width: 991.98px) {
    .pp-acct[b-agm1cnkhng] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .pp-line[b-agm1cnkhng] {
        grid-template-columns: 1fr auto;
    }

    .pp-line-label[b-agm1cnkhng] {
        grid-column: 1 / -1;
    }
}
/* /Components/Pages/Operations/Resources/ResouceLocation.razor.rz.scp.css */
/* Where are they — the page and both live maps (PeopleLiveMap, VehicleLiveMap) via ::deep.
   Theme variables are --osen-*, not --bs-*. */
.wt-search[b-ecchkh96og] {
    width: 16rem;
}

.wt-count[b-ecchkh96og] {
    margin-left: 0.35rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
}

.wt-count.on[b-ecchkh96og] {
    background: color-mix(in srgb, var(--osen-success) 18%, transparent);
    color: var(--osen-success);
}

/* List · map */
.wt[b-ecchkh96og]  .lm {
    display: grid;
    grid-template-columns: 21rem minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
}

.wt[b-ecchkh96og]  .lm-list,
.wt[b-ecchkh96og]  .lm-map {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.wt[b-ecchkh96og]  .lm-list-head,
.wt[b-ecchkh96og]  .lm-map-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.65rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.wt[b-ecchkh96og]  .lm-count {
    min-width: 1.4rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    text-align: center;
}

.wt[b-ecchkh96og]  .lm-list-body {
    max-height: calc(100vh - 16rem);
    min-height: 20rem;
    overflow-y: auto;
    padding: 0 0.5rem 0.5rem;
}

.wt[b-ecchkh96og]  .lm-group {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.6rem 0.5rem 0.3rem;
    background: var(--osen-secondary-bg);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.wt[b-ecchkh96og]  .lm-group.on,
.wt[b-ecchkh96og]  .lm-group.moving { color: var(--osen-success); }
.wt[b-ecchkh96og]  .lm-group.idle { color: var(--osen-warning); }
.wt[b-ecchkh96og]  .lm-group.nosignal { color: var(--osen-danger); }

.wt[b-ecchkh96og]  .lm-group > span {
    font-weight: 500;
}

.wt[b-ecchkh96og]  .lm-row {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.5rem 0.6rem;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    background: none;
    color: inherit;
    font-size: 0.85rem;
}

.wt[b-ecchkh96og]  .lm-row:hover {
    background: color-mix(in srgb, var(--osen-tertiary-bg) 60%, transparent);
}

.wt[b-ecchkh96og]  .lm-row.on {
    border-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 10%, transparent);
}

.wt[b-ecchkh96og]  .lm-row.off .lm-name {
    color: var(--osen-secondary-color);
}

.wt[b-ecchkh96og]  .lm-avatar {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
}

.wt[b-ecchkh96og]  .lm-status {
    position: absolute;
    right: -1px;
    bottom: -1px;
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    border: 2px solid var(--osen-secondary-bg);
    background: var(--osen-secondary-color);
}

.wt[b-ecchkh96og]  .lm-status.on {
    background: var(--osen-success);
}

.wt[b-ecchkh96og]  .lm-vicon {
    width: 2.1rem;
    height: 2.1rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    font-size: 1.05rem;
    background: var(--osen-tertiary-bg);
    color: var(--osen-secondary-color);
}

.wt[b-ecchkh96og]  .lm-vicon.lm-moving { background: color-mix(in srgb, #22c55e 16%, transparent); color: #22c55e; }
.wt[b-ecchkh96og]  .lm-vicon.lm-idle { background: color-mix(in srgb, #f59e0b 16%, transparent); color: #f59e0b; }
.wt[b-ecchkh96og]  .lm-vicon.lm-nosignal { background: color-mix(in srgb, #dc3545 14%, transparent); color: #dc3545; }

.wt[b-ecchkh96og]  .lm-name {
    display: block;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wt[b-ecchkh96og]  .lm-sub {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.wt[b-ecchkh96og]  .lm-sub .ti {
    margin-right: 0.2rem;
}

.wt[b-ecchkh96og]  .lm-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 3rem 1rem;
    text-align: center;
    font-size: 0.85rem;
    color: var(--osen-secondary-color);
}

.wt[b-ecchkh96og]  .lm-empty > .ti {
    font-size: 2rem;
}

.wt[b-ecchkh96og]  .lm-canvas {
    flex-grow: 1;
    min-height: calc(100vh - 16rem);
    width: 100%;
}

.wt[b-ecchkh96og]  .lm-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.wt[b-ecchkh96og]  .lm-dot {
    display: inline-block;
    width: 0.6rem;
    height: 0.6rem;
    margin-right: 0.3rem;
    border-radius: 50%;
}

.wt[b-ecchkh96og]  .lm-live {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--osen-warning);
}

.wt[b-ecchkh96og]  .lm-live.on {
    background: var(--osen-success);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--osen-success) 25%, transparent);
}

.wt[b-ecchkh96og]  .lm-live.off {
    background: var(--osen-danger);
}

.wt[b-ecchkh96og]  .lm-viewing {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.05rem 0.3rem 0.05rem 0.55rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
    font-size: 0.78rem;
}

.wt[b-ecchkh96og]  .lm-viewing > button {
    border: 0;
    background: none;
    color: inherit;
    padding: 0 0.1rem;
}

@media (max-width: 991.98px) {
    .wt[b-ecchkh96og]  .lm {
        grid-template-columns: minmax(0, 1fr);
    }

    .wt[b-ecchkh96og]  .lm-list-body {
        max-height: 18rem;
        min-height: 0;
    }

    .wt[b-ecchkh96og]  .lm-canvas {
        min-height: 60vh;
    }

    .wt-search[b-ecchkh96og] {
        width: 100%;
    }
}
/* /Components/Pages/Operations/Resources/Resources.razor.rz.scp.css */
/* Resources dashboard. Theme variables are --osen-*, not --bs-*. */
.rd-now[b-6mmd069css] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.rd-now-tile[b-6mmd069css] {
    display: flex;
    flex-direction: column;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    color: inherit;
    text-decoration: none;
}

.rd-now-tile:hover[b-6mmd069css] {
    border-color: var(--osen-primary);
    color: inherit;
}

.rd-now-label[b-6mmd069css] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.rd-now-label > .ti[b-6mmd069css] {
    color: var(--osen-primary);
}

.rd-now-value[b-6mmd069css] {
    font-size: 1.35rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.rd-now-value.warn[b-6mmd069css] { color: var(--osen-warning); }
.rd-now-value.hot[b-6mmd069css] { color: var(--osen-danger); }

.rd-now-note[b-6mmd069css] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.rd-grid[b-6mmd069css] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 22rem;
    gap: 1rem;
    align-items: start;
}

.rd-panel[b-6mmd069css] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    overflow: hidden;
}

.rd-panel-head[b-6mmd069css] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.rd-title[b-6mmd069css] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 600;
}

.rd-title > .ti[b-6mmd069css] {
    color: var(--osen-primary);
}

.rd-note[b-6mmd069css] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.rd-count[b-6mmd069css] {
    min-width: 1.4rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    text-align: center;
}

.rd-count.hot[b-6mmd069css] {
    background: var(--osen-danger);
    color: #fff;
}

.rd-empty[b-6mmd069css] {
    padding: 1.25rem 1rem;
    font-size: 0.82rem;
    text-align: center;
    color: var(--osen-secondary-color);
}

/* ── This week ── */
.rd-cap[b-6mmd069css] {
    padding: 0.5rem 1rem 1rem;
    overflow-x: auto;
}

.rd-cap-row[b-6mmd069css] {
    display: grid;
    grid-template-columns: 10rem repeat(7, minmax(5rem, 1fr));
    gap: 0.5rem;
    align-items: center;
    padding: 0.45rem 0;
}

.rd-cap-row + .rd-cap-row[b-6mmd069css] {
    border-top: 1px solid var(--osen-border-color);
}

.rd-cap-head[b-6mmd069css] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--osen-secondary-color);
}

.rd-cap-head > span[b-6mmd069css] {
    display: flex;
    flex-direction: column;
}

.rd-cap-head small[b-6mmd069css] {
    font-weight: 400;
    text-transform: none;
}

.rd-cap-head > .today[b-6mmd069css] {
    color: var(--osen-primary);
}

.rd-cap-label[b-6mmd069css] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
}

.rd-cap-cell[b-6mmd069css] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.8rem;
    color: var(--osen-secondary-color);
}

.rd-cap-cell strong[b-6mmd069css] {
    color: var(--osen-body-color);
    font-variant-numeric: tabular-nums;
}

.rd-cap-bar[b-6mmd069css] {
    height: 6px;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    overflow: hidden;
}

.rd-cap-bar > span[b-6mmd069css] {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--osen-success);
}

.rd-cap-bar > span.warn[b-6mmd069css] { background: var(--osen-warning); }
.rd-cap-bar > span.hot[b-6mmd069css] { background: var(--osen-danger); }

/* ── Rows ── */
.rd-row[b-6mmd069css] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.55rem 1rem;
    color: inherit;
    text-decoration: none;
    font-size: 0.85rem;
}

.rd-row + .rd-row[b-6mmd069css] {
    border-top: 1px solid var(--osen-border-color);
}

.rd-row:hover[b-6mmd069css] {
    background: color-mix(in srgb, var(--osen-tertiary-bg) 55%, transparent);
    color: inherit;
}

.rd-icon[b-6mmd069css] {
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.45rem;
    background: var(--osen-tertiary-bg);
    color: var(--osen-secondary-color);
}

.rd-icon.warn[b-6mmd069css] { background: color-mix(in srgb, var(--osen-warning) 16%, transparent); color: var(--osen-warning); }
.rd-icon.hot[b-6mmd069css] { background: color-mix(in srgb, var(--osen-danger) 14%, transparent); color: var(--osen-danger); }

.rd-row-title[b-6mmd069css] {
    display: block;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rd-row-sub[b-6mmd069css] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.rd-days[b-6mmd069css] {
    font-size: 0.8rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.rd-days.warn[b-6mmd069css] { color: var(--osen-warning); }
.rd-days.hot[b-6mmd069css] { color: var(--osen-danger); }

@media (max-width: 1399.98px) {
    .rd-now[b-6mmd069css] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) {
    .rd-grid[b-6mmd069css] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 767.98px) {
    .rd-now[b-6mmd069css] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Components/Pages/Platform/CreateTenant.razor.rz.scp.css */
/* New tenant on Trip Desk UI: the few things td-ui.css doesn't have. */

/* Save and Discard at the foot of the form, on the right. */
.tn-foot[b-tjst1hmgp4] { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; }

/* Ready to save? */
.tn-check[b-tjst1hmgp4] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; font-size: .8125rem; color: var(--td-muted); }
.tn-check li[b-tjst1hmgp4] { display: flex; align-items: center; gap: .45rem; }
.tn-check li .ti[b-tjst1hmgp4] { font-size: 1rem; }
.tn-check li.is-done[b-tjst1hmgp4] { color: var(--td-emphasis); }
.tn-check li.is-done .ti[b-tjst1hmgp4] { color: var(--td-success-ink); }
/* /Components/Pages/Platform/TenantDetail.razor.rz.scp.css */
/* A tenant on Trip Desk UI. */

/* Label / value facts in a section. */
.tn-facts[b-eyx6vhbrir] { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.tn-facts dt[b-eyx6vhbrir] { color: var(--td-muted); font-weight: 400; }
.tn-facts dd[b-eyx6vhbrir] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
.tn-address[b-eyx6vhbrir] { font-size: .8125rem; color: var(--td-emphasis); line-height: 1.35rem; }

/* A report colour: the tenant's own colour as a swatch (set per value), then its code. */
.tn-colour[b-eyx6vhbrir] { display: inline-flex; align-items: center; gap: .45rem; }
.tn-swatch[b-eyx6vhbrir] { width: 1rem; height: 1rem; border-radius: var(--td-radius-sm); border: 1px solid var(--td-border); background: var(--tn-swatch); }

/* Save and Discard at the foot of the side-panel form. */
.tn-foot[b-eyx6vhbrir] { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--td-border); }
/* /Components/Pages/Platform/Tenants.razor.rz.scp.css */
/* Tenants list on Trip Desk UI. */
.tn-search[b-ahs5wgs16d] { width: 17rem; max-width: 100%; }
.tn-table[b-ahs5wgs16d] { min-width: 44rem; }
.tn-pills[b-ahs5wgs16d] { gap: .25rem; }
/* Facts about the picked tenant in the side panel. */
.tn-facts[b-ahs5wgs16d] { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.tn-facts dt[b-ahs5wgs16d] { color: var(--td-muted); font-weight: 400; }
.tn-facts dd[b-ahs5wgs16d] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
/* /Components/Pages/Sales/BookingChannels/BookingChannelDetails.razor.rz.scp.css */
/* A booking channel on Trip Desk UI: the few things td-ui.css doesn't have. */

/* Tables that run edge to edge under a section: a rule above, none inside a section's padding. */
.bcd-rule[b-y4hl5tmx4x] { border-top: 1px solid var(--td-border); }
.bcd-flush[b-y4hl5tmx4x] { margin: 0 -1.1rem; }
.bcd-users[b-y4hl5tmx4x] { min-width: 44rem; }
.bcd-search[b-y4hl5tmx4x] { width: 15rem; max-width: 100%; flex: none; }
.bcd-pills[b-y4hl5tmx4x] { gap: .25rem; }
.bcd-acts[b-y4hl5tmx4x] { display: inline-flex; gap: .25rem; justify-content: flex-end; }
.bcd-more[b-y4hl5tmx4x] { min-height: 1.75rem; }

/* Settings facts. */
.bcd-facts[b-y4hl5tmx4x] { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: .65rem .75rem; margin: 0; font-size: .875rem; }
.bcd-facts dt[b-y4hl5tmx4x] { color: var(--td-muted); font-weight: 400; }
.bcd-facts dd[b-y4hl5tmx4x] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

/* Figures in the side panel: two to a row. */
.bcd-stats[b-y4hl5tmx4x] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.bcd-em[b-y4hl5tmx4x] { color: var(--td-emphasis); font-size: .875rem; overflow-wrap: anywhere; }

/* Cancel and save at the foot of a side-panel form, on the right. */
.bcd-foot[b-y4hl5tmx4x] { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; }
/* /Components/Pages/Sales/BookingChannels/BookingChannels.razor.rz.scp.css */
/* Booking channels list on Trip Desk UI. */
.bc-search[b-vl2lq5ckzj] { width: 17rem; max-width: 100%; }
.bc-table[b-vl2lq5ckzj] { min-width: 48rem; }
/* "No admin" under the user count: a problem, in the warning ink. */
.bc-warn[b-vl2lq5ckzj] { color: var(--td-warning-ink) !important; font-weight: 500; }
.bc-pills[b-vl2lq5ckzj] { gap: .25rem; }
.bc-facts[b-vl2lq5ckzj] { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.bc-facts dt[b-vl2lq5ckzj] { color: var(--td-muted); font-weight: 400; }
.bc-facts dd[b-vl2lq5ckzj] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
/* /Components/Pages/Sales/Contracts/ContractDetails.razor.rz.scp.css */
/* A contract on Trip Desk UI: the few things td-ui.css doesn't have. */

/* The terms in one sentence. */
.cd-sentence[b-k5r9vxen2p] { margin: 0; font-size: .9375rem; color: var(--td-emphasis); max-width: 65ch; }

/* Three figures side by side, stacking on a phone. */
.cd-stats[b-k5r9vxen2p] { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .75rem; }

.cd-facts[b-k5r9vxen2p] { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .4rem .9rem; margin: 0; font-size: .8125rem; }
.cd-facts dt[b-k5r9vxen2p] { color: var(--td-muted); font-weight: 400; }
.cd-facts dd[b-k5r9vxen2p] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

.cd-period[b-k5r9vxen2p] { font-size: 1rem; font-weight: 600; color: var(--td-emphasis); }

/* The attach picker and its button on one line. */
.cd-attach[b-k5r9vxen2p] { display: flex; align-items: flex-end; gap: .5rem; }

.cd-pills[b-k5r9vxen2p] { gap: .25rem; }
.cd-warn[b-k5r9vxen2p] { color: var(--td-warning-ink); }

/* Inline remove confirmation in a table row. */
.cd-confirm[b-k5r9vxen2p] { gap: .35rem; font-size: .8125rem; color: var(--td-danger-ink); }
.cd-sm[b-k5r9vxen2p] { min-height: 1.75rem; padding: 0 .6rem; font-size: .8125rem; }
/* /Components/Pages/Sales/Contracts/Contracts.razor.rz.scp.css */
/* Contracts list on Trip Desk UI: the few things td-ui.css doesn't have. */

/* The kind chip's menu: the chosen kind in the accent. */
.ct-menu[b-wa09ddyf4c] { padding: 0; min-width: 13rem; }
.ct-menu button.ct-on[b-wa09ddyf4c] { color: var(--td-primary); font-weight: 600; }

.ct-search[b-wa09ddyf4c] { width: 17rem; max-width: 100%; }
.ct-table[b-wa09ddyf4c] { min-width: 44rem; }
.ct-pills[b-wa09ddyf4c] { gap: .25rem; }

/* Facts about the picked contract in the side panel. */
.ct-facts[b-wa09ddyf4c] { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.ct-facts dt[b-wa09ddyf4c] { color: var(--td-muted); font-weight: 400; }
.ct-facts dd[b-wa09ddyf4c] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
.ct-sub[b-wa09ddyf4c] { display: block; color: var(--td-muted); }
/* /Components/Pages/Sales/Partners/PartnerProfile.razor.rz.scp.css */
/* A partner on Trip Desk UI: the few things td-ui.css doesn't have. */

/* Initials beside the name. */
.pp-avatar[b-mj5qnq57e7] { width: 3rem; height: 3rem; flex: none; border-radius: var(--td-radius-lg); background: var(--td-primary-soft); color: var(--td-primary); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }

/* Five figures under the header, each opening its tab. */
.pp-figures[b-mj5qnq57e7] { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .5rem; margin-bottom: 1rem; }
@media (max-width: 991.98px) { .pp-figures[b-mj5qnq57e7] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .pp-figures[b-mj5qnq57e7] { grid-template-columns: minmax(0, 1fr); } }
.pp-stats[b-mj5qnq57e7] { display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: .5rem; }
.v.pp-warn[b-mj5qnq57e7] { color: var(--td-warning-ink); }
.v.pp-ok[b-mj5qnq57e7] { color: var(--td-success-ink); }

/* Facts in the side panel. */
.pp-facts[b-mj5qnq57e7] { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.pp-facts dt[b-mj5qnq57e7] { color: var(--td-muted); font-weight: 400; }
.pp-facts dd[b-mj5qnq57e7] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
.pp-facts .sub[b-mj5qnq57e7] { display: block; color: var(--td-muted); font-size: .75rem; }
.pp-copy[b-mj5qnq57e7] { display: flex; align-items: center; gap: .4rem; }

/* The action at the end of a Missing note, in the note's own ink. */
.pp-note-act[b-mj5qnq57e7] { flex: none; background: none; border: 0; padding: 0; font: inherit; font-weight: 600; color: inherit; text-decoration: underline; cursor: pointer; }

/* Small text buttons (Tick all, Clear) and the rule above the form's buttons. */
.pp-link[b-mj5qnq57e7] { background: none; border: 0; padding: 0; font: inherit; font-size: .8125rem; font-weight: 500; color: var(--td-primary); cursor: pointer; }
.pp-rule[b-mj5qnq57e7] { border-top: 1px solid var(--td-border); }
.pp-em[b-mj5qnq57e7] { color: var(--td-emphasis); }
.pp-err[b-mj5qnq57e7] { color: var(--td-danger-ink); }

.pp-spin[b-mj5qnq57e7] { animation: pp-spin-b-mj5qnq57e7 1s linear infinite; display: inline-block; }
@keyframes pp-spin-b-mj5qnq57e7 { to { transform: rotate(360deg); } }
/* /Components/Pages/Sales/Partners/Partners.razor.rz.scp.css */
/* Partners list on Trip Desk UI. */
.pa-search[b-3q7o2wmuu2] { width: 17rem; max-width: 100%; }
.pa-table[b-3q7o2wmuu2] { min-width: 50rem; }
.pa-pills[b-3q7o2wmuu2] { gap: .25rem; }
.pa-more[b-3q7o2wmuu2] { min-height: 1.75rem; }
.pa-min[b-3q7o2wmuu2] { min-width: 0; }
/* Pick-one list in a chip: the chosen one bold in the accent. */
.pa-menu[b-3q7o2wmuu2] { padding: 0; min-width: 12rem; }
.pa-on[b-3q7o2wmuu2] { font-weight: 600; color: var(--td-primary) !important; }
/* Facts in the side panel: label left, value right. */
.pa-facts[b-3q7o2wmuu2] { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.pa-facts dt[b-3q7o2wmuu2] { color: var(--td-muted); font-weight: 400; }
.pa-facts dd[b-3q7o2wmuu2] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
/* /Components/Pages/Sales/Pricing/ContainerBuilder.razor.rz.scp.css */
/* The container builder: only what td-ui.css has no part for. */
.cb-title[b-psnj05w2a0] {
    width: min(42rem, 100%);
    border: 1px solid transparent;
    border-radius: var(--td-radius-md);
    background: transparent;
    padding: .125rem .5rem;
    margin-left: -.5rem;
    font: inherit;
    font-size: 1.375rem;
    line-height: 1.75rem;
    font-weight: 600;
    color: var(--td-emphasis);
}
.cb-title:hover[b-psnj05w2a0] { border-color: var(--td-border); }
.cb-title:focus[b-psnj05w2a0] { outline: none; border-color: var(--td-primary); box-shadow: var(--td-shadow-ring); }
.cb-title.is-invalid[b-psnj05w2a0] { border-color: var(--td-danger); }

.cb-grid[b-psnj05w2a0] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.cb-span2[b-psnj05w2a0] { grid-column: span 3; }
@media (max-width: 900px) { .cb-grid[b-psnj05w2a0] { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cb-span2[b-psnj05w2a0] { grid-column: span 2; } }

.cb-row[b-psnj05w2a0] { cursor: pointer; }
.cb-row.is-picked td[b-psnj05w2a0] { background: var(--td-primary-soft); }
.cb-row.is-picked td:first-child[b-psnj05w2a0] { box-shadow: inset 3px 0 0 var(--td-primary); }
.cb-link[b-psnj05w2a0] { border: 0; background: transparent; padding: 0; font: inherit; font-weight: 600; color: var(--td-emphasis); text-align: left; cursor: pointer; }
.cb-link:hover[b-psnj05w2a0] { color: var(--td-primary); }
.cb-link:focus-visible[b-psnj05w2a0] { outline: none; box-shadow: var(--td-shadow-ring); border-radius: var(--td-radius-sm); }

.cb-differs[b-psnj05w2a0] { color: var(--td-warning-ink); }
.cb-loss[b-psnj05w2a0] { color: var(--td-danger-ink); }
.cb-gain[b-psnj05w2a0] { color: var(--td-success-ink); }

.cb-prices[b-psnj05w2a0] { display: flex; flex-direction: column; gap: .25rem; border-top: 1px solid var(--td-border); padding-top: .75rem; font-size: .8125rem; }

.cb-bar[b-psnj05w2a0] { height: .5rem; border-radius: .25rem; background: var(--td-success); overflow: hidden; margin-top: .375rem; }
.cb-bar span[b-psnj05w2a0] { display: block; height: 100%; background: var(--td-warning); }
/* /Components/Pages/Sales/ProductContainers/ProductContainerDetails.razor.rz.scp.css */
/* A container on Trip Desk UI: the few things td-ui.css doesn't have. */

/* Five figures in a row under the header; they wrap on a narrow screen. */
.pc-figs[b-r1zk0qlk6t] { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .5rem; margin-bottom: 1rem; }
@media (max-width: 991.98px) { .pc-figs[b-r1zk0qlk6t] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .pc-figs[b-r1zk0qlk6t] { grid-template-columns: minmax(0, 1fr); } }

/* A figure's value in its state's ink: margin under 15% reads as a warning. */
.pc-tone-warning .v[b-r1zk0qlk6t] { color: var(--td-warning-ink); }
.pc-tone-danger .v[b-r1zk0qlk6t] { color: var(--td-danger-ink); }
.pc-tone-success .v[b-r1zk0qlk6t] { color: var(--td-success-ink); }

/* Overview: the four small figures, and the two charts side by side. */
.pc-mini[b-r1zk0qlk6t] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
@media (max-width: 767.98px) { .pc-mini[b-r1zk0qlk6t] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pc-charts[b-r1zk0qlk6t] { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1.25rem; }
@media (max-width: 1199.98px) { .pc-charts[b-r1zk0qlk6t] { grid-template-columns: minmax(0, 1fr); } }

.pc-link[b-r1zk0qlk6t] { font-size: .8125rem; font-weight: 500; white-space: nowrap; }
.pc-pills[b-r1zk0qlk6t] { gap: .25rem; }
.pc-clip[b-r1zk0qlk6t] { max-width: 260px; }

/* The bookings table follows a section, so it needs the rule a section would draw. */
.pc-top-rule[b-r1zk0qlk6t] { border-top: 1px solid var(--td-border); }

/* Per booking: the total, then before / activity / after as one bar. */
.pc-figure[b-r1zk0qlk6t] { margin-top: -.4rem; }
.pc-tl[b-r1zk0qlk6t] { display: flex; height: .625rem; border-radius: 999px; overflow: hidden; background: var(--td-surface-2); }
.pc-tl .is-buffer[b-r1zk0qlk6t] { background: var(--td-warning); }
.pc-tl .is-activity[b-r1zk0qlk6t] { background: var(--td-primary); }

.pc-facts[b-r1zk0qlk6t] { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .35rem .9rem; margin: 0; font-size: .8125rem; }
.pc-facts dt[b-r1zk0qlk6t] { font-weight: 500; color: var(--td-muted); }
.pc-facts dd[b-r1zk0qlk6t] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
.pc-facts dd .td-muted[b-r1zk0qlk6t] { margin-left: .35rem; }

/* A section whose table runs to the panel's edges. */
.pc-flush[b-r1zk0qlk6t] { padding-left: 0; padding-right: 0; padding-bottom: 0; }
.pc-pad[b-r1zk0qlk6t] { padding: 0 1.1rem; }

/* Discount contracts: one row each, ruled like a list. */
.pc-contracts[b-r1zk0qlk6t] { display: flex; flex-direction: column; }
.pc-contracts > a[b-r1zk0qlk6t] { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .6rem 0; border-top: 1px solid var(--td-border); color: var(--td-emphasis); text-decoration: none; font-size: .8125rem; }
.pc-contracts > a:first-child[b-r1zk0qlk6t] { border-top: 0; }
.pc-contracts > a:hover .fw-semibold[b-r1zk0qlk6t] { color: var(--td-primary); }
/* /Components/Pages/Sales/ProductContainers/ProductContainers.razor.rz.scp.css */
/* Containers list on Trip Desk UI. */
.pc-search[b-r2yk83641j] { width: 17rem; max-width: 100%; }
.pc-table[b-r2yk83641j] { min-width: 56rem; }
.pc-pills[b-r2yk83641j] { gap: .25rem; }
.pc-more[b-r2yk83641j] { min-height: 1.75rem; }
.pc-min[b-r2yk83641j] { min-width: 0; }
/* Pick-one list in a chip: the chosen one bold in the accent. */
.pc-menu[b-r2yk83641j] { padding: 0; min-width: 13rem; max-height: 22rem; overflow-y: auto; }
.pc-on[b-r2yk83641j] { font-weight: 600; color: var(--td-primary) !important; }
/* Facts in the side panel: label left, value right. */
.pc-facts[b-r2yk83641j] { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.pc-facts dt[b-r2yk83641j] { color: var(--td-muted); font-weight: 400; }
.pc-facts dd[b-r2yk83641j] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
/* /Components/Pages/Sales/Products/Product/ProductDetails.razor.rz.scp.css */
/* A product on Trip Desk UI: the few things td-ui.css doesn't have. */

/* Five figures under the header, one row on a wide screen. */
.pd-figures[b-920w8osnb7] { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .5rem; margin-bottom: 1rem; }
@media (max-width: 991.98px) { .pd-figures[b-920w8osnb7] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .pd-figures[b-920w8osnb7] { grid-template-columns: minmax(0, 1fr); } }

/* The overview's four smaller figures. */
.pd-stats[b-920w8osnb7] { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: .5rem; }

/* State as text: the -ink shades, never the fill colours. */
.pd-good[b-920w8osnb7] { color: var(--td-success-ink); }
.pd-warn[b-920w8osnb7] { color: var(--td-warning-ink); }
.pd-bad[b-920w8osnb7] { color: var(--td-danger-ink); }
.pd-em[b-920w8osnb7] { color: var(--td-emphasis); }

.pd-description[b-920w8osnb7] { max-width: 70ch; color: var(--td-text); }
.pd-clip[b-920w8osnb7] { max-width: 260px; }

/* Today: the from-price, then cost and margin as a split bar. */
.pd-today[b-920w8osnb7] { font-size: 1.875rem; line-height: 2.25rem; }
.pd-today-line[b-920w8osnb7] { font-size: .8125rem; }
.pd-split[b-920w8osnb7] { display: flex; }
.pd-split > span[b-920w8osnb7] { border-radius: 0; }
.pd-split > .pd-split-cost[b-920w8osnb7] { background: var(--td-warning); }

/* A price list's heading sits right on its table: no gap below it. */
.pd-price-head[b-920w8osnb7] { padding-bottom: .5rem; }
.pd-price-empty[b-920w8osnb7] { padding-top: .75rem; }
.pd-price-foot[b-920w8osnb7] { flex-direction: row; justify-content: space-between; align-items: center; flex-wrap: wrap; border-top: 1px solid var(--td-border); }

/* The bookings tab's filter row. */
.pd-bookings-head[b-920w8osnb7] { flex-direction: row; justify-content: space-between; align-items: center; flex-wrap: wrap; }
/* /Components/Pages/Sales/Products/Product/Products.razor.rz.scp.css */
/* Products list on Trip Desk UI. */
.pr-search[b-4u3d5nxu6a] { width: 17rem; max-width: 100%; }
.pr-table[b-4u3d5nxu6a] { min-width: 52rem; }
.pr-more[b-4u3d5nxu6a] { min-height: 1.75rem; }
.pr-min[b-4u3d5nxu6a] { min-width: 0; }
/* Pick-one list in a chip: the chosen one bold in the accent. */
.pr-menu[b-4u3d5nxu6a] { padding: 0; min-width: 13rem; max-height: 22rem; overflow-y: auto; }
.pr-on[b-4u3d5nxu6a] { font-weight: 600; color: var(--td-primary) !important; }
/* Facts in the side panel: label left, value right. */
.pr-facts[b-4u3d5nxu6a] { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.pr-facts dt[b-4u3d5nxu6a] { color: var(--td-muted); font-weight: 400; }
.pr-facts dd[b-4u3d5nxu6a] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
/* /Components/Pages/Sales/Products/Types/Types.razor.rz.scp.css */
/* Product types on Trip Desk UI. */
.pt-search[b-usvyqi90il] { width: 17rem; max-width: 100%; }
/* A thin share-of-all-products bar under the count. */
.pt-bar[b-usvyqi90il] { width: 4rem; margin: .3rem 0 0 auto; }
/* Form buttons, right-aligned under a rule. */
.pt-foot[b-usvyqi90il] { display: flex; justify-content: flex-end; gap: .5rem; margin-top: 1rem; padding-top: .75rem; border-top: 1px solid var(--td-border); }
/* /Components/Pages/Sales/Projects/ProjectDetails.razor.rz.scp.css */
/* Project details. Theme variables are --osen-*, not --bs-*. */
.prd-icon[b-76m6ace909] {
    width: 88px;
    height: 88px;
    border-radius: 0.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 12%, var(--osen-tertiary-bg));
}

.prd-bar-row + .prd-bar-row[b-76m6ace909] {
    margin-top: 0.75rem;
}

.prd-bar[b-76m6ace909] {
    height: 6px;
    margin-top: 0.3rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    overflow: hidden;
}

.prd-bar > span[b-76m6ace909] {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--osen-primary);
}

.prd-col-toggle[b-76m6ace909] {
    width: 2.75rem;
}

.prd-col-progress[b-76m6ace909] {
    width: 11rem;
}

.prd-expanded > td[b-76m6ace909] {
    background: var(--osen-tertiary-bg);
}

.prd-tasks > td[b-76m6ace909] {
    padding-top: 0 !important;
    background: var(--osen-tertiary-bg);
}

.prd-task[b-76m6ace909] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.4rem 0.6rem;
    border-radius: 0.4rem;
    font-size: 0.85rem;
    color: var(--osen-body-color);
    text-decoration: none;
    min-width: 0;
}

.prd-task:hover[b-76m6ace909] {
    background: var(--osen-secondary-bg);
    color: var(--osen-primary);
}
/* /Components/Pages/Sales/Reports/GenerateReport.razor.rz.scp.css */
/* Make a report (Trip Desk UI). Frame, chips, figures and sections are td-ui.css and
   executive-reports.css; this is what the long rows table and its pickers need. */

/* Tick lists in a chip's popover (customers, columns) scroll instead of growing. */
.gr-pick-list[b-fyhuvcqa86] {
    max-height: 18rem;
    overflow-y: auto;
    min-width: 16rem;
    padding: 0 .5rem;
}

/* The open column filter, under the panel's head. */
.gr-filter[b-fyhuvcqa86] {
    background: var(--td-surface-2);
}

.gr-filter-values[b-fyhuvcqa86] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0 .75rem;
    max-height: 14rem;
    overflow-y: auto;
    padding: 0 .5rem;
}

.gr-filter-search[b-fyhuvcqa86] {
    max-width: 20rem;
}

/* The filter icon beside a column's header; the accent when that column is filtered. */
.gr-filter-btn[b-fyhuvcqa86] {
    border: 0;
    background: transparent;
    padding: 0 .15rem;
    line-height: 1;
    color: var(--td-muted);
    cursor: pointer;
}

.gr-filter-btn.is-on[b-fyhuvcqa86] {
    color: var(--td-primary);
}

/* The rows scroll inside the panel; header and totals stay in view. */
.gr-scroll[b-fyhuvcqa86] {
    max-height: 65vh;
    overflow: auto;
    border-top: 1px solid var(--td-border);
}

.gr-rule[b-fyhuvcqa86] {
    border-top: 1px solid var(--td-border);
}

.gr-table td[b-fyhuvcqa86] {
    white-space: nowrap;
}

.gr-table thead th[b-fyhuvcqa86] {
    position: sticky;
    top: 0;
    z-index: 3;
    background: var(--td-surface);
    box-shadow: inset 0 -1px 0 var(--td-border);
}

.gr-table tfoot td[b-fyhuvcqa86] {
    position: sticky;
    bottom: 0;
    z-index: 3;
    background: var(--td-surface);
    box-shadow: inset 0 1px 0 var(--td-border);
    font-weight: 600;
    color: var(--td-emphasis);
    border-bottom: 0;
}

/* Breakdowns: label and figures on one line, the share bar under. */
.gr-breakdown[b-fyhuvcqa86] {
    display: grid;
    gap: .7rem;
}

.gr-breakdown-row[b-fyhuvcqa86] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
}
/* /Components/Pages/Sales/Sales.razor.rz.scp.css */
/* Sales dashboard (Trip Desk UI). The frame, figures, sections and bars are td-ui.css and
   executive-reports.css; only what is particular to this page is here. */

/* Five figures across on a wide screen (rpt-figures defaults to four). */
.sd-figures[b-vy9mtaxjnz] {
    --rpt-cols: 5;
}

/* The page fades while a new period loads over the old one. */
.sd-dim[b-vy9mtaxjnz] {
    opacity: .55;
    transition: opacity .15s ease;
}

/* Rows of label + share bar in a section. */
.sd-bars[b-vy9mtaxjnz] {
    display: grid;
    gap: .75rem;
}

.sd-share-col[b-vy9mtaxjnz] {
    width: 28%;
}

.sd-pct[b-vy9mtaxjnz] {
    width: 3rem;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
/* /Components/Pages/Sales/SalesOperations/SalesOperationOffcanvas.razor.rz.scp.css */
/* The Operations side panel (Trip Desk UI): facts, days, tasks, notes and the footer. */

.so-head-tools[b-uzexrgrqms] { flex: none; gap: .375rem; }

/* Small buttons in the panel (header toggle, footer). */
.so-sm[b-uzexrgrqms] { min-height: 2rem; font-size: .8125rem; padding: 0 .75rem; }

.so-strong[b-uzexrgrqms] { font-weight: 600; color: var(--td-emphasis); }
.so-sub[b-uzexrgrqms] { display: block; font-size: .75rem; color: var(--td-muted); }
.so-link[b-uzexrgrqms] { font-size: .8125rem; font-weight: 500; color: var(--td-primary); text-decoration: none; }
.so-link:hover[b-uzexrgrqms] { text-decoration: underline; }

/* Label above value; two columns when the panel is wide. */
.so-kv[b-uzexrgrqms] { display: grid; grid-template-columns: minmax(0, 1fr); gap: .5rem 1rem; font-size: .8125rem; color: var(--td-emphasis); }
.so-kv.is-two[b-uzexrgrqms] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.so-kv > span[b-uzexrgrqms] { display: flex; flex-direction: column; gap: .05rem; min-width: 0; overflow-wrap: anywhere; }
.so-kv > span.is-full[b-uzexrgrqms] { grid-column: 1 / -1; }
.so-kv b[b-uzexrgrqms] { font-weight: 400; font-size: .75rem; color: var(--td-muted); }

/* Block reserve steps: a soft ground per step, no frame (never a box in a box). */
.so-gates[b-uzexrgrqms] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.so-gate[b-uzexrgrqms] { display: flex; flex-direction: column; gap: .1rem; padding: .5rem .65rem; border-radius: var(--td-radius-md); background: var(--td-surface-2); color: var(--td-muted); font-size: .8125rem; font-weight: 500; }
.so-gate.is-success[b-uzexrgrqms] { background: var(--td-success-soft); color: var(--td-success-ink); }
.so-gate.is-warning[b-uzexrgrqms] { background: var(--td-warning-soft); color: var(--td-warning-ink); }
.so-gate-by[b-uzexrgrqms] { font-size: .6875rem; font-weight: 400; }
@media (max-width: 575.98px) { .so-gates[b-uzexrgrqms] { grid-template-columns: minmax(0, 1fr); } }

/* Days: date, what and where, pax. */
.so-day[b-uzexrgrqms] { display: grid; grid-template-columns: 4.75rem minmax(0, 1fr) auto; gap: .5rem; align-items: baseline; font-size: .8125rem; }
.so-day-title[b-uzexrgrqms] { display: block; font-weight: 500; color: var(--td-emphasis); }

/* Tasks and notes: rows divided by rules. */
.so-task[b-uzexrgrqms], .so-note[b-uzexrgrqms] { display: flex; flex-direction: column; gap: .4rem; padding: .75rem 0; border-top: 1px solid var(--td-border); }
.so-task:first-child[b-uzexrgrqms], .so-note:first-child[b-uzexrgrqms] { border-top: 0; padding-top: 0; }
.so-task-title[b-uzexrgrqms] { display: block; font-weight: 600; color: var(--td-emphasis); }
.so-task[b-uzexrgrqms]  .so-pax { font-weight: 600; color: var(--td-emphasis); }
.so-note[b-uzexrgrqms] { font-size: .8125rem; }
.so-note-text[b-uzexrgrqms] { color: var(--td-emphasis); white-space: pre-line; overflow-wrap: anywhere; }
.so-pin[b-uzexrgrqms] { color: var(--td-warning-ink); }

/* Footer: More opens upwards, so it stays inside the panel's scroll. */
.so-foot[b-uzexrgrqms] { flex-direction: row; align-items: center; flex-wrap: wrap; gap: .5rem; }
@media (min-width: 576px) { .so-pop-up[b-uzexrgrqms] { top: auto; bottom: calc(100% + .35rem); } }

/* Widen only means something beside the list; under 1200px the panel already sits under it, full width. */
@media (max-width: 1199.98px) { .so-widen[b-uzexrgrqms] { display: none; } }
/* /Components/Pages/Sales/SalesOperations/SalesOperationsDashboard.razor.rz.scp.css */
/* Operations, the sales start page (Trip Desk UI). Tokens are --td-*; the theme's are --osen-*, never --bs-*. */

/* Header line: the open count stands out, what needs you reads as a warning. */
.so-em[b-xw5x03221i] { color: var(--td-emphasis); font-weight: 600; }
.so-warn[b-xw5x03221i] { color: var(--td-warning-ink); font-weight: 500; }

/* "New booking ▾": one primary button split in two. */
.so-split > .td-btn:first-child[b-xw5x03221i] { border-radius: var(--td-radius-md) 0 0 var(--td-radius-md); }
.so-split-caret[b-xw5x03221i] { border-radius: 0 var(--td-radius-md) var(--td-radius-md) 0; border-left-color: rgba(255, 255, 255, .35); padding: 0 .6rem; }
.so-new-menu[b-xw5x03221i] { min-width: 18rem; }
.so-new-menu a[b-xw5x03221i] { flex-direction: column; align-items: flex-start; gap: .1rem; font-weight: 500; }
.so-new-menu small[b-xw5x03221i] { font-size: .75rem; font-weight: 400; color: var(--td-muted); }

/* Quick-start tiles: four ways in, one line each. */
.so-starts[b-xw5x03221i] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .625rem; }
@media (max-width: 1199.98px) { .so-starts[b-xw5x03221i] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .so-starts[b-xw5x03221i] { grid-template-columns: minmax(0, 1fr); } }
.so-start[b-xw5x03221i] { display: flex; align-items: center; gap: .75rem; min-width: 0; padding: .75rem .875rem; border: 1px solid var(--td-border); border-radius: var(--td-radius-lg); background: var(--td-surface); color: var(--td-emphasis); text-decoration: none; }
.so-start:hover[b-xw5x03221i] { border-color: var(--td-primary); color: var(--td-emphasis); }
.so-start:focus-visible[b-xw5x03221i] { outline: none; box-shadow: var(--td-shadow-ring); }
.so-start-ic[b-xw5x03221i] { flex: none; width: 2.25rem; height: 2.25rem; border-radius: var(--td-radius-md); display: inline-flex; align-items: center; justify-content: center; background: var(--td-primary-soft); color: var(--td-primary); font-size: 1.125rem; }
.so-start-tx[b-xw5x03221i] { min-width: 0; display: flex; flex-direction: column; }
.so-start-tx .t[b-xw5x03221i] { font-weight: 600; font-size: .875rem; }
.so-start-tx .s[b-xw5x03221i] { font-size: .75rem; color: var(--td-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* "Needs you": the picked alert reads in danger, the others as warnings. */
.so-needs[b-xw5x03221i]  .td-chip.so-alert-on { border-color: var(--td-danger); background: var(--td-danger-soft); color: var(--td-danger-ink); font-weight: 600; }

.so-search[b-xw5x03221i] { width: 16.25rem; max-width: 100%; }
.so-sm[b-xw5x03221i] { min-height: 2rem; font-size: .8125rem; padding: 0 .75rem; }
.so-sm.td-btn-icon[b-xw5x03221i] { width: 2rem; padding: 0; }

/* Popovers: pick-one lists with the chosen one in the accent, and the filter form. */
.so-date-menu[b-xw5x03221i], .so-rows[b-xw5x03221i] { padding: 0; min-width: 16rem; }
.so-rows[b-xw5x03221i] { min-width: 8rem; }
.so-date-menu button[b-xw5x03221i] { justify-content: space-between; gap: .75rem; }
.so-date-menu button .td-muted[b-xw5x03221i] { font-size: .75rem; }
.so-date-menu .is-chosen[b-xw5x03221i], .so-rows .is-chosen[b-xw5x03221i] { color: var(--td-primary); font-weight: 600; }
.so-range[b-xw5x03221i] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; padding-top: .5rem; margin-top: .35rem; border-top: 1px solid var(--td-border); }
.so-filter[b-xw5x03221i] { display: flex; flex-direction: column; gap: .75rem; }
.so-two[b-xw5x03221i] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.so-pop-foot[b-xw5x03221i] { display: flex; justify-content: space-between; gap: .5rem; margin-top: .75rem; padding-top: .6rem; border-top: 1px solid var(--td-border); }

/* Table cells. */
.so-emph[b-xw5x03221i] { color: var(--td-emphasis); }
.so-clip[b-xw5x03221i] { display: block; max-width: 15rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Widened panel: it takes the larger share, and the list keeps only what fits beside it.
   Only where the panel sits beside the list (1200px and up); under that it is under the list anyway. */
.so-table[b-xw5x03221i] { min-width: 54rem; }
@media (min-width: 1200px) {
    .so-body.is-wide .so-table[b-xw5x03221i] { min-width: 0; }
    .so-body.is-wide > .td-main[b-xw5x03221i] { flex: 1 1 22rem; }
    .so-body.is-wide[b-xw5x03221i]  .td-side { flex: 999 1 40rem; }
    .so-body.is-wide .hide-n[b-xw5x03221i] { display: none; }
}
/* /Components/Pages/Sales/Templates/BookFromTemplate.razor.rz.scp.css */
/* Book from a template on Trip Desk UI: the few things td-ui.css doesn't have. */

/* Chip popovers: pick-one lists, the chosen one bold in the accent. */
.bft-menu[b-mcmm163npz] { padding: 0; margin: 0 -.25rem; max-height: 18rem; overflow-y: auto; }
.bft-menu button[b-mcmm163npz] { align-items: baseline; }
.bft-menu button .td-muted[b-mcmm163npz] { margin-left: auto; padding-left: .75rem; }
.bft-menu button.is-on[b-mcmm163npz] { color: var(--td-primary); font-weight: 600; }
/* Save as: the help text under each status, not beside it. */
.bft-menu button.bft-status[b-mcmm163npz] { flex-direction: column; align-items: flex-start; gap: .1rem; }
.bft-menu button.bft-status .td-muted[b-mcmm163npz] { margin-left: 0; padding-left: 0; font-weight: 400; }

/* A free day's dot on the rail: the warning fill, as on the mock-up. */
.bft-dot-free[b-mcmm163npz] { background: var(--td-warning); border-color: var(--td-warning); }

/* The picked day's editor. */
.bft-btn-sm[b-mcmm163npz] { min-height: 2rem; font-size: .8125rem; padding: 0 .75rem; }
.bft-grid2[b-mcmm163npz] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; align-items: start; }
.bft-em[b-mcmm163npz] { color: var(--td-emphasis); font-weight: 600; }

/* What is charged: name, qty, net each (editable), gross. */
.bft-lines[b-mcmm163npz] { display: flex; flex-direction: column; gap: .4rem; }
.bft-ln[b-mcmm163npz] { display: grid; grid-template-columns: minmax(0, 1fr) 2.5rem 6.5rem 6.5rem; gap: .5rem; align-items: center; font-size: .8125rem; }
.bft-ln > span:first-child[b-mcmm163npz] { min-width: 0; overflow-wrap: anywhere; }
.bft-ln .r[b-mcmm163npz] { text-align: right; }

/* The total: one line per day, and the buttons at the foot. */
.bft-sum[b-mcmm163npz] { display: flex; flex-direction: column; gap: .25rem; font-size: .8125rem; }
.bft-sum-row[b-mcmm163npz] { display: flex; justify-content: space-between; gap: .75rem; }
.bft-foot[b-mcmm163npz] { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; }

@media (max-width: 575.98px) {
    .bft-grid2[b-mcmm163npz] { grid-template-columns: minmax(0, 1fr); }
    .bft-ln[b-mcmm163npz] { grid-template-columns: minmax(0, 1fr) 2rem 5.5rem 5.5rem; }
}
/* /Components/Pages/Sales/Templates/TourTemplateDetail.razor.rz.scp.css */
/* A tour template on Trip Desk UI: the few things td-ui.css doesn't have. */

/* The days are read here, not picked, so the blocks don't act like buttons. */
.ttd-block[b-jlgpgvhmes] { cursor: default; }
.ttd-block:hover[b-jlgpgvhmes] { border-color: var(--td-border); }
.ttd-block.is-danger:hover[b-jlgpgvhmes] { border-color: var(--td-danger); }

/* A free day's dot on the rail: hollow and muted. */
.ttd-dot-free[b-jlgpgvhmes] { border-color: var(--td-field); border-style: dashed; }

.ttd-text[b-jlgpgvhmes] { font-size: .8125rem; color: var(--td-text); white-space: pre-line; }

/* Booking defaults as label/value pairs. */
.ttd-facts[b-jlgpgvhmes] { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: .45rem .5rem; margin: 0; font-size: .8125rem; }
.ttd-facts dt[b-jlgpgvhmes] { color: var(--td-muted); font-weight: 400; }
.ttd-facts dd[b-jlgpgvhmes] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

/* Variants: rows divided by rules. */
.ttd-variants[b-jlgpgvhmes] { display: flex; flex-direction: column; font-size: .8125rem; }
.ttd-variant[b-jlgpgvhmes] { display: flex; flex-direction: column; gap: .15rem; padding: .5rem 0; border-top: 1px solid var(--td-border); }
.ttd-variant:first-child[b-jlgpgvhmes] { border-top: 0; padding-top: 0; }
.ttd-variant-name[b-jlgpgvhmes] { font-weight: 600; color: var(--td-emphasis); }
.ttd-variant.is-off .ttd-variant-name[b-jlgpgvhmes] { color: var(--td-muted); }
/* /Components/Pages/Sales/Templates/TourTemplateList.razor.rz.scp.css */
/* Tour templates list on Trip Desk UI: the few things td-ui.css doesn't have. */

/* The type chip's pick-one list; the chosen type bold in the accent. */
.ttl-menu[b-x8ir1f4ole] { padding: 0; min-width: 12rem; }
.ttl-menu .is-chosen[b-x8ir1f4ole] { font-weight: 600; color: var(--td-primary); }

.ttl-search[b-x8ir1f4ole] { width: 17rem; max-width: 100%; }
.ttl-table[b-x8ir1f4ole] { min-width: 46rem; }

/* A long description stays on one line under the name. */
.ttl-desc[b-x8ir1f4ole] { max-width: 26rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ttl-min[b-x8ir1f4ole] { min-width: 0; }
.ttl-text[b-x8ir1f4ole] { font-size: .8125rem; color: var(--td-text); white-space: pre-line; }
/* /Components/Pages/Sales/Vat/VatList.razor.rz.scp.css */
/* VAT rates on Trip Desk UI: the few things td-ui.css doesn't have. */
.vl-search[b-ha6ru0u4wt] { width: 17rem; max-width: 100%; }
.vl-table[b-ha6ru0u4wt] { min-width: 40rem; }
.vl-warn[b-ha6ru0u4wt] { color: var(--td-warning-ink); }
.vl-pills[b-ha6ru0u4wt] { gap: .25rem; }

/* Facts about the picked rate in the side panel. */
.vl-facts[b-ha6ru0u4wt] { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.vl-facts dt[b-ha6ru0u4wt] { color: var(--td-muted); font-weight: 400; }
.vl-facts dd[b-ha6ru0u4wt] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
/* /Components/Pages/Users/CreateUserWizard.razor.rz.scp.css */
/* New user wizard. Theme variables are --osen-*, not --bs-*. */
.cw[b-1fz87am3lf] {
    max-width: 62rem;
}

/* ── Stepper ── */
.cw-steps[b-1fz87am3lf] {
    display: flex;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
}

.cw-step[b-1fz87am3lf] {
    flex: 1;
    position: relative;
}

/* The line between steps sits under the dots. */
.cw-step + .cw-step[b-1fz87am3lf]::before {
    content: "";
    position: absolute;
    top: 1.05rem;
    left: calc(-50% + 1.5rem);
    right: calc(50% + 1.5rem);
    height: 2px;
    background: var(--osen-border-color);
}

.cw-step.done + .cw-step[b-1fz87am3lf]::before,
.cw-step.done + .cw-step.on[b-1fz87am3lf]::before {
    background: var(--osen-success);
}

.cw-step-btn[b-1fz87am3lf] {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    border: 0;
    background: transparent;
    color: var(--osen-secondary-color);
    padding: 0;
}

.cw-step-btn:not(:disabled)[b-1fz87am3lf] {
    cursor: pointer;
}

.cw-step-btn:not(:disabled):hover .cw-step-label span[b-1fz87am3lf] {
    color: var(--osen-primary);
}

.cw-step-dot[b-1fz87am3lf] {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    border: 2px solid var(--osen-border-color);
    background: var(--osen-secondary-bg);
    position: relative;
    z-index: 1;
}

.cw-step.on .cw-step-dot[b-1fz87am3lf] {
    border-color: var(--osen-primary);
    background: var(--osen-primary);
    color: #fff;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--osen-primary) 20%, transparent);
}

.cw-step.done .cw-step-dot[b-1fz87am3lf] {
    border-color: var(--osen-success);
    background: var(--osen-success);
    color: #fff;
}

.cw-step-label[b-1fz87am3lf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    line-height: 1.2;
}

.cw-step-label span[b-1fz87am3lf] {
    font-size: 0.85rem;
    font-weight: 600;
}

.cw-step.on .cw-step-label span[b-1fz87am3lf] {
    color: var(--osen-primary);
}

.cw-step.done .cw-step-label span[b-1fz87am3lf] {
    color: var(--osen-body-color);
}

.cw-step-label small[b-1fz87am3lf] {
    font-size: 0.72rem;
    min-height: 1em;
    max-width: 12rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Card ── */
.cw-card[b-1fz87am3lf] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    padding: 1.5rem;
}

.cw-foot[b-1fz87am3lf] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--osen-border-color);
}

/* ── Shared by the steps (rendered in child components, hence ::deep) ── */
.cw[b-1fz87am3lf]  .ws-head {
    margin-bottom: 1.25rem;
}

.cw[b-1fz87am3lf]  .ws-head h5 {
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.cw[b-1fz87am3lf]  .ws-head p {
    margin: 0;
    font-size: 0.85rem;
    color: var(--osen-secondary-color);
}

.cw[b-1fz87am3lf]  .ws-group {
    margin: 1rem 0 0.5rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.cw[b-1fz87am3lf]  .ws-roles {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
    gap: 0.5rem;
}

.cw[b-1fz87am3lf]  .ws-role {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    text-align: left;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.55rem;
    background: transparent;
    color: inherit;
    transition: border-color 0.15s, background 0.15s;
}

.cw[b-1fz87am3lf]  .ws-role:hover {
    border-color: var(--osen-primary);
}

.cw[b-1fz87am3lf]  .ws-role.on {
    border-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 10%, transparent);
}

.cw[b-1fz87am3lf]  .ws-role-icon {
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.45rem;
    background: var(--osen-tertiary-bg);
    color: var(--osen-primary);
    font-size: 1.15rem;
}

.cw[b-1fz87am3lf]  .ws-role-text {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-width: 0;
}

.cw[b-1fz87am3lf]  .ws-role-name {
    font-weight: 600;
    font-size: 0.875rem;
}

.cw[b-1fz87am3lf]  .ws-role-desc {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.cw[b-1fz87am3lf]  .ws-role-check {
    font-size: 1.1rem;
    color: var(--osen-secondary-color);
}

.cw[b-1fz87am3lf]  .ws-role.on .ws-role-check {
    color: var(--osen-primary);
}

.cw[b-1fz87am3lf]  .ws-redirect {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-top: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 0.55rem;
    border: 1px solid color-mix(in srgb, var(--osen-info) 40%, transparent);
    background: color-mix(in srgb, var(--osen-info) 10%, transparent);
}

.cw[b-1fz87am3lf]  .ws-redirect > .ti {
    font-size: 1.5rem;
    color: var(--osen-info);
}

.cw[b-1fz87am3lf]  .ws-review {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.55rem;
}

.cw[b-1fz87am3lf]  .ws-review-person {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.cw[b-1fz87am3lf]  .ws-initials {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    background: color-mix(in srgb, var(--osen-primary) 15%, transparent);
    color: var(--osen-primary);
}

.cw[b-1fz87am3lf]  .ws-review-facts {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.4rem 1rem;
    margin: 0;
    font-size: 0.85rem;
}

.cw[b-1fz87am3lf]  .ws-review-facts dt {
    color: var(--osen-secondary-color);
    font-weight: 400;
}

.cw[b-1fz87am3lf]  .ws-review-facts dd {
    margin: 0;
}

.cw[b-1fz87am3lf]  .ws-next {
    margin-top: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 0.55rem;
    background: var(--osen-tertiary-bg);
    font-size: 0.85rem;
}

.cw[b-1fz87am3lf]  .ws-next ol {
    padding-left: 1.2rem;
}

@media (max-width: 767.98px) {
    .cw-step-label small[b-1fz87am3lf] {
        display: none;
    }

    .cw[b-1fz87am3lf]  .ws-review {
        grid-template-columns: 1fr;
    }
}

/* ── Trip Desk UI: steps as chips, the invite in the side panel ── */
.cw-chip[b-1fz87am3lf] {
    display: inline-flex; align-items: center; gap: .5rem; min-height: 2.1rem; padding: 0 .9rem 0 .35rem; border-radius: 999px;
    border: 1px solid var(--td-border); background: var(--td-surface); color: var(--td-muted); font: inherit; font-size: .8125rem; font-weight: 500;
}
.cw-chip:disabled[b-1fz87am3lf] { cursor: default; }
.cw-chip.is-on[b-1fz87am3lf] { border-color: var(--td-primary); background: var(--td-primary-soft); color: var(--td-primary); font-weight: 600; }
.cw-chip.is-done[b-1fz87am3lf] { border-color: var(--td-success-ink); background: var(--td-success-soft); color: var(--td-success-ink); cursor: pointer; }
.cw-chip.is-done:disabled[b-1fz87am3lf] { cursor: pointer; }
.cw-num[b-1fz87am3lf] { width: 1.45rem; height: 1.45rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 700; background: var(--td-surface-2); color: var(--td-muted); }
.cw-chip.is-on .cw-num[b-1fz87am3lf] { background: var(--td-primary); color: var(--td-on-primary); }
.cw-chip.is-done .cw-num[b-1fz87am3lf] { background: var(--td-success-ink); color: var(--td-on-primary); }
.cw-sum[b-1fz87am3lf] { font-weight: 400; opacity: .85; max-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cw-foot[b-1fz87am3lf] { flex-direction: row !important; justify-content: space-between; align-items: center; }
.cw-avatar[b-1fz87am3lf] { width: 2.75rem; height: 2.75rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: none; background: var(--td-primary-soft); color: var(--td-primary); font-weight: 700; }
.cw-facts[b-1fz87am3lf] { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .5rem; margin: 0; font-size: .8125rem; }
.cw-facts dt[b-1fz87am3lf] { color: var(--td-muted); font-weight: 400; }
.cw-facts dd[b-1fz87am3lf] { margin: 0; color: var(--td-emphasis); overflow-wrap: anywhere; }
/* /Components/Pages/Users/Profile.razor.rz.scp.css */
/* A user on Trip Desk UI. */
.us-avatar[b-0mzy2bc90q] { position: relative; display: inline-flex; flex: none; }
.us-dot[b-0mzy2bc90q] { position: absolute; right: 0; bottom: 0; width: .85rem; height: .85rem; border-radius: 50%; border: 2px solid var(--td-bg); }
.us-dot.on[b-0mzy2bc90q] { background: var(--td-success); }
.us-dot.away[b-0mzy2bc90q] { background: var(--td-warning); }
.us-online[b-0mzy2bc90q] { color: var(--td-success-ink); font-weight: 500; }
.us-facts[b-0mzy2bc90q] { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: .6rem .5rem; margin: 0; font-size: .8125rem; }
.us-facts dt[b-0mzy2bc90q] { color: var(--td-muted); font-weight: 400; }
.us-facts dd[b-0mzy2bc90q] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
.us-links[b-0mzy2bc90q] { display: flex; flex-direction: column; }
.us-link[b-0mzy2bc90q] { display: flex; align-items: flex-start; gap: .75rem; padding: .75rem 0; border-top: 1px solid var(--td-border); font-size: .875rem; }
.us-link:first-child[b-0mzy2bc90q] { border-top: 0; padding-top: .25rem; }
.us-link-icon[b-0mzy2bc90q] { width: 2.1rem; height: 2.1rem; border-radius: var(--td-radius-md); display: inline-flex; align-items: center; justify-content: center; flex: none; background: var(--td-surface-2); color: var(--td-muted); font-size: 1.05rem; }
.spin[b-0mzy2bc90q] { animation: us-spin-b-0mzy2bc90q 1s linear infinite; display: inline-block; }
@keyframes us-spin-b-0mzy2bc90q { to { transform: rotate(360deg); } }
/* /Components/Pages/Users/Users.razor.rz.scp.css */
/* Users list on Trip Desk UI. */
.us-user[b-ziv9pmpo2d] { display: flex; align-items: center; gap: .65rem; min-width: 13rem; }
.us-avatar[b-ziv9pmpo2d] { position: relative; display: inline-flex; flex: none; }
.us-dot[b-ziv9pmpo2d] { position: absolute; right: -1px; bottom: -1px; width: .7rem; height: .7rem; border-radius: 50%; border: 2px solid var(--td-surface); }
.us-dot.big[b-ziv9pmpo2d] { width: .85rem; height: .85rem; }
.us-dot.on[b-ziv9pmpo2d] { background: var(--td-success); }
.us-dot.away[b-ziv9pmpo2d] { background: var(--td-warning); }
.us-who[b-ziv9pmpo2d] { display: flex; flex-direction: column; min-width: 0; }
.us-online[b-ziv9pmpo2d] { color: var(--td-success-ink); font-weight: 500; }
.us-never[b-ziv9pmpo2d] { color: var(--td-warning-ink); }
.us-facts[b-ziv9pmpo2d] { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: .5rem .5rem; margin: 0; font-size: .8125rem; }
.us-facts dt[b-ziv9pmpo2d] { color: var(--td-muted); font-weight: 400; }
.us-facts dd[b-ziv9pmpo2d] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
/* /Components/Partials/Accounting/CreditMemoOffcanvas.razor.rz.scp.css */
/* Crediting a posted invoice (Trip Desk UI inside the offcanvas). */

/* The invoice being credited, as label/value pairs. */
.cm-facts[b-4fl8icphru] { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: .4rem .5rem; margin: 0 0 1rem; font-size: .8125rem; }
.cm-facts dt[b-4fl8icphru] { color: var(--td-muted); font-weight: 400; }
.cm-facts dd[b-4fl8icphru] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

.cm-field[b-4fl8icphru] { margin-top: 1rem; }
.cm-lines[b-4fl8icphru] { margin-top: .75rem; }
.cm-tick[b-4fl8icphru] { width: 2.5rem; text-align: center; }
.cm-total[b-4fl8icphru] { font-weight: 600; color: var(--td-danger-ink); }
.cm-req[b-4fl8icphru] { color: var(--td-danger-ink); }
.cm-option[b-4fl8icphru] { font-size: .875rem; font-weight: 600; color: var(--td-emphasis); }
.td-note[b-4fl8icphru] { margin-top: 1rem; }

.cm-actions[b-4fl8icphru] { display: flex; justify-content: flex-end; gap: .5rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--td-border); }
/* /Components/Partials/Accounting/InvoiceLineCorrectionPanel.razor.rz.scp.css */
/* Changing one invoice line in the side panel (Trip Desk UI). */

/* What the line comes to: label left, amount right, the total under a rule. */
.lc-sum[b-8b3whr2kri] { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .35rem .75rem; margin: 1rem 0; padding-top: .75rem; border-top: 1px solid var(--td-border); font-size: .8125rem; }
.lc-sum dt[b-8b3whr2kri] { color: var(--td-muted); font-weight: 400; }
.lc-sum dd[b-8b3whr2kri] { margin: 0; text-align: right; color: var(--td-emphasis); }
.lc-sum .is-total[b-8b3whr2kri] { font-weight: 600; color: var(--td-emphasis); font-size: .875rem; }

.lc-req[b-8b3whr2kri] { color: var(--td-danger-ink); }

/* Draw-again on the left, cancel and save on the right. */
.lc-actions[b-8b3whr2kri] { display: flex; justify-content: space-between; align-items: center; gap: .5rem; flex-wrap: wrap; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--td-border); }
/* /Components/Partials/ActionCenter/ActionQueue.razor.rz.scp.css */
/* Action queue (Command Center, Guide Area). Theme variables are --osen-*, not --bs-*. */
.cc-search[b-k1puz0ijgg] {
    width: 240px;
}

.cc-updated[b-k1puz0ijgg] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    color: var(--osen-secondary-color);
    white-space: nowrap;
}

.cc-live[b-k1puz0ijgg] {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--osen-secondary-color);
    opacity: 0.5;
}

.cc-live.on[b-k1puz0ijgg] {
    background: var(--osen-success);
    opacity: 1;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--osen-success) 25%, transparent);
}

/* ── Now strip ── */
.cc-now[b-k1puz0ijgg] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.cc-now-tile[b-k1puz0ijgg] {
    display: flex;
    flex-direction: column;
    text-align: left;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    color: inherit;
    text-decoration: none;
    transition: border-color 0.15s;
}

.cc-now-tile:hover[b-k1puz0ijgg] {
    border-color: var(--osen-primary);
    color: inherit;
}

.cc-now-label[b-k1puz0ijgg] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.cc-now-value[b-k1puz0ijgg] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 1.35rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.cc-now-note[b-k1puz0ijgg] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

/* ── Layout ── */
.cc-grid[b-k1puz0ijgg] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 1rem;
    align-items: start;
}

.cc-queue[b-k1puz0ijgg],
.cc-panel[b-k1puz0ijgg] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.cc-queue[b-k1puz0ijgg] {
    padding: 0.75rem 1rem 1rem;
}

/* ── Category chips ── */
.cc-cats[b-k1puz0ijgg] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.cc-cat[b-k1puz0ijgg] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.65rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-body-color);
    font-size: 0.8rem;
    font-weight: 500;
}

.cc-cat:hover[b-k1puz0ijgg] {
    border-color: var(--osen-primary);
}

.cc-cat.on[b-k1puz0ijgg] {
    border-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
}

.cc-cat.empty[b-k1puz0ijgg] {
    color: var(--osen-secondary-color);
}

.cc-cat-count[b-k1puz0ijgg] {
    min-width: 1.4rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.cc-cat-count.urgent[b-k1puz0ijgg] {
    background: var(--osen-danger);
    color: #fff;
}

.cc-scope[b-k1puz0ijgg] {
    margin-top: 0.6rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

/* ── Items ── */
.cc-group[b-k1puz0ijgg] {
    margin-top: 0.9rem;
}

.cc-group-head[b-k1puz0ijgg] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.35rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.cc-group-count[b-k1puz0ijgg] {
    font-weight: 500;
}

.cc-item[b-k1puz0ijgg] {
    display: grid;
    grid-template-columns: 4px 2rem minmax(0, 1fr) auto auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.55rem 0.75rem 0.55rem 0;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.5rem;
    background: var(--osen-secondary-bg);
    /* No overflow clipping: the row's ⋯ menu has to drop out of it. */
}

.cc-item + .cc-item[b-k1puz0ijgg] {
    margin-top: 0.35rem;
}

.cc-mark[b-k1puz0ijgg] {
    align-self: stretch;
    margin-left: -1px;
    border-radius: 0.5rem 0 0 0.5rem;
    background: var(--osen-border-color);
}

.cc-urgent .cc-mark[b-k1puz0ijgg] { background: var(--osen-danger); }
.cc-soon .cc-mark[b-k1puz0ijgg] { background: var(--osen-warning); }
.cc-fyi .cc-mark[b-k1puz0ijgg] { background: var(--osen-info); opacity: 0.6; }

.cc-icon[b-k1puz0ijgg] {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.45rem;
    background: var(--osen-tertiary-bg);
    color: var(--osen-secondary-color);
    font-size: 1rem;
}

.cc-urgent .cc-icon[b-k1puz0ijgg] {
    background: color-mix(in srgb, var(--osen-danger) 14%, transparent);
    color: var(--osen-danger);
}

.cc-body[b-k1puz0ijgg] {
    min-width: 0;
}

.cc-title[b-k1puz0ijgg] {
    display: block;
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--osen-body-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

a.cc-title:hover[b-k1puz0ijgg] {
    color: var(--osen-primary);
}

.cc-context[b-k1puz0ijgg] {
    font-size: 0.78rem;
    color: var(--osen-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cc-when[b-k1puz0ijgg] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
    white-space: nowrap;
}

.cc-when.due[b-k1puz0ijgg] {
    color: var(--osen-danger);
    font-weight: 600;
}

.cc-act .btn[b-k1puz0ijgg] {
    white-space: nowrap;
}

.cc-empty[b-k1puz0ijgg] {
    padding: 3rem 1rem;
    text-align: center;
    color: var(--osen-secondary-color);
}

.cc-note[b-k1puz0ijgg] {
    margin-top: 0.9rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

/* ── Side panels ── */
.cc-side[b-k1puz0ijgg] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.cc-panel-head[b-k1puz0ijgg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.7rem 0.9rem;
    border-bottom: 1px solid var(--osen-border-color);
    font-weight: 600;
    font-size: 0.85rem;
}

.cc-panel-empty[b-k1puz0ijgg],
.cc-panel-text[b-k1puz0ijgg] {
    padding: 0.8rem 0.9rem;
    font-size: 0.8rem;
    color: var(--osen-secondary-color);
}

.cc-run[b-k1puz0ijgg] {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.55rem 0.9rem;
    color: inherit;
    text-decoration: none;
    font-size: 0.82rem;
}

.cc-run + .cc-run[b-k1puz0ijgg] {
    border-top: 1px solid var(--osen-border-color);
}

.cc-run:hover[b-k1puz0ijgg] {
    background: var(--osen-tertiary-bg);
    color: inherit;
}

.cc-run-main[b-k1puz0ijgg],
.cc-run-meta[b-k1puz0ijgg] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.cc-run-meta[b-k1puz0ijgg] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.cc-run-sub[b-k1puz0ijgg] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cc-panel-more[b-k1puz0ijgg] {
    display: block;
    padding: 0.5rem 0.9rem;
    border-top: 1px solid var(--osen-border-color);
    font-size: 0.78rem;
}

@media (max-width: 1199.98px) {
    .cc-grid[b-k1puz0ijgg] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .cc-now[b-k1puz0ijgg] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cc-search[b-k1puz0ijgg] {
        width: 100%;
    }

    .cc-item[b-k1puz0ijgg] {
        grid-template-columns: 4px 2rem minmax(0, 1fr) auto;
    }

    .cc-when[b-k1puz0ijgg] {
        display: none;
    }
}

/* ── Snooze and "I'm on it" ── */
.cc-act[b-k1puz0ijgg] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.cc-more[b-k1puz0ijgg] {
    width: 1.9rem;
    height: 1.9rem;
    border: 0;
    border-radius: 0.4rem;
    background: transparent;
    color: var(--osen-secondary-color);
}

.cc-more:hover:not(:disabled)[b-k1puz0ijgg] {
    background: var(--osen-tertiary-bg);
    color: var(--osen-body-color);
}

.cc-state[b-k1puz0ijgg] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.25rem;
}

.cc-claim[b-k1puz0ijgg],
.cc-snooze[b-k1puz0ijgg] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.05rem 0.5rem;
    border-radius: 999px;
    font-size: 0.72rem;
    background: var(--osen-tertiary-bg);
    color: var(--osen-secondary-color);
}

.cc-claim.mine[b-k1puz0ijgg] {
    background: color-mix(in srgb, var(--osen-primary) 16%, transparent);
    color: var(--osen-primary);
    font-weight: 600;
}

/* Someone else has it: still visible, but it no longer shouts. */
.cc-handled[b-k1puz0ijgg] {
    opacity: 0.7;
}

.cc-handled .cc-mark[b-k1puz0ijgg] {
    background: var(--osen-border-color) !important;
}

.cc-cat-snoozed[b-k1puz0ijgg] {
    margin-left: auto;
}

/* Inside a host page's tab: no card of its own around the filters. */
.cc-embedded[b-k1puz0ijgg] {
    background: transparent;
    border: 0;
    box-shadow: none;
}

.cc-embedded > .card-body[b-k1puz0ijgg] {
    padding-left: 0;
    padding-right: 0;
}
/* /Components/Partials/BookingChannels/ChannelForm.razor.rz.scp.css */
/* The booking channel form on Trip Desk UI: the few things td-ui.css doesn't have. */

/* A value that can't be changed here, shown where its field would be. */
.cf-fixed[b-yna9y83x4r] { display: flex; align-items: center; gap: .4rem; min-height: 2.25rem; padding: .375rem .75rem; border: 1px dashed var(--td-border); border-radius: var(--td-radius-md); font-weight: 600; color: var(--td-emphasis); }
.cf-fixed .ti[b-yna9y83x4r] { color: var(--td-muted); font-weight: 400; }

/* Departments: the code beside the name; one that already has a channel can't be picked. */
.cf-code[b-yna9y83x4r] { font-size: .75rem; font-weight: 400; color: var(--td-muted); }
.td-choice button:disabled[b-yna9y83x4r] { opacity: .55; cursor: not-allowed; }
.td-choice button:disabled:hover[b-yna9y83x4r] { background: transparent; color: var(--td-muted); }

.cf-em[b-yna9y83x4r] { color: var(--td-emphasis); }
.cf-search[b-yna9y83x4r] { width: 15rem; max-width: 100%; }
.cf-small[b-yna9y83x4r] { min-height: 2rem; }

/* Products: tick rows in columns on a wide screen. */
.cf-products[b-yna9y83x4r] { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); column-gap: 1.5rem; }

/* Save and Discard at the foot of the form, on the right. */
.cf-foot[b-yna9y83x4r] { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; }

/* Summary facts in the side panel. */
.cf-facts[b-yna9y83x4r] { display: grid; grid-template-columns: max-content 1fr; gap: .35rem .9rem; margin: 0; font-size: .8125rem; }
.cf-facts dt[b-yna9y83x4r] { font-weight: 500; color: var(--td-muted); }
.cf-facts dd[b-yna9y83x4r] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

/* Ready to save? */
.cf-check[b-yna9y83x4r] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; font-size: .8125rem; color: var(--td-muted); }
.cf-check li[b-yna9y83x4r] { display: flex; align-items: center; gap: .45rem; }
.cf-check li .ti[b-yna9y83x4r] { font-size: 1rem; }
.cf-check li.is-done[b-yna9y83x4r] { color: var(--td-emphasis); }
.cf-check li.is-done .ti[b-yna9y83x4r] { color: var(--td-success-ink); }
/* /Components/Partials/Common/FilePreviewPane.razor.rz.scp.css */
.fpp[b-p9b25vt39t] {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    background-color: var(--osen-tertiary-bg, #f8f9fa);
}

/* Fullscreen is a plain fixed overlay rather than the Fullscreen API — the app runs
   as a PWA and must not spawn new browser surfaces. */
.fpp-fullscreen[b-p9b25vt39t] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    height: 100vh;
    background-color: var(--osen-body-bg, #fff);
}

.fpp-toolbar[b-p9b25vt39t] {
    display: flex;
    align-items: center;
    gap: .25rem;
    flex: 0 0 auto;
    padding: .35rem .5rem;
    border-bottom: 1px solid var(--osen-border-color, rgba(0, 0, 0, .125));
    background-color: var(--osen-secondary-bg, #fff);
}

.fpp-zoom-label[b-p9b25vt39t] {
    min-width: 3.25rem;
    text-align: center;
    font-size: .75rem;
    color: var(--osen-secondary-color, #6c757d);
}

.fpp-viewport[b-p9b25vt39t] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    display: flex;
    padding: .5rem;
}

/* margin:auto centres the image without the overflow clipping that
   justify-content:center causes once the image is larger than the viewport. */
.fpp-image[b-p9b25vt39t] {
    margin: auto;
    /* Must not shrink: at zoom > 1 the image has to overflow so the viewport scrolls.
       max-width/max-height already keep it fitted at zoom 1. */
    flex: 0 0 auto;
    max-width: calc(100% * var(--fpp-zoom, 1));
    max-height: calc(100% * var(--fpp-zoom, 1));
    transform-origin: center center;
    transition: max-width .15s ease-out, max-height .15s ease-out, transform .15s ease-out;
}

.fpp-frame[b-p9b25vt39t] {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    border: 0;
}

.fpp-message[b-p9b25vt39t] {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* /Components/Partials/Common/FilterChip.razor.rz.scp.css */
.filter-chip[b-52ikuf9mzz] { position: relative; display: inline-flex; align-items: center; }
.filter-chip-button[b-52ikuf9mzz] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    height: 30px;
    max-width: 260px;
    padding: 0 .6rem;
    border: 1px dashed rgba(131, 145, 162, .45);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-secondary-color, #8391a2);
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
    transition: border-color .12s ease, background-color .12s ease, color .12s ease;
}
.filter-chip-button:hover[b-52ikuf9mzz],
.filter-chip.is-open .filter-chip-button[b-52ikuf9mzz] { border-color: rgba(70, 93, 255, .6); color: var(--osen-body-color, #dee2e6); }
.filter-chip.is-active .filter-chip-button[b-52ikuf9mzz] {
    padding-right: 1.9rem;
    border-style: solid;
    border-color: rgba(70, 93, 255, .45);
    background: rgba(70, 93, 255, .12);
    color: var(--osen-body-color, #dee2e6);
}
.filter-chip-button > .ti[b-52ikuf9mzz] { font-size: .9rem; }
.filter-chip-value[b-52ikuf9mzz] {
    overflow: hidden;
    max-width: 120px;
    padding: .05rem .4rem;
    border-radius: 999px;
    background: var(--osen-primary, #465dff);
    color: #fff;
    font-size: .66rem;
    text-overflow: ellipsis;
}
.filter-chip-caret[b-52ikuf9mzz] { font-size: .7rem !important; opacity: .6; }
.filter-chip.is-active .filter-chip-caret[b-52ikuf9mzz] { display: none; }
.filter-chip-clear[b-52ikuf9mzz] {
    position: absolute;
    right: .35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--osen-secondary-color, #8391a2);
    font-size: .75rem;
}
.filter-chip-clear:hover[b-52ikuf9mzz] { background: rgba(220, 53, 69, .2); color: #dc3545; }

.filter-chip-backdrop[b-52ikuf9mzz] { position: fixed; inset: 0; z-index: 1040; }
.filter-chip-panel[b-52ikuf9mzz] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 1041;
    width: 250px;
    padding: .35rem;
    border: 1px solid var(--osen-border-color, #37394d);
    border-radius: .6rem;
    background: var(--osen-secondary-bg, #1e1f27);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, .35);
    animation: filter-chip-in-b-52ikuf9mzz .12s ease-out;
}
.filter-chip-panel.is-wide[b-52ikuf9mzz] { width: min(560px, 92vw); padding: .75rem; }
@keyframes filter-chip-in-b-52ikuf9mzz { from { opacity: 0; transform: translateY(-4px); } }
.filter-chip-search[b-52ikuf9mzz] { display: flex; align-items: center; gap: .4rem; margin-bottom: .3rem; padding: .3rem .5rem; border-bottom: 1px solid var(--osen-border-color, #37394d); color: var(--osen-secondary-color, #8391a2); }
.filter-chip-search input[b-52ikuf9mzz] { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--osen-body-color, #dee2e6); font-size: .78rem; }
.filter-chip-options[b-52ikuf9mzz] { max-height: 280px; overflow-y: auto; }
.filter-chip-option[b-52ikuf9mzz] {
    display: flex;
    align-items: center;
    gap: .5rem;
    width: 100%;
    padding: .35rem .45rem;
    border: 0;
    border-radius: .4rem;
    background: transparent;
    color: var(--osen-body-color, #dee2e6);
    font-size: .78rem;
    text-align: left;
}
.filter-chip-option:hover[b-52ikuf9mzz] { background: rgba(70, 93, 255, .12); }
.filter-chip-check[b-52ikuf9mzz] {
    display: inline-flex;
    flex: 0 0 16px;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border: 1px solid rgba(131, 145, 162, .6);
    border-radius: 4px;
    color: transparent;
    font-size: .7rem;
}
.filter-chip-option.is-selected .filter-chip-check[b-52ikuf9mzz] { border-color: var(--osen-primary, #465dff); background: var(--osen-primary, #465dff); color: #fff; }
.filter-chip-empty[b-52ikuf9mzz] { padding: .6rem .5rem; color: var(--osen-secondary-color, #8391a2); font-size: .75rem; }
.filter-chip-footer[b-52ikuf9mzz] { display: flex; justify-content: flex-end; margin-top: .25rem; padding: .3rem .45rem 0; border-top: 1px solid var(--osen-border-color, #37394d); font-size: .75rem; }
/* /Components/Partials/Common/ViewPresetBar.razor.rz.scp.css */
.view-preset-manager[b-qyapqv07q4] {
    width: min(720px, 100%);
    overflow: hidden;
    border-color: rgba(var(--bs-primary-rgb), .2);
}

.view-preset-section-title[b-qyapqv07q4] {
    padding: .5rem .75rem;
    background: rgba(var(--bs-secondary-rgb), .06);
    color: var(--bs-secondary-color);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.view-preset-row[b-qyapqv07q4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 48px;
    padding: .45rem .65rem;
    border-top: 1px solid rgba(var(--bs-secondary-rgb), .1);
}

.view-preset-row.is-active[b-qyapqv07q4] {
    background: rgba(var(--bs-primary-rgb), .08);
    box-shadow: inset 3px 0 var(--bs-primary);
}

.view-preset-copy[b-qyapqv07q4] {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
}

@media (max-width: 575.98px) {
    .view-preset-row[b-qyapqv07q4] { align-items: flex-start; flex-direction: column; }
}
/* /Components/Partials/Contracts/ContractForm.razor.rz.scp.css */
/* The contract form on Trip Desk UI: the few things td-ui.css doesn't have. */

/* The fieldset only locks the fields; it adds no box of its own. */
.cf-fieldset[b-yw30p82m0b] { border: 0; margin: 0; padding: 0; min-width: 0; border-top: 1px solid var(--td-border); }

/* A value that can't be changed here, shown where its field would be. */
.cf-fixed[b-yw30p82m0b] { display: inline-flex; align-items: center; gap: .4rem; align-self: flex-start; min-height: 2.25rem; padding: .375rem .75rem; border: 1px dashed var(--td-border); border-radius: var(--td-radius-md); font-weight: 600; color: var(--td-emphasis); }
.cf-fixed .ti[b-yw30p82m0b] { color: var(--td-muted); font-weight: 400; }

/* Product types to leave out: tick rows in columns. */
.cf-types[b-yw30p82m0b] { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); column-gap: 1.5rem; }

/* Save and Discard at the foot of the form, on the right. */
.cf-foot[b-yw30p82m0b] { flex-direction: row; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: .5rem; border-top: 1px solid var(--td-border); }

/* Summary in the side panel. */
.cf-sentence[b-yw30p82m0b] { font-size: .875rem; line-height: 1.45; color: var(--td-emphasis); }
.cf-facts[b-yw30p82m0b] { display: grid; grid-template-columns: max-content 1fr; gap: .35rem .9rem; margin: 0; font-size: .8125rem; }
.cf-facts dt[b-yw30p82m0b] { font-weight: 500; color: var(--td-muted); }
.cf-facts dd[b-yw30p82m0b] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

/* Ready to save? */
.cf-check[b-yw30p82m0b] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; font-size: .8125rem; color: var(--td-muted); }
.cf-check li[b-yw30p82m0b] { display: flex; align-items: center; gap: .45rem; }
.cf-check li .ti[b-yw30p82m0b] { font-size: 1rem; }
.cf-check li.is-done[b-yw30p82m0b] { color: var(--td-emphasis); }
.cf-check li.is-done .ti[b-yw30p82m0b] { color: var(--td-success-ink); }
/* /Components/Partials/Dispatch/PendingApprovalsCard.razor.rz.scp.css */
/* Approval panel — the To act on look (ActionQueue / Guide Area).
   Same ap-* styles live in PendingApprovalsCard.razor.css and
   GuideShiftApprovalsCard.razor.css; keep the two in step.
   Theme variables are --osen-*, not --bs-*. */
.ap-panel[b-es3i4e9dt7] {
    margin-bottom: 1rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.ap-head[b-es3i4e9dt7] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.ap-title[b-es3i4e9dt7] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 600;
}

.ap-title > .ti[b-es3i4e9dt7] {
    color: var(--osen-primary);
}

.ap-note[b-es3i4e9dt7] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.ap-count[b-es3i4e9dt7] {
    min-width: 1.4rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-weight: 600;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.ap-count.warn[b-es3i4e9dt7] { background: var(--osen-warning); color: #000; }
.ap-count.hot[b-es3i4e9dt7] { background: var(--osen-danger); color: #fff; }

.ap-empty[b-es3i4e9dt7] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.45rem;
    padding: 1.25rem 1rem;
    font-size: 0.82rem;
    color: var(--osen-secondary-color);
}

/* ── Chips ── */
.ap-chips[b-es3i4e9dt7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    padding: 0.6rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.ap-chip[b-es3i4e9dt7] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.6rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-body-color);
    font-size: 0.8rem;
}

.ap-chip:hover[b-es3i4e9dt7] { border-color: var(--osen-primary); }

.ap-chip.on[b-es3i4e9dt7] {
    border-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
}

.ap-chip-count[b-es3i4e9dt7] {
    min-width: 1.3rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
    color: var(--osen-body-color);
}

.ap-chip-count.warn[b-es3i4e9dt7] { background: var(--osen-warning); color: #000; }
.ap-chip-count.hot[b-es3i4e9dt7] { background: var(--osen-danger); color: #fff; }

.ap-selectall[b-es3i4e9dt7] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-left: auto;
    font-size: 0.8rem;
    color: var(--osen-secondary-color);
    cursor: pointer;
}

/* ── Bulk bar ── */
.ap-bulk[b-es3i4e9dt7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
    background: color-mix(in srgb, var(--osen-primary) 7%, transparent);
}

.ap-bulk-count[b-es3i4e9dt7] {
    font-size: 0.82rem;
    font-weight: 600;
}

.ap-reason-input[b-es3i4e9dt7] {
    flex: 1 1 14rem;
    max-width: 26rem;
}

/* ── Rows ── */
.ap-rows[b-es3i4e9dt7] {
    padding: 0.25rem 1rem 0.75rem;
}

.ap-group[b-es3i4e9dt7] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0.75rem 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.ap-group-name[b-es3i4e9dt7] {
    color: var(--osen-body-color);
}

.ap-group-count[b-es3i4e9dt7] {
    font-weight: 500;
}

/* mark · check · what · when · waiting/state · action */
.ap-item[b-es3i4e9dt7] {
    display: grid;
    grid-template-columns: 4px 1.1rem minmax(0, 1fr) 8rem 9.5rem auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.55rem 0.75rem 0.55rem 0;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.5rem;
    background: var(--osen-secondary-bg);
    font-size: 0.85rem;
}

.ap-item + .ap-item[b-es3i4e9dt7] {
    margin-top: 0.35rem;
}

.ap-mark[b-es3i4e9dt7] {
    align-self: stretch;
    margin-left: -1px;
    border-radius: 0.5rem 0 0 0.5rem;
    background: var(--osen-border-color);
}

.ap-item.urgent .ap-mark[b-es3i4e9dt7] { background: var(--osen-danger); }
.ap-item.soon .ap-mark[b-es3i4e9dt7] { background: var(--osen-warning); }
.ap-item.done .ap-mark[b-es3i4e9dt7] { background: var(--osen-success); }
.ap-item.done[b-es3i4e9dt7] { opacity: 0.7; }

.ap-check[b-es3i4e9dt7] {
    display: flex;
    align-items: center;
}

.ap-check .form-check-input[b-es3i4e9dt7],
.ap-group .form-check-input[b-es3i4e9dt7] {
    margin: 0;
}

.ap-main[b-es3i4e9dt7] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ap-main > a[b-es3i4e9dt7] {
    font-weight: 600;
    margin-right: 0.3rem;
}

.ap-sub[b-es3i4e9dt7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.ap-sub a[b-es3i4e9dt7] {
    color: var(--osen-primary);
    font-weight: 600;
}

.ap-tag[b-es3i4e9dt7] {
    display: inline-flex;
    align-items: center;
    margin-left: 0.25rem;
    padding: 0.02rem 0.45rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    color: var(--osen-secondary-color);
}

.ap-dates[b-es3i4e9dt7] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ap-age[b-es3i4e9dt7] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    color: var(--osen-secondary-color);
}

.ap-age.warn[b-es3i4e9dt7] { color: var(--osen-warning); font-weight: 600; }
.ap-age.hot[b-es3i4e9dt7] { color: var(--osen-danger); font-weight: 600; }

.ap-state[b-es3i4e9dt7] {
    min-width: 0;
}

.ap-pill[b-es3i4e9dt7] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1rem 0.55rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
    color: var(--osen-secondary-color);
}

.ap-pill.success[b-es3i4e9dt7] { background: color-mix(in srgb, var(--osen-success) 15%, transparent); color: var(--osen-success); }
.ap-pill.danger[b-es3i4e9dt7] { background: color-mix(in srgb, var(--osen-danger) 15%, transparent); color: var(--osen-danger); }
.ap-pill.info[b-es3i4e9dt7] { background: color-mix(in srgb, var(--osen-info) 15%, transparent); color: var(--osen-info); }

.ap-action[b-es3i4e9dt7] {
    display: flex;
    justify-content: flex-end;
    white-space: nowrap;
}

.ap-done[b-es3i4e9dt7] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--osen-success);
}

/* The reason line opens under the row it belongs to. */
.ap-reason[b-es3i4e9dt7] {
    grid-column: 3 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.ap-foot[b-es3i4e9dt7] {
    padding: 0 1rem 0.6rem;
}

@media (max-width: 991.98px) {
    .ap-item[b-es3i4e9dt7] {
        grid-template-columns: 4px 1.1rem minmax(0, 1fr) auto;
        row-gap: 0.35rem;
    }

    .ap-dates[b-es3i4e9dt7],
    .ap-age[b-es3i4e9dt7],
    .ap-state[b-es3i4e9dt7] {
        grid-column: 3;
    }

    .ap-mark[b-es3i4e9dt7],
    .ap-check[b-es3i4e9dt7] {
        grid-row: span 3;
    }

    .ap-action[b-es3i4e9dt7] {
        grid-column: 4;
        grid-row: 1;
    }
}
/* /Components/Partials/Guides/GuideShiftApprovalsCard.razor.rz.scp.css */
/* Approval panel — the To act on look (ActionQueue / Guide Area).
   Same ap-* styles live in PendingApprovalsCard.razor.css and
   GuideShiftApprovalsCard.razor.css; keep the two in step.
   Theme variables are --osen-*, not --bs-*. */
.ap-panel[b-t4q7etzh0r] {
    margin-bottom: 1rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
}

.ap-head[b-t4q7etzh0r] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.ap-title[b-t4q7etzh0r] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 600;
}

.ap-title > .ti[b-t4q7etzh0r] {
    color: var(--osen-primary);
}

.ap-note[b-t4q7etzh0r] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.ap-count[b-t4q7etzh0r] {
    min-width: 1.4rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-weight: 600;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.ap-count.warn[b-t4q7etzh0r] { background: var(--osen-warning); color: #000; }
.ap-count.hot[b-t4q7etzh0r] { background: var(--osen-danger); color: #fff; }

.ap-empty[b-t4q7etzh0r] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.45rem;
    padding: 1.25rem 1rem;
    font-size: 0.82rem;
    color: var(--osen-secondary-color);
}

/* ── Chips ── */
.ap-chips[b-t4q7etzh0r] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    padding: 0.6rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
}

.ap-chip[b-t4q7etzh0r] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.6rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-body-color);
    font-size: 0.8rem;
}

.ap-chip:hover[b-t4q7etzh0r] { border-color: var(--osen-primary); }

.ap-chip.on[b-t4q7etzh0r] {
    border-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
}

.ap-chip-count[b-t4q7etzh0r] {
    min-width: 1.3rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
    color: var(--osen-body-color);
}

.ap-chip-count.warn[b-t4q7etzh0r] { background: var(--osen-warning); color: #000; }
.ap-chip-count.hot[b-t4q7etzh0r] { background: var(--osen-danger); color: #fff; }

.ap-selectall[b-t4q7etzh0r] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-left: auto;
    font-size: 0.8rem;
    color: var(--osen-secondary-color);
    cursor: pointer;
}

/* ── Bulk bar ── */
.ap-bulk[b-t4q7etzh0r] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    border-bottom: 1px solid var(--osen-border-color);
    background: color-mix(in srgb, var(--osen-primary) 7%, transparent);
}

.ap-bulk-count[b-t4q7etzh0r] {
    font-size: 0.82rem;
    font-weight: 600;
}

.ap-reason-input[b-t4q7etzh0r] {
    flex: 1 1 14rem;
    max-width: 26rem;
}

/* ── Rows ── */
.ap-rows[b-t4q7etzh0r] {
    padding: 0.25rem 1rem 0.75rem;
}

.ap-group[b-t4q7etzh0r] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0.75rem 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.ap-group-name[b-t4q7etzh0r] {
    color: var(--osen-body-color);
}

.ap-group-count[b-t4q7etzh0r] {
    font-weight: 500;
}

/* mark · check · what · when · waiting/state · action */
.ap-item[b-t4q7etzh0r] {
    display: grid;
    grid-template-columns: 4px 1.1rem minmax(0, 1fr) 8rem 9.5rem auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.55rem 0.75rem 0.55rem 0;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.5rem;
    background: var(--osen-secondary-bg);
    font-size: 0.85rem;
}

.ap-item + .ap-item[b-t4q7etzh0r] {
    margin-top: 0.35rem;
}

.ap-mark[b-t4q7etzh0r] {
    align-self: stretch;
    margin-left: -1px;
    border-radius: 0.5rem 0 0 0.5rem;
    background: var(--osen-border-color);
}

.ap-item.urgent .ap-mark[b-t4q7etzh0r] { background: var(--osen-danger); }
.ap-item.soon .ap-mark[b-t4q7etzh0r] { background: var(--osen-warning); }
.ap-item.done .ap-mark[b-t4q7etzh0r] { background: var(--osen-success); }
.ap-item.done[b-t4q7etzh0r] { opacity: 0.7; }

.ap-check[b-t4q7etzh0r] {
    display: flex;
    align-items: center;
}

.ap-check .form-check-input[b-t4q7etzh0r],
.ap-group .form-check-input[b-t4q7etzh0r] {
    margin: 0;
}

.ap-main[b-t4q7etzh0r] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ap-main > a[b-t4q7etzh0r] {
    font-weight: 600;
    margin-right: 0.3rem;
}

.ap-sub[b-t4q7etzh0r] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.ap-sub a[b-t4q7etzh0r] {
    color: var(--osen-primary);
    font-weight: 600;
}

.ap-tag[b-t4q7etzh0r] {
    display: inline-flex;
    align-items: center;
    margin-left: 0.25rem;
    padding: 0.02rem 0.45rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    color: var(--osen-secondary-color);
}

.ap-dates[b-t4q7etzh0r] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ap-age[b-t4q7etzh0r] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    color: var(--osen-secondary-color);
}

.ap-age.warn[b-t4q7etzh0r] { color: var(--osen-warning); font-weight: 600; }
.ap-age.hot[b-t4q7etzh0r] { color: var(--osen-danger); font-weight: 600; }

.ap-state[b-t4q7etzh0r] {
    min-width: 0;
}

.ap-pill[b-t4q7etzh0r] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1rem 0.55rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
    color: var(--osen-secondary-color);
}

.ap-pill.success[b-t4q7etzh0r] { background: color-mix(in srgb, var(--osen-success) 15%, transparent); color: var(--osen-success); }
.ap-pill.danger[b-t4q7etzh0r] { background: color-mix(in srgb, var(--osen-danger) 15%, transparent); color: var(--osen-danger); }
.ap-pill.info[b-t4q7etzh0r] { background: color-mix(in srgb, var(--osen-info) 15%, transparent); color: var(--osen-info); }

.ap-action[b-t4q7etzh0r] {
    display: flex;
    justify-content: flex-end;
    white-space: nowrap;
}

.ap-done[b-t4q7etzh0r] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--osen-success);
}

/* The reason line opens under the row it belongs to. */
.ap-reason[b-t4q7etzh0r] {
    grid-column: 3 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.ap-foot[b-t4q7etzh0r] {
    padding: 0 1rem 0.6rem;
}

@media (max-width: 991.98px) {
    .ap-item[b-t4q7etzh0r] {
        grid-template-columns: 4px 1.1rem minmax(0, 1fr) auto;
        row-gap: 0.35rem;
    }

    .ap-dates[b-t4q7etzh0r],
    .ap-age[b-t4q7etzh0r],
    .ap-state[b-t4q7etzh0r] {
        grid-column: 3;
    }

    .ap-mark[b-t4q7etzh0r],
    .ap-check[b-t4q7etzh0r] {
        grid-row: span 3;
    }

    .ap-action[b-t4q7etzh0r] {
        grid-column: 4;
        grid-row: 1;
    }
}
/* /Components/Partials/Offcanvas/GuidePanelOffcanvas.razor.rz.scp.css */
/* Help panel home. Theme variables are --osen-*, not --bs-*. */
.gp-news[b-uo1yrpm05n] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--osen-border-color);
    border-left: 3px solid var(--osen-primary);
    border-radius: 0.55rem;
    color: inherit;
    text-decoration: none;
}

.gp-news:hover[b-uo1yrpm05n] {
    border-color: var(--osen-primary);
    color: inherit;
}

.gp-news-icon[b-uo1yrpm05n] {
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.45rem;
    background: color-mix(in srgb, var(--osen-primary) 15%, transparent);
    color: var(--osen-primary);
}

.gp-news-title[b-uo1yrpm05n] {
    font-size: 0.85rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.gp-label[b-uo1yrpm05n] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--osen-secondary-color);
}

.gp-guide[b-uo1yrpm05n] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.55rem;
    border-radius: 0.5rem;
    color: inherit;
    text-decoration: none;
    font-size: 0.875rem;
}

.gp-guide:hover[b-uo1yrpm05n] {
    background: var(--osen-tertiary-bg);
    color: inherit;
}

.gp-guide-icon[b-uo1yrpm05n] {
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.45rem;
    background: var(--osen-tertiary-bg);
    color: var(--osen-primary);
    font-size: 1.05rem;
}

kbd[b-uo1yrpm05n] {
    font-size: 0.7rem;
    padding: 0.1rem 0.35rem;
}
/* /Components/Partials/Operations/Dispatch/DispatchWorkspaceTabs.razor.rz.scp.css */
/* Workspace lenses as pill tabs — the same look as the Guide Area and Shifts.
   Theme variables are --osen-*, not --bs-*. */
.workspace-tabs-card[b-lyjqz8wf6z] {
    margin-bottom: 0.75rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    background: var(--osen-secondary-bg);
    box-shadow: none;
}

.workspace-tabs-body[b-lyjqz8wf6z] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.workspace-tabs-actions[b-lyjqz8wf6z] {
    margin-left: auto;
    min-width: 0;
}

.workspace-tabs[b-lyjqz8wf6z] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.workspace-tabs .nav-link[b-lyjqz8wf6z] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.32rem 0.85rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 999px;
    background: transparent;
    color: var(--osen-body-color);
    font-size: 0.85rem;
}

.workspace-tabs .nav-link:hover[b-lyjqz8wf6z] {
    border-color: var(--osen-primary);
    color: var(--osen-body-color);
}

.workspace-tabs .nav-link.active[b-lyjqz8wf6z] {
    border-color: var(--osen-primary);
    background: color-mix(in srgb, var(--osen-primary) 14%, transparent);
    color: var(--osen-primary);
}

.workspace-tab-icon[b-lyjqz8wf6z] {
    display: inline-flex;
    font-size: 1rem;
    color: var(--osen-primary);
}

.workspace-tab-copy[b-lyjqz8wf6z] {
    display: inline-flex;
    align-items: baseline;
    gap: 0.4rem;
}

.workspace-tab-copy strong[b-lyjqz8wf6z] { font-weight: 500; }
.workspace-tabs .nav-link.active .workspace-tab-copy strong[b-lyjqz8wf6z] { font-weight: 600; }

.workspace-tab-copy small[b-lyjqz8wf6z] {
    font-size: 0.72rem;
    color: var(--osen-secondary-color);
}

@media (max-width: 575.98px) {
    .workspace-tab-copy small[b-lyjqz8wf6z] { display: none; }
}
/* /Components/Partials/Operations/Dispatch/ShiftDetailOffcanvas.razor.rz.scp.css */
.shift-operation-section[b-gebxizrsqk] {
    background: rgba(var(--bs-primary-rgb), .035);
}

.shift-load-state[b-gebxizrsqk] {
    display: flex;
    min-height: 280px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    text-align: center;
}

.shift-load-state-icon[b-gebxizrsqk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: .75rem;
    border-radius: .75rem;
    background: rgba(var(--bs-warning-rgb), .13);
    color: var(--bs-warning);
    font-size: 1.35rem;
}

.shift-load-state p[b-gebxizrsqk] {
    max-width: 340px;
    color: var(--bs-secondary-color);
    font-size: .75rem;
}

.shift-operation-caption[b-gebxizrsqk] {
    font-size: .67rem;
}

.shift-operation-card[b-gebxizrsqk] {
    overflow: hidden;
    margin-bottom: .75rem;
    border: 1px solid rgba(var(--bs-primary-rgb), .42);
    border-radius: .65rem;
    background: var(--osen-card-bg, var(--bs-card-bg, var(--bs-body-bg)));
    box-shadow: 0 .35rem 1rem rgba(15, 23, 42, .18);
}

.shift-operation-card:last-child[b-gebxizrsqk] {
    margin-bottom: 0;
}

.shift-operation-head[b-gebxizrsqk] {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .75rem .8rem;
    border-left: 5px solid var(--bs-primary);
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .14);
    background: linear-gradient(120deg, rgba(var(--bs-primary-rgb), .18), rgba(var(--bs-primary-rgb), .035) 72%);
}

.shift-entity-label[b-gebxizrsqk] {
    display: inline-flex;
    align-items: center;
    margin-bottom: .35rem;
    padding: .15rem .38rem;
    border-radius: 999px;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.shift-entity-label.is-operation[b-gebxizrsqk] { background: rgba(var(--bs-primary-rgb), .16); color: var(--bs-primary); }
.shift-entity-label.is-task[b-gebxizrsqk] { background: rgba(32, 201, 151, .16); color: #20c997; }

.shift-operation-name[b-gebxizrsqk] {
    margin-top: .15rem;
    color: var(--bs-body-color);
    font-size: .78rem;
    font-weight: 700;
}

.shift-operation-meta[b-gebxizrsqk],
.shift-task-facts[b-gebxizrsqk],
.shift-task-flights[b-gebxizrsqk] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .3rem .8rem;
    margin-top: .35rem;
    color: var(--bs-secondary-color);
    font-size: .66rem;
}

.shift-operation-tasks[b-gebxizrsqk] {
    padding: .7rem;
    background: rgba(var(--bs-dark-rgb), .055);
}

.shift-task-card[b-gebxizrsqk] {
    position: relative;
    margin-bottom: .55rem;
    padding: .65rem;
    overflow: hidden;
    border: 1px solid rgba(32, 201, 151, .34);
    border-left: 4px solid #20c997;
    border-radius: .55rem;
    background: var(--osen-secondary-bg, rgba(var(--bs-secondary-rgb), .07));
}

.shift-task-card:last-child[b-gebxizrsqk] {
    margin-bottom: 0;
}

.shift-task-card:hover[b-gebxizrsqk] {
    border-color: rgba(32, 201, 151, .62);
    border-left-color: #20c997;
    background: rgba(32, 201, 151, .075);
}

.shift-task-head[b-gebxizrsqk] {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
}

.shift-task-title[b-gebxizrsqk] {
    margin-top: .15rem;
    color: var(--bs-body-color);
    font-size: .75rem;
    font-weight: 700;
}

.shift-task-subtitle[b-gebxizrsqk] {
    color: var(--bs-secondary-color);
    font-size: .67rem;
}

.shift-task-facts span[b-gebxizrsqk],
.shift-operation-meta span[b-gebxizrsqk],
.shift-task-flights span[b-gebxizrsqk] {
    min-width: 0;
}

.shift-task-route[b-gebxizrsqk] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: .45rem;
    margin-top: .55rem;
    padding: .4rem .5rem;
    border-radius: .4rem;
    background: rgba(var(--bs-info-rgb), .07);
    color: var(--bs-body-color);
    font-size: .68rem;
}

.shift-task-route span[b-gebxizrsqk] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shift-task-route i[b-gebxizrsqk],
.shift-task-flights i[b-gebxizrsqk] {
    color: var(--bs-info);
}

.shift-task-chips[b-gebxizrsqk] {
    display: flex;
    flex-wrap: wrap;
    gap: .2rem;
    margin-top: .5rem;
}

.shift-task-note[b-gebxizrsqk] {
    margin-top: .5rem;
    padding: .4rem .5rem;
    border-left: 3px solid var(--bs-warning);
    border-radius: .25rem;
    background: rgba(var(--bs-warning-rgb), .08);
    color: var(--bs-secondary-color);
    font-size: .67rem;
    white-space: pre-wrap;
}

.shift-task-actual[b-gebxizrsqk] {
    margin-top: .45rem;
    color: var(--bs-success);
    font-size: .67rem;
    font-weight: 600;
}

@media (max-width: 575.98px) {
    .shift-task-route[b-gebxizrsqk] {
        grid-template-columns: 1fr;
    }

    .shift-task-route i[b-gebxizrsqk] {
        transform: rotate(90deg);
        justify-self: center;
    }
}
/* /Components/Partials/Operations/Dispatch/WorkspaceHourTimeline.razor.rz.scp.css */
.hour-timeline[b-u2d5g3rl20] { position: relative; width: max-content; min-width: 100%; }
.hour-timeline-head[b-u2d5g3rl20],
.hour-timeline-row[b-u2d5g3rl20] { display: flex; }
.hour-timeline-head[b-u2d5g3rl20] { position: sticky; top: 0; z-index: 8; background: var(--osen-secondary-bg, #1e1f27); border-bottom: 1px solid var(--osen-border-color, #37394d); box-shadow: 0 .3rem .65rem rgba(15, 23, 42, .18); }
.hour-timeline-name[b-u2d5g3rl20] {
    position: sticky;
    left: 0;
    z-index: 6;
    display: flex;
    flex: 0 0 200px;
    align-items: center;
    justify-content: space-between;
    gap: .4rem;
    width: 200px;
    padding: .35rem .6rem;
    border-right: 1px solid var(--osen-border-color, #37394d);
    background: var(--osen-card-bg, var(--osen-secondary-bg, #1e1f27));
    font-size: .75rem;
}
.hour-timeline-head .hour-timeline-name[b-u2d5g3rl20] { z-index: 10; background: var(--osen-secondary-bg, #1e1f27); color: var(--osen-secondary-color, #8391a2); font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.hour-timeline-meta[b-u2d5g3rl20] { color: var(--osen-secondary-color, #8391a2); font-size: .65rem; }
.hour-timeline-blockout[b-u2d5g3rl20] { flex: 0 0 22px; width: 22px; height: 22px; opacity: .35; font-size: .75rem; }
.hour-timeline-row:hover .hour-timeline-blockout[b-u2d5g3rl20] { opacity: 1; }
.hour-timeline-track[b-u2d5g3rl20] {
    position: relative;
    flex: 0 0 auto;
    width: calc(var(--hour-w) * var(--hours));
    /* Hour lines drawn as a background so rows stay cheap to render. */
    background-image: linear-gradient(to right, rgba(131, 145, 162, .18) 1px, transparent 1px);
    background-size: var(--hour-w) 100%;
}
.hour-timeline-head .hour-timeline-track[b-u2d5g3rl20] { display: flex; background-image: none; }
.hour-timeline-hour[b-u2d5g3rl20] { flex: 0 0 var(--hour-w); width: var(--hour-w); padding: .45rem 0 .45rem .3rem; border-left: 1px solid rgba(131, 145, 162, .25); color: var(--osen-secondary-color, #8391a2); font-size: .68rem; }
.hour-timeline-row[b-u2d5g3rl20] { min-height: 48px; border-bottom: 1px solid rgba(131, 145, 162, .14); }
.hour-timeline-row:hover .hour-timeline-track[b-u2d5g3rl20] { background-color: rgba(70, 93, 255, .03); }
.hour-timeline-row.is-unassigned .hour-timeline-track[b-u2d5g3rl20],
.hour-timeline-row.is-unassigned .hour-timeline-name[b-u2d5g3rl20] { background-color: rgba(255, 193, 7, .1); }
.hour-timeline-block[b-u2d5g3rl20] {
    position: absolute;
    top: 5px;
    bottom: 5px;
    display: flex;
    align-items: center;
    gap: .3rem;
    padding: 0 .35rem;
    color: var(--osen-body-color, inherit);
    font-size: .66rem;
    white-space: nowrap;
}
.hour-timeline-count[b-u2d5g3rl20] { flex-shrink: 0; padding: 0 .3rem; border-radius: 999px; color: #fff; font-size: .56rem; font-weight: 700; }
/* /Components/Partials/Operations/OperationDayStrip.razor.rz.scp.css */
/* Day strip — the same squares as the Block Reserve Queue. Theme variables are --osen-*, not --bs-*. */
.ds[b-im2qehlgq1] {
    min-width: 0;
}

.ds-summary[b-im2qehlgq1] {
    margin-bottom: 0.3rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.ds-summary.warn[b-im2qehlgq1] { color: var(--osen-warning); font-weight: 600; }
.ds-summary.info[b-im2qehlgq1] { color: var(--osen-info); }
.ds-summary.ok[b-im2qehlgq1] { color: var(--osen-success); }

.ds-days[b-im2qehlgq1] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 5px;
}

/* One column per service day; several tasks on a day stack up. */
.ds-day[b-im2qehlgq1] {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
}

.ds-sq[b-im2qehlgq1] {
    display: inline-block;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 0.22rem;
    background: var(--osen-tertiary-bg);
}

.ds-sq.open[b-im2qehlgq1] { background: transparent; box-shadow: inset 0 0 0 2px var(--osen-warning); }
.ds-sq.draft[b-im2qehlgq1] { background: transparent; box-shadow: inset 0 0 0 2px var(--osen-secondary-color); opacity: 0.6; }
.ds-sq.wait[b-im2qehlgq1] { background: color-mix(in srgb, var(--osen-info) 45%, transparent); }
.ds-sq.shift[b-im2qehlgq1] { background: var(--osen-primary); }
.ds-sq.done[b-im2qehlgq1] { background: var(--osen-success); }
.ds-sq.cancel[b-im2qehlgq1] { background: color-mix(in srgb, var(--osen-danger) 30%, transparent); }

.ds-more[b-im2qehlgq1] {
    font-size: 0.7rem;
    color: var(--osen-secondary-color);
}

.ds-legend[b-im2qehlgq1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.9rem;
    font-size: 0.72rem;
    color: var(--osen-secondary-color);
}

.ds-legend > span[b-im2qehlgq1] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
/* /Components/Partials/Operations/OperationFacts.razor.rz.scp.css */
/* Operation facts line. Theme variables are --osen-*, not --bs-*. */
.of[b-5avjldvjjb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    min-width: 0;
}

.of:empty[b-5avjldvjjb] {
    display: none;
}

.of-chip[b-5avjldvjjb] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    max-width: 14rem;
    padding: 0.02rem 0.45rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.7rem;
    color: var(--osen-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.of-chip > .ti[b-5avjldvjjb] {
    font-size: 0.8rem;
}

.of-chip.product[b-5avjldvjjb] {
    background: color-mix(in srgb, var(--osen-info) 12%, transparent);
    color: var(--osen-info);
}

.of-chip.req[b-5avjldvjjb] {
    background: color-mix(in srgb, #fd7e14 13%, transparent);
    color: #fd7e14;
}
/* /Components/Partials/Partners/ApiKeyManagement.razor.rz.scp.css */
/* Public API key on a partner (Trip Desk UI). */
.ak-key[b-q3vnmayifh] { min-width: 0; }
.ak-facts[b-q3vnmayifh] { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: .4rem .5rem; margin: 0; font-size: .8125rem; }
.ak-facts dt[b-q3vnmayifh] { color: var(--td-muted); font-weight: 400; }
.ak-facts dd[b-q3vnmayifh] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }
/* /Components/Partials/Partners/PartnerEmailsTab.razor.rz.scp.css */
/* Partner emails (Trip Desk UI): a failed send says why, kept to one line. */
.em-err[b-ydi4dnvqiw] { color: var(--td-danger-ink) !important; max-width: 16rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* /Components/Partials/Partners/PartnerForm.razor.rz.scp.css */
/* The partner form on Trip Desk UI: the few things td-ui.css doesn't have (same as ProjectForm). */

/* A value that can't be changed here, shown where its field would be. */
.pf-fixed[b-3mie5yjpwc] { display: flex; align-items: center; gap: .4rem; min-height: 2.25rem; padding: .375rem .75rem; border: 1px dashed var(--td-border); border-radius: var(--td-radius-md); font-weight: 600; color: var(--td-emphasis); }
.pf-fixed .ti[b-3mie5yjpwc] { color: var(--td-muted); font-weight: 400; }

/* Save and Discard at the foot of the form, on the right; the fix-fields banner on the left. */
.pf-foot[b-3mie5yjpwc] { flex-direction: row; justify-content: flex-end; align-items: center; gap: .5rem; flex-wrap: wrap; }

/* Summary facts in the side panel. */
.pf-facts[b-3mie5yjpwc] { display: grid; grid-template-columns: max-content 1fr; gap: .35rem .9rem; margin: 0; font-size: .8125rem; }
.pf-facts dt[b-3mie5yjpwc] { font-weight: 500; color: var(--td-muted); }
.pf-facts dd[b-3mie5yjpwc] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

/* Ready to save? */
.pf-check[b-3mie5yjpwc] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; font-size: .8125rem; color: var(--td-muted); }
.pf-check li[b-3mie5yjpwc] { display: flex; align-items: center; gap: .45rem; }
.pf-check li .ti[b-3mie5yjpwc] { font-size: 1rem; }
.pf-check li.is-done[b-3mie5yjpwc] { color: var(--td-emphasis); }
.pf-check li.is-done .ti[b-3mie5yjpwc] { color: var(--td-success-ink); }
/* /Components/Partials/Partners/PartnerPriceTierCard.razor.rz.scp.css */
/* Price tier on a partner (Trip Desk UI). */
.tier-select[b-7quk3463db] { min-width: 16rem; }
/* /Components/Partials/Partners/SupplierPartnerProfileTab.razor.rz.scp.css */
/* The supplier's side of a partner on Trip Desk UI. */

/* Settlement figures side by side. */
.st-stats[b-njxhmzlvn3] { display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: .5rem; }
.v.st-warn[b-njxhmzlvn3] { color: var(--td-warning-ink); }
.st-ok[b-njxhmzlvn3] { color: var(--td-success-ink) !important; }
.st-em[b-njxhmzlvn3] { color: var(--td-emphasis); font-weight: 500; }
.st-search[b-njxhmzlvn3] { width: 16rem; max-width: 100%; }
/* /Components/Partials/Pricing/TaskCostSummary.razor.rz.scp.css */
/* Matches the task's Price Summary (TaskDetail.razor.css), which is scoped to that page. */
.task-cost[b-8lzldpqzgi] {
    display: grid;
    gap: .1rem;
    padding: .25rem 0;
}

.task-cost-row[b-8lzldpqzgi] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    min-height: 1.75rem;
    color: var(--bs-secondary-color);
    font-size: .84rem;
}

.task-cost-row strong[b-8lzldpqzgi] {
    color: var(--bs-emphasis-color);
    font-weight: 600;
    white-space: nowrap;
}

.task-cost-row.is-resource[b-8lzldpqzgi] {
    align-items: flex-start;
    padding: .2rem 0;
}

.task-cost-who[b-8lzldpqzgi] {
    min-width: 0;
    color: var(--bs-emphasis-color);
}

.task-cost-row.is-cost[b-8lzldpqzgi] {
    margin-top: .2rem;
    padding-top: .55rem;
    border-top: 1px solid var(--bs-border-color);
}

.task-cost-row.is-margin[b-8lzldpqzgi] {
    min-height: 2.4rem;
    margin-top: .35rem;
    padding-top: .7rem;
    border-top: 1px solid var(--bs-border-color);
    color: var(--bs-emphasis-color);
    font-weight: 700;
}

.task-cost-row.is-margin strong[b-8lzldpqzgi] {
    font-size: 1.05rem;
    font-weight: 750;
}
/* /Components/Partials/ProductContainers/ContainerForm.razor.rz.scp.css */
/* The container form on Trip Desk UI: the few things td-ui.css doesn't have. */

/* Number: the live "Free" / "Taken" sits inside the field, on the right. */
.cf-num[b-rpzz20vr37]  input { padding-right: 4.75rem; }
.cf-num-state[b-rpzz20vr37] { position: absolute; top: 50%; right: .65rem; transform: translateY(-50%); font-size: .8125rem; font-weight: 600; color: var(--td-muted); }
.cf-num-state .ti[b-rpzz20vr37] { margin-right: .2rem; }
.cf-ok[b-rpzz20vr37] { color: var(--td-success-ink); }
.cf-bad[b-rpzz20vr37] { color: var(--td-danger-ink); }
.cf-em[b-rpzz20vr37] { color: var(--td-emphasis); }

/* Product lines: the table reads as part of the section, with a frame of its own rules only. */
.cf-lines[b-rpzz20vr37] { border-top: 1px solid var(--td-border); border-bottom: 1px solid var(--td-border); margin: 0 -1.1rem; }
.cf-lines input[b-rpzz20vr37] { max-width: 5.5rem; margin-left: auto; }

/* How a line counts: three switches that read as pills. Off is quiet, on is the accent. */
.cf-tgs[b-rpzz20vr37] { gap: .25rem; }
.cf-tg[b-rpzz20vr37] { display: inline-flex; align-items: center; font: inherit; font-size: .75rem; line-height: 1rem; font-weight: 500; padding: .125rem .5rem; border-radius: var(--td-radius-sm); border: 1px solid var(--td-border); background: var(--td-surface); color: var(--td-muted); cursor: pointer; white-space: nowrap; }
.cf-tg:hover[b-rpzz20vr37] { color: var(--td-emphasis); }
.cf-tg.is-on[b-rpzz20vr37] { background: var(--td-primary-soft); border-color: transparent; color: var(--td-primary); }
.cf-tg:focus-visible[b-rpzz20vr37] { outline: none; box-shadow: var(--td-shadow-ring); }

/* What the vehicle and crew need: pills with a remove cross, and a small Change button. */
.cf-needs[b-rpzz20vr37] { gap: .375rem; }
.cf-pill-x[b-rpzz20vr37] { border: 0; background: transparent; padding: 0 0 0 .25rem; color: inherit; opacity: .7; cursor: pointer; line-height: 1; }
.cf-pill-x:hover[b-rpzz20vr37] { opacity: 1; }
.cf-sm[b-rpzz20vr37] { min-height: 1.75rem; padding: 0 .625rem; font-size: .8125rem; }

/* Save and Discard at the foot, on the right; the banner takes the room to their left. */
.cf-foot[b-rpzz20vr37] { flex-direction: row; justify-content: flex-end; align-items: center; gap: .5rem; flex-wrap: wrap; }

/* Side panel: From / Time tiles, and a table that runs to the panel's edges. */
.cf-tiles[b-rpzz20vr37] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.cf-flush[b-rpzz20vr37] { padding-left: 0; padding-right: 0; padding-bottom: 0; }
.cf-pad[b-rpzz20vr37] { padding: 0 1.1rem; }
.cf-last[b-rpzz20vr37] { padding-bottom: 1rem; }
.cf-muted-spin[b-rpzz20vr37] { color: var(--td-muted); }

/* Ready to save? */
.cf-check[b-rpzz20vr37] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; font-size: .8125rem; color: var(--td-muted); }
.cf-check li[b-rpzz20vr37] { display: flex; align-items: center; gap: .45rem; }
.cf-check li .ti[b-rpzz20vr37] { font-size: 1rem; }
.cf-check li.is-done[b-rpzz20vr37] { color: var(--td-emphasis); }
.cf-check li.is-done .ti[b-rpzz20vr37] { color: var(--td-success-ink); }
/* /Components/Partials/ProductContainers/PropertyRequirementsOffcanvas.razor.rz.scp.css */
/* What the vehicle and crew need, as a Trip Desk UI side sheet. */
.prq[b-lj9h8uu0q7] { max-width: 100vw; background: var(--td-surface); }
.prq-head[b-lj9h8uu0q7] { border-bottom: 1px solid var(--td-border); }
.prq-title[b-lj9h8uu0q7] { margin: 0; font-size: 1rem; font-weight: 600; color: var(--td-emphasis); }
.prq-name[b-lj9h8uu0q7] { color: var(--td-emphasis); }
/* The ruled rows run on from the tabs. */
.prq .td-sec + .td-sec[b-lj9h8uu0q7], .prq .td-empty + .td-sec[b-lj9h8uu0q7] { border-top: 1px solid var(--td-border); }
.prq-foot[b-lj9h8uu0q7] { display: flex; justify-content: flex-end; gap: .5rem; padding: .75rem 1.1rem; border-top: 1px solid var(--td-border); }
/* /Components/Partials/Products/CatalogueTabs.razor.rz.scp.css */
/* td-seg styles buttons; these are links, so give them the same shape. */
.cat-tab[b-zjq7774j8g] { display: inline-flex; align-items: center; gap: .35rem; min-height: 1.875rem; padding: 0 .75rem; font-size: .8125rem; font-weight: 500; color: var(--td-muted); text-decoration: none; }
.cat-tab + .cat-tab[b-zjq7774j8g] { border-left: 1px solid var(--td-border); }
.cat-tab:hover[b-zjq7774j8g] { color: var(--td-emphasis); }
.cat-tab.is-on[b-zjq7774j8g] { background: var(--td-primary-soft); color: var(--td-primary); font-weight: 600; }
.cat-tab:focus-visible[b-zjq7774j8g] { outline: none; box-shadow: inset var(--td-shadow-ring); }
/* /Components/Partials/Products/ProductForm.razor.rz.scp.css */
/* The product form on Trip Desk UI: the few things td-ui.css doesn't have. */

/* A value that can't be changed here, shown where its field would be. */
.pf-fixed[b-v807ef884c] { display: flex; align-items: center; gap: .4rem; min-height: 2.25rem; padding: .375rem .75rem; border: 1px dashed var(--td-border); border-radius: var(--td-radius-md); font-weight: 600; color: var(--td-emphasis); }
.pf-fixed .ti[b-v807ef884c] { color: var(--td-muted); font-weight: 400; }

/* "Free" / "Taken" inside the code field, on the right. */
.pf-code-state[b-v807ef884c] { position: absolute; top: 50%; right: .6rem; transform: translateY(-50%); display: inline-flex; align-items: center; font-size: .8125rem; font-weight: 600; pointer-events: none; }
.pf-code-state .ti[b-v807ef884c] { margin-right: .2rem; }
[b-v807ef884c] .pf-code-input { padding-right: 5rem; }
.pf-ok[b-v807ef884c] { color: var(--td-success-ink); }
.pf-bad[b-v807ef884c] { color: var(--td-danger-ink); }

/* Properties: one row per property (name, value, remove), divided by the panel's rules, not cards. */
.pf-props[b-v807ef884c]  .card { border: 0; border-top: 1px solid var(--td-border); border-radius: 0; box-shadow: none; background: transparent; margin-bottom: 0 !important; }
.pf-props[b-v807ef884c]  .card-body { padding: .6rem 0 !important; }
.pf-props[b-v807ef884c]  .card-body .flex-grow-1 { display: grid; grid-template-columns: minmax(7rem, 11rem) minmax(0, 1fr); column-gap: 1rem; row-gap: .25rem; align-items: center; }
.pf-props[b-v807ef884c]  .card-body .flex-grow-1 > h6 { grid-column: 1; grid-row: 1 / span 2; margin: 0 !important; font-size: .8125rem; font-weight: 500; color: var(--td-muted); }
.pf-props[b-v807ef884c]  .card-body .flex-grow-1 > :not(h6) { grid-column: 2; margin-bottom: 0 !important; }
.pf-props[b-v807ef884c]  .property-assignments { margin-bottom: .5rem; }
.pf-props[b-v807ef884c]  label.fs-6 { font-size: .8125rem !important; font-weight: 500 !important; color: var(--td-emphasis); }

/* Save and Discard at the foot of the form, on the right. */
.pf-foot[b-v807ef884c] { flex-direction: row; justify-content: flex-end; align-items: center; gap: .5rem; }

.pf-summary-text[b-v807ef884c] { font-size: .8125rem; overflow-wrap: anywhere; }

/* Ready to save? */
.pf-check[b-v807ef884c] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; font-size: .8125rem; color: var(--td-muted); }
.pf-check li[b-v807ef884c] { display: flex; align-items: center; gap: .45rem; }
.pf-check li .ti[b-v807ef884c] { font-size: 1rem; }
.pf-check li.is-done[b-v807ef884c] { color: var(--td-emphasis); }
.pf-check li.is-done .ti[b-v807ef884c] { color: var(--td-success-ink); }
/* /Components/Partials/Products/ProductRateEditor.razor.rz.scp.css */
/* The price editor in the product page's side panel: what td-ui.css doesn't have. */

/* The fields stack with the section's own rhythm. EditForm renders the <form>, hence ::deep. */
[b-iavmxyc551] .pe-form { display: flex; flex-direction: column; gap: .75rem; }

/* From and To side by side; the picker's own wrapper is a bootstrap column, made full width. */
.pe-two[b-iavmxyc551] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.pe-two[b-iavmxyc551]  .col-sm-auto { width: 100%; }

/* What is being changed, in change mode. */
.pe-facts[b-iavmxyc551] { display: grid; grid-template-columns: max-content 1fr; gap: .35rem .9rem; margin: 0; font-size: .8125rem; }
.pe-facts dt[b-iavmxyc551] { font-weight: 500; color: var(--td-muted); }
.pe-facts dd[b-iavmxyc551] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

/* Remove on the left, Discard and Save on the right. */
.pe-foot[b-iavmxyc551] { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; flex-wrap: wrap; }
/* /Components/Partials/Products/ProductTypesManager.razor.rz.scp.css */
/* Theme variables are --osen-*, not --bs-*.
   Every row is the same grid: columns when there's room (the page), stacked when there
   isn't (the offcanvas). A container query, so it follows the component's width. */
.pt[b-59eqcjtm3n] {
    container-type: inline-size;
}

.pt-list[b-59eqcjtm3n] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    overflow: hidden;
}

.pt-row[b-59eqcjtm3n] {
    display: grid;
    grid-template-columns: minmax(9rem, 13rem) minmax(0, 1fr) 11rem 4.5rem;
    grid-template-areas: "name desc count actions";
    align-items: center;
    column-gap: 1rem;
    row-gap: 0.35rem;
    padding: 0.7rem 1rem;
}

.pt-row + .pt-row[b-59eqcjtm3n],
.pt-row + .pt-empty[b-59eqcjtm3n] {
    border-top: 1px solid var(--osen-border-color);
}

.pt-name[b-59eqcjtm3n] { grid-area: name; min-width: 0; }
.pt-desc[b-59eqcjtm3n] { grid-area: desc; min-width: 0; }
.pt-count[b-59eqcjtm3n] { grid-area: count; min-width: 0; }
.pt-actions[b-59eqcjtm3n] { grid-area: actions; display: flex; justify-content: flex-end; gap: 0.25rem; }

.pt-head[b-59eqcjtm3n] {
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--osen-secondary-color);
    background: var(--osen-tertiary-bg);
}

/* The add row spans description + products, so its inputs line up with the columns below. */
.pt-add[b-59eqcjtm3n] {
    grid-template-areas: "name desc desc actions";
}

.pt-editing[b-59eqcjtm3n] {
    background: color-mix(in srgb, var(--osen-primary) 6%, transparent);
}

.pt-row:not(.pt-head):not(.pt-add):not(.pt-editing):hover[b-59eqcjtm3n] {
    background: color-mix(in srgb, var(--osen-tertiary-bg) 60%, transparent);
}

.pt-bar[b-59eqcjtm3n] {
    height: 4px;
    margin-top: 0.3rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    overflow: hidden;
}

.pt-bar > span[b-59eqcjtm3n] {
    display: block;
    height: 100%;
    min-width: 3px;
    border-radius: 999px;
    background: var(--osen-primary);
}

.pt-act[b-59eqcjtm3n] {
    width: 1.9rem;
    height: 1.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0.4rem;
    background: transparent;
    color: var(--osen-secondary-color);
    font-size: 1rem;
}

.pt-act:hover:not(:disabled):not(.pt-act-locked)[b-59eqcjtm3n] {
    background: var(--osen-tertiary-bg);
    color: var(--osen-body-color);
}

.pt-act:disabled[b-59eqcjtm3n] {
    opacity: 0.45;
}

.pt-act-danger:hover:not(:disabled)[b-59eqcjtm3n] {
    color: var(--osen-danger);
    background: color-mix(in srgb, var(--osen-danger) 12%, transparent);
}

.pt-act-save[b-59eqcjtm3n] {
    color: var(--osen-success);
}

.pt-act-locked[b-59eqcjtm3n] {
    opacity: 0.4;
    cursor: help;
}

.pt-empty[b-59eqcjtm3n] {
    padding: 1.75rem 1rem;
    text-align: center;
    color: var(--osen-secondary-color);
}

/* Narrow (the offcanvas): name + actions on one line, description and count under it. */
@container (max-width: 40rem) {
    .pt-head[b-59eqcjtm3n] {
        display: none;
    }

    .pt-row[b-59eqcjtm3n] {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "name actions"
            "desc desc"
            "count count";
    }

    .pt-add[b-59eqcjtm3n] {
        grid-template-areas:
            "name actions"
            "desc desc";
    }

    .pt-row + .pt-row[b-59eqcjtm3n] {
        border-top: 1px solid var(--osen-border-color);
    }

    .pt-bar[b-59eqcjtm3n] {
        max-width: 12rem;
    }
}
/* /Components/Partials/Products/ProductTypesOffcanvas.razor.rz.scp.css */
.product-types-oc[b-x4s2merp3v] {
    width: 440px;
    max-width: 100vw;
}
/* /Components/Partials/Projects/ProjectForm.razor.rz.scp.css */
/* The project form on Trip Desk UI: the few things td-ui.css doesn't have. */

/* A value that can't be changed here, shown where its field would be. */
.pf-fixed[b-do9xcv0q60] { display: flex; align-items: center; gap: .4rem; min-height: 2.25rem; padding: .375rem .75rem; border: 1px dashed var(--td-border); border-radius: var(--td-radius-md); font-weight: 600; color: var(--td-emphasis); }
.pf-fixed .ti[b-do9xcv0q60] { color: var(--td-muted); font-weight: 400; }

.pf-ok[b-do9xcv0q60] { color: var(--td-success-ink); }
.pf-bad[b-do9xcv0q60] { color: var(--td-danger-ink); }
.pf-em[b-do9xcv0q60] { color: var(--td-emphasis); }

/* Departments: two columns of tick rows on a wide screen. */
.pf-depts[b-do9xcv0q60] { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); column-gap: 1.5rem; }

/* Save and Discard at the foot of the form, on the right. */
.pf-foot[b-do9xcv0q60] { flex-direction: row; justify-content: flex-end; align-items: center; gap: .5rem; }

/* Summary facts in the side panel. */
.pf-facts[b-do9xcv0q60] { display: grid; grid-template-columns: max-content 1fr; gap: .35rem .9rem; margin: 0; font-size: .8125rem; }
.pf-facts dt[b-do9xcv0q60] { font-weight: 500; color: var(--td-muted); }
.pf-facts dd[b-do9xcv0q60] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

/* Ready to save? */
.pf-check[b-do9xcv0q60] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; font-size: .8125rem; color: var(--td-muted); }
.pf-check li[b-do9xcv0q60] { display: flex; align-items: center; gap: .45rem; }
.pf-check li .ti[b-do9xcv0q60] { font-size: 1rem; }
.pf-check li.is-done[b-do9xcv0q60] { color: var(--td-emphasis); }
.pf-check li.is-done .ti[b-do9xcv0q60] { color: var(--td-success-ink); }
/* /Components/Partials/Reports/ReportPeriodChip.razor.rz.scp.css */
/* The quick periods in the chip's popover; the picked one in the accent. */
.rp-menu[b-wu22s9ubb9] { padding: 0; min-width: 14rem; }
.rp-menu button[b-wu22s9ubb9] { justify-content: space-between; }
.rp-menu button.is-on[b-wu22s9ubb9] { font-weight: 600; color: var(--td-primary); }
/* /Components/Partials/Reports/ResourceReportsList.razor.rz.scp.css */
/* Reports from the crew — rows in the To act on look. Theme variables are --osen-*, not --bs-*. */
.rr-empty[b-3ndjsdqnd3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 1.75rem 1rem;
    font-size: 0.85rem;
    color: var(--osen-secondary-color);
}

.rr-empty > .ti[b-3ndjsdqnd3] { font-size: 1.8rem; }

.rr-list[b-3ndjsdqnd3] {
    padding: 0.6rem 1rem 0.75rem;
}

/* mark · icon · content · action */
.rr-item[b-3ndjsdqnd3] {
    display: grid;
    grid-template-columns: 4px 2rem minmax(0, 1fr) auto;
    gap: 0.7rem;
    align-items: start;
    padding: 0.55rem 0.75rem 0.55rem 0;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.5rem;
    background: var(--osen-secondary-bg);
    font-size: 0.85rem;
}

.rr-item + .rr-item[b-3ndjsdqnd3] { margin-top: 0.35rem; }

.rr-mark[b-3ndjsdqnd3] {
    align-self: stretch;
    margin-left: -1px;
    border-radius: 0.5rem 0 0 0.5rem;
    background: var(--osen-border-color);
}

.rr-item.open .rr-mark[b-3ndjsdqnd3] { background: var(--osen-danger); }
.rr-item.seen .rr-mark[b-3ndjsdqnd3] { background: var(--osen-warning); }
.rr-item.resolved .rr-mark[b-3ndjsdqnd3] { background: var(--osen-success); }
.rr-item.resolved > :not(.rr-mark)[b-3ndjsdqnd3] { opacity: 0.7; }

.rr-icon[b-3ndjsdqnd3] {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.45rem;
    background: color-mix(in srgb, var(--osen-primary) 12%, transparent);
    color: var(--osen-primary);
    font-size: 1rem;
}

.rr-head[b-3ndjsdqnd3] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.rr-type[b-3ndjsdqnd3] { font-weight: 600; }

.rr-when[b-3ndjsdqnd3] {
    margin-left: auto;
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
    color: var(--osen-secondary-color);
}

.rr-pill[b-3ndjsdqnd3] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.02rem 0.5rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--osen-secondary-color);
}

.rr-pill.open[b-3ndjsdqnd3] { background: color-mix(in srgb, var(--osen-danger) 14%, transparent); color: var(--osen-danger); font-weight: 600; }
.rr-pill.seen[b-3ndjsdqnd3] { background: color-mix(in srgb, var(--osen-warning) 18%, transparent); color: var(--osen-warning); font-weight: 600; }
.rr-pill.resolved[b-3ndjsdqnd3] { background: color-mix(in srgb, var(--osen-success) 14%, transparent); color: var(--osen-success); font-weight: 600; }
.rr-pill.orange[b-3ndjsdqnd3] { background: color-mix(in srgb, #fd7e14 16%, transparent); color: #fd7e14; }
.rr-pill.teal[b-3ndjsdqnd3] { background: color-mix(in srgb, #17a2b8 15%, transparent); color: #17a2b8; }

.rr-body[b-3ndjsdqnd3] {
    margin: 0.2rem 0;
    white-space: pre-wrap;
}

.rr-meta[b-3ndjsdqnd3] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.75rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
}

.rr-meta .ti[b-3ndjsdqnd3] { margin-right: 0.2rem; }
.rr-meta a[b-3ndjsdqnd3] { color: inherit; font-weight: 600; }
.rr-meta a:hover[b-3ndjsdqnd3] { color: var(--osen-primary); }

.rr-resolution[b-3ndjsdqnd3] {
    margin-top: 0.35rem;
    padding-left: 0.5rem;
    border-left: 2px solid var(--osen-success);
    font-size: 0.78rem;
    font-style: italic;
    color: var(--osen-secondary-color);
}
/* /Components/Partials/Resources/PersonAssignmentsPanel.razor.rz.scp.css */
/* Theme variables are --osen-*, not --bs-*. */
.pa-bar[b-iibrs0hdpz] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.pa-range[b-iibrs0hdpz] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.pa-range[b-iibrs0hdpz]  .mb-3 {
    margin-bottom: 0 !important;
}

.pa-count[b-iibrs0hdpz] {
    margin-left: auto;
    font-size: 0.8rem;
    color: var(--osen-secondary-color);
}

.pa-empty[b-iibrs0hdpz] {
    padding: 2.5rem 1rem;
    text-align: center;
    color: var(--osen-secondary-color);
}

.pa-days[b-iibrs0hdpz] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pa-day[b-iibrs0hdpz] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    overflow: hidden;
}

.pa-day-head[b-iibrs0hdpz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.55rem 1rem;
    background: var(--osen-tertiary-bg);
    border-bottom: 1px solid var(--osen-border-color);
}

.pa-day-date[b-iibrs0hdpz] {
    font-weight: 600;
    font-size: 0.875rem;
}

.pa-rel[b-iibrs0hdpz] {
    margin-left: 0.5rem;
    font-size: 0.72rem;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    background: var(--osen-secondary-bg);
    color: var(--osen-secondary-color);
}

.pa-rel-today[b-iibrs0hdpz] {
    background: color-mix(in srgb, var(--osen-primary) 18%, transparent);
    color: var(--osen-primary);
    font-weight: 600;
}

.pa-day-meta[b-iibrs0hdpz] {
    font-size: 0.78rem;
    color: var(--osen-secondary-color);
}

.pa-row[b-iibrs0hdpz] {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr) 13rem 10rem 8.5rem;
    gap: 1rem;
    align-items: center;
    padding: 0.75rem 1rem;
}

.pa-row + .pa-row[b-iibrs0hdpz] {
    border-top: 1px solid var(--osen-border-color);
}

.pa-row:hover[b-iibrs0hdpz] {
    background: color-mix(in srgb, var(--osen-tertiary-bg) 55%, transparent);
}

/* A reservation isn't on a shift yet: a quieter row. */
.pa-reserved .pa-start[b-iibrs0hdpz],
.pa-reserved .pa-title[b-iibrs0hdpz] {
    opacity: 0.8;
}

.pa-time[b-iibrs0hdpz] {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.pa-start[b-iibrs0hdpz] {
    font-size: 1.05rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.pa-end[b-iibrs0hdpz] {
    font-size: 0.78rem;
    color: var(--osen-secondary-color);
    font-variant-numeric: tabular-nums;
}

.pa-main[b-iibrs0hdpz] {
    min-width: 0;
}

.pa-title[b-iibrs0hdpz] {
    display: block;
    font-weight: 600;
    color: var(--osen-body-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pa-title:hover[b-iibrs0hdpz] {
    color: var(--osen-primary);
}

.pa-sub[b-iibrs0hdpz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.78rem;
    color: var(--osen-secondary-color);
    margin-top: 0.1rem;
}

.pa-who[b-iibrs0hdpz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.pa-plate[b-iibrs0hdpz] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    padding: 0.15rem 0.5rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.35rem;
}

.pa-hours[b-iibrs0hdpz] {
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
}

.pa-actual[b-iibrs0hdpz] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--osen-success);
    font-weight: 500;
}

.pa-dur[b-iibrs0hdpz] {
    font-weight: 600;
}

.pa-dur span[b-iibrs0hdpz] {
    font-weight: 500;
    margin-left: 0.25rem;
}

.pa-note[b-iibrs0hdpz] {
    font-size: 0.72rem;
    color: var(--osen-secondary-color);
}

.pa-status[b-iibrs0hdpz] {
    text-align: right;
}

@media (max-width: 1199.98px) {
    .pa-row[b-iibrs0hdpz] {
        grid-template-columns: 4rem minmax(0, 1fr) auto;
        grid-template-areas:
            "time main status"
            "time who hours";
    }

    .pa-time[b-iibrs0hdpz] { grid-area: time; align-self: start; }
    .pa-main[b-iibrs0hdpz] { grid-area: main; }
    .pa-who[b-iibrs0hdpz] { grid-area: who; }
    .pa-hours[b-iibrs0hdpz] { grid-area: hours; text-align: right; }
    .pa-status[b-iibrs0hdpz] { grid-area: status; }
}
/* /Components/Partials/Resources/PersonHoursPanel.razor.rz.scp.css */
/* Theme variables are --osen-*, not --bs-*. */
.ph-bar[b-nx734ahl5t] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.ph-month[b-nx734ahl5t] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border: 1px solid var(--osen-border-color);
    border-radius: 0.5rem;
    padding: 0.15rem;
}

.ph-nav[b-nx734ahl5t] {
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 0.4rem;
    background: transparent;
    color: var(--osen-secondary-color);
}

.ph-nav:hover[b-nx734ahl5t] {
    background: var(--osen-tertiary-bg);
    color: var(--osen-body-color);
}

.ph-month-name[b-nx734ahl5t] {
    min-width: 9.5rem;
    text-align: center;
    font-weight: 600;
}

.ph-stats[b-nx734ahl5t] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.ph-stat[b-nx734ahl5t] {
    padding: 0.85rem 1rem;
    border-radius: 0.6rem;
    background: var(--osen-tertiary-bg);
}

.ph-stat-label[b-nx734ahl5t] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--osen-secondary-color);
}

.ph-stat-value[b-nx734ahl5t] {
    font-size: 1.35rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    margin-top: 0.15rem;
}

.ph-of[b-nx734ahl5t] {
    font-size: 0.8rem;
    font-weight: 400;
    color: var(--osen-secondary-color);
}

.ph-stat-note[b-nx734ahl5t] {
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
    margin-top: 0.1rem;
}

.ph-table[b-nx734ahl5t] {
    border: 1px solid var(--osen-border-color);
    border-radius: 0.6rem;
    overflow: hidden;
}

.ph-row[b-nx734ahl5t] {
    display: grid;
    grid-template-columns: 3rem minmax(10rem, 1.4fr) minmax(7rem, 1fr) minmax(7rem, 1fr) 7rem 6rem 7.5rem;
    gap: 0.75rem;
    align-items: center;
    padding: 0.6rem 1rem;
    font-size: 0.82rem;
}

.ph-row + .ph-row[b-nx734ahl5t] {
    border-top: 1px solid var(--osen-border-color);
}

.ph-head[b-nx734ahl5t] {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--osen-secondary-color);
    background: var(--osen-tertiary-bg);
}

.ph-today[b-nx734ahl5t] {
    background: color-mix(in srgb, var(--osen-primary) 6%, transparent);
}

.ph-total[b-nx734ahl5t] {
    font-weight: 600;
    background: var(--osen-tertiary-bg);
}

.ph-day[b-nx734ahl5t] {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.05;
}

.ph-dow[b-nx734ahl5t] {
    font-size: 0.68rem;
    text-transform: uppercase;
    color: var(--osen-secondary-color);
}

.ph-dom[b-nx734ahl5t] {
    font-size: 1.1rem;
    font-weight: 600;
}

.ph-num[b-nx734ahl5t] {
    font-variant-numeric: tabular-nums;
}

.ph-sub[b-nx734ahl5t] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    color: var(--osen-secondary-color);
    margin-top: 0.15rem;
}

.ph-empty[b-nx734ahl5t] {
    padding: 2.5rem 1rem;
    text-align: center;
    color: var(--osen-secondary-color);
}

.ph-help[b-nx734ahl5t] {
    margin-top: 0.85rem;
    font-size: 0.78rem;
    color: var(--osen-secondary-color);
    max-width: 80ch;
}

@media (max-width: 991.98px) {
    .ph-stats[b-nx734ahl5t] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ph-head[b-nx734ahl5t] {
        display: none;
    }

    .ph-row[b-nx734ahl5t] {
        grid-template-columns: 3rem minmax(0, 1fr) auto;
    }

    /* Narrow: day, shift and status; the times stack underneath. */
    .ph-row > :nth-child(3)[b-nx734ahl5t],
    .ph-row > :nth-child(4)[b-nx734ahl5t],
    .ph-row > :nth-child(5)[b-nx734ahl5t],
    .ph-row > :nth-child(6)[b-nx734ahl5t] {
        grid-column: 2 / span 2;
    }
}
/* /Components/Partials/Tables/ContractTable.razor.rz.scp.css */
/* Contracts on a partner (Trip Desk UI). */
.ct-search[b-kmwbis7bkh] { width: 14rem; max-width: 100%; }
/* /Components/Partials/Tables/DepartmentTable.razor.rz.scp.css */
/* Departments on a partner (Trip Desk UI). */
.dt-tight[b-4i0nzsng49] { gap: .35rem; }
/* A small button in a table row. */
.dt-sm[b-4i0nzsng49] { min-height: 1.875rem; font-size: .8125rem; padding: 0 .7rem; }
/* /Components/Partials/Tables/PartnerOperationsTable.razor.rz.scp.css */
/* Operations on a partner (Trip Desk UI). */
.po-search[b-q77dj1zy1w] { width: 16rem; max-width: 100%; }
/* The chosen status in the chip menu. */
.po-on[b-q77dj1zy1w] { font-weight: 600; color: var(--td-primary) !important; }
/* /Components/Partials/Tables/PartnerProjectsTable.razor.rz.scp.css */
/* Projects on a partner (Trip Desk UI). */
.pj-search[b-uo4fmhywcl] { width: 16rem; max-width: 100%; }
/* /Components/Partials/Telematics/DriverDayReportCard.razor.rz.scp.css */
/*
    Driving panels (Driver report, Guide report, Task status from the vehicle): a collapsible panel
    in the To act on look, as on the shift page.

    The same tp-* rules live in DriverDayReportCard, GuideTimesheetCard and VehicleStatusCheckCard
    .razor.css. Duplicated because Blazor scopes component CSS; keep the three in step by hand.
    Theme variables are --osen-*, not --bs-*: a var(--bs-...) resolves to nothing.
*/

.tp-panel[b-iln9oogyg9] {
    border: 1px solid var(--osen-border-color);
    border-radius: .6rem;
    background: var(--osen-secondary-bg);
}

.tp-head[b-iln9oogyg9] {
    display: flex;
    align-items: center;
    gap: .7rem;
    width: 100%;
    padding: .7rem 1rem;
    border: 0;
    border-radius: .6rem;
    background: transparent;
    color: var(--osen-body-color);
    text-align: left;
}

.tp-head[aria-expanded="true"][b-iln9oogyg9] {
    border-bottom: 1px solid var(--osen-border-color);
    border-radius: .6rem .6rem 0 0;
}

.tp-icon[b-iln9oogyg9] {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .45rem;
    font-size: 1.05rem;
}

.tp-icon.primary[b-iln9oogyg9] { background: color-mix(in srgb, var(--osen-primary) 14%, transparent); color: var(--osen-primary); }
.tp-icon.success[b-iln9oogyg9] { background: color-mix(in srgb, var(--osen-success) 14%, transparent); color: var(--osen-success); }
.tp-icon.warning[b-iln9oogyg9] { background: color-mix(in srgb, var(--osen-warning) 18%, transparent); color: var(--osen-warning); }

.tp-heading[b-iln9oogyg9] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-width: 0;
}

.tp-title[b-iln9oogyg9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    font-weight: 600;
}

.tp-note[b-iln9oogyg9] {
    font-size: .75rem;
    color: var(--osen-secondary-color);
}

.tp-state[b-iln9oogyg9] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    flex-shrink: 0;
    font-size: .78rem;
    font-weight: 600;
    color: var(--osen-secondary-color);
}

.tp-head[aria-expanded="true"] .tp-state[b-iln9oogyg9],
.tp-head:hover .tp-state[b-iln9oogyg9] {
    color: var(--osen-primary);
}

.tp-body[b-iln9oogyg9] {
    padding: .85rem 1rem 1rem;
    font-size: .85rem;
}

.tp-empty[b-iln9oogyg9] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem 0;
    color: var(--osen-secondary-color);
}

.tp-muted[b-iln9oogyg9] {
    margin: 0 0 .5rem;
    color: var(--osen-secondary-color);
}

.tp-alert[b-iln9oogyg9] {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    padding: .55rem .75rem;
    border-radius: .5rem;
    background: color-mix(in srgb, var(--osen-warning) 12%, transparent);
}

.tp-alert > .ti[b-iln9oogyg9] { color: var(--osen-warning); margin-top: .1rem; }

.tp-chip[b-iln9oogyg9] {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    padding: .02rem .5rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: .72rem;
    font-weight: 600;
    color: var(--osen-secondary-color);
    white-space: nowrap;
}

.tp-chip.teal[b-iln9oogyg9] { background: color-mix(in srgb, #17a2b8 15%, transparent); color: #17a2b8; }
.tp-chip.orange[b-iln9oogyg9] { background: color-mix(in srgb, #fd7e14 16%, transparent); color: #fd7e14; }
.tp-chip.warn[b-iln9oogyg9] { background: color-mix(in srgb, var(--osen-warning) 18%, transparent); color: var(--osen-warning); }
.tp-chip.ok[b-iln9oogyg9] { background: color-mix(in srgb, var(--osen-success) 14%, transparent); color: var(--osen-success); }

/* Summary figures */
.tp-stats[b-iln9oogyg9] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
    gap: .5rem;
    margin-bottom: .75rem;
}

.tp-stat[b-iln9oogyg9] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: .5rem .7rem;
    border-radius: .5rem;
    background: var(--osen-tertiary-bg);
}

.tp-stat > span[b-iln9oogyg9] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--osen-secondary-color);
}

.tp-stat > strong[b-iln9oogyg9] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tp-stat > em[b-iln9oogyg9] {
    font-style: normal;
    font-size: .75rem;
    color: var(--osen-secondary-color);
}

.tp-toolbar[b-iln9oogyg9] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    margin-bottom: .4rem;
}

.tp-section[b-iln9oogyg9] {
    display: flex;
    align-items: center;
    gap: .3rem;
    margin-bottom: .35rem;
    font-size: .7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--osen-secondary-color);
}

.tp-toolbar > .tp-section[b-iln9oogyg9] { margin-bottom: 0; }

.tp-person[b-iln9oogyg9] {
    display: flex;
    align-items: center;
    gap: .4rem;
}

/* time · what · km */
.tp-line[b-iln9oogyg9] {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .4rem .6rem;
    border: 1px solid var(--osen-border-color);
    border-radius: .45rem;
}

.tp-line + .tp-line[b-iln9oogyg9] { margin-top: .3rem; }

.tp-line.other[b-iln9oogyg9] {
    border-style: dashed;
    color: var(--osen-secondary-color);
}

.tp-time[b-iln9oogyg9],
.tp-km[b-iln9oogyg9] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.tp-time[b-iln9oogyg9] { font-weight: 600; }

.tp-what[b-iln9oogyg9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    min-width: 0;
}

.tp-what > a[b-iln9oogyg9] { font-weight: 600; }

.tp-route[b-iln9oogyg9] { color: var(--osen-secondary-color); }

.tp-actual[b-iln9oogyg9] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.tp-actual em[b-iln9oogyg9],
.tp-sub[b-iln9oogyg9] {
    font-style: normal;
    font-size: .75rem;
    color: var(--osen-secondary-color);
}

.tp-sub-label[b-iln9oogyg9] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--osen-secondary-color);
}

.tp-sheet + .tp-sheet[b-iln9oogyg9] {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--osen-border-color);
}

/* mark · task · recorded · vehicle says · verdict */
.tp-check[b-iln9oogyg9] {
    display: grid;
    grid-template-columns: 4px minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.2fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .5rem .6rem .5rem 0;
    border: 1px solid var(--osen-border-color);
    border-radius: .5rem;
}

.tp-check + .tp-check[b-iln9oogyg9] { margin-top: .3rem; }

.tp-mark[b-iln9oogyg9] {
    align-self: stretch;
    margin-left: -1px;
    border-radius: .5rem 0 0 .5rem;
    background: var(--osen-border-color);
}

.tp-check.ok .tp-mark[b-iln9oogyg9] { background: var(--osen-success); }
.tp-check.warn .tp-mark[b-iln9oogyg9] { background: var(--osen-warning); }
.tp-check.orange .tp-mark[b-iln9oogyg9] { background: #fd7e14; }

@media (max-width: 767.98px) {
    .tp-line[b-iln9oogyg9] { grid-template-columns: minmax(0, 1fr) auto; }
    .tp-line > .tp-what[b-iln9oogyg9] { grid-column: 1 / -1; grid-row: 2; }

    .tp-check[b-iln9oogyg9] { grid-template-columns: 4px minmax(0, 1fr) auto; }
    .tp-check > div:nth-of-type(2)[b-iln9oogyg9],
    .tp-check > div:nth-of-type(3)[b-iln9oogyg9] { grid-column: 2; }
    .tp-mark[b-iln9oogyg9] { grid-row: span 3; }
}
/* /Components/Partials/Telematics/DriverDrivingPanel.razor.rz.scp.css */
.ddp-events[b-1reg1gsmoe] {
    max-height: 520px;
    overflow-y: auto;
}

.ddp-events thead[b-1reg1gsmoe] {
    position: sticky;
    top: 0;
    z-index: 1;
}
/* /Components/Partials/Telematics/DrivingOverviewPanel.razor.rz.scp.css */
/*
    Uses the theme's --osen-* tokens: this theme renames Bootstrap's --bs-* variables, so a
    var(--bs-...) resolves to nothing.
*/

.dov-tile[b-efap59vdvu] {
    height: 100%;
    padding: .6rem .75rem;
    border: 1px solid var(--osen-border-color);
    border-radius: var(--osen-card-border-radius, .75rem);
    background: var(--osen-secondary-bg, transparent);
}

.dov-tile.dov-alert[b-efap59vdvu] {
    border-color: var(--osen-danger);
}

.dov-tile.dov-warn[b-efap59vdvu] {
    border-color: var(--osen-warning);
}

.dov-label[b-efap59vdvu] {
    color: var(--osen-secondary-color);
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.dov-value[b-efap59vdvu] {
    font-size: 1.25rem;
    font-weight: 650;
    line-height: 1.4;
}

.dov-unit[b-efap59vdvu] {
    color: var(--osen-secondary-color);
    font-size: .8rem;
    font-weight: 500;
}

.dov-note[b-efap59vdvu] {
    color: var(--osen-secondary-color);
    font-size: .78rem;
}

.dov-legend[b-efap59vdvu] {
    display: inline-flex;
    gap: .75rem;
    color: var(--osen-secondary-color);
    font-size: .75rem;
}

.dov-dot[b-efap59vdvu] {
    display: inline-block;
    width: .6rem;
    height: .6rem;
    margin-right: .25rem;
    border-radius: 2px;
}

.dov-chart[b-efap59vdvu] {
    display: block;
    width: 100%;
    height: auto;
    max-height: 190px;
}

.dov-harsh[b-efap59vdvu] { fill: var(--osen-orange, #fd7e14); background: var(--osen-orange, #fd7e14); }
.dov-cab[b-efap59vdvu] { fill: var(--osen-danger); background: var(--osen-danger); }
.dov-close[b-efap59vdvu] { fill: var(--osen-purple, #6f42c1); background: var(--osen-purple, #6f42c1); }

.dov-axis[b-efap59vdvu] {
    stroke: var(--osen-border-color);
    stroke-width: 1;
}

.dov-fleet[b-efap59vdvu] {
    stroke: var(--osen-secondary-color);
    stroke-width: 1;
    stroke-dasharray: 4 3;
}

.dov-fleet-label[b-efap59vdvu],
.dov-tick[b-efap59vdvu] {
    fill: var(--osen-secondary-color);
    font-size: 10px;
}
/* /Components/Partials/Telematics/GuideTimesheetCard.razor.rz.scp.css */
/*
    Driving panels (Driver report, Guide report, Task status from the vehicle): a collapsible panel
    in the To act on look, as on the shift page.

    The same tp-* rules live in DriverDayReportCard, GuideTimesheetCard and VehicleStatusCheckCard
    .razor.css. Duplicated because Blazor scopes component CSS; keep the three in step by hand.
    Theme variables are --osen-*, not --bs-*: a var(--bs-...) resolves to nothing.
*/

.tp-panel[b-k13d50qnci] {
    border: 1px solid var(--osen-border-color);
    border-radius: .6rem;
    background: var(--osen-secondary-bg);
}

.tp-head[b-k13d50qnci] {
    display: flex;
    align-items: center;
    gap: .7rem;
    width: 100%;
    padding: .7rem 1rem;
    border: 0;
    border-radius: .6rem;
    background: transparent;
    color: var(--osen-body-color);
    text-align: left;
}

.tp-head[aria-expanded="true"][b-k13d50qnci] {
    border-bottom: 1px solid var(--osen-border-color);
    border-radius: .6rem .6rem 0 0;
}

.tp-icon[b-k13d50qnci] {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .45rem;
    font-size: 1.05rem;
}

.tp-icon.primary[b-k13d50qnci] { background: color-mix(in srgb, var(--osen-primary) 14%, transparent); color: var(--osen-primary); }
.tp-icon.success[b-k13d50qnci] { background: color-mix(in srgb, var(--osen-success) 14%, transparent); color: var(--osen-success); }
.tp-icon.warning[b-k13d50qnci] { background: color-mix(in srgb, var(--osen-warning) 18%, transparent); color: var(--osen-warning); }

.tp-heading[b-k13d50qnci] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-width: 0;
}

.tp-title[b-k13d50qnci] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    font-weight: 600;
}

.tp-note[b-k13d50qnci] {
    font-size: .75rem;
    color: var(--osen-secondary-color);
}

.tp-state[b-k13d50qnci] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    flex-shrink: 0;
    font-size: .78rem;
    font-weight: 600;
    color: var(--osen-secondary-color);
}

.tp-head[aria-expanded="true"] .tp-state[b-k13d50qnci],
.tp-head:hover .tp-state[b-k13d50qnci] {
    color: var(--osen-primary);
}

.tp-body[b-k13d50qnci] {
    padding: .85rem 1rem 1rem;
    font-size: .85rem;
}

.tp-empty[b-k13d50qnci] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem 0;
    color: var(--osen-secondary-color);
}

.tp-muted[b-k13d50qnci] {
    margin: 0 0 .5rem;
    color: var(--osen-secondary-color);
}

.tp-alert[b-k13d50qnci] {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    padding: .55rem .75rem;
    border-radius: .5rem;
    background: color-mix(in srgb, var(--osen-warning) 12%, transparent);
}

.tp-alert > .ti[b-k13d50qnci] { color: var(--osen-warning); margin-top: .1rem; }

.tp-chip[b-k13d50qnci] {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    padding: .02rem .5rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: .72rem;
    font-weight: 600;
    color: var(--osen-secondary-color);
    white-space: nowrap;
}

.tp-chip.teal[b-k13d50qnci] { background: color-mix(in srgb, #17a2b8 15%, transparent); color: #17a2b8; }
.tp-chip.orange[b-k13d50qnci] { background: color-mix(in srgb, #fd7e14 16%, transparent); color: #fd7e14; }
.tp-chip.warn[b-k13d50qnci] { background: color-mix(in srgb, var(--osen-warning) 18%, transparent); color: var(--osen-warning); }
.tp-chip.ok[b-k13d50qnci] { background: color-mix(in srgb, var(--osen-success) 14%, transparent); color: var(--osen-success); }

/* Summary figures */
.tp-stats[b-k13d50qnci] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
    gap: .5rem;
    margin-bottom: .75rem;
}

.tp-stat[b-k13d50qnci] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: .5rem .7rem;
    border-radius: .5rem;
    background: var(--osen-tertiary-bg);
}

.tp-stat > span[b-k13d50qnci] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--osen-secondary-color);
}

.tp-stat > strong[b-k13d50qnci] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tp-stat > em[b-k13d50qnci] {
    font-style: normal;
    font-size: .75rem;
    color: var(--osen-secondary-color);
}

.tp-toolbar[b-k13d50qnci] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    margin-bottom: .4rem;
}

.tp-section[b-k13d50qnci] {
    display: flex;
    align-items: center;
    gap: .3rem;
    margin-bottom: .35rem;
    font-size: .7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--osen-secondary-color);
}

.tp-toolbar > .tp-section[b-k13d50qnci] { margin-bottom: 0; }

.tp-person[b-k13d50qnci] {
    display: flex;
    align-items: center;
    gap: .4rem;
}

/* time · what · km */
.tp-line[b-k13d50qnci] {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .4rem .6rem;
    border: 1px solid var(--osen-border-color);
    border-radius: .45rem;
}

.tp-line + .tp-line[b-k13d50qnci] { margin-top: .3rem; }

.tp-line.other[b-k13d50qnci] {
    border-style: dashed;
    color: var(--osen-secondary-color);
}

.tp-time[b-k13d50qnci],
.tp-km[b-k13d50qnci] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.tp-time[b-k13d50qnci] { font-weight: 600; }

.tp-what[b-k13d50qnci] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    min-width: 0;
}

.tp-what > a[b-k13d50qnci] { font-weight: 600; }

.tp-route[b-k13d50qnci] { color: var(--osen-secondary-color); }

.tp-actual[b-k13d50qnci] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.tp-actual em[b-k13d50qnci],
.tp-sub[b-k13d50qnci] {
    font-style: normal;
    font-size: .75rem;
    color: var(--osen-secondary-color);
}

.tp-sub-label[b-k13d50qnci] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--osen-secondary-color);
}

.tp-sheet + .tp-sheet[b-k13d50qnci] {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--osen-border-color);
}

/* mark · task · recorded · vehicle says · verdict */
.tp-check[b-k13d50qnci] {
    display: grid;
    grid-template-columns: 4px minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.2fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .5rem .6rem .5rem 0;
    border: 1px solid var(--osen-border-color);
    border-radius: .5rem;
}

.tp-check + .tp-check[b-k13d50qnci] { margin-top: .3rem; }

.tp-mark[b-k13d50qnci] {
    align-self: stretch;
    margin-left: -1px;
    border-radius: .5rem 0 0 .5rem;
    background: var(--osen-border-color);
}

.tp-check.ok .tp-mark[b-k13d50qnci] { background: var(--osen-success); }
.tp-check.warn .tp-mark[b-k13d50qnci] { background: var(--osen-warning); }
.tp-check.orange .tp-mark[b-k13d50qnci] { background: #fd7e14; }

@media (max-width: 767.98px) {
    .tp-line[b-k13d50qnci] { grid-template-columns: minmax(0, 1fr) auto; }
    .tp-line > .tp-what[b-k13d50qnci] { grid-column: 1 / -1; grid-row: 2; }

    .tp-check[b-k13d50qnci] { grid-template-columns: 4px minmax(0, 1fr) auto; }
    .tp-check > div:nth-of-type(2)[b-k13d50qnci],
    .tp-check > div:nth-of-type(3)[b-k13d50qnci] { grid-column: 2; }
    .tp-mark[b-k13d50qnci] { grid-row: span 3; }
}
/* /Components/Partials/Telematics/OperationDrivingReportCard.razor.rz.scp.css */
/*
    Mirrors the Documents accordion on the operation and task detail pages.

    Duplicated rather than shared because Blazor scopes component CSS: the rules in
    OperationDetail.razor.css only reach that component's own markup, so a card rendered inside it
    gets none of them. Keeping the two in step by hand is the cost of that scoping, and is worth
    less trouble than lifting a handful of rules into global CSS where anything could pick them up.

    Uses the theme's --osen-* tokens. This theme renames Bootstrap's --bs-* variables, so a
    var(--bs-...) resolves to nothing: the declaration is dropped, or a fallback like #6c757d
    wins in both light and dark mode. That is what made this label a different grey from the
    Documents card above it.
*/

.route-state[b-2xp8vd9pnc] {
    flex: 0 0 auto;
    margin-left: auto;
    color: var(--osen-secondary-color);
    font-size: .78rem;
    font-weight: 650;
    transition: color .15s ease-in-out;
}

/* Muted while closed, accent while open — kept in step with .operation-documents-state. */
.route-toggle:not(.collapsed) .route-state[b-2xp8vd9pnc] {
    color: var(--osen-primary);
}

.route-accordion[b-2xp8vd9pnc],
.route-accordion > .accordion-item[b-2xp8vd9pnc] {
    border-radius: var(--osen-card-border-radius, .75rem);
}

.route-accordion[b-2xp8vd9pnc] {
    overflow: hidden;
}

.route-toggle[b-2xp8vd9pnc]::after {
    flex: 0 0 auto;
    margin-left: .35rem;
}

.route-toggle[b-2xp8vd9pnc],
.route-toggle:not(.collapsed)[b-2xp8vd9pnc] {
    color: var(--osen-body-color);
    background-color: var(--osen-accordion-bg);
}
/* /Components/Partials/Telematics/RouteDrivenCard.razor.rz.scp.css */
/*
    Mirrors the Documents accordion on the operation and task detail pages.

    Duplicated rather than shared because Blazor scopes component CSS: the rules in
    OperationDetail.razor.css only reach that component's own markup, so a card rendered inside it
    gets none of them. Keeping the two in step by hand is the cost of that scoping, and is worth
    less trouble than lifting a handful of rules into global CSS where anything could pick them up.

    Uses the theme's --osen-* tokens. This theme renames Bootstrap's --bs-* variables, so a
    var(--bs-...) resolves to nothing: the declaration is dropped, or a fallback like #6c757d
    wins in both light and dark mode. That is what made this label a different grey from the
    Documents card above it.
*/

.route-state[b-gqkjfhgctk] {
    flex: 0 0 auto;
    margin-left: auto;
    color: var(--osen-secondary-color);
    font-size: .78rem;
    font-weight: 650;
    transition: color .15s ease-in-out;
}

/* Muted while closed, accent while open — kept in step with .operation-documents-state. */
.route-toggle:not(.collapsed) .route-state[b-gqkjfhgctk] {
    color: var(--osen-primary);
}

.route-accordion[b-gqkjfhgctk],
.route-accordion > .accordion-item[b-gqkjfhgctk] {
    border-radius: var(--osen-card-border-radius, .75rem);
}

.route-accordion[b-gqkjfhgctk] {
    overflow: hidden;
}

.route-toggle[b-gqkjfhgctk]::after {
    flex: 0 0 auto;
    margin-left: .35rem;
}

.route-toggle[b-gqkjfhgctk],
.route-toggle:not(.collapsed)[b-gqkjfhgctk] {
    color: var(--osen-body-color);
    background-color: var(--osen-accordion-bg);
}
/* /Components/Partials/Telematics/SubmittedBlock.razor.rz.scp.css */
/* What the driver sent from the Resource App, beside the automatic report. Theme variables are --osen-*. */
.sb-box[b-rr9zrpqulu] {
    padding: .6rem .8rem;
    border: 1px solid var(--osen-border-color);
    border-left: 3px solid var(--osen-info);
    border-radius: .5rem;
    font-size: .82rem;
}

.sb-head[b-rr9zrpqulu] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    margin-bottom: .25rem;
}

.sb-title[b-rr9zrpqulu] {
    display: flex;
    align-items: center;
    gap: .3rem;
    font-weight: 600;
}

.sb-title > .ti[b-rr9zrpqulu] { color: var(--osen-info); }

.sb-when[b-rr9zrpqulu],
.sb-km > span[b-rr9zrpqulu],
.sb-line[b-rr9zrpqulu] {
    font-size: .75rem;
    color: var(--osen-secondary-color);
}

.sb-comment[b-rr9zrpqulu] {
    display: flex;
    align-items: flex-start;
    gap: .3rem;
    margin-top: .3rem;
    font-style: italic;
}
/* /Components/Partials/Telematics/VehicleStatusCheckCard.razor.rz.scp.css */
/*
    Driving panels (Driver report, Guide report, Task status from the vehicle): a collapsible panel
    in the To act on look, as on the shift page.

    The same tp-* rules live in DriverDayReportCard, GuideTimesheetCard and VehicleStatusCheckCard
    .razor.css. Duplicated because Blazor scopes component CSS; keep the three in step by hand.
    Theme variables are --osen-*, not --bs-*: a var(--bs-...) resolves to nothing.
*/

.tp-panel[b-qnl2iq69e9] {
    border: 1px solid var(--osen-border-color);
    border-radius: .6rem;
    background: var(--osen-secondary-bg);
}

.tp-head[b-qnl2iq69e9] {
    display: flex;
    align-items: center;
    gap: .7rem;
    width: 100%;
    padding: .7rem 1rem;
    border: 0;
    border-radius: .6rem;
    background: transparent;
    color: var(--osen-body-color);
    text-align: left;
}

.tp-head[aria-expanded="true"][b-qnl2iq69e9] {
    border-bottom: 1px solid var(--osen-border-color);
    border-radius: .6rem .6rem 0 0;
}

.tp-icon[b-qnl2iq69e9] {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .45rem;
    font-size: 1.05rem;
}

.tp-icon.primary[b-qnl2iq69e9] { background: color-mix(in srgb, var(--osen-primary) 14%, transparent); color: var(--osen-primary); }
.tp-icon.success[b-qnl2iq69e9] { background: color-mix(in srgb, var(--osen-success) 14%, transparent); color: var(--osen-success); }
.tp-icon.warning[b-qnl2iq69e9] { background: color-mix(in srgb, var(--osen-warning) 18%, transparent); color: var(--osen-warning); }

.tp-heading[b-qnl2iq69e9] {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-width: 0;
}

.tp-title[b-qnl2iq69e9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    font-weight: 600;
}

.tp-note[b-qnl2iq69e9] {
    font-size: .75rem;
    color: var(--osen-secondary-color);
}

.tp-state[b-qnl2iq69e9] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    flex-shrink: 0;
    font-size: .78rem;
    font-weight: 600;
    color: var(--osen-secondary-color);
}

.tp-head[aria-expanded="true"] .tp-state[b-qnl2iq69e9],
.tp-head:hover .tp-state[b-qnl2iq69e9] {
    color: var(--osen-primary);
}

.tp-body[b-qnl2iq69e9] {
    padding: .85rem 1rem 1rem;
    font-size: .85rem;
}

.tp-empty[b-qnl2iq69e9] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem 0;
    color: var(--osen-secondary-color);
}

.tp-muted[b-qnl2iq69e9] {
    margin: 0 0 .5rem;
    color: var(--osen-secondary-color);
}

.tp-alert[b-qnl2iq69e9] {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    padding: .55rem .75rem;
    border-radius: .5rem;
    background: color-mix(in srgb, var(--osen-warning) 12%, transparent);
}

.tp-alert > .ti[b-qnl2iq69e9] { color: var(--osen-warning); margin-top: .1rem; }

.tp-chip[b-qnl2iq69e9] {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    padding: .02rem .5rem;
    border-radius: 999px;
    background: var(--osen-tertiary-bg);
    font-size: .72rem;
    font-weight: 600;
    color: var(--osen-secondary-color);
    white-space: nowrap;
}

.tp-chip.teal[b-qnl2iq69e9] { background: color-mix(in srgb, #17a2b8 15%, transparent); color: #17a2b8; }
.tp-chip.orange[b-qnl2iq69e9] { background: color-mix(in srgb, #fd7e14 16%, transparent); color: #fd7e14; }
.tp-chip.warn[b-qnl2iq69e9] { background: color-mix(in srgb, var(--osen-warning) 18%, transparent); color: var(--osen-warning); }
.tp-chip.ok[b-qnl2iq69e9] { background: color-mix(in srgb, var(--osen-success) 14%, transparent); color: var(--osen-success); }

/* Summary figures */
.tp-stats[b-qnl2iq69e9] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
    gap: .5rem;
    margin-bottom: .75rem;
}

.tp-stat[b-qnl2iq69e9] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: .5rem .7rem;
    border-radius: .5rem;
    background: var(--osen-tertiary-bg);
}

.tp-stat > span[b-qnl2iq69e9] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--osen-secondary-color);
}

.tp-stat > strong[b-qnl2iq69e9] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tp-stat > em[b-qnl2iq69e9] {
    font-style: normal;
    font-size: .75rem;
    color: var(--osen-secondary-color);
}

.tp-toolbar[b-qnl2iq69e9] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    margin-bottom: .4rem;
}

.tp-section[b-qnl2iq69e9] {
    display: flex;
    align-items: center;
    gap: .3rem;
    margin-bottom: .35rem;
    font-size: .7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--osen-secondary-color);
}

.tp-toolbar > .tp-section[b-qnl2iq69e9] { margin-bottom: 0; }

.tp-person[b-qnl2iq69e9] {
    display: flex;
    align-items: center;
    gap: .4rem;
}

/* time · what · km */
.tp-line[b-qnl2iq69e9] {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .4rem .6rem;
    border: 1px solid var(--osen-border-color);
    border-radius: .45rem;
}

.tp-line + .tp-line[b-qnl2iq69e9] { margin-top: .3rem; }

.tp-line.other[b-qnl2iq69e9] {
    border-style: dashed;
    color: var(--osen-secondary-color);
}

.tp-time[b-qnl2iq69e9],
.tp-km[b-qnl2iq69e9] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.tp-time[b-qnl2iq69e9] { font-weight: 600; }

.tp-what[b-qnl2iq69e9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    min-width: 0;
}

.tp-what > a[b-qnl2iq69e9] { font-weight: 600; }

.tp-route[b-qnl2iq69e9] { color: var(--osen-secondary-color); }

.tp-actual[b-qnl2iq69e9] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.tp-actual em[b-qnl2iq69e9],
.tp-sub[b-qnl2iq69e9] {
    font-style: normal;
    font-size: .75rem;
    color: var(--osen-secondary-color);
}

.tp-sub-label[b-qnl2iq69e9] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--osen-secondary-color);
}

.tp-sheet + .tp-sheet[b-qnl2iq69e9] {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--osen-border-color);
}

/* mark · task · recorded · vehicle says · verdict */
.tp-check[b-qnl2iq69e9] {
    display: grid;
    grid-template-columns: 4px minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.2fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .5rem .6rem .5rem 0;
    border: 1px solid var(--osen-border-color);
    border-radius: .5rem;
}

.tp-check + .tp-check[b-qnl2iq69e9] { margin-top: .3rem; }

.tp-mark[b-qnl2iq69e9] {
    align-self: stretch;
    margin-left: -1px;
    border-radius: .5rem 0 0 .5rem;
    background: var(--osen-border-color);
}

.tp-check.ok .tp-mark[b-qnl2iq69e9] { background: var(--osen-success); }
.tp-check.warn .tp-mark[b-qnl2iq69e9] { background: var(--osen-warning); }
.tp-check.orange .tp-mark[b-qnl2iq69e9] { background: #fd7e14; }

@media (max-width: 767.98px) {
    .tp-line[b-qnl2iq69e9] { grid-template-columns: minmax(0, 1fr) auto; }
    .tp-line > .tp-what[b-qnl2iq69e9] { grid-column: 1 / -1; grid-row: 2; }

    .tp-check[b-qnl2iq69e9] { grid-template-columns: 4px minmax(0, 1fr) auto; }
    .tp-check > div:nth-of-type(2)[b-qnl2iq69e9],
    .tp-check > div:nth-of-type(3)[b-qnl2iq69e9] { grid-column: 2; }
    .tp-mark[b-qnl2iq69e9] { grid-row: span 3; }
}
/* /Components/Partials/Templates/TemplateForm.razor.rz.scp.css */
/* The tour template form on Trip Desk UI: the few things td-ui.css doesn't have. */

/* A day: a rail on the left instead of a box, dashed for a free day. Days are divided by rules. */
.tf-day[b-e9wzs27bb5] { border-left: 3px solid var(--td-primary); padding-left: .9rem; }
.tf-day.is-free[b-e9wzs27bb5] { border-left-style: dashed; border-left-color: var(--td-field); }
.tf-day + .tf-day[b-e9wzs27bb5] { margin-top: .25rem; }
.tf-day-head[b-e9wzs27bb5] { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; min-height: 2.25rem; }
.tf-day-num[b-e9wzs27bb5] { width: 1.6rem; height: 1.6rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; font-size: .8125rem; color: var(--td-on-primary); background: var(--td-primary); }
.tf-day.is-free .tf-day-num[b-e9wzs27bb5] { color: var(--td-muted); background: var(--td-surface-2); }
.tf-day-title[b-e9wzs27bb5] { font-weight: 600; color: var(--td-emphasis); }

/* Tasks in a day, and variants, divided by rules. */
.tf-task[b-e9wzs27bb5] { padding: .6rem 0; }
.tf-task + .tf-task[b-e9wzs27bb5] { border-top: 1px dashed var(--td-border); }
.tf-rows[b-e9wzs27bb5] { display: flex; flex-direction: column; }
.tf-row[b-e9wzs27bb5] { padding: .75rem 0; }
.tf-row:first-child[b-e9wzs27bb5] { padding-top: 0; }
.tf-row + .tf-row[b-e9wzs27bb5] { border-top: 1px solid var(--td-border); }

/* Small buttons inside rows. */
.tf-small[b-e9wzs27bb5] { min-height: 1.875rem; padding: 0 .65rem; font-size: .8125rem; }

.tf-warn[b-e9wzs27bb5] { font-size: .75rem; font-weight: 500; color: var(--td-warning-ink); }

/* A value that can't be set yet, shown where its field would be. */
.tf-fixed[b-e9wzs27bb5] { display: flex; align-items: center; min-height: 2.25rem; padding: .375rem .75rem; border: 1px dashed var(--td-border); border-radius: var(--td-radius-md); color: var(--td-muted); }

/* Save and Discard at the foot of the form, on the right. */
.tf-foot[b-e9wzs27bb5] { flex-direction: row; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: .5rem; }

/* Summary facts in the side panel. */
.tf-facts[b-e9wzs27bb5] { display: grid; grid-template-columns: max-content 1fr; gap: .35rem .9rem; margin: 0; font-size: .8125rem; }
.tf-facts dt[b-e9wzs27bb5] { font-weight: 500; color: var(--td-muted); }
.tf-facts dd[b-e9wzs27bb5] { margin: 0; color: var(--td-emphasis); min-width: 0; overflow-wrap: anywhere; }

/* Ready to save? */
.tf-check[b-e9wzs27bb5] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; font-size: .8125rem; color: var(--td-muted); }
.tf-check li[b-e9wzs27bb5] { display: flex; align-items: center; gap: .45rem; }
.tf-check li .ti[b-e9wzs27bb5] { font-size: 1rem; }
.tf-check li.is-done[b-e9wzs27bb5] { color: var(--td-emphasis); }
.tf-check li.is-done .ti[b-e9wzs27bb5] { color: var(--td-success-ink); }
/* /Components/Partials/Tenants/TenantLogoCard.razor.rz.scp.css */
/* Report logo section (Trip Desk UI). */
.tlc-preview[b-o28z8up9em] {
    display: flex; align-items: center; justify-content: center;
    height: 120px; padding: 1rem; border-radius: var(--td-radius-md);
    border: 1px dashed var(--td-border);
    /* Reports print on white, so preview on white whatever the theme. */
    background: #fff;
}
.tlc-preview img[b-o28z8up9em] { max-height: 100%; max-width: 100%; object-fit: contain; }
/* The upload button is a label, so "disabled" is shown, not set. */
.tlc-busy[b-o28z8up9em] { opacity: .55; pointer-events: none; }
/* /Components/Partials/Toolbars/Operations/OperationToolbar.razor.rz.scp.css */
/* Sticky command bar: page content scrolls underneath, so the background must stay
   fully opaque. Use the theme's --osen-* tokens — this Bootstrap build renames the
   --bs-* prefix to --osen-*, so var(--bs-secondary-bg) resolves to nothing and the
   bar renders see-through. */
.operation-command-bar[b-a1abugt7hm] {
    position: sticky;
    top: calc(var(--osen-topbar-height, 70px) + .5rem);
    z-index: 1015;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1rem;
    padding: 1.1rem 1.25rem;
    background: var(--osen-secondary-bg, #fff);
    border: 1px solid var(--osen-border-color, #e7e9eb);
    border-radius: .9rem;
    box-shadow: var(--osen-box-shadow, 0 .35rem 1.25rem rgba(16, 24, 40, .06));
    /* AuditLogButtonAction renders a viewport-fixed offcanvas inside this bar. */
    /* Filters here would make the toolbar its containing block and clip the panel. */
}

.operation-command-context[b-a1abugt7hm],
.operation-command-title-row[b-a1abugt7hm],
.operation-command-actions[b-a1abugt7hm] {
    display: flex;
    align-items: center;
}

.operation-command-context[b-a1abugt7hm] {
    min-width: 0;
    gap: .85rem;
}

.operation-command-back[b-a1abugt7hm] {
    flex: 0 0 auto;
}

.operation-command-copy[b-a1abugt7hm] {
    display: grid;
    gap: .22rem;
}

.operation-command-title-row[b-a1abugt7hm] {
    flex-wrap: wrap;
    gap: .65rem;
}

.operation-command-title-row h1[b-a1abugt7hm] {
    margin: 0;
    color: var(--osen-emphasis-color, inherit);
    font-size: clamp(1.3rem, 1.15rem + .35vw, 1.65rem);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.15;
}

.operation-command-copy p[b-a1abugt7hm] {
    max-width: 60ch;
    margin: 0;
    overflow: hidden;
    color: var(--osen-secondary-color, #8391a2);
    font-size: .875rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.operation-command-actions[b-a1abugt7hm] {
    flex: 0 0 auto;
}

@media (max-width: 767.98px) {
    .operation-command-bar[b-a1abugt7hm] {
        top: calc(var(--osen-topbar-height, 70px) + .25rem);
        align-items: flex-start;
        flex-direction: column;
        padding: 1rem;
    }

    .operation-command-actions[b-a1abugt7hm] {
        align-self: stretch;
        justify-content: flex-end;
        padding-top: .75rem;
        border-top: 1px solid var(--osen-border-color, #e7e9eb);
    }
}
/* /Components/Partials/Toolbars/Operations/TaskToolbar.razor.rz.scp.css */
/* Sticky command bar: page content scrolls underneath, so the background must stay
   fully opaque. Use the theme's --osen-* tokens — this Bootstrap build renames the
   --bs-* prefix to --osen-*, so var(--bs-secondary-bg) resolves to nothing and the
   bar renders see-through. */
.task-command-bar[b-r3hdbyj2pe] {
    position: sticky;
    top: calc(var(--osen-topbar-height, 70px) + .5rem);
    z-index: 1015;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1rem;
    padding: 1.1rem 1.25rem;
    background: var(--osen-secondary-bg, #fff);
    border: 1px solid var(--osen-border-color, #e7e9eb);
    border-radius: .9rem;
    box-shadow: var(--osen-box-shadow, 0 .35rem 1.25rem rgba(16, 24, 40, .06));
    /* AuditLogButtonAction renders a viewport-fixed offcanvas inside this bar. */
    /* Filters here would make the toolbar its containing block and clip the panel. */
}

.task-command-context[b-r3hdbyj2pe],
.task-command-title-row[b-r3hdbyj2pe],
.task-command-actions[b-r3hdbyj2pe] {
    display: flex;
    align-items: center;
}

.task-command-context[b-r3hdbyj2pe] {
    min-width: 0;
    gap: .85rem;
}

.task-command-back[b-r3hdbyj2pe],
.task-command-actions[b-r3hdbyj2pe] {
    flex: 0 0 auto;
}

.task-command-copy[b-r3hdbyj2pe] {
    display: grid;
    gap: .22rem;
}

.task-command-title-row[b-r3hdbyj2pe] {
    flex-wrap: wrap;
    gap: .65rem;
}

.task-command-title-row h1[b-r3hdbyj2pe] {
    margin: 0;
    color: var(--osen-emphasis-color, inherit);
    font-size: clamp(1.3rem, 1.15rem + .35vw, 1.65rem);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.15;
}

.task-command-copy p[b-r3hdbyj2pe] {
    max-width: 60ch;
    margin: 0;
    overflow: hidden;
    color: var(--osen-secondary-color, #8391a2);
    font-size: .875rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .task-command-bar[b-r3hdbyj2pe] {
        top: calc(var(--osen-topbar-height, 70px) + .25rem);
        align-items: flex-start;
        flex-direction: column;
        padding: 1rem;
    }

    .task-command-actions[b-r3hdbyj2pe] {
        align-self: stretch;
        justify-content: flex-end;
        padding-top: .75rem;
        border-top: 1px solid var(--osen-border-color, #e7e9eb);
    }
}
