/* Existing geometry is retained as the lowest-priority layer, especially the
   protected Organization tree. Shared design layers override presentation only. */
@layer legacy, tokens, components, responsive;
@import url('./tokens.css') layer(tokens);
@import url('./components.css') layer(components);
@import url('./responsive.css') layer(responsive);
@layer legacy {
:root {
  color-scheme: light;
  --page: #f4f6f8; --surface: #ffffff; --subtle: #f7f9fb;
  --header: #000000; --text: #1a232b; --secondary: #61707d; --muted: #61707d;
  --border: #d5dee6; --control-border: #d5dee6; --hover: #e6f0ff;
  --accent: #276fc7; --primary: #276fc7; --on-accent: #ffffff; --primary-text: #ffffff;
  --success: #147a45; --success-surface: #e8f7ee;
  --error: #bc3038; --error-surface: #fff0f1; --warning: #9a5c0b;
  --shadow-color: #1014161f;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  color: var(--text);
  background: var(--page);
}

* { box-sizing: border-box; }
body { margin: 0; }
.orbit-workspace { width: 100%; margin: 0; }
.orbit-topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 1rem; min-height: 4rem; padding: .65rem 1.25rem; background: var(--header); color: var(--on-accent); }
.orbit-brand { display: flex; align-items: center; gap: .65rem; color: var(--on-accent); font-size: 1.2rem; font-weight: 750; text-decoration: none; }
.orbit-brand img { width: 2.25rem; height: 2.25rem; object-fit: contain; }
.orbit-current-title { opacity: .85; overflow-wrap: anywhere; }
.orbit-account { margin-left: auto; position: relative; }
.orbit-account summary { cursor: pointer; padding: .7rem; min-height: 44px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.orbit-account-info { position: absolute; right: 0; top: 100%; width: min(22rem, calc(100vw - 2rem)); max-height: 70vh; overflow: auto; padding: 1rem; background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: .65rem; box-shadow: 0 8px 24px var(--shadow-color); overflow-wrap: anywhere; }
.orbit-account-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.orbit-account-version { color: var(--muted); font-size: .875rem; white-space: nowrap; }
.orbit-layout { display: grid; grid-template-columns: 215px minmax(0, 1fr); min-height: calc(100dvh - 4rem); }
.orbit-sidebar { position: sticky; top: 4rem; height: calc(100dvh - 4rem); display: flex; flex-direction: column; gap: .3rem; padding: 1rem .6rem; border-right: 1px solid var(--border); background: var(--surface); overflow-y: auto; }
.orbit-nav-link { display: flex; align-items: center; gap: .7rem; padding: .8rem; min-height: 44px; color: var(--secondary); text-decoration: none; border-radius: .4rem; }
.orbit-nav-link:hover, .orbit-nav-link.active { background: var(--hover); color: var(--accent); }
.orbit-nav-link.active { box-shadow: inset 3px 0 var(--accent); }
.orbit-nav-icon { width: 1.2rem; text-align: center; }
.orbit-admin-link { margin-top: auto; border-top: 1px solid var(--border); border-radius: 0; }
.orbit-route-host { min-width: 0; padding: 1.5rem clamp(.8rem, 3vw, 2.5rem); }
.route-page, .orbit-page-content { display: grid; gap: 1rem; min-width: 0; }
.orbit-breadcrumbs { color: var(--muted); overflow-wrap: anywhere; }
.orbit-breadcrumbs a, .orbit-secondary-nav a { color: var(--accent); }
.orbit-secondary-nav, .orbit-area-links { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.orbit-secondary-nav { border-bottom: 1px solid var(--border); }
.orbit-secondary-nav a { padding: .8rem .3rem; min-height: 44px; text-decoration: none; }
.orbit-secondary-nav [aria-current="page"] { border-bottom: 2px solid var(--accent); font-weight: 700; }
.orbit-menu-toggle { display: none; }
.orbit-skip-link { position: fixed; top: -10rem; z-index: 50; background: var(--surface); padding: 1rem; }
.orbit-skip-link:focus { top: .5rem; left: .5rem; }
@media (max-width: 760px) {
  .orbit-layout { grid-template-columns: minmax(0, 1fr); }
  .orbit-menu-toggle { display: block; }
  .orbit-topbar { flex-wrap: wrap; gap: .4rem; padding: .5rem .75rem; }
  .orbit-current-title { display: none; }
  .orbit-account { max-width: 45%; min-width: 0; }
  .orbit-sidebar { display: none; position: fixed; z-index: 15; left: 0; top: 4rem; width: min(18rem, 90vw); box-shadow: 8px 0 24px var(--shadow-color); }
  .orbit-sidebar.is-open { display: flex; }
  .orbit-route-host { padding: 1rem .75rem; }
  .admin-tabs { flex-wrap: wrap; }
  .orbit-page-content .record-list li { flex-wrap: wrap; }
}

.site-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 5rem;
  padding: 1rem clamp(1rem, 4vw, 3rem);
  color: var(--on-accent);
  background: var(--header);
}

.brand-mark { width: 3rem; height: 3rem; object-fit: contain; }
.site-header h1, .site-header p { margin: 0; }
.eyebrow { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; opacity: .7; }
.sign-out { margin-left: auto; color: var(--on-accent); }
.app-shell { width: min(1100px, calc(100% - 2rem)); margin: 2rem auto; display: grid; gap: 1rem; }
.admin-tabs { display: flex; gap: .5rem; }
.tab-button { padding: .7rem 1rem; border: 1px solid var(--control-border); border-radius: .5rem; background: var(--surface); cursor: pointer; font-weight: 700; }
.tab-button.active { color: var(--on-accent); border-color: var(--accent); background: var(--accent); }
.admin-content { display: grid; gap: 1rem; }

.panel, .state-card {
  padding: 1.25rem;
  border: 1px solid var(--border);
  border-radius: .8rem;
  background: var(--surface);
  box-shadow: 0 8px 24px var(--shadow-color);
}

.panel h2, .state-card h2 { margin-top: 0; }
.muted { color: var(--muted); }
.entity-form { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; margin: 1rem 0; }
.stacked-form { padding: 1rem; border-radius: .6rem; background: var(--subtle); }
.entity-form label { display: grid; gap: .35rem; min-width: 12rem; flex: 1; font-size: .85rem; font-weight: 600; }
input, select { width: 100%; padding: .65rem .75rem; border: 1px solid var(--control-border); border-radius: .45rem; background: var(--surface); }
.demand-rows { display: grid; gap: .75rem; }
.demand-row { padding: .75rem; border: 1px solid var(--border); border-radius: .6rem; }
.capacity-result { min-width: 15rem; padding: .65rem; color: var(--success); }
.capacity-result.shortage { color: var(--error); background: var(--error-surface); border-radius: .45rem; }
.form-message { color: var(--success); }
.form-message.error { color: var(--error); }
details summary { cursor: pointer; font-weight: 700; }
.operational-card { border: 1px solid var(--border); border-radius: .6rem; padding: 1rem; margin: .75rem 0; }
.route-card { display: block; text-align: left; width: 100%; margin: .5rem 0; }
textarea { width: 100%; min-height: 6rem; padding: .65rem; border: 1px solid var(--control-border); border-radius: .45rem; font: inherit; }
.admin-tabs { flex-wrap: wrap; }
.admin-json { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%; padding: .75rem; background: var(--subtle); border-radius: .45rem; }
.warehouse-inspection fieldset { width: 100%; min-width: 0; border: 1px solid var(--border); border-radius: .6rem; padding: .75rem; }
.warehouse-inspection legend { white-space: normal; }
input[type="checkbox"] { width: auto; justify-self: start; min-height: 1.25rem; min-width: 1.25rem; }
.repair-result input[type="checkbox"], .repair-result input[type="radio"] { width: 1.25rem; height: 1.25rem; min-width: 1.25rem; min-height: 1.25rem; padding: 0; margin: 0; flex: 0 0 1.25rem; }
.driver-workspace .entity-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.button { padding: .65rem .9rem; border: 0; border-radius: .45rem; cursor: pointer; text-decoration: none; font-weight: 700; }
.button.primary { color: var(--on-accent); background: var(--accent); }
.button.quiet { color: var(--error); background: var(--error-surface); }
.login-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.security-navigation { display: flex; flex-wrap: wrap; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--border); }
.security-navigation a, .security-breadcrumb a, .security-record-title { color: var(--accent); }
.security-breadcrumb { margin: .75rem 0; color: var(--muted); overflow-wrap: anywhere; }
.security-record-title { font-weight: 700; font-size: 1.05rem; margin-right: .75rem; }
.security-badge { display: inline-block; font-size: .75rem; padding: .2rem .5rem; border-radius: 1rem; background: var(--subtle); color: var(--muted); }
.security-badge.active { background: var(--success-surface); color: var(--success); }
.security-facts { display: grid; grid-template-columns: minmax(7rem, 1fr) minmax(0, 3fr); gap: .65rem 1rem; }
.security-facts dt { font-weight: 600; }
.security-facts dd { margin: 0; overflow-wrap: anywhere; }
.security-workspace .button { display: inline-block; margin: .25rem .5rem .25rem 0; }
.record-list { padding: 0; margin: 0; list-style: none; }
.record-list li { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .7rem 0; border-top: 1px solid var(--subtle); }
.record-list span { display: flex; align-items: baseline; gap: .65rem; }
.record-list code { color: var(--accent); }
.record-list em { color: var(--warning); }

@media (max-width: 650px) {
  .site-header { padding: .8rem 1rem; }
  .entity-form { display: grid; }
  .record-list li { align-items: flex-start; }
  .record-list span { display: grid; gap: .2rem; }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --page: #0b0e10; --surface: #15191b; --subtle: #1c2225;
  --header: #000000; --text: #fefefe; --secondary: #adbac0; --muted: #adbac0;
  --border: #383f43; --control-border: #383f43; --hover: #1b2b45;
  --accent: #6c9ee9; --primary: #6c9ee9; --on-accent: #ffffff; --primary-text: #101416;
  --success: #75d6a2; --success-surface: #163126;
  --error: #ff9b9b; --error-surface: #3b1f22; --warning: #ffad73;
  --shadow-color: #00000044;
}
a { color: var(--accent); }
button, input, select, textarea { font: inherit; color: var(--text); background: var(--surface); }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
.button.primary, .tab-button.active { background: var(--primary); color: var(--primary-text); }
input, select, textarea { background: var(--surface); color: var(--text); }
table { background: var(--surface); color: var(--text); border-color: var(--border); }
th, td { border-color: var(--border); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
button:disabled { opacity: .6; cursor: not-allowed; }
.orbit-brand { color: var(--on-accent); }
.orbit-sidebar-brand { display: block; padding: .65rem .2rem; margin-bottom: .65rem; flex-shrink: 0; }
.orbit-sidebar-logo { display: block; width: 190px; max-width: 100%; height: auto; object-fit: contain; }
.orbit-sidebar-company-brand { display: block; flex-shrink: 0; padding: .5rem .2rem; margin-top: .75rem; }
.orbit-sidebar-company-bottom { margin-top: auto; }
.orbit-sidebar-company-brand img { display: block; width: 155px; max-width: 100%; height: auto; object-fit: contain; }
:root[data-theme="light"] .orbit-sidebar-company-brand img { filter: drop-shadow(0 0 1px #101416); }
.orbit-nav-icon { width: 20px; height: 20px; object-fit: contain; flex-shrink: 0; }
.orbit-secondary-nav a { display: inline-flex; gap: .4rem; align-items: center; }
.orbit-secondary-nav img { width: 18px; height: 18px; object-fit: contain; }
.orbit-theme-toggle { margin-left: auto; background: transparent; color: #7aa8ec; border: 1px solid #383838; width: 44px; flex-shrink: 0; font-size: 1.25rem; }
.orbit-account { margin-left: 0; }
.orbit-brand img { width: 104px; height: auto; }
.orbit-sidebar { background: var(--page); border-right: 0; }
.panel { box-shadow: none; border-radius: 8px; }
.orbit-topbar .orbit-menu-toggle { display: none; background: transparent; color: #fefefe; border: 1px solid #383838; }
@media (max-width: 760px) {
  .orbit-sidebar-logo { width: 155px; }
  .orbit-account { max-width: 38%; }
  .orbit-topbar { flex-wrap: nowrap; }
  .orbit-theme-toggle { padding: .65rem .45rem; font-size: .8rem; }
  .orbit-brand img { width: 84px; }
  .orbit-brand { font-size: 1rem; gap: .5rem; }
  .orbit-topbar .orbit-menu-toggle { display: inline-flex; }
}

/* V1-style entry screen; authentication contracts remain unchanged. */
.centered-layout { min-height: 100dvh; display: grid; place-items: center; padding: 32px 20px; }
.centered-layout .state-card { width: min(100%, 620px); padding: 0; overflow: hidden; border-radius: 16px; box-shadow: 0 18px 50px var(--shadow-color); }
.brand-panel { display: flex; align-items: center; justify-content: center; min-height: 118px; padding: 22px 32px; background: #000000; border-bottom: 3px solid #4f7fc2; }
.brand-logo { display: block; width: min(220px, 70vw); height: auto; }
.brand-panel { gap: 20px; }
.brand-panel .brand-logo { width: min(180px, 35vw); }
.login-orbit-logo { width: min(220px, 40vw); height: auto; object-fit: contain; }
.brand-separator { align-self: stretch; width: 1px; background: #61707d; flex-shrink: 0; }
:root[data-theme="light"] .brand-panel { background: var(--page); }
:root[data-theme="light"] .brand-panel .brand-logo { filter: drop-shadow(0 0 1px #101416); }
.organization-navigation { display: flex; flex-wrap: wrap; gap: 1rem; border-bottom: 1px solid var(--border); }
.organization-navigation a { padding: .65rem .1rem; text-decoration: none; color: var(--secondary); }
.organization-navigation a[aria-current="page"] { color: var(--accent); border-bottom: 2px solid var(--accent); font-weight: 700; }
.organization-workspace { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(0, 1.8fr); gap: 1.75rem; min-width: 0; align-items: start; }
.organization-explorer { min-width: 0; padding-right: 1rem; border-right: 1px solid var(--border); max-height: 75dvh; overflow: auto; }
.organization-tree-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem; }
.organization-tree-heading h2 { font-size: 1.1rem; }
.organization-explorer > label { display: grid; gap: .35rem; font-size: .85rem; color: var(--secondary); }
.organization-explorer input { width: 100%; min-width: 0; }
.organization-clear-search { margin-top: .35rem; }
.organization-search-status { font-size: .8rem; }
.organization-branches { list-style: none; padding: 0; margin: .25rem 0; }
.organization-branches .organization-branches { margin-left: 1rem; padding-left: .35rem; border-left: 1px solid var(--border); }
.organization-branches summary, .organization-leaf { display: flex; align-items: center; gap: .15rem; overflow-wrap: anywhere; min-height: 38px; list-style: none; }
.organization-branches summary { cursor: pointer; }
.organization-branches summary::-webkit-details-marker { display: none; }
.organization-branches summary::before { content: '›'; width: 1rem; flex: 0 0 1rem; text-align: center; font-size: 1.25rem; color: var(--secondary); }
.organization-branches details[open] > summary::before { transform: rotate(90deg); }
.organization-leaf { padding-left: 1.15rem; }
.organization-branches a { color: var(--text); text-decoration: none; }
.organization-node-link { display: flex; align-items: center; gap: .5rem; flex: 1; min-width: 0; padding: .45rem .4rem; border-radius: .3rem; font-size: .9rem; }
.organization-node-link:hover { background: var(--subtle); }
.organization-branches a[aria-current="page"] { color: var(--accent); background: var(--hover); font-weight: 700; box-shadow: inset 3px 0 var(--accent); }
.organization-node-icon { flex: 0 0 1rem; width: 1rem; text-align: center; color: var(--secondary); }
.organization-node-kind { font-size: .65rem; font-weight: 400; }
.organization-context { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: 1rem; font-size: .8rem; }
.organization-selection { min-width: 0; }
.organization-selection h2 { margin-bottom: .25rem; }
.organization-entity-kind { margin-top: 0; color: var(--secondary); font-size: .85rem; }
.organization-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.organization-code-action { border-top: 1px solid var(--border); padding-top: 1rem; margin-top: 1rem; }
.organization-code-action[hidden], .organization-clear-search[hidden] { display: none; }
.organization-back-to-tree { display: none; }
.organization-empty { font-size: .8rem; padding-left: 1rem; }
@media (max-width: 900px) {
  .organization-workspace { grid-template-columns: minmax(0, 1fr); }
  .organization-explorer { max-height: none; padding-right: 0; border-right: 0; }
  .organization-workspace[data-panel="tree"] .organization-selection,
  .organization-workspace[data-panel="detail"] .organization-explorer { display: none; }
  .organization-back-to-tree { display: inline-flex; margin-bottom: 1rem; }
  .organization-node-link, .organization-branches summary, .organization-leaf { min-height: 44px; }
}
@media (max-width: 480px) { .brand-panel { padding: 18px 16px; gap: 12px; } }
.security-role-layout { display: grid; grid-template-columns: minmax(210px, .8fr) minmax(0, 2fr); gap: 1.5rem; margin-top: 1rem; }
.security-role-list { border-right: 1px solid var(--border); padding-right: 1rem; min-width: 0; }
.security-role-list > label { display: grid; gap: .4rem; margin-bottom: .75rem; }
.security-role-row { display: grid; grid-template-columns: 1fr auto; gap: .3rem .5rem; padding: .65rem; color: var(--text); text-decoration: none; border-radius: .35rem; }
.security-role-row small { color: var(--secondary); overflow-wrap: anywhere; }
.security-role-row:hover, .security-role-row[aria-current="page"] { background: var(--hover); }
.security-role-row[aria-current="page"] { box-shadow: inset 3px 0 var(--accent); }
.security-role-detail { min-width: 0; }
.security-permission-editor fieldset { border: 1px solid var(--border); border-radius: .35rem; padding: .75rem; }
.security-permission-option { display: grid; grid-template-columns: auto 1fr; gap: .25rem .5rem; padding: .4rem 0; }
.security-permission-option input { width: auto; align-self: start; }
.security-permission-option small { grid-column: 2; color: var(--secondary); }
@media (max-width: 760px) {
  .security-role-layout { grid-template-columns: minmax(0, 1fr); }
  .security-role-list { border-right: 0; padding-right: 0; }
}
.state-toolbar { display: flex; justify-content: flex-end; padding: 12px 20px 0; }
.driver-app { width: 100%; min-width: 0; margin: 0; }
.reservations-app { width: 100%; min-width: 0; margin: 0; }
.assets-workspace { width: 100%; min-width: 0; margin: 0; display: grid; gap: 1rem; }
.asset-tabs { display: flex; border-bottom: 1px solid var(--border); gap: .4rem; }
.asset-tab { min-height: 48px; padding: .75rem; color: var(--secondary); text-decoration: none; }
.asset-tab:hover { background: var(--hover); }
.asset-tab[aria-current="page"] { color: var(--text); font-weight: 700; border-bottom: 3px solid var(--accent); }
.asset-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; }
.asset-header h2 { margin: 0; overflow-wrap: anywhere; }
.asset-header .asset-new { width: auto; flex: 0 0 auto; }
.asset-filters, .asset-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
.assets-workspace label { display: grid; gap: .35rem; min-width: 0; font-size: .9rem; font-weight: 600; }
.assets-workspace input, .assets-workspace select { width: 100%; min-width: 0; max-width: 100%; min-height: 48px; }
.assets-workspace .button { min-height: 48px; white-space: normal; overflow-wrap: anywhere; }
.asset-form > .form-message { grid-column: 1 / -1; }
.asset-table { width: 100%; table-layout: fixed; border-collapse: collapse; background: var(--surface); font-size: .85rem; }
.asset-table th { color: var(--secondary); font-weight: 600; text-align: left; }
.asset-table th, .asset-table td { padding: .75rem .5rem; vertical-align: top; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; }
.asset-table th:nth-child(1) { width: 11%; }
.asset-table th:nth-child(2) { width: 18%; }
.asset-table th:nth-child(3) { width: 12%; }
.asset-table th:nth-child(4) { width: 12%; }
.asset-table th:nth-child(5) { width: 14%; }
.asset-table th:nth-child(6) { width: 17%; }
.asset-table th:nth-child(7), .asset-table th:nth-child(8) { width: 8%; }
.asset-table td > div { display: grid; gap: .3rem; }
.asset-tag { font-weight: 750; font-size: 1rem; color: var(--accent); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; overflow-wrap: anywhere; }
.asset-status { color: var(--accent); font-weight: 700; overflow-wrap: anywhere; }
.asset-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.asset-detail-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 2rem; align-items: start; }
.dispatch-pickup-evidence { display: grid; gap: .5rem; margin: .5rem 0 1rem; min-width: 0; }
.dispatch-pickup-filters { display: grid; grid-template-columns: minmax(0, 2fr) minmax(10rem, 1fr); gap: .75rem; }
.dispatch-pickup-viewport { max-height: min(52vh, 34rem); }
.dispatch-pickup-table { min-width: 68rem; }
.dispatch-pickup-table th:first-child, .dispatch-pickup-table td:first-child { width: 3rem; text-align: center; }
.dispatch-app .dispatch-pickup-table input[type="checkbox"] { width: 1.2rem; min-height: 1.2rem; height: 1.2rem; margin: 0; }
.dispatch-pickup-table td { vertical-align: middle; }
.dispatch-pickup-table td > div { display: grid; gap: .2rem; }
.dispatch-pickup-table td strong, .dispatch-pickup-table td small { overflow-wrap: anywhere; }
@media (max-width: 600px) { .dispatch-pickup-filters { grid-template-columns: minmax(0, 1fr); } }
.dispatch-recovery-item, .driver-recovery-item { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .65rem; min-width: 0; padding: .55rem .7rem; margin-top: .4rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface); }
.dispatch-recovery-item strong, .driver-recovery-item strong { overflow-wrap: anywhere; }
.dispatch-recovery-item small, .driver-recovery-item small { flex-basis: 100%; }
.driver-recovery-actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .35rem; width: 100%; }
.driver-recovery-attempt { display: flex; flex-wrap: wrap; align-items: end; gap: .4rem; width: 100%; }
.driver-recovery-attempt label { flex: 1 1 13rem; min-width: 0; }
.driver-recovery-attempt .button { flex: 0 0 auto; }
.driver-stop-recovery, .dispatch-stop-recovery { min-width: 0; margin-top: .85rem; padding-top: .75rem; border-top: 1px solid var(--border); }
.driver-stop > h4, .driver-stop-recovery h4, .dispatch-stop-recovery h5 { margin: .75rem 0 .6rem; }
.driver-recovery-counts { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
.driver-recovery-counts > span { display: grid; gap: .15rem; min-width: 5.5rem; padding: .4rem .6rem; border-radius: .35rem; background: var(--surface); }
.driver-recovery-counts strong { font-size: 1.1rem; }
.driver-recovery-counts small { color: var(--secondary); }
.driver-recovery-viewport, .dispatch-recovery-viewport { max-height: min(52vh, 34rem); }
.driver-recovery-table, .dispatch-recovery-table { min-width: 42rem; }
.driver-recovery-table td, .dispatch-recovery-table td { vertical-align: middle; }
.driver-recovery-detail, .dispatch-recovery-table td > div { display: grid; gap: .2rem; }
.driver-recovery-compact-actions { display: flex; flex-wrap: wrap; align-items: start; gap: .4rem; }
.driver-recovery-more > summary { cursor: pointer; padding: .45rem .6rem; border: 1px solid var(--border); border-radius: .35rem; white-space: nowrap; }
.driver-recovery-more-choices { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .4rem; }
.driver-recovery-editor { margin-top: .5rem; }
.driver-recovery-editor:empty { display: none; }
.driver-recovery-editor .driver-recovery-attempt { display: grid; grid-template-columns: minmax(0, 1fr); gap: .5rem; padding: .65rem; border: 1px solid var(--border); border-radius: .35rem; background: var(--surface); }
.driver-recovery-editor .driver-recovery-attempt .form-message { margin: 0; }
@media (max-width: 700px) {
  .driver-recovery-table { min-width: 0; }
  .driver-recovery-table thead { display: none; }
  .driver-recovery-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .15rem .5rem; padding: .5rem .65rem; border-bottom: 1px solid var(--border); }
  .driver-recovery-table tbody td { display: block; border: 0; padding: .1rem 0; }
  .driver-recovery-table tbody td:nth-child(1) { grid-column: 1; grid-row: 1; }
  .driver-recovery-table tbody td:nth-child(2) { grid-column: 1; grid-row: 2; color: var(--secondary); }
  .driver-recovery-table tbody td:nth-child(3) { grid-column: 2; grid-row: 1 / span 2; }
  .driver-recovery-table tbody td:nth-child(4) { grid-column: 1 / -1; grid-row: 3; }
  .driver-recovery-table tbody td:nth-child(5) { grid-column: 1 / -1; grid-row: 4; }
}
.asset-missing-form { display: grid; gap: .65rem; margin-top: 1rem; max-width: 32rem; }
.dispatch-pickup-proposal:not(:empty) { padding: .65rem .8rem; border-left: 3px solid var(--status-blue-fg); background: var(--status-blue-bg); border-radius: .35rem; }
.dispatch-pickup-proposal p { margin: .25rem 0 0; }
.asset-section { min-width: 0; border-top: 1px solid var(--border); padding: .75rem 0; }
.asset-section h3 { margin: .5rem 0 1rem; }
.asset-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1rem; margin: .5rem 0; }
.asset-facts > div { min-width: 0; }
.asset-facts dt { color: var(--secondary); font-size: .8rem; }
.asset-facts dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.asset-custody-line { margin: .4rem 0; overflow-wrap: anywhere; }
.asset-custody-primary, .asset-reservation-reference { font-size: 1.1rem; overflow-wrap: anywhere; }
.assets-workspace summary { cursor: pointer; min-height: 48px; padding: .75rem 0; color: var(--secondary); }
.asset-advanced { border-top: 1px solid var(--border); }
@media (max-width: 1100px) {
  .asset-filters, .asset-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asset-table .asset-table-secondary { display: none; }
  .asset-table th:nth-child(2) { width: 24%; }
  .asset-table th:nth-child(6) { width: 23%; }
  .asset-table th:nth-child(8) { width: 12%; }
  .asset-detail-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .asset-tabs { gap: 0; }
  .asset-tab { flex: 1; text-align: center; }
  .asset-filters, .asset-form, .asset-facts { grid-template-columns: minmax(0, 1fr); }
  .asset-table, .asset-table tbody, .asset-table tr { display: block; width: 100%; }
  .asset-table thead { display: none; }
  .asset-table tr { padding: .75rem; border-bottom: 1px solid var(--border); }
  .asset-table td, .asset-table td.asset-table-secondary { display: block; width: 100%; padding: .4rem 0; border: 0; }
  .asset-table td::before { content: attr(data-label); display: block; font-size: .75rem; color: var(--secondary); margin-bottom: .25rem; }
  .asset-table td:first-child::before, .asset-table td:last-child::before { display: none; }
  .asset-actions, .asset-form { display: grid; }
  .assets-workspace .button:not(.asset-new) { width: 100%; text-align: center; }
}
.dispatch-app { width: 100%; min-width: 0; margin: 0; display: grid; gap: 1rem; }
.dispatch-content { min-width: 0; display: grid; gap: 1rem; }
.dispatch-tabs { display: flex; flex-wrap: wrap; gap: .4rem; border-bottom: 1px solid var(--border); }
.dispatch-tab { min-height: 48px; padding: .75rem; color: var(--secondary); text-decoration: none; }
.dispatch-tab:hover { background: var(--hover); }
.dispatch-tab[aria-current="page"] { color: var(--text); font-weight: 700; border-bottom: 3px solid var(--accent); }
.dispatch-filters, .dispatch-form, .dispatch-task-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; align-items: start; }
.dispatch-filters { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); }
.dispatch-app label { display: grid; gap: .35rem; min-width: 0; font-size: .9rem; font-weight: 600; }
.dispatch-app input, .dispatch-app select { width: 100%; min-width: 0; max-width: 100%; min-height: 48px; }
.dispatch-app .button { min-height: 48px; white-space: normal; overflow-wrap: anywhere; }
.dispatch-app > .button, .dispatch-content > .button { justify-self: start; }
.dispatch-app .button.danger { color: var(--error); background: var(--error-surface); }
.dispatch-app .dispatch-unassign-button { min-height: 34px; padding: .3rem .65rem; font-size: .75rem; }
.dispatch-app .por-sync-download { width: 8.5rem; min-width: 8.5rem; max-width: 8.5rem; height: 1.75rem; min-height: 1.75rem; padding: .1rem .45rem; font-size: .75rem; }
.dispatch-task-fields > label:first-child { grid-column: 1 / -1; }
.dispatch-wide, .dispatch-form > .form-message, .dispatch-destination { grid-column: 1 / -1; }
.dispatch-route-list { display: grid; gap: .7rem; }
.dispatch-route-row { display: grid; grid-template-columns: minmax(6rem, .6fr) minmax(0, 4fr) auto; gap: .5rem 1rem; align-items: center; padding: 1rem; background: var(--surface); border-bottom: 1px solid var(--border); }
.dispatch-route-row > h3 { grid-column: 1; margin: 0; }
.dispatch-route-row > .dispatch-status { grid-column: 1; grid-row: 2; }
.dispatch-route-row > .dispatch-facts { grid-column: 2; grid-row: 1 / span 2; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dispatch-route-row > .button { grid-column: 3; grid-row: 1 / span 2; }
.dispatch-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1rem; margin: .5rem 0; }
.dispatch-facts > div, .dispatch-app section, .dispatch-app article { min-width: 0; }
.dispatch-facts dt { font-size: .8rem; color: var(--secondary); }
.dispatch-facts dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.dispatch-reservation-detail, .dispatch-demand-items { min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: .7rem; background: var(--surface); }
.dispatch-reservation-picker { display: grid; gap: .7rem; min-width: 0; }
.dispatch-reservation-picker h4, .dispatch-selected-reservations h4 { margin: 0; }
.dispatch-reservation-picker-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.dispatch-reservation-picker-actions strong { margin-right: auto; }
.dispatch-reservation-picker-list { max-height: 18rem; overflow: auto; border: 1px solid var(--border); border-radius: .7rem; background: var(--surface); }
.dispatch-reservation-choice { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: .8rem; min-height: 2.9rem; padding: .55rem .8rem; cursor: pointer; border-bottom: 1px solid var(--border); }
.dispatch-reservation-choice:last-child { border-bottom: 0; }
.dispatch-reservation-choice:has(input:checked) { background: var(--hover); }
.dispatch-reservation-choice:focus-within { outline: 2px solid var(--accent); outline-offset: -2px; }
.dispatch-reservation-choice > span { display: flex; flex-wrap: wrap; gap: .3rem .7rem; min-width: 0; }
.dispatch-reservation-choice small { overflow-wrap: anywhere; }
.dispatch-selected-reservations { min-width: 0; }
.dispatch-selected-reservation-list { display: grid; gap: .8rem; max-height: 60vh; overflow: auto; }
.dispatch-selected-reservation .dispatch-selected-demand-items { margin-top: .9rem; padding-top: .8rem; border-top: 1px solid var(--border); }
.dispatch-planning-result { padding: .8rem 1rem; margin-bottom: 1rem; border: 1px solid var(--border); border-radius: .7rem; background: var(--surface); }
.dispatch-planning-result ul { margin: .5rem 0 0; padding-left: 1.2rem; }
.dispatch-reservation-detail h4, .dispatch-demand-items h4 { margin: 0 0 .9rem; }
.dispatch-reservation-identity { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1rem; padding-bottom: .9rem; border-bottom: 1px solid var(--border); }
.dispatch-reservation-identity > div { display: grid; gap: .2rem; min-width: 0; overflow-wrap: anywhere; }
.dispatch-reservation-detail .dispatch-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: .9rem 0 0; }
.dispatch-reservation-instructions { margin-top: .9rem; padding-top: .8rem; border-top: 1px solid var(--border); }
.dispatch-reservation-instructions p { margin: .35rem 0 0; }
.dispatch-requested-accessories { margin-top: .9rem; padding-top: .8rem; border-top: 1px solid var(--border); }
.dispatch-requested-accessories h4 { margin: 0 0 .35rem; }
.dispatch-requested-accessories p, .dispatch-accessory-list { margin: .35rem 0 0; }
.dispatch-accessory-list { padding-left: 1.25rem; }
.dispatch-accessory-list li { overflow-wrap: anywhere; }
.dispatch-demand-items { grid-column: 1 / -1; }
.dispatch-demand-item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(9rem, 13rem); gap: .3rem 1rem; align-items: center; padding: .8rem 0; border-top: 1px solid var(--border); }
.dispatch-demand-item > p { grid-column: 1; grid-row: 2; margin: 0; }
.dispatch-demand-item > label { grid-column: 2; grid-row: 1 / span 2; }
@media (max-width: 760px) { .dispatch-reservation-detail .dispatch-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dispatch-demand-item { grid-template-columns: minmax(0, 1fr); } .dispatch-demand-item > p, .dispatch-demand-item > label { grid-column: 1; grid-row: auto; } .dispatch-reservation-choice { grid-template-columns: auto minmax(0, 1fr); } .dispatch-reservation-choice small { grid-column: 2; } }
.dispatch-summary .dispatch-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dispatch-app h2, .dispatch-app h3, .dispatch-app h4 { margin: .5rem 0; overflow-wrap: anywhere; }
.dispatch-app p { overflow-wrap: anywhere; }
.dispatch-status { color: var(--accent); font-size: .85rem; font-weight: 700; margin: .25rem 0; }
.dispatch-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); align-items: start; }
.dispatch-stop { padding: .5rem 0 1rem; border-bottom: 1px solid var(--border); }
.dispatch-task { padding: .5rem 0; }
.dispatch-task + .dispatch-task { border-top: 1px solid var(--border); }
.dispatch-reference { margin: .6rem 0; font-size: 1.05rem; }
.dispatch-reference strong { font-size: 1.15rem; }
.dispatch-execution summary { cursor: pointer; min-height: 48px; padding: .75rem 0; color: var(--secondary); }
.dispatch-planning { padding: 1rem; background: var(--surface); }
.dispatch-lifecycle { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.dispatch-cancel { margin-top: 1rem; color: var(--error); }
.dispatch-cancel summary { cursor: pointer; min-height: 48px; padding: .75rem 0; }
.dispatch-replacements { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.dispatch-replacement { padding: 1rem; background: var(--surface); border-bottom: 1px solid var(--border); }
@media (max-width: 1100px) {
  .dispatch-detail-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .dispatch-route-row { grid-template-columns: minmax(0, 1fr) auto; }
  .dispatch-route-row > .dispatch-status { grid-column: 1; grid-row: 2; }
  .dispatch-route-row > .dispatch-facts { grid-column: 1 / -1; grid-row: 3; }
  .dispatch-route-row > .button { grid-column: 2; grid-row: 1 / span 2; }
  .dispatch-summary .dispatch-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dispatch-replacements { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .dispatch-tabs { gap: 0; }
  .dispatch-tab { flex: 1; text-align: center; font-size: .85rem; padding: .65rem .3rem; }
  .dispatch-filters, .dispatch-form, .dispatch-task-fields, .dispatch-facts, .dispatch-summary .dispatch-facts,
  .dispatch-route-row, .dispatch-route-row > .dispatch-facts { grid-template-columns: minmax(0, 1fr); }
  .dispatch-route-row > h3, .dispatch-route-row > .dispatch-status, .dispatch-route-row > .dispatch-facts, .dispatch-route-row > .button { grid-column: 1; grid-row: auto; }
  .dispatch-app .button { width: 100%; text-align: center; }
  .dispatch-planning, .dispatch-route-row, .dispatch-replacement { padding: .75rem; }
}
.reservations-tabs { display: flex; gap: .4rem; border-bottom: 1px solid var(--border); margin-bottom: 1rem; }
.reservation-tab { color: var(--secondary); text-decoration: none; min-height: 48px; padding: .75rem; }
.reservation-tab:hover { background: var(--hover); }
.reservation-tab[aria-current="page"] { color: var(--text); background: var(--hover); box-shadow: inset 0 -3px var(--accent); font-weight: 700; }
.asset-table.collection-table { table-layout: auto; }
.asset-table.collection-table th { width: auto; }
.reservations-app .record-list li > span { display: grid; gap: .35rem; }
.reservations-app .record-list small { overflow-wrap: anywhere; }
.customer-phone { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .75rem; grid-column: 1 / -1; }
.customer-phone label { display: grid; gap: .35rem; }
.customer-phone label:first-child, .customer-phone small, .customer-phone p { grid-column: 1 / -1; }
.reservations-app .button, .reservations-app input, .reservations-app select { min-height: 44px; }
@media (max-width: 600px) {
  .reservations-tabs { gap: 0; }
  .reservation-tab { flex: 1; text-align: center; font-size: .85rem; padding: .65rem .3rem; }
  .customer-phone { grid-template-columns: minmax(0, 1fr); }
}
.driver-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .3rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--border); }
.driver-tab { min-height: 48px; display: flex; align-items: center; justify-content: center; padding: .6rem .25rem; text-align: center; color: var(--secondary); text-decoration: none; border-radius: .35rem .35rem 0 0; }
.driver-tab:hover { background: var(--hover); }
.driver-tab[aria-current="page"] { color: var(--text); background: var(--hover); box-shadow: inset 0 -3px var(--accent); font-weight: 700; }
.driver-route-card, .driver-stop { padding: 1rem 0; border-bottom: 1px solid var(--border); }
.driver-route-card h3, .driver-demand h4 { margin: .4rem 0; }
.driver-demand { padding: .65rem 0; }
.driver-demand .button, .driver-route-card .button { margin: .25rem .5rem .25rem 0; min-height: 44px; }
.driver-context label, .driver-destination label { display: grid; gap: .3rem; margin-bottom: .65rem; }
.driver-context input, .driver-context select, .driver-context textarea { width: 100%; min-height: 48px; }
.driver-pickup-flow .driver-destination { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: .75rem; }
.driver-scan-workflow { margin-top: 1rem; }
.driver-scanner { display: flex; align-items: end; gap: .5rem; }
.driver-scanner label { flex: 1; display: grid; gap: .4rem; min-width: 0; }
.driver-scan-input { width: 100%; min-height: 52px; font-size: 1.15rem; }
.driver-scanner .button, .driver-submit { min-height: 52px; }
.driver-scan-queue { list-style: none; padding: 0; }
.driver-scan-queue li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .35rem .5rem; padding: .85rem 0; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; }
.driver-scan-queue li span, .driver-scan-queue li small { grid-column: 1; color: var(--secondary); }
.driver-scan-queue li button { grid-column: 2; grid-row: 1 / span 3; align-self: center; min-height: 44px; }
.driver-cargo-count { font-weight: 700; }
.driver-receipt { margin-top: 1rem; }
.driver-validation-results { display: grid; gap: .5rem; margin: .5rem 0 1rem; }
.driver-validation-results:empty { display: none; }
.driver-validation-results > .driver-scan-feedback { margin: 0; }
.driver-task-context { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .7rem; margin: .5rem 0; overflow-wrap: anywhere; }
.driver-task-context strong { color: var(--text); font-size: 1.1rem; }
.driver-task-context > span, .driver-task-context > small:last-child { flex-basis: 100%; }
.driver-pickup-editor { grid-column: 1 / -1; min-width: 0; }
.driver-condition-controls { display: flex; flex-wrap: wrap; gap: .5rem; margin: .6rem 0; }
.driver-scan-queue .driver-pickup-editor button { grid-column: auto; grid-row: auto; min-height: 48px; }
.driver-condition-controls button[aria-pressed="true"] { background: var(--hover); color: var(--text); outline: 2px solid var(--accent); }
.driver-pickup-questions { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: .8rem 1.2rem; }
.driver-pickup-question { min-width: 0; }
.driver-pickup-question label { display: grid; gap: .3rem; margin: .4rem 0; }
.driver-pickup-question select, .driver-pickup-question textarea { width: 100%; min-width: 0; min-height: 48px; }
.driver-pickup-question textarea { resize: vertical; }
@media (max-width: 600px) {
  .driver-condition-controls button { flex: 1 1 100%; }
  .driver-pickup-questions { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .driver-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .driver-tab { font-size: .85rem; }
  .driver-submit { width: 100%; }
  .driver-scanner { flex-wrap: wrap; }
  .driver-scanner label { flex-basis: 100%; }
  .driver-scanner .button { width: 100%; }
}
.state-toolbar .orbit-theme-toggle { color: var(--accent); border-color: var(--border); }
.state-card-content { padding: 24px 38px 38px; }
.state-card-content h1 { margin: 0; font-size: clamp(1.8rem, 5vw, 2.45rem); line-height: 1.15; letter-spacing: -.025em; }
.state-card-content .eyebrow { color: var(--accent); font-size: .78rem; font-weight: 750; letter-spacing: .13em; opacity: 1; }
.subtitle { margin: 10px 0 0; font-size: 1.08rem; font-weight: 600; color: var(--secondary); }
.supporting-text { margin: 18px 0 0; max-width: 52ch; color: var(--secondary); line-height: 1.5; }
.state-card-content .login-actions { margin-top: 30px; gap: 12px; }
.button-provider { flex: 1 1 220px; white-space: nowrap; }
.button-venuplus { background: #6c9ee9; color: #000000; border: 1px solid #6c9ee9; }
.button-venuplus:hover { background: #7aa8ec; }
.button-safemark { background: #f2f3f4; color: #000000; border: 1px solid #f1bb19; }
.button-safemark:hover { background: #e4dcbd; }
:root[data-theme="dark"] .button-safemark { background: #e4dcbd; }
:root[data-theme="dark"] .button-safemark:hover { background: #ebce78; }
@media (max-width: 480px) { .state-card-content { padding: 24px; } .orbit-brand { gap: .35rem; } .orbit-account { max-width: 30%; } }

/* 012 - Inspection Configuration: full workspace explorer and checklist panel */
.inspection-configuration { width:100%; min-width:0; display:grid; gap:1rem; }
.inspection-tabs, .inspection-header, .inspection-actions { display:flex; gap:.65rem; flex-wrap:wrap; align-items:center; }
.inspection-header { justify-content:space-between; }
.inspection-header .inspection-new { width:auto; }
.inspection-tabs { border-bottom:1px solid var(--border); }
.inspection-tab { min-height:48px; padding:.8rem 1rem; text-decoration:none; }
.inspection-tab[aria-current="page"] { border-bottom:3px solid var(--accent); }
.inspection-layout { display:grid; grid-template-columns:minmax(230px, .8fr) minmax(0, 2fr); gap:1.5rem; min-width:0; }
.inspection-explorer, .inspection-panel { min-width:0; }
.inspection-explorer > label { display:grid; gap:.35rem; }
.inspection-record-list { display:grid; margin-top:.75rem; }
.inspection-record { display:grid; gap:.3rem; padding:.8rem; min-height:48px; text-decoration:none; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
.inspection-record[aria-current="page"] { background:var(--hover); border-left:3px solid var(--accent); }
.inspection-record small { display:block; }
.inspection-panel h2, .inspection-panel p { overflow-wrap:anywhere; }
.inspection-back { margin-bottom:.8rem; }
.inspection-metadata-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.inspection-metadata-form label, .inspection-checklist-form > label, .inspection-checklist-item label { display:grid; gap:.35rem; min-width:0; }
.inspection-metadata-form .form-message { grid-column:1/-1; }
.inspection-checklist-form, .inspection-checklist { display:grid; gap:1rem; }
.inspection-checklist-item { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; min-width:0; border:1px solid var(--border); padding:1rem; }
.inspection-checklist-item legend { max-width:100%; overflow-wrap:anywhere; }
.inspection-checklist-item .inspection-actions { grid-column:1/-1; }
.inspection-checklist-preview { padding-left:1.6rem; }
.inspection-checklist-preview li { padding:.75rem 0; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
.inspection-checklist-preview li p { margin:.35rem 0; }
.inspection-configuration input:not([type="checkbox"]), .inspection-configuration select, .inspection-configuration textarea { width:100%; max-width:100%; min-width:0; min-height:48px; }
.inspection-configuration input[type="checkbox"] { width:24px; height:24px; }
.inspection-configuration .button { min-height:48px; white-space:normal; overflow-wrap:anywhere; }
@media(max-width:1024px) {
 .inspection-layout { grid-template-columns:minmax(200px,.8fr) minmax(0,1.5fr); gap:1rem; }
 .inspection-metadata-form, .inspection-checklist-item { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
 .inspection-layout { grid-template-columns:minmax(0,1fr); }
 .inspection-has-detail .inspection-explorer { display:none; }
 .inspection-configuration:not(.inspection-has-detail) .inspection-panel { display:none; }
 .inspection-actions { display:grid; grid-template-columns:minmax(0,1fr); }
 .inspection-actions .button, .inspection-metadata-form .button, .inspection-checklist-form > .button { width:100%; }
 .inspection-tabs { display:grid; grid-template-columns:1fr 1fr; }
}
.dispatch-assignment-layout { display: grid; grid-template-columns: minmax(16rem, 1fr) minmax(0, 2fr); gap: 1.25rem; width: 100%; min-width: 0; }
.dispatch-assignment-layout:not(.has-detail) { grid-template-columns: minmax(0, 1fr); }
.dispatch-assignment-list, .dispatch-assignment-detail, .dispatch-assignment-routes { min-width: 0; }
.dispatch-assignment-row { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; padding: .75rem 0; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; }
.dispatch-assignment-row strong { flex: 1 1 10rem; }
.dispatch-assignment-row .dispatch-facts { flex: 1 1 100%; }
.dispatch-assignment-row.selected { background: var(--hover); }
.dispatch-assignment-row .button { min-height: 48px; }
.dispatch-assignment-routes { margin-top: 1.25rem; }
.dispatch-form input[type="checkbox"] { width: 1.5rem; min-height: 1.5rem; }
@media (max-width: 900px) {
  .dispatch-assignment-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .dispatch-assignment-layout.has-detail .dispatch-assignment-list { display: none; }
  .dispatch-assignment-layout.has-detail + .dispatch-assignment-routes { display: none; }
  .dispatch-assignment-row .button { flex: 1 1 100%; text-align: center; }
}
.driver-today-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 1rem; width: 100%; }
.driver-current-truck { padding: 1rem; background: var(--surface); border-radius: .5rem; min-width: 0; overflow-wrap: anywhere; }
.driver-current-truck > strong { font-size: 1.5rem; }
.driver-confirmation-state { font-weight: 700; }
.driver-today-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: .75rem; min-width: 0; }
.driver-summary-card { display: grid; align-content: center; gap: .4rem; padding: 1rem; background: var(--surface); border-radius: .5rem; overflow-wrap: anywhere; }
.driver-summary-card strong { font-size: 1.7rem; }
.driver-confirm-truck { width: 100%; min-height: 48px; }
.driver-route-buckets { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.driver-bucket { min-height: 48px; padding: .8rem 1rem; text-decoration: none; color: var(--text); }
.driver-bucket[aria-current="page"] { background: var(--hover); border-bottom: 3px solid var(--accent); }
@media (max-width: 768px) { .driver-today-layout { grid-template-columns: minmax(0, 1fr); } }
}
/* Driver Stop / Reservation hierarchy and focused delivery scan workspace. */
.driver-stop { min-width: 0; }
.driver-stop-heading { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.driver-stop-heading > small { flex-basis: 100%; }
.driver-stop-heading h3 { flex: 1 1 18rem; margin: 0; overflow-wrap: anywhere; }
.driver-state { display: inline-flex; align-items: center; padding: .2rem .45rem; border: 1px solid currentColor; border-radius: 4px; font-size: .75rem; font-weight: 650; }
.driver-state-neutral { color: var(--text-muted); background: var(--surface); }
.driver-state-warning { color: var(--status-warning); background: var(--status-warning-surface); }
.driver-state-success { color: var(--status-success); background: var(--status-success-surface); }
.driver-state-danger { color: var(--status-danger); background: var(--status-danger-surface); }
.driver-stop-counts { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin: .65rem 0 .35rem; }
.driver-stop > progress { display: block; width: 100%; height: .5rem; margin: .4rem 0 .75rem; accent-color: var(--status-success); }
.driver-reservation-list { display: grid; gap: .5rem; margin-bottom: .65rem; }
.driver-reservation { min-width: 0; border: 1px solid currentColor; border-left-width: 4px; border-radius: 4px; }
.driver-reservation-summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .5rem; padding: .65rem; cursor: pointer; min-height: 44px; overflow-wrap: anywhere; }
.driver-reservation-summary::marker { content: ''; }
.driver-reservation-summary::before { content: '▸'; color: var(--text-secondary); }
.driver-reservation[open] > .driver-reservation-summary::before { content: '▾'; }
.driver-reservation-identity, .driver-reservation-flags { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; min-width: 0; }
.driver-reservation-identity > strong { font-size: 1rem; }
.driver-reservation-identity > span { color: var(--text-secondary); }
.driver-reservation-flags { justify-content: flex-end; gap: .35rem; }
.driver-reservation-body { padding: 0 .65rem .65rem; color: var(--text); }
.driver-reservation-context { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; padding: .65rem 0; border-top: 1px solid var(--border); }
.driver-reservation-contact, .driver-reservation-instructions { display: grid; align-content: start; gap: .15rem; min-width: 0; }
.driver-reservation-contact small { color: var(--text-secondary); }
.driver-reservation-instructions { flex: 1 1 18rem; }
.driver-reservation-body .driver-demand { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .35rem 1rem; margin: 0; padding: .75rem 0; border-top: 1px solid var(--border); background: transparent; }
.driver-demand h4 { grid-column: 1; grid-row: 1; }
.driver-demand-facts { grid-column: 1; grid-row: 2; display: flex; flex-wrap: wrap; gap: .25rem 1rem; color: var(--text-secondary); font-size: var(--text-sm); }
.driver-demand-actions { grid-column: 2; grid-row: 1 / 3; justify-self: end; }
.driver-demand-actions .button { margin: 0; }
.driver-demand-cargo { grid-column: 1 / -1; }
.driver-demand-loading { grid-column: 1 / -1; display: grid; gap: .5rem; min-width: 0; }
.driver-inline-accessories, .driver-inline-exception-editor, .driver-loading-pending { display: grid; gap: .55rem; padding: .65rem; border: 1px solid var(--border); border-radius: .45rem; background: var(--surface); }
.driver-inline-accessory { display: grid; gap: .35rem; padding: .4rem 0; border-top: 1px solid var(--border); }
.driver-inline-accessory:first-of-type { border-top: 0; }
.driver-accessory-choices { display: flex; flex-wrap: wrap; gap: .5rem; }
.driver-accessory-choices .button { min-width: 5rem; min-height: 48px; margin: 0; }
.driver-accessory-choices .button[aria-pressed="true"] { color: var(--primary-text); background: var(--primary); border-color: var(--primary); }
.driver-inline-exception-editor label { display: grid; gap: .25rem; }
.driver-inline-exception-editor .button { justify-self: start; }
.driver-loading-pending p { display: grid; gap: .15rem; margin: 0; }
.driver-inline-exception-editor[hidden], .driver-inline-accessory label[hidden], .driver-inline-accessories > button[hidden], .driver-inline-exception > button[hidden] { display: none; }
.driver-stop-actions { display: flex; justify-content: flex-end; margin-top: .75rem; }
.driver-reservation-body h4, .driver-reservation-body p { margin: .25rem 0; overflow-wrap: anywhere; }
.driver-reservation-body .operational-instructions { white-space: pre-wrap; }
.driver-stop-scanner { position: sticky; bottom: 0; z-index: 1; padding: .65rem; background: var(--surface); border: 1px solid var(--border); border-radius: 4px; }
.driver-stop-scanner label { flex: 1 1 15rem; min-width: 0; }
.driver-stop-scanner input { width: 100%; min-width: 0; min-height: 48px; }
.driver-stop-scanner button { min-height: 48px; white-space: normal; }
.driver-scan-feedback { padding: .65rem; border: 1px solid currentColor; border-radius: 4px; overflow-wrap: anywhere; }
@media (max-width: 768px) {
  .driver-stop-heading h3 { flex-basis: 100%; font-size: 1.1rem; }
  .driver-reservation-summary { grid-template-columns: auto minmax(0, 1fr); }
  .driver-reservation-flags { grid-column: 2; justify-content: flex-start; }
  .driver-demand-actions { grid-column: 1 / -1; grid-row: auto; justify-self: start; }
  .driver-stop-scanner { flex-direction: column; align-items: stretch; }
  .driver-stop-scanner label { flex-basis: auto; }
}
.driver-context-panel { border: 1px solid var(--border); border-radius: 4px; background: var(--surface); padding: .65rem; margin: .65rem 0; }
.driver-context-panel > summary { min-height: 44px; cursor: pointer; overflow-wrap: anywhere; }
.driver-context-panel .driver-context { margin-top: .5rem; }
.driver-scanner-truck, .driver-scan-counters { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.driver-scan-counters { padding: .5rem; border: 1px solid var(--border); border-radius: 4px; background: var(--surface); }
.driver-shared-scanner .driver-scanner { display: flex; flex-wrap: wrap; align-items: end; gap: .5rem; }
.driver-shared-scanner .driver-scanner label { flex: 1 1 15rem; min-width: 0; }
.driver-shared-scanner input, .driver-shared-scanner select, .driver-shared-scanner button { min-height: 44px; }
.driver-shared-scanner .driver-scan-queue { display: grid; gap: .5rem; }
.driver-shared-scanner .driver-queued-asset { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .65rem; padding: .65rem; border: 1px solid currentColor; border-left-width: 4px; border-radius: 4px; }
.driver-queued-asset > strong { font-size: 1rem; }
.driver-queued-asset > small { flex-basis: 100%; overflow-wrap: anywhere; }
.driver-queued-asset .driver-pickup-editor { flex: 1 1 100%; padding: 0; background: transparent; border: 0; }
.driver-queued-asset .driver-condition-controls { display: flex; flex-wrap: wrap; gap: .4rem; }
.driver-condition-pass { color: var(--status-success); background: var(--status-success-surface); border-color: var(--status-success); }
.driver-state-redtag, .driver-condition-redtag { color: var(--status-danger); background: var(--status-danger-surface); }
.driver-shared-scanner .driver-state-danger, .driver-flow > .driver-state-danger { color: var(--status-danger); background: color-mix(in srgb, var(--status-danger-surface) 78%, transparent); border-color: transparent; border-left: 4px solid var(--status-danger); }
.driver-condition-pass[aria-pressed="true"], .driver-condition-redtag[aria-pressed="true"] { box-shadow: inset 0 0 0 2px currentColor; }
.driver-scan-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.driver-observation-note { font-size: .85rem; color: var(--text-muted); margin: .5rem 0; }
.driver-flow > h4 { margin: .5rem 0; }
@media (max-width: 768px) {
  .driver-shared-scanner .driver-scanner { align-items: stretch; }
  .driver-shared-scanner .driver-scanner label { flex-basis: 100%; }
  .driver-queued-asset .driver-condition-controls button { flex: 0 1 auto; }
  .driver-scan-actions .driver-submit { flex: 1 1 100%; }
}
.driver-reservation.driver-state-warning, .driver-reservation.driver-state-success, .driver-reservation.driver-state-danger { color: var(--text); background: var(--surface); border-color: var(--border); }
.driver-reservation.driver-state-warning { border-left-color: var(--status-warning); }
.driver-reservation.driver-state-success { border-left-color: var(--status-success); }
.driver-reservation.driver-state-danger { border-left-color: var(--status-danger); }
.driver-context-panel .driver-destination { display: flex; flex-direction: column; gap: .5rem; }
.driver-context-panel .driver-destination label { width: 100%; min-width: 0; }
.driver-today-layout { grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr)); gap: .75rem; align-items: start; }
.driver-current-truck { grid-row: auto; }
.driver-current-truck > strong { font-size: 1.1rem; }
.driver-current-truck p { margin: .5rem 0; }
.driver-operation-card { padding: .75rem; background: var(--surface); border: 1px solid var(--border); border-radius: 4px; min-width: 0; overflow-wrap: anywhere; }
.driver-operation-card h3 { margin: 0 0 .5rem; font-size: 1rem; }
.driver-operation-card > .driver-state { margin-left: .35rem; }
.driver-compact-facts { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin: .65rem 0; }
.driver-compact-facts > div { min-width: 0; flex: 1 1 6rem; }
.driver-compact-facts dt { color: var(--text-muted); font-size: .8rem; }
.driver-compact-facts dd { margin: .15rem 0 0; font-weight: 600; overflow-wrap: anywhere; }
.driver-today-summary { display: block; }
.driver-history-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0; }
.driver-history-filters label { flex: 1 1 9rem; min-width: 0; }
.driver-history-filters input, .driver-history-filters select { width: 100%; min-width: 0; min-height: 44px; }
.driver-history-summary { background: transparent; padding: 0; border: 0; border-radius: 0; }
.driver-history-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin-top: .75rem; font-size: .85rem; }
.driver-history-table th, .driver-history-table td { padding: .5rem; border-bottom: 1px solid var(--border); text-align: left; overflow-wrap: anywhere; }
.driver-history-table th:nth-child(1) { width: 8%; }
.driver-history-table th:nth-child(2) { width: 16%; }
.driver-history-table th:nth-child(3) { width: 10%; }
.driver-history-table th:nth-child(4) { width: 9%; }
.driver-history-table th:nth-child(5) { width: 5%; }
.driver-history-table th:nth-child(6) { width: 13%; }
.driver-history-table th:nth-child(7) { width: 13%; }
.driver-history-table th:nth-child(8) { width: 15%; }
.driver-history-table th:nth-child(9) { width: 11%; }
.driver-history-table .button { padding: .4rem .5rem; min-height: 44px; }
@media (max-width: 1024px) { .driver-today-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); } .driver-current-truck { grid-row: auto; } }
@media (max-width: 768px) {
  .driver-today-layout { grid-template-columns: minmax(0, 1fr); }
  .driver-history-table, .driver-history-table tbody { display: block; }
  .driver-history-table thead { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
  .driver-history-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; padding: .65rem; margin-bottom: .5rem; border: 1px solid var(--border); border-radius: 4px; background: var(--surface); }
  .driver-history-table td { display: block; border: 0; padding: 0; min-width: 0; }
  .driver-history-table td::before { content: attr(data-label); display: block; color: var(--text-muted); font-size: .75rem; }
}
/* Driver presentation follows the shared Home and Assets surfaces. */
.driver-today-layout { grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: stretch; }
.driver-today-layout > .panel { grid-row: auto; padding: var(--space-5); background: var(--surface-panel); border: 1px solid var(--border-default); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.driver-today-layout h3 { margin: 0 0 var(--space-4); }
.driver-today-layout .driver-compact-facts > div { flex-basis: 7rem; }
.driver-refresh { font-size: var(--text-xs); align-self: start; }
.driver-route-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-block: var(--space-4); }
.driver-route-list .driver-route-card { margin: 0; padding: var(--space-5); background: var(--surface-panel); border: 1px solid var(--border-default); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.driver-route-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-2); }
.driver-route-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.driver-route-facts dd { margin: .25rem 0 0; font-weight: 600; }
.driver-history-filters { padding: var(--space-4); background: var(--surface-panel); border: 1px solid var(--border-default); border-radius: var(--radius-md); }
.driver-history-table { border-collapse: separate; border-spacing: 0; background: var(--surface-panel); border: 1px solid var(--border-default); border-radius: var(--radius-md); overflow: hidden; }
.driver-history-table th { background: var(--surface-muted); color: var(--text-secondary); font-size: var(--text-xs); vertical-align: middle; }
.driver-history-table td { vertical-align: middle; }
.driver-history-table th:nth-child(4) { width: 8%; }
.driver-history-table th:nth-child(5) { width: 6%; }
.driver-history-table tbody tr:last-child td { border-bottom: 0; }
.driver-history-table tbody tr:hover { background: var(--status-info-surface); }
.driver-history-table .table-sort { min-height: 44px; max-width: 100%; overflow-wrap: anywhere; }
.driver-delivery-header { display: flex; justify-content: space-between; align-items: start; gap: var(--space-4); margin-block: var(--space-4); }
.driver-delivery-title h3 { display: inline; margin: 0 var(--space-3) 0 0; }
.driver-delivery-title h4 { margin: var(--space-3) 0 0; }
.driver-delivery-title p { margin: var(--space-2) 0; }
.driver-delivery-actions { display: flex; flex-direction: column; align-items: end; gap: var(--space-2); }
.driver-delivery-navigation { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.driver-stop-scan-controls { background: var(--surface-panel); border: 1px solid var(--border-default); border-radius: var(--radius-lg); padding: var(--space-4); }
.driver-stop-scan-controls .driver-scanner { padding: 0; border: 0; background: transparent; }
.driver-stop-scan-controls .driver-scan-feedback { margin-bottom: 0; }
.driver-operation-card > .button { margin-top: auto; }
@media (max-width: 1399px) { .driver-today-layout { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1024px) { .driver-today-layout, .driver-route-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 768px) {
 .driver-today-layout, .driver-route-list { grid-template-columns: minmax(0, 1fr); }
 .driver-delivery-header { flex-direction: column; }
 .driver-delivery-actions { width: 100%; align-items: start; }
 .driver-delivery-navigation { width: 100%; }
 .driver-history-table { border: 0; background: transparent; overflow: visible; }
}
