.routeNavigationProgress{position:fixed;inset:0 0 auto;z-index:1600;pointer-events:none}.routeNavigationTrack{display:block;height:4px;background:#dbe9eb;overflow:hidden}.routeNavigationTrack:after{content:"";display:block;width:35%;height:100%;background:#245f61;animation:routeProgressSlide 1.2s ease-in-out infinite}.routeNavigationLabel{position:absolute;top:max(12px,env(safe-area-inset-top));right:16px;padding:9px 13px;border:1px solid #d4e3e5;border-radius:20px;background:#fff;color:#173c45;font-size:13px;font-weight:700;box-shadow:0 3px 14px #173c4514}.routeLoading{max-width:1160px;min-height:70vh;margin:0 auto;padding:42px 30px 120px}.routeLoadingHeading{font-size:15px;font-weight:700;color:#61747c;margin:0 0 24px}.routeLoadingLine{height:16px;border-radius:6px;background:#e5ecef;margin:0 0 20px}.routeLoadingTitle{width:45%;height:28px}.routeLoadingSubtitle{width:65%}.routeLoadingCards{display:grid;grid-template-columns:1fr 1fr;grid-gap:22px;gap:22px;margin-top:32px}.routeLoadingCard{padding:28px;border:1px solid #dce4e7;border-radius:14px;background:#fff}.routeLoadingSkeleton{animation:routeLoadingPulse 1.4s ease-in-out infinite alternate}@keyframes routeProgressSlide{0%{transform:translateX(-100%)}to{transform:translateX(385%)}}@keyframes routeLoadingPulse{0%{opacity:.65}to{opacity:1}}@media(max-width:900px){.routeLoading{padding:88px 20px 120px}}@media(max-width:700px){.routeLoadingCards{grid-template-columns:1fr}.routeLoadingTitle{width:65%}.routeLoadingSubtitle{width:90%}}@media(prefers-reduced-motion:reduce){.routeLoadingSkeleton,.routeNavigationTrack:after{animation:none}}.platformMaintenance{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:rgba(10,10,16,.86)}.platformMaintenance>div{max-width:480px;padding:30px;border-radius:16px;background:#fff;text-align:center}.platformMaintenance strong{font-size:24px}.platformMaintenance button{border:0;border-radius:9px;padding:11px 15px;background:#11121b;color:#fff;font-weight:800}.platformUpdateReady{position:fixed;z-index:9997;left:16px;right:16px;bottom:142px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:#edf6ff;color:#123a5b;box-shadow:0 8px 30px rgba(0,0,0,.18)}.platformUpdateReady span{display:grid;grid-gap:2px;gap:2px;font-size:12px}.platformUpdateReady button{flex:0 0 auto;border:1px solid;border-radius:8px;padding:8px 10px;background:transparent;color:inherit;font-weight:800}.nativeUpdateBanner{position:fixed;z-index:9998;left:16px;right:16px;bottom:82px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:#fff5cf;color:#4d3c00;box-shadow:0 8px 30px rgba(0,0,0,.18)}.nativeUpdateBanner span{display:grid;grid-gap:2px;gap:2px;font-size:12px}.nativeUpdateBanner a{white-space:nowrap;font-weight:900;color:inherit}.nativeUpdateRequired{background:#ffe3e3;color:#721f1f}.mobileAppMenu{display:block;position:fixed;top:max(14px,env(safe-area-inset-top));left:14px;z-index:1200}.mobileAppMenuDashboard{display:none}.mobileAppMenu>summary{list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 14px;border:1px solid rgba(15,23,32,.12);border-radius:999px;background:rgba(255,255,255,.96);color:#111827;box-shadow:0 8px 24px rgba(15,23,32,.14);font-weight:850;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobileAppMenu>summary::-webkit-details-marker{display:none}.mobileMenuIcon{font-size:20px;line-height:1}.mobileAppMenu[open]:before{content:"";position:fixed;inset:0;background:rgba(15,23,32,.34);z-index:-1}.mobileAppMenuPanel{margin-top:10px;width:min(330px,calc(100vw - 28px));max-height:calc(100vh - 88px - env(safe-area-inset-top));overflow-y:auto;border:1px solid #dfe5ea;border-radius:18px;background:#fff;box-shadow:0 20px 55px rgba(15,23,32,.22);padding:16px}.mobileAppMenuHead{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:4px 4px 12px;border-bottom:1px solid #edf0f2}.mobileAppMenuHead strong{font-size:20px}.mobileAppMenuHead span{color:#66717d;font-size:11px;font-weight:800;text-transform:capitalize}.mobileAppMenu nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;padding:14px 0}.mobileAppMenu nav a{min-height:44px;display:flex;align-items:center;padding:10px 12px;border:1px solid #e1e6ea;border-radius:11px;background:#f8fafb;color:#26323d;font-size:13px;font-weight:800}.mobileAppMenu nav a:active{background:#eef3f6}.mobileMenuSignout{width:100%;background:#26323d}@media (max-width:900px){.mobileAppMenuDashboard{display:block}.dashboardContent{padding-top:78px!important}.rosterCard .calendarHead .eyebrow,.scheduleShell .workflowIntro{display:none}}@media (max-width:520px){.mobileAppMenu nav{grid-template-columns:1fr}}@media print{.mobileAppMenu{display:none!important}}@media screen{body.xelyvoColorTheme{--xelyvo-blue:#2563eb;--xelyvo-blue-ink:#1d4ed8;--xelyvo-navy:#173c78;--xelyvo-teal:#0f766e;--xelyvo-purple:#6d28d9;--xelyvo-amber:#92400e;--xelyvo-green:#166534;--xelyvo-red:#b91c1c;--xelyvo-blue-soft:#eff6ff;--xelyvo-teal-soft:#ecfdf5;--xelyvo-purple-soft:#f5f3ff;--xelyvo-amber-soft:#fffbeb;--xelyvo-green-soft:#dcfce7;--xelyvo-red-soft:#fef2f2;--xelyvo-border:#cfdded;background:#f0f5fc;color:#172b4d}body.xelyvoColorTheme .sidebar{background:var(--xelyvo-navy)}body.xelyvoColorTheme .sidebar .navItem{color:#e0ecff;opacity:1}body.xelyvoColorTheme .sidebar .navItem:hover{background:#214b88}body.xelyvoColorTheme .sidebar .navItem.active{background:var(--xelyvo-blue);color:#fff}body.xelyvoColorTheme .sidebarFoot{color:#d7e7ff}body.xelyvoColorTheme .signoutButton{background:#214b88}body.xelyvoColorTheme.hasGlobalAppHeader:before{background:#fff;border-bottom-color:#b9cff4}body.xelyvoColorTheme :is(.globalBackButton,.globalSearchField){border-color:#c1d5f2;box-shadow:0 5px 18px rgb(23 60 120/10%)}body.xelyvoColorTheme .globalBackButton{color:var(--xelyvo-blue-ink)}body.xelyvoColorTheme .mobileAppMenu>summary{background:var(--xelyvo-blue);border-color:var(--xelyvo-blue);color:#fff}body.xelyvoColorTheme .mobileAppMenuPanel{border-color:var(--xelyvo-border)}body.xelyvoColorTheme .mobileAppMenuHead{color:var(--xelyvo-navy);border-bottom-color:#c1d5f2}body.xelyvoColorTheme .mobileAppMenu nav a{background:var(--xelyvo-blue-soft);border-color:#c1d5f2;color:var(--xelyvo-navy)}body.xelyvoColorTheme .mobileAppMenu nav a:is(:hover,:active){background:#dbeafe}body.xelyvoColorTheme :is(.buttonLink,.primaryLink,.dashboardClockButton,.jobNextActionButton,.fieldPrimaryButton,.fieldReceiptSave,.intakeForm>button,.jobStatusForm>button,.jobTitleFormActions>button[type=submit],.commentEditActions>button[type=submit]){background:var(--xelyvo-blue);border-color:var(--xelyvo-blue);color:#fff}body.xelyvoColorTheme :is(.textLink,.jobBackButton,.jobTitleEditButton,.commentEditButton){color:var(--xelyvo-blue-ink)}body.xelyvoColorTheme :is(.jobTab.active,.viewToggleActive,.activityFilter.active){background:var(--xelyvo-blue);border-color:var(--xelyvo-blue);color:#fff}body.xelyvoColorTheme .eyebrow{color:#365e94}body.xelyvoColorTheme :is(.workflowTopbar,.dashboardTopbar,.topbar) h1{color:var(--xelyvo-navy)}body.xelyvoColorTheme :is(input,select,textarea){accent-color:var(--xelyvo-blue)}body.xelyvoColorTheme :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--xelyvo-blue);outline-offset:3px}body.xelyvoColorTheme :is(.panel,.formCard,.listCard,.calendarCard,.dashboardCard,.workflowBoard,.jobInfoCard,.jobComplaintCard,.jobDetailSection,.settingsSection,.invoiceCard,.expenseLedgerPanel,.fieldJobCard,.fieldActionCard,.fieldVisitCard){border-color:var(--xelyvo-border);box-shadow:0 5px 20px rgb(23 60 120/6%)}body.xelyvoColorTheme :is(.dashboardCardHead,.workflowBoardTitle,.calendarHead,.jobSectionHead,.expenseLedgerHead){background:var(--xelyvo-blue-soft);border-bottom-color:#d6e4f7;color:var(--xelyvo-navy)}body.xelyvoColorTheme :is(.panelHead,.listHead,.settingsSectionHead){border-bottom-color:#b9cff4}body.xelyvoColorTheme :is(.panelHead,.listHead,.settingsSectionHead) h2{color:var(--xelyvo-navy)}body.xelyvoColorTheme .dashboardCardHead{border-radius:13px 13px 0 0}body.xelyvoColorTheme .workflowSummaryCard{border-color:#d6e4f7}body.xelyvoColorTheme .workflowQuotes{background:var(--xelyvo-purple-soft)}body.xelyvoColorTheme .workflowJobs{background:var(--xelyvo-blue-soft)}body.xelyvoColorTheme .workflowInvoices{background:var(--xelyvo-amber-soft)}body.xelyvoColorTheme .workflowToday{background:#ecfeff}body.xelyvoColorTheme .workflowQuotes:before{background:var(--xelyvo-purple)}body.xelyvoColorTheme .workflowJobs:before{background:var(--xelyvo-blue)}body.xelyvoColorTheme .workflowInvoices:before{background:#d97706}body.xelyvoColorTheme .workflowToday:before{background:var(--xelyvo-teal)}body.xelyvoColorTheme .workflowQuotes .workflowCardLabel{color:var(--xelyvo-purple)}body.xelyvoColorTheme .workflowJobs .workflowCardLabel{color:var(--xelyvo-blue-ink)}body.xelyvoColorTheme .workflowInvoices .workflowCardLabel{color:var(--xelyvo-amber)}body.xelyvoColorTheme .workflowToday .workflowCardLabel{color:var(--xelyvo-teal)}body.xelyvoColorTheme .workflowCardHeadline strong{color:#172b4d}body.xelyvoColorTheme .workflowSummaryCard:hover{box-shadow:inset 0 0 0 2px #9bbbf4}body.xelyvoColorTheme .stats article{border-color:var(--xelyvo-border);border-top-color:var(--xelyvo-blue);box-shadow:inset 0 3px var(--xelyvo-blue),0 5px 20px rgb(23 60 120/6%)}body.xelyvoColorTheme .stats article strong{color:var(--xelyvo-navy)}body.xelyvoColorTheme :is(.quickAction,.todayVisitRow){background:var(--xelyvo-blue-soft);border-color:#d6e4f7}body.xelyvoColorTheme .techAvatar{background:var(--xelyvo-teal)}body.xelyvoColorTheme .activityAvatar-quote{background:#ede9fe;color:var(--xelyvo-purple)}body.xelyvoColorTheme :is(.activityAvatar-job,.activityAvatar-visit,.activityAvatar-billing){background:#dbeafe;color:var(--xelyvo-blue-ink)}body.xelyvoColorTheme .activityAvatar-file{background:#ccfbf1;color:var(--xelyvo-teal)}body.xelyvoColorTheme :is(.appointmentRowActive,.appointmentRowScheduled):before{background:var(--xelyvo-blue)}body.xelyvoColorTheme .appointmentRowCompleted:before{background:#16a34a}body.xelyvoColorTheme .appointmentRowOverdue:before{background:var(--xelyvo-red)}body.xelyvoColorTheme :is(.appointmentRowActive .appointmentStatusPill,.appointmentRowScheduled .appointmentStatusPill,.fieldState-in_progress,.fieldState-scheduled,.fieldVisit-in_progress .fieldPill,.invoiceCardStatus-sent,.quoteStatus-sent,#jobs-in_progress .jobStatus,#jobs-scheduled .jobStatus){background:#dbeafe;color:#1e40af}body.xelyvoColorTheme :is(.appointmentRowCompleted .appointmentStatusPill,.fieldState-completed,.fieldVisit-completed .fieldPill,.visitDone,.invoiceCardStatus-paid,.quoteStatus-approved,.status-matched,#jobs-completed .jobStatus){background:var(--xelyvo-green-soft);color:var(--xelyvo-green)}body.xelyvoColorTheme :is(.invoiceCardStatus-partially_paid,.status-pending,#jobs-waiting_estimate .jobStatus,#jobs-awaiting_approval .jobStatus,#jobs-waiting_material .jobStatus,.jobNextAction-attention){background:var(--xelyvo-amber-soft);border-color:#f2cc7b}body.xelyvoColorTheme :is(.invoiceCardStatus-partially_paid,.status-pending,#jobs-waiting_estimate .jobStatus,#jobs-awaiting_approval .jobStatus,#jobs-waiting_material .jobStatus){color:var(--xelyvo-amber)}body.xelyvoColorTheme :is(.appointmentRowOverdue .appointmentStatusPill,.priority-emergency,.quoteStatus-declined,.quoteStatus-void){background:#fee2e2;color:var(--xelyvo-red)}body.xelyvoColorTheme .invoiceCardPastDue{border-color:#f2b7b7}body.xelyvoColorTheme .jobNextAction-active{background:var(--xelyvo-blue-soft);border-color:#bdd5fd}body.xelyvoColorTheme .jobNextAction-active:before{background:var(--xelyvo-blue)}body.xelyvoColorTheme .jobNextAction-success{background:var(--xelyvo-teal-soft);border-color:#a9ded1}body.xelyvoColorTheme .jobNextAction-success:before{background:var(--xelyvo-teal)}body.xelyvoColorTheme :is(.rosterTechHead,.calendarWeekdays,.rosterCorner,.rosterTime){background:var(--xelyvo-blue-soft);border-color:#d6e4f7}body.xelyvoColorTheme .rosterUnassignedHead{background:var(--xelyvo-amber-soft)}body.xelyvoColorTheme .fieldShell{background:#f0f5fc}body.xelyvoColorTheme .fieldNextCard{background:var(--xelyvo-navy)}body.xelyvoColorTheme .fieldNextCard .fieldPrimaryButton{background:#fff;color:var(--xelyvo-blue-ink)}body.xelyvoColorTheme .fieldVisit-in_progress{border-color:var(--xelyvo-blue)}body.xelyvoColorTheme .fieldBottomNav{border-color:#b9cff4;background:#fff;box-shadow:0 8px 28px rgb(23 60 120/16%)}body.xelyvoColorTheme .fieldBottomNav a{color:#4c6482}body.xelyvoColorTheme .fieldBottomNav a.active{color:var(--xelyvo-blue-ink)}body.xelyvoColorTheme .fieldBottomNav a.active>span{background:var(--xelyvo-blue);color:#fff}body.xelyvoColorTheme :is(.fieldCrewAvatar,.fieldStep>span){background:var(--xelyvo-teal)}body.xelyvoColorTheme .fieldChoice input:checked+span{background:var(--xelyvo-blue);border-color:var(--xelyvo-blue);color:#fff}body.xelyvoColorTheme .fieldSavedReport{background:var(--xelyvo-teal-soft);border-color:#a9ded1}body.xelyvoColorTheme .fieldClientInfo{background:var(--xelyvo-blue-soft);border-color:#c1d5f2}body.xelyvoColorTheme .commentThreadOriginal{border-color:#c1d5f2}body.xelyvoColorTheme .commentThreadOwn{background:#e8f5ff}}.dashboardSearchControl{position:relative;display:flex;align-items:center;gap:8px;min-width:360px;padding:6px 8px!important;color:inherit!important}.dashboardSearchControl input{flex:1 1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:#28323b}.dashboardSearchControl input::placeholder{color:#7f8993}.dashboardSearchControl>button{border:0;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:800;cursor:pointer;background:#17232c;color:#fff}.dashboardSearchControl>span{font-size:17px;color:#6d7781}.searchSuggestionMenu{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #d7dfe5;border-radius:12px;box-shadow:0 14px 38px rgba(23,35,44,.16);padding:6px;max-height:420px;overflow:auto}.searchSuggestionMenu[hidden]{display:none}.searchSuggestionItem{width:100%;display:grid;grid-template-columns:72px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;text-align:left;border:0;background:transparent;border-radius:9px;padding:10px 11px;cursor:pointer;color:#27333c}.searchSuggestionItem.active,.searchSuggestionItem:hover{background:#f1f5f7}.searchSuggestionType{display:inline-flex;justify-content:center;align-items:center;border-radius:999px;padding:5px 7px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;background:#eef2f4;color:#5b6670}.searchSuggestionType.type-job{background:#edf5ef;color:#517a5b}.searchSuggestionType.type-customer{background:#eef5f7;color:#397688}.searchSuggestionType.type-invoice{background:#f0f1f7;color:#596a91}.searchSuggestionType.type-quote{background:#f8efec;color:#995943}.searchSuggestionText{display:grid;grid-gap:3px;gap:3px;min-width:0}.searchSuggestionText strong{font-size:12px}.searchSuggestionText small,.searchSuggestionText strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchSuggestionText small{font-size:11px;color:#6f7a84}.searchSuggestionEmpty{padding:13px 12px;color:#707b85;font-size:12px}.dashboardSearchControl:focus-within{border-color:#9eb7c3;box-shadow:0 0 0 3px rgba(36,119,138,.08)}@media(max-width:900px){.dashboardSearchHint.dashboardSearchControl{display:flex;min-width:220px}}@media(max-width:640px){.dashboardSearchHint.dashboardSearchControl{width:100%;min-width:0}.searchSuggestionMenu{left:-2px;right:-2px}.searchSuggestionItem{grid-template-columns:64px minmax(0,1fr)}}.dashboardSearchHint.dashboardSearchControl{min-width:460px;min-height:52px;padding:7px 12px!important;border:1px solid #cfd9e0;border-radius:13px;background:#fff;box-shadow:0 2px 7px rgba(15,23,32,.05)}.dashboardSearchControl input{font-size:15px}.dashboardSearchControl>button{padding:9px 13px;font-size:13px}.dashboardSearchControl>span{font-size:20px}.searchSuggestionMenu{border-radius:14px;box-shadow:0 18px 42px rgba(23,35,44,.18)}@media(max-width:1120px){.dashboardSearchHint.dashboardSearchControl{min-width:340px}}@media(max-width:900px){.dashboardTopbar{align-items:flex-start}.dashboardTopActions{flex-wrap:wrap;justify-content:flex-end}.dashboardSearchHint.dashboardSearchControl{min-width:280px}}