/* RouteIQ product identity. Loaded last to unify legacy admin page styles.
   Deliberately scoped: customer invoices, proposals, checkout and crew UI retain
   business branding. Calendar geometry, status meanings and controls are intact. */
@font-face{font-family:RouteIQ Inter;src:url('/static/fonts/inter/InterVariable.ttf') format('truetype');font-weight:100 900;font-display:swap}
body.routeiq-admin{
 --tv-brand:#2459d3;--tv-brand-strong:#193f99;--tv-brand-deep:#17336e;--tv-brand-soft:#edf2ff;
 --tv-bg:#f3f5f9;--tv-text:#1a2940;--tv-text-soft:#617087;--tv-text-faint:#8492a7;
 --tv-border:#e0e6ef;--tv-border-strong:#d6deea;--tv-surface-subtle:#f8faff;
 --tv-sidebar:#111d32;--tv-sidebar-2:#1c2d47;--tv-sidebar-width:250px;
 --brand:#2459d3;--brand-dark:#193f99;--brand-soft:#edf2ff;--blue:#2459d3;
 --ink:#1a2940;--muted:#617087;--bg:#f3f5f9;--surface:#fff;--line:#e0e6ef;
 --radius:14px;--shadow:0 3px 16px rgba(21,38,68,.035);
 --rq-navy:#111d32;--rq-teal:#67dfc5;
 background:var(--bg);color:var(--ink);
 font-family:RouteIQ Inter,Inter,system-ui,sans-serif;font-size:14px;line-height:1.5;
 -webkit-font-smoothing:antialiased;
}
.routeiq-admin .app-shell{background:var(--bg)}
.routeiq-admin .sidebar{background:var(--rq-navy);border-right:1px solid #233047;color:#e5ecfa;box-shadow:none}
.routeiq-admin .brand{padding-bottom:22px;gap:11px}
.routeiq-admin .brand-mark{background:#20334e;color:var(--rq-teal);border:1px solid #344b67;border-radius:12px;box-shadow:none}
.routeiq-admin .brand-copy strong{font-size:25px;font-weight:780;letter-spacing:-1.2px;color:#fff;line-height:1.15}
.routeiq-admin .routeiq-wordmark-iq{color:var(--rq-teal)}
.routeiq-admin .brand-copy small{font-size:10px;color:#a5b6ce;opacity:1;letter-spacing:.02em;margin-top:5px;white-space:nowrap}
.routeiq-admin .nav-section-label{color:#8093ae;font-size:10px;font-weight:700;letter-spacing:.14em;padding-top:12px}
.routeiq-admin .side-nav a{color:#bcc9dc;border:1px solid transparent;border-radius:9px;transition:background .15s,color .15s;box-shadow:none}
.routeiq-admin .side-nav a:hover{background:#1c2d47;color:#fff;transform:none}
.routeiq-admin .side-nav a.active{background:#243b5b;color:#fff;border-color:#365275;box-shadow:none}
.routeiq-admin .side-nav a.active::before{background:var(--rq-teal)}
.routeiq-admin .side-nav a.active .nav-icon{color:var(--rq-teal)}
.routeiq-admin .side-nav .nav-label{font-size:12px;font-weight:620;letter-spacing:0}
.routeiq-admin .side-nav .nav-copy small{color:#92a4be;font-size:10px;line-height:1.4}
.routeiq-admin .sidebar-collapse-button{color:#bcc9dc;border-color:#35435a;background:#1b2a42}
.routeiq-admin .sidebar-footer{border-color:#2a3850}
.routeiq-admin .sidebar-footer-copy strong{color:#c7d3e4;font-size:11px}
.routeiq-admin .sidebar-footer-copy small{color:#8296b2;font-size:10px}
.routeiq-admin .sidebar-signout{color:#a6b8d0}
.routeiq-admin .topbar{background:#fff;border-color:var(--line);box-shadow:none;backdrop-filter:none}
.routeiq-admin .topbar-context{color:#6b7b91;font-size:12px;font-weight:500}
.routeiq-admin .topbar-context strong{color:#22334e;font-weight:650}
.routeiq-admin .topbar-page p{color:#718097;font-size:11px}
.routeiq-admin .connection-pill{background:#f3faf7;border:1px solid #dbece3;color:#3c6853;font-size:10px}
.routeiq-admin .routeiq-business{display:flex;align-items:center;gap:10px;padding-right:18px;margin-right:8px;border-right:1px solid var(--line);min-width:0}
.routeiq-admin .routeiq-business img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:8px;padding:3px;flex-shrink:0}
.routeiq-admin .routeiq-business small{display:block;font-size:8px;letter-spacing:.11em;font-weight:650;color:#7b899d}
.routeiq-admin .routeiq-business strong{display:block;font-size:11px;font-weight:650;color:#263852;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.routeiq-admin .page-content{padding:28px clamp(16px,2.3vw,38px) 48px;max-width:1720px}
.routeiq-admin .page-heading{margin-bottom:24px;gap:16px}
.routeiq-admin :is(.page-heading,.est-page-head,.teams-page-head,.ledger-intro,.owner-hero) :is(h1,h2,h3){color:#152641;font-weight:720;font-size:clamp(22px,2vw,29px);letter-spacing:-.8px;line-height:1.22}
.routeiq-admin :is(.page-heading,.est-page-head,.teams-page-head,.ledger-intro,.owner-hero) p{color:var(--muted);font-size:13px;line-height:1.6;max-width:760px}
.routeiq-admin :is(.card,.card2,.app-section,.crm-workspace,.customer-row,.teams-workday-card,.ledger-panel,.est-panel){border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff}
.routeiq-admin :is(.card,.card2,.app-section) h3{font-weight:650;letter-spacing:-.3px}
.routeiq-admin .section-title{font-size:10px;letter-spacing:.12em;font-weight:700;color:#6b7c93}
.routeiq-admin :is(input,select,textarea){border-color:#d6deea;border-radius:8px;color:#22334d;font:inherit;font-size:13px;background:#fff;min-width:0}
.routeiq-admin :is(input,select){min-height:40px}
.routeiq-admin input:is([type=checkbox],[type=radio]){min-height:auto;accent-color:var(--brand)}
.routeiq-admin :is(input,textarea)::placeholder{color:#8a97ab}
.routeiq-admin :is(input,select,textarea):focus{border-color:#527de0;box-shadow:0 0 0 3px #2459d315}
.routeiq-admin label{font-size:12px;font-weight:600;color:#41536c}
.routeiq-admin :is(.button,button,a.button){font-family:inherit;font-size:12px;font-weight:650;letter-spacing:0;border-radius:8px;line-height:1.4;box-shadow:none}
.routeiq-admin :is(.button,button):hover{transform:none}
.routeiq-admin :is(.button.primary,button.primary,.owner-button-primary,.teams-button-primary){background:var(--brand);color:#fff;border-color:var(--brand);background-image:none}
.routeiq-admin :is(.button.secondary,.button.gray){background:#fff;border:1px solid #d7dfeb;color:#334a6b}
.routeiq-admin :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #618ce1;outline-offset:3px}
.routeiq-admin button:disabled{opacity:.5;cursor:not-allowed}
.routeiq-admin .page-content :is(table){font-size:12px}
.routeiq-admin .page-content :is(th){background:#f6f8fc;color:#718098;font-size:10px;letter-spacing:.06em;font-weight:650;padding-top:13px;padding-bottom:13px}
.routeiq-admin .page-content :is(td){border-color:#e9edf4}
.routeiq-admin .page-content tbody tr:hover{background:#f8faff}
.routeiq-admin .page-content td a:not(.button){color:#2459bc;text-underline-offset:3px}
.routeiq-admin .customer-avatar{background:#eaf0fe;color:#345dc0;border-radius:11px}
.routeiq-admin .customer-editor{background:#f8faff;border-color:var(--line)}
.routeiq-admin .customer-summary strong{font-size:14px;font-weight:650}
.routeiq-admin :is(.crm-stage,.est-status-tab,.ledger-stage){border-color:var(--line);border-radius:11px;background:#fff;color:#334b6c;box-shadow:none}
.routeiq-admin .crm-stage[aria-pressed=true]{background:#eaf0ff;border-color:#a8bdec;color:#214ba9;box-shadow:inset 0 3px #3869d8}
.routeiq-admin .crm-stage[aria-pressed=true] small{color:#4e6594}
.routeiq-admin .crm-stage[aria-pressed=true] strong{background:#d4e0fb;color:#234b9f}
.routeiq-admin .crm-stage small{color:#738198;font-size:11px}
.routeiq-admin .crm-stage-count{background:#f0f3f9;color:#576e90}
.routeiq-admin .est-shell{padding:4px 0 40px;max-width:none}
.routeiq-admin .est-eyebrow{color:#6b7fa4;font-size:10px;letter-spacing:.12em}
.routeiq-admin .est-button{border-radius:8px;font-size:12px;font-weight:650;box-shadow:none}
.routeiq-admin .est-button:hover{transform:none}
.routeiq-admin .est-button-primary{background:var(--brand);color:#fff}
.routeiq-admin .est-button-secondary{background:#fff;color:#415878;border:1px solid var(--line)}
.routeiq-admin .est-workflow-tab{border-color:var(--line);border-radius:11px;color:#425773;font-size:12px}
.routeiq-admin .est-workflow-tab strong{background:#f0f3f9;color:#576e90;font-size:12px}
.routeiq-admin .est-workflow-tab.is-selected{background:#eaf0ff;border-color:#a8bdec;color:#214ba9;box-shadow:inset 0 3px #3869d8}
.routeiq-admin .est-workflow-tab.is-selected strong{background:#d4e0fb;color:#234b9f}
.routeiq-admin .est-workflow-note{color:#687b95;background:#f5f7fc;font-size:12px}
.routeiq-admin .est-workflow-open{color:var(--brand);font-size:12px}
.routeiq-admin .est-panel{border-color:var(--line);box-shadow:var(--shadow);border-radius:14px}
.routeiq-admin .crm-workspace-toolbar{border-color:var(--line);padding:22px}
.routeiq-admin .crm-lead-table :is(th,td){border-color:#e7edf5}
.routeiq-admin .crm-stage-badge{font-size:10px;font-weight:650}
.routeiq-admin .ledger-workspace{--ld-ink:#22334e;--ld-muted:#697b93;--ld-line:#e0e6ef;--ld-accent:#2459d3}
.routeiq-admin .ledger-eyebrow{color:#3e65b9;letter-spacing:.11em}
.routeiq-admin .owner-hero{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.routeiq-admin .owner-kpi{border-color:var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}
.routeiq-admin .owner-kpi strong{font-size:29px;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.routeiq-admin .owner-kpi>span{font-size:11px;color:#64758d;font-weight:600}
.routeiq-admin .owner-kpi small{font-size:11px;color:#79869a}
.routeiq-admin .teams-workday-card{border-top:3px solid #93addf}
.routeiq-admin .teams-workday-card h3{font-size:16px;font-weight:650}
.routeiq-admin .teams-workday-card dt{color:#74839a;font-size:10px;letter-spacing:.05em}
.routeiq-admin .dispatch-planner{border-color:#cddaf2;background:#f8faff}
.routeiq-admin :is(.profitability-page,.profitability-detail-page,.route-recovery-page){font-family:inherit;color:var(--ink);background:transparent}
.routeiq-admin :is(.profitability-page,.profitability-detail-page,.route-recovery-page) :is(.wrap,.page,.container){padding-inline:0;max-width:none}
.routeiq-admin :is(.profitability-page,.profitability-detail-page,.route-recovery-page) :is(.card,.metric){border-color:var(--line);box-shadow:var(--shadow);border-radius:12px}
.routeiq-admin .modal{border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 80px #14274633}
.routeiq-admin .toast{background:#1b2c49;border-radius:10px}
.routeiq-admin .toast.error{background:#8f241d}
.routeiq-admin .toast.success{background:#12633a}
.routeiq-admin .routeiq-login{max-width:440px;margin:7vh auto;padding:32px}
.routeiq-admin .routeiq-login form{display:grid;gap:12px;margin-top:24px}
.routeiq-admin .routeiq-login form label{margin-bottom:-6px}
.routeiq-admin .routeiq-login .primary{margin-top:8px;min-height:42px}
.routeiq-admin .routeiq-login-eyebrow{font-size:10px;letter-spacing:.12em;font-weight:700;color:#6580af;text-transform:uppercase;margin:0 0 8px}
@media(min-width:901px){.routeiq-admin .app-shell:not(.sidebar-collapsed){grid-template-columns:250px minmax(0,1fr)}.routeiq-admin .topbar{padding-inline:30px}}
@media(max-width:1100px){.routeiq-admin .routeiq-business span{display:none}.routeiq-admin .routeiq-business{padding-right:10px;margin-right:0}}
@media(max-width:700px){.routeiq-admin .page-content{padding:20px 14px 36px}.routeiq-admin .routeiq-business{display:none}.routeiq-admin .page-heading{flex-wrap:wrap}.routeiq-admin .topbar-context{font-size:11px}.routeiq-admin .topbar-context strong{max-width:170px}.routeiq-admin .routeiq-login{margin:24px auto;padding:24px}.routeiq-admin .crm-workspace-toolbar{padding:16px}.routeiq-admin .page-heading .toolbar{width:100%}}
@media(prefers-reduced-motion:reduce){.routeiq-admin *{scroll-behavior:auto;transition:none!important;animation:none!important}}
