:root{--background:#f4f6f8;--surface:#eef2f4;--surface-container:#e7ecef;--surface-container-low:#f5f7f8;--surface-container-lowest:#ffffff;--surface-container-high:#dde4e8;--surface-variant:#d8e0e5;--outline-variant:#cad3da;--outline:#6c7582;--on-surface:#16202a;--on-surface-variant:#4c5763;--primary:#075985;--primary-strong:#0e7490;--primary-soft:#dff3fb;--secondary:#536878;--success:#16805a;--warning:#b65f18;--danger:#ba2f25;--muted:#6b7280;--route-accent:#0f766e;--shadow-soft:0 18px 40px rgba(18,32,42,0.08);--shadow-hover:0 22px 48px rgba(18,32,42,0.12);--radius-sm:10px;--radius-md:16px;--radius-lg:26px;--nav-width:280px;--font-display:"Manrope","Segoe UI",sans-serif;--font-body:"Inter","Segoe UI",sans-serif}html[data-theme=dark]{color-scheme:dark;--background:#0d141b;--surface:#111b24;--surface-container:#16232d;--surface-container-low:#1b2934;--surface-container-lowest:#101923;--surface-container-high:#223342;--surface-variant:#2a3b49;--outline-variant:#3d5263;--outline:#93a4b5;--on-surface:#eef6fb;--on-surface-variant:#bfd0dd;--primary:#38bdf8;--primary-strong:#0e7490;--primary-soft:#123449;--secondary:#9fb3c4;--success:#4ade80;--warning:#f59e0b;--danger:#f87171;--muted:#9ca3af;--route-accent:#2dd4bf;--shadow-soft:0 18px 44px rgba(0,0,0,0.28);--shadow-hover:0 24px 58px rgba(0,0,0,0.34)}*{box-sizing:border-box}html{background:var(--background)}body{margin:0;color:var(--on-surface);background:radial-gradient(circle at top left,rgba(217,237,249,.92),transparent 26%),radial-gradient(circle at bottom right,rgba(224,243,232,.9),transparent 22%),linear-gradient(180deg,#fbfcfd 0,var(--background) 100%);font-family:var(--font-body)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,select{cursor:pointer}.app-shell,.dealer-shell{min-height:100vh}.dealer-shell{display:grid;grid-template-columns:var(--nav-width) 1fr;position:relative;isolation:isolate}.sidebar{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;justify-content:space-between;height:100vh;padding:28px 20px 22px;background:rgba(244,248,250,.88);border-right:1px solid rgba(108,117,130,.08);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);z-index:10}.brand-mark{display:flex;align-items:center;gap:14px;margin-bottom:28px}.brand-home-link{display:inline-flex;border-radius:18px;outline:none}.brand-home-link:focus-visible{box-shadow:0 0 0 3px rgba(10,77,122,.35)}.pooldealer-logo{display:block;width:232px;max-width:100%;height:auto}.pooldealer-logo.compact{width:220px}.login-logo-wrap{margin-bottom:20px}.brand-copy{display:none}.brand-copy h1,.hero-headline,.mobile-title,.page-title,.section-title,.stat-value{margin:0;font-family:var(--font-display)}.brand-copy h1{font-size:1.15rem;line-height:1.08}.brand-copy p{margin:4px 0 0;letter-spacing:.14em}.brand-copy p,.sidebar-section-label{color:var(--outline);font-size:.72rem;text-transform:uppercase;font-weight:700}.sidebar-section-label{margin:0 0 12px;letter-spacing:.16em}.nav-list{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.nav-link{display:block;width:100%;padding:14px 16px;border-radius:18px;color:var(--on-surface-variant);position:relative;pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.nav-link span{display:block;pointer-events:none}.nav-link.active,.nav-link:hover{transform:translateX(3px);background:var(--surface-container-lowest);color:var(--primary);box-shadow:var(--shadow-soft)}.sidebar-profile{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:center;width:100%;padding:14px;border:0;border-radius:20px;background:rgba(255,255,255,.85);color:inherit;text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);list-style:none;cursor:pointer}.sidebar-profile::-webkit-details-marker{display:none}.sidebar-profile-menu{position:relative}.sidebar-profile-menu[open] .sidebar-profile{box-shadow:var(--shadow-soft)}.sidebar-profile-actions{position:absolute;left:0;right:0;bottom:calc(100% + 10px);display:grid;grid-gap:8px;gap:8px;padding:10px;border-radius:18px;background:rgba(255,255,255,.96);border:1px solid rgba(108,117,130,.12);box-shadow:var(--shadow-hover);z-index:20}.sidebar-profile-actions form{margin:0}.sidebar-profile-action{display:flex;width:100%;justify-content:flex-start;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:var(--on-surface);font-weight:800;text-align:left}.sidebar-profile-action:hover{background:var(--surface-container-low);color:var(--primary)}.sidebar-profile-action.danger:hover{background:rgba(180,35,24,.1);color:var(--danger)}.sidebar-profile-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-weight:800}.sidebar-profile-name{margin:0;font-weight:800}.sidebar-profile-role{margin:4px 0 0;color:var(--outline);font-size:.88rem}.sidebar-footer{display:grid;grid-gap:12px;gap:12px}.theme-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;border:1px solid rgba(108,117,130,.12);border-radius:18px;background:rgba(255,255,255,.68);color:var(--on-surface);font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.6);transition:background .16s ease,border-color .16s ease,color .16s ease}.theme-toggle-track{position:relative;width:48px;height:28px;border-radius:999px;background:rgba(108,117,130,.2);box-shadow:inset 0 0 0 1px rgba(108,117,130,.12)}.theme-toggle-thumb{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:999px;background:var(--surface-container-lowest);box-shadow:0 2px 8px rgba(18,32,42,.22);transition:transform .18s ease,background .18s ease}.theme-toggle-label{font-size:.86rem}.theme-toggle[aria-pressed=true]{border-color:rgba(56,189,248,.28);background:rgba(18,52,73,.78);color:var(--primary)}.theme-toggle[aria-pressed=true] .theme-toggle-track{background:linear-gradient(145deg,var(--primary-strong),var(--primary))}.theme-toggle[aria-pressed=true] .theme-toggle-thumb{transform:translateX(20px);background:#f8fafc}.shell-main{padding:24px 28px 42px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;margin-bottom:22px;border-radius:26px;background:rgba(250,252,253,.88);border:1px solid rgba(108,117,130,.08);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 12px 28px rgba(18,32,42,.05)}.page-kicker{margin:0 0 8px;color:var(--outline);font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.page-breadcrumb{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--primary);font-size:.84rem;font-weight:800}.page-breadcrumb span{color:var(--outline)}.page-breadcrumb a{padding:6px 10px;border-radius:999px;background:rgba(217,237,249,.7)}.page-title{font-size:clamp(1.9rem,3vw,3rem);line-height:.98}.page-subtitle{margin:10px 0 0;color:var(--on-surface-variant);max-width:62ch;line-height:1.5}.topbar-actions{display:flex;align-items:center;flex-wrap:wrap}.action-button,.field input,.field select,.field textarea,.filter-pill,.search-input{border:0;color:var(--on-surface)}.search-input{width:min(320px,100%);padding:14px 18px;border-radius:999px;background:rgba(231,236,239,.72)}.action-button,.filter-pill{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 14px;border-radius:999px;font-size:.9rem;font-weight:800;line-height:1;white-space:nowrap}.filter-pill{background:rgba(231,236,239,.84);color:var(--on-surface)}.topbar-link{min-width:84px}.action-button.primary{background:linear-gradient(145deg,var(--primary) 0,var(--primary-strong) 100%);color:white;box-shadow:0 8px 18px rgba(10,77,122,.18)}.action-button.secondary{background:rgba(231,236,239,.84);color:var(--on-surface)}.content-grid{display:grid;grid-gap:18px;gap:18px}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(340px,1fr)}.card,.panel{border-radius:28px;background:rgba(255,255,255,.88);border:1px solid rgba(108,117,130,.08);box-shadow:var(--shadow-soft)}.card{padding:24px}.hero-card{background:linear-gradient(145deg,rgba(10,77,122,.98),rgba(14,104,159,.96));color:white;overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;inset:auto -140px -150px auto;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.11)}.hero-card-wide{grid-column:1/2}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.9fr);grid-gap:24px;gap:24px;align-items:end}.hero-headline{font-size:clamp(2rem,3vw,3rem);line-height:1;color:white}.hero-copy{margin:14px 0 0;color:rgba(255,255,255,.84);max-width:52ch;line-height:1.6}.hero-stat-grid{display:grid;grid-gap:12px;gap:12px}.hero-stat-card{padding:18px;border-radius:20px;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-stat-card .stat-label{color:rgba(255,255,255,.8)}.hero-stat-card .stat-value{color:white}.hero-stat-card .stat-footnote{color:rgba(255,255,255,.74)}.accent-card{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(244,249,252,.9))}.section-title{font-size:1.2rem;margin-bottom:6px}.section-caption{margin:0 0 16px;color:var(--on-surface-variant);line-height:1.5}.compact-heading{margin-bottom:16px}.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.stat-box{padding:18px;border-radius:20px;background:var(--surface-container-low)}.stat-label{color:var(--outline);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.stat-value{margin-top:10px;font-size:1.9rem}.stat-footnote{margin-top:8px;color:var(--on-surface-variant);font-size:.92rem}.list{display:flex;flex-direction:column;gap:12px}.list-item{display:grid;grid-template-columns:auto 1fr auto;grid-gap:14px;gap:14px;align-items:center;padding:16px;border-radius:20px;background:linear-gradient(180deg,#ffffff,#f6fbfe);border:1px solid rgba(108,117,130,.06);transition:transform .16s ease,box-shadow .16s ease}.list-item.compact{grid-template-columns:1fr auto}.list-item.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.settings-log-card{grid-column:1/-1;position:relative;overflow:hidden;padding:28px 30px;background:linear-gradient(135deg,rgba(247,251,253,.98),rgba(232,241,247,.94));border-color:rgba(10,77,122,.12)}.settings-log-card:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--primary) 0,rgba(29,122,77,.85) 58%,rgba(164,75,16,.8) 100%)}.settings-log-card .compact-heading{align-items:center;margin-bottom:20px}.settings-log-card .section-title{font-size:1.35rem}.settings-log-card .section-caption{max-width:76ch}.field-template-card{grid-column:1/-1;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(241,248,250,.98))}.field-template-form{display:grid;grid-gap:18px;gap:18px}.field-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.field-template-section{display:grid;grid-gap:14px;gap:14px;padding:18px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid rgba(10,77,122,.09)}.field-template-section.compact{align-content:start}.field-template-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.field-template-section h3{margin:0 0 6px;font-size:1rem}.field-template-section p{margin:0;color:var(--on-surface-variant);line-height:1.45}.template-toggle{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:8px 12px;border-radius:999px;background:var(--surface-container-low);font-weight:800;color:var(--primary)}.field-template-helper,.template-toggle span{font-size:.82rem}.settings-log-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.notification-log-item{position:relative;align-items:flex-start;min-height:104px;padding-left:20px;background:rgba(255,255,255,.84);border-color:rgba(10,77,122,.08)}.notification-log-item:before{content:"";position:absolute;top:18px;bottom:18px;left:0;width:5px;border-radius:0 999px 999px 0;background:var(--primary)}.notification-log-item.success:before{background:var(--success)}.notification-log-item.warning:before{background:var(--warning)}.notification-log-item.muted:before{background:var(--muted)}.notification-log-item.info:before{background:var(--primary)}.notification-log-item:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(18,32,42,.08)}.visit-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,110px));grid-gap:10px;gap:10px;margin-top:14px}.visit-photo-grid.compact{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;padding-bottom:4px;align-items:flex-start}.visit-photo-grid.compact .visit-photo-button{flex:0 0 86px;width:86px;border-radius:12px}.visit-photo-grid.compact .visit-photo-thumb{width:86px;height:64px;aspect-ratio:auto;object-fit:cover}.visit-photo-section{margin-top:14px}.visit-photo-section.compact{margin-top:10px}.visit-photo-section-label{margin:0 0 8px;color:var(--outline);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.visit-photo-button,.visit-photo-link{display:block;padding:0;border-radius:16px;overflow:hidden;background:#e7eef5;border:1px solid rgba(10,77,122,.12)}.visit-photo-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.visit-photo-thumb{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.visit-lightbox{position:fixed;inset:0;z-index:1400;display:grid;place-items:center}.visit-lightbox-backdrop{position:absolute;inset:0;border:0;background:rgba(15,23,42,.78)}.visit-lightbox-content{position:relative;z-index:1;display:grid;grid-gap:12px;gap:12px;width:min(90vw,960px);padding:18px;border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 24px 48px rgba(18,32,42,.24)}.visit-lightbox-image{width:100%;max-height:76vh;border-radius:18px;object-fit:contain;background:#d9e3ec}.visit-lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.visit-lightbox-caption{font-weight:700}.visit-detail-line,.visit-lightbox-caption{color:var(--on-surface-variant);font-size:.92rem}.visit-detail-line{margin:10px 0 0}.visit-detail-warning{color:var(--warning);font-weight:700}.schedule-visit-preview{margin-top:8px}.highlighted-list-item{border-color:rgba(10,77,122,.28);box-shadow:0 0 0 2px rgba(10,77,122,.08)}.item-badge{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:16px;background:var(--primary-soft);color:var(--primary);font-weight:800}.item-title{margin:0;font-weight:800}.item-meta{margin:6px 0 0;color:var(--on-surface-variant);font-size:.92rem}.status-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;white-space:nowrap;border-radius:999px;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.status-chip.success{color:var(--success);background:rgba(29,122,77,.13)}.status-chip.warning{color:var(--warning);background:rgba(164,75,16,.13)}.status-chip.info{color:var(--primary);background:rgba(10,77,122,.12)}.status-chip.muted{color:var(--muted);background:rgba(102,112,133,.12)}.status-chip.danger{color:var(--danger);background:rgba(180,35,24,.12)}.table-wrap{overflow:auto;margin:0 -4px -4px;padding:4px}.data-table{width:100%;border-collapse:separate;border-spacing:0 12px;min-width:720px}.data-table th{padding:0 16px 10px;text-align:left;color:#44515f;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.data-table td{padding:18px 16px;background:rgba(255,255,255,.9);border-top:1px solid rgba(108,117,130,.05);border-bottom:1px solid rgba(108,117,130,.05);vertical-align:middle}.data-table tbody tr{transition:transform .16s ease,box-shadow .16s ease}.data-table tbody tr:hover{transform:translateY(-1px)}.data-table tbody tr:hover td{box-shadow:0 14px 30px rgba(18,32,42,.05)}.data-table tbody tr:nth-child(odd) td{background:rgba(255,255,255,.96)}.data-table tbody tr:nth-child(2n) td{background:rgba(231,239,247,.88)}.data-table td:first-child{border-radius:18px 0 0 18px;border-left:1px solid rgba(108,117,130,.05)}.data-table td:last-child{border-radius:0 18px 18px 0;border-right:1px solid rgba(108,117,130,.05)}.table-primary{font-weight:700;color:var(--on-surface)}.table-action-link{white-space:nowrap}.customer-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.customer-name{margin:0;font-size:2rem;font-family:var(--font-display)}.subgrid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.split-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px}.text-link{color:var(--primary);font-weight:700}.strong-link{font-weight:800}.pill-count,.viewer-chip{padding:9px 12px;border-radius:999px;font-size:.82rem;font-weight:700}.note-block,.pill-count,.viewer-chip{background:var(--surface-container-low);color:var(--on-surface-variant)}.note-block{padding:18px;border-radius:20px;line-height:1.65}.form-card{max-width:980px}.form-grid{display:grid;grid-gap:18px;gap:18px}.field{display:grid;grid-gap:8px;gap:8px}.field span{font-size:.8rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--outline)}.field span small{margin-left:6px;color:var(--on-surface-variant);font-size:.68rem;font-weight:700;letter-spacing:.03em}.field input,.field select,.field textarea{width:100%;border-radius:18px;padding:14px 16px;background:rgba(245,247,248,.95);border:1px solid rgba(108,117,130,.08)}.field textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:12px}.form-error{margin:0;padding:12px 14px;border-radius:16px;background:rgba(180,35,24,.1);color:#8f1d16;font-size:.95rem}.checkbox-field{gap:10px}.check-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:18px;background:rgba(245,247,248,.95);border:1px solid rgba(108,117,130,.08)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(560px,100%);padding:34px;border-radius:30px;background:rgba(255,255,255,.96);color:#16202a;box-shadow:var(--shadow-soft)}.login-button{width:100%;justify-content:center}.login-card .page-title{color:#16202a}.login-card .field span,.login-card .page-kicker{color:#6c7582}.login-card .page-subtitle,.login-hint{color:#4c5763}.login-card .field input,.login-card .field select,.login-card .field textarea{background:rgba(245,247,248,.96);color:#16202a}.login-hint{margin-top:18px;font-size:.95rem}.inline-status-stack,.login-hint{display:grid;grid-gap:6px;gap:6px}.inline-status-form{display:flex;gap:10px;align-items:center}.inline-status-form select{min-width:140px}.inline-status-select{min-width:140px;border-radius:12px;padding:10px 12px;background:rgba(245,247,248,.96);border:1px solid rgba(108,117,130,.18)}.field select option,.inline-status-select option{background:var(--surface-container-lowest);color:var(--on-surface)}.field-error{color:#a63e23}.field-error,.field-hint{margin-top:6px;font-size:.82rem}.field-hint{color:var(--primary);font-weight:600}.service-type-input-wrap{display:grid;grid-gap:8px;gap:8px}.service-type-suggestions{display:flex;flex-wrap:wrap;gap:8px}.service-type-suggestion{border:0;border-radius:999px;padding:7px 10px;background:rgba(10,77,122,.09);color:var(--primary);font-size:.78rem;font-weight:800;transition:background .14s ease,color .14s ease,transform .14s ease}.service-type-suggestion:hover{background:rgba(10,77,122,.16);transform:translateY(-1px)}.action-button[disabled],.filter-pill[disabled],button[disabled],select[disabled]{opacity:.72;cursor:wait}.form-submission-overlay{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;background:rgba(244,246,248,.58);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.form-submission-modal{display:grid;justify-items:center;grid-gap:14px;gap:14px;min-width:220px;padding:22px 26px;border-radius:24px;background:rgba(255,255,255,.96);border:1px solid rgba(108,117,130,.1);box-shadow:0 20px 40px rgba(18,32,42,.18)}.form-submission-spinner{width:42px;height:42px;border-radius:50%;border:4px solid rgba(10,77,122,.14);border-top:4px solid var(--primary);animation:submission-spin .9s linear infinite}.form-submission-label{margin:0;font-weight:800;color:var(--on-surface)}.toast-viewport{position:fixed;top:24px;right:24px;z-index:1600;display:grid;grid-gap:12px;gap:12px;pointer-events:none}.toast-message{min-width:280px;max-width:420px;padding:14px 18px;border-radius:18px;box-shadow:0 18px 36px rgba(18,32,42,.14);font-weight:700;line-height:1.4;color:white}.toast-message.success{background:linear-gradient(145deg,#1d7a4d,#23905c)}.toast-message.error{background:linear-gradient(145deg,#b42318,#cf3b2f)}@keyframes submission-spin{to{transform:rotate(1turn)}}@media (max-width:1200px){.dashboard-grid,.hero-grid,.subgrid-two{grid-template-columns:1fr}}@media (max-width:900px){.dealer-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;gap:20px}.shell-main{padding-top:0}.topbar{flex-direction:column;align-items:flex-start}.search-input,.topbar-actions{width:100%}.field-template-grid,.settings-log-list{grid-template-columns:1fr}}@media (max-width:640px){.shell-main{padding:16px}.customer-header,.form-actions,.inline-status-form,.split-heading{flex-direction:column;align-items:flex-start}.settings-log-card{padding:22px 18px}.data-table,.data-table tbody,.data-table td,.data-table th,.data-table thead,.data-table tr{display:block;min-width:0}.data-table{border-spacing:0 10px;min-width:0}.data-table thead{display:none}.data-table tr{margin-bottom:10px}.data-table td{border-left:1px solid rgba(108,117,130,.05);border-right:1px solid rgba(108,117,130,.05);border-top:0;border-bottom:0}.data-table td,.data-table td:first-child,.data-table td:last-child{border-radius:0}.data-table tr td:first-child{border-radius:18px 18px 0 0;border-top:1px solid rgba(108,117,130,.05)}.data-table tr td:last-child{border-radius:0 0 18px 18px;border-bottom:1px solid rgba(108,117,130,.05)}}.archive-panel{display:grid;grid-gap:12px;gap:12px}.archive-trigger{min-width:160px}.confirm-card{display:grid;grid-gap:12px;gap:12px;padding:18px;border-radius:20px;background:rgba(180,35,24,.06);border:1px solid rgba(180,35,24,.16)}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.danger-button{background:linear-gradient(145deg,#9f1f17,#c83521)}.table-secondary{margin-top:6px;color:var(--on-surface-variant);font-size:.92rem}.compact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.recurring-stats-row{grid-template-columns:repeat(3,minmax(0,1fr))}.weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px}.weekday-chip{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:16px;background:rgba(245,247,248,.95);border:1px solid rgba(108,117,130,.08);font-weight:700;color:var(--on-surface-variant)}.weekday-chip input{width:16px;height:16px}.field-span-two{grid-column:1/-1}@media (max-width:900px){.weekday-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:640px){.recurring-stats-row,.weekday-grid{grid-template-columns:1fr 1fr}.compact-actions{width:100%;justify-content:flex-start}}.topbar-actions{display:grid;grid-gap:12px;gap:12px;min-width:min(720px,100%)}.topbar-row{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}.topbar-row-primary,.topbar-row-secondary{justify-content:flex-end}.topbar-utility-group{gap:10px;padding:6px;background:rgba(231,236,239,.66)}.topbar-utility-button,.topbar-utility-group{display:inline-flex;align-items:center;border-radius:999px}.topbar-utility-button{justify-content:center;min-width:84px;padding:12px 16px;color:var(--on-surface-variant);font-weight:700;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.topbar-utility-button:hover{background:rgba(255,255,255,.92);color:var(--primary);box-shadow:0 8px 20px rgba(18,32,42,.08)}.topbar-search{flex:1 1 340px;min-width:220px}.topbar-search .search-input{width:100%}.topbar-logout-form{margin:0}.topbar-signout-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:0;border-radius:999px;background:rgba(22,32,42,.06);color:var(--on-surface);font-weight:800;white-space:nowrap;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.topbar-signout-button:hover{background:rgba(180,35,24,.1);color:var(--danger);box-shadow:0 10px 22px rgba(180,35,24,.12)}.topbar-primary-action{min-width:124px}.empty-state-cell{text-align:center;color:var(--on-surface-variant);font-weight:600}.empty-state-text{margin:0;color:var(--on-surface-variant)}.recurring-summary-card{padding:20px 24px;background:linear-gradient(180deg,rgba(248,251,253,.96),rgba(241,246,249,.9))}.recurring-summary-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.recurring-summary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.recurring-summary-metric{display:grid;grid-gap:8px;gap:8px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.7);border:1px solid rgba(108,117,130,.07)}.recurring-summary-metric strong{font-family:var(--font-display);font-size:1.5rem;line-height:1}.filter-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;grid-gap:16px;gap:16px;align-items:end}.filter-toolbar-actions{display:flex;justify-content:flex-end}.notification-item{align-items:flex-start;gap:18px}.notification-item-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.notification-item-actions{display:flex;align-items:center;justify-content:flex-end}.notification-error-text{margin:8px 0 0;color:#8f1d16;font-size:.92rem}.inline-action-form{margin:0}.inline-action-stack{display:grid;grid-gap:8px;gap:8px;justify-items:end}.inline-action-button{min-width:96px}.inline-feedback{margin:0;font-size:.82rem;font-weight:700;text-align:right}.inline-feedback.success{color:var(--success)}.inline-feedback.error{color:var(--danger)}.route-board-layout{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px;align-items:start}.route-board-view-toggle{display:inline-flex;align-items:center;gap:8px;padding:4px;margin-bottom:12px;border-radius:999px;background:rgba(231,236,239,.78)}.route-board-filter-row{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0 0 14px}.route-calendar-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(108,117,130,.2);background:rgba(255,255,255,.92);color:var(--on-surface);border-radius:999px;min-height:36px;padding:8px 12px;font-size:.86rem;font-weight:800}.route-calendar-toggle-icon{position:relative;width:15px;height:15px;border:2px solid;border-radius:4px;opacity:.78}.route-calendar-toggle-icon:before{content:"";position:absolute;top:3px;right:-2px;left:-2px;border-top:2px solid}.route-calendar-toggle-icon:after{content:"";position:absolute;top:-4px;right:2px;left:2px;height:4px;border-right:2px solid;border-left:2px solid}.route-month-calendar{width:min(340px,100%);padding:12px;border-radius:16px;background:rgba(255,255,255,.9);border:1px solid rgba(108,117,130,.12)}.route-month-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.route-month-header strong{font-size:.95rem;color:var(--on-surface)}.route-calendar-nav{width:30px;height:30px;border:0;border-radius:999px;background:rgba(231,236,239,.8);color:var(--on-surface);font-weight:800}.route-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;margin-bottom:6px}.route-calendar-weekdays span{text-align:center;color:var(--outline);font-size:.72rem;font-weight:700}.route-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.route-calendar-day{height:32px;border:0;border-radius:8px;background:transparent;color:var(--on-surface);font-weight:700}.route-calendar-day.out{opacity:0;pointer-events:none}.route-calendar-day.today{box-shadow:inset 0 0 0 1px rgba(10,77,122,.3)}.route-calendar-day.has-routes{background:rgba(10,77,122,.08);color:var(--primary)}.route-calendar-day.active{background:linear-gradient(145deg,var(--primary) 0,var(--primary-strong) 100%);color:#fff}.route-board-toggle-button,.route-priority-button,.route-selector-chip{border:0}.route-board-toggle-button{padding:9px 13px;border-radius:999px;background:transparent;color:var(--on-surface-variant);font-size:.86rem;font-weight:800;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.route-board-toggle-button.active{background:rgba(255,255,255,.95);color:var(--primary);box-shadow:0 8px 18px rgba(18,32,42,.08)}.route-board-layout.map-mode{grid-template-columns:1fr}.recommendation-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;max-height:440px;overflow-y:auto;padding:4px 8px 4px 4px}.recommendation-tile-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;align-self:start;min-height:170px;padding:16px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,251,254,.96));border:1px solid rgba(108,117,130,.08);box-shadow:0 16px 32px rgba(18,32,42,.08);overflow:hidden;display:grid;grid-gap:12px;gap:12px;align-content:start;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.recommendation-tile-button.success{border-color:rgba(29,122,77,.38);background:linear-gradient(180deg,rgba(205,235,218,.98),rgba(232,247,239,.96))}.recommendation-tile-button.warning{border-color:rgba(164,75,16,.4);background:linear-gradient(180deg,rgba(255,227,197,.98),rgba(255,243,231,.96))}.recommendation-tile-button.danger{border-color:rgba(180,35,24,.4);background:linear-gradient(180deg,rgba(249,213,208,.98),rgba(253,236,234,.96))}.recommendation-tile-button.muted{border-color:rgba(108,117,130,.24);background:linear-gradient(180deg,rgba(232,238,244,.98),rgba(248,250,251,.96))}.recommendation-tile-button:hover{transform:translateY(-2px);border-color:rgba(10,77,122,.14);box-shadow:0 20px 38px rgba(18,32,42,.12)}.recommendation-tile-button.active{border-color:color-mix(in srgb,var(--route-color,var(--primary)) 34%,transparent);box-shadow:0 18px 34px rgba(10,77,122,.14);position:relative}.recommendation-tile-button.success.active{background:linear-gradient(180deg,rgba(232,247,239,.98),rgba(246,252,248,.96))}.recommendation-tile-button.warning.active{background:linear-gradient(180deg,rgba(255,243,231,.98),rgba(255,250,245,.96))}.recommendation-tile-button.danger.active{background:linear-gradient(180deg,rgba(253,236,234,.98),rgba(255,249,248,.96))}.recommendation-tile-button.muted.active{background:linear-gradient(180deg,rgba(248,250,251,.98),rgba(255,255,255,.96))}.recommendation-tile-button.active:after{content:"";position:absolute;inset:0 auto 0 0;width:8px;background:linear-gradient(180deg,var(--route-color,var(--primary-strong)) 0,var(--primary) 100%)}.recommendation-tile-top{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:14px;gap:14px}.recommendation-tile-copy{min-width:0}.route-progress-ring{display:grid;align-content:center;justify-items:center;grid-gap:3px;gap:3px;width:70px;height:70px;border-radius:999px;background:radial-gradient(circle,#fff 0 52%,transparent 53%),conic-gradient(var(--route-color,var(--route-accent)) var(--route-progress,0),rgba(203,213,225,.72) 0);box-shadow:inset 0 0 0 1px rgba(108,117,130,.12);color:var(--primary);font-weight:900}.route-progress-ring span{display:block;font-size:1rem;line-height:1}.route-progress-ring small{display:block;color:var(--on-surface-variant);font-size:.68rem;font-weight:800;line-height:1}.route-progress-caption{margin:6px 0 0;color:var(--route-color,var(--primary));font-size:.82rem;font-weight:850}.recommendation-tile-customers{display:grid;grid-gap:8px;gap:8px}.recommendation-tile-customer{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid rgba(108,117,130,.08)}.recommendation-tile-customer.success{background:rgba(232,247,239,.92);border-color:rgba(29,122,77,.26)}.recommendation-tile-customer.warning{background:rgba(255,243,231,.92);border-color:rgba(164,75,16,.28)}.recommendation-tile-customer.danger{background:rgba(253,236,234,.92);border-color:rgba(180,35,24,.28)}.recommendation-tile-customer.muted{background:rgba(255,255,255,.82);border-color:rgba(108,117,130,.14)}.recommendation-tile-customer.empty{justify-content:center}.recommendation-tile-customer-copy{display:grid;grid-gap:3px;gap:3px;min-width:0}.recommendation-tile-customer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.recommendation-tile-customer strong{color:var(--on-surface);line-height:1.25;min-width:0}.recommendation-tile-customer-copy small,.recommendation-tile-customer-copy span{color:var(--on-surface-variant);font-size:.84rem;font-weight:700;line-height:1.25}.recommendation-tile-customer-copy small{font-size:.78rem;font-weight:800}.recommendation-tile-customer-heading .status-chip{flex:0 0 auto;padding:6px 9px;font-size:.7rem}.recommendation-tile-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.recommendation-tile-toggle{color:var(--primary);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.route-detail-panel{display:grid;grid-gap:16px;gap:16px;padding:20px;border-radius:26px;background:linear-gradient(180deg,rgba(235,245,251,.98),rgba(246,250,252,.96));border:1px solid rgba(10,77,122,.12);box-shadow:0 22px 46px rgba(10,77,122,.12)}.route-detail-panel.success{border-color:rgba(29,122,77,.16);box-shadow:0 22px 46px rgba(29,122,77,.1)}.route-detail-panel.warning{border-color:rgba(164,75,16,.16);box-shadow:0 22px 46px rgba(164,75,16,.1)}.route-detail-panel.danger{border-color:rgba(180,35,24,.16);box-shadow:0 22px 46px rgba(180,35,24,.1)}.route-detail-header{display:grid;grid-gap:8px;gap:8px}.route-modal{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:24px}.route-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(15,23,42,.58);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.route-modal-card{position:relative;z-index:1;width:min(960px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto}.route-modal-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.route-modal-close{border:0;border-radius:999px;padding:12px 16px;background:rgba(22,32,42,.08);color:var(--on-surface);font-weight:800}.route-modal-trigger{width:-moz-fit-content;width:fit-content}.route-detail-header .section-caption{margin-bottom:0}.route-detail-badge{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;padding:8px 12px;border-radius:999px;background:rgba(10,77,122,.1);color:var(--primary);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.route-detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.route-detail-stat{display:grid;grid-gap:8px;gap:8px;padding:14px;border-radius:18px;background:rgba(255,255,255,.8);border:1px solid rgba(108,117,130,.06)}.route-detail-stat strong{font-family:var(--font-display);font-size:1.2rem;line-height:1}.route-detail-list{display:grid;grid-gap:10px;gap:10px}.route-detail-inline-actions{display:flex;flex-wrap:wrap;gap:10px}.route-inline-form{display:grid;grid-gap:12px;gap:12px;padding:14px;border-radius:18px;background:rgba(255,255,255,.8);border:1px solid rgba(108,117,130,.12)}.route-inline-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 12px;gap:10px 12px}.route-selector-strip{display:flex;gap:8px;flex-wrap:wrap}.route-selector-chip{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.78);color:var(--on-surface-variant);font-size:.84rem;font-weight:700}.route-selector-chip.active{background:rgba(10,77,122,.12);color:var(--primary)}.route-detail-stop{display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto 1fr auto;align-items:flex-start;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.9);border:1px solid rgba(10,77,122,.08)}.route-detail-stop.success{border-color:rgba(29,122,77,.14)}.route-detail-stop.warning{border-color:rgba(164,75,16,.16)}.route-detail-stop.danger{border-color:rgba(180,35,24,.16)}.route-detail-stop.dragging{opacity:.58;transform:scale(.985);box-shadow:inset 0 0 0 2px rgba(10,77,122,.12)}.route-detail-stop.drag-target{border-color:rgba(10,77,122,.3);box-shadow:0 0 0 3px rgba(10,77,122,.1)}.recommendation-stop-order{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:12px;background:rgba(10,77,122,.1);color:var(--primary);font-weight:800;line-height:1}.recommendation-stop-order.success{background:rgba(29,122,77,.12);color:var(--success)}.recommendation-stop-order.warning{background:rgba(164,75,16,.12);color:var(--warning)}.recommendation-stop-order.danger{background:rgba(180,35,24,.12);color:var(--danger)}.recommendation-stop-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.recommendation-stop-copy{display:grid;grid-gap:4px;gap:4px}.route-stop-link{min-width:0;padding:4px 6px;margin:-4px -6px;border-radius:12px;color:inherit;text-decoration:none;transition:background .16s ease,box-shadow .16s ease}.route-stop-link:hover{background:rgba(10,77,122,.06);box-shadow:inset 0 0 0 1px rgba(10,77,122,.08)}.route-stop-link:focus-visible{outline:3px solid rgba(10,77,122,.22);outline-offset:2px}.recommendation-stop-copy strong{color:var(--on-surface)}.route-stop-open{width:-moz-fit-content;width:fit-content;margin-top:4px;padding:6px 10px;border-radius:999px;background:rgba(10,77,122,.1);color:var(--primary);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.route-stop-actions{display:grid;grid-gap:8px;gap:8px;justify-items:stretch}.route-priority-actions{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.route-assignment-panel{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:10px;border-radius:14px;background:rgba(245,249,251,.92);border:1px solid rgba(10,77,122,.08)}.route-assignment-panel select{min-width:180px;flex:1 1;border-radius:12px;padding:10px 12px;background:rgba(245,247,248,.96);border:1px solid rgba(108,117,130,.1);color:var(--on-surface)}.route-priority-button{min-width:72px;padding:10px 12px;border-radius:12px;background:rgba(10,77,122,.08);color:var(--primary);font-size:.82rem;font-weight:800}.route-priority-button.assign{background:rgba(29,122,77,.08);color:var(--success)}.route-priority-button.reassign{background:rgba(10,77,122,.05);color:var(--on-surface-variant)}.route-priority-button:disabled{opacity:.45;cursor:not-allowed}.route-board-map-column{display:grid;grid-gap:14px;gap:14px}.route-map-actions{display:grid;grid-gap:12px;gap:12px}.route-date-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;position:relative}.attention-queue-dismiss,.route-date-step,.route-modal-map-toggle{border:0;border-radius:999px;color:var(--primary);font-weight:800;cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}.route-date-step{min-height:36px;padding:8px 12px;background:rgba(231,236,239,.78);font-size:.86rem}.route-date-step:hover,.route-modal-map-toggle:hover{background:rgba(10,77,122,.14)}.route-modal-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.route-modal-map-toggle{padding:12px 16px;background:rgba(10,77,122,.1)}.route-map-legend{display:flex;flex-wrap:wrap;gap:8px}.route-map-legend-item{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(108,117,130,.12);color:var(--on-surface);font-size:.8rem;font-weight:850}.route-map-legend-item i{width:10px;height:10px;border-radius:999px;display:inline-block;box-shadow:0 0 0 2px rgba(255,255,255,.86),0 0 0 3px rgba(108,117,130,.16)}.dashboard-attention-block{margin:18px 0 0}.attention-queue-list,.dashboard-attention-block{display:grid;grid-gap:12px;gap:12px}.attention-queue-empty{padding:14px 16px;border-radius:18px;background:rgba(232,247,239,.8);color:var(--success);font-weight:800}.attention-queue-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.attention-queue-dismiss{padding:9px 12px;background:rgba(108,117,130,.1);color:var(--on-surface-variant)}.attention-queue-dismiss:hover{background:rgba(108,117,130,.16)}.route-stats-strip{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:7px 14px;gap:7px 14px;margin:-2px 0 14px;padding:8px 12px;border-radius:14px;background:rgba(238,244,248,.58);border:1px solid rgba(108,117,130,.1)}.route-stats-strip.empty{width:-moz-fit-content;width:fit-content;max-width:100%;font-size:.9rem}.route-stats-strip.empty,.route-stats-summary{display:inline-flex;color:var(--on-surface-variant);font-weight:800}.route-stats-summary{align-items:baseline;gap:7px;font-size:.86rem;white-space:nowrap}.route-stats-summary strong{color:var(--on-surface);font-family:var(--font-display);font-size:1.18rem;line-height:1}.route-stats-summary-link{text-decoration:none;transition:color .14s ease,transform .14s ease}.route-stats-summary-link:hover{color:var(--primary)}.route-stats-items{display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:flex-end;color:var(--on-surface-variant);font-size:.82rem;font-weight:700}.route-stats-item{display:inline-flex;align-items:center;gap:6px;border-radius:999px;color:inherit;text-decoration:none;transition:background .14s ease,color .14s ease}.route-stats-item:hover{background:rgba(10,77,122,.08);color:var(--primary)}.route-stats-line{grid-column:1/-1;display:flex;width:100%;height:4px;border-radius:999px;overflow:hidden;background:rgba(108,117,130,.13)}.route-stats-segment{display:block;min-width:0;transition:filter .14s ease}.route-stats-segment:hover{filter:brightness(1.08)}.route-stats-segment.success{background:rgba(29,122,77,.9)}.route-stats-segment.warning{background:rgba(164,75,16,.9)}.route-stats-segment.danger{background:rgba(180,35,24,.9)}.route-stats-segment.muted{background:rgba(102,112,133,.85)}.legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.legend-dot.success{background:rgba(29,122,77,.9)}.legend-dot.warning{background:rgba(164,75,16,.9)}.legend-dot.danger{background:rgba(180,35,24,.9)}.legend-dot.muted{background:rgba(102,112,133,.9)}.route-map-panel{display:grid;grid-gap:12px;gap:12px;align-self:start}.route-map-empty,.route-map-surface{position:relative;min-height:520px;border-radius:26px;overflow:hidden;border:1px solid rgba(10,77,122,.12);background:radial-gradient(circle at 15% 20%,rgba(10,77,122,.08),transparent 22%),radial-gradient(circle at 75% 72%,rgba(29,122,77,.08),transparent 18%),linear-gradient(180deg,rgba(230,239,245,.9),rgba(244,248,251,.98))}.route-map-empty{display:grid;place-items:center;padding:24px;text-align:center}.real-route-map{isolation:isolate}.real-route-map.leaflet-container{width:100%;height:100%;min-height:520px;border-radius:26px;font-family:var(--font-body)}.real-route-map .leaflet-control-zoom a{color:var(--on-surface)}.real-route-map .leaflet-popup-content-wrapper,.real-route-map .leaflet-popup-tip{border-radius:16px}.real-route-map-icon-wrapper{background:transparent;border:0}.real-route-map-marker{display:grid;place-items:center;width:40px;height:40px;border-radius:999px;box-shadow:0 10px 22px rgba(18,32,42,.18);border:2px solid rgba(255,255,255,.92);color:white;font-size:.8rem;font-weight:800}.real-route-map-marker.base{width:46px;height:46px;background:var(--primary)}.real-route-map-marker.success{background:var(--success)}.real-route-map-marker.warning{background:var(--warning)}.real-route-map-marker.danger{background:var(--danger)}.real-route-map-marker.muted{background:var(--muted)}@media (max-width:900px){.topbar-actions{width:100%;min-width:0}.topbar-row{width:100%;flex-wrap:wrap}.topbar-row-primary,.topbar-row-secondary{justify-content:flex-start}.recurring-summary-stats{grid-template-columns:1fr}.filter-toolbar{grid-template-columns:1fr 1fr}.filter-toolbar-actions{grid-column:1/-1;justify-content:flex-start}.inline-action-stack{justify-items:start}.route-board-layout{grid-template-columns:1fr}.route-board-filter-row{align-items:flex-start}.recommendation-tile-meta{justify-content:flex-start}.route-board-layout.map-mode{grid-template-columns:1fr}.route-map-empty,.route-map-surface{min-height:360px}}@media (max-width:1100px){.recommendation-board{grid-template-columns:1fr}}@media (max-width:700px){.recommendation-board{max-height:none;overflow:visible;padding-right:0}.recommendation-tile-button{min-height:0}.recommendation-tile-customer-heading{flex-wrap:wrap}.route-detail-stats{grid-template-columns:1fr}.route-detail-stop{grid-template-columns:auto 1fr}.route-modal{padding:16px}.route-modal-card{width:min(100vw - 32px,960px);max-height:calc(100vh - 32px)}.route-modal-header-row{flex-direction:column;align-items:stretch}.route-stop-actions{grid-column:1/-1}.route-assignment-panel{grid-column:1/-1;flex-direction:column;align-items:stretch}.route-inline-form-grid{grid-template-columns:1fr}}@media (max-width:640px){.topbar-row-primary{flex-direction:column;align-items:stretch}.visit-lightbox-footer{flex-direction:column;align-items:flex-start}.topbar-utility-group{width:100%;justify-content:flex-start;flex-wrap:wrap}.topbar-primary-action,.topbar-signout-button{width:100%}.toast-viewport{left:16px;right:16px;top:16px}.toast-message{min-width:0;max-width:none}.filter-toolbar{grid-template-columns:1fr}}html[data-theme=dark] body{background:radial-gradient(circle at top left,rgba(14,116,144,.24),transparent 28%),radial-gradient(circle at bottom right,rgba(15,118,110,.2),transparent 24%),linear-gradient(180deg,#101820 0,var(--background) 100%)}html[data-theme=dark] .sidebar{background:rgba(13,20,27,.9);border-right-color:rgba(148,163,184,.14)}html[data-theme=dark] .brand-home-link{padding:5px;margin:-5px;background:rgba(248,250,252,.94);box-shadow:0 10px 28px rgba(0,0,0,.18)}html[data-theme=dark] .accent-card,html[data-theme=dark] .card,html[data-theme=dark] .field-template-card,html[data-theme=dark] .panel,html[data-theme=dark] .recurring-summary-card,html[data-theme=dark] .route-detail-panel,html[data-theme=dark] .route-map-empty,html[data-theme=dark] .route-map-panel,html[data-theme=dark] .route-modal-card,html[data-theme=dark] .route-month-calendar,html[data-theme=dark] .settings-log-card,html[data-theme=dark] .sidebar-profile,html[data-theme=dark] .sidebar-profile-actions,html[data-theme=dark] .topbar,html[data-theme=dark] .visit-lightbox-panel{background:rgba(16,25,35,.9);border-color:rgba(148,163,184,.16);box-shadow:var(--shadow-soft)}html[data-theme=dark] .action-button.secondary,html[data-theme=dark] .field input,html[data-theme=dark] .field select,html[data-theme=dark] .field textarea,html[data-theme=dark] .field-template-section,html[data-theme=dark] .filter-pill,html[data-theme=dark] .list-item,html[data-theme=dark] .nav-link.active,html[data-theme=dark] .nav-link:hover,html[data-theme=dark] .notification-item,html[data-theme=dark] .notification-log-item,html[data-theme=dark] .page-breadcrumb a,html[data-theme=dark] .photo-upload-card,html[data-theme=dark] .recurring-summary-metric,html[data-theme=dark] .route-assignment-panel,html[data-theme=dark] .route-board-toggle-button,html[data-theme=dark] .route-board-view-toggle,html[data-theme=dark] .route-calendar-nav,html[data-theme=dark] .route-calendar-toggle,html[data-theme=dark] .route-date-step,html[data-theme=dark] .route-modal-map-toggle,html[data-theme=dark] .route-priority-button,html[data-theme=dark] .route-selector-chip,html[data-theme=dark] .route-stop-actions,html[data-theme=dark] .search-input,html[data-theme=dark] .stat-box{background:rgba(27,41,52,.9);border-color:rgba(148,163,184,.16)}html[data-theme=dark] .action-button.secondary,html[data-theme=dark] .attention-queue-dismiss,html[data-theme=dark] .filter-pill,html[data-theme=dark] .page-breadcrumb a,html[data-theme=dark] .route-board-toggle-button,html[data-theme=dark] .route-calendar-nav,html[data-theme=dark] .route-calendar-toggle,html[data-theme=dark] .route-date-step,html[data-theme=dark] .route-modal-map-toggle,html[data-theme=dark] .route-priority-button{color:#e7f0f7}html[data-theme=dark] .action-button.secondary:hover,html[data-theme=dark] .attention-queue-dismiss:hover,html[data-theme=dark] .filter-pill:hover,html[data-theme=dark] .page-breadcrumb a:hover,html[data-theme=dark] .route-board-toggle-button:hover,html[data-theme=dark] .route-calendar-nav:hover,html[data-theme=dark] .route-calendar-toggle:hover,html[data-theme=dark] .route-date-step:hover,html[data-theme=dark] .route-modal-map-toggle:hover,html[data-theme=dark] .route-priority-button:hover{background:rgba(42,59,73,.94);color:#ffffff}html[data-theme=dark] .route-board-toggle-button.active{background:rgba(248,250,252,.94);color:#075985}html[data-theme=dark] .data-table tbody tr:nth-child(2n) td,html[data-theme=dark] .data-table tbody tr:nth-child(odd) td,html[data-theme=dark] .data-table thead th{background:rgba(22,35,45,.94)}html[data-theme=dark] .data-table tbody tr:hover td,html[data-theme=dark] .sidebar-profile-action:hover{background:rgba(42,59,73,.86)}html[data-theme=dark] .recommendation-tile-button,html[data-theme=dark] .recommendation-tile-button.muted,html[data-theme=dark] .recommendation-tile-button.muted.active{background:linear-gradient(180deg,rgba(16,25,35,.96),rgba(22,35,45,.94));border-color:rgba(148,163,184,.18)}html[data-theme=dark] .recommendation-tile-button.success,html[data-theme=dark] .recommendation-tile-button.success.active,html[data-theme=dark] .recommendation-tile-customer.success{background:linear-gradient(180deg,rgba(20,83,45,.36),rgba(16,25,35,.92));border-color:rgba(74,222,128,.28)}html[data-theme=dark] .recommendation-tile-button.warning,html[data-theme=dark] .recommendation-tile-button.warning.active,html[data-theme=dark] .recommendation-tile-customer.warning{background:linear-gradient(180deg,rgba(120,53,15,.38),rgba(16,25,35,.92));border-color:rgba(245,158,11,.3)}html[data-theme=dark] .recommendation-tile-button.danger,html[data-theme=dark] .recommendation-tile-button.danger.active,html[data-theme=dark] .recommendation-tile-customer.danger{background:linear-gradient(180deg,rgba(127,29,29,.36),rgba(16,25,35,.92));border-color:rgba(248,113,113,.28)}html[data-theme=dark] .recommendation-tile-customer,html[data-theme=dark] .recommendation-tile-customer.muted,html[data-theme=dark] .route-detail-stat,html[data-theme=dark] .route-detail-stop,html[data-theme=dark] .route-progress-ring{background:rgba(27,41,52,.86);border-color:rgba(148,163,184,.14)}html[data-theme=dark] .route-progress-ring{background:radial-gradient(circle,#101923 0 52%,transparent 53%),conic-gradient(var(--route-color,var(--route-accent)) var(--route-progress,0),rgba(71,85,105,.84) 0)}html[data-theme=dark] .progress-bar,html[data-theme=dark] .route-stats-panel,html[data-theme=dark] .route-stats-progress{background:rgba(22,35,45,.86);border-color:rgba(148,163,184,.14)}html[data-theme=dark] .form-submission-overlay{background:rgba(13,20,27,.66)}html[data-theme=dark] .form-submission-modal{background:rgba(16,25,35,.96);border-color:rgba(148,163,184,.18);box-shadow:0 22px 48px rgba(0,0,0,.36)}html[data-theme=dark] .form-submission-label{color:var(--on-surface)}html[data-theme=dark] .form-submission-spinner{border-color:rgba(56,189,248,.18);border-top-color:var(--primary)}html[data-theme=dark] .attention-queue-empty{background:rgba(20,83,45,.24);border:1px solid rgba(74,222,128,.24);color:#bbf7d0}html[data-theme=dark] .attention-queue-empty .item-title{color:#4ade80}html[data-theme=dark] .attention-queue-empty .item-meta{color:#d9fbe8}html[data-theme=dark] .route-stats-strip.empty{background:rgba(42,59,73,.92);border-color:rgba(148,163,184,.2);color:#d8e6f0}html[data-theme=dark] .action-button.secondary[disabled],html[data-theme=dark] .filter-pill[disabled],html[data-theme=dark] .route-calendar-nav[disabled]{color:#d8e6f0}html[data-theme=dark] .field-hint,html[data-theme=dark] .pill-badge,html[data-theme=dark] .route-calendar-day.has-routes,html[data-theme=dark] .status-chip.info{background:rgba(56,189,248,.14);color:var(--primary)}html[data-theme=dark] .status-chip.success{background:rgba(74,222,128,.14)}html[data-theme=dark] .status-chip.warning{background:rgba(245,158,11,.14)}html[data-theme=dark] .status-chip.danger{background:rgba(248,113,113,.14)}html[data-theme=dark] .status-chip.muted{background:rgba(156,163,175,.16)}html[data-theme=dark] .action-button.primary{color:#04111a;box-shadow:0 10px 22px rgba(56,189,248,.16)}html[data-theme=dark] .field select option,html[data-theme=dark] .inline-status-select,html[data-theme=dark] .inline-status-select option{background:#f8fafc;color:#0f172a}html[data-theme=dark] .hero-card{background:linear-gradient(145deg,rgba(7,89,133,.96),rgba(15,118,110,.9))}html[data-theme=dark] ::selection{background:rgba(56,189,248,.36)}