/* ROC Mobility semantic design system.  Components consume these tokens, not page-specific colours. */
.mobility-workspace{
  --roc-bg-app:#090909;--roc-bg-header:#0d0d0c;--roc-bg-nav:#10100e;--roc-bg-surface-1:#141310;--roc-bg-surface-2:#1a1813;--roc-bg-card:#171510;--roc-bg-elevated:#211e16;
  --roc-border-subtle:#2a261c;--roc-border-default:#393322;--roc-border-strong:#65552d;
  --roc-text-primary:#f5f1e8;--roc-text-secondary:#c4bcae;--roc-text-muted:#918978;--roc-text-disabled:#655f54;
  --roc-accent-primary:#d5a72f;--roc-accent-primary-soft:rgba(213,167,47,.14);
  --roc-success:#63bf83;--roc-success-soft:rgba(99,191,131,.13);--roc-warning:#d5a72f;--roc-warning-soft:rgba(213,167,47,.14);--roc-danger:#e46b68;--roc-danger-soft:rgba(228,107,104,.13);--roc-info:#d5a72f;--roc-info-soft:rgba(213,167,47,.11);
  --mob-bg:var(--roc-bg-app);--mob-surface:var(--roc-bg-surface-1);--mob-surface-2:var(--roc-bg-surface-2);--mob-line:var(--roc-border-default);--mob-text:var(--roc-text-primary);--mob-muted:var(--roc-text-muted);--mob-cyan:var(--roc-accent-primary);--mob-green:var(--roc-success);--mob-gold:var(--roc-warning);--mob-red:var(--roc-danger);
  background:var(--roc-bg-app);color:var(--roc-text-primary);font-family:"DM Sans",Inter,system-ui,sans-serif;
}
html[data-roc-theme="light"] .mobility-workspace{
  --roc-bg-app:#f4f7f8;--roc-bg-header:#fbfcfc;--roc-bg-nav:#ffffff;--roc-bg-surface-1:#ffffff;--roc-bg-surface-2:#f7fafb;--roc-bg-card:#ffffff;--roc-bg-elevated:#eef4f6;
  --roc-border-subtle:#e1e9ed;--roc-border-default:#cbd9e0;--roc-border-strong:#9db8c6;
  --roc-text-primary:#11232c;--roc-text-secondary:#35505c;--roc-text-muted:#5e7682;--roc-text-disabled:#82949c;
  --roc-accent-primary:#087f87;--roc-accent-primary-soft:rgba(8,127,135,.10);--roc-success:#157a4a;--roc-success-soft:#e5f5ec;--roc-warning:#9b6509;--roc-warning-soft:#fff3d8;--roc-danger:#bb3f48;--roc-danger-soft:#fdebed;--roc-info:#176fb2;--roc-info-soft:#e9f3fb;
  background:var(--roc-bg-app);
}
.mobility-module-bar{background:var(--roc-bg-header);border-color:var(--roc-border-subtle)}
.mobility-nav{background:var(--roc-bg-nav);border-color:var(--roc-border-subtle)}
.mobility-nav button{color:var(--roc-text-secondary)}
.mobility-nav button:hover{color:var(--roc-text-primary);background:var(--roc-bg-elevated)}
.mobility-nav button.active{border-color:var(--roc-accent-primary);background:var(--roc-accent-primary-soft);color:var(--roc-accent-primary)}
.mobility-hero,.mobility-page-header{padding-block:30px 22px}.mobility-kicker{color:var(--roc-accent-primary)}
.mobility-hero h1,.mobility-page-header h1,.mobility-panel h2{color:var(--roc-text-primary)}
.mobility-hero p,.mobility-page-header p,.mobility-panel header p{color:var(--roc-text-secondary)}
.mobility-panel,.mobility-metric,.mobility-capture-form,.mobility-calculator,.mobility-report-grid article{background:var(--roc-bg-card);border-color:var(--roc-border-default);box-shadow:0 8px 22px rgba(8,23,34,.08)}
.mobility-panel>header{border-color:var(--roc-border-subtle)}
.mobility-metric{min-height:84px;border-radius:12px}.mobility-metric small{color:var(--roc-text-secondary)}.mobility-metric em{color:var(--roc-text-muted)}.mobility-metric strong{color:var(--roc-text-primary)}
.mobility-metric-icon{border:1px solid var(--roc-border-subtle);background:var(--roc-accent-primary-soft);color:var(--roc-accent-primary)}
.mobility-metric.violet .mobility-metric-icon,.mobility-metric.blue .mobility-metric-icon,.mobility-metric.teal .mobility-metric-icon{color:var(--roc-accent-primary);background:var(--roc-accent-primary-soft)}
.mobility-metric.green .mobility-metric-icon{color:var(--roc-success);background:var(--roc-success-soft)}.mobility-metric.orange .mobility-metric-icon,.mobility-metric.gold .mobility-metric-icon{color:var(--roc-warning);background:var(--roc-warning-soft)}
.mobility-actions button,.mobility-page-header button,.mobility-primary,.underwriting-actions button{border-color:var(--roc-border-default);background:var(--roc-bg-surface-1);color:var(--roc-text-primary);border-radius:9px}.mobility-actions button:hover,.mobility-page-header button:hover{border-color:var(--roc-accent-primary);background:var(--roc-accent-primary-soft)}
.mobility-workspace .mobility-primary{border-color:var(--roc-accent-primary);background:var(--roc-accent-primary);color:#fff;box-shadow:none}.mobility-workspace .mobility-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}
.mobility-secondary-kpis{background:var(--roc-bg-surface-2);border-color:var(--roc-border-default);border-radius:12px}.mobility-secondary-kpis span{border-color:var(--roc-border-subtle)}.mobility-secondary-kpis small{color:var(--roc-text-secondary)}.mobility-secondary-kpis b{color:var(--roc-text-primary)}
.mobility-table th{background:var(--roc-bg-elevated);color:var(--roc-text-secondary);border-color:var(--roc-border-subtle)}.mobility-table td{color:var(--roc-text-secondary);border-color:var(--roc-border-subtle)}.mobility-table td b{color:var(--roc-text-primary)}.mobility-table td small{color:var(--roc-text-muted)}.mobility-table tbody tr:hover{background:var(--roc-bg-surface-2)}
.mobility-badge{border-color:var(--roc-border-default);background:var(--roc-bg-elevated);color:var(--roc-text-secondary)}.mobility-badge.verified,.mobility-badge.approved,.mobility-badge.active,.mobility-badge.paid,.mobility-badge.settled{border-color:color-mix(in srgb,var(--roc-success) 45%,var(--roc-border-default));background:var(--roc-success-soft);color:var(--roc-success)}.mobility-badge.new,.mobility-badge.draft{border-color:var(--roc-border-default);background:var(--roc-bg-elevated);color:var(--roc-text-secondary)}.mobility-badge.verification,.mobility-badge.documents-outstanding,.mobility-badge.documents_outstanding,.mobility-badge.in-progress{border-color:color-mix(in srgb,var(--roc-info) 45%,var(--roc-border-default));background:var(--roc-info-soft);color:var(--roc-info)}.mobility-badge.underwriting,.mobility-badge.conditional,.mobility-badge.conditional-approval,.mobility-badge.conditional_approval,.mobility-badge.expiring{border-color:color-mix(in srgb,var(--roc-warning) 45%,var(--roc-border-default));background:var(--roc-warning-soft);color:var(--roc-warning)}.mobility-badge.vehicle-assigned,.mobility-badge.vehicle_assigned,.mobility-badge.delivered{border-color:color-mix(in srgb,var(--roc-accent-primary) 45%,var(--roc-border-default));background:var(--roc-accent-primary-soft);color:var(--roc-accent-primary)}.mobility-badge.declined,.mobility-badge.overdue,.mobility-badge.recovery,.mobility-badge.cancelled,.mobility-badge.failed{border-color:color-mix(in srgb,var(--roc-danger) 45%,var(--roc-border-default));background:var(--roc-danger-soft);color:var(--roc-danger)}
.mobility-empty,.mobility-ui-empty,.mobility-loading-state{min-height:210px;background:var(--roc-bg-surface-1);color:var(--roc-text-primary)}.mobility-empty p,.mobility-ui-empty p,.mobility-loading-state p{color:var(--roc-text-secondary)}.mobility-loading-state{display:grid;place-items:center;text-align:center;padding:36px}.mobility-loading-state span{display:grid;place-items:center;width:38px;height:38px;margin:auto auto 12px;border:1px solid var(--roc-border-default);border-radius:12px;color:var(--roc-accent-primary);background:var(--roc-accent-primary-soft)}
/* Grouped pipeline: readable finance workflow rather than nine compressed columns. */
.mobility-pipeline-flow{display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;gap:8px;padding:10px 12px}.mobility-pipeline-group{border:1px solid var(--roc-border-default);border-radius:8px;background:var(--roc-bg-surface-2);padding:8px}.mobility-pipeline-group>header{display:flex;align-items:center;gap:8px;margin:0 0 8px;padding:0;border:0;min-height:0}.mobility-pipeline-number{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border:1px solid color-mix(in srgb,var(--roc-accent-primary) 45%,var(--roc-border-default));border-radius:7px;background:var(--roc-accent-primary-soft);color:var(--roc-accent-primary);font-size:11px;font-weight:800}.mobility-pipeline-group>header div{display:grid;gap:1px}.mobility-pipeline-group>header b{font-size:8px;letter-spacing:.08em;color:var(--roc-text-primary)}.mobility-pipeline-group>header small{color:var(--roc-text-muted);font-size:7px}.mobility-pipeline-stages{display:grid;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);align-items:stretch;gap:4px}.mobility-pipeline-group.fulfilment .mobility-pipeline-stages{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr)}.mobility-pipeline-connector{display:grid;place-items:center;color:var(--roc-text-muted)}.mobility-pipeline-connector svg{width:12px;height:12px}.mobility-pipeline-stage{position:relative;display:grid;align-content:start;gap:4px;min-width:0;min-height:116px;padding:9px;border:1px solid var(--roc-border-default);border-radius:6px;background:var(--roc-bg-card);color:var(--roc-text-primary);text-align:left;cursor:pointer}.mobility-pipeline-stage:hover,.mobility-pipeline-stage:focus-visible{border-color:var(--roc-accent-primary);outline:0;box-shadow:0 0 0 2px var(--roc-accent-primary-soft)}.mobility-pipeline-stage small{display:flex;align-items:center;gap:5px;color:var(--roc-accent-primary);font-size:7px;font-weight:700;letter-spacing:.02em;line-height:1.15}.mobility-pipeline-stage small span{display:grid;place-items:center;width:17px;height:17px;border-radius:5px;background:var(--roc-accent-primary-soft)}.mobility-pipeline-stage small svg{width:10px;height:10px}.mobility-pipeline-stage strong{font-size:19px;line-height:1;color:var(--roc-text-primary)}.mobility-pipeline-stage b{font-size:7px;color:var(--roc-text-secondary)}.mobility-pipeline-stage em{font-size:7px;font-style:normal;color:var(--roc-text-muted);line-height:1.2}.mobility-pipeline-stage .mobility-stage-attention{color:var(--roc-warning)}.mobility-pipeline-group>footer{display:flex;justify-content:space-between;gap:8px;margin-top:8px;padding-top:7px;border-top:1px solid var(--roc-border-subtle);color:var(--roc-text-muted);font-size:7px}.mobility-pipeline-group>footer strong{color:var(--roc-text-secondary);font-size:7px}
.mobility-application-filter{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--roc-info);border-radius:10px;background:var(--roc-info-soft);color:var(--roc-text-primary);font-size:9px}.mobility-application-filter button{margin-left:auto;border:0;background:transparent;color:var(--roc-info);font:inherit;font-weight:800;cursor:pointer}
/* Capture and underwriting consume the same system rather than separately invented dark surfaces. */
.mobility-capture-form input,.mobility-capture-form select,.mobility-calculator input,.mobility-dialog input,.mobility-dialog select,.underwriting-actions textarea{background:var(--roc-bg-surface-2);border-color:var(--roc-border-default);color:var(--roc-text-primary)}.mobility-capture-form input:focus,.mobility-capture-form select:focus{border-color:var(--roc-accent-primary);box-shadow:0 0 0 3px var(--roc-accent-primary-soft)}.mobility-capture-form>footer{background:var(--roc-bg-surface-2);border-color:var(--roc-border-subtle)}.mobility-capture-steps{border-color:var(--roc-border-default);background:var(--roc-border-default)}.mobility-capture-steps li{background:var(--roc-bg-surface-1);color:var(--roc-text-secondary)}.mobility-capture-steps li.active{background:var(--roc-accent-primary-soft);color:var(--roc-accent-primary)}.mobility-capture-steps li.complete{color:var(--roc-success)}
.m6-workspace{--panel:var(--roc-bg-card);--border:var(--roc-border-default);--text:var(--roc-text-primary);--muted:var(--roc-text-secondary);--input-bg:var(--roc-bg-surface-2);padding:20px 0 34px;gap:12px}.m6-principles article,.m6-form,.m6-queue-list>button{background:var(--roc-bg-card);border-color:var(--roc-border-default)}.m6-queue-list>button:hover{background:var(--roc-bg-surface-2)}.m6-policy{border-color:var(--roc-border-default);background:var(--roc-bg-surface-2);color:var(--roc-text-secondary)}.m6-badge{border-color:var(--roc-border-default);background:var(--roc-bg-elevated);color:var(--roc-text-secondary)}.m6-badge.ready,.m6-badge.approve,.m6-badge.approved,.m6-badge.verified{color:var(--roc-success);border-color:var(--roc-success);background:var(--roc-success-soft)}.m6-badge.decline,.m6-badge.declined,.m6-badge.blocked{color:var(--roc-danger);border-color:var(--roc-danger);background:var(--roc-danger-soft)}.m6-score-card{border-color:var(--roc-accent-primary);background:var(--roc-accent-primary-soft)}.m6-score-card>strong{color:var(--roc-accent-primary)}
@media(max-width:1050px){.mobility-pipeline-flow{grid-template-columns:1fr}.mobility-pipeline-group.fulfilment{grid-column:auto}}@media(max-width:700px){.mobility-pipeline-flow{padding:10px}.mobility-pipeline-stages{flex-direction:column}.mobility-pipeline-stages>i{display:none}.mobility-pipeline-stage{min-height:82px}.mobility-pipeline-group{padding:10px}.mobility-secondary-kpis{grid-template-columns:1fr 1fr}.mobility-secondary-kpis span{border-bottom:1px solid var(--roc-border-subtle)}}

/* Override the retired nine-column pipeline rules while preserving other dashboard panels. */
.mobility-pipeline-panel{display:block;margin-top:10px}.mobility-pipeline-panel>.mobility-pipeline-flow{display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;gap:8px;padding:10px 12px;background:transparent}.mobility-pipeline-panel>.mobility-pipeline-flow .mobility-pipeline-group{display:block;background:var(--roc-bg-surface-2)}.mobility-pipeline-panel>.mobility-pipeline-flow .mobility-pipeline-stage{min-height:116px;padding:9px;border:1px solid var(--roc-border-default);background:var(--roc-bg-card);color:var(--roc-text-primary)}.mobility-pipeline-panel>.mobility-pipeline-flow .mobility-pipeline-stage:hover{background:var(--roc-bg-elevated)}
@media(max-width:1250px){.mobility-pipeline-panel>.mobility-pipeline-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.mobility-pipeline-panel>.mobility-pipeline-flow{grid-template-columns:1fr;padding:10px}.mobility-pipeline-group.fulfilment .mobility-pipeline-stages{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Workflow tables and application evidence use one aligned, responsive system. */
.mobility-page-header{align-items:center}.mobility-page-header>button{flex:0 0 auto}.mobility-table-wrap{position:relative;overflow:auto;border:1px solid var(--roc-border-default);border-radius:12px;background:var(--roc-bg-card);scrollbar-gutter:stable}.mobility-table{min-width:980px;table-layout:auto}.mobility-table th,.mobility-table td{height:52px;padding-inline:13px;vertical-align:middle}.mobility-table thead th{position:sticky;top:0;z-index:2;background:var(--roc-bg-elevated);box-shadow:0 1px 0 var(--roc-border-subtle)}.mobility-table tbody tr:last-child td{border-bottom:0}.mobility-table th:last-child,.mobility-table td:last-child{width:52px;text-align:center}.mobility-row-action{width:34px;height:34px;margin-inline:auto;color:var(--roc-accent-primary)}.mobility-row-action:hover,.mobility-row-action:focus-visible{border-color:var(--roc-accent-primary);background:var(--roc-accent-primary-soft);outline:0}.mobility-detail-hero{align-items:center}.mobility-detail-actions{justify-content:flex-end}.mobility-document-row{min-height:74px}.mobility-document-actions button{min-height:34px}.mobility-document-state .mobility-badge.missing{border-color:color-mix(in srgb,var(--roc-warning) 45%,var(--roc-border-default));background:var(--roc-warning-soft);color:var(--roc-warning)}
@media(max-width:900px){.mobility-page-header{align-items:flex-start}.mobility-page-header>button{width:100%}.mobility-detail-actions{justify-content:flex-start}.mobility-table{min-width:900px}}@media(max-width:600px){.mobility-nav button span{display:inline}.mobility-nav button{min-width:max-content;padding-inline:10px}.mobility-document-row{padding:12px}.mobility-document-actions button{flex:1}.mobility-detail-hero{align-items:flex-start}}
