/* Route Intelligence | Complete blue-and-white interface | 2026-09-08 v1
   Shared by provider/master, driver, customer, registration and standalone screens.
   Presentation only: no account, permission, validation or workflow behaviour. */
:root {
  --ink:#102743; --ink2:#193e65; --ink-2:#193e65; --ink-3:#264b73;
  --paper:#fff; --warm:#f5f9ff; --sand:#e7f0ff; --line:#dce7f5;
  --burnt:#005cf5; --burnt2:#0049cb; --burnt-dark:#0049cb; --burnt-soft:#e7f0ff;
  --blue:#005cf5; --muted:#566c86; --green:#087b48; --green-dark:#08613d;
  --red:#b42335; --shadow:0 12px 36px rgba(32,73,132,.08);
  --ri-bg:#f5f9ff; --ri-surface:#fff; --ri-ink:#102743; --ri-muted:#566c86;
  --ri-line:#dce7f5; --ri-orange:#005cf5; --ri-orange-dark:#0049cb;
  --ri-green:#087b48; --ri-charcoal:#102743; --ri-shadow:0 12px 36px rgba(32,73,132,.08);
  --ri26-ink:#102743; --ri26-ink-soft:#193e65; --ri26-burnt:#005cf5;
  --ri26-burnt-dark:#0049cb; --ri26-canvas:#f5f9ff; --ri26-paper:#fff;
  --ri26-line:#dce7f5; --ri26-muted:#566c86; --ri26-blue:#005cf5;
  --ri26-shadow:0 12px 36px rgba(32,73,132,.08);
  color-scheme:light;
}
.ri-ui {color:var(--ink);background:var(--ri-bg)!important;-webkit-font-smoothing:antialiased;line-height:1.5}
.ri-ui *, .ri-ui *::before, .ri-ui *::after {box-sizing:border-box}
.ri-ui ::selection {background:#cfe2ff;color:#102743}
.ri-ui a, .ri-ui button, .ri-ui input, .ri-ui select, .ri-ui textarea {touch-action:manipulation}
.ri-ui a, .ri-ui button {transition:background-color .16s,border-color .16s,box-shadow .16s}
.ri-ui :focus-visible {outline:3px solid #005cf5;outline-offset:3px}
.ri-ui [tabindex="-1"]:focus {outline:none}
.ri-ui img, .ri-ui svg, .ri-ui video {max-width:100%}
.ri-ui h1,.ri-ui h2,.ri-ui h3 {text-wrap:balance}
.ri-ui h1 {letter-spacing:-.04em;line-height:1.09}
.ri-ui h2 {letter-spacing:-.025em;line-height:1.2}
.ri-ui h3 {line-height:1.3}
.ri-ui .eyebrow {color:var(--blue)}
.ri-ui .help,.ri-ui .mini {color:var(--muted)}
.ri-ui .ri-skip {position:fixed;left:16px;top:12px;z-index:9999;transform:translateY(-160%);background:#005cf5;color:#fff;padding:12px 18px;border-radius:10px;font-weight:800;text-decoration:none}
.ri-ui .ri-skip:focus {transform:translateY(0)}
/* Brand mastheads: a white surface and the same primary blue as the public site. */
.ri-ui .top,.ri-ui .driver-top {
  background:#fff!important;color:var(--ink);border-top:5px solid #005cf5;
  border-bottom:1px solid var(--line)!important;box-shadow:0 4px 22px rgba(32,73,132,.055)!important;
  height:auto!important;min-height:79px;gap:16px;
}
.ri-ui .brand,.ri-ui .driver-brand {color:var(--ink);min-width:0;line-height:1.18}
.ri-ui .brand small,.ri-ui .driver-brand small,.ri-ui .user small {color:#567293;line-height:1.4}
.ri-ui .brand>.mark,.ri-ui .driver-mark,.ri-ui .mark {
  flex-shrink:0;background:linear-gradient(145deg,#0675ff,#0051dd)!important;color:#fff;
  border:1px solid rgba(0,92,245,.13);box-shadow:0 5px 12px rgba(0,92,245,.14);font-weight:900;
}
.ri-ui .ghost,.ri-ui .install-link {background:#f0f6ff;border:1px solid #d3e2f7;color:#0051d4;min-height:42px;white-space:nowrap}
.ri-ui .ghost:hover,.ri-ui .install-link:hover {background:#e3efff;border-color:#87b7ff}
.ri-ui .user strong {color:#102743}
.ri-workspace .top {padding:12px 28px}
.ri-workspace .shell {grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 79px)}
.ri-workspace .side {background:#fff;border-right:1px solid var(--line);padding:23px 14px;top:79px;height:calc(100vh - 79px);gap:6px}
.ri-workspace .nav-section {color:#6a809a;font-size:10px;letter-spacing:.12em}
.ri-workspace .side .nav {position:relative;background:transparent;color:#425d7c;font-size:13px;border:1px solid transparent;line-height:1.25;min-height:45px;display:flex;align-items:center;padding:12px 15px}
.ri-workspace .side .nav:hover {background:#f1f6ff;color:#005cf5}
.ri-workspace .side .nav.active {background:#eaf2ff;color:#0051d4;border-color:#d7e6ff;box-shadow:inset 3px 0 #005cf5;font-weight:850}
.ri-workspace .secure-note {border-color:#dce7f5;background:#f5f9ff;color:#274b74;line-height:1.4;margin-top:26px}
.ri-workspace .secure-note strong {font-size:12px}
.ri-workspace .secure-note span {color:#617998;font-size:11px}
.ri-workspace .main {max-width:1680px;padding:28px 30px;min-width:0}
.ri-workspace .public-main {width:100%;max-width:1120px;padding:44px 24px 64px}
.ri-ui .main,.ri-ui .driver-main,.ri-ui .panel,.ri-ui .card,.ri-ui .grid>*,.ri-ui .split>*,.ri-ui .field,.ri-ui .panel-head>div {min-width:0}
/* Headings and navigation never turn brown; workflow status colours remain semantic. */
.ri-ui .hero,.ri-ui .driver-hero {
  background:linear-gradient(120deg,#fff 10%,#eef5ff 72%,#e8f8fc)!important;
  border:1px solid #d6e6fa;color:#102743!important;box-shadow:var(--shadow)!important;border-radius:22px!important;
}
.ri-ui .hero h1,.ri-ui .driver-hero h1 {color:#102743}
.ri-ui .hero .lead,.ri-ui .hero>p,.ri-ui .driver-hero p {color:#506989!important}
.ri-ui .hero::after {background:rgba(0,92,245,.055);pointer-events:none}
.ri-ui .hero>*,.ri-ui .driver-hero>* {position:relative;z-index:1}
.ri-ui .hero .eyebrow,.ri-ui .driver-hero .eyebrow {color:#005cf5}
.ri-ui .hero .btn.light {background:#fff;color:#005cf5;border:1px solid #accbff}
.ri-ui .panel,.ri-ui .card,.ri-ui .login-card,.ri-ui .login,.ri-ui .ri26-panel {background:#fff;border-color:var(--line)!important;box-shadow:var(--shadow)!important;border-radius:18px!important}
.ri-ui .metric strong {letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.ri-ui .metric.blue strong,.ri-ui .metric.burnt strong {color:#005cf5}
.ri-ui .empty,.ri-ui .upload-drop,.ri-ui .more-options,.ri-ui .check,.ri-ui .device-card,.ri-ui .edit-panel {background:#f8fbff;border-color:#c9daef}
.ri-ui .smart-note {background:#eef5ff;border-left-color:#005cf5}
.ri-ui .kiss-next {border-color:#8bb9ff;border-width:2px}
.ri-ui .sequence,.ri-ui .wizard-number,.ri-ui .kiss-step strong {background:#005cf5;color:#fff}
.ri-ui .kiss-step.done strong {background:#087b48}
.ri-ui .source-card:hover {border-color:#8cbcff;box-shadow:0 8px 22px rgba(0,92,245,.08)}
.ri-ui .choice-card:has(input:checked) {border-color:#005cf5;background:#eef5ff;box-shadow:0 0 0 3px rgba(0,92,245,.07)}
/* Inputs, disabled states and selected choices. Never expand hidden fields. */
.ri-ui input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="color"]),
.ri-ui select,.ri-ui textarea {min-width:0;border-color:#bdcfe5!important;background:#fff;color:#102743;font-size:15px;border-radius:11px!important}
.ri-ui input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="color"]),.ri-ui select {min-height:46px}
.ri-ui input:focus,.ri-ui select:focus,.ri-ui textarea:focus {outline:none;border-color:#005cf5!important;box-shadow:0 0 0 3px rgba(0,92,245,.12)}
.ri-ui input[type="checkbox"],.ri-ui input[type="radio"] {accent-color:#005cf5;width:20px;min-width:20px;height:20px;min-height:20px!important;flex:0 0 20px;padding:0;border-radius:4px!important}
.ri-ui input[type="radio"] {border-radius:50%!important}
.ri-ui input::placeholder,.ri-ui textarea::placeholder {color:#7c91aa}
.ri-ui input:disabled,.ri-ui select:disabled,.ri-ui textarea:disabled {background:#f1f5fa;color:#60758f}
.ri-ui label,.ri-ui .field-label {color:#294565}
.ri-ui .btn {background:#005cf5;color:#fff;min-height:44px;border-radius:11px!important;line-height:1.3;font-family:inherit}
.ri-ui .btn:hover {filter:brightness(.96)}
.ri-ui .btn.dark,.ri-ui .btn.blue,.ri-ui .kiss-button.dark {background:#005cf5;color:#fff}
.ri-ui .btn.green,.ri-ui .kiss-button {background:#087b48;color:#fff}
.ri-ui .btn.light {background:#edf4ff;color:#0051d4;border:1px solid #d4e3f8}
.ri-ui .btn.red,.ri-ui .btn.danger {background:#b42335;color:#fff}
.ri-ui .btn:disabled,.ri-ui .btn.disabled {background:#dde6f2!important;color:#61758e!important;box-shadow:none!important;cursor:not-allowed;filter:none;opacity:1}
.ri-ui .badge {background:#edf3fc;color:#3e5e83}
.ri-ui .badge.good,.ri-ui .flash.success {background:#e5f7ef;color:#076440}
.ri-ui .badge.warn {background:#fff3d8;color:#825209}
.ri-ui .badge.bad,.ri-ui .flash.error {background:#fff0f2;color:#a02135}
.ri-ui .badge.info,.ri-ui .flash.info {background:#eaf2ff;color:#174e9c}
.ri-ui .flash {line-height:1.6;border:1px solid transparent}
.ri-ui .flash.success {border-color:#c3e9d8}
.ri-ui .flash.error {border-color:#f2c6cf}
.ri-ui .flash.info {border-color:#cfe0fa}
.ri-ui .table-wrap {width:100%;max-width:100%;overflow-x:auto;border-radius:12px;overscroll-behavior-x:contain}
.ri-ui th {background:#f1f6ff;color:#466589;font-weight:850}
.ri-ui td,.ri-ui th {border-bottom-color:#e5edf8}
.ri-ui tbody tr:hover {background:#f8fbff}
.ri-ui td .btn {min-height:36px;padding:8px 12px;font-size:12px}
.ri-ui .detail dd {overflow-wrap:anywhere}
.ri-ui .login-card,.ri-ui .login {border-top:4px solid #005cf5!important}
.ri-workspace .login-card {max-width:560px;padding:30px 34px}
.ri-ui .brand-block .eyebrow {font-size:10px;line-height:1.6}
.ri-ui footer {color:#6b8099;background:transparent;border-top:1px solid #e3ecf8;font-size:12px}
/* The advanced service network keeps its dashboard hierarchy, in blue. */
.ri-ui .ri26-hero {background:radial-gradient(circle at 92% 20%,rgba(45,192,218,.2),transparent 42%),linear-gradient(125deg,#0757d5,#0049ba)!important;box-shadow:0 14px 35px rgba(0,72,169,.15)}
.ri-ui .ri26-kicker {color:#d5eaff}
.ri-ui .ri26-hero p {color:#e0edff}
.ri-ui .ri26-status-orbit {background:radial-gradient(circle at 30% 25%,#38a9ff,#0064ee 65%,#0346ab)}
.ri-ui .ri26-btn-primary {background:linear-gradient(180deg,#197bff,#005cf5);color:#fff}
.ri-ui .ri26-command-icon,.ri-ui .ri26-section-number {background:#005cf5}
.ri-ui .ri26-command-strip article.is-attention {background:#fff8e9;border-color:#ecd29c}
.ri-ui .ri26-command-strip article.is-attention .ri26-command-icon {background:#9b620e}
.ri-ui .ri-primary.warn {background:#99600c!important;box-shadow:0 10px 24px rgba(130,82,9,.12)!important}
.ri-ui .ri-primary.empty {background:#60758f!important;color:#fff}
.ri-ui .ri-stat.alert {background:#fff8e9!important;border-color:#e8ce98!important}
/* Driver and customer applications, including the installed mobile navigation. */
.ri-driver .driver-top {padding:12px 16px}
.ri-driver .driver-person {border-color:var(--line);background:#f8fbff}
.ri-driver .driver-nav {background:#fff;border-bottom:1px solid var(--line)}
.ri-driver .driver-nav a {color:#486787}
.ri-driver .driver-nav a.active {background:#005cf5;color:#fff}
.ri-driver .driver-main {padding-bottom:120px!important}
.ri-driver .network.online {background:#e4f7ee;color:#076440}
.ri-driver .network.offline {background:#fff0f2;color:#a02135}
.ri-driver .sticky-actions {background:rgba(255,255,255,.97);border-color:#d3e2f5}
.ri-customer .nav {background:#fff;border-bottom:1px solid #dce7f5}
.ri-customer .nav-link {color:#466589}
.ri-customer .nav-link:hover {background:#f0f6ff;color:#005cf5}
.ri-customer .nav-link.active {background:#005cf5;color:#fff}
.ri-customer .mobile-dock {background:rgba(255,255,255,.98);border-color:#d1e1f7;box-shadow:0 7px 26px rgba(32,73,132,.14)}
.ri-customer .dock-link {color:#536f91}
.ri-customer .dock-link.active {background:#005cf5;color:#fff}
.ri-customer .progress,.ri-customer .timeline span {background:#e4edf8}
.ri-customer .progress span,.ri-customer .timeline span.on {background:#087b48}
/* Registration is its own layout and retains all three verification steps. */
.ri-register {--content:1320px;--line:#dce7f5;--green-soft:#e5f7ef;--shadow:0 16px 48px rgba(32,73,132,.09)}
.ri-register::before {background:radial-gradient(circle at 9% 8%,rgba(0,92,245,.055),transparent 36%),linear-gradient(135deg,#fff,#f2f8ff)!important}
.ri-register .ri-contact-strip {background:#005cf5;color:#fff;font-size:12px;font-weight:650}
.ri-register .ri-contact-strip>.container {display:flex;justify-content:space-between;gap:18px;padding-top:9px;padding-bottom:9px}
.ri-register .ri-contact-strip a {color:#fff;white-space:nowrap}
.ri-register .site-header {background:#fff;border-bottom:1px solid #dce7f5;box-shadow:0 4px 18px rgba(32,73,132,.035)}
.ri-register .site-header .nav {min-height:82px}
.ri-register .brand {color:#102743}
.ri-register .brand-mark {background:#005cf5}
.ri-register .brand-mark span {background:#12abc1;box-shadow:0 0 0 3px #005cf5}
.ri-register .brand-copy small {color:#5d7999}
.ri-register .nav-link {color:#3c5a7d}
.ri-register .nav-link:hover {color:#005cf5}
.ri-register .btn-outline-light {background:#edf4ff;color:#0051d4;border:1px solid #c8dcfa}
.ri-register .btn-burnt,.ri-register .btn-dark {background:#005cf5;color:#fff;box-shadow:none}
.ri-register .btn-burnt:hover,.ri-register .btn-dark:hover {background:#0049cb}
.ri-register .registration-shell {padding-top:48px}
.ri-register .intro {gap:48px;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)}
.ri-register .intro-copy {top:30px}
.ri-register .intro-copy h1 {font-size:clamp(2.9rem,4.8vw,4.7rem);line-height:1.04;letter-spacing:-.055em}
.ri-register .intro-copy h1 span {color:#005cf5}
.ri-register .lead {color:#506989;font-size:17px;line-height:1.7}
.ri-register .eyebrow {color:#005cf5;font-size:11px}
.ri-register .eyebrow::before {background:#005cf5}
.ri-register .connector-summary {background:#fff;color:#102743;border-color:#d6e5f8;box-shadow:0 8px 28px rgba(32,73,132,.055)}
.ri-register .connector-pills span {background:#eef5ff;color:#245b9f;border-color:#d4e5ff}
.ri-register .connector-pills span:nth-child(2n) {background:#edfafa;color:#07768a;border-color:#c9e9ee}
.ri-register .form-card {border-color:#d4e3f5;border-radius:22px;box-shadow:var(--shadow)}
.ri-register .progress-wrap {background:#fbfdff;padding:22px 30px}
.ri-register .progress-step {color:#627995}
.ri-register .progress-step span {background:#e8f0fb;color:#5b7596}
.ri-register .progress-step.is-active {color:#0051d4}
.ri-register .progress-step.is-active span {background:#005cf5;color:#fff}
.ri-register .progress-step.is-complete span {background:#087b48;color:#fff}
.ri-register .progress-bar {background:#e4edf9}
.ri-register .progress-bar span {background:linear-gradient(90deg,#005cf5,#10a4bc)}
.ri-register .form-body {padding:32px}
.ri-register .step-head h2 {font-size:clamp(26px,2.9vw,38px)}
.ri-register .step-head small,.ri-register .required {color:#0051d4}
.ri-register .field-grid {gap:17px}
.ri-register input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.ri-register select {min-height:48px}
.ri-register .choice:has(input:checked) .choice-card {border-color:#005cf5;background:#eef5ff}
.ri-register .site-footer {background:#fff;color:#627c9b}
.ri-standalone .card {border-top:4px solid #005cf5!important}
.ri-standalone .dark {background:#005cf5;color:#fff}
/* Responsive adjustments do not hide business fields or truncate tables. */
@media(min-width:1101px) {.ri-workspace .side .nav {scroll-margin-top:100px}}
@media(max-width:1100px) {
  .ri-workspace .shell {grid-template-columns:192px minmax(0,1fr)}
  .ri-workspace .main {padding:22px}
  .ri-register .intro {gap:30px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .ri-register .intro-copy h1 {font-size:3.25rem}
}
@media(max-width:900px) {
  .ri-register .intro {grid-template-columns:1fr}
  .ri-register .intro-copy {position:static}
  .ri-register .intro-copy h1 {font-size:clamp(2.7rem,6vw,4rem);max-width:700px}
  .ri-register .connector-summary {margin-top:22px}
  .ri-register .registration-shell {padding-top:32px}
}
@media(max-width:760px) {
  .ri-workspace .top {padding:11px 14px;min-height:74px}
  .ri-workspace .brand {font-size:16px;gap:9px}
  .ri-workspace .brand small {font-size:8px}
  .ri-workspace .top .mark {width:38px;height:38px}
  .ri-workspace .shell {display:block}
  .ri-workspace .side {height:auto;position:relative;top:0;display:flex;flex-direction:row;gap:7px;border-right:0;border-bottom:1px solid #dce7f5;overflow-x:auto;max-width:100%;padding:10px 12px;scrollbar-width:thin}
  .ri-workspace .side .nav {flex:0 0 auto;min-height:40px;padding:10px 13px;font-size:12px}
  .ri-workspace .side .nav.active {background:#005cf5;color:#fff;box-shadow:none}
  .ri-workspace .side .secure-note,.ri-workspace .side .nav-section {display:none}
  .ri-workspace .main {padding:18px 14px}
  .ri-workspace .public-main {padding:28px 14px 44px}
  .ri-workspace .login-card {padding:25px 21px}
  .ri-ui .hero {padding:23px 21px!important;border-radius:18px!important}
  .ri-ui .panel-head {flex-wrap:wrap;align-items:flex-start}
  .ri-ui .panel {padding:19px}
  .ri-ui input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.ri-ui select,.ri-ui textarea {font-size:16px}
  .ri-driver .driver-brand {font-size:15px;gap:9px}
  .ri-driver .driver-brand small {font-size:8px}
  .ri-driver .driver-top {padding:11px 12px;gap:10px;min-height:73px}
  .ri-driver .driver-mark {width:38px;height:38px}
  .ri-driver .network {font-size:10px;padding:6px 8px}
  .ri-customer .top {padding:10px 12px;gap:10px;min-height:72px}
  .ri-customer .top-actions {gap:7px}
  .ri-customer .brand {gap:8px}
  .ri-customer .ghost {padding:8px 10px;font-size:12px}
  .ri-customer .main {padding-bottom:calc(112px + env(safe-area-inset-bottom))}
  .ri-register .ri-contact-strip {font-size:10px}
  .ri-register .ri-contact-strip .container {gap:12px}
  .ri-register .ri-contact-strip .container>span {max-width:180px}
  .ri-register .site-header .nav {min-height:75px;gap:10px}
  .ri-register .nav-actions {gap:7px}
  .ri-register .nav-actions .nav-link {font-size:12px}
  .ri-register .nav-actions .btn {padding:10px 12px;font-size:12px}
  .ri-register .form-body {padding:25px 21px}
  .ri-register .progress-wrap {padding:20px}
}
@media(max-width:430px) {
  .ri-ui .top {gap:8px}
  .ri-workspace .brand {font-size:14px}
  .ri-workspace .ghost {font-size:12px;padding:8px 10px}
  .ri-register .ri-contact-strip>.container {width:calc(100% - 28px)}
  .ri-register .brand-copy strong {font-size:.92rem}
  .ri-register .brand-copy small {font-size:.52rem}
  .ri-register .brand {gap:8px}
  .ri-register .brand-mark {width:35px;height:35px;flex-basis:35px}
  .ri-register .container {width:calc(100% - 28px)}
  .ri-register .intro-copy h1 {font-size:2.65rem}
  .ri-register .progress-step {gap:6px;font-size:10px}
  .ri-register .progress-step span {width:24px;height:24px;flex-basis:24px}
  .ri-register .form-body {padding:22px 17px}
  .ri-ui .login-card h1 {font-size:32px!important}
  .ri-customer .brand-copy {max-width:calc(100vw - 208px)}
  .ri-customer .top .mark {width:36px;height:36px;flex-basis:36px}
  .ri-customer .install-link {width:38px;min-height:38px;padding:0;font-size:0}
  .ri-customer .install-link span {font-size:20px}
}
@media(prefers-reduced-motion:reduce) {
  .ri-ui *,.ri-ui *::before,.ri-ui *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print {
  .ri-ui {background:#fff!important;color:#111}
  .ri-ui .top,.ri-ui .driver-top,.ri-ui .side,.ri-ui .driver-nav,.ri-ui .driver-person,.ri-ui .mobile-dock,.ri-ui .sticky-actions,.ri-ui .ri-skip {display:none!important}
  .ri-ui .shell {display:block;min-height:0}
  .ri-ui .main,.ri-ui .driver-main {width:100%!important;max-width:none!important;padding:0!important}
  .ri-ui .hero,.ri-ui .driver-hero,.ri-ui .panel,.ri-ui .card {background:#fff!important;color:#111!important;box-shadow:none!important;break-inside:avoid}
  .ri-ui .table-wrap {overflow:visible}
  .ri-ui table {min-width:0}
}
.ri-register .choice input:checked + .choice-content {background:#edf4ff;border-color:#005cf5;box-shadow:0 0 0 2px rgba(0,92,245,.08)}
.ri-register .choice input:checked + .choice-content .choice-icon {background:#005cf5;color:#fff}
.ri-register .choice input:focus-visible + .choice-content {outline:3px solid #005cf5;outline-offset:3px}
.ri-ui .panel strong,.ri-ui .card strong,.ri-ui .panel code,.ri-ui .card code {overflow-wrap:anywhere}
.ri-driver .run-type-line span {display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf4ff;color:#3b6393;font-size:11px;font-weight:700}
