:root {
    --navy-950: #081a2b;
    --navy-900: #0b2238;
    --navy-800: #12344f;
    --navy-700: #1c4868;
    --blue-600: #176b9e;
    --blue-500: #2388be;
    --blue-300: #82c7e5;
    --blue-100: #dff2fb;
    --teal-600: #1c7d6d;
    --teal-500: #28a58f;
    --teal-100: #dff7f1;
    --amber-700: #8a5a16;
    --amber-500: #d7932f;
    --amber-100: #fff3db;
    --red-500: #d45460;
    --red-600: #b43a46;
    --red-100: #fdebed;
    --slate-900: #182632;
    --slate-700: #425563;
    --slate-600: #5f7180;
    --slate-500: #7c8b97;
    --slate-400: #9eabb5;
    --slate-300: #ccd5dc;
    --slate-200: #e1e7eb;
    --slate-100: #eef2f4;
    --slate-50: #f6f8f9;
    --white: #ffffff;
    --shadow-sm: 0 1px 2px rgba(8, 26, 43, .06), 0 4px 12px rgba(8, 26, 43, .04);
    --shadow-lg: 0 18px 50px rgba(8, 26, 43, .14);
    --radius-sm: 7px;
    --radius-md: 12px;
    --radius-lg: 18px;
    --sidebar-width: 252px;
    --transition: 160ms ease;
}

* { box-sizing: border-box; }

html { min-height: 100%; background: var(--slate-50); }

body {
    min-height: 100vh;
    margin: 0;
    color: var(--slate-900);
    background: var(--slate-50);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, select { cursor: pointer; }
button { color: inherit; }

:focus-visible {
    outline: 3px solid rgba(35, 136, 190, .28);
    outline-offset: 2px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.muted { color: var(--slate-500); }

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.brand-mark {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    color: var(--white);
    background: linear-gradient(145deg, var(--blue-500), var(--teal-500));
    border-radius: 11px;
    box-shadow: 0 8px 18px rgba(35, 136, 190, .2);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .07em;
}

.brand > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.brand strong { color: var(--white); font-size: 20px; letter-spacing: .04em; line-height: 1; }
.brand small { margin-top: 4px; color: #9bb0bf; font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }

.app-shell { display: flex; min-height: 100vh; }

.sidebar {
    position: fixed;
    z-index: 30;
    inset: 0 auto 0 0;
    display: flex;
    width: var(--sidebar-width);
    flex-direction: column;
    padding: 25px 18px 18px;
    color: #d6e1e8;
    background:
        radial-gradient(circle at 0 0, rgba(35, 136, 190, .16), transparent 34%),
        linear-gradient(180deg, var(--navy-900), var(--navy-950));
    border-right: 1px solid rgba(255, 255, 255, .05);
}

.sidebar .brand { padding: 0 9px 23px; border-bottom: 1px solid rgba(255, 255, 255, .09); }
.nav-list {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    gap: 5px;
    padding: 22px 4px 8px 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.nav-list::-webkit-scrollbar { width: 7px; }
.nav-list::-webkit-scrollbar-track { background: transparent; }
.nav-list::-webkit-scrollbar-thumb { background: rgba(155, 176, 191, .32); border-radius: 10px; }
.nav-list::-webkit-scrollbar-thumb:hover { background: rgba(155, 176, 191, .5); }

.nav-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 43px;
    padding: 9px 12px;
    color: #b8c7d1;
    border: 1px solid transparent;
    border-radius: 9px;
    font-size: 14px;
    font-weight: 600;
    transition: color var(--transition), background var(--transition), border var(--transition);
}

.nav-link:hover { color: var(--white); background: rgba(255, 255, 255, .055); }
.nav-link.is-active { color: var(--white); background: rgba(35, 136, 190, .2); border-color: rgba(92, 184, 226, .15); }
.nav-link.is-active::before { position: absolute; left: -19px; width: 3px; height: 24px; content: ""; background: #49b8df; border-radius: 0 3px 3px 0; }

.nav-icon { position: relative; width: 18px; height: 18px; flex: 0 0 18px; opacity: .85; }
.nav-icon::before, .nav-icon::after { position: absolute; content: ""; border: 1.7px solid currentColor; }
.icon-grid::before { inset: 1px; border-radius: 3px; }
.icon-grid::after { inset: 5px; border-width: 0; box-shadow: -3px -3px 0 -1px currentColor, 3px -3px 0 -1px currentColor, -3px 3px 0 -1px currentColor, 3px 3px 0 -1px currentColor; }
.icon-file::before { inset: 1px 3px; border-radius: 2px; }
.icon-file::after { left: 7px; right: 6px; bottom: 5px; height: 4px; border-width: 1.5px 0; }
.icon-route::before { width: 5px; height: 5px; top: 1px; left: 1px; border-radius: 50%; box-shadow: 10px 10px 0 -1.7px var(--navy-900), 10px 10px 0 0 currentColor; }
.icon-route::after { width: 9px; height: 9px; top: 4px; left: 4px; border-width: 0 0 1.7px 1.7px; border-radius: 0 0 0 7px; }
.icon-driver::before { width: 7px; height: 7px; top: 1px; left: 5px; border-radius: 50%; }
.icon-driver::after { width: 14px; height: 7px; left: 1px; bottom: 1px; border-radius: 8px 8px 2px 2px; }
.icon-clock::before { inset: 1px; border-radius: 50%; }
.icon-clock::after { width: 5px; height: 5px; top: 4px; left: 8px; border-width: 0 0 1.7px 1.7px; transform: rotate(-45deg); transform-origin: bottom left; }
.icon-truck::before { width: 11px; height: 8px; left: 1px; top: 4px; border-radius: 2px 1px 1px 2px; }
.icon-truck::after { width: 4px; height: 4px; right: 0; top: 7px; border-radius: 1px; box-shadow: -9px 6px 0 -1px currentColor, 0 6px 0 -1px currentColor; }
.icon-building::before { inset: 2px 3px 1px; border-radius: 2px 2px 0 0; }
.icon-building::after { inset: 6px; border-width: 0; box-shadow: -2px -2px 0 -1px currentColor, 3px -2px 0 -1px currentColor, -2px 3px 0 -1px currentColor, 3px 3px 0 -1px currentColor; }
.icon-receipt::before { inset: 1px 3px; border-radius: 2px; }
.icon-receipt::after { left: 7px; right: 6px; top: 5px; height: 6px; border-width: 1.5px 0; }
.icon-chart::before { inset: 2px 1px 1px 2px; border-width: 0 0 1.7px 1.7px; }
.icon-chart::after { width: 10px; height: 7px; left: 5px; top: 3px; border-width: 0 0 1.7px 1.7px; transform: skewY(-35deg); }
.icon-users::before { width: 7px; height: 7px; top: 1px; left: 5px; border-radius: 50%; }
.icon-users::after { width: 14px; height: 7px; left: 1px; bottom: 1px; border-radius: 8px 8px 2px 2px; }
.icon-shield::before { inset: 1px 3px; border-radius: 7px 7px 9px 9px; transform: scaleY(1.04); }
.icon-shield::after { width: 5px; height: 3px; left: 7px; top: 6px; border-width: 0 0 1.7px 1.7px; transform: rotate(-45deg); }

.nav-section { margin: 19px 12px 7px; color: #718797; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sidebar-foot { display: flex; align-items: center; justify-content: space-between; padding: 16px 8px 2px; color: #718797; border-top: 1px solid rgba(255, 255, 255, .08); font-size: 10px; }
.environment-pill { padding: 4px 7px; color: #a9ddec; background: rgba(35, 136, 190, .15); border: 1px solid rgba(73, 184, 223, .14); border-radius: 20px; }

.main-column { width: calc(100% - var(--sidebar-width)); min-width: 0; margin-left: var(--sidebar-width); }
.topbar { position: sticky; z-index: 20; top: 0; display: flex; height: 70px; align-items: center; justify-content: space-between; padding: 0 33px; background: rgba(255, 255, 255, .94); border-bottom: 1px solid var(--slate-200); backdrop-filter: blur(12px); }
.topbar-context { display: flex; flex-direction: column; }
.topbar-context span { color: var(--slate-500); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.topbar-context strong { margin-top: 1px; font-size: 14px; }
.account-menu { display: flex; align-items: center; gap: 10px; }
.account-copy { display: flex; min-width: 120px; flex-direction: column; }
.account-copy strong { font-size: 13px; }
.account-copy small { color: var(--slate-500); font-size: 11px; }
.avatar { display: grid; width: 35px; height: 35px; place-items: center; color: var(--navy-800); background: var(--blue-100); border: 1px solid #c9e7f4; border-radius: 10px; font-size: 11px; font-weight: 800; }
.avatar-small { width: 35px; height: 35px; flex: 0 0 35px; border-radius: 50%; }
.text-button { padding: 7px 9px; color: var(--slate-600); background: transparent; border: 0; border-radius: 6px; font-size: 12px; font-weight: 700; }
.text-button:hover { color: var(--navy-800); background: var(--slate-100); }
.mobile-menu { display: none; }

.content { width: 100%; max-width: 1540px; margin: 0 auto; padding: 34px 36px 52px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.compact-heading { align-items: center; margin-bottom: 23px; }
.page-heading h1 { margin: 5px 0 3px; color: var(--navy-900); font-size: clamp(26px, 3vw, 36px); line-height: 1.16; letter-spacing: -.035em; }
.page-heading p { max-width: 690px; margin: 0; color: var(--slate-600); }
.eyebrow { color: var(--blue-600); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow-light { color: #7bc8e4; }
.source-badge { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; padding: 8px 12px; color: var(--slate-700); background: var(--white); border: 1px solid var(--slate-200); border-radius: 30px; box-shadow: var(--shadow-sm); font-size: 11px; font-weight: 700; }
.status-dot { display: inline-block; width: 8px; height: 8px; background: var(--teal-500); border-radius: 50%; box-shadow: 0 0 0 4px rgba(40, 165, 143, .13); }
.status-dot-amber { background: var(--amber-500); box-shadow: 0 0 0 4px rgba(215, 147, 47, .13); }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.metric-card { position: relative; min-height: 138px; padding: 21px 22px; overflow: hidden; background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.metric-card::after { position: absolute; width: 68px; height: 68px; right: -24px; bottom: -28px; content: ""; background: var(--blue-100); border-radius: 50%; opacity: .55; }
.metric-card > span { display: block; color: var(--slate-600); font-size: 11px; font-weight: 700; }
.metric-card > strong { display: block; margin: 8px 0 4px; color: var(--navy-900); font-size: 31px; line-height: 1; letter-spacing: -.04em; }
.metric-card > strong.metric-text { min-height: 35px; font-size: 20px; line-height: 1.25; letter-spacing: -.02em; }
.metric-card > .metric-value-link { display: block; margin: 8px 0 4px; color: var(--blue-700); font-size: 31px; font-weight: 800; line-height: 1; letter-spacing: -.04em; }
.metric-card > small { display: block; color: var(--slate-500); font-size: 10px; }
.metric-link { display: block; color: inherit; text-decoration: none; transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.metric-link:hover { border-color: var(--blue-300); box-shadow: 0 10px 28px rgba(22, 69, 109, .10); transform: translateY(-1px); }
.metric-link:focus-visible { outline: 3px solid rgba(37, 117, 185, .24); outline-offset: 2px; }
.module-facts { margin-bottom: 18px; }
.evidence-metrics { padding: 18px 23px 23px; margin-bottom: 0; }

.content-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 18px; }
.span-2 { grid-column: auto; }
.panel { background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 21px 23px 17px; border-bottom: 1px solid var(--slate-100); }
.panel-heading h2 { margin: 2px 0 0; color: var(--navy-900); font-size: 17px; letter-spacing: -.02em; }
.tag { display: inline-flex; padding: 5px 9px; color: var(--slate-600); background: var(--slate-100); border-radius: 30px; font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.tag-blue { color: var(--blue-600); background: var(--blue-100); }

.roadmap { padding: 4px 23px 12px; margin: 0; list-style: none; }
.roadmap li { display: grid; grid-template-columns: 37px 1fr auto; align-items: center; gap: 13px; min-height: 75px; border-bottom: 1px solid var(--slate-100); }
.roadmap li:last-child { border-bottom: 0; }
.roadmap-index { display: grid; width: 31px; height: 31px; place-items: center; color: var(--slate-500); background: var(--slate-100); border-radius: 9px; font-size: 10px; font-weight: 800; }
.roadmap .is-current .roadmap-index { color: var(--white); background: var(--blue-600); box-shadow: 0 5px 12px rgba(23, 107, 158, .22); }
.roadmap .is-complete .roadmap-index { color: var(--white); background: var(--teal-600); box-shadow: 0 5px 12px rgba(22, 132, 111, .18); }
.roadmap strong, .roadmap small { display: block; }
.roadmap strong { color: var(--slate-900); font-size: 13px; }
.roadmap small { margin-top: 2px; color: var(--slate-500); font-size: 10px; }
.roadmap-state { color: var(--slate-500); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.is-current .roadmap-state { color: var(--blue-600); }
.is-complete .roadmap-state { color: var(--teal-600); }

.migration-panel { padding-bottom: 21px; }
.migration-panel > p { padding: 0 23px; color: var(--slate-600); font-size: 12px; line-height: 1.65; }
.connection-state { display: flex; align-items: center; gap: 12px; margin: 20px 23px; padding: 14px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 10px; }
.connection-icon { display: grid; width: 38px; height: 38px; place-items: center; color: var(--amber-500); background: var(--amber-100); border-radius: 9px; font-size: 11px; font-weight: 900; }
.connection-state strong, .connection-state small { display: block; }
.connection-state strong { font-size: 12px; }
.connection-state small { color: var(--slate-500); font-size: 10px; }
.detail-list { padding: 2px 23px 0; margin: 0; }
.detail-list > div { display: flex; justify-content: space-between; gap: 15px; padding: 9px 0; border-top: 1px solid var(--slate-100); }
.detail-list dt { color: var(--slate-500); font-size: 10px; }
.detail-list dd { margin: 0; color: var(--slate-700); font-size: 10px; font-weight: 700; text-align: right; }

.checklist { padding: 5px 23px 12px; margin: 0; list-style: none; }
.checklist li { display: grid; grid-template-columns: 34px 1fr; align-items: start; gap: 13px; padding: 15px 0; border-bottom: 1px solid var(--slate-100); }
.checklist li:last-child { border-bottom: 0; }
.checklist span { display: grid; width: 30px; height: 30px; place-items: center; color: var(--blue-600); background: var(--blue-100); border-radius: 50%; font-size: 9px; font-weight: 800; }
.checklist p { margin: 4px 0 0; color: var(--slate-700); font-size: 12px; }

.button { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; padding: 9px 15px; border: 1px solid transparent; border-radius: 8px; font-size: 12px; font-weight: 750; transition: transform var(--transition), background var(--transition), border var(--transition), box-shadow var(--transition); }
.button:hover { transform: translateY(-1px); }
.button-primary { color: var(--white); background: var(--blue-600); border-color: var(--blue-600); box-shadow: 0 7px 16px rgba(23, 107, 158, .16); }
.button-primary:hover { background: #115d8d; border-color: #115d8d; }
.button-secondary { color: var(--navy-800); background: var(--white); border-color: var(--slate-300); }
.button-secondary:hover { background: var(--slate-50); }
.button-quiet { color: var(--slate-600); background: transparent; border-color: transparent; }
.button-quiet:hover { color: var(--navy-800); background: var(--slate-100); }
.button-block { width: 100%; }

.alert { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 12px 14px; margin: 0 0 18px; border: 1px solid var(--slate-200); border-radius: 9px; font-size: 12px; }
.alert ul { padding-left: 18px; margin: 0; }
.alert-error { color: #8f2833; background: var(--red-100); border-color: #f4cfd4; }
.alert-success { color: #176b5a; background: var(--teal-100); border-color: #bfe9de; }
.alert-warning { color: #865811; background: var(--amber-100); border-color: #f0dbb2; }
.alert-close { padding: 0; color: inherit; background: transparent; border: 0; font-size: 18px; line-height: 1; opacity: .6; }

.table-panel { overflow: hidden; }
.filter-bar { display: flex; align-items: center; gap: 9px; padding: 15px 18px; background: var(--white); border-bottom: 1px solid var(--slate-200); }
.search-field { width: min(360px, 45%); }
.select-field { width: 150px; }
.record-count { margin-left: auto; color: var(--slate-500); font-size: 10px; font-weight: 700; }
.table-scroll { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.data-table th { padding: 11px 16px; color: var(--slate-500); background: var(--slate-50); border-bottom: 1px solid var(--slate-200); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.data-table td { padding: 13px 16px; color: var(--slate-700); border-bottom: 1px solid var(--slate-100); vertical-align: middle; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #fbfcfd; }
.data-table .working-invoice-row { cursor: pointer; }
.data-table .working-invoice-row:hover { background: var(--blue-100); }
.data-table .working-invoice-row:focus-visible { outline: 2px solid var(--blue-600); outline-offset: -2px; }
.working-invoice-primary-link { display: inline-flex; flex-direction: column; align-items: flex-start; color: var(--navy-800); font-weight: 800; }
.working-invoice-primary-link span { color: var(--blue-600); font-size: 10px; text-decoration: underline; }
.working-invoice-primary-link:hover span, .working-invoice-primary-link:focus-visible span { color: var(--blue-700); text-decoration-thickness: 2px; }
.data-table code { padding: 3px 6px; color: var(--navy-700); background: var(--slate-100); border-radius: 4px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 10px; }
.person-cell { display: flex; min-width: 230px; align-items: center; gap: 10px; }
.person-cell > span:last-child { display: flex; flex-direction: column; }
.person-cell strong { color: var(--slate-900); font-size: 12px; }
.person-cell small, .cell-note { display: block; margin-top: 2px; color: var(--slate-500); font-size: 9px; }
.badge { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 20px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.badge-success { color: #13705e; background: var(--teal-100); }
.badge-warning { color: #8a5b12; background: var(--amber-100); }
.badge-neutral { color: var(--slate-600); background: var(--slate-100); }
.badge-info { color: var(--blue-600); background: var(--blue-100); }
.badge-danger { color: var(--red-600); background: var(--red-100); }
.row-action { color: var(--blue-600); font-size: 10px; font-weight: 800; }
.row-action:hover { text-decoration: underline; }
.table-empty { padding: 30px; color: var(--slate-500); text-align: center; }
.orders-table td { min-width: 110px; }
.orders-table td:nth-child(3), .orders-table td:nth-child(4), .orders-table td:nth-child(5) { min-width: 185px; }
.dispatch-filter-bar .search-field { flex: 1 1 300px; }
.dispatch-filter-bar .select-field { width: 180px; }
.dispatch-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 10px 18px; color: var(--slate-500); background: var(--slate-50); border-bottom: 1px solid var(--slate-200); font-size: 9px; font-weight: 700; }
.dispatch-legend span { display: inline-flex; align-items: center; gap: 5px; }
.legend-dot { width: 7px; height: 7px; border-radius: 50%; }
.legend-warning { background: var(--amber-500); }
.legend-info { background: var(--blue-500); }
.legend-success { background: var(--teal-500); }
.legend-neutral { background: var(--slate-400); }
.legend-danger { background: var(--red-500); }
.dispatch-table td { min-width: 105px; vertical-align: top; }
.dispatch-table td:nth-child(3), .dispatch-table td:nth-child(5), .dispatch-table td:nth-child(6), .dispatch-table td:nth-child(7) { min-width: 180px; }
.dispatch-table td:nth-child(4) strong { display: block; white-space: nowrap; }
.dispatch-customer { display: block; margin-top: 5px; }
.dispatch-history-filter, .equipment-status-filter { flex-wrap: wrap; }
.dispatch-history-filter .search-field, .equipment-status-filter .search-field { flex: 1 1 300px; }
.dispatch-history-filter .select-field { width: 160px; }
.dispatch-history-filter .date-field, .equipment-status-filter .date-field { width: 145px; }
.dispatch-history-filter .date-field > span, .equipment-status-filter .date-field > span { display: block; margin: 0 0 4px; color: var(--slate-500); font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.dispatch-history-filter .record-count { width: 100%; margin: 3px 0 0; }
.dispatch-history-table td { min-width: 125px; }
.dispatch-history-table td:nth-child(3), .dispatch-history-table td:nth-child(6), .dispatch-history-table td:nth-child(7), .dispatch-history-table td:nth-child(8) { min-width: 190px; }
.equipment-status-table td { min-width: 125px; vertical-align: top; }
.equipment-status-table td:nth-child(5), .equipment-status-table td:nth-child(6) { min-width: 190px; }
.form-copy { padding: 18px 23px 22px; color: var(--slate-600); font-size: 12px; line-height: 1.65; }
.form-copy p { margin: 0 0 12px; }
.form-copy p:last-child { margin-bottom: 0; }
.identity-note { display: block; margin-top: 4px; font-size: 9px; font-weight: 700; line-height: 1.35; }
.identity-linked { color: var(--teal-600); }
.identity-candidate { color: var(--blue-600); }
.identity-ambiguous { color: var(--amber-700); }
.identity-unmatched { color: var(--red-600); }
.identity-empty { color: var(--slate-500); }
.identity-note a { color: inherit; font-weight: 800; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.driver-filter-bar .search-field { flex: 1 1 300px; }
.driver-filter-bar .select-field { width: 180px; }
.driver-boundary { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 10px 18px; color: var(--slate-600); background: var(--slate-50); border-bottom: 1px solid var(--slate-200); font-size: 9px; }
.driver-boundary > strong { color: var(--slate-700); }
.driver-boundary span { display: inline-flex; align-items: center; gap: 5px; }
.driver-boundary span b { display: inline-grid; width: 20px; height: 20px; place-items: center; color: var(--navy-800); background: var(--blue-100); border-radius: 5px; }
.driver-boundary small { margin-left: auto; color: var(--slate-500); }
.drivers-table td { min-width: 115px; vertical-align: top; }
.drivers-table td:first-child, .drivers-table td:nth-child(5), .drivers-table td:nth-child(6) { min-width: 190px; }
.driver-name { display: inline-block; color: var(--navy-800); font-size: 12px; font-weight: 800; }
.driver-name:hover { color: var(--blue-600); text-decoration: underline; }
.driver-evidence-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 12px 23px; color: var(--slate-600); background: var(--amber-100); border-bottom: 1px solid #f0dbb2; font-size: 10px; line-height: 1.5; }
.driver-evidence-note a { color: var(--blue-600); font-weight: 800; }
.driver-evidence-note a:hover { text-decoration: underline; }
.driver-dispatch-table td { min-width: 115px; vertical-align: top; }
.driver-dispatch-table td:nth-child(2), .driver-dispatch-table td:nth-child(5) { min-width: 200px; }
.driver-roll-history-table td { min-width: 110px; vertical-align: top; }
.driver-roll-history-table td:nth-child(2), .driver-roll-history-table td:nth-child(6) { min-width: 180px; }
.roll-call-direct-note { background: var(--teal-100); border-bottom-color: #bfe9de; }
.driver-boundary-panel { margin-bottom: 18px; overflow: hidden; }
.driver-status-filter-bar { flex-wrap: wrap; }
.driver-status-filter-bar .date-field { width: 155px; }
.driver-status-filter-bar .date-field > span { display: block; margin: 0 0 4px; color: var(--slate-500); font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.driver-status-filter-bar .search-field { flex: 1 1 260px; align-self: flex-end; }
.driver-status-filter-bar .select-field { width: 165px; align-self: flex-end; }
.driver-status-filter-bar .button { align-self: flex-end; }
.driver-status-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 10px 18px; color: var(--slate-500); background: var(--slate-50); border-bottom: 1px solid var(--slate-200); font-size: 9px; font-weight: 700; }
.driver-status-legend span { display: inline-flex; align-items: center; gap: 5px; }
.driver-status-table td { min-width: 110px; vertical-align: top; }
.driver-status-table td:nth-child(3), .driver-status-table td:nth-child(4), .driver-status-table td:nth-child(5), .driver-status-table td:nth-child(6) { min-width: 180px; }
.driver-status-history-grid { grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); margin-top: 18px; }
.equipment-kind-tabs { display: flex; gap: 6px; padding: 14px 18px 0; border-bottom: 1px solid var(--slate-200); }
.equipment-kind-tabs a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 15px; margin-bottom: -1px; color: var(--slate-500); border: 1px solid transparent; border-bottom-color: var(--slate-200); border-radius: 8px 8px 0 0; font-size: 10px; font-weight: 800; }
.equipment-kind-tabs a span { min-width: 24px; padding: 2px 6px; color: var(--slate-600); background: var(--slate-100); border-radius: 10px; font-size: 8px; text-align: center; }
.equipment-kind-tabs a.is-active { color: var(--blue-700); background: var(--white); border-color: var(--slate-200); border-bottom-color: var(--white); }
.equipment-filter-bar { flex-wrap: wrap; }
.equipment-filter-bar .search-field { flex: 1 1 320px; }
.equipment-filter-bar .select-field { width: 185px; }
.equipment-type-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 10px 18px; color: var(--slate-500); background: var(--slate-50); border-bottom: 1px solid var(--slate-200); font-size: 9px; }
.equipment-type-legend strong { color: var(--slate-700); }
.equipment-type-legend span { font-weight: 700; }
.equipment-type-legend small { width: 100%; line-height: 1.45; }
.equipment-table td { min-width: 115px; vertical-align: top; }
.equipment-table td:first-child, .equipment-table td:nth-child(4), .equipment-table td:nth-child(5), .equipment-table td:nth-child(7) { min-width: 190px; }
.equipment-crane-panel { margin-bottom: 18px; }
.roll-call-date-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 18px 23px 23px; }
.roll-call-date { min-width: 0; padding: 12px 13px; color: var(--slate-700); background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 9px; }
.roll-call-date:hover, .roll-call-date.is-selected { background: var(--blue-100); border-color: var(--blue-300); }
.roll-call-date strong, .roll-call-date span, .roll-call-date small { display: block; }
.roll-call-date strong { color: var(--navy-800); font-size: 11px; }
.roll-call-date span { margin-top: 3px; font-size: 10px; font-weight: 700; }
.roll-call-date small { margin-top: 2px; color: var(--slate-500); font-size: 8px; }
.customer-filter-bar .search-field { flex: 1 1 300px; }
.customer-filter-bar .select-field { width: 180px; }
.customers-table td { min-width: 110px; vertical-align: top; }
.customers-table td:nth-child(1), .customers-table td:nth-child(4), .customers-table td:nth-child(5) { min-width: 190px; }
.customer-name { display: inline-block; color: var(--navy-800); font-size: 12px; font-weight: 800; }
.customer-name:hover { color: var(--blue-600); text-decoration: underline; }
.customer-structure-table td { min-width: 125px; vertical-align: top; }
.customer-structure-table td:first-child, .customer-structure-table td:nth-child(4) { min-width: 210px; }
.customer-orders-table td { min-width: 110px; vertical-align: top; }
.customer-orders-table td:nth-child(5) { min-width: 220px; }
.order-history-table td { min-width: 115px; vertical-align: top; }
.order-history-table td:nth-child(3), .order-history-table td:nth-child(5), .order-history-table td:nth-child(6) { min-width: 205px; }
.order-history-table td:last-child { min-width: 150px; }
.customer-history-table td { min-width: 120px; vertical-align: top; }
.customer-history-table td:first-child, .customer-history-table td:nth-child(4) { min-width: 225px; }
.customer-history-table td:last-child { min-width: 155px; }
.order-history-table .tag, .customer-history-table .tag { display: inline-flex; white-space: nowrap; }
.invoice-filter-bar { flex-wrap: wrap; }
.invoice-filter-bar .search-field { flex: 1 1 320px; }
.invoice-filter-bar .select-field { width: 165px; }
.invoice-filter-bar .invoice-date-basis { width: 145px; }
.invoice-filter-bar .date-field { width: 145px; }
.invoice-filter-bar .record-count { width: 100%; margin: 3px 0 0; }
.invoices-table td { min-width: 110px; vertical-align: top; }
.invoices-table td:nth-child(1), .invoices-table td:nth-child(3), .invoices-table td:nth-child(6) { min-width: 170px; }
.invoice-number { color: var(--navy-800); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; font-weight: 800; }
.invoice-number:hover { color: var(--blue-600); text-decoration: underline; }
.money-cell { white-space: nowrap; font-variant-numeric: tabular-nums; }
.invoice-lines-table td { min-width: 105px; vertical-align: top; }
.invoice-lines-table td:nth-child(3) { min-width: 260px; }
.invoice-lines-table td:nth-child(8), .invoice-lines-table td:nth-child(9) { min-width: 145px; }
.cell-stack-value { display: block; margin-top: 7px; color: var(--slate-800); line-height: 1.45; }
.order-invoices-table td { min-width: 115px; vertical-align: top; }
.order-invoices-table td:first-child { min-width: 180px; }
.multiline-value { line-height: 1.7; }
.tag-compact { padding: 3px 7px; font-size: 8px; }
.coverage-list { padding: 5px 23px 18px; margin: 0; list-style: none; }
.coverage-list li { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 3px 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--slate-100); }
.coverage-list li:last-child { border-bottom: 0; }
.coverage-list li .badge { grid-row: 1 / 3; justify-self: start; }
.coverage-list li strong { color: var(--slate-700); font-size: 11px; }
.coverage-list li small { color: var(--slate-500); font-size: 9px; line-height: 1.45; }
.order-number { color: var(--navy-800); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; }
.order-number:hover { color: var(--blue-600); text-decoration: underline; }
.read-only-notice strong { display: inline; }
.pagination { display: flex; min-height: 66px; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 18px; color: var(--slate-500); background: var(--slate-50); border-top: 1px solid var(--slate-200); font-size: 10px; font-weight: 700; }
.pagination > div { display: flex; gap: 8px; }

.page-heading .back-link { display: block; width: max-content; margin-bottom: 12px; color: var(--blue-600); font-size: 11px; font-weight: 800; }
.page-heading .back-link:hover { text-decoration: underline; }
.heading-actions { display: flex; align-items: center; gap: 9px; }
.detail-status { min-height: 34px; padding: 7px 12px; font-size: 10px; }
.order-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 18px; }
.detail-panel { min-width: 0; overflow: hidden; }
.definition-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px 23px 20px; margin: 0; column-gap: 28px; }
.definition-grid > div { min-width: 0; padding: 11px 0; border-bottom: 1px solid var(--slate-100); }
.definition-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
.definition-grid .definition-wide { grid-column: 1 / -1; }
.definition-grid dt { margin-bottom: 4px; color: var(--slate-500); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.definition-grid dd { margin: 0; overflow-wrap: anywhere; color: var(--slate-800); font-size: 12px; font-weight: 700; }
.definition-grid dd small { margin-left: 4px; color: var(--slate-500); font-size: 9px; font-weight: 600; }
.route-panel { margin-bottom: 18px; overflow: hidden; }
.route-grid { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 22px 23px 24px; background: var(--slate-50); }
.route-grid::before { position: absolute; top: 46px; left: calc(50% - 18px); width: 36px; height: 2px; content: ""; background: var(--slate-300); }
.route-card { position: relative; min-width: 0; padding: 20px; background: var(--white); border: 1px solid var(--slate-200); border-radius: 11px; box-shadow: var(--shadow-sm); }
.route-card header { display: flex; align-items: center; gap: 12px; }
.route-card header div { min-width: 0; }
.route-card header small, .route-card header strong { display: block; }
.route-card header small { color: var(--slate-500); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.route-card header strong { margin-top: 2px; overflow-wrap: anywhere; color: var(--navy-900); font-size: 14px; }
.route-marker { display: grid; width: 39px; height: 39px; flex: 0 0 39px; place-items: center; color: var(--white); background: var(--blue-600); border-radius: 50%; box-shadow: 0 0 0 5px var(--blue-100); font-size: 9px; font-weight: 900; }
.delivery-card .route-marker { background: var(--teal-500); box-shadow: 0 0 0 5px var(--teal-100); }
.route-schedule { padding: 9px 11px; margin: 18px 0 14px; color: var(--navy-800); background: var(--blue-100); border-radius: 7px; font-size: 11px; font-weight: 800; }
.delivery-card .route-schedule { background: var(--teal-100); }
.route-card address { min-height: 42px; color: var(--slate-700); font-size: 11px; font-style: normal; line-height: 1.55; }
.route-details { margin: 15px 0 0; }
.route-details > div { display: flex; justify-content: space-between; gap: 15px; padding: 8px 0; border-top: 1px solid var(--slate-100); }
.route-details dt { color: var(--slate-500); font-size: 9px; }
.route-details dd { margin: 0; color: var(--slate-700); font-size: 10px; font-weight: 700; text-align: right; }
.detail-table-panel { margin-bottom: 18px; }
.detail-table-panel .panel-heading .record-count { margin-left: 0; }
.note-list { padding: 5px 23px 18px; }
.note-list article { padding: 13px 0; border-bottom: 1px solid var(--slate-100); }
.note-list article:last-child { border-bottom: 0; }
.note-list strong { color: var(--slate-500); font-size: 9px; letter-spacing: .05em; text-transform: uppercase; }
.note-list p { margin: 5px 0 0; color: var(--slate-700); font-size: 12px; line-height: 1.55; }
.empty-inline { padding: 20px 0; margin: 0; color: var(--slate-500); font-size: 11px; }

input, select {
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    color: var(--slate-900);
    background: var(--white);
    border: 1px solid var(--slate-300);
    border-radius: 7px;
    box-shadow: 0 1px 1px rgba(8, 26, 43, .02);
    transition: border var(--transition), box-shadow var(--transition);
}

input:hover, select:hover { border-color: #aebbc5; }
input:focus, select:focus { border-color: var(--blue-500); outline: 0; box-shadow: 0 0 0 3px rgba(35, 136, 190, .12); }
input[type="checkbox"] { width: 17px; min-height: 17px; height: 17px; padding: 0; accent-color: var(--blue-600); box-shadow: none; }
.field { display: flex; flex-direction: column; gap: 6px; color: var(--slate-700); font-size: 11px; font-weight: 700; }
.field > small { color: var(--slate-500); font-size: 9px; font-weight: 500; }
.form-stack { display: flex; flex-direction: column; gap: 17px; }
.form-panel { padding: 22px 23px; }
.form-panel > .panel-heading { padding: 0 0 17px; margin-bottom: 19px; }
.narrow-panel { max-width: 600px; }
.field-grid { display: grid; gap: 17px; }
.two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-actions { display: flex; align-items: center; gap: 8px; padding-top: 6px; }
.vertical-actions { flex-direction: column; align-items: stretch; }
.form-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 18px; }
.form-main { display: flex; min-width: 0; flex-direction: column; gap: 18px; }
.form-side { min-width: 0; }
.sticky-panel { position: sticky; top: 92px; }
.role-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.role-option, .check-option, .switch-option { display: flex; align-items: flex-start; gap: 10px; padding: 13px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 9px; cursor: pointer; }
.role-option:hover, .check-option:hover, .switch-option:hover { border-color: #b9cbd6; }
.role-option:has(input:checked), .switch-option:has(input:checked) { background: #edf8fc; border-color: #afdcea; }
.role-option input, .check-option input, .switch-option input { flex: 0 0 auto; margin-top: 2px; }
.role-option span, .check-option span, .switch-option span { display: flex; flex-direction: column; }
.role-option strong, .check-option strong, .switch-option strong { color: var(--slate-900); font-size: 11px; }
.role-option small, .check-option small, .switch-option small { margin-top: 3px; color: var(--slate-500); font-size: 9px; font-weight: 500; }
.switch-option { margin-bottom: 10px; }
.align-bottom { align-self: end; }
.security-note { padding: 13px; margin-top: 18px; color: #77511a; background: var(--amber-100); border: 1px solid #f1d9a8; border-radius: 9px; }
.security-note strong { font-size: 10px; }
.security-note p { margin: 4px 0 0; font-size: 9px; line-height: 1.5; }

.auth-layout { min-height: 100vh; padding: 0; background: var(--white); }
.auth-panel { display: grid; min-height: 100vh; grid-template-columns: minmax(360px, 44%) 1fr; }
.auth-story { position: relative; display: flex; min-height: 100vh; flex-direction: column; justify-content: space-between; padding: 40px clamp(35px, 5vw, 76px); overflow: hidden; color: var(--white); background:
    radial-gradient(circle at 90% 10%, rgba(73, 184, 223, .22), transparent 28%),
    radial-gradient(circle at 15% 82%, rgba(40, 165, 143, .13), transparent 28%),
    linear-gradient(145deg, var(--navy-800), var(--navy-950));
}
.auth-story::after { position: absolute; width: 420px; height: 420px; right: -260px; bottom: -160px; content: ""; border: 80px solid rgba(255, 255, 255, .025); border-radius: 50%; }
.brand-light { position: relative; z-index: 1; }
.auth-story-copy { position: relative; z-index: 1; max-width: 510px; padding-bottom: 8vh; }
.auth-story-copy h1 { margin: 13px 0 18px; font-size: clamp(36px, 5vw, 59px); font-weight: 720; line-height: 1.02; letter-spacing: -.05em; }
.auth-story-copy p { max-width: 460px; margin: 0; color: #b9ccd7; font-size: 15px; line-height: 1.7; }
.auth-story-foot { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; color: #94aab8; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.auth-form-wrap { display: grid; min-height: 100vh; place-items: center; padding: 40px; background: var(--slate-50); }
.auth-card { width: min(100%, 420px); padding: 38px 39px; background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.auth-heading { margin-bottom: 26px; }
.auth-heading h2 { margin: 6px 0 4px; color: var(--navy-900); font-size: 28px; letter-spacing: -.04em; }
.auth-heading p { margin: 0; color: var(--slate-500); font-size: 12px; }
.auth-card .field { margin-bottom: 17px; }
.password-field { position: relative; display: block; }
.password-field input { padding-right: 62px; }
.password-toggle { position: absolute; right: 5px; top: 5px; height: 32px; padding: 0 9px; color: var(--blue-600); background: var(--slate-50); border: 0; border-radius: 5px; font-size: 10px; font-weight: 800; }
.auth-help { margin: 19px 0 0; color: var(--slate-500); font-size: 9px; line-height: 1.55; text-align: center; }

.empty-state { max-width: 600px; padding: 60px 20px; margin: 40px auto; text-align: center; }
.empty-state h1 { margin: 7px 0; color: var(--navy-900); font-size: 32px; }
.empty-state p { margin: 0 0 22px; color: var(--slate-600); }

.coverage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.coverage-card { display: flex; min-width: 0; flex-direction: column; gap: 14px; padding: 22px; background: var(--white); border: 1px solid var(--slate-200); border-left: 4px solid var(--blue-500); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.coverage-card-edge { border-left-color: var(--amber-500); }
.coverage-card-anomaly { border-left-color: var(--red-500); }
.coverage-card-financial { border-left-color: #169b73; }
.coverage-card-integration { border-left-color: #6c5ce7; }
.coverage-card-head, .coverage-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.coverage-category { color: var(--slate-500); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.coverage-card h2 { margin: 0; color: var(--navy-900); font-size: 18px; }
.coverage-card > p { min-height: 44px; margin: 0; color: var(--slate-600); font-size: 11px; line-height: 1.5; }
.coverage-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin: 0; }
.coverage-facts div { min-width: 0; padding: 10px; background: var(--slate-50); border-radius: var(--radius-sm); }
.coverage-facts dt { color: var(--slate-500); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.coverage-facts dd { overflow: hidden; margin: 4px 0 0; color: var(--navy-900); font-size: 10px; font-weight: 800; text-overflow: ellipsis; }
.coverage-card-foot { padding-top: 13px; margin-top: auto; color: var(--slate-500); border-top: 1px solid var(--slate-200); font-size: 9px; }
.invoice-chain-table .is-selected-row td { background: #edf8fc; }

/* 2026 transactional working surfaces */
.field-grid.three-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.field-grid.four-columns { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.checkbox-field { display: flex; min-height: 42px; flex-direction: row; align-items: center; gap: 9px; padding-top: 19px; }
.checkbox-field input { width: 17px; height: 17px; }
.form-route-grid { padding: 0; }
.form-route-grid::before { display: none; }
.form-route-grid fieldset { min-width: 0; margin: 0; }
.form-route-grid legend { display: flex; align-items: center; gap: 8px; padding: 0 6px; color: var(--navy-900); font-weight: 800; }
.inline-entry-form { padding: 20px; border-top: 1px solid var(--slate-200); background: var(--slate-50); }
.stacked-actions { align-items: stretch; flex-direction: column; }
.stacked-actions .button { width: 100%; }
.compact-activity { display: grid; gap: 10px; margin-top: 18px; }
.compact-activity article { padding: 13px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: var(--radius-sm); }
.compact-activity p { margin: 9px 0; color: var(--slate-700); line-height: 1.55; }
.compact-activity small { color: var(--slate-500); }
.confirmation-sheet { width: min(100%, 8.5in); min-height: 11in; padding: .55in; margin: 0 auto; color: #17222b; background: #fff; border: 1px solid var(--slate-300); box-shadow: 0 18px 45px rgba(8,26,43,.14); box-sizing: border-box; }
.confirmation-sheet > header { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 20px; border-bottom: 3px solid var(--teal-500); }
.confirmation-sheet > header > div:first-child { display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 2px 12px; }
.confirmation-sheet > header .brand-mark { grid-row: 1 / 3; }
.confirmation-sheet > header strong { color: var(--navy-900); font-size: 23px; }
.confirmation-sheet > header small, .confirmation-number span, .confirmation-customer span, .confirmation-route span, .confirmation-notes span { color: var(--slate-500); font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.confirmation-number { display: flex; flex-direction: column; text-align: right; }
.confirmation-number strong { font-size: 26px !important; }
.confirmation-customer { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--slate-200); }
.confirmation-customer div, .confirmation-route div { display: flex; flex-direction: column; gap: 4px; }
.confirmation-customer strong, .confirmation-route strong { color: var(--navy-900); }
.confirmation-route { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0; margin: 22px 0; border: 1px solid var(--slate-300); }
.confirmation-route > div { min-height: 125px; padding: 18px; }
.confirmation-route > div + div { border-left: 1px solid var(--slate-300); }
.confirmation-route p { margin: 4px 0; color: var(--slate-600); line-height: 1.5; }
.confirmation-sheet table { width: 100%; border-collapse: collapse; font-size: 11px; }
.confirmation-sheet th { padding: 9px; color: #fff; background: var(--navy-800); text-align: left; }
.confirmation-sheet td { padding: 10px 9px; border-bottom: 1px solid var(--slate-200); }
.confirmation-sheet td small { display: block; color: var(--slate-500); }
.confirmation-sheet th:last-child, .confirmation-sheet td:last-child { text-align: right; }
.confirmation-sheet tfoot td { color: var(--navy-900); font-size: 14px; font-weight: 900; border-top: 2px solid var(--navy-800); }
.confirmation-notes { padding: 16px; margin-top: 20px; background: var(--slate-50); border-left: 3px solid var(--teal-500); }
.confirmation-notes p { margin: 6px 0 0; line-height: 1.55; }
.confirmation-sheet > footer { display: flex; justify-content: space-between; padding-top: 14px; margin-top: 28px; color: var(--slate-500); border-top: 1px solid var(--slate-300); font-size: 9px; }
.compact-filter select { min-height: 38px; padding: 0 34px 0 12px; border: 1px solid var(--slate-300); border-radius: var(--radius-sm); background: #fff; color: var(--navy-900); }
.dispatch-command-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 16px; margin-bottom: 18px; background: var(--navy-900); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.dispatch-command-bar form { display: flex; min-width: 0; flex: 1; align-items: end; gap: 10px; }
.dispatch-command-bar label { display: flex; min-width: 260px; flex: 1; flex-direction: column; gap: 5px; color: #b7cad7; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.dispatch-command-bar select { min-height: 38px; padding: 0 10px; border: 1px solid #466076; border-radius: 7px; background: #fff; color: var(--navy-900); }
.dispatch-color-key { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px 12px; color: #c9d8e3; font-size: 8px; font-weight: 700; }
.dispatch-color-key span { display: flex; align-items: center; gap: 5px; }
.dispatch-color-key i, .dispatch-dot { display: inline-block; width: 8px; height: 8px; flex: 0 0 auto; background: var(--dispatch-color); border-radius: 99px; }
.dispatch-editor { padding: 0; margin-bottom: 18px; overflow: hidden; }
.dispatch-editor-header { display: flex; align-items: center; justify-content: space-between; padding: 15px 18px; color: #fff; background: linear-gradient(110deg,var(--navy-900),#20455b); }
.dispatch-editor-header h2 { margin: 3px 0 0; color: #fff; font-size: 18px; }
.dispatch-editor-header h2 small { color: #bcd0dc; font-size: 10px; font-weight: 600; }
.dispatch-editor-form { padding: 17px 18px; }
.dispatch-editor-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 11px; }
.dispatch-editor-grid .dispatch-wide { grid-column: span 3; }
.delay-inline { display: grid; grid-template-columns: minmax(240px,1fr) auto auto; align-items: end; gap: 10px; padding: 13px 18px; background: #fff7e8; border-top: 1px solid #f0d9ab; }
.dispatch-workspace { display: grid; grid-template-columns: 285px minmax(0,1fr); gap: 18px; margin-bottom: 18px; }
.dispatch-active-panel,.dispatch-queue-panel { min-width: 0; }
.dispatch-card-list { display: grid; gap: 8px; padding: 0 14px 14px; }
.dispatch-mini-card { position: relative; display: grid; grid-template-columns: 5px 1fr; gap: 10px; padding: 11px; overflow: hidden; color: inherit; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 8px; text-decoration: none; }
.dispatch-mini-card:hover,.dispatch-mini-card.is-selected { background: #eaf7fb; border-color: #89cfe2; }
.dispatch-status-stripe { width: 5px; height: 100%; background: var(--dispatch-color); border-radius: 4px; }
.dispatch-mini-card strong,.dispatch-mini-card small { display: block; }
.dispatch-mini-card small { margin-top: 2px; color: var(--slate-500); font-size: 9px; }
.dispatch-mini-card p { margin: 7px 0 0; color: var(--slate-600); font-size: 9px; line-height: 1.35; }
.dispatch-console-table .dispatch-dot { margin-right: 6px; }
.dispatch-console-table .is-selected-row td { background: #eaf7fb; }
.dispatcher-heading-actions { align-items: flex-end; }
.dispatcher-date-filter { display: flex; align-items: flex-end; gap: 8px; }
.dispatcher-date-filter label { display: flex; flex-direction: column; gap: 4px; color: var(--slate-500); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.dispatcher-date-filter input,.dispatcher-date-filter select { min-height: 38px; padding: 0 10px; color: var(--navy-900); background: #fff; border: 1px solid var(--slate-300); border-radius: var(--radius-sm); }
.dispatcher-day-nav { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 12px; margin: -4px 0 18px; color: var(--navy-900); background: #f7fafb; border: 1px solid var(--slate-200); border-radius: var(--radius-sm); }
.dispatcher-day-nav > div { display: flex; gap: 6px; }
.dispatch-create-disabled { display: flex; min-width: 320px; flex: 1; flex-direction: column; gap: 2px; }
.dispatch-create-disabled span { color: #8fb0c4; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.dispatch-create-disabled strong { color: #fff; font-size: 12px; }
.dispatch-create-disabled small { color: #afc4d2; font-size: 9px; }
.dispatch-source-detail { padding: 0; margin-bottom: 18px; overflow: hidden; }
.dispatch-source-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); margin: 0; padding: 16px 18px; gap: 0; }
.dispatch-source-grid > div { min-width: 0; padding: 9px 12px; border-right: 1px solid var(--slate-200); border-bottom: 1px solid var(--slate-200); }
.dispatch-source-grid > div:nth-child(6n) { border-right: 0; }
.dispatch-source-grid dt { margin-bottom: 4px; color: var(--slate-500); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.dispatch-source-grid dd { margin: 0; overflow-wrap: anywhere; color: var(--navy-900); font-size: 11px; font-weight: 700; line-height: 1.35; }
.dispatch-source-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 12px 18px; background: var(--slate-50); border-top: 1px solid var(--slate-200); }
.dispatch-source-actions span { margin-right: auto; color: var(--slate-600); font-size: 10px; }
.dispatch-form-fieldset { padding: 0; margin: 0; border: 0; }
.dispatch-form-fieldset:disabled { opacity: .68; }
.dispatch-board-options { display: flex; align-items: center; gap: 12px; margin: 0 0 9px; }
.dispatch-view-tabs { display: flex; overflow: hidden; background: #fff; border: 1px solid var(--slate-300); border-radius: 7px; }
.dispatch-view-tabs a { display: flex; align-items: center; gap: 7px; padding: 8px 12px; color: var(--slate-600); font-size: 10px; font-weight: 800; text-decoration: none; }
.dispatch-view-tabs a + a { border-left: 1px solid var(--slate-300); }
.dispatch-view-tabs a.is-active { color: #fff; background: var(--navy-800); }
.dispatch-view-tabs span { min-width: 18px; padding: 2px 5px; color: inherit; background: rgba(255,255,255,.16); border-radius: 99px; text-align: center; }
.open-load-toggle { padding: 7px 10px; color: var(--slate-600); background: #fff; border: 1px solid var(--slate-300); border-radius: 7px; font-size: 9px; font-weight: 700; text-decoration: none; }
.open-load-toggle.is-active { color: #076f78; background: #e4f7f5; border-color: #86d3ca; }
.dispatch-order-type-key { display: flex; align-items: center; gap: 6px; margin-left: auto; color: var(--slate-600); font-size: 8px; }
.dispatch-order-type-key strong { color: var(--navy-900); text-transform: uppercase; }
.dispatch-order-type-key span { padding: 4px 6px; border: 1px solid rgba(20,45,63,.12); border-radius: 3px; }
.dispatch-order-type-key .key-general { background: #eef2f4; }
.dispatch-order-type-key .key-crc { background: #bdecef; }
.dispatch-order-type-key .key-sstpr-pick { background: #ddc29a; }
.dispatch-order-type-key .key-sstpr-delivery { background: #f1a45b; }
.dispatch-workspace-grids { --dispatch-left-ratio: 39%; grid-template-columns: minmax(320px,var(--dispatch-left-ratio)) 12px minmax(520px,1fr); gap: 0; }
.dispatch-resize-handle { position: relative; z-index: 2; min-height: 180px; cursor: col-resize; touch-action: none; outline: 0; }
.dispatch-resize-handle::before { position: absolute; top: 12px; bottom: 12px; left: 5px; width: 2px; content: ''; background: var(--slate-300); border-radius: 99px; transition: width 120ms ease, background-color 120ms ease, box-shadow 120ms ease; }
.dispatch-resize-handle:hover::before,.dispatch-resize-handle:focus-visible::before,.dispatch-workspace-grids.is-resizing .dispatch-resize-handle::before { width: 4px; left: 4px; background: var(--blue-600); box-shadow: 0 0 0 3px rgba(18,142,184,.13); }
.dispatch-workspace-grids.is-resizing,.dispatch-workspace-grids.is-resizing * { cursor: col-resize !important; user-select: none !important; }
.dispatch-grid-table { min-width: 100%; font-size: 9px; }
.dispatch-grid-table th { padding: 8px 7px; font-size: 7px; white-space: nowrap; }
.dispatch-grid-table td { padding: 7px; line-height: 1.25; }
.dispatch-grid-table td:not(:nth-child(4)):not(:nth-child(5)) { white-space: nowrap; }
.dispatch-grid-table .cell-note { margin-top: 2px; font-size: 7px; }
.dispatch-grid-table tr.order-tone-general td { background: #f4f7f8; }
.dispatch-grid-table tr.order-tone-crc td { background: #c9f0f2; }
.dispatch-grid-table tr.order-tone-sstpr-pick td { background: #e5d1ae; }
.dispatch-grid-table tr.order-tone-sstpr-delivery td { background: #f3b376; }
.dispatch-grid-table tr.order-tone-other td { background: #fff; }
.dispatch-grid-table tbody tr:hover td { filter: brightness(.97); }
.dispatch-grid-table tbody tr[data-dispatch-context] { cursor: context-menu; }
.dispatch-adopt-form { display:flex; align-items:end; gap:12px; padding:0 24px 22px; }
.dispatch-adopt-form .field { flex:1; }
.dispatch-grid-table tbody tr[data-dispatch-context]:focus-visible td,.dispatch-grid-table tbody tr.is-context-row td { outline: 2px solid var(--blue-600); outline-offset: -2px; }
.dispatch-grid-table tr.is-selected-row td { background: #76d8f0; box-shadow: inset 0 1px #168caf, inset 0 -1px #168caf; }
.dispatch-active-table tr.order-tone-general td { background: #b7ef9d; }
.dispatch-active-table tr.order-tone-crc td { background: #73e7e6; }
.dispatch-console-heading { margin-bottom: 9px; }
.dispatch-console-heading h1 { font-size: 21px; }
.dispatch-context-menu { position: fixed; z-index: 1200; width: 230px; padding: 5px; background: #fff; border: 1px solid var(--slate-300); border-radius: 6px; box-shadow: 0 16px 42px rgba(8,26,43,.24); }
.dispatch-context-menu[hidden] { display: none; }
.dispatch-context-menu button { display: flex; width: 100%; min-height: 31px; align-items: center; padding: 6px 10px; color: var(--navy-900); background: transparent; border: 0; border-radius: 4px; font: inherit; font-size: 10px; font-weight: 700; text-align: left; cursor: pointer; }
.dispatch-context-menu button:hover,.dispatch-context-menu button:focus-visible { color: #fff; background: var(--blue-600); outline: 0; }
.dispatch-context-menu button.is-danger { color: #a62f3c; }
.dispatch-context-menu button.is-danger:hover,.dispatch-context-menu button.is-danger:focus-visible { color: #fff; background: #b93f4d; }
.dispatch-context-menu hr { height: 1px; margin: 4px 3px; background: var(--slate-200); border: 0; }
.dispatch-context-dialog { width: min(440px,calc(100vw - 28px)); padding: 0; color: var(--navy-900); background: #fff; border: 1px solid var(--slate-300); border-radius: 10px; box-shadow: 0 24px 70px rgba(8,26,43,.32); }
.dispatch-context-dialog::backdrop { background: rgba(8,26,43,.44); }
.dispatch-context-dialog form { display: grid; gap: 14px; padding: 20px; }
.dispatch-context-dialog h2,.dispatch-context-dialog p { margin: 0; }
.dispatch-context-dialog h2 { font-size: 18px; }
.dispatch-context-dialog p { color: var(--slate-600); font-size: 11px; line-height: 1.5; }
.button.button-danger { color: #fff; background: #b93f4d; border-color: #a93442; }
.button.button-danger:hover { background: #a93442; }
.dispatcher-day-nav { margin: 0 0 10px; }
.dispatch-source-detail,.dispatch-editor { margin-bottom: 8px; }
.dispatch-editor-header { padding: 8px 12px; background: #e8eef1; color: var(--navy-900); border-bottom: 1px solid var(--slate-300); }
.dispatch-editor-header .eyebrow,.dispatch-editor-header h2,.dispatch-editor-header h2 small { color: var(--navy-900); }
.dispatch-editor-header h2 { font-size: 15px; }
.dispatch-source-grid { padding: 2px 8px 8px; }
.dispatch-source-grid > div { padding: 6px 8px; }
.dispatch-source-grid dt { margin-bottom: 2px; }
.dispatch-source-actions { padding: 7px 12px; }
.dispatch-assignment summary { padding: 7px 12px; color: var(--navy-800); background: #f6f9fa; font-size: 10px; font-weight: 800; cursor: pointer; }
.dispatch-assignment summary:hover,.dispatch-assignment summary:focus-visible { background: #e8f4f7; }
.dispatch-quick-edit { border-bottom: 1px solid var(--slate-300); background: #f0f8fa; }
.dispatch-quick-edit summary { display: list-item; padding: 10px 12px; color: var(--navy-800); cursor: pointer; font-size: 12px; }
.dispatch-quick-edit summary span { display: inline; margin-left: 12px; font-size: 11px; }
.dispatch-quick-edit summary:focus-visible { outline: 2px solid var(--navy-800); outline-offset: -2px; }
.dispatch-quick-form { padding: 0 12px 12px; }
.dispatch-quick-grid { display: grid; grid-template-columns: 1fr 1.5fr 2fr 1fr; gap: 8px; }
.dispatch-quick-grid .field { min-width: 0; }
.dispatch-inline-select { width: 100%; min-width: 76px; max-width: 210px; min-height: 28px; padding: 3px 5px; border: 1px solid var(--slate-300); border-radius: 4px; background: #fff; color: var(--navy-900); font: inherit; }
.dispatch-inline-form { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; min-width: 165px; margin-top: 4px; }
.dispatch-inline-reason { flex: 1 1 130px; width: 130px; min-width: 0; min-height: 28px; padding: 3px 5px; border: 1px solid var(--slate-300); border-radius: 4px; font: inherit; }
.dispatch-inline-form .button { min-height: 28px; padding: 3px 7px; font-size: 10px; }
.dispatch-inline-adopt { min-height: 26px; padding: 3px 6px; font-size: 10px; }
#dispatch-source-detail { scroll-margin-top: 80px; }
.dispatch-inline-select:focus-visible,.dispatch-inline-reason:focus-visible { outline: 2px solid var(--navy-800); outline-offset: 1px; }
.dispatch-quick-actions { display: flex; align-items: end; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.dispatch-quick-actions .field { flex: 1 1 250px; }
@media (max-width: 720px) { .dispatch-quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .dispatch-quick-edit summary span { display: block; margin: 4px 0 0; } }
@media (max-width: 420px) { .dispatch-quick-grid { grid-template-columns: minmax(0,1fr); } }
.dispatch-editor-form { padding: 12px; }
.dispatch-editor-grid { gap: 8px; }
.dispatch-command-bar { display: block; padding: 7px 9px; margin-bottom: 8px; background: #edf1f3; border: 1px solid var(--slate-300); border-radius: 4px; box-shadow: none; }
.dispatch-action-strip { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.dispatch-action-strip .button { min-height: 29px; padding: 5px 9px; white-space: nowrap; }
.dispatch-action-strip .dispatch-add-load-form { display: flex; flex: 0 1 280px; align-items: center; gap: 5px; }
.dispatch-add-load-form select { min-width: 120px; min-height: 29px; flex: 1; font-size: 10px; }
.dispatch-action-disabled { padding: 6px 9px; color: var(--slate-500); border: 1px dashed var(--slate-300); border-radius: 4px; font-size: 9px; font-weight: 700; }
.dispatch-authority-note { display: block; margin-top: 5px; color: var(--slate-600); font-size: 9px; }
.dispatch-section-tabs { display: flex; gap: 2px; overflow-x: auto; border-bottom: 1px solid var(--slate-300); }
.dispatch-section-tabs button { min-height: 32px; padding: 6px 13px; flex: 0 0 auto; color: var(--slate-600); background: #e8edf0; border: 1px solid var(--slate-300); border-bottom: 0; border-radius: 4px 4px 0 0; font-size: 10px; font-weight: 800; cursor: pointer; }
.dispatch-section-tabs button[aria-selected="true"] { color: var(--navy-900); background: #fff; box-shadow: inset 0 3px var(--blue-600); }
.dispatch-section-tabs button:focus-visible { outline: 2px solid var(--blue-600); outline-offset: -2px; }
.dispatch-tab-panel { padding: 9px 0 0; }
.dispatch-tab-panel[hidden] { display: none; }
.dispatch-board-options { flex-wrap: wrap; gap: 6px 10px; }
.dispatch-board-options .dispatch-color-key { order: 3; width: 100%; justify-content: flex-start; padding: 4px 2px; color: var(--slate-600); }
.dispatch-color-key { color: var(--slate-600); }
.dispatch-color-key i { width: 9px; height: 9px; border: 1px solid rgba(0,0,0,.18); border-radius: 2px; }
.dispatch-order-type-key { flex-wrap: wrap; }
.dispatch-active-panel .panel-heading,.dispatch-queue-panel .panel-heading { padding: 8px 10px; }
.dispatch-active-panel .panel-heading h2,.dispatch-queue-panel .panel-heading h2 { font-size: 12px; }
.dispatch-workspace-grids { min-height: 330px; }
.dispatch-basic-table { min-width: 1050px; }
.dispatch-filter-panel,.dispatch-notes-panel { overflow: hidden; }
.dispatch-filter-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 9px; padding: 14px; }
.dispatch-filter-controls label { display: flex; min-width: 145px; flex-direction: column; gap: 4px; color: var(--slate-600); font-size: 9px; font-weight: 800; }
.dispatch-filter-controls input:not([type="checkbox"]),.dispatch-filter-controls select { min-height: 34px; padding: 5px 8px; color: var(--navy-900); background: #fff; border: 1px solid var(--slate-300); border-radius: 4px; }
.dispatch-filter-controls .dispatch-filter-check { min-width: 0; flex-direction: row; align-items: center; padding-bottom: 8px; }
.dispatch-filter-legends { display: flex; flex-wrap: wrap; gap: 14px; padding: 10px 14px; background: var(--slate-50); border-top: 1px solid var(--slate-200); }
.dispatch-filter-legends .dispatch-order-type-key { margin-left: 0; }
.dispatch-note-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; }
.dispatch-note-list > div { min-width: 0; padding: 14px; border-right: 1px solid var(--slate-200); }
.dispatch-note-list dt { color: var(--slate-500); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.dispatch-note-list dd { margin: 5px 0 0; overflow-wrap: anywhere; font-size: 11px; }
.dispatch-note-empty { padding: 14px; }
.live-roster { min-width: 1380px; }
.live-roster td { vertical-align: top; }
.live-roster select,.live-roster input { min-width: 112px; min-height: 34px; padding: 5px 7px; border: 1px solid var(--slate-200); border-radius: 6px; background: #fff; }
.live-roster td:nth-child(7) input { display: block; width: 220px; margin-bottom: 5px; }
.grow-field { min-width: 280px; flex: 1; }
.customer-rate-form { grid-template-columns: repeat(4,minmax(140px,1fr)); align-items: end; }
.invoice-paper { max-width: 1080px; margin-inline: auto; padding: 34px; }
.invoice-paper>header { display: flex; justify-content: space-between; gap: 30px; padding-bottom: 24px; border-bottom: 2px solid var(--navy-900); }
.invoice-paper>header div { display: flex; flex-direction: column; }
.invoice-paper>header strong { color: var(--navy-900); font-size: 24px; }
.invoice-paper>header div:last-child { text-align: right; }
.invoice-address-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin: 28px 0; }
.invoice-address-grid>div>span { display: block; margin-bottom: 6px; color: var(--slate-500); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.invoice-address-grid dl { margin: 0; }
.invoice-address-grid dl div { display: flex; justify-content: space-between; gap: 15px; padding: 5px 0; }
.invoice-address-grid dt { color: var(--slate-500); }
.invoice-address-grid dd { margin: 0; font-weight: 700; }
.invoice-totals { width: min(390px,100%); margin: 22px 0 0 auto; }
.invoice-totals div { display: flex; justify-content: space-between; padding: 6px 3px; }
.invoice-totals .grand { margin-top: 4px; padding: 10px 3px; border-top: 2px solid var(--navy-900); color: var(--navy-900); font-size: 16px; }
.financial-actions-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 18px 0; }
.top-rule { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--slate-200); }
.inline-period-form { display: flex; gap: 7px; min-width: 300px; }
.inline-period-form input { min-width: 160px; }
.edi-preview { max-width: 520px; max-height: 340px; overflow: auto; padding: 12px; background: #0c1f30; color: #d7edf8; border-radius: 7px; white-space: pre-wrap; }
.inline-pay-form { display: flex; align-items: center; gap: 6px; min-width: 520px; }
.inline-pay-form input { min-width: 100px; }
.inline-pay-form input[name="reason"] { min-width: 170px; }
.compact-list { margin-top: 18px; border-top: 1px solid var(--slate-200); }
.compact-list p { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; margin: 0; padding: 9px 0; border-bottom: 1px solid var(--slate-100); }
.compact-list small { color: var(--slate-500); }
.report-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-bottom: 18px; }
.report-card { display: flex; flex-direction: column; align-items: flex-start; min-height: 210px; }
.report-card h2 { margin: 8px 0; }
.report-card p { flex: 1; color: var(--slate-600); }
.settings-table input,.settings-table select { min-height: 34px; min-width: 130px; padding: 5px 7px; border: 1px solid var(--slate-200); border-radius: 6px; }
.source-compare { margin-top: 24px; padding: 16px; border: 1px solid var(--slate-200); border-radius: 8px; background: var(--slate-50); }
.source-compare>span { color: var(--slate-500); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.work-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.work-card { position: relative; overflow: hidden; }
.work-card::before { position:absolute; inset:0 auto 0 0; width:4px; content:""; background:var(--slate-300); }
.work-card.priority-high::before { background:#e49c35; }.work-card.priority-urgent::before { background:#d4495a; }
.work-card>header,.work-card>footer { display:flex; justify-content:space-between; gap:15px; }
.work-card>header { margin-bottom:16px; }.work-card>header h2 { margin:5px 0 0; }
.work-card>footer { margin:18px -20px -20px; padding:12px 20px; background:var(--slate-50); color:var(--slate-500); font-size:11px; }
@media (max-width: 960px) { .report-card-grid,.work-card-grid { grid-template-columns:1fr; } }
@media (max-width: 960px) { .financial-actions-grid { grid-template-columns: 1fr; } .invoice-address-grid { grid-template-columns: 1fr; } }
@media print { .app-shell .sidebar,.topbar,.back-link,.heading-actions,.financial-actions-grid,.content>.panel:not(.invoice-paper):not(.report-result),.alert { display:none!important; } .app-shell,.main-column,.content { display:block; padding:0; margin:0; } .invoice-paper { box-shadow:none; border:0; max-width:none; } }

.invoice-print-sheet { position: relative; display: flex; width: min(100%, 8.5in); min-height: 11in; flex-direction: column; padding: .46in .5in .4in; margin: 0 auto 30px; overflow: hidden; color: #17222b; background: #fff; border: 1px solid var(--slate-300); box-shadow: 0 18px 45px rgba(8, 26, 43, .14); box-sizing: border-box; font-family: Arial, Helvetica, sans-serif; }
.invoice-document-header { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 28px; padding-bottom: 16px; border-bottom: 3px solid #9a1e2d; }
.invoice-company { display: flex; flex-direction: column; color: #344451; font-size: 11px; line-height: 1.45; }
.invoice-company strong { margin-bottom: 4px; color: #9a1e2d; font-family: Georgia, 'Times New Roman', serif; font-size: 30px; font-style: italic; letter-spacing: -.04em; }
.invoice-document-title { display: grid; grid-template-columns: 1fr auto; align-content: start; gap: 3px 14px; text-align: right; }
.invoice-document-title span { grid-column: 1 / -1; color: #9a1e2d; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.invoice-document-title strong { align-self: end; color: #5c6871; font-size: 10px; text-transform: uppercase; }
.invoice-document-title b { color: #17222b; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 20px; }
.invoice-proof-stamp, .invoice-variant-stamp, .invoice-internal-stamp { width: max-content; padding: 4px 8px; margin-top: 11px; color: #176b5a; background: #e8f7f3; border: 1px solid #bfe9de; border-radius: 4px; font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.invoice-variant-stamp, .invoice-internal-stamp { color: #8f2833; background: #fbecef; border-color: #f4cfd4; }
.invoice-variant-stamp.is-approved { color: #176b5a; background: #e8f7f3; border-color: #bfe9de; }
.invoice-internal-stamp { position: absolute; top: 43%; left: 50%; z-index: 2; width: 570px; padding: 10px; margin: 0; opacity: .13; transform: translate(-50%, -50%) rotate(-24deg); border: 5px solid #9a1e2d; background: transparent; font-size: 34px; text-align: center; }
.invoice-document-meta { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 30px; padding: 21px 0 18px; }
.invoice-bill-to { display: flex; min-height: 116px; flex-direction: column; font-size: 11px; line-height: 1.5; }
.invoice-bill-to strong { margin: 4px 0 2px; color: #17222b; font-size: 15px; }
.invoice-bill-to small { margin-top: auto; color: #76838d; font-size: 8px; }
.invoice-field-label { color: #697681; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.invoice-empty-source { width: max-content; padding: 4px 6px; margin-top: 5px; color: #865811; background: #fff4dc; border-radius: 3px; font-size: 8px; font-weight: 700; }
.invoice-reference-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 15px; margin: 0; }
.invoice-reference-list div { min-width: 0; padding: 5px 0; border-bottom: 1px solid #dfe5e9; }
.invoice-reference-list dt { color: #697681; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.invoice-reference-list dd { margin: 2px 0 0; overflow-wrap: anywhere; color: #17222b; font-size: 10px; font-weight: 700; }
.invoice-route-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #cfd8de; }
.invoice-route-row > div { display: flex; min-height: 92px; flex-direction: column; padding: 12px 14px; font-size: 10px; line-height: 1.45; }
.invoice-route-row > div + div { border-left: 1px solid #cfd8de; }
.invoice-route-row strong { margin: 5px 0 2px; color: #17222b; font-size: 11px; }
.invoice-services { margin-top: 24px; }
.invoice-services table { width: 100%; border-collapse: collapse; font-size: 10px; }
.invoice-services th { padding: 8px 7px; color: #fff; background: #263d4d; font-size: 8px; letter-spacing: .07em; text-align: left; text-transform: uppercase; }
.invoice-services td { padding: 10px 7px; border-bottom: 1px solid #dfe5e9; vertical-align: top; }
.invoice-services td:first-child { width: 90px; white-space: nowrap; }
.invoice-services td:nth-child(2) { width: 45%; }
.invoice-services td strong, .invoice-services td small { display: block; }
.invoice-services td small { margin-top: 3px; color: #76838d; font-size: 8px; }
.invoice-services .number { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.invoice-empty-line td { padding: 28px 10px; color: #697681; text-align: center; }
.invoice-document-total { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 30px; padding: 18px 7px 0; }
.invoice-document-total > div { display: flex; flex-direction: column; }
.invoice-document-total > div:last-child { padding: 12px 14px; background: #f2f5f7; border-top: 3px solid #9a1e2d; text-align: right; }
.invoice-document-total span { color: #697681; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.invoice-document-total strong { margin-top: 4px; color: #17222b; font-size: 13px; }
.invoice-document-total > div:last-child strong { font-size: 19px; font-variant-numeric: tabular-nums; }
.invoice-document-total small { margin-top: 2px; color: #176b5a; font-size: 7px; font-weight: 700; }
.invoice-document-note { padding: 10px 12px; margin: 17px 0 0; color: #344451; background: #f7f9fa; border-left: 3px solid #697681; font-size: 9px; line-height: 1.5; }
.invoice-document-footer { padding-top: 14px; margin-top: auto; color: #53616b; border-top: 1px solid #cfd8de; font-size: 8px; line-height: 1.45; }
.invoice-document-footer p { margin: 0 0 3px; }
.invoice-document-footer div { display: flex; justify-content: space-between; padding-top: 6px; margin-top: 7px; color: #76838d; border-top: 1px solid #e4e9ec; font-size: 7px; }
.invoice-print-sheet-gated { border-color: #e5b9bf; }
.cci-freight-bill { position: relative; display: block; padding: .38in .55in .5in .62in; color: #111; font-family: Arial, Helvetica, sans-serif; font-size: 10px; overflow: visible; }
.cci-invoice-side-number { position: absolute; top: .55in; left: .31in; font-size: 12px; font-weight: 700; writing-mode: vertical-rl; transform: rotate(180deg); }
.cci-invoice-header { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr); gap: 28px; align-items: start; }
.cci-invoice-company { display: flex; align-items: flex-start; gap: 16px; }
.cci-invoice-company img { width: 176px; height: 76px; object-fit: contain; object-position: center; }
.cci-invoice-company > div { display: flex; flex-direction: column; line-height: 1.35; }
.cci-invoice-company strong { margin-bottom: 3px; font-size: 13px; }
.cci-invoice-identity { text-align: center; }
.cci-invoice-identity > span { display: block; font-size: 14px; line-height: 1.15; }
.cci-invoice-identity > strong { position: absolute; top: .51in; right: .62in; font-size: 14px; }
.cci-invoice-identity dl { margin: 9px 0 0; }
.cci-invoice-identity dl div { display: grid; grid-template-columns: 1fr 1.1fr; gap: 8px; min-height: 18px; align-items: baseline; }
.cci-invoice-identity dt { text-align: right; }
.cci-invoice-identity dd { margin: 0; text-align: left; }
.cci-invoice-customer { display: grid; grid-template-columns: 92px 1fr; min-height: 94px; padding: 2px 8px 8px 0; }
.cci-invoice-customer > div { display: flex; flex-direction: column; line-height: 1.45; }
.cci-invoice-customer strong { margin-bottom: 2px; font-weight: 500; }
.cci-invoice-route { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; margin: 0 18px 8px 0; }
.cci-invoice-route > div { display: grid; grid-template-columns: 102px 1fr; align-content: start; min-height: 61px; line-height: 1.35; }
.cci-invoice-route > div > span:first-child { grid-row: 1 / span 3; }
.cci-invoice-route strong { font-weight: 500; }
.cci-invoice-block { margin-top: 8px; }
.cci-invoice-block h2 { padding: 3px 6px; margin: 0; border: 1px solid #333; border-bottom: 0; font-size: 10px; font-weight: 500; text-transform: uppercase; }
.cci-invoice-block table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.cci-invoice-block th, .cci-invoice-block td { height: 23px; padding: 3px 7px; border: 1px solid #333; color: #111; background: #fff; font-size: 10px; font-weight: 400; text-align: left; vertical-align: middle; }
.cci-invoice-block th { border-bottom: 1px solid #777; }
.cci-material-block th:nth-child(1), .cci-material-block td:nth-child(1) { width: 10%; }
.cci-material-block th:nth-child(2), .cci-material-block td:nth-child(2) { width: 12%; }
.cci-material-block th:nth-child(4), .cci-material-block td:nth-child(4) { width: 11%; }
.cci-material-block th:nth-child(5), .cci-material-block td:nth-child(5) { width: 14%; }
.cci-service-block { margin-top: 29px; }
.cci-service-block th:first-child, .cci-service-block td:first-child { width: 15%; }
.cci-service-block th:nth-child(3), .cci-service-block td:nth-child(3) { width: 9%; }
.cci-service-block th:nth-child(4), .cci-service-block td:nth-child(4), .cci-service-block th:nth-child(5), .cci-service-block td:nth-child(5) { width: 15%; }
.cci-service-block .number { text-align: right; font-variant-numeric: tabular-nums; }
.cci-service-block tfoot td:first-child { text-transform: none; }
.cci-service-block tfoot td:last-child { text-align: right; }
.cci-service-block tfoot b { display: inline-block; min-width: 88px; margin-left: 18px; font-size: 11px; }
.invoice-material-heading { padding: 48px 0 18px; text-align: center; }
.invoice-material-heading h2 { margin: 6px 0 0; color: #17222b; font-family: Georgia, 'Times New Roman', serif; font-size: 25px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
.invoice-materials { margin-top: 10px; }
.invoice-materials th:first-child, .invoice-materials td:first-child { width: 82px; }
.invoice-materials th:nth-child(2), .invoice-materials td:nth-child(2) { width: 95px; }
.invoice-materials th:last-child, .invoice-materials td:last-child { width: 95px; }
.invoice-print-sheet-dense .invoice-document-header { padding-bottom: 9px; }
.invoice-print-sheet-dense .invoice-company { font-size: 9px; line-height: 1.25; }
.invoice-print-sheet-dense .invoice-company strong { margin-bottom: 1px; font-size: 25px; }
.invoice-print-sheet-dense .invoice-document-title b { font-size: 17px; }
.invoice-print-sheet-dense .invoice-proof-stamp,
.invoice-print-sheet-dense .invoice-variant-stamp { padding: 3px 6px; margin-top: 6px; font-size: 7px; }
.invoice-print-sheet-dense .invoice-document-meta { gap: 22px; padding: 10px 0 8px; }
.invoice-print-sheet-dense .invoice-bill-to { min-height: 76px; font-size: 9px; line-height: 1.3; }
.invoice-print-sheet-dense .invoice-bill-to strong { margin: 2px 0 1px; font-size: 12px; }
.invoice-print-sheet-dense .invoice-reference-list div { padding: 3px 0; }
.invoice-print-sheet-dense .invoice-reference-list dd { margin-top: 1px; font-size: 8px; }
.invoice-print-sheet-dense .invoice-route-row > div { min-height: 58px; padding: 7px 10px; font-size: 8px; line-height: 1.3; }
.invoice-print-sheet-dense .invoice-route-row strong { margin: 2px 0 1px; font-size: 9px; }
.invoice-print-sheet-dense .invoice-services { margin-top: 10px; }
.invoice-print-sheet-dense .invoice-services table { font-size: 8px; }
.invoice-print-sheet-dense .invoice-services th { padding: 4px 5px; font-size: 7px; }
.invoice-print-sheet-dense .invoice-services td { padding: 4px 5px; }
.invoice-print-sheet-dense .invoice-services td:first-child { width: 73px; }
.invoice-print-sheet-dense .invoice-services td small { margin-top: 1px; font-size: 6px; }
.invoice-print-sheet-dense .invoice-document-total { grid-template-columns: minmax(0, 1fr) 190px; gap: 22px; padding: 8px 5px 0; }
.invoice-print-sheet-dense .invoice-document-total > div:last-child { padding: 7px 10px; }
.invoice-print-sheet-dense .invoice-document-total strong { margin-top: 2px; font-size: 10px; }
.invoice-print-sheet-dense .invoice-document-total > div:last-child strong { font-size: 16px; }
.invoice-print-sheet-dense .invoice-document-note { padding: 6px 9px; margin-top: 8px; font-size: 7px; line-height: 1.35; }
.invoice-print-sheet-dense .invoice-document-footer { padding-top: 7px; font-size: 6px; line-height: 1.3; }
.invoice-print-sheet-dense .invoice-document-footer p { margin-bottom: 1px; }
.invoice-print-sheet-dense .invoice-document-footer div { padding-top: 3px; margin-top: 4px; font-size: 6px; }

@media (max-width: 1100px) {
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .form-layout { grid-template-columns: minmax(0, 1fr) 290px; }
    .coverage-grid { grid-template-columns: 1fr; }
    .dispatch-editor-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .dispatch-workspace { grid-template-columns: 1fr; }
    .dispatch-resize-handle { display: none; }
    .dispatch-source-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .dispatch-source-grid > div:nth-child(6n) { border-right: 1px solid var(--slate-200); }
    .dispatch-source-grid > div:nth-child(3n) { border-right: 0; }
    .dispatch-board-options { align-items: flex-start; flex-wrap: wrap; }
    .dispatch-order-type-key { width: 100%; margin-left: 0; flex-wrap: wrap; }
}

@media (max-width: 1100px) {
    .page-heading { align-items: flex-start; flex-direction: column; }
    .heading-actions { max-width: 100%; flex-wrap: wrap; justify-content: flex-start; }
}

@media (max-width: 860px) {
    .sidebar { transform: translateX(-100%); box-shadow: 12px 0 35px rgba(8, 26, 43, .22); transition: transform 220ms ease; }
    .sidebar.is-open { transform: translateX(0); }
    .main-column { width: 100%; margin-left: 0; }
    .mobile-menu { display: flex; width: 35px; height: 35px; flex-direction: column; align-items: center; justify-content: center; gap: 4px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 8px; }
    .mobile-menu span { width: 15px; height: 1.5px; background: var(--navy-800); }
    .topbar-context { display: none; }
    .content-grid, .form-layout, .order-detail-grid, .route-grid { grid-template-columns: 1fr; }
    .field-grid.three-columns, .field-grid.four-columns, .confirmation-customer, .confirmation-route { grid-template-columns: 1fr; }
    .confirmation-route > div + div { border-top: 1px solid var(--slate-300); border-left: 0; }
    .dispatch-command-bar,.dispatch-command-bar form { align-items: stretch; flex-direction: column; }
    .dispatch-color-key { justify-content: flex-start; }
    .dispatch-editor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .dispatch-editor-grid .dispatch-wide { grid-column: span 2; }
    .dispatcher-date-filter { width: 100%; align-items: stretch; flex-direction: column; }
    .dispatcher-day-nav { align-items: stretch; flex-direction: column; }
    .dispatcher-day-nav > div { justify-content: space-between; }
    .dispatch-source-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .dispatch-source-grid > div:nth-child(3n) { border-right: 1px solid var(--slate-200); }
    .dispatch-source-grid > div:nth-child(2n) { border-right: 0; }
    .dispatch-source-actions { align-items: stretch; flex-direction: column; }
    .dispatch-source-actions span { margin: 0 0 4px; }
    .delay-inline { grid-template-columns: 1fr; }
    .dispatch-action-strip .dispatch-add-load-form { flex-basis: 100%; }
    .dispatch-note-list { grid-template-columns: 1fr; }
    .dispatch-note-list > div { border-right: 0; border-bottom: 1px solid var(--slate-200); }
    .route-grid::before { display: none; }
    .sticky-panel { position: static; }
    .auth-panel { grid-template-columns: 1fr; }
    .auth-story { min-height: 330px; padding: 30px; }
    .auth-story-copy { padding: 40px 0; }
    .auth-story-copy h1 { font-size: 40px; }
    .auth-form-wrap { min-height: auto; padding: 35px 20px 50px; }
}

@media (max-width: 620px) {
    .topbar { height: 62px; padding: 0 15px; }
    .account-copy { display: none; }
    .content { padding: 25px 16px 38px; }
    .page-heading { align-items: flex-start; flex-direction: column; }
    .page-heading > .button { width: 100%; }
    .heading-actions { width: 100%; align-items: stretch; flex-direction: column; }
    .heading-actions > * { justify-content: center; }
    .metric-grid, .two-columns, .role-grid { grid-template-columns: 1fr; }
    .metric-card { min-height: 125px; }
    .filter-bar { align-items: stretch; flex-wrap: wrap; }
    .search-field { width: 100%; }
    .select-field { width: calc(100% - 95px); }
    .dispatch-filter-bar .search-field, .dispatch-filter-bar .select-field { width: 100%; flex-basis: 100%; }
    .customer-filter-bar .search-field, .customer-filter-bar .select-field { width: 100%; flex-basis: 100%; }
    .invoice-filter-bar .search-field, .invoice-filter-bar .select-field, .invoice-filter-bar .date-field { width: 100%; flex-basis: 100%; }
    .driver-status-filter-bar .date-field, .driver-status-filter-bar .search-field, .driver-status-filter-bar .select-field { width: 100%; flex-basis: 100%; }
    .dispatch-history-filter .date-field, .dispatch-history-filter .search-field, .dispatch-history-filter .select-field, .equipment-status-filter .date-field, .equipment-status-filter .search-field { width: 100%; flex-basis: 100%; }
    .equipment-filter-bar .search-field, .equipment-filter-bar .select-field { width: 100%; flex-basis: 100%; }
    .roll-call-date-list { grid-template-columns: 1fr; padding-right: 17px; padding-left: 17px; }
    .record-count { width: 100%; margin: 4px 0 0; }
    .pagination { align-items: stretch; flex-direction: column; }
    .pagination > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .roadmap li { grid-template-columns: 33px 1fr; }
    .roadmap-state { display: none; }
    .auth-card { padding: 28px 24px; }
    .auth-story-copy h1 { font-size: 34px; }
    .auth-story-copy p { font-size: 13px; }
    .form-panel { padding: 19px 17px; }
    .definition-grid { grid-template-columns: 1fr; padding-right: 17px; padding-left: 17px; }
    .definition-grid > div { grid-column: auto; }
    .definition-grid > div:nth-last-child(2) { border-bottom: 1px solid var(--slate-100); }
    .route-grid { padding: 17px; }
    .coverage-card { padding: 18px; }
    .coverage-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .coverage-card-foot { align-items: flex-start; flex-direction: column; }
    .invoice-print-sheet { min-height: 0; padding: 25px 19px; }
    .invoice-document-header, .invoice-document-meta, .invoice-route-row, .invoice-document-total { grid-template-columns: 1fr; }
    .invoice-document-title { margin-top: 4px; text-align: left; }
    .invoice-document-title strong { justify-self: start; }
    .invoice-route-row > div + div { border-top: 1px solid #cfd8de; border-left: 0; }
    .invoice-services { overflow-x: auto; }
    .invoice-services table { min-width: 610px; }
    .invoice-internal-stamp { width: 430px; font-size: 25px; }
    .dispatch-editor-grid { grid-template-columns: 1fr; }
    .dispatch-editor-grid .dispatch-wide { grid-column: auto; }
    .dispatch-source-grid { grid-template-columns: 1fr; }
    .dispatch-source-grid > div { border-right: 0 !important; }
    .dispatch-board-options { align-items: stretch; flex-direction: column; }
    .dispatch-view-tabs { width: 100%; }
    .dispatch-view-tabs a { flex: 1; justify-content: center; }
    .dispatch-action-strip .button { flex: 1 1 auto; text-align: center; }
    .dispatch-add-load-form select { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

.order-action-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; padding: 10px 12px; border: 1px solid var(--slate-200); border-radius: 12px; background: #fff; }
.master-tabs { display: flex; align-items: center; gap: 4px; overflow-x: auto; margin: 0 0 14px; padding: 3px 3px 0; border-bottom: 1px solid var(--slate-200); scrollbar-width: thin; }
.master-tabs a, .master-tabs .is-deferred { flex: 0 0 auto; padding: 10px 12px; border-radius: 8px 8px 0 0; font-size: 12px; font-weight: 700; white-space: nowrap; }
.master-tabs a { color: var(--slate-600); text-decoration: none; }
.master-tabs a:hover, .master-tabs a:focus-visible { background: var(--slate-100); }
.master-tabs a.is-active { color: var(--blue-700, #15588d); background: #eaf4fb; box-shadow: inset 0 -2px currentColor; }
.master-tabs .is-deferred { color: var(--slate-500); font-weight: 500; }
.master-boundary { margin: 0 0 14px; padding: 10px 12px; border: 1px solid var(--slate-200); border-radius: 10px; background: #f7fafc; color: var(--slate-600); font-size: 12px; line-height: 1.5; }
.source-section-label { margin: 22px 0 10px; scroll-margin-top: 82px; }
.source-section-label h2 { margin: 4px 0; font-size: 18px; }
.source-section-label p { margin: 0; color: var(--slate-600); font-size: 12px; }
#cci-periods, #cci-accounts, #cci-subaccounts, #payroll-source, #payroll-rates, #payroll-time, #payroll-runs, #subhaul-source, #subhaul-rates, #subhaul-register { scroll-margin-top: 82px; }
#customer-details, #customer-departments, #customer-locations, #driver-identity, #driver-roll-history, #equipment-master, #working-profile, #working-rates { scroll-margin-top: 80px; }
@media (max-width: 700px) { .master-tabs { margin-right: -12px; padding-right: 12px; } .live-roster { min-width: 1000px; } }
.order-go-form { display: flex; align-items: center; gap: 8px; margin-right: auto; }
.order-go-form label { font-size: 12px; font-weight: 700; white-space: nowrap; }
.order-go-form input { width: 112px; min-height: 36px; padding: 6px 9px; border: 1px solid var(--slate-300); border-radius: 7px; }
.order-action-unavailable { color: var(--slate-500); font-size: 12px; padding: 7px 4px; }
.order-tabs { display: flex; gap: 4px; overflow-x: auto; margin: 12px 0 16px; padding: 4px; border-bottom: 1px solid var(--slate-200); scrollbar-width: thin; }
.order-tabs a { flex: 0 0 auto; padding: 10px 13px; border-radius: 8px 8px 0 0; color: var(--slate-600); font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.order-tabs a:hover, .order-tabs a:focus-visible { background: var(--slate-100); }
.order-tabs a.is-active { color: var(--blue-700, #15588d); background: #eaf4fb; box-shadow: inset 0 -2px currentColor; }
.order-tab-panel[hidden] { display: none !important; }
.order-tab-panel > .panel, .order-tab-panel > .content-grid, .order-tab-panel > .order-detail-grid { margin-bottom: 16px; }
.order-tab-panel .table-scroll { max-width: 100%; overflow-x: auto; }
.order-tab-panel .data-table { min-width: 760px; }
.order-filter-bar { flex-wrap: wrap; }
.order-advanced-fields { order: 10; flex: 1 0 100%; margin-top: 4px; padding: 8px 10px; border: 1px solid var(--slate-200); border-radius: 8px; }
.order-advanced-fields summary { cursor: pointer; font-size: 12px; font-weight: 700; }
.order-advanced-fields .field-grid { margin-top: 10px; }
.order-advanced-fields .empty-inline { margin: 8px 0 0; font-size: 12px; }
@media (max-width: 700px) { .order-action-strip { align-items: stretch; } .order-go-form { width: 100%; } .order-go-form input { flex: 1; min-width: 0; } .order-tabs { margin-right: -12px; padding-right: 12px; } }

@page { size: Letter; margin: 0; }

@media print {
    html, body { width: 8.5in; min-width: 8.5in; height: 11in; margin: 0; background: #fff; }
    body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .sidebar, .topbar, .print-proof-heading, .print-proof-gate, .no-print { display: none !important; }
    .app-shell, .main-column, .content { display: block; width: 8.5in; min-width: 8.5in; min-height: 0; padding: 0; margin: 0; }
    .invoice-print-sheet { width: 8.5in; min-height: 11in; padding: .46in .5in .4in; margin: 0; overflow: hidden; border: 0; border-radius: 0; box-shadow: none; break-after: page; }
    .invoice-print-sheet.cci-freight-bill { padding: .38in .55in .5in .62in; overflow: visible; break-after: auto; }
    .invoice-material-sheet { break-after: auto; }
    .invoice-print-sheet-gated { display: none; }
    .confirmation-sheet { width: 8.5in; min-height: 11in; padding: .55in; margin: 0; border: 0; box-shadow: none; }
    .content:has(>.report-result) { padding: .4in; box-sizing: border-box; }
    .content:has(>.report-result)>.master-boundary { display: none !important; }
    .report-result { display: block !important; width: 100%; border: 0; box-shadow: none; overflow: visible; }
    .report-result .table-scroll { overflow: visible; }
    .report-result table { min-width: 0; width: 100%; table-layout: auto; font-size: 9px; }
    .report-result th, .report-result td { white-space: normal; overflow-wrap: anywhere; }
    .report-result thead { display: table-header-group; }
    .report-result tr { break-inside: avoid; }
}

/* Report-only pages: preserve numeric values and print the grand total once. */
@page dmx-report { size: Letter; margin: .4in; }
@page dmx-report-wide { size: Letter landscape; margin: .35in; }
@media print {
    html:has(.report-result), body:has(.report-result) { width: auto; min-width: 0; height: auto; min-height: 0; }
    body:has(.report-result) { page: dmx-report; }
    body:has(.report-result[data-report-code="source_invoice_register"]) { page: dmx-report-wide; }
    .app-shell:has(.report-result), .main-column:has(.report-result), .content:has(>.report-result) { width: auto; min-width: 0; min-height: 0; height: auto; padding: 0; }
    .content:has(>.report-result)>.page-heading { display: none !important; }
    .report-result .panel-heading { padding: 0 0 12px; }
    .report-result th, .report-result td { padding: 6px 5px; overflow-wrap: normal; word-break: normal; }
    .report-result th { font-size: 9px; }
    .report-result td { font-size: 10px; }
    .report-result .money-cell { white-space: nowrap; text-align: right; }
    .report-result .report-value { white-space: nowrap; }
    .report-result tfoot { display: table-row-group; font-weight: 700; }
}

.document-preview-row { cursor: pointer; }
.document-preview-row:hover { background: var(--slate-100); }
.document-preview-row:focus-visible { outline: 2px solid var(--blue-700, #15588d); outline-offset: -2px; }
.document-preview-dialog { width: min(1100px, calc(100vw - 24px)); max-width: none; height: min(900px, calc(100dvh - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 1px solid var(--slate-300); border-radius: 12px; background: #fff; color: var(--navy-900); box-shadow: 0 24px 70px rgba(8,26,43,.32); }
.document-preview-dialog[open] { display: flex; flex-direction: column; }
.document-preview-dialog::backdrop { background: rgba(8,26,43,.6); }
.document-preview-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--slate-200); }
.document-preview-heading h2 { min-width: 0; margin: 0; font-size: 18px; overflow-wrap: anywhere; }
.document-preview-heading > div { display: flex; flex-shrink: 0; gap: 8px; }
.document-preview-body { flex: 1; min-height: 0; overflow: auto; background: var(--slate-100); }
.document-preview-pages { display: grid; gap: 16px; padding: 16px; }
.document-preview-pages canvas { display: block; width: 100%; height: auto; background: #fff; box-shadow: 0 2px 8px rgba(8,26,43,.15); }
.document-preview-status { margin: 0; padding: 12px 16px; color: var(--slate-600); font-size: 13px; }
.document-preview-status:empty { display: none; }
.document-preview-body img { display: block; width: 100%; min-height: 100%; object-fit: contain; }
.document-preview-body [hidden] { display: none !important; }
.document-preview-help { margin: 0; padding: 8px 18px; color: var(--slate-600); font-size: 12px; }
@media (max-width: 700px) { .document-preview-heading { padding: 12px; align-items: flex-start; flex-wrap: wrap; } .document-preview-heading h2 { flex: 1 0 100%; font-size: 16px; } .document-preview-help { padding: 8px 12px; } }
@media print { .document-preview-dialog { display: none !important; } }

.invoice-action-strip { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 0 0 12px; padding: 8px 10px; border: 1px solid var(--slate-200); border-radius: 10px; background: #fff; }
.invoice-action-strip .button { min-height: 33px; padding: 7px 10px; font-size: 12px; white-space: nowrap; }
.invoice-command-divider { width: 1px; height: 25px; margin: 0 3px; background: var(--slate-200); }
.invoice-command-unavailable { padding: 6px 4px; color: var(--slate-500); font-size: 11px; white-space: nowrap; }
.invoice-tabs { display: flex; gap: 3px; overflow-x: auto; margin: 0 0 14px; padding: 3px 3px 0; border-bottom: 1px solid var(--slate-200); scrollbar-width: thin; }
.invoice-tabs a { flex: 0 0 auto; padding: 10px 13px; color: var(--slate-600); border-radius: 7px 7px 0 0; font-size: 12px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.invoice-tabs a:hover, .invoice-tabs a:focus-visible { background: var(--slate-100); }
.invoice-tabs a.is-active { color: var(--blue-700, #15588d); background: #eaf4fb; box-shadow: inset 0 -2px currentColor; }
.invoice-tab-panel[hidden] { display: none !important; }
.invoice-tab-panel > .panel, .invoice-tab-panel > .order-detail-grid, .invoice-tab-panel > .financial-actions-grid { margin-bottom: 14px; }
.invoice-tab-panel .table-scroll { max-width: 100%; overflow-x: auto; }
.invoice-tax-panel .definition-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.invoice-lines-table { min-width: 900px; }
.invoice-filter-bar { flex-wrap: wrap; }
#pending-source-orders, #build-working-invoice, #working-invoices, #source-invoices { scroll-margin-top: 80px; }
@media (max-width: 700px) {
    .invoice-action-strip { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; }
    .invoice-action-strip > * { flex: 0 0 auto; }
    .invoice-command-divider { display: none; }
    .invoice-tabs { margin-right: -12px; padding-right: 12px; }
    .invoice-tax-panel .definition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media print {
    .invoice-action-strip, .invoice-tabs, #invoice-actions, #invoice-history { display: none !important; }
    #invoice-overview, #invoice-lines { display: block !important; }
    .invoice-tab-panel .panel { box-shadow: none; break-inside: avoid; }
    .invoice-tab-panel .table-scroll { overflow: visible; }
    .invoice-lines-table { min-width: 0; }
}
.invoice-service-row { min-width: 0; margin: 1rem 0; padding: 1rem; border: 1px solid var(--border, #dce2eb); border-radius: .75rem; }
.invoice-service-row legend { padding: 0 .4rem; font-weight: 700; }
.invoice-document-choices { min-width: 0; display: grid; gap: .6rem; margin: 1rem 0; padding: 1rem; border: 1px solid var(--border, #dce2eb); }
.invoice-document-choices label, .invoice-attestation { display: flex; align-items: flex-start; gap: .6rem; }
.invoice-document-choices input, .invoice-attestation input { width: auto; flex-shrink: 0; }
.invoice-evidence-hash { overflow-wrap: anywhere; font-size: .75rem; }
.cci-freight-bill { position: relative; }
.invoice-proof-watermark { margin: 0 0 1rem; padding: .6rem; text-align: center; border: 2px solid #b45309; color: #92400e; font-size: 1.2rem; font-weight: 800; letter-spacing: .12em; }
.invoice-evidence-index { margin-top: 1.2rem; break-inside: avoid; }
.invoice-packet-status { margin: 14px 0; padding: 12px 16px; color: var(--navy-900); background: var(--blue-100); border-radius: 6px; }
.invoice-packet-print-block { display: none; }
.invoice-packet-page { display: flex; align-items: center; justify-content: center; width: min(100%, 8.5in); min-height: 11in; margin: 20px auto; padding: .35in; box-sizing: border-box; background: #fff; box-shadow: 0 4px 20px rgba(8,26,43,.12); }
.invoice-packet-page canvas { display: block; max-width: 100%; max-height: 10.3in; width: auto; height: auto; }
@media print {
    @page { size: Letter; margin: 0; }
    .invoice-packet:not([data-print-approved="true"]) .invoice-packet-content { display: none !important; }
    .invoice-packet:not([data-print-approved="true"]) .invoice-packet-print-block { display: block !important; padding: 1in; color: #111; font-size: 16pt; }
    .invoice-packet[data-print-approved="true"] .invoice-packet-print-block { display: none !important; }
    .invoice-packet-page { width: 8.5in; height: 11in; min-height: 11in; padding: .35in; margin: 0; box-shadow: none; break-before: page; break-inside: avoid; overflow: hidden; }
    .invoice-packet-page canvas { max-width: 7.8in; max-height: 10.3in; }
    .invoice-packet-document { margin: 0; padding: 0; }
    .invoice-packet .cci-freight-bill { break-after: auto; }
}
@media print { .invoice-proof-watermark { color: #333; border-color: #333; } .invoice-evidence-index a { color: inherit; text-decoration: none; } }
.dispatcher-date-options { flex-wrap: wrap; gap: .75rem; }
.billing-alert-bell { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 8px; color: var(--navy-900); text-decoration: none; }
.billing-alert-bell:hover, .billing-alert-bell:focus-visible { background: var(--slate-100); outline: 2px solid currentColor; outline-offset: 2px; }
.billing-alert-badge { position: absolute; top: 0; right: -3px; min-width: 19px; padding: 2px 4px; border-radius: 10px; background: #b42318; color: #fff; text-align: center; font-size: 11px; font-weight: 700; }
.billing-ticket-list { display: grid; gap: 12px; padding: 16px; }
.billing-ticket-card { min-width: 0; padding: 16px; border: 1px solid var(--slate-200); border-radius: 10px; overflow-wrap: anywhere; }
.billing-ticket-card h3 { margin-top: 0; }
.billing-ticket-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.billing-ticket-card textarea { width: 100%; box-sizing: border-box; }
.manual-ticket-upload { min-width: 0; padding: 20px; margin: 16px 0; scroll-margin-top: 80px; }
.manual-ticket-upload h2 { margin-top: 0; }
.manual-ticket-upload input[type="file"] { width: 100%; min-width: 0; }
.dispatcher-date-shortcuts { display: flex; flex-wrap: wrap; gap: .35rem; }
.dispatcher-date-shortcuts [aria-current] { background: var(--color-primary, #176b87); color: #fff; }
.nav-group { margin-top: 10px; border-top: 1px solid rgba(255,255,255,.12); padding-top: 8px; }
.nav-group > summary { padding: 11px 14px; color: #c8d8e4; font-size: 13px; font-weight: 700; cursor: pointer; }
.nav-group > summary:hover, .nav-group > summary:focus-visible { color: #fff; background: rgba(255,255,255,.07); border-radius: 8px; }
.nav-group .nav-link { padding-left: 20px; }
.home-job-search { max-width: 760px; margin: 0 0 24px; }
.home-job-search > label { display: block; margin-bottom: 8px; font-weight: 700; }
.home-job-search > div { display: flex; gap: 8px; }
.home-job-search input { flex: 1; min-width: 0; background: #fff; }
.daily-work-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 24px; }
.daily-work-card { display: block; min-width: 0; padding: 24px; border: 1px solid var(--slate-200); border-radius: 12px; color: var(--navy-900); background: #fff; text-decoration: none; }
.daily-work-card:hover, .daily-work-card:focus-visible { border-color: #1971a3; box-shadow: 0 3px 12px rgba(8,26,43,.1); outline-offset: 3px; }
.daily-work-card h2 { margin: 12px 0 8px; font-size: 24px; }
.daily-work-card p { min-height: 3.2em; color: var(--slate-600); line-height: 1.6; }
.daily-work-card > strong { font-size: 14px; color: #176b87; }
.daily-work-number { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; color: #176b87; background: #eaf4fb; font-weight: 800; }
.job-advanced { margin: 16px 0; padding: 14px 18px; border: 1px solid var(--slate-200); border-radius: 10px; background: #fff; }
.job-advanced > summary { cursor: pointer; font-weight: 700; color: var(--slate-600); }
.job-advanced[open] > summary { margin-bottom: 16px; }
.job-advanced > .panel, .job-advanced > .metric-grid { margin-top: 16px; }
.operator-next-step { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 16px 0; padding: 18px 20px; border: 1px solid #b8d8eb; border-radius: 10px; background: #eef7fc; }
.operator-next-step h2, .operator-next-step p { margin: 0; }
.operator-next-step p { margin-top: 6px; color: var(--slate-600); }
.workflow-steps { margin: 0 0 20px; }
.workflow-steps ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: job-step; }
.workflow-steps li { display: flex; align-items: center; gap: 7px; padding: 8px 12px; border-radius: 7px; color: var(--slate-600); background: #e9eef2; font-size: 12px; font-weight: 700; counter-increment: job-step; }
.workflow-steps li::before { content: counter(job-step); opacity: .7; }
.workflow-steps li.is-current { color: #fff; background: #176b87; }
.workflow-steps a { color: inherit; text-decoration: none; }
.workflow-steps a:hover { text-decoration: underline; }
.invoice-service-row [data-remove-invoice-service] { margin-top: 12px; }
.home-admin-details .metric-card { box-shadow: none; }
@media (max-width: 800px) { .daily-work-grid { grid-template-columns: 1fr; gap: 12px; } .daily-work-card { padding: 18px; } .daily-work-card p { min-height: 0; } }
@media (max-width: 520px) { .home-job-search > div { flex-direction: column; } .workflow-steps ol { gap: 5px; } .workflow-steps li { padding: 7px 8px; font-size: 11px; } .operator-next-step { padding: 14px; } }
@media print { .workflow-steps, .nav-group, .operator-next-step, .home-admin-details { display: none !important; } }
.dispatcher-date-options strong { overflow-wrap: anywhere; }
@media (max-width: 640px) {
    .dispatcher-date-shortcuts { width: 100%; }
    .dispatcher-date-shortcuts a { flex: 1 1 auto; text-align: center; }
    .dispatcher-date-filter { flex-wrap: wrap; }
    .dispatcher-date-filter label { flex: 1 1 auto; min-width: 0; }
}
