@font-face { font-family:Inter; src:url("/brand/fonts/InterVariable.woff2") format("woff2"); font-weight:100 900; font-style:normal; font-display:swap; }
/* RouteMyWork visual system: blue, navy and neutral. Shared by every role and workflow. */
:root {
 --primary:#2563eb; --primary-light:#1d4ed8; --accent:#2563eb; --accent-hover:#1d4ed8; --accent-light:#eff6ff; --brand-green:#2563eb;
 --cr-primary:#2563eb; --cr-primary-hover:#1d4ed8; --cr-green:#2563eb; --cr-green-2:#0ea5e9; --cr-green-soft:#eff6ff;
 --cr-sidebar:#f8fafc; --cr-sidebar-raised:#e0f2fe; --cr-background:#f8fafc; --bg-light:#f8fafc; --bg-section:#f1f5f9;
 --cr-text:#07172a; --cr-navy:#07172a; --cr-navy-2:#2563eb; --text:#07172a; --cr-muted:#64748b; --cr-text-muted:#64748b; --text-light:#64748b;
 --cr-border:#e5e7eb; --cr-border-subtle:#e5e7eb; --border:#e5e7eb; --border-light:#f1f5f9; --cr-surface-2:#f8fafc;
 --cr-radius-lg:12px; --cr-radius-md:12px; --cr-radius-card:12px; --cr-radius-control:8px; --font-heading:var(--font-family);
 --cr-shadow-sm:0 2px 5px #07172a05; --cr-shadow-md:0 10px 30px #07172a0a;
 --bs-primary:#2563eb; --bs-body-color:#07172a; --bs-link-color:#2563eb; --bs-link-hover-color:#1d4ed8;
}
body { background:var(--cr-background); color:var(--cr-text); -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,h6 { letter-spacing:-.025em; }
a { color:var(--cr-primary); }
:focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
.app-shell { grid-template-columns:232px minmax(0,1fr); }
.app-sidebar { background:#f8fafc; color:#334155; border-right:1px solid var(--cr-border); }
.app-sidebar__brand { min-height:80px; border-color:var(--cr-border); }
.app-sidebar__brand-link,.app-sidebar__brand-link:hover { color:#2563eb; font-size:1.45rem; }
.app-sidebar__mark { background:#2563eb; color:white; box-shadow:none; border-radius:9px; }
.app-sidebar__nav { padding:.9rem .85rem; gap:.15rem; }
.app-sidebar__section { color:#64748b; font-size:.65rem; margin-top:1.15rem; letter-spacing:.11em; }
.app-sidebar__nav a { color:#475569; font-size:.84rem; font-weight:550; min-height:40px; border-radius:7px; }
.app-sidebar__nav a i { color:#64748b; }
.app-sidebar__nav a:hover { color:#2563eb; background:#e0f2fe; transform:none; }
.app-sidebar__nav a.active { color:white; background:#2563eb; border-color:#2563eb; box-shadow:none; }
.app-sidebar__account { background:#f1f5f9; border-color:#e5e7eb; }
.app-sidebar__business-mark { color:#2563eb; background:#e0f2fe; }
.app-sidebar__account-copy strong { color:#0f172a; }
.app-sidebar__account-copy span { color:#64748b; }
.app-sidebar__billing,.app-sidebar__billing:hover { color:#2563eb; background:#e0f2fe; }
.app-topbar { min-height:80px; background:#fff; backdrop-filter:none; }
.workspace-search-link { display:flex; align-items:center; gap:.5rem; padding:.7rem 1rem; width:min(360px,35vw); color:#64748b; background:#f8fafc; border:1px solid #e5e7eb; border-radius:8px; font-size:.8rem; text-decoration:none; }
.workspace-search-link:hover { color:#2563eb; border-color:#2563eb; }
.app-topbar__avatar { background:#e0f2fe; color:#2563eb; border:0; font-size:.8rem; }
.app-topbar__account-copy strong { font-size:.8rem; }
.app-topbar__menu,.app-topbar__signout { color:#475569; }
.main-content--app { background:#f8fafc; padding:clamp(1rem,2.8vw,2.5rem); }
.page-header-card { padding:.25rem 0 .75rem; }
.page-title { color:#07172a; font-size:clamp(1.7rem,2.2vw,2.3rem); font-weight:650; letter-spacing:-.045em; }
.page-subtitle { color:#64748b; line-height:1.6; }
.dashboard-panel,.dashboard-card,.metric-card,.form-card,.form-section,.auth-card,.pricing-card,.feature-card,.pain-card,.subscription-banner,.mobile-job-card,.table-shell { background:#fff; border:1px solid var(--cr-border); border-radius:12px; box-shadow:var(--cr-shadow-sm); }
.dashboard-panel__header { padding:1.2rem 1.25rem; border-bottom:1px solid #f1f5f9; margin-bottom:1rem; }
.dashboard-panel__body { padding:0 1.25rem 1.25rem; }
.dashboard-panel__title { font-size:1rem; font-weight:650; }
.dashboard-card { padding:1.1rem; }
.metric-card { padding:1.2rem; min-height:140px; }
.metric-card__icon { width:36px; height:36px; border-radius:9px; background:#eff6ff; color:#2563eb; }
.card-value { color:#07172a; font-size:clamp(1.5rem,2vw,2.1rem); font-weight:650; letter-spacing:-.045em; }
.card-label { color:#64748b; font-size:.68rem; font-weight:600; letter-spacing:.06em; }
.dashboard-overview .dashboard-grid--three { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr); }
.workspace-shortcuts { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }
.workspace-shortcuts .btn { margin:0!important; border-color:#e5e7eb; background:#fff; color:#475569; font-size:.75rem; }
.subscription-banner,.client-portal-hero { background:#07172a; color:white; border-color:#07172a; box-shadow:none; }
.subscription-banner .card-value,.subscription-banner h3,.subscription-banner .card-label { color:white; }
.subscription-usage { display:block; font-size:.8rem; margin-bottom:.6rem; color:#cbd5e1; }
.client-portal-hero { padding:2rem; margin-bottom:1.5rem; }
.client-portal-hero__title { font-weight:650; }
.table thead th,.main-content--app .table thead th { color:#64748b; background:#f8fafc; letter-spacing:.06em; }
.table tbody td { vertical-align:middle; }
.list-group-item { border-color:#e5e7eb; color:#0f172a; }
.form-label { color:#334155; font-size:.85rem; font-weight:550; }
.form-control,.form-select,.input-group-text { border-color:#d1d5db; border-radius:8px; min-height:44px; font-size:.9rem; color:#0f172a; }
.form-control:focus,.form-select:focus { border-color:#2563eb; box-shadow:0 0 0 3px #2563eb20; }
.form-check-input:checked { background-color:#2563eb; border-color:#2563eb; }
.btn { border-radius:8px; font-weight:550; min-height:40px; }
.btn-primary,.btn-success,.btn-cta { background:#2563eb; border-color:#2563eb; color:white; box-shadow:none; }
.btn-primary:hover,.btn-success:hover,.btn-cta:hover { background:#1d4ed8; border-color:#1d4ed8; color:white; box-shadow:none; transform:none; }
.btn-outline-primary { color:#2563eb; border-color:#bfdbfe; }
.btn-outline-primary:hover { background:#eff6ff; color:#2563eb; border-color:#2563eb; }
.btn-outline-secondary { color:#475569; border-color:#d1d5db; }
.btn-outline-secondary:hover { color:#2563eb; background:#f1f5f9; border-color:#bfdbfe; }
.btn:disabled { opacity:.55; }
.btn-lg { min-height:48px; padding:.75rem 1.2rem; }
.progress-bar { background:#2563eb; }
.status-badge { border-radius:5px; padding:.35rem .6rem; font-weight:600; letter-spacing:0; }
.mobile-job-card { padding:1.25rem; }
.mobile-job-card__header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.mobile-job-card__header > div { min-width:0; }
.mobile-job-card__header h3 { font-size:1.1rem; font-weight:650; }
.mobile-job-card__time { color:#1d4ed8; font-size:.72rem; letter-spacing:.04em; }
.mobile-job-card__notes { background:#f8fafc; border-radius:8px; }
.mobile-job-card__actions { display:flex; flex-wrap:wrap; gap:.7rem; }
.visit-instructions { border-left:3px solid #0ea5e9; }
.crew-mobile-frame { max-width:760px; }
.crew-mobile-topbar { align-items:flex-start; }
.crew-mobile-topbar__greeting { font-size:1.25rem; font-weight:650; }
.crew-photo-preview { border-radius:8px; border:1px solid #e5e7eb; }
.route-detail-page .list-group-item { background:#fff; }
.route-planner-card { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.5fr); margin-bottom:1.25rem; }
.route-planner-controls { padding:1.4rem; border-right:1px solid #e5e7eb; }
.route-planner-map { padding:1.4rem; background:#f8fafc; }
.route-planner-title { display:flex; gap:.6rem; align-items:center; font-weight:650; margin-bottom:1rem; }
.route-endpoints { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.route-endpoints legend,.route-endpoints button { grid-column:1/-1; }
.route-endpoints label { font-size:.8rem; color:#64748b; min-width:0; }
.route-endpoints input { margin-top:.4rem; }
.route-travel-summary { display:flex; flex-wrap:wrap; gap:1.5rem; margin-bottom:1rem; }
.route-travel-summary strong,.route-travel-summary small { display:block; }
.route-travel-summary strong { font-size:1.4rem; letter-spacing:-.04em; }
.route-stop-list { margin:1rem 0 0; padding-left:1.4rem; }
.route-stop-list li { padding:.7rem .4rem; border-bottom:1px solid #e5e7eb; }
.route-map-placeholder { padding:2.5rem 1rem; text-align:center; color:#64748b; border:1px dashed #bfdbfe; border-radius:9px; background:#f1f5f9; }
.route-map-placeholder i { display:block; font-size:2rem; margin-bottom:1rem; color:#2563eb; }
.cutroute-navbar { background:#f8fafc; border-bottom:1px solid #e5e7eb; box-shadow:none; padding:1rem max(1rem,calc((100vw - 1200px)/2)); }
.cutroute-navbar .container-fluid { padding:0; }
.cutroute-navbar .navbar-brand { color:#2563eb; letter-spacing:-.04em; font-size:1.4rem; }
.cutroute-navbar .navbar-brand i { color:#2563eb; }
.cutroute-navbar .nav-link,.cutroute-navbar .nav-link.active { color:#475569; }
.cutroute-navbar .nav-link:hover { color:#2563eb; }
.cutroute-navbar .nav-cta { color:#2563eb; border-color:#d1d5db; }
.cutroute-navbar .nav-cta-primary { background:#2563eb; color:#fff!important; border-color:#2563eb; }
.cutroute-navbar .navbar-toggler { border-color:#d1d5db; }
.cutroute-navbar .navbar-toggler-icon { filter:brightness(.35); }
.cutroute-footer { background:#07172a; color:#cbd5e1; }
.cutroute-footer h6,.cutroute-footer-link,.cutroute-footer-link:hover { color:#f1f5f9; }
.auth-page { background:#f8fafc; }
.auth-card { box-shadow:0 15px 40px #07172a08; border-radius:14px; }
.pricing-featured { border:2px solid #2563eb; }
.pricing-badge { background:#2563eb; }
.feature-icon { color:#2563eb; background:#eff6ff; }
.super-admin-navigation { background:#fff; border-color:#e5e7eb; }
.super-admin-navigation__links a.active { background:#eff6ff; color:#2563eb; }
/* Homepage: native, responsive previews rather than a screenshot of the interface. */
.home-redesign { background:#f8fafc; }
.home-hero { display:grid; grid-template-columns:1fr 1.2fr; align-items:center; gap:3.5rem; padding-top:5rem; padding-bottom:5rem; }
.home-hero h1 { font-family:var(--font-family); font-size:clamp(3rem,4.5vw,4.5rem); font-weight:750; line-height:1.12; letter-spacing:-.045em; margin:1.3rem 0; color:#2563eb; }
.home-hero__copy > p { color:#64748b; font-size:1.05rem; line-height:1.8; max-width:450px; }
.home-hero .hero-actions { justify-content:flex-start; gap:.8rem; margin:1.8rem 0 1rem; }
.home-trust { display:flex; flex-wrap:wrap; gap:1rem; font-size:.73rem; color:#64748b; }
.home-trust i { color:#2563eb; margin-right:.3rem; }
.home-hero__visual { background:linear-gradient(0deg,#2563eb25,#2563eb00),url('/images/lawn-hero.jpg') center/cover; border-radius:15px; padding:2.5rem 1.5rem; min-width:0; }
.product-preview { background:white; border:1px solid #e5e7eb; border-radius:10px; box-shadow:0 18px 45px #102e2333; overflow:hidden; transform:rotate(-1deg); }
.product-preview__bar { display:flex; justify-content:space-between; align-items:center; padding:.85rem 1rem; background:#f8fafc; border-bottom:1px solid #e5e7eb; }
.product-preview__bar > span { color:#2563eb; font-size:.9rem; font-weight:700; }
.product-preview__bar small { font-size:.63rem; color:#64748b; }
.product-preview__content { padding:1.2rem; }
.product-preview__content h2 { font-size:1.4rem; margin:.6rem 0 1rem; font-weight:650; }
.product-preview .section-label { font-size:.56rem; }
.preview-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; }
.preview-metrics > div { background:#f8fafc; padding:.8rem; border-radius:6px; }
.preview-metrics small,.preview-schedule small,.preview-route small { display:block; color:#64748b; font-size:.63rem; }
.preview-metrics strong { display:block; font-size:.82rem; margin-top:.4rem; }
.preview-schedule { border:1px solid #e5e7eb; border-radius:7px; margin:1rem 0; overflow:hidden; }
.preview-schedule h3 { display:flex; justify-content:space-between; margin:0; padding:.8rem; font-size:.8rem; background:#f8fafc; border-bottom:1px solid #e5e7eb; }
.preview-schedule > div { display:grid; grid-template-columns:65px 1fr auto; align-items:center; gap:.5rem; padding:.8rem; border-bottom:1px solid #f1f5f9; }
.preview-schedule strong { font-size:.76rem; }
.preview-time { font-size:.62rem; color:#64748b; }
.preview-schedule .status-badge { font-size:.58rem; }
.preview-route { display:flex; align-items:center; gap:.8rem; background:#eff6ff; padding:.8rem; border-radius:7px; color:#2563eb; }
.preview-route strong { font-size:.75rem; }
.home-section-heading h2,.home-final-cta h2 { font-family:var(--font-family); font-size:clamp(2rem,3vw,3rem); font-weight:700; line-height:1.2; letter-spacing:-.04em; color:#2563eb; margin:.8rem 0 1rem; }
.home-section-heading p { color:#64748b; line-height:1.8; }
.home-workflow { padding-top:1rem; padding-bottom:5rem; }
.home-workflow > .home-section-heading,.home-field-section > .home-section-heading { text-align:center; margin-bottom:2.5rem; }
.workflow-steps { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #e5e7eb; border-radius:12px; background:#fff; overflow:hidden; }
.workflow-steps article { position:relative; padding:1.7rem; border-right:1px solid #e5e7eb; }
.workflow-steps article:last-child { border:0; }
.workflow-number { position:absolute; right:1.4rem; top:1.5rem; font-size:.75rem; color:#94a3b8; }
.workflow-steps article > i { color:#2563eb; font-size:1.3rem; margin-bottom:1.5rem; }
.workflow-steps h3,.home-audiences h3 { font-size:1rem; font-weight:650; }
.workflow-steps p,.home-audiences p { font-size:.85rem; line-height:1.8; color:#64748b; margin-bottom:0; }
.home-route-section { background:#f1f5f9; padding:4.5rem 0; }
.home-split { display:grid; grid-template-columns:1.05fr 1fr; gap:4rem; align-items:center; }
.route-illustration { overflow:hidden; border-radius:12px; border:1px solid #e5e7eb; box-shadow:0 12px 35px #2563eb0c; }
.route-illustration svg { display:block; width:100%; height:auto; }
.route-illustration__caption { display:flex; gap:.9rem; align-items:center; background:white; padding:1.3rem; }
.route-illustration__caption i { color:#2563eb; font-size:1.3rem; }
.route-illustration__caption strong,.route-illustration__caption small { display:block; }
.route-illustration__caption small { color:#64748b; font-size:.7rem; margin-top:.3rem; }
.home-benefits { list-style:none; padding:0; margin:1.4rem 0; }
.home-benefits li { font-size:.87rem; padding:.45rem 0; display:flex; gap:.7rem; align-items:baseline; color:#475569; }
.home-benefits i { color:#2563eb; }
.home-text-link { font-size:.87rem; font-weight:650; text-decoration:none; }
.home-text-link i { margin-left:.7rem; }
.home-field-section { padding-top:5rem; padding-bottom:5rem; }
.home-audiences { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.home-audiences article { background:white; border:1px solid #e5e7eb; border-radius:12px; padding:1.7rem; }
.audience-icon { display:grid; place-items:center; background:#eff6ff; color:#2563eb; width:44px; height:44px; border-radius:10px; margin-bottom:1.3rem; }
.audience-footer { border-top:1px solid #f1f5f9; margin-top:1.5rem; padding-top:1rem; color:#2563eb; font-size:.72rem; }
.home-final-cta { background:#07172a; color:#cbd5e1; padding:4.5rem 0; text-align:center; }
.home-final-cta .section-label { color:#7dd3fc; }
.home-final-cta h2 { color:#f8fafc; }
.home-final-cta p { margin:0 0 1.7rem; }
@media(min-width:1400px) { .dashboard-overview .mobile-job-card { padding:1rem; } }
@media(max-width:1200px) { .dashboard-overview .dashboard-grid--three { grid-template-columns:1fr 1fr; } .dashboard-overview .dashboard-grid--three > :first-child { grid-column:1/-1; } .home-hero { gap:2rem; } .workflow-steps article { padding:1.25rem; } }
@media(max-width:960px) { .app-shell { grid-template-columns:214px minmax(0,1fr); } .home-hero { grid-template-columns:1fr; padding-top:3rem; } .home-hero__copy { max-width:650px; } .home-hero__visual { max-width:700px; width:100%; } .home-split { gap:2rem; } .route-planner-card { grid-template-columns:1fr; } .route-planner-controls { border-right:0; border-bottom:1px solid #e5e7eb; } }
@media(max-width:768px) { .app-shell { display:block; } .app-sidebar__close { color:#2563eb; background:#e0f2fe; } .app-topbar { min-height:64px; } .workspace-search-link { width:auto; padding:.7rem; } .main-content--app { padding:1rem; } .dashboard-overview .dashboard-grid--three { grid-template-columns:1fr; } .dashboard-overview .dashboard-grid--three > :first-child { grid-column:auto; } .home-split { grid-template-columns:1fr; } .workflow-steps { grid-template-columns:1fr 1fr; } .workflow-steps article { border-bottom:1px solid #e5e7eb; } .workflow-steps article:nth-child(2) { border-right:0; } .home-audiences { grid-template-columns:1fr; } .home-hero__visual { padding:1.5rem 1rem; } .section-inner { padding-inline:1.25rem; } .home-field-section,.home-route-section,.home-final-cta { padding-block:3rem; } .client-portal-hero { padding:1.4rem; } .route-planner-controls,.route-planner-map { padding:1rem; } }
@media(max-width:480px) { .home-hero h1 { font-size:3.2rem; } .home-hero { padding-bottom:3rem; } .home-hero .hero-actions .btn { flex:1; font-size:.85rem; } .home-trust { font-size:.68rem; gap:.65rem; } .product-preview { transform:none; } .product-preview__content { padding:.85rem; } .preview-metrics > div { padding:.65rem .5rem; } .preview-metrics strong { font-size:.7rem; } .preview-metrics small { font-size:.57rem; } .preview-schedule > div { grid-template-columns:49px 1fr auto; padding:.7rem .5rem; } .preview-schedule .status-badge { padding:.3rem; font-size:.52rem; } .workflow-steps { grid-template-columns:1fr; } .workflow-steps article { border-right:0; padding:1.3rem; } .workflow-steps article > i { margin-bottom:.9rem; } .home-workflow { padding-bottom:3rem; } .mobile-job-card__header { flex-wrap:wrap; gap:.5rem; } .mobile-job-card__actions .btn { min-height:48px; } .client-portal-grid .d-flex { flex-wrap:wrap; } .route-endpoints { grid-template-columns:1fr; } .route-travel-summary { gap:1rem; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation-duration:.01ms!important; } }

/* Public forms retain Bootstrap gutter space; programmatic heading focus is unobtrusive. */
.main-content--public > .page-shell { padding:2.5rem 1.5rem; max-width:1200px; }
h1[tabindex="-1"]:focus { outline:none; }
.cutroute-navbar .nav-link:hover,.cutroute-navbar .nav-link.active { background:#f1f5f9; }
.cutroute-navbar .nav-cta:hover { background:#f1f5f9; border-color:#bfdbfe; }
.metric-card__icon.tone-amber { background:#fff4df; color:#996314; }
.metric-card__icon.tone-red { background:#fceee9; color:#a84b36; }
.metric-card__icon.tone-neutral { background:#f1f5f9; color:#64748b; }
.metric-card__trend,.metric-card__subtext { font-size:.73rem; font-weight:450; }
.empty-state__icon { background:#eff6ff; color:#2563eb; }

.cutroute-navbar .navbar-nav .nav-link { color:#475569; }
.cutroute-navbar .navbar-nav .nav-link:hover,.cutroute-navbar .navbar-nav .nav-link.active { color:#2563eb; }
.cutroute-navbar .navbar-nav .nav-cta-primary,.cutroute-navbar .navbar-nav .nav-cta-primary:hover { color:#fff; background:#2563eb; }
.cutroute-footer .text-muted { color:#cbd5e1!important; }
.app-workspace .crew-mobile-frame .mobile-job-card { border-radius:12px; }
.client-portal-hero h1 { margin:0 0 .4rem; }
.empty-state { padding:2rem 1.25rem; }

/* RouteMyWork identity: Inter, blue route pins, navy wordmark, clear supporting text. */
:root { --font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; --font-heading:var(--font-family); --rmw-blue:#2563eb; --rmw-cyan:#0ea5e9; --rmw-navy:#07172a; --cr-success:#15803d; --cr-warning:#a16207; --cr-danger:#b91c1c; --cr-info:#0369a1; }
.brand-logo { display:inline-flex; align-items:center; gap:.55rem; white-space:nowrap; line-height:1.05; vertical-align:middle; }
.brand-logo__mark { width:34px; height:38px; flex-shrink:0; }
.brand-logo__copy { display:flex; flex-direction:column; gap:.45rem; }
.brand-logo__name { color:#07172a; font-size:1.25rem; font-weight:800; letter-spacing:-.055em; }
.brand-logo__my { color:#2563eb; }
.brand-logo__tagline { color:#64748b; font-size:.52rem; font-weight:650; letter-spacing:.15em; text-transform:uppercase; }
.brand-logo--light .brand-logo__name { color:white; }
.brand-logo--light .brand-logo__my { color:#38bdf8; }
.brand-logo--light .brand-logo__tagline { color:#cbd5e1; }
.brand-logo--tagline .brand-logo__mark { width:42px; height:47px; }
.app-sidebar__brand { padding-inline:1rem; }
.app-sidebar__brand .brand-logo { gap:.4rem; }
.app-sidebar__brand .brand-logo__mark { width:28px; height:32px; }
.app-sidebar__brand .brand-logo__name { font-size:1.12rem; }
.auth-card .brand-logo { margin-bottom:.5rem; }
.auth-card .brand-logo__name { font-size:1.55rem; }
.product-preview__bar .brand-logo__mark { width:20px; height:23px; }
.product-preview__bar .brand-logo__name { font-size:.82rem; }
.product-preview__bar { gap:.5rem; }
.home-hero h1 { color:#07172a; font-size:clamp(2.7rem,3.7vw,3.6rem); }
.home-section-heading h2 { color:#07172a; }
.home-hero__visual { background:radial-gradient(circle at 90% 5%,#0ea5e94d,transparent 60%),linear-gradient(135deg,#e0f2fe,#bfdbfe); }
.home-final-cta h2 { color:#fff; }
.home-final-cta .section-label { color:#7dd3fc; }
.home-final-cta .btn-light { color:#07172a; }
.status-badge--paid,.status-badge--active,.badge-status-active { background:#dcfce7; color:#166534; }
.status-badge--warning { background:#fef3c7; color:#92400e; }
.status-badge--danger { background:#fee2e2; color:#991b1b; }
.status-badge--pending,.status-badge--info { background:#e0f2fe; color:#075985; }
.tone-green,.metric-card__icon.tone-green { background:#eff6ff; color:#2563eb; }
.metric-card__icon.tone-neutral { background:#f1f5f9; color:#475569; }
.section-label { color:#1d4ed8; }
.super-admin-mode-bar { background:#07172a; }
.subscription-banner { background:#07172a; }
.client-portal-hero::after { background:radial-gradient(circle,#2563eb30,transparent 65%); }
@media(max-width:480px) { .home-hero h1 { font-size:2.65rem; } .brand-logo__name { font-size:1.15rem; } .auth-card .brand-logo__name { font-size:1.4rem; } }

/* Approved homepage palette: blue/cyan hero, navy routing, colorful workflow and audience cards. */
.home-redesign {background:white}
.home-redesign .home-hero {max-width:none;width:100%;padding:86px max(24px,calc((100vw - 1200px)/2));gap:60px;background:radial-gradient(ellipse at 82% 8%,#38bdf877,transparent 52%),linear-gradient(118deg,#102c88 0%,#1d4ed8 55%,#0ea5e9 115%);position:relative;overflow:hidden}
.home-redesign .home-hero:after {content:'';position:absolute;pointer-events:none;width:760px;height:760px;border:1px solid #ffffff17;border-radius:50%;right:-100px;top:-350px;box-shadow:0 0 0 85px #ffffff05,0 0 0 170px #ffffff04}
.home-redesign .home-hero__copy, .home-redesign .home-hero__visual {position:relative;z-index:1}
.home-redesign .home-hero__copy>.section-label {color:#bae6fd;letter-spacing:.16em}
.home-redesign .home-hero h1 {color:white;font-size:clamp(2.65rem,3.7vw,3.6rem)}
.home-redesign .home-hero__copy>p {color:#dbeafe;line-height:1.85}
.home-redesign .home-hero .btn-primary {background:white;color:#1d4ed8;border:1px solid white;box-shadow:0 6px 22px #07172a22}
.home-redesign .home-hero .btn-outline-secondary {color:white;background:#ffffff09;border:1px solid #ffffff80}
.home-redesign .home-trust {color:#e0f2fe}
.home-redesign .home-trust i {color:#7dd3fc}
.home-redesign .home-hero__visual {background:#ffffff15;border:1px solid #ffffff40;box-shadow:0 25px 70px #07172a27;padding:26px;border-radius:22px}
.home-redesign .product-preview {box-shadow:0 20px 40px #07172a30;transform:rotate(-1deg);border:0}
.home-redesign .product-preview__bar {background:#f0f7ff}
.home-redesign .preview-metrics>div {background:#eff6ff;border-top:3px solid #2563eb}
.home-redesign .preview-metrics>div:nth-child(2) {background:#e0f2fe;border-color:#0ea5e9}
.home-redesign .preview-metrics>div:nth-child(3) {background:#f0fdf4;border-color:#22c55e}
.home-redesign .preview-metrics strong {color:#07172a}
.home-redesign .preview-route {background:linear-gradient(100deg,#dbeafe,#e0f2fe)}
.home-redesign .home-workflow {padding-top:64px;padding-bottom:72px}
.home-redesign .home-section-heading>.section-label {color:#2563eb}
.home-redesign .home-section-heading h2 {color:#07172a}
.home-redesign .workflow-steps {border:0;gap:16px;background:transparent;border-radius:0}
.home-redesign .workflow-steps article {border:0;border-radius:14px;padding:26px;background:#eff6ff}
.home-redesign .workflow-steps article:nth-child(2) {background:#e0f2fe}
.home-redesign .workflow-steps article:nth-child(3) {background:#143178;color:white}
.home-redesign .workflow-steps article:nth-child(4) {background:#2563eb;color:white}
.home-redesign .workflow-steps article:nth-child(n+3) p {color:#dbeafe}
.home-redesign .workflow-steps article:nth-child(n+3)>i, .home-redesign .workflow-steps article:nth-child(n+3) .workflow-number {color:#7dd3fc}
.home-redesign .workflow-steps article:nth-child(-n+2)>i {background:white;border-radius:10px;width:42px;height:42px;display:grid;place-items:center;margin-bottom:20px}
.home-redesign .workflow-steps article:nth-child(n+3)>i {font-size:26px;height:42px;display:flex;align-items:center;margin-bottom:20px}
.home-redesign .workflow-number {font-weight:650}
.home-redesign .home-route-section {background:radial-gradient(ellipse at 0% 80%,#0ea5e926,transparent 60%),#07172a;padding-block:76px}
.home-redesign .home-route-section .section-label {color:#7dd3fc}
.home-redesign .home-route-section h2 {color:white}
.home-redesign .home-route-section .home-section-heading>p {color:#b9c9e2}
.home-redesign .home-route-section .home-benefits li {color:#dbeafe}
.home-redesign .home-route-section .home-benefits i, .home-redesign .home-route-section .home-text-link {color:#7dd3fc}
.home-redesign .route-illustration {border:1px solid #ffffff22;box-shadow:0 20px 50px #00000030}
.home-redesign .route-illustration>svg>rect:first-of-type {fill:#e0f2fe}
.home-redesign #map-blocks rect {fill:#c9e0f4}
.home-redesign .route-illustration svg>path:nth-of-type(1) {stroke:#7dd3fc}
.home-redesign .route-illustration__caption {background:#eff6ff}
.home-redesign .home-field-section {padding-block:76px}
.home-redesign .home-audiences article {border-color:#dbeafe;background:#eff6ff;border-top:4px solid #2563eb}
.home-redesign .home-audiences article:nth-child(2) {background:#ecfeff;border-color:#bae6fd;border-top-color:#0ea5e9}
.home-redesign .home-audiences article:nth-child(3) {background:#f0fdf4;border-color:#bbf7d0;border-top-color:#22c55e}
.home-redesign .home-audiences article:nth-child(2) .audience-icon {background:#cffafe;color:#0369a1}
.home-redesign .home-audiences article:nth-child(3) .audience-icon {background:#dcfce7;color:#15803d}
.home-redesign .audience-footer {border-top-color:#07172a15}
.home-redesign .home-audiences article:nth-child(3) .audience-footer {color:#15803d}
.home-redesign .home-final-cta {background:radial-gradient(ellipse at 50% 110%,#0ea5e988,transparent 60%),linear-gradient(115deg,#143178,#2563eb);padding-block:72px}
.home-redesign .home-final-cta p {color:#dbeafe}
.home-redesign .home-final-cta .btn-light {color:#1d4ed8}
.home-redesign .home-final-cta .btn-outline-light {border-color:#ffffff88}
@media(max-width:960px) {
.home-redesign .home-hero {gap:36px;padding-top:52px;padding-bottom:56px}
.home-redesign .home-hero__copy {max-width:650px}}
@media(max-width:768px) {
.home-redesign .home-hero {padding-inline:20px}
.home-redesign .home-hero__visual {padding:18px}
.home-redesign .home-route-section, .home-redesign .home-field-section {padding-block:48px}
.home-redesign .home-workflow {padding-top:44px;padding-bottom:48px}
.home-redesign .workflow-steps {gap:12px}
.home-redesign .home-final-cta {padding-block:48px}}
@media(max-width:480px) {
.home-redesign .home-hero__visual {padding:14px}
.home-redesign .home-hero h1 {font-size:2.65rem}
.home-redesign .workflow-steps {grid-template-columns:1fr}
.home-redesign .home-audiences {gap:20px}}
.home-redesign .home-hero .btn-primary:hover, .home-redesign .home-hero .btn-primary:focus-visible { background:#e0f2fe; border-color:#e0f2fe; color:#1e40af; }
.home-redesign .home-hero .btn-outline-secondary:hover, .home-redesign .home-hero .btn-outline-secondary:focus-visible { background:#ffffff20; border-color:white; color:white; }
.home-redesign .home-hero a:focus-visible, .home-redesign .home-route-section a:focus-visible, .home-redesign .home-final-cta a:focus-visible { outline:3px solid white; outline-offset:3px; }

/* Account-scoped quick start, shared by each signed-in role. */
.workspace-tour-trigger {display:flex;align-items:center;justify-content:center;gap:.45rem;min-width:44px;min-height:44px;padding:.5rem .75rem;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}
.workspace-tour-trigger:hover {background:#dbeafe}
.workspace-tour-trigger:disabled {opacity:.6;cursor:wait}
.workspace-tour {width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #dbeafe;border-radius:20px;color:#07172a;background:white;box-shadow:0 24px 80px #07172a40;overflow:auto;overscroll-behavior:contain}
.workspace-tour::backdrop {background:#07172a99;backdrop-filter:blur(3px)}
.workspace-tour__header {display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f8fafc}
.workspace-tour__eyebrow {font-size:.65rem;font-weight:700;letter-spacing:.13em;color:#2563eb}
.workspace-tour__close {display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:#475569}
.workspace-tour__close:hover {background:#e0f2fe}
.workspace-tour__body {padding:24px 28px}
.workspace-tour__icon {display:grid;place-items:center;width:56px;height:56px;border-radius:16px;color:white;background:linear-gradient(135deg,#2563eb,#0ea5e9);font-size:1.45rem;margin-bottom:20px}
.workspace-tour__count {margin:0 0 8px;font-size:.75rem;font-weight:600;color:#64748b}
.workspace-tour h2 {margin:0 0 12px;font-size:clamp(1.4rem,4vw,1.8rem);font-weight:700;line-height:1.2}
.workspace-tour h2:focus {outline:none}
.workspace-tour__body>p:last-of-type {line-height:1.65;color:#475569;margin:0 0 20px}
.workspace-tour__tip {display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:12px;background:#eff6ff;color:#1e40af;font-size:.85rem;line-height:1.55}
.workspace-tour__tip i {margin-top:4px;color:#2563eb}
.workspace-tour__tip p {margin:0}
.workspace-tour__destination {display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:12px;padding:6px 0;border:0;background:transparent;color:#1d4ed8;font-weight:600;font-size:.85rem;text-align:left}
.workspace-tour__progress {height:4px;background:#e0f2fe}
.workspace-tour__progress span {display:block;height:100%;background:#2563eb}
.workspace-tour__footer {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px}
.workspace-tour__footer>div {display:flex;gap:8px}
.workspace-tour__footer .btn {min-height:44px;font-size:.85rem;white-space:nowrap}
.workspace-tour__skip {padding-inline:4px;color:#64748b;text-decoration:none}
.workspace-tour-notice {position:fixed;right:16px;bottom:16px;z-index:1060;width:min(400px,calc(100vw - 32px));padding:16px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;color:#1e40af;font-size:.85rem;box-shadow:0 8px 24px #07172a20}
.workspace-tour-notice button {margin-left:8px;border:0;background:transparent;color:#1d4ed8;text-decoration:underline;min-height:44px}
@media(max-width:768px) {.workspace-tour-trigger {padding:.5rem}.workspace-tour-trigger>span {display:none}}
@media(max-width:430px) {.workspace-tour__body {padding:20px}.workspace-tour__footer {padding:12px;gap:8px}.workspace-tour__footer .btn {padding-inline:10px}}
