:root{--bg:#e8f1fa;--bg-top:#f5faff;--panel:#fffffff5;--panel-strong:#fff;--ink:#16324f;--muted:#54697f;--line:#16324f2e;--brand-a:#0d3f94;--brand-b:#2b8fe8;--brand-c:#5abdf8;--brand-deep:#0f2745;--sidebar-top:#10345b;--sidebar-bottom:#153a57;--ok:#15803d;--warn:#b45309;--danger:#b91c1c;--info:#0f438c;--shadow:0 20px 44px #0f23401a;--radius:0;--font-sans:"Avenir Next", "Segoe UI", sans-serif;--topbar-control-width:184px;--topbar-control-height:54px;--topbar-utility-gap:10px;--topbar-utility-width:572px}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--ink);background:radial-gradient(circle at top right, #5abdf824, transparent 28%), radial-gradient(circle at top left, #2b8fe829, transparent 30%), linear-gradient(180deg, var(--bg-top), var(--bg));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.dashboard-app{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:linear-gradient(180deg, var(--sidebar-top), var(--brand-deep) 60%, var(--sidebar-bottom));color:#fff;flex-direction:column;align-self:start;gap:26px;min-height:100vh;padding:28px 22px 24px;display:flex;position:sticky;top:0;box-shadow:inset -1px 0 #ffffff0f}.sidebar__brand-block{background:linear-gradient(#ffffff14,#ffffff0a),linear-gradient(135deg,#2b8fe814,#0000);border:1px solid #ffffff24;align-content:start;justify-items:center;gap:22px;padding:22px 18px 24px;display:grid}.sidebar__brand{text-align:center;letter-spacing:.02em;justify-items:center;font-size:1.72rem;font-weight:800;line-height:1.05;display:grid}.sidebar__brand span{color:#8fd8ff}.sidebar__brand-mark{justify-content:center;align-items:center;width:100%;min-height:164px;padding:2px 0 0;display:flex}.sidebar__brand-mark-image{object-fit:contain;width:auto;max-width:176px;height:auto;max-height:176px}.sidebar__group{gap:14px;display:grid}.sidebar__group--footer{margin-top:auto}.sidebar__label{letter-spacing:.14em;text-transform:uppercase;color:#ffffffad;margin:0 10px;font-size:.7rem}.sidebar__nav{gap:8px;display:grid}.sidebar__link,.sidebar__business{border-radius:var(--radius)}.sidebar__link{color:#ffffffeb;border:1px solid #0000;align-items:center;padding:13px 15px;font-size:.97rem;font-weight:700;transition:background .14s,border-color .14s,box-shadow .14s,color .14s;display:flex}.sidebar__link-label{flex:1}.sidebar__link:hover{background:#ffffff1a;border-color:#ffffff14}.sidebar__link--active{background:linear-gradient(90deg,#0d3f94fa,#5abdf8eb);border-color:#fff3;box-shadow:inset 0 0 0 1px #ffffff2e,0 10px 20px #0312272e}.sidebar__business{color:#ffffffeb;background:#ffffff1c;border:1px solid #ffffff2e;gap:8px;padding:15px 16px;display:grid}.sidebar__business-name{font-weight:800}.sidebar__business-note{color:#ffffffb8;font-size:.84rem;line-height:1.55}.dashboard-main-shell{padding:28px 32px 32px}.dashboard-main{gap:22px;display:grid}.topbar{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb8;border:1px solid #0f438c1f;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);align-items:center;gap:20px;margin-bottom:24px;padding:16px 18px;display:grid}.topbar__headline,.topbar__context{gap:6px;min-width:0;display:grid}.topbar__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:800}.topbar__title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.topbar__title{font-size:clamp(1.5rem,2vw,2.1rem);line-height:1}.topbar__description{max-width:640px;color:var(--muted);font-size:.93rem;line-height:1.55}.topbar__search-bar,.topbar__chip,.filter-pill{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff5}.topbar__toolbar{justify-items:end;gap:14px;min-width:0;display:grid}.topbar__search-shell{width:min(100%, var(--topbar-utility-width));position:relative}.topbar__search-bar{width:100%;min-height:var(--topbar-control-height);border-color:#0f438c24;align-items:center;gap:12px;padding:0 16px;transition:border-color .14s,box-shadow .14s;display:flex}.topbar__search-icon{color:var(--muted);flex:none;place-items:center;display:grid}.topbar__search-input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;font-size:.98rem}.topbar__search-input::placeholder{color:var(--muted)}.topbar__search-bar:focus-within{box-shadow:0 0 0 3px #2b8fe81f, var(--shadow);border-color:#2b8fe86b}.topbar__search-results{z-index:40;max-height:min(70vh,420px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffffa;border:1px solid #0f438c29;gap:8px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.topbar__search-state{color:var(--muted);padding:14px 16px;font-size:.92rem;line-height:1.5}.topbar__search-state--error{color:var(--danger)}.topbar__search-group{gap:6px;display:grid}.topbar__search-group-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;padding:4px 8px 0;font-size:.68rem;font-weight:800}.topbar__search-group-items{gap:4px;display:grid}.topbar__search-result{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 14px;transition:background .14s,border-color .14s,box-shadow .14s;display:flex}.topbar__search-result:hover,.topbar__search-result--active{box-shadow:inset 3px 0 0 var(--brand-b);background:#0f438c14;border-color:#0f438c1f}.topbar__search-result-copy{gap:4px;min-width:0;display:grid}.topbar__search-result-title{color:var(--brand-deep);font-size:.96rem;font-weight:800;line-height:1.25}.topbar__search-result-detail{color:var(--muted);font-size:.85rem;line-height:1.45}.topbar__search-result-meta{flex:none;justify-items:end;gap:6px;display:grid}.topbar__search-result-type,.topbar__search-result-status{color:var(--info);letter-spacing:.08em;text-transform:uppercase;background:#0f438c14;padding:5px 8px;font-size:.7rem;font-weight:800}.topbar__search-result-status{background:#0f438c1f}.topbar__chip{letter-spacing:.08em;text-transform:uppercase;padding:9px 12px;font-size:.78rem;font-weight:700}.topbar__chip--subtle{color:var(--info);background:#0f438c14;border-color:#0f438c24}.topbar__select-wrap{min-width:var(--topbar-control-width);gap:6px;display:grid}.topbar__select-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:800}.topbar__select{min-height:var(--topbar-control-height);border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow);background:#fffffff5;padding:9px 12px}.topbar__utility{justify-content:flex-end;align-items:center;gap:var(--topbar-utility-gap);width:min(100%, var(--topbar-utility-width));flex-wrap:wrap;display:flex}.topbar__business-card{width:var(--topbar-control-width);min-width:var(--topbar-control-width);min-height:var(--topbar-control-height);border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff5;align-content:center;gap:4px;padding:8px 12px;display:grid;overflow:hidden}.topbar__business-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:800}.topbar__business-name{text-wrap:balance;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;font-weight:800;line-height:1.1;display:-webkit-box;overflow:hidden}.topbar__business-name--compact{font-size:.8rem}.topbar__business-name--tight{font-size:.74rem}.topbar__profile{width:var(--topbar-control-width);min-width:var(--topbar-control-width);min-height:var(--topbar-control-height);border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff5;align-items:center;gap:10px;padding:8px 10px;display:flex;overflow:hidden}.topbar__avatar{background:linear-gradient(135deg, var(--brand-a), var(--brand-c));color:#fff;place-items:center;width:34px;height:34px;font-size:.88rem;font-weight:800;display:grid}.topbar__profile-copy{gap:2px;min-width:0;display:grid}.topbar__profile-name{text-wrap:balance;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;font-weight:800;line-height:1.05;display:-webkit-box;overflow:hidden}.topbar__profile-name--compact{font-size:.8rem}.topbar__profile-name--tight{font-size:.74rem}.topbar__profile-meta{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700}.topbar__button,.auth-action,.toolbar-button{background:linear-gradient(90deg, var(--brand-a), var(--brand-b));color:#fff;min-height:46px;box-shadow:var(--shadow);cursor:pointer;letter-spacing:.01em;border:1px solid #0f438c40;padding:11px 17px;font-size:.9rem;font-weight:700;transition:transform .14s,box-shadow .14s,filter .14s}.topbar__button{width:var(--topbar-control-width);min-width:var(--topbar-control-width);min-height:var(--topbar-control-height);justify-content:center;align-items:center;padding:9px 14px;display:inline-flex}.topbar__button:disabled,.auth-action:disabled,.toolbar-button:disabled{cursor:default;opacity:.72}.shell-banner{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff5;margin-bottom:20px;padding:16px 18px}.shell-banner--error{color:var(--danger);background:#b91c1c0f;border-color:#b91c1c33}.shell-banner--info{color:var(--info);background:#0f438c0f;border-color:#0f438c29}.hero-panel{border-radius:var(--radius);color:#fff;background:linear-gradient(90deg, var(--brand-a), var(--brand-b));box-shadow:var(--shadow);border:1px solid #0f438c29;justify-content:space-between;align-items:flex-end;gap:24px;padding:32px;display:flex}.hero-panel__eyebrow,.page-header__eyebrow{letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:.72rem;font-weight:800}.hero-panel__title,.page-header__title{font-size:clamp(2rem,3vw,2.55rem);line-height:1.03}.hero-panel__description,.page-header__description{color:#ffffffeb;max-width:760px;margin-top:12px;line-height:1.58}.hero-panel__tag,.page-header__badge{color:#fff;box-shadow:var(--shadow);background:#ffffff29;border:1px solid #0f438c40;padding:10px 15px;font-size:.84rem;font-weight:700}.page-header{justify-content:space-between;gap:24px;padding:6px 2px 2px;display:flex}.page-header__description{color:var(--muted)}.page-header__badge{background:linear-gradient(90deg, var(--brand-a), var(--brand-b));border-color:#0f438c1f;align-self:flex-start}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-card,.section-card{background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #0f438c1f}.metric-card{padding:22px}.metric-card__label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.metric-card__value{margin:10px 0 6px;font-size:2.08rem;font-weight:800;line-height:1}.metric-card__detail{color:var(--muted);font-size:.95rem;line-height:1.5}.overview-control-chips{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px;display:grid}.overview-control-chip{background:#ffffffb8;border:1px solid #0f438c1f;gap:6px;padding:14px;display:grid}.overview-control-chip__label,.overview-section-item__eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;font-weight:800}.overview-control-chip strong{color:var(--brand-deep);font-size:1rem;line-height:1.2}.overview-grid,.detail-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:20px;display:grid}.section-card{padding:24px}.section-card--wide{min-width:0}.section-card__header{margin-bottom:18px}.section-card__title{color:var(--brand-deep);font-size:1.14rem;line-height:1.18}.section-card__subtitle{color:var(--muted);margin-top:7px;font-size:.95rem;line-height:1.55}.split-row,.table-row,.route-stop,.detail-list__item{border-top:1px solid var(--line)}.split-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0;display:grid}.split-row__aside{justify-items:end;gap:10px;display:grid}.overview-section-list{display:grid}.overview-section-item__copy{gap:6px;min-width:0;display:grid}.overview-section-item__detail{line-height:1.58}.overview-section-item__meta{font-size:.9rem}.overview-section-item__aside{align-self:center}.overview-follow-up-aside{align-self:stretch}.overview-inline-links{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.overview-inline-link{min-height:38px;color:var(--ink);background:#fffffff7;border:1px solid #0f438c24;justify-content:center;align-items:center;padding:0 12px;font-size:.88rem;font-weight:700;text-decoration:none;transition:background .14s,border-color .14s,color .14s,box-shadow .14s;display:inline-flex}.overview-inline-link:hover{color:var(--brand-deep);background:#0f438c14;border-color:#0f438c38}.overview-customer-summary{background:#ffffffb8;border:1px solid #0f438c1f;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;padding:16px;display:flex}.overview-customer-summary__copy,.overview-customer-summary__meta{gap:6px;display:grid}.overview-customer-summary__copy{flex:1;min-width:240px}.overview-customer-summary__copy strong{color:var(--brand-deep);font-size:1rem;line-height:1.25}.muted{color:var(--muted)}.status-badge{letter-spacing:.06em;text-transform:uppercase;width:fit-content;padding:7px 11px;font-size:.74rem;font-weight:800;display:inline-block}.status-badge--ok{color:var(--ok);background:#15803d29}.status-badge--warn{color:var(--warn);background:#b4530929}.status-badge--danger{color:var(--danger);background:#b91c1c29}.status-badge--info{color:var(--info);background:#0f438c29}.table-shell{gap:0;display:grid}.table-head,.table-row{align-items:center;gap:12px;display:grid}.table-head{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;padding-bottom:12px;font-size:.74rem;font-weight:800}.table-row{padding:14px 0}.table-row--interactive,.route-stop--interactive,.filter-pill--button{width:100%;color:inherit;text-align:left;cursor:pointer;border:none}.table-row--interactive,.route-stop--interactive{background:0 0;transition:background .14s,box-shadow .14s}.table-row--interactive:hover,.route-stop--interactive:hover{background:#0f438c0f;box-shadow:inset 0 0 0 1px #0f438c14}.table-row--selected,.route-stop--selected{box-shadow:inset 3px 0 0 var(--brand-b);background:#0f438c1a}.filter-pill--button{border:1px solid var(--line);background:#fffffff5;width:auto}.filter-pill--button:disabled{opacity:.58;cursor:default}.table-shell--customers .table-head,.table-shell--customers .table-row{grid-template-columns:1.25fr 1.1fr .9fr .8fr .8fr .8fr}.table-shell--jobs .table-head,.table-shell--jobs .table-row{grid-template-columns:1.15fr 1fr .75fr .95fr .8fr .75fr}.table-shell--reports .table-head,.table-shell--reports .table-row{grid-template-columns:.95fr 1fr .75fr 1fr .8fr}.table-shell--service-stop-report .table-head,.table-shell--service-stop-report .table-row{grid-template-columns:.9fr 1.3fr .75fr .75fr .9fr .9fr}.table-shell--work-order-report .table-head,.table-shell--work-order-report .table-row{grid-template-columns:.9fr 1.3fr .75fr .9fr .75fr .9fr}.table-shell--skipped-services-report .table-head,.table-shell--skipped-services-report .table-row{grid-template-columns:.9fr 1.3fr .75fr .8fr 1fr .9fr}.table-shell--time-on-site-report{margin-top:18px}.table-shell--time-on-site-report .table-head,.table-shell--time-on-site-report .table-row{grid-template-columns:.9fr 1.3fr .75fr .75fr .9fr .9fr}.table-shell--gps-check-ins-report .table-head,.table-shell--gps-check-ins-report .table-row{grid-template-columns:.9fr 1.3fr .75fr .75fr .9fr 1fr .75fr}.table-shell--chemical-summary-report .table-head,.table-shell--chemical-summary-report .table-row{grid-template-columns:1.15fr 1.55fr .55fr .55fr .9fr}.table-shell--chemical-detail-report .table-head,.table-shell--chemical-detail-report .table-row{grid-template-columns:.9fr 1.25fr .75fr .9fr .65fr .95fr 1.1fr}.table-row__subtext{margin-top:4px;font-size:.86rem;line-height:1.35;display:block}.table-shell--team .table-head,.table-shell--team .table-row{grid-template-columns:1fr .7fr 1.2fr .65fr .7fr}.filter-bar{flex-wrap:wrap;gap:14px;display:flex}.toolbar-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.toolbar-grid--maintenance{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.view-switcher{flex-wrap:wrap;align-items:stretch;gap:10px;margin-bottom:18px;display:inline-flex}.view-switcher__button{min-height:50px;color:var(--ink);box-shadow:var(--shadow);cursor:pointer;background:#fffffff7;border:1px solid #0f438c24;padding:0 16px;font-size:.94rem;font-weight:700;transition:background .14s,border-color .14s,box-shadow .14s,color .14s}.view-switcher__button--active{background:linear-gradient(90deg, var(--brand-a), var(--brand-b));color:#fff;border-color:#0f438c38}.view-switcher__action{min-height:50px}.active-filter-bar{gap:10px;margin-top:18px;display:grid}.active-filter-bar__label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:800}.active-filter-bar__chips{flex-wrap:wrap;gap:10px;display:flex}.active-filter-chip{color:var(--info);cursor:pointer;background:#0f438c17;border:1px solid #0f438c38;align-items:center;gap:8px;padding:11px 13px;font-size:.88rem;font-weight:700;display:inline-flex}.active-filter-chip__close{text-transform:uppercase;font-size:.84rem;font-weight:800}.toolbar-field{gap:7px;display:grid}.toolbar-field--full{grid-column:1/-1}.toolbar-field__label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:800}.toolbar-input,.toolbar-select{width:100%;min-height:54px;color:var(--ink);box-shadow:var(--shadow);background:#fffffff7;border:1px solid #0f438c24;border-radius:0;padding:12px 14px;font-size:.98rem;line-height:1.25}.toolbar-input{appearance:none}.toolbar-input::-webkit-search-decoration{-webkit-appearance:none}.toolbar-input::-webkit-search-cancel-button{-webkit-appearance:none}.toolbar-input::-webkit-search-results-button{-webkit-appearance:none}.toolbar-input::-webkit-search-results-decoration{-webkit-appearance:none}.toolbar-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--brand-deep) 50%), linear-gradient(135deg, var(--brand-deep) 50%, transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 11px) calc(50% - 3px);background-repeat:no-repeat;background-size:7px 7px,7px 7px;padding-right:40px}.toolbar-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;display:flex}.toolbar-summary{color:var(--muted);font-size:.95rem;line-height:1.5}.toolbar-buttons{flex-wrap:wrap;gap:10px;display:flex}.toolbar-pagination{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar-pagination__summary{color:var(--muted);font-size:.94rem}.toolbar-pagination__select{min-width:110px}.toolbar-button--secondary{color:var(--ink);background:#fffffff7;border-color:#0f438c24}.report-launchpad-actions{justify-content:flex-end;margin:-6px 0 18px;display:flex}.report-launchpad-actions .toolbar-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.report-launchpad-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.report-launchpad-grid--top{grid-template-columns:repeat(3,minmax(0,1fr))}.report-launch-card{min-height:178px;color:var(--ink);background:#ffffffdb;border:1px solid #0f438c1f;gap:12px;padding:18px;text-decoration:none;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid}.report-launch-card:hover{box-shadow:var(--shadow);border-color:#0f438c3d;transform:translateY(-1px)}.report-launch-card--disabled{cursor:default;opacity:.72}.report-launch-card--disabled:hover{box-shadow:none;border-color:#0f438c1f;transform:none}.report-launch-card:before{content:"";background:var(--brand-a);width:36px;height:4px}.report-launch-card--blue:before{background:var(--brand-a)}.report-launch-card--green:before{background:var(--ok)}.report-launch-card--teal:before{background:var(--brand-c)}.report-launch-card--warn:before{background:var(--warn)}.report-launch-card__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.report-launch-card__label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:800}.report-launch-card strong{color:var(--brand-deep);font-size:1.12rem;line-height:1.2}.filter-pill{color:var(--muted);min-width:110px;padding:12px 14px}.filter-pill--wide{min-width:220px}.detail-list{display:grid}.customer-detail-list{gap:16px}.detail-list__item{gap:8px;padding:14px 0;display:grid}.detail-list__row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.detail-list__value{min-width:180px;color:var(--muted);flex:1;line-height:1.52}.customer-focus-panel,.customer-detail-section{border:1px solid var(--line);background:#ffffffad;gap:14px;padding:18px;display:grid}.customer-focus-panel{background:linear-gradient(135deg,#0f438c0f,#ffffffc7),#ffffffb8;gap:18px}.customer-focus-panel__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.customer-focus-panel__copy,.customer-focus-panel__actions{gap:8px;display:grid}.customer-focus-panel__copy{flex:1;min-width:240px}.customer-focus-panel__actions{justify-items:end}.customer-focus-panel__title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.customer-focus-panel__title-row strong{color:var(--brand-deep);font-size:1.28rem;line-height:1.15}.customer-focus-panel__stats{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;display:grid}.customer-focus-stat{background:#ffffffd1;border:1px solid #0f438c1f;gap:6px;padding:14px;display:grid}.customer-focus-stat__label,.customer-detail-section__eyebrow,.customer-detail-field__label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;font-weight:800}.customer-focus-stat strong{color:var(--brand-deep);font-size:1rem;line-height:1.2}.customer-detail-section{gap:16px}.customer-detail-section--action{background:#0f438c0a}.customer-detail-section__header{gap:7px;display:grid}.customer-detail-section__header strong{color:var(--brand-deep);font-size:1.04rem;line-height:1.2}.customer-detail-fields{gap:14px;display:grid}.customer-detail-field{gap:8px;display:grid}.asset-groups{gap:14px;display:grid}.asset-group{border:1px solid var(--line);background:#ffffff9e;gap:10px;padding:14px;display:grid}.asset-group__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.asset-group__header-copy,.asset-group__header-actions{gap:6px;display:grid}.asset-group__title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.asset-group__header-actions{justify-items:end}.asset-group__meta{line-height:1.55}.asset-list{gap:0;display:grid}.asset-row{border-top:1px solid var(--line);gap:6px;padding:12px 0;display:grid}.asset-row:first-child{border-top:none;padding-top:0}.asset-row__title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.asset-empty{line-height:1.55}.asset-form-shell{border-top:1px solid var(--line);padding-top:8px}.asset-form__intro{line-height:1.55}.customer-report-list{display:grid}.customer-report-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 0;display:grid}.customer-report-row:first-child{border-top:none;padding-top:0}.customer-report-row__copy{gap:5px;min-width:0;display:grid}.customer-report-row__copy strong{color:var(--brand-deep)}.customer-report-row__date{color:var(--brand-deep);white-space:nowrap;font-size:.9rem;font-weight:700}.report-detail-list{gap:16px}.report-focus-panel,.report-detail-section{border:1px solid var(--line);background:#ffffffad;gap:14px;padding:18px;display:grid}.report-focus-panel{background:linear-gradient(135deg,#0f438c0f,#ffffffc7),#ffffffb8;gap:18px}.report-focus-panel__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.report-focus-panel__copy,.report-focus-panel__actions{gap:8px;display:grid}.report-focus-panel__copy{flex:1;min-width:240px}.report-focus-panel__actions{justify-items:end}.report-focus-panel__title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.report-focus-panel__title-row strong{color:var(--brand-deep);font-size:1.28rem;line-height:1.15}.report-focus-panel__stats{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;display:grid}.report-focus-stat{background:#ffffffd1;border:1px solid #0f438c1f;gap:6px;padding:14px;display:grid}.report-focus-stat__label,.report-detail-section__eyebrow,.report-delivery-row__label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;font-weight:800}.report-focus-stat strong{color:var(--brand-deep);font-size:1rem;line-height:1.2}.report-detail-section{gap:16px}.report-detail-section--action{background:#0f438c0a}.report-detail-section__header{gap:7px;display:grid}.report-detail-section__header strong{color:var(--brand-deep);font-size:1.04rem;line-height:1.2}.report-detail-section__body{line-height:1.62}.report-chemistry-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.report-chemistry-card{background:#ffffffc7;border:1px solid #0f438c1f;gap:8px;padding:14px;display:grid}.report-delivery-list{display:grid}.report-delivery-row{border-top:1px solid var(--line);grid-template-columns:120px minmax(0,1fr);align-items:start;gap:14px;padding:14px 0;display:grid}.report-delivery-row:first-child{border-top:none;padding-top:0}.report-delivery-row__value{min-width:0;color:var(--muted);line-height:1.52}.metric-grid--inside{margin-top:4px}.communication-readiness-list{display:grid}.communication-readiness-row{border-top:1px solid var(--line);grid-template-columns:140px minmax(0,1fr);align-items:start;gap:14px;padding:14px 0;display:grid}.communication-readiness-row:first-child{border-top:none;padding-top:0}.communication-readiness-row__label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;font-weight:800}.communication-readiness-row__value{min-width:0;color:var(--muted);gap:8px;line-height:1.52;display:grid}.activity-timeline{display:grid}.activity-timeline__event{border-top:1px solid var(--line);padding:14px 0}.activity-timeline__event:first-child{border-top:none;padding-top:0}.activity-timeline__event-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.activity-timeline__event-main{gap:8px;min-width:0;display:grid}.activity-timeline__event-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.activity-timeline__event-title-row strong{color:var(--brand-deep);font-size:1rem;line-height:1.24}.activity-timeline__event-aside{text-align:right;justify-items:end;gap:6px;min-width:132px;display:grid}.activity-timeline__event-time{color:var(--brand-deep);letter-spacing:.04em;font-size:.82rem;font-weight:800}.job-detail-list,.reminder-detail-list{gap:16px}.job-focus-panel,.job-detail-section,.reminder-focus-panel,.reminder-detail-section{border:1px solid var(--line);background:#ffffffad;gap:14px;padding:18px;display:grid}.job-focus-panel,.reminder-focus-panel{background:linear-gradient(135deg,#0f438c0f,#ffffffc7),#ffffffb8;gap:18px}.job-focus-panel__header,.reminder-focus-panel__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.job-focus-panel__copy,.job-focus-panel__actions,.reminder-focus-panel__copy,.reminder-focus-panel__actions{gap:8px;display:grid}.job-focus-panel__copy,.reminder-focus-panel__copy{flex:1;min-width:240px}.job-focus-panel__actions,.reminder-focus-panel__actions{justify-items:end}.job-focus-panel__title-row,.reminder-focus-panel__title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.job-focus-panel__title-row strong,.reminder-focus-panel__title-row strong{color:var(--brand-deep);font-size:1.28rem;line-height:1.15}.job-focus-panel__stats,.reminder-focus-panel__stats{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;display:grid}.job-focus-stat,.reminder-focus-stat{background:#ffffffd1;border:1px solid #0f438c1f;gap:6px;padding:14px;display:grid}.job-focus-stat__label,.job-detail-section__eyebrow,.reminder-focus-stat__label,.reminder-detail-section__eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;font-weight:800}.job-focus-stat strong,.reminder-focus-stat strong{color:var(--brand-deep);font-size:1rem;line-height:1.2}.job-detail-section,.reminder-detail-section{gap:16px}.job-detail-section__header,.reminder-detail-section__header{gap:7px;display:grid}.job-detail-section__header strong,.reminder-detail-section__header strong{color:var(--brand-deep);font-size:1.04rem;line-height:1.2}.job-detail-section__body,.reminder-detail-section__body{line-height:1.62}.job-chemistry-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.job-chemistry-card{background:#ffffffc7;border:1px solid #0f438c1f;gap:8px;padding:14px;display:grid}.toolbar-button--compact{min-height:34px;padding:7px 12px;font-size:.8rem}.team-actions{gap:12px;display:grid}.diagnostic-probe-list{display:grid}.diagnostic-probe{border-top:1px solid var(--line);gap:10px;padding:16px 0;display:grid}.diagnostic-probe__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.diagnostic-probe__title{color:var(--brand-deep);font-size:1rem;line-height:1.2}.diagnostic-probe__meta{color:var(--muted);letter-spacing:.03em;margin-top:6px;font-size:.82rem;font-weight:700}.diagnostic-probe__detail,.diagnostic-probe__result{color:var(--muted);line-height:1.58}.diagnostic-probe__result{font-size:.95rem}.maintenance-summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.maintenance-groups{gap:22px;display:grid}.maintenance-group{gap:12px;display:grid}.maintenance-group__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.maintenance-group__header h3{color:var(--brand-deep);font-size:1rem}.maintenance-group__header span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:800}.maintenance-group__rows{display:grid}.maintenance-row{border-top:1px solid var(--line);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border-bottom:none;border-left:none;border-right:none;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:16px 0;transition:background .14s,box-shadow .14s;display:grid}.maintenance-row:first-child{border-top:none}.maintenance-row--interactive:hover{background:#0f438c0f;box-shadow:inset 0 0 0 1px #0f438c14}.maintenance-row--selected{box-shadow:inset 3px 0 0 var(--brand-b);background:#0f438c1a}.maintenance-row__main{gap:7px;min-width:0;display:grid}.maintenance-row__title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.maintenance-row__headline{color:var(--brand-deep);font-size:1rem;font-weight:700}.maintenance-row__meta{color:var(--muted);line-height:1.55}.maintenance-row__aside{justify-items:end;gap:10px;min-width:110px;display:grid}.maintenance-row__aside div{text-align:right;gap:3px;display:grid}.maintenance-row__aside strong{color:var(--brand-deep);font-size:.95rem}.maintenance-row__aside-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:800}.copy-button{color:var(--ink);box-shadow:var(--shadow);cursor:pointer;background:#fffffff7;border:1px solid #0f438c24;padding:9px 12px;font-size:.8rem;font-weight:700;transition:border-color .14s,background .14s,box-shadow .14s}.copy-button:disabled{cursor:default;opacity:.58}.copy-button--copied{color:var(--ok);background:#15803d14;border-color:#15803d33}.copy-button--error{color:var(--danger);background:#b91c1c14;border-color:#b91c1c33}.empty-state{border-top:1px solid var(--line);color:var(--muted);padding:20px 0 4px;line-height:1.55}.route-board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;display:grid}.route-board--single{grid-template-columns:minmax(0,1fr)}.route-map-panel{gap:18px;display:grid}.route-map-panel__hero{background:linear-gradient(135deg,#0d3f9414,#5abdf814),#ffffffd1;border:1px solid #0f438c1f;justify-content:space-between;gap:18px;padding:20px;display:flex}.route-map-panel__hero-copy{gap:10px;max-width:760px;display:grid}.route-map-panel__eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:800}.route-map-panel__hero-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.route-map-panel__hero-title{font-size:clamp(1.45rem,2vw,1.9rem);line-height:1.05}.route-map-panel__hero-pill,.route-map-panel__hero-badge{letter-spacing:.08em;text-transform:uppercase;border:1px solid #0f438c29;width:fit-content;padding:9px 12px;font-size:.76rem;font-weight:800}.route-map-panel__hero-pill{background:linear-gradient(90deg, var(--brand-a), var(--brand-b));color:#fff}.route-map-panel__hero-description{color:var(--muted);max-width:720px}.route-map-panel__hero-badges{flex-wrap:wrap;place-content:flex-start flex-end;gap:10px;display:flex}.route-map-panel__hero-badge{color:var(--info);background:#ffffffe0}.route-map-panel__hero-badge--soft{color:var(--ink)}.route-map-panel__meta{gap:12px;display:grid}.route-map-panel__chips{flex-wrap:wrap;gap:12px;display:flex}.route-map-chip{background:linear-gradient(#2b8fe814,#0f438c08),#fffc;border:1px solid #0f438c24;gap:4px;min-width:120px;padding:12px 14px;display:grid;box-shadow:inset 0 1px #ffffffb3}.route-map-chip--warn{background:linear-gradient(#b453091a,#b453090a),#fffc;border-color:#b453092e}.route-map-chip__label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700}.route-map-panel__note{color:var(--muted);max-width:820px}.route-map-layout{grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr);align-items:start;gap:18px;display:grid}.route-map-canvas-shell,.route-map-side__section{background:#ffffffd1;border:1px solid #0f438c1f}.route-map-canvas-shell{gap:14px;padding:14px;display:grid}.route-map-canvas-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.route-map-canvas-toolbar__subtitle{color:var(--muted);margin-top:4px;font-size:.9rem}.route-map-canvas-toolbar__legend{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.route-map-canvas-toolbar__legend-item{color:var(--muted);background:#ffffffe6;border:1px solid #0f438c24;align-items:center;gap:8px;padding:8px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.route-map-canvas-toolbar__legend-line,.route-map-canvas-toolbar__legend-dot{flex:none;display:inline-block}.route-map-canvas-toolbar__legend-line{border-top:3px solid var(--brand-b);width:18px;height:0}.route-map-canvas-toolbar__legend-dot{background:linear-gradient(180deg, var(--brand-b), var(--brand-a));border-radius:50%;width:12px;height:12px;box-shadow:inset 0 0 0 2px #ffffffeb}.route-map-canvas{background:radial-gradient(circle at 0 0,#5abdf82e,#0000 28%),radial-gradient(circle at 100% 100%,#0d3f941f,#0000 32%),linear-gradient(#f8fcfffa,#e9f3fcfa);border:1px solid #0f438c1a;min-height:360px;position:relative;overflow:hidden}.route-map-google,.route-map-svg{width:100%;display:block}.route-map-google-shell{min-height:360px;position:relative}.route-map-google{min-height:360px}.route-map-svg{height:auto}.route-map-fallback{gap:14px;min-height:360px;padding:14px;display:grid}.route-map-fallback--overlay{background:radial-gradient(circle at 0 0,#5abdf829,#0000 28%),radial-gradient(circle at 100% 100%,#0d3f941a,#0000 32%),linear-gradient(#f8fcfff0,#e9f3fcf5);position:absolute;inset:0}.route-map-fallback__copy{background:#ffffffc7;border:1px solid #0f438c1f;gap:5px;padding:12px;display:grid}.route-map-svg__line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.82;stroke-width:6px}.route-map-stop__halo{fill:#2b8fe81f;stroke:#0d3f943d;stroke-width:2px}.route-map-stop__dot{stroke:#fffffff5;stroke-width:3px}.route-map-stop__label,.route-map-stop__title{fill:#fff;font-weight:800}.route-map-stop__label{font-size:.95rem}.route-map-stop__title{fill:var(--brand-deep);font-size:.8rem}.route-map-selected{background:linear-gradient(#0f438c0f,#0f438c08);border:1px solid #0f438c1f;gap:12px;padding:12px 14px;display:grid}.route-map-selected--muted{color:var(--muted)}.route-map-selected--warn{color:var(--warn);background:#b4530914;border-color:#b4530929}.route-map-selected__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.route-map-selected__pills{flex-wrap:wrap;gap:8px;display:flex}.route-map-selected__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.route-map-selected__meta{background:#ffffffb8;border:1px solid #0f438c1f;gap:4px;padding:10px 12px;display:grid}.route-map-selected__meta-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:800}.route-map-selected__meta-value{line-height:1.35}.route-map-side{gap:16px;display:grid}.route-map-side__section{gap:12px;padding:14px;display:grid}.route-map-side__title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.84rem;font-weight:800}.route-map-legend,.route-map-warning-list{gap:10px;display:grid}.route-map-legend__item{border-top:1px solid var(--line);gap:6px;padding-top:10px;display:grid}.route-map-legend__item:first-child{border-top:none;padding-top:0}.route-map-legend__header{align-items:center;gap:10px;display:flex}.route-map-legend__summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.route-map-legend__swatch{border:2px solid #ffffffe6;width:14px;height:14px;box-shadow:0 0 0 1px #0f438c2e}.route-map-legend__meter{background:#0f438c0f;border:1px solid #0f438c1a;height:8px;overflow:hidden}.route-map-legend__meter-fill{border-radius:inherit;height:100%}.route-map-legend__stats{flex-wrap:wrap;gap:8px;display:flex}.route-map-stat-pill{letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;align-items:center;gap:6px;width:fit-content;padding:7px 10px;font-size:.76rem;font-weight:800;display:inline-flex}.route-map-stat-pill--ok{color:var(--ok);background:#15803d14;border-color:#15803d24}.route-map-stat-pill--info{color:var(--info);background:#0f438c14;border-color:#0f438c24}.route-map-stat-pill--warn{color:var(--warn);background:#b4530914;border-color:#b4530929}.route-map-stat-pill--danger{color:var(--danger);background:#b91c1c14;border-color:#b91c1c29}.route-map-stat-pill--neutral{color:var(--ink);background:#ffffffbd;border-color:#0f438c1a}.route-map-warning{color:inherit;text-align:left;background:#b4530914;border:1px solid #b453092e;gap:5px;padding:12px;transition:border-color .12s,background .12s,transform .12s;display:grid}.route-map-warning--selected{background:#0f438c14;border-color:#0f438c33}button.route-map-warning{cursor:pointer}.route-map-warning:hover{background:#0f438c0f;border-color:#0f438c2e;transform:translateY(-1px)}.route-map-state{border:1px solid #0f438c1f;gap:8px;padding:14px;display:grid}.route-map-state--ok{background:#15803d0f;border-color:#15803d24}.route-map-state--empty{border-top:1px solid var(--line);border-bottom:none;border-left:none;border-right:none;padding:16px 0 2px}.route-column{align-content:start;align-self:start;gap:12px;min-width:0;display:grid}.route-column__stops{gap:12px;display:grid}.route-column__stops--split{grid-template-columns:repeat(2,minmax(280px,1fr));align-items:start;column-gap:22px}.route-column__stop-stack{gap:12px;display:grid}.route-column__title{border-bottom:1px solid var(--line);padding-bottom:10px;font-size:1.03rem;font-weight:800}.route-stop{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;padding:13px 0;display:flex}.route-stop>div:first-child{flex:auto;min-width:0}.route-stop strong{overflow-wrap:anywhere;line-height:1.4;display:block}.route-stop__eyebrow{color:var(--warn);letter-spacing:.08em;text-transform:uppercase;margin-top:6px;font-size:.72rem;font-weight:800;display:inline-flex}.route-stop__badges{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:flex-start;gap:8px;display:flex}.route-stop__badges .status-badge{flex:none;align-self:flex-start}.route-exception-panel{background:linear-gradient(135deg,#0d3f940d,#5abdf80a),#ffffffeb;border:1px solid #0f438c29;gap:14px;margin-top:10px;padding:16px;display:grid}.route-exception-panel__header{justify-content:space-between;gap:16px;display:flex}.route-exception-panel__copy,.route-exception-panel__meta,.route-exception-form{gap:8px;display:grid}.route-exception-panel__copy{min-width:0}.route-exception-panel__eyebrow,.route-exception-form__label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;font-weight:800}.route-exception-panel__meta{text-align:right;align-content:start;justify-items:end;min-width:150px}.route-exception-form__field{gap:8px;display:grid}.route-exception-form textarea{width:100%;min-height:96px;color:var(--ink);resize:vertical;background:#fffffff5;border:1px solid #0f438c29;padding:12px 14px}.route-exception-form__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.route-exception-panel__message{border:1px solid #0f438c24;padding:10px 12px;font-weight:600}.route-exception-panel__message--ok{color:var(--ok);background:#15803d14;border-color:#15803d2e}.route-exception-panel__message--danger{color:var(--danger);background:#b91c1c14;border-color:#b91c1c2e}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.auth-screen,.access-state{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:28px;min-height:100vh;padding:36px;display:grid}.auth-hero,.auth-card,.access-state__panel{background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #0f438c1f}.auth-hero{color:#fff;background:linear-gradient(140deg,#10345bfa,#2b8fe8eb,#5abdf8e0);align-content:end;gap:16px;min-height:540px;padding:36px;display:grid}.auth-hero__eyebrow,.auth-card__eyebrow,.access-state__eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:700}.auth-hero__title,.access-state__title{font-size:clamp(2rem,3vw,3rem);line-height:1.05}.auth-hero__description,.access-state__description{color:#ffffffeb;max-width:620px}.auth-hero__bullets{color:#ffffffeb;gap:10px;margin-top:8px;display:grid}.auth-card,.access-state__panel{align-content:center;gap:16px;padding:36px;display:grid}.auth-card__title{font-size:2.1rem;line-height:1.06}.auth-card__description{color:var(--muted);line-height:1.55}.auth-form{gap:18px;margin-top:8px;display:grid}.auth-field{color:var(--muted);gap:9px;font-size:.92rem;display:grid}.auth-input{background:var(--panel-strong);min-height:48px;color:var(--ink);border:1px solid #0f438c24;padding:14px 16px}.auth-status{border:1px solid var(--line);padding:12px 14px}.auth-status--error{color:var(--danger);background:#b91c1c0f;border-color:#b91c1c33}.auth-status--info{color:var(--info);background:#0f438c0f;border-color:#0f438c29}.auth-actions{flex-wrap:wrap;gap:10px;display:flex}.auth-action--secondary{border-color:var(--line);color:var(--ink);background:#ffffffeb}.access-state{grid-template-columns:1fr;place-items:center}.error-screen{place-items:center;min-height:100vh;padding:32px;display:grid}.error-panel{background:var(--panel);width:min(680px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #0f438c1f;gap:16px;padding:36px;display:grid}.sidebar__link:focus-visible,.topbar__button:focus-visible,.auth-action:focus-visible,.toolbar-button:focus-visible,.copy-button:focus-visible,.toolbar-input:focus-visible,.toolbar-select:focus-visible,.topbar__select:focus-visible,.auth-input:focus-visible,.table-row--interactive:focus-visible,.route-stop--interactive:focus-visible,.filter-pill--button:focus-visible,.active-filter-chip:focus-visible,button.route-map-warning:focus-visible{outline-offset:2px;outline:3px solid #2b8fe852}.topbar__button:hover,.auth-action:hover,.toolbar-button:hover,.copy-button:hover{transform:translateY(-1px);box-shadow:0 22px 42px #0f234024}.error-panel__eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:700}.error-panel__title{font-size:clamp(2rem,3vw,3.1rem);line-height:1.02}.error-panel__description{color:var(--muted);line-height:1.55}.error-panel__detail{color:var(--danger);word-break:break-word;background:#b91c1c0f;border:1px solid #b91c1c33;padding:12px 14px}.error-actions{flex-wrap:wrap;gap:10px;display:flex}.access-state__panel{max-width:720px}.access-state__description{color:var(--muted)}@media (max-width:1180px){.dashboard-app{grid-template-columns:1fr}.sidebar{gap:18px;min-height:auto;position:static}.sidebar__group--footer{margin-top:0}.sidebar__nav{grid-template-columns:repeat(4,minmax(0,1fr))}.topbar,.overview-grid,.detail-grid,.metric-grid,.route-map-layout,.settings-grid,.route-board,.report-launchpad-grid--top,.auth-screen{grid-template-columns:1fr}}@media (max-width:820px){.dashboard-main-shell{padding:18px}.page-header,.hero-panel,.auth-actions,.toolbar-actions,.route-map-panel__hero,.route-exception-panel__header{flex-direction:column;align-items:flex-start}.topbar,.route-map-selected__grid{grid-template-columns:1fr}.sidebar__nav{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:16px}.topbar__toolbar,.topbar__utility,.topbar__profile,.topbar__search-bar,.topbar__select-wrap,.topbar__business-card,.topbar__button{width:100%}.table-head{display:none}.table-row,.table-shell--customers .table-row,.table-shell--jobs .table-row,.table-shell--reports .table-row,.table-shell--service-stop-report .table-row,.table-shell--work-order-report .table-row,.table-shell--skipped-services-report .table-row,.table-shell--time-on-site-report .table-row,.table-shell--gps-check-ins-report .table-row,.table-shell--chemical-summary-report .table-row,.table-shell--chemical-detail-report .table-row,.table-shell--team .table-row,.route-stop,.split-row,.report-launchpad-grid{grid-template-columns:1fr}.customer-focus-panel__actions{justify-items:start}.customer-report-row{grid-template-columns:1fr}.customer-report-row__date{white-space:normal}.report-focus-panel__actions{justify-items:start}.report-delivery-row,.communication-readiness-row,.activity-timeline__event-head{grid-template-columns:1fr}.activity-timeline__event-aside{text-align:left;justify-items:start;min-width:0}.job-focus-panel__actions,.reminder-focus-panel__actions{justify-items:start}.route-column__stops--split{grid-template-columns:1fr}.topbar__select{min-width:100%}.split-row__aside{justify-items:start}.overview-inline-links{justify-content:flex-start}.route-exception-panel__meta{text-align:left;justify-items:start}}
