@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{min-width:320px;min-height:100svh;margin:0}#root{text-align:left;box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--bg-base:#1a1f35;--bg-surface:#222842;--bg-card:#2a3150;--bg-elevated:#323a5e;--bg-overlay:#1a1f35d9;--fg-primary:#eef2ff;--fg-secondary:#a0aac8;--fg-muted:#5a6490;--fg-inverse:#1a1f35;--border:#3a4468;--border-subtle:#2a3150;--border-strong:#4d5a80;--accent:#2c9fd6;--accent-hover:#1a7ab0;--accent-subtle:#2c9fd61f;--accent-fg:#fff;--status-pass:#28a99e;--status-pass-bg:#28a99e1a;--status-pass-border:#28a99e4d;--status-warn:#e8944a;--status-warn-bg:#e8944a1a;--status-warn-border:#e8944a4d;--status-missed:#e05c7a;--status-missed-bg:#e05c7a1a;--status-missed-border:#e05c7a4d;--status-blocked:#c0394f;--status-blocked-bg:#c0394f26;--status-blocked-border:#c0394f66;--status-pending:#94a3b8;--status-pending-bg:#94a3b814;--status-pending-border:#94a3b833;--font-ui:"IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "Cascadia Code", "Fira Code", ui-monospace, monospace;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--shadow-card:0 1px 3px #0006, 0 0 0 1px #3a446873;--shadow-modal:0 18px 48px #0000007a, 0 0 0 1px var(--border-strong)}.app-shell{color:#151a23;text-align:left;background:#f6f7f9;min-height:100svh;overflow-x:hidden}.auth-shell{color:#151a23;background:#f6f7f9;place-items:center;min-height:100svh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #d9dde5;border-radius:8px;width:min(460px,100%);padding:20px;box-shadow:0 18px 50px #0f172a1a}.auth-card h1{color:#111827;margin:4px 0 18px;font-size:26px;line-height:1.15}.auth-form{gap:12px;display:grid}.app-header{background:#fff;border-bottom:1px solid #d9dde5;justify-content:space-between;align-items:center;gap:16px;min-height:34px;padding:4px 16px;display:flex}.app-header h1{color:#111827;letter-spacing:0;margin:0;font-size:14px;font-weight:700;line-height:1.2}.role-nav{background:#fff;border-bottom:1px solid #d9dde5;gap:8px;padding:10px 24px;display:flex}.role-nav button{color:#151a23;background:#f9fafb}.role-nav button.is-active{background:#eff6ff;border-color:#2563eb}.eyebrow{color:#526070;letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:700}.workspace-grid{box-sizing:border-box;grid-template-columns:260px minmax(0,1fr) 320px;gap:16px;width:100%;padding:16px;display:grid}@media (width>=1600px){.app-header,.role-nav,.workspace-grid{padding-left:32px;padding-right:32px}.manager-workspace{grid-template-columns:minmax(360px,460px) minmax(720px,1.25fr) minmax(360px,460px)}.dispatch-workspace{grid-template-columns:minmax(280px,340px) minmax(760px,1fr) minmax(340px,420px)}.customer-workspace{grid-template-columns:minmax(320px,400px) minmax(820px,1.2fr) minmax(360px,460px)}}.sidebar-panel,.center-panel,.right-panel{min-width:0}.session-form,.workflow-panel,.dashboard-panel,.manager-overview-panel,.projects-panel,.project-detail-panel,.customer-facing-panel,.technician-recent-panel,.customer-health-panel,.improvement-audit-panel,.persona-survey-panel,.ops-exceptions-panel{min-width:0;overflow:hidden}.sidebar-panel,.session-form,.workflow-panel,.empty-panel,.dashboard-panel,.manager-overview-panel,.projects-panel,.project-detail-panel,.customer-facing-panel,.technician-recent-panel,.customer-health-panel,.improvement-audit-panel,.persona-survey-panel,.ops-exceptions-panel,.score-panel,.handoff-panel,.manager-snapshot-panel,.audit-panel{background:#fff;border:1px solid #d9dde5;border-radius:8px;padding:14px}.center-panel,.right-panel{align-content:start;gap:16px;display:grid}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-heading h2{letter-spacing:0;margin:0;font-size:18px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.conditional-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:12px;display:grid}.field-row,.compact-field{gap:6px;display:grid}.field-row span,.compact-field span,.check-row span{color:#4a5565;font-size:13px;font-weight:650}.field-row input,.field-row select,.field-row textarea,.compact-field select{box-sizing:border-box;color:#151a23;width:100%;font:inherit;background:#fff;border:1px solid #c9d0dc;border-radius:6px;padding:9px 10px}.dispatcher-login{grid-template-columns:repeat(auto-fit,minmax(160px,max-content));justify-content:end;align-items:end;gap:10px;display:grid}.signed-in-box{background:#f9fafb;border:1px solid #d9dde5;border-radius:6px;gap:2px;padding:7px 10px;display:grid}.signed-in-box span,.signed-in-box small{color:#526070;font-size:12px;font-weight:650}.signed-in-box strong{overflow-wrap:anywhere;font-size:13px}.work-mode-box select{color:#151a23;width:100%;font:inherit;background:#fff;border:1px solid #c9d0dc;border-radius:6px;padding:6px 8px;font-size:13px}.dispatcher-roster{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.dispatcher-roster button{color:#151a23;background:#f9fafb;padding:6px 9px;font-size:13px}.dispatcher-roster button span{color:#526070;font-size:11px;font-weight:650;display:block}.dispatcher-roster button.is-active{background:#eff6ff;border-color:#2563eb}.secondary-button{color:#151a23;background:#f9fafb}.search-field{margin-bottom:12px}.check-row{align-items:center;gap:8px;min-height:40px;display:flex}button{color:#fff;cursor:pointer;font:inherit;background:#172033;border:1px solid #b9c2d0;border-radius:6px;padding:9px 12px;font-weight:650}button:hover:not(:disabled){background:#26324a}button:disabled{cursor:not-allowed;opacity:.48}.session-list,.roster-list,.filter-list,.steps-list,.audit-log{gap:10px;display:grid}.session-tab,.roster-card,.filter-list button{color:#151a23;text-align:left;background:#f9fafb;border-color:#d9dde5;gap:2px;width:100%;display:grid}.session-tab.is-active,.roster-card.is-active,.filter-list button.is-active{background:#eff6ff;border-color:#2563eb}.admin-panel{background:#fff;border:1px solid #b8c2d1;border-radius:6px;gap:10px;margin-top:14px;padding:12px;display:grid}.admin-panel .panel-heading h2{color:#151a23}.admin-form,.profile-list{gap:10px;display:grid}.smartsheet-panel,.customer-config-panel{border-top:1px solid #d9dde5;gap:10px;margin-top:4px;padding-top:12px;display:grid}.customer-config-panel .admin-form{background:#f9fafb;border:1px solid #e4e8ef;border-radius:8px;padding:10px}.preference-grid{background:#fff;border:1px solid #e4e8ef;border-radius:8px;gap:8px;padding:10px;display:grid}.preference-grid strong{color:#111827;font-size:13px}.config-summary{flex-wrap:wrap;gap:6px;display:flex}.config-summary span{color:#3b4656;background:#fff;border:1px solid #d9dde5;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:650}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.metric-card{background:#fbfcfe;border:1px solid #d9dde5;border-radius:10px;gap:5px;padding:12px;display:grid}.metric-card span,.metric-card small,.customer-health-grid span,.next-action-box span,.next-action-box small,.customer-playbook-strip span,.playbook-list span,.column-list span,.column-list small{color:#526070;font-size:12px;font-weight:650}.metric-card strong{color:#111827;font-size:24px;line-height:1}.project-form-panel,.suggestion-list,.project-detail-header,.decision-grid,.project-list,.survey-grid{gap:12px;display:grid}.suggestion-list{border-top:1px solid #d9dde5;margin-top:14px;padding-top:14px}.suggestion-list strong,.column-list strong,.customer-playbook-strip strong,.playbook-list strong,.readiness-list strong{color:#111827;font-size:13px}.decision-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.decision-grid article{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #d9dde5;border-radius:10px;padding:12px}.decision-grid strong,.project-card strong,.survey-row strong,.project-detail-header strong{color:#111827}.decision-grid p,.project-card p,.project-detail-header p{color:#526070;margin:4px 0 0;font-size:13px;line-height:1.35}.project-list{margin-top:14px}.project-card{cursor:pointer;background:#fff;border:1px solid #d9dde5;border-left:5px solid #22c55e;border-radius:12px;grid-template-columns:minmax(220px,1.35fr) repeat(8,minmax(88px,.55fr)) auto;align-items:center;gap:10px;padding:12px;display:grid}.project-card:hover,.project-card.is-active{border-color:#93c5fd #93c5fd #93c5fd #2563eb;box-shadow:0 12px 30px #2563eb14}.project-card span{color:#3b4656;font-size:12px;font-weight:650}.project-card .secondary-button{min-height:34px}.project-card.risk-yellow{border-left-color:#eab308}.project-card.risk-red{border-left-color:#ef4444}.survey-panel{border-top:1px solid #d9dde5;margin-top:16px;padding-top:16px}.survey-row{background:#fbfcfe;border:1px solid #e4e8ef;border-radius:10px;grid-template-columns:minmax(180px,1fr) minmax(120px,.45fr) 52px;align-items:center;gap:12px;padding:10px 12px;display:grid}.survey-row span{color:#526070;font-size:12px;line-height:1.35;display:block}.survey-row meter{width:100%}.survey-row b{color:#111827;text-align:right;font-size:14px}.project-detail-header .secondary-button,.linked-dispatch-button{width:fit-content}.project-link-controls{background:#fbfcfe;border:1px solid #e4e8ef;border-radius:8px;gap:8px;margin-top:10px;padding:10px;display:grid}.project-link-controls strong{color:#111827;font-size:13px}.project-link-controls span{color:#526070;font-size:12px;font-weight:650}.project-link-row,.linked-dispatch-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-link-row select{flex:220px;min-width:min(100%,280px)}.linked-dispatch-button{color:#151a23;text-align:left;background:#f8fafc;border:1px solid #d9dde5;border-radius:8px;padding:7px 9px}.route-loading-panel{color:#526070;background:#fff;border:1px solid #d9dde5;border-radius:10px;margin:16px;padding:18px}.improvement-audit-list,.persona-survey-list{gap:10px;display:grid}.improvement-audit-card,.persona-survey-card{background:#fbfcfe;border:1px solid #e4e8ef;border-left:5px solid #22c55e;border-radius:10px;gap:8px;padding:10px;display:grid}.improvement-audit-card.audit-amber{border-left-color:#eab308}.improvement-audit-card.audit-red{border-left-color:#ef4444}.improvement-audit-card strong,.persona-survey-card strong{color:#111827}.improvement-audit-card span,.improvement-audit-card p,.persona-survey-card span,.persona-survey-card p,.persona-survey-card small{color:#526070;margin:0;font-size:12px;line-height:1.35}.improvement-audit-card b,.persona-survey-card b{color:#111827;font-size:18px}.persona-survey-card meter{width:100%}.customer-list,.customer-dispatch-table{gap:10px;display:grid}.customer-list button,.customer-dispatch-row{color:#151a23;text-align:left;background:#fff;border:1px solid #d9dde5;border-radius:10px;gap:5px;padding:12px;display:grid}.customer-list button.is-active{background:#eff6ff;border-color:#2563eb}.customer-list span,.customer-dispatch-row span{color:#526070;font-size:12px;font-weight:650}.customer-dispatch-row{grid-template-columns:minmax(130px,1fr) repeat(4,minmax(110px,.75fr));align-items:center}.technician-checkin-shell{box-sizing:border-box;grid-template-columns:minmax(320px,520px) minmax(320px,520px);gap:16px;width:min(1120px,100%);margin:0 auto;padding:24px;display:grid}.technician-checkin-card,.technician-recent-panel{background:#fff;border:1px solid #d9dde5;border-radius:12px;padding:18px}.technician-checkin-card h1{color:#111827;margin:4px 0 8px;font-size:28px;line-height:1.15}.accent-amber{background:#fffbeb;border-color:#fde68a}.accent-green{background:#f0fdf4;border-color:#bbf7d0}.accent-red{background:#fff1f2;border-color:#fecdd3}.priority-board{grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:14px;margin-top:14px;display:grid}.review-panel{border-top:1px solid #d9dde5;margin-top:14px;padding-top:14px}.compact-heading{align-items:flex-start}.priority-board h3,.review-panel h3{color:#111827;margin:0 0 4px;font-size:16px}.action-list,.action-center-list{gap:8px;display:grid}.compact-action-button{width:100%;margin-bottom:10px}.action-center-card{text-align:left;border-left-width:5px;gap:4px;width:100%;display:grid}.check-in-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.check-in-actions .secondary-button{min-height:34px;padding:7px 10px;font-size:13px}.persona-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.persona-card{background:#fbfcfe;border:1px solid #d9dde5;border-radius:10px;gap:8px;padding:12px;display:grid;position:relative}.persona-amber{background:#fffbeb;border-color:#fde68a}.persona-green{background:#f0fdf4;border-color:#bbf7d0}.persona-red{background:#fff1f2;border-color:#fecdd3}.persona-card div{gap:1px;display:grid}.persona-card strong{color:#111827}.persona-card span,.persona-card small,.persona-card p{color:#526070;margin:0;font-size:12px;line-height:1.35}.persona-card b{color:#fff;background:#172033;border-radius:999px;padding:5px 7px;font-size:12px;line-height:1;position:absolute;top:10px;right:10px}.action-row{color:#151a23;text-align:left;background:#fff;border-left-width:6px;grid-template-columns:minmax(110px,.3fr) minmax(0,1fr) minmax(140px,.4fr);align-items:center;gap:8px;display:grid}.action-row span,.action-row small{color:#526070;overflow-wrap:anywhere}.customer-health-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.customer-playbook-strip,.playbook-list{background:#f9fafb;border:1px solid #e4e8ef;border-radius:8px;gap:8px;padding:10px;display:grid}.customer-playbook-strip{margin-top:12px}.customer-playbook-strip>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.customer-playbook-strip strong,.playbook-list strong{color:#111827}.customer-playbook-strip span,.playbook-list span{color:#526070;font-size:12px;line-height:1.35}.compact-playbook-list{background:0 0;border:0;flex-wrap:wrap;padding:0;display:flex}.next-action-box{background:#f9fafb;border:1px solid #e4e8ef;border-radius:8px;gap:6px;margin-top:12px;padding:10px;display:grid}.next-action-box strong{color:#111827;font-size:13px}.next-action-box span,.next-action-box small{color:#526070;font-size:12px;line-height:1.35}.next-action-box.audit-red,.timer-chip.audit-red{color:#991b1b;background:#ef444414;border-color:#ef444473}.next-action-box.audit-amber,.timer-chip.audit-amber{color:#713f12;background:#eab3081a;border-color:#eab30873}.next-action-box.audit-green,.timer-chip.audit-green{color:#14532d;background:#22c55e14;border-color:#22c55e59}.timer-chip{border:1px solid;border-radius:999px;padding:3px 8px;font-weight:700}.customer-health-grid article,.customer-playbook-strip,.playbook-list,.column-list,.readiness-list{background:#f9fafb;border:1px solid #e4e8ef;border-radius:8px;gap:3px;padding:9px;display:grid}.customer-health-grid strong{color:#111827;overflow-wrap:anywhere}.column-list,.playbook-list{margin-top:10px}.column-list strong,.readiness-list strong{color:#111827}.readiness-list{margin-top:10px}.readiness-list span{border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.is-good{color:#166534;background:#dcfce7}.is-warning{color:#9a3412;background:#fff7ed}.exception-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.exception-grid article{background:#f9fafb;border:1px solid #e4e8ef;border-radius:8px;gap:3px;padding:9px;display:grid}.exception-grid strong{color:#111827;font-size:22px;line-height:1}.exception-grid span{color:#151a23;font-size:13px;font-weight:750}.exception-grid small{color:#526070;font-size:12px;line-height:1.35}.panel-link{color:#1d4ed8;width:fit-content;margin-top:10px;font-weight:700;display:inline-flex}.sync-actions{grid-template-columns:1fr;gap:8px;display:grid}.profile-row{background:#f9fafb;border:1px solid #e4e8ef;border-radius:6px;gap:2px;padding:8px;display:grid}.profile-row span,.profile-row small{color:#526070;overflow-wrap:anywhere;font-size:12px}.session-tab span,.session-tab small,.muted-text,.meta-text{color:#526070}.metadata-strip{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.metadata-strip span{color:#3b4656;background:#f9fafb;border:1px solid #d9dde5;border-radius:999px;padding:4px 9px;font-size:13px}.session-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.step-card{background:#fff;border:1px solid #d9dde5;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.step-card.is-completed{background:#f0fdf4;border-color:#86efac}.step-card.is-missed{background:#fff1f2;border-color:#fca5a5}.step-card strong{margin-bottom:4px;display:block}.meta-text{margin:2px 0;font-size:13px}.step-actions,.modal-actions{flex-wrap:wrap;gap:8px;display:flex}.handoff-panel button{width:100%}.handoff-panel{gap:10px;display:grid}.handoff-modal textarea{min-height:260px}.takeover-list{background:#f9fafb;border:1px solid #d9dde5;border-radius:8px;gap:8px;margin-bottom:12px;padding:10px;display:grid}.takeover-list button{width:100%}.dashboard-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}@media (width<=1100px){.dashboard-list{grid-template-columns:1fr}}.dispatch-card{color:#151a23;cursor:pointer;background:#fff;border:1px solid #d9dde5;border-left-width:5px;border-radius:6px;grid-template-rows:22px 18px 20px;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:3px 6px;padding:8px 10px;font-size:12.5px;transition:transform .1s,box-shadow .1s,border-color .1s;display:grid;position:relative;overflow:hidden}.dispatch-card>.dispatch-card-line,.dispatch-card>.dispatch-card-store,.dispatch-card>.dispatch-card-hint{grid-column:1}.dispatch-card-chevron{color:#9aa3b2;-webkit-user-select:none;user-select:none;pointer-events:none;grid-area:1/2/-1;place-self:center;font-size:22px;font-weight:300;line-height:1;transition:color .1s,transform .12s}.dispatch-card:hover .dispatch-card-chevron{color:#2563eb;transform:translate(2px)}.dispatch-card:hover{border-color:#2563eb;transform:translateY(-1px);box-shadow:0 2px 6px #0f172a14}.dispatch-card.is-selected{border-color:#2563eb;border-left-width:7px;box-shadow:0 0 0 2px #2563eb47}.dispatch-card.is-selected .dispatch-card-chevron{color:#2563eb;transform:rotate(90deg)}.dispatch-card-line{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.dispatch-card-line>*{flex:none;min-width:0}.dispatch-card-line>.customer-badge,.dispatch-card-line>.timer-chip,.dispatch-card-line>.risk-pill,.dispatch-card-line>.source-badge{text-overflow:ellipsis;overflow:hidden}.dispatch-card-line>.timer-chip{max-width:220px}.dispatch-card-wo{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.02em;font-size:13px;font-weight:700}.dispatch-card-owner{font-weight:600}.dispatch-card-store{color:#526070;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;overflow:hidden}.dispatch-card-line-3{gap:10px;font-size:11.5px}.dispatch-card-line-3>.muted-text{white-space:nowrap;text-overflow:ellipsis;max-width:140px;overflow:hidden}.sync-gap-icon{color:#d97706;cursor:help;font-size:13px}.risk-green{border-left-color:#22c55e}.risk-yellow{border-left-color:#eab308}.risk-red{border-left-color:#ef4444}.risk-pill{background:#f1f5f9;border-radius:999px;width:fit-content;padding:3px 8px;font-weight:750}.score-panel{gap:10px;display:grid}.score-number{color:#111827;font-size:54px;font-weight:750;line-height:1}.score-band{border-radius:999px;width:fit-content;padding:3px 10px;font-size:13px;font-weight:750}.score-pass{color:#166534;background:#dcfce7}.score-warning{color:#854d0e;background:#fef9c3}.score-at-risk{color:#9a3412;background:#ffedd5}.score-fail{color:#991b1b;background:#fee2e2}.audit-panel{max-height:calc(100svh - 300px);overflow:auto}.audit-entry{background:#fff;border:1px solid #e4e8ef;border-radius:8px;gap:3px;padding:10px;display:grid}.audit-entry p,.audit-entry small{color:#526070;margin:0;font-size:12px;line-height:1.35}.audit-entry span{color:#151a23;text-transform:uppercase;font-size:13px;font-weight:700}.error-text{color:#991b1b;margin:8px 0 0;font-size:13px}.success-text{color:#166534;margin:8px 0 0;font-size:13px}.modal-backdrop{background:#0f172a7a;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #d9dde5;border-radius:8px;width:min(560px,100%);padding:16px;box-shadow:0 24px 60px #0f172a38}.modal-card h2{letter-spacing:0;margin:0 0 8px;font-size:20px}.modal-card p{margin:0 0 12px}@media (width<=1280px){.workspace-grid{grid-template-columns:260px minmax(0,1fr)}.right-panel{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.customer-workspace{grid-template-columns:260px minmax(0,1fr)}.audit-panel{max-height:420px}}@media (width<=980px){.workspace-grid,.right-panel,.technician-checkin-shell{grid-template-columns:1fr}}@media (width<=760px){.app-header,.workspace-grid,.right-panel,.form-grid,.conditional-grid,.session-edit-grid,.decision-grid,.customer-dispatch-row{grid-template-columns:1fr}.app-header{display:grid}.dispatcher-login{grid-template-columns:1fr}.dispatcher-roster{justify-content:flex-start}.step-card,.panel-heading{flex-direction:column;align-items:stretch}}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}body{background:var(--bg-base);color:var(--fg-primary);font-family:var(--font-ui)}button,input,select,textarea{font-family:inherit}.app-shell,.auth-shell{background:radial-gradient(circle at top left, #2c9fd614, transparent 32rem), var(--bg-base);color:var(--fg-primary);font-family:var(--font-ui)}.app-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:228px minmax(0,1fr);height:100svh;display:grid;overflow:hidden}.app-shell h1,.app-shell h2,.app-shell h3,.auth-shell h1,.auth-shell h2{color:var(--fg-primary);font-family:var(--font-ui);letter-spacing:0}.auth-card{border:1px solid var(--border);border-radius:var(--radius-lg);width:min(430px,100%);box-shadow:var(--shadow-modal);color:var(--fg-primary);background:linear-gradient(#323a5ef5,#222842f5)}.auth-card:before{content:"D";border-radius:var(--radius-md);background:var(--accent);width:36px;height:36px;color:var(--accent-fg);font-family:var(--font-mono);place-items:center;margin-bottom:12px;font-weight:700;display:grid}.auth-card h1{color:var(--fg-primary);font-size:22px;font-weight:700}.auth-card p{color:var(--fg-secondary)}.app-header{border-bottom:1px solid var(--border);background:#222842f5;grid-area:1/2;align-items:center;min-height:34px;padding:3px 16px;box-shadow:inset 0 -1px #ffffff05}.app-header h1{color:var(--fg-primary);margin:0;font-size:13px;font-weight:700;line-height:1.2}.app-title-line{align-items:baseline;gap:8px;min-width:0;display:flex}.app-title-line .eyebrow{white-space:nowrap;margin:0}.eyebrow{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:700;line-height:1}.header-user-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;font-size:11px;display:flex}.header-user-identity{align-items:baseline;gap:6px;max-width:260px;display:inline-flex;overflow:hidden}.header-user-identity strong{color:var(--fg-primary);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:11px;font-weight:600;overflow:hidden}.header-user-identity em{color:var(--fg-secondary);white-space:nowrap;font-size:10px;font-style:normal}.header-workas{align-items:center;gap:4px;display:inline-flex}.header-workas span{color:var(--fg-secondary);text-transform:uppercase;letter-spacing:.02em;font-size:10px;font-weight:700}.header-workas select{border:1px solid var(--border,#c9d0dc);background:var(--bg-surface,#fff);color:var(--fg-primary);border-radius:4px;padding:2px 6px;font-size:11px;line-height:1.2}.header-btn{border:1px solid var(--border,#c9d0dc);background:var(--bg-surface,#fff);color:var(--fg-primary);cursor:pointer;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:11px;line-height:1.2}.header-btn:hover{background:#2563eb14}.header-warning{color:#dc2626;border:1px solid #dc2626;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.header-dispatcher-switcher{gap:4px;display:inline-flex}.header-dispatcher-switcher button{border:1px solid var(--border,#c9d0dc);background:var(--bg-surface,#fff);color:var(--fg-primary);cursor:pointer;border-radius:12px;padding:2px 6px;font-size:10px;line-height:1.2}.header-dispatcher-switcher button.is-active{background:var(--accent,#2563eb);color:var(--accent-fg,#fff);border-color:var(--accent,#2563eb)}.role-nav{border-right:1px solid var(--border);background:var(--bg-surface);border-bottom:0;flex-direction:column;grid-area:1/1/span 2;gap:4px;min-height:0;padding:74px 10px 12px;display:flex;position:relative}.role-nav:before{content:"DCE\a Dispatch Compliance";white-space:pre;min-height:36px;color:var(--fg-primary);padding-left:44px;font-size:12px;font-weight:700;line-height:1.3;position:absolute;top:14px;left:14px;right:14px}.role-nav:after{content:"D";border-radius:var(--radius-md);background:var(--accent);width:32px;height:32px;color:var(--accent-fg);font-family:var(--font-mono);place-items:center;font-weight:700;display:grid;position:absolute;top:14px;left:14px}.role-nav button{border-radius:var(--radius-md);color:var(--fg-secondary);text-align:left;background:0 0;border:1px solid #0000;border-left-width:2px;justify-content:flex-start;padding:9px 10px;font-size:13px}.role-nav button:hover:not(:disabled){border-color:#4d5a8073;border-left-color:var(--accent);color:var(--fg-primary);background:#2c9fd614}.role-nav button.is-active{border-color:#2c9fd640;border-left-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.workspace-grid{grid-area:2/2;align-content:start;height:100%;padding:16px;overflow:auto}.app-shell>.technician-checkin-shell:first-child,.app-shell>.check-in-monitor-shell:first-child,.app-shell>.route-loading-panel:first-child{grid-area:1/1/-1/-1}.manager-workspace{grid-template-columns:minmax(280px,360px) minmax(560px,1fr) minmax(280px,360px)}.dispatch-workspace{grid-template-columns:minmax(260px,320px) minmax(560px,1fr) minmax(280px,360px)}.customer-workspace{grid-template-columns:minmax(260px,340px) minmax(560px,1fr) minmax(280px,380px)}.sidebar-panel,.session-form,.workflow-panel,.empty-panel,.dashboard-panel,.manager-overview-panel,.projects-panel,.project-detail-panel,.customer-facing-panel,.technician-recent-panel,.customer-health-panel,.improvement-audit-panel,.persona-survey-panel,.ops-exceptions-panel,.score-panel,.handoff-panel,.audit-panel,.admin-panel,.technician-checkin-card,.modal-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-card);color:var(--fg-primary)}.center-panel,.right-panel{gap:12px}.panel-heading{border-bottom:1px solid var(--border-subtle);padding-bottom:10px}.panel-heading h2,.priority-board h3,.review-panel h3,.admin-panel .panel-heading h2{color:var(--fg-primary);font-size:16px;font-weight:700}.muted-text,.meta-text,.session-tab span,.session-tab small,.profile-row span,.profile-row small,.audit-entry p,.audit-entry small,.project-card p,.project-detail-header p,.customer-list span,.customer-dispatch-row span,.field-row span,.compact-field span,.check-row span,.metric-card span,.metric-card small,.customer-health-grid span,.customer-playbook-strip span,.playbook-list span,.project-link-controls span,.column-list span,.column-list small,.persona-card span,.persona-card small,.persona-card p,.persona-survey-card span,.persona-survey-card p,.persona-survey-card small,.improvement-audit-card span,.improvement-audit-card p{color:var(--fg-secondary)}.field-row span,.compact-field span,.check-row span{letter-spacing:0;text-transform:uppercase;font-size:11px}.field-row input,.field-row select,.field-row textarea,.compact-field select,.work-mode-box select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--fg-primary)}.field-row input::placeholder,.field-row textarea::placeholder{color:var(--fg-muted)}.field-row input:focus,.field-row select:focus,.field-row textarea:focus,.compact-field select:focus,.work-mode-box select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--fg-primary);transition:background .15s,border-color .15s,color .15s,transform .15s}button:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-elevated)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel-heading button,.auth-form button[type=submit],.handoff-panel button:first-child,.sync-actions button:first-child,.admin-form button[type=submit],button[type=submit]{background:var(--accent);color:var(--accent-fg);border-color:#0000}.panel-heading button:hover:not(:disabled),.auth-form button[type=submit]:hover:not(:disabled),.handoff-panel button:first-child:hover:not(:disabled),.sync-actions button:first-child:hover:not(:disabled),.admin-form button[type=submit]:hover:not(:disabled),button[type=submit]:hover:not(:disabled){background:var(--accent-hover)}.secondary-button,.filter-list button,.sync-actions button,.linked-dispatch-button{background:var(--bg-card);color:var(--fg-primary)}.signed-in-box,.session-tab,.roster-card,.filter-list button,.profile-row,.customer-config-panel .admin-form,.preference-grid,.next-action-box,.customer-health-grid article,.customer-playbook-strip,.playbook-list,.project-link-controls,.column-list,.readiness-list,.exception-grid article,.takeover-list{border-color:var(--border);background:var(--bg-card);color:var(--fg-primary)}.session-tab.is-active,.roster-card.is-active,.filter-list button.is-active,.customer-list button.is-active,.dispatcher-roster button.is-active{border-color:var(--accent);background:var(--accent-subtle);color:var(--fg-primary)}.dispatcher-roster button,.customer-list button{background:var(--bg-card);color:var(--fg-primary)}.dispatcher-roster button span,.signed-in-box span,.signed-in-box small{color:var(--fg-secondary)}.admin-panel,.smartsheet-panel,.customer-config-panel,.suggestion-list,.survey-panel,.review-panel{border-color:var(--border-subtle)}.metric-card,.decision-grid article,.project-card,.survey-row,.improvement-audit-card,.persona-survey-card,.persona-card,.customer-dispatch-row,.audit-entry,.step-card,.dispatch-card{border-color:var(--border);background:var(--bg-card);color:var(--fg-primary)}.metric-card{border-top:2px solid var(--accent);border-radius:var(--radius-lg)}.metric-card strong,.preference-grid strong,.next-action-box strong,.customer-health-grid strong,.customer-playbook-strip strong,.playbook-list strong,.project-link-controls strong,.column-list strong,.readiness-list strong,.decision-grid strong,.project-card strong,.project-detail-header strong,.survey-row strong,.survey-row b,.improvement-audit-card strong,.improvement-audit-card b,.persona-survey-card strong,.persona-survey-card b,.persona-card strong,.exception-grid strong,.exception-grid span,.audit-entry span{color:var(--fg-primary)}.metric-card strong,.score-number,.exception-grid strong,.persona-card b,.persona-survey-card b,.improvement-audit-card b{font-family:var(--font-mono)}.accent-blue{background:#2c9fd61a;border-color:#2c9fd652}.accent-amber{border-color:var(--status-warn-border);background:var(--status-warn-bg)}.accent-green{border-color:var(--status-pass-border);background:var(--status-pass-bg)}.accent-red{border-color:var(--status-missed-border);background:var(--status-missed-bg)}.risk-green,.improvement-audit-card,.persona-green{border-left-color:var(--status-pass)}.risk-yellow,.improvement-audit-card.audit-amber,.persona-amber{border-left-color:var(--status-warn)}.risk-red,.improvement-audit-card.audit-red,.persona-red{border-left-color:var(--status-missed)}.persona-blue{background:#2c9fd614;border-color:#2c9fd652}.persona-amber,.persona-green,.persona-red{background:var(--bg-card)}.action-row{background:var(--bg-card);color:var(--fg-primary)}.action-center-card{border-color:var(--border);background:var(--bg-card);color:var(--fg-primary)}.action-center-card strong{color:var(--fg-primary)}.action-center-card span,.action-center-card small{color:var(--fg-secondary)}.action-center-card.audit-red{border-left-color:var(--status-missed)}.action-center-card.audit-amber{border-left-color:var(--status-warn)}.compact-playbook-list{background:0 0;border:0;padding:0}.dispatch-card p{color:var(--fg-secondary)}.risk-pill,.config-summary span,.metadata-strip span{border:1px solid var(--status-pending-border);background:var(--status-pending-bg);color:var(--fg-secondary);font-family:var(--font-mono);font-size:11px}.step-card{border-left:4px solid var(--status-pending)}.step-card.is-completed{border-color:var(--status-pass-border);border-left-color:var(--status-pass);background:var(--status-pass-bg)}.step-card.is-missed{border-color:var(--status-missed-border);border-left-color:var(--status-missed);background:var(--status-missed-bg)}.score-number{color:var(--fg-primary);font-size:58px;font-weight:700}.score-band{font-family:var(--font-mono);text-transform:uppercase;border:1px solid;font-size:11px}.score-pass,.is-good{background:var(--status-pass-bg);color:var(--status-pass)}.score-warning,.score-at-risk,.is-warning{background:var(--status-warn-bg);color:var(--status-warn)}.score-fail{background:var(--status-missed-bg);color:var(--status-missed)}.audit-panel{max-height:calc(100svh - 184px)}.audit-entry{border-left:3px solid var(--accent);font-family:var(--font-mono)}.handoff-panel,.score-panel,.audit-panel{background:#2a3150b8}.error-text{border:1px solid var(--status-missed-border);border-radius:var(--radius-md);background:var(--status-missed-bg);color:var(--status-missed);padding:8px 10px}.success-text{border:1px solid var(--status-pass-border);border-radius:var(--radius-md);background:var(--status-pass-bg);color:var(--status-pass);padding:8px 10px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0e1cb8}.modal-card{background:var(--bg-surface);box-shadow:var(--shadow-modal)}.modal-card p{color:var(--fg-secondary)}.technician-checkin-shell{align-content:start;width:min(1180px,100%);min-height:0;padding-bottom:48px;overflow-y:auto}.technician-checkin-card h1{color:var(--fg-primary);font-size:26px}.route-loading-panel{border-color:var(--border);background:var(--bg-surface);color:var(--fg-secondary)}@media (width>=1700px){.workspace-grid{padding:18px 24px}.manager-workspace{grid-template-columns:minmax(320px,400px) minmax(720px,1fr) minmax(320px,400px)}.dispatch-workspace{grid-template-columns:minmax(300px,360px) minmax(760px,1fr) minmax(320px,420px)}.customer-workspace{grid-template-columns:minmax(320px,400px) minmax(760px,1fr) minmax(320px,420px)}}@media (width<=1180px){.app-shell{height:auto;min-height:100svh;display:block;overflow:visible}.app-header{z-index:20;position:sticky;top:0}.role-nav{z-index:19;border-right:0;border-bottom:1px solid var(--border);flex-direction:row;min-height:auto;padding:8px 16px;position:sticky;top:64px;overflow-x:auto}.role-nav:before,.role-nav:after{display:none}.role-nav button{white-space:nowrap;flex:none;justify-content:center}.workspace-grid{height:auto;min-height:0;overflow:visible}.audit-panel{max-height:420px}}@media (width<=760px){.app-header{padding:14px 16px}.app-header h1{font-size:20px}.role-nav{top:auto}.workspace-grid,.technician-checkin-shell{padding:12px}.score-number{font-size:44px}}.setup-page{max-width:none;min-height:0;color:var(--fg-primary);grid-area:2/2;align-content:start;gap:0;margin:0;padding:24px max(24px,50% - 536px) 80px;display:grid;overflow-y:auto}.setup-page-header{border-bottom:1px solid var(--border-subtle);margin-bottom:0}.readiness-bar{flex-wrap:wrap;gap:6px;padding:12px 0 16px;display:flex}.readiness-chip{cursor:default;font-size:12px;font-weight:500;font-family:var(--font-ui);border:1px solid #0000;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.readiness-chip--ready{background:var(--status-pass-bg);border-color:var(--status-pass-border);color:var(--status-pass)}.readiness-chip--warning{background:var(--status-warn-bg);border-color:var(--status-warn-border);color:var(--status-warn)}.readiness-chip--missing{background:var(--status-missed-bg);border-color:var(--status-missed-border);color:var(--status-missed)}.setup-tab-strip{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;margin-bottom:24px;padding:16px 0 0;display:flex}.setup-tab-strip button{color:var(--fg-secondary);cursor:pointer;border-radius:var(--radius-md) var(--radius-md) 0 0;background:0 0;border:1px solid #0000;border-bottom-width:2px;margin-bottom:-1px;padding:8px 14px;font-size:13px;font-weight:500;transition:color .15s,background .15s}.setup-tab-strip button:hover:not(:disabled){background:var(--accent-subtle);color:var(--fg-primary)}.setup-tab-strip button.is-active{background:var(--accent-subtle);border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.setup-notice{margin:0 0 16px}.setup-tab-content{min-height:400px}.readiness-checklist{gap:16px;display:grid}.readiness-summary{border-radius:var(--radius-md);margin:0;padding:10px 14px;font-size:13px;font-weight:500}.readiness-summary--blocking{background:var(--status-missed-bg);border:1px solid var(--status-missed-border);color:var(--status-missed)}.readiness-summary--ok{background:var(--status-pass-bg);border:1px solid var(--status-pass-border);color:var(--status-pass)}.readiness-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.readiness-item{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);color:var(--fg-primary);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.readiness-item--ready{background:var(--status-pass-bg);border-color:var(--status-pass-border);border-left:3px solid var(--status-pass)}.readiness-item--warning{background:var(--status-warn-bg);border-color:var(--status-warn-border);border-left:3px solid var(--status-warn)}.readiness-item--missing{background:var(--status-missed-bg);border-color:var(--status-missed-border);border-left:3px solid var(--status-missed)}.readiness-icon{flex-shrink:0;font-size:14px;font-weight:700;line-height:1.5}.readiness-item--ready .readiness-icon{color:var(--status-pass)}.readiness-item--warning .readiness-icon{color:var(--status-warn)}.readiness-item--missing .readiness-icon{color:var(--status-missed)}.readiness-text{gap:2px;display:grid}.readiness-text strong{color:var(--fg-primary);font-size:13px;font-weight:600}.readiness-text span{color:var(--fg-secondary);font-size:12px}.setup-section{gap:20px;display:grid}.setup-section-header h3{color:var(--fg-primary);margin:0 0 4px;font-size:16px;font-weight:600}.setup-section-header .muted-text{margin:0}.setup-empty{color:var(--fg-muted);margin:0;font-style:italic}.config-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;display:grid}.config-list-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--fg-primary);gap:4px;padding:12px 14px;display:grid}.config-list-item strong{color:var(--fg-primary);font-size:13px}.config-list-item .muted-text{color:var(--fg-secondary);font-size:12px}.config-item-flags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.flag-tag{background:var(--status-pending-bg);color:var(--fg-secondary);border:1px solid var(--status-pending-border);border-radius:12px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.flag-tag--active{background:var(--status-pass-bg);color:var(--status-pass);border-color:var(--status-pass-border)}.flag-tag--suspended,.flag-tag--revoked{background:var(--status-missed-bg);color:var(--status-missed);border-color:var(--status-missed-border)}.portal-access-list .config-list-item{border-left:3px solid var(--accent)}.setup-link-panel{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.import-drop-zone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-card);cursor:pointer;text-align:center;color:var(--fg-secondary);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:40px 24px;transition:border-color .15s,background .15s;display:flex}.import-drop-zone:hover,.import-drop-zone.drag-over{border-color:var(--accent);background:var(--accent-subtle);color:var(--fg-primary)}.import-drop-icon{color:var(--fg-muted);font-size:28px;line-height:1;display:block}.import-drop-zone:hover .import-drop-icon,.import-drop-zone.drag-over .import-drop-icon{color:var(--accent)}.import-loading{text-align:center;color:var(--fg-secondary);background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:24px}.import-error{border:1px solid var(--status-missed-border);border-radius:var(--radius-md);background:var(--status-missed-bg);flex-direction:column;gap:10px;padding:16px;display:flex}.import-result{gap:20px;display:grid}.import-result-header{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.import-result-header>div{flex-direction:column;gap:2px;display:flex}.import-warnings{gap:6px;display:grid}.import-warning{border-radius:var(--radius-sm);align-items:flex-start;gap:8px;padding:8px 12px;font-size:13px;display:flex}.import-warning--warning{background:var(--status-warn-bg);border:1px solid var(--status-warn-border);color:var(--status-warn)}.import-warning--info{background:var(--accent-subtle);color:var(--fg-secondary);border:1px solid #2c9fd633}.import-warning-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.import-section{gap:8px;display:grid}.import-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);margin:0;font-size:12px;font-weight:600}.import-notice{color:var(--fg-secondary);background:var(--accent-subtle);border-radius:var(--radius-sm);border:1px solid #2c9fd633;margin:0;padding:10px 14px;font-size:12px}.import-value-chips{flex-wrap:wrap;gap:6px;display:flex}.import-mappings-grid{border:1px solid var(--border);border-radius:var(--radius-md);display:grid;overflow:hidden}.import-mappings-header,.import-mapping-row{grid-template-columns:1fr 1.2fr 80px 1fr;gap:0;display:grid}.import-mappings-header{background:var(--bg-elevated);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em;padding:8px 12px;font-size:11px;font-weight:600}.import-mappings-header span,.import-mapping-row span{padding:8px 12px}.import-mapping-row{border-top:1px solid var(--border-subtle);color:var(--fg-primary);font-size:13px}.import-mapping-row:hover{background:var(--bg-card)}.import-col-name{font-weight:500;font-family:var(--font-mono);color:var(--fg-secondary)!important;font-size:12px!important}.import-samples{font-style:italic;color:var(--fg-secondary)!important;font-size:12px!important}.confidence-badge{letter-spacing:.04em;border-radius:10px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-block}.confidence-badge--high{background:var(--status-pass-bg);color:var(--status-pass);border:1px solid var(--status-pass-border)}.confidence-badge--medium{background:var(--status-warn-bg);color:var(--status-warn);border:1px solid var(--status-warn-border)}.confidence-badge--low{background:var(--status-pending-bg);color:var(--fg-muted);border:1px solid var(--status-pending-border)}.import-columns-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.import-column-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);gap:4px;padding:10px 12px;display:grid}.import-column-name{font-size:12px;font-weight:600;font-family:var(--font-mono);color:var(--fg-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import-column-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.import-column-meta .muted-text{font-size:11px}.import-unique-vals{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.import-disclaimer{color:#6b5800;background:#fffbea;border:1px solid #f0d080;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13px;line-height:1.5}.import-apply-section{margin-top:24px}.import-apply-divider{color:#888;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:12px;margin-bottom:16px;font-size:12px;display:flex}.import-apply-divider:before,.import-apply-divider:after{content:"";background:#e5e7eb;flex:1;height:1px}.import-apply-warning{color:#7a4f00;background:#fff8ed;border:1px solid #f5c06a;border-radius:6px;margin-bottom:14px;padding:10px 14px;font-size:13px;line-height:1.5}.import-apply-guard{color:#555;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:12px 16px;font-size:13px}.import-apply-customer{color:#555;margin-bottom:14px;font-size:13px}.import-review-group{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:14px;overflow:hidden}.import-review-group--manual{background:#f8f9fb;border-color:#dde3ea}.import-review-group-header{color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb;align-items:center;gap:10px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.import-review-counts{color:#6b7280;font-size:12px;font-weight:400}.import-review-skip-count{color:#9ca3af}.import-select-all-btn{cursor:pointer;color:#374151;background:0 0;border:1px solid #d1d5db;border-radius:4px;margin-left:auto;padding:2px 8px;font-size:11px}.import-select-all-btn:hover{background:#f3f4f6}.import-review-row{cursor:pointer;border-bottom:1px solid #f3f4f6;align-items:center;gap:10px;padding:7px 14px;font-size:13px;display:flex}.import-review-row:last-child{border-bottom:none}.import-review-row:hover{background:#f9fafb}.import-review-row--skip{opacity:.6;cursor:default}.import-review-row--skip:hover{background:0 0}.import-review-row input[type=checkbox]{cursor:pointer;flex-shrink:0}.import-review-label{flex:1}.import-review-key{font-family:monospace;font-size:11px}.import-review-cols-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px;padding:8px;display:grid}.import-review-col{cursor:pointer;border-radius:5px;align-items:center;gap:7px;padding:5px 8px;font-size:12px;display:flex}.import-review-col:hover{background:#f3f4f6}.import-review-col--skip{opacity:.6;cursor:default}.import-review-col--skip:hover{background:0 0}.import-review-col input[type=checkbox]{cursor:pointer;flex-shrink:0}.import-review-col-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.import-review-badge{white-space:nowrap;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:500;display:inline-block}.import-review-badge--create{color:#166534;background:#dcfce7}.import-review-badge--skip{color:#6b7280;background:#f3f4f6}.import-review-badge--manual{color:#7a4f00;background:#fef9c3}.import-review-manual-note{color:#6b7280;padding:8px 14px 4px;font-size:12px;line-height:1.5}.import-apply-actions{border-top:1px solid #e5e7eb;align-items:center;gap:14px;margin-top:16px;padding-top:16px;display:flex}.import-apply-progress{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin-top:16px;padding:12px 16px;font-size:13px}.import-apply-result{border:1px solid #d1fae5;border-radius:8px;margin-top:16px;overflow:hidden}.import-apply-result-header{color:#166534;background:#f0fdf4;border-bottom:1px solid #d1fae5;padding:10px 14px;font-size:13px;font-weight:600}.import-apply-result-header--errors{color:#92400e;background:#fffbeb;border-color:#fde68a}.import-apply-result-group{border-bottom:1px solid #f3f4f6;padding:8px 14px;font-size:12px}.import-apply-result-group:last-of-type{border-bottom:none}.import-apply-result-group-label{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin-bottom:4px;font-size:11px;font-weight:600}.import-apply-result-row{align-items:center;gap:10px;padding:3px 0;display:flex}.import-apply-result-category{color:#374151;white-space:nowrap;background:#f3f4f6;border-radius:4px;padding:1px 6px;font-size:11px}.import-apply-result-row--created .import-apply-result-category{color:#166534;background:#dcfce7}.import-apply-result-row--skipped .import-apply-result-category{color:#6b7280;background:#f3f4f6}.import-apply-result-row--error .import-apply-result-category{color:#991b1b;background:#fee2e2}.import-apply-result .btn-outline-sm{margin:10px 14px;display:block}.col-type-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--bg-elevated);color:var(--fg-muted);border:1px solid var(--border);border-radius:8px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.col-type-badge--date{background:var(--accent-subtle);color:var(--accent);border-color:#2c9fd64d}.col-type-badge--number{background:var(--status-pass-bg);color:var(--status-pass);border-color:var(--status-pass-border)}.col-type-badge--categorical{background:var(--status-warn-bg);color:var(--status-warn);border-color:var(--status-warn-border)}.col-type-badge--boolean{background:var(--status-pass-bg);color:var(--status-pass);border-color:var(--status-pass-border)}.quick-templates-section{gap:8px;display:grid}.quick-templates-label{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);margin:0;font-size:12px;font-weight:600}.quick-templates{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;display:grid}.quick-template-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:14px 16px;transition:border-color .15s;display:flex}.quick-template-card:not(.is-added):hover{border-color:var(--accent)}.quick-template-card.is-added{opacity:.6}.quick-template-body{gap:4px;display:grid}.quick-template-body strong{color:var(--fg-primary);font-size:13px;font-weight:600}.quick-template-body p{color:var(--fg-secondary);margin:0;font-size:12px;line-height:1.5}.quick-template-readiness{color:var(--status-warn);font-size:11px;font-weight:500}.quick-template-card.is-added .quick-template-readiness{color:var(--status-pass)}.btn-outline-sm{border-radius:var(--radius-sm);border:1px solid var(--accent);color:var(--accent);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--font-ui);background:0 0;align-self:flex-start;padding:5px 12px;transition:background .15s,color .15s}.btn-outline-sm:hover{background:var(--accent);color:var(--accent-fg)}.import-audit-warn{background:var(--warn-bg,#faad141f);color:var(--warn-text,#b87d00);border:1px solid #faad144d;border-radius:6px;margin:.75rem 0;padding:.6rem .875rem;font-size:.82rem}.import-audit-section{border-top:1px solid var(--border-color,#2a2a2a);margin-top:2rem;padding-top:1rem}.import-audit-section-header{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-text,#888);margin-bottom:.75rem;font-size:.78rem;font-weight:600}.import-audit-row{background:var(--card-bg,#1a1a1a);border:1px solid var(--border-color,#2a2a2a);border-radius:6px;flex-direction:column;gap:.35rem;margin-bottom:.5rem;padding:.6rem .75rem;display:flex}.import-audit-meta{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;font-size:.82rem;display:flex}.import-audit-actor{color:var(--text-primary,#e0e0e0);font-weight:600}.import-audit-file{color:var(--muted-text,#888);font-family:monospace;font-size:.78rem}.import-audit-ts{margin-left:auto;font-size:.75rem}.import-audit-counts{flex-wrap:wrap;gap:.35rem;display:flex}.import-audit-badge{border-radius:4px;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.import-audit-badge--created{color:#22c55e;background:#22c55e26}.import-audit-badge--skipped{color:#94a3b8;background:#94a3b826}.import-audit-badge--error{color:#ef4444;background:#ef444426}.ss-preview-input-row{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.ss-preview-input{border:1px solid var(--border-color,#2a2a2a);background:var(--input-bg,#111);min-width:0;color:var(--text-primary,#e0e0e0);border-radius:6px;flex:1;padding:.45rem .75rem;font-size:.875rem}.ss-preview-input:disabled{opacity:.5}.ss-preview-results{margin-top:1rem}.ss-preview-sheet-header{background:var(--card-bg,#1a1a1a);border:1px solid var(--border-color,#2a2a2a);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;padding:.75rem .875rem;display:flex}.ss-preview-meta{font-size:.82rem}.ss-preview-actions{flex-shrink:0;gap:.5rem;display:flex}.ss-preview-note{background:var(--card-bg,#1a1a1a);border:1px solid var(--border-color,#2a2a2a);color:var(--muted-text,#888);border-radius:6px;margin-top:1.5rem;padding:.6rem .875rem;font-size:.8rem;font-style:italic}.ss-preview-connect-section{margin-top:1.5rem}.ss-preview-existing-connection{background:var(--card-bg,#1a1a1a);border:1px solid var(--border-color,#2a2a2a);border-radius:6px;margin:.75rem 0;padding:.75rem .875rem}.ss-preview-existing-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-text,#888);margin-bottom:.5rem;font-size:.75rem;font-weight:600}.ss-preview-existing-row{gap:1rem;padding:.15rem 0;font-size:.82rem;display:flex}.ss-preview-existing-row span:first-child{flex-shrink:0;min-width:90px}.ss-preview-save-summary{background:var(--card-bg,#1a1a1a);border:1px solid var(--border-color,#2a2a2a);border-radius:6px;flex-direction:column;gap:.25rem;margin:.75rem 0;padding:.75rem .875rem;display:flex}.ss-preview-save-row{align-items:baseline;gap:1rem;font-size:.82rem;display:flex}.ss-preview-save-row span:first-child{flex-shrink:0;min-width:90px}.ss-preview-save-row--warn{color:var(--warn-text,#b87d00);margin-top:.25rem;font-weight:500}.ss-preview-save-mono{font-family:monospace;font-size:.78rem}.ss-preview-save-success{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e40;border-radius:6px;margin:.75rem 0;padding:.6rem .875rem;font-size:.85rem}.ss-mapping-section{margin-top:1.25rem}.ss-mapping-table{flex-direction:column;gap:.35rem;margin:.5rem 0;display:flex}.ss-mapping-row{background:#ffffff0a;border:1px solid #ffffff12;border-radius:5px;flex-direction:column;gap:.2rem;padding:.45rem .6rem;display:flex}.ss-mapping-row--same{opacity:.5}.ss-mapping-row--skip{border-color:#eab30833}.ss-mapping-row-label{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.84rem;display:flex}.ss-mapping-row-label input[type=checkbox]{cursor:pointer;flex-shrink:0}.ss-mapping-title{font-weight:500}.ss-mapping-key{color:var(--text-secondary,#94a3b8);font-size:.8rem}.ss-mapping-type{opacity:.6;font-size:.75rem}.ss-mapping-skip{color:#eab308}.ss-mapping-row-meta{flex-wrap:wrap;gap:.5rem;padding-left:1.5rem;font-size:.78rem;display:flex}.ss-mapping-replace-label{cursor:pointer;color:var(--text-secondary,#94a3b8);align-items:center;gap:.4rem;margin:.75rem 0 .5rem;font-size:.82rem;display:flex}.ss-mapping-replace-label input[type=checkbox]{cursor:pointer}.sync-readiness{gap:24px;display:grid}.sync-readiness-banner{background:var(--status-warn-bg);border:1px solid var(--status-warn-border);border-left:3px solid var(--status-warn);border-radius:var(--radius-md);color:var(--status-warn);padding:10px 14px;font-size:13px;font-weight:500}.sync-score{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);align-items:center;gap:20px;padding:16px 20px;display:flex}.sync-score--full{background:var(--status-pass-bg);border-color:var(--status-pass-border)}.sync-score--blocked{background:var(--status-missed-bg);border-color:var(--status-missed-border)}.sync-score--partial{background:var(--status-warn-bg);border-color:var(--status-warn-border)}.sync-score-pct{font-variant-numeric:tabular-nums;min-width:68px;font-size:34px;font-weight:700;line-height:1}.sync-score--full .sync-score-pct{color:var(--status-pass)}.sync-score--blocked .sync-score-pct{color:var(--status-missed)}.sync-score--partial .sync-score-pct{color:var(--status-warn)}.sync-score-meta{gap:3px;display:grid}.sync-score-meta strong{color:var(--fg-primary);font-size:15px;font-weight:600}.sync-score-meta span{color:var(--fg-secondary);font-size:12px}.sync-group{gap:8px;display:grid}.sync-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-secondary);margin:0;font-size:11px;font-weight:700}.sync-group-items{gap:6px;display:grid}.sync-check{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);align-items:flex-start;gap:10px;padding:11px 14px;display:flex}.sync-check--ready{background:var(--status-pass-bg);border-color:var(--status-pass-border);border-left:3px solid var(--status-pass)}.sync-check--warning{background:var(--status-warn-bg);border-color:var(--status-warn-border);border-left:3px solid var(--status-warn)}.sync-check--blocked{background:var(--status-missed-bg);border-color:var(--status-missed-border);border-left:3px solid var(--status-missed)}.sync-check-icon{flex-shrink:0;min-width:14px;font-size:13px;font-weight:700;line-height:1.6}.sync-check--ready .sync-check-icon{color:var(--status-pass)}.sync-check--warning .sync-check-icon{color:var(--status-warn)}.sync-check--blocked .sync-check-icon{color:var(--status-missed)}.sync-check-body{flex:1;gap:3px;min-width:0;display:grid}.sync-check-label{color:var(--fg-primary);font-size:13px;font-weight:600}.sync-check-detail{color:var(--fg-secondary);font-size:12px}.sync-check-sublist{color:var(--fg-secondary);gap:2px;margin:4px 0 0;padding:0 0 0 14px;font-size:11px;display:grid}.sync-check-next{color:var(--fg-primary);margin-top:3px;font-size:11px;font-weight:500}.dry-run-tab{flex-direction:column;gap:14px;padding:16px 0 24px;display:flex}.dry-run-banner{background:var(--color-warning-bg,#fff8e1);color:var(--color-warning-text,#7c5a00);border:1px solid var(--color-warning-border,#f0c040);border-radius:6px;padding:10px 14px;font-size:.85rem;font-weight:600}.dry-run-info-note{background:var(--color-info-bg,#eaf3ff);color:var(--color-info-text,#1f4b8e);border:1px solid var(--color-info-border,#9fc0ea);border-radius:6px;padding:10px 14px;font-size:.85rem;line-height:1.45}.dry-run-info-note strong{margin-bottom:4px;display:block}.dry-run-blockers{background:var(--color-error-bg,#fff0f0);color:var(--color-error-text,#b00020);border:1px solid var(--color-error-border,#f4a0a0);border-radius:6px;padding:10px 14px;font-size:.83rem}.dry-run-blockers ul{margin:6px 0 0 16px;padding:0}.dry-run-blockers li{margin-bottom:3px}.dry-run-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dry-run-limit-label{color:var(--fg-secondary);align-items:center;gap:6px;font-size:.85rem;display:flex}.dry-run-limit-select{border:1px solid var(--border-color);background:var(--bg-input,var(--bg-secondary));color:var(--fg-primary);border-radius:5px;padding:4px 8px;font-size:.85rem}.dry-run-run-btn{min-width:120px}.dry-run-retry-notice{background:var(--color-info-bg,#eaf3ff);color:var(--color-info-text,#1f4b8e);border:1px solid var(--color-info-border,#9fc0ea);border-radius:6px;padding:8px 12px;font-size:.82rem;font-weight:500}.dry-run-pagination-warn{background:var(--color-warning-bg,#fff8e1);color:var(--color-warning-text,#7c5a00);border:1px solid var(--color-warning-border,#f0c040);border-radius:6px;padding:8px 12px;font-size:.82rem}.dry-run-pagination-notice{background:var(--color-info-bg,#eaf3ff);color:var(--color-info-text,#1f4b8e);border:1px solid var(--color-info-border,#9fc0ea);border-radius:6px;padding:8px 12px;font-size:.82rem}.dry-run-pagination-controls{align-items:center;gap:14px;padding:8px 0;display:flex}.dry-run-pagination-controls .btn-secondary{min-width:120px}.dry-run-page-indicator{color:var(--fg-secondary);font-size:.85rem;font-weight:500}.dry-run-apply-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.dry-run-apply-guidance{background:var(--color-warning-bg,#fff8e1);color:var(--color-warning-text,#7c5a00);border:1px solid var(--color-warning-border,#f0c040);border-radius:6px;margin:8px 0;padding:10px 14px;font-size:.85rem}.dry-run-section{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:6px;margin-top:14px;padding:10px 12px}.dry-run-section h4{margin:0 0 6px;font-size:.9rem;font-weight:600}.dry-run-section-hint{margin:0 0 8px;font-size:.8rem}.dry-run-section-created{border-left:3px solid #2f8a44}.dry-run-section-skipped{border-left:3px solid #c59a1f}.dry-run-section-failed{border-left:3px solid #b00020}.dry-run-result-table{border-collapse:collapse;width:100%;font-size:.82rem}.dry-run-result-table th,.dry-run-result-table td{text-align:left;border-bottom:1px solid var(--border-color);vertical-align:top;padding:6px 10px}.dry-run-result-table th{color:var(--fg-secondary);background:var(--bg-primary);font-weight:600}.dry-run-failed-msg{color:var(--color-error-text,#b00020);word-break:break-word;max-width:400px}.ss-health-chip{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:7px;flex-direction:column;gap:6px;padding:8px 12px;font-size:.82rem;display:flex}.ss-health-chip--compact{flex-flow:wrap;align-items:center;gap:8px;padding:6px 10px}.ss-health-chip--ready{border-left:3px solid #2f8a44}.ss-health-chip--warning{border-left:3px solid #c59a1f}.ss-health-chip--blocked{border-left:3px solid #b00020}.ss-health-chip-main{align-items:center;gap:10px;display:flex}.ss-health-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:10px;padding:2px 7px;font-size:.78rem;font-weight:700}.ss-health-badge--ready{color:#1a5c2a;background:#d3f4dc}.ss-health-badge--warning{color:#7c5a00;background:#fff3cd}.ss-health-badge--blocked{color:#830018;background:#fde8e8}.ss-health-counts{color:var(--fg-secondary)}.ss-health-counts-block{color:var(--color-error-text,#b00020);font-weight:600}.ss-health-counts-warn{color:var(--color-warning-text,#7c5a00)}.ss-health-chip-details{flex-wrap:wrap;gap:6px;display:flex}.ss-health-pill{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:.77rem}.ss-health-pill--ok{color:#1a5c2a;background:#d3f4dc}.ss-health-pill--warn{color:#7c5a00;background:#fff3cd}.ss-health-pill--off{color:#666;background:#f0f0f0}.ss-health-pill--muted{color:#555;background:#e8edf2}.sync-history-tab{flex-direction:column;gap:12px;display:flex}.sync-history-error{color:var(--color-error-text,#b00020)}.sync-history-totals{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:7px;flex-wrap:wrap;gap:10px;padding:8px 12px;font-size:.85rem;display:flex}.sync-history-total{color:var(--fg-secondary)}.sync-history-total strong{color:var(--fg-primary);margin-right:2px}.sync-history-total--ok strong{color:#1a5c2a}.sync-history-total--warn strong{color:#7c5a00}.sync-history-total--err strong{color:#830018}.sync-history-list{flex-direction:column;gap:6px;display:flex}.sync-history-row{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:6px;padding:8px 12px;font-size:.85rem}.sync-history-row-main{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sync-history-when{min-width:145px;font-weight:600}.sync-history-actor{color:var(--fg-secondary);word-break:break-word;flex:auto}.sync-history-counts{gap:6px;display:flex}.sync-history-count{white-space:nowrap;border-radius:10px;padding:2px 7px;font-size:.78rem;font-weight:600}.sync-history-count--ok{color:#1a5c2a;background:#d3f4dc}.sync-history-count--warn{color:#7c5a00;background:#fff3cd}.sync-history-count--err{color:#830018;background:#fde8e8}.sync-history-toggle{border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;color:var(--fg-secondary);border-radius:4px;padding:3px 9px;font-size:.78rem}.sync-history-toggle:hover{color:var(--fg-primary);border-color:var(--fg-secondary)}.sync-history-sheet{margin-top:4px;font-size:.8rem}.sync-history-details{border-top:1px dashed var(--border-color);flex-direction:column;gap:5px;margin-top:8px;padding-top:8px;font-size:.82rem;display:flex}.sync-history-details strong{color:var(--fg-primary)}.sync-history-errors{color:var(--color-error-text,#b00020);margin:4px 0 0;padding-left:1.2em}.dry-run-workflow-guide{color:var(--fg-secondary);margin:10px 0 4px;padding-left:1.2em;font-size:.82rem;line-height:1.7}.dry-run-workflow-guide li strong{color:var(--fg-primary)}.dry-run-workflow-guide li em{font-style:italic}.dry-run-error{background:var(--color-error-bg,#fff0f0);color:var(--color-error-text,#b00020);border:1px solid var(--color-error-border,#f4a0a0);border-radius:6px;padding:10px 14px;font-size:.83rem}.dry-run-meta{color:var(--fg-secondary);flex-wrap:wrap;gap:20px;font-size:.83rem;display:flex}.dry-run-summary{flex-wrap:wrap;gap:8px;display:flex}.dry-run-summary-pill{border-radius:12px;padding:3px 10px;font-size:.78rem;font-weight:600}.dry-run-summary-pill.ok{color:#1a6932;background:#e6f4ea}.dry-run-summary-pill.warn{color:#7c5a00;background:#fff8e1}.dry-run-summary-pill.error{color:#b00020;background:#fff0f0}.dry-run-summary-pill.info{background:var(--bg-secondary);color:var(--fg-secondary)}.dry-run-summary-pill.billing{color:#1a56db;background:#e8f0fe}.dry-run-table-wrap{overscroll-behavior-x:contain;border:1px solid var(--border-color);border-radius:8px;overflow-x:auto}.dry-run-table{border-collapse:collapse;width:100%;font-size:.82rem}.dry-run-table th{background:var(--bg-secondary);color:var(--fg-secondary);text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:8px 10px;font-weight:600}.dry-run-table td{border-bottom:1px solid var(--border-color);vertical-align:top;padding:7px 10px}.dry-run-row:last-child td{border-bottom:none}.dry-run-row-ok{background:0 0}.dry-run-row-warn{background:#fffdf0}.dry-run-row-error{background:#fff8f8}.dry-run-row-num{color:var(--fg-secondary);text-align:right;width:36px}.dry-run-task-id{font-family:monospace;font-size:.8rem}.dry-run-in-app{text-align:center}.dry-run-issues{flex-wrap:wrap;gap:4px;min-width:120px;display:flex}.dry-run-badge{white-space:nowrap;border-radius:10px;padding:2px 7px;font-size:.74rem;font-weight:600;display:inline-block}.dry-run-badge.ok{color:#1a6932;background:#e6f4ea}.dry-run-badge.warn{color:#7c5a00;background:#fff8e1}.dry-run-badge.error{color:#b00020;background:#fff0f0}.dry-run-badge.exists{color:#1a56db;background:#e8f0fe}.dry-run-badge.new{background:var(--bg-secondary);color:var(--fg-secondary)}.dry-run-badge.billing{color:#6b21a8;background:#f3e8ff}.dry-run-check-col{text-align:center;width:32px;padding-left:8px}.dry-run-row-selected{background:#eef4ff!important}input[type=checkbox]{cursor:pointer;width:15px;height:15px}.dry-run-approval{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.dry-run-approval-summary{font-size:.88rem}.dry-run-approval-warn{color:#7c5a00;font-weight:500}.dry-run-approval-billing{color:#6b21a8;font-weight:500}.dry-run-approval-actions{flex-wrap:wrap;gap:8px;display:flex}.dry-run-confirm{border:2px solid var(--color-error-border,#f4a0a0);background:#fff8f8;border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.dry-run-confirm-text{font-size:.88rem;line-height:1.5}.dry-run-confirm-actions{flex-wrap:wrap;gap:8px;display:flex}.btn-danger{color:#fff;cursor:pointer;background:#b00020;border:none;border-radius:6px;padding:7px 16px;font-size:.85rem;font-weight:600;transition:background .15s}.btn-danger:hover:not(:disabled){background:#8b0018}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.dry-run-apply-result{background:#f0faf3;border:1px solid #a8d5b5;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;font-size:.85rem;display:flex}.dry-run-apply-result.has-errors{border-color:var(--color-error-border,#f4a0a0);background:#fff8f8}.dry-run-result-pill{border-radius:10px;padding:2px 9px;font-size:.77rem;font-weight:600}.dry-run-result-pill.created{color:#1a6932;background:#e6f4ea}.dry-run-result-pill.skipped{background:var(--bg-secondary);color:var(--fg-secondary)}.dry-run-result-pill.error{color:#b00020;background:#fff0f0}.dry-run-result-ids{width:100%;color:var(--fg-secondary);word-break:break-all;font-size:.8rem}.dry-run-billing-warn{color:#6b21a8;width:100%;margin-top:4px;font-size:.8rem;font-weight:500}.dry-run-error-list{color:#b00020;width:100%;margin:4px 0 0 16px;padding:0;font-size:.8rem}.dry-run-guide{color:#1a3a6b;background:#eef4ff;border:1px solid #c0d4f5;border-radius:6px;padding:10px 14px;font-size:.85rem;line-height:1.5}.dry-run-guide--none{background:var(--bg-secondary);border-color:var(--border-color);color:var(--fg-secondary)}.source-badge{letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;border-radius:3px;padding:1px 5px;font-size:.65rem;font-weight:700;display:inline-block}.source-badge.smartsheet{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.dry-run-dce-customer .dce-slug{font-weight:600}.dry-run-dce-customer .dce-name{font-size:.8em}.dry-run-existing-status{margin-top:2px;font-size:.75em;display:block}.dry-run-result-actions{align-items:center;gap:12px;margin-top:10px;display:flex}.dry-run-dispatch-link{padding:4px 10px;font-size:.85rem;text-decoration:none}.dry-run-no-write-note{font-size:.8rem}.wizard{flex-direction:column;gap:14px;max-width:960px;display:flex}.wizard-intro{background:#ffffff05;border:1px solid #ffffff14;border-radius:10px;padding:14px 16px}.wizard-intro h2{margin:0 0 6px;font-size:1.15rem}.wizard-intro p{margin:4px 0;font-size:.9rem}.wizard-disclaimer{color:#f7b955;font-size:.85rem}.wizard-step{background:#ffffff05;border:1px solid #ffffff14;border-left-width:3px;border-radius:10px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.wizard-step--ready{border-left-color:#4ade80}.wizard-step--warning{border-left-color:#f7b955}.wizard-step--missing{border-left-color:#f87171}.wizard-step-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.wizard-step-title{align-items:baseline;gap:10px;display:flex}.wizard-step-title h3{margin:0;font-size:1rem}.wizard-step-number{color:#ffffff8c;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.wizard-step-purpose{color:#ffffffbf;margin:0;font-size:.88rem}.wizard-step-body{flex-direction:column;gap:8px;display:flex}.wizard-status-badge{text-transform:uppercase;letter-spacing:.06em;border:1px solid #ffffff1a;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:600}.wizard-status-badge--ready{color:#4ade80;background:#4ade8014;border-color:#4ade8066}.wizard-status-badge--warning{color:#f7b955;background:#f7b95514;border-color:#f7b95566}.wizard-status-badge--missing{color:#f87171;background:#f8717114;border-color:#f8717166}.wizard-details-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 14px;margin:0;padding:0;list-style:none;display:grid}.wizard-details-list li{background:#ffffff05;border:1px solid #ffffff0d;border-radius:6px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.wizard-details-list li span{color:#ffffff8c;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.wizard-details-list li strong{font-size:.92rem}.wizard-step-actions{flex-wrap:wrap;gap:8px;display:flex}.wizard-action{color:#ffffffe6;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:6px;padding:6px 12px;font-size:.85rem;transition:background .15s,border-color .15s}.wizard-action:hover{background:#ffffff12;border-color:#fff3}.wizard-action--primary{color:#93c5fd;background:#60a5fa1f;border-color:#60a5fa66}.wizard-action--primary:hover{background:#60a5fa33}.wizard-tracker-options{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.wizard-tracker-option{background:#ffffff05;border:1px solid #ffffff14;border-radius:6px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.wizard-tracker-option--disabled{opacity:.55}.wizard-tracker-option-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.wizard-tracker-option-tag{text-transform:uppercase;letter-spacing:.05em;border:1px solid #ffffff1f;border-radius:999px;padding:2px 8px;font-size:.7rem}.wizard-tracker-option-tag--ok{color:#4ade80;border-color:#4ade804d}.wizard-tracker-option-tag--off{color:#fff6}.wizard-hint{color:#fffc;background:#60a5fa0f;border:1px solid #60a5fa26;border-radius:6px;margin:0;padding:8px 10px;font-size:.82rem}.wizard-next-action{background:#60a5fa14;border:1px solid #60a5fa33;border-radius:6px;margin:0;padding:10px 12px}.starter-templates{margin-bottom:1.25rem}.starter-templates-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.starter-template-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.starter-template-card--active{border-color:#28a99e;box-shadow:0 0 0 1px #28a99e59}.starter-template-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.starter-template-head strong{color:#151a23;font-size:14px}.starter-template-tag{color:#167a70;background:#28a99e1f;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.starter-template-desc{margin:0;font-size:12px}.starter-template-counts{flex-wrap:wrap;gap:6px;display:flex}.starter-template-count{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.starter-template-count--ok{color:#166534;background:#dcfce7}.starter-template-count--warn{color:#7a4f00;background:#fef9c3}.starter-template-count--off{color:#6b7280;background:#f3f4f6}.starter-template-details{font-size:12px}.starter-template-details>summary{cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;padding:2px 0}.starter-template-list{flex-direction:column;gap:3px;margin:4px 0 0;padding:0;list-style:none;display:flex}.starter-template-list li{font-size:12px;line-height:1.4}.starter-template-actions{gap:8px;margin-top:4px;display:flex}.starter-template-actions .primary-btn,.starter-template-actions .secondary-btn{padding:6px 12px;font-size:12px}.import-review-badge--info{color:#176b93;background:#2c9fd624}.import-review-badge--warn{color:#7a4f00;background:#fef9c3}.summary{flex-direction:column;gap:16px;max-width:1100px;display:flex}.summary-head{background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 18px;display:flex}.summary-head h2{color:#151a23;margin:0 0 4px;font-size:18px}.summary-head-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;display:grid}.summary-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.summary-section--next{background:#28a99e0f;border-color:#28a99e59;grid-column:1/-1}.summary-section-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;display:flex}.summary-section-head h3{color:#151a23;text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:13px;font-weight:600}.summary-section-actions{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.summary-row{grid-template-columns:150px 1fr;gap:12px;padding:2px 0;font-size:13px;display:grid}.summary-row-label{color:#6b7280}.summary-row-value{color:#151a23;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.summary-row-hint{color:#6b7280;width:100%;margin-top:2px;font-size:12px}.summary-pill{white-space:nowrap;letter-spacing:.01em;border-radius:11px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.summary-pill--ready{color:#166534;background:#dcfce7}.summary-pill--warning{color:#7a4f00;background:#fef9c3}.summary-pill--missing,.summary-pill--blocked{color:#9b1c1c;background:#fde2e2}.summary-warning{color:#9b1c1c;background:#fde2e2;border-radius:6px;margin:6px 0 0;padding:6px 10px;font-size:12px}.summary-next-action{color:#151a23;margin:6px 0 8px;font-size:14px;font-weight:500}.tech-checkin-smartsheet-status{border-radius:10px;margin-top:4px;padding:3px 8px;font-size:12px;display:inline-block}.tech-checkin-smartsheet-status--appended{color:#166534;background:#dcfce7}.tech-checkin-smartsheet-status--skipped{color:#6b7280;background:#f3f4f6}.tech-checkin-smartsheet-status--failed{color:#7a4f00;background:#fef9c3}.auth-divider{align-items:center;gap:12px;margin:20px 0 12px;display:flex}.auth-divider-line{background:var(--border,#d9dde5);flex:auto;height:1px}.auth-divider-label{color:var(--fg-secondary,#6b7280);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.auth-technician-entry{flex-direction:column;gap:10px;display:flex}.auth-technician-help{color:var(--fg-secondary,#6b7280);margin:0;font-size:13px;line-height:1.4}.auth-technician-button{justify-content:center;width:100%}.check-in-monitor-shell{box-sizing:border-box;grid-template-rows:auto auto 1fr;align-content:start;gap:20px;width:min(1180px,100%);min-height:0;margin:0 auto;padding:24px 24px 48px;display:grid;overflow-y:auto}.check-in-monitor-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.check-in-monitor-header h1{color:var(--fg-primary,#111827);margin:4px 0 6px;font-size:26px}.check-in-monitor-header .muted-text{max-width:560px}.check-in-monitor-actions{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.check-in-monitor-filter-bar{flex-wrap:wrap;gap:8px;display:flex}.check-in-monitor-filter-bar button{border:1px solid var(--border,#d9dde5);background:var(--bg-surface,#fff);color:var(--fg-secondary,#6b7280);cursor:pointer;border-radius:20px;padding:6px 14px;font-size:13px}.check-in-monitor-filter-bar button.is-active{background:var(--accent,#2563eb);border-color:var(--accent,#2563eb);color:#fff}.check-in-monitor-list{flex-direction:column;gap:12px;display:flex}.check-in-card{border:1px solid var(--border,#d9dde5);background:var(--bg-surface,#fff);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.check-in-card-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.check-in-card-header .check-in-dispatch-code{letter-spacing:.02em;font-size:15px}.check-in-card-header .check-in-timestamp{margin-left:auto;font-size:12px}.check-in-card-meta{flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.check-in-notes{color:var(--fg-primary,#111827);margin:0;font-size:13px}.check-in-status-pill{letter-spacing:.04em;text-transform:uppercase;color:#374151;background:#e5e7eb;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.check-in-status-pill--onsite{color:#1e40af;background:#dbeafe}.check-in-status-pill--working{color:#3730a3;background:#e0e7ff}.check-in-status-pill--waiting{color:#7a4f00;background:#fef9c3}.check-in-status-pill--blocked{color:#991b1b;background:#fee2e2}.check-in-status-pill--completed{color:#166534;background:#dcfce7}.smartsheet-overlay-panel{border:1px solid var(--border,#d9dde5);background:var(--bg-surface,#fff);border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.smartsheet-overlay-actions{flex-wrap:wrap;gap:8px;display:flex}.smartsheet-overlay-body{flex-direction:column;gap:4px;font-size:13px;display:flex}.smartsheet-overlay-body p{margin:0}.smartsheet-overlay-hint{border:1px solid #0000;border-radius:8px;padding:6px 10px;font-size:12px}.smartsheet-overlay-hint--ok{color:#166534;background:#dcfce7;border-color:#bbf7d0}.smartsheet-overlay-hint--hint{color:#7a4f00;background:#fef9c3;border-color:#fde68a}.smartsheet-overlay-hint--note,.smartsheet-overlay-hint--none{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}.smartsheet-overlay-sync--warn{color:#b45309}.source-badge-link{cursor:pointer;text-decoration:none}.source-badge-link:hover{filter:brightness(1.08);text-decoration:underline}.metrics-page{flex-direction:column;align-content:start;gap:2rem;width:100%;max-width:1100px;min-height:0;margin:0 auto;padding:2rem 2.5rem 3rem;display:flex;overflow-y:auto}.metrics-hero h1{margin:0 0 .25rem}.metrics-summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.metrics-summary-tile{background:var(--panel-bg,#151b24);border:1px solid var(--panel-border,#1f2733);border-radius:10px;flex-direction:column;gap:.25rem;padding:1.25rem 1.5rem;display:flex}.metrics-summary-tile strong{font-size:2rem;font-weight:700;line-height:1}.metrics-summary-tile span{opacity:.85;font-weight:600}.metrics-summary-tile small{opacity:.6;font-size:.8rem}.metrics-section{background:var(--panel-bg,#151b24);border:1px solid var(--panel-border,#1f2733);border-radius:10px;padding:1.25rem 1.5rem}.metrics-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.metrics-section-heading h2{margin:0;font-size:1.1rem}.metrics-trend-list,.metrics-customer-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.metrics-trend-row{grid-template-columns:60px 1fr;align-items:center;gap:.75rem;display:grid}.metrics-trend-label{opacity:.7;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.metrics-trend-bars{flex-direction:column;gap:.25rem;display:flex}.metrics-trend-bar{background:#ffffff0a;border-radius:4px;height:18px;position:relative;overflow:hidden}.metrics-trend-bar span{white-space:nowrap;pointer-events:none;mix-blend-mode:normal;align-items:center;padding:0 .5rem;font-size:.75rem;font-weight:600;display:flex;position:absolute;inset:0}.metrics-trend-bar-fill{background:#64c8ff40;border-right:2px solid #64c8ffb3;position:absolute;inset:0 auto 0 0}.metrics-trend-bar-fill--complete{background:#50c8784d;border-right-color:#50c878bf}.metrics-trend-bar-fill--incomplete{background:#ff8c6447;border-right-color:#ff8c64bf;top:0;bottom:0}.metrics-customer-row{grid-template-columns:minmax(240px,40%) 1fr;align-items:center;gap:1rem;display:grid}.metrics-customer-label strong{display:block}.metrics-customer-label span{opacity:.7;font-size:.8rem}.metrics-customer-bar{background:#ffffff0a;border-radius:4px;height:18px;overflow:hidden}.metrics-customer-bar-fill{background:linear-gradient(90deg,#64c8ff66,#64c8ffb3);height:100%;transition:width .15s}.metrics-dispatcher-table{border-collapse:collapse;width:100%;font-size:.9rem}.metrics-dispatcher-table th,.metrics-dispatcher-table td{text-align:left;border-bottom:1px solid #ffffff0f;padding:.5rem .75rem}.metrics-dispatcher-table th{opacity:.7;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.metrics-empty-state{background:var(--panel-bg,#151b24);border:1px dashed var(--panel-border,#1f2733);border-radius:10px;padding:1.5rem}.dispatch-smartsheet-panel{border:1px solid var(--panel-border,#1f2733);background:var(--panel-bg,#151b24);border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem}.dispatch-smartsheet-panel.is-muted{opacity:.7}.dispatch-smartsheet-panel__header{align-items:center;display:flex}.dispatch-smartsheet-panel__toggle{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.95rem;font-weight:600}.dispatch-smartsheet-panel__toggle:hover{text-decoration:underline}.dispatch-smartsheet-panel__body{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.dispatch-smartsheet-panel__controls{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.dispatch-smartsheet-panel__controls button{border-radius:6px;height:2rem;padding:0 .75rem}.dispatch-smartsheet-panel__summary{margin:.25rem 0;font-size:.85rem}.dispatch-smartsheet-panel__table-wrap{border:1px solid var(--panel-border,#1f2733);border-radius:6px;overflow-x:auto}.dispatch-smartsheet-panel__table{border-collapse:collapse;width:100%;font-size:.9rem}.dispatch-smartsheet-panel__table th,.dispatch-smartsheet-panel__table td{text-align:left;border-bottom:1px solid #ffffff0d;padding:.4rem .6rem}.dispatch-smartsheet-panel__table th{opacity:.7;text-transform:uppercase;letter-spacing:.04em;background:#ffffff05;font-size:.75rem;font-weight:600}.dispatch-smartsheet-panel__table tr.is-disabled{opacity:.55}.dispatch-smartsheet-panel__table tr.is-disabled td{font-style:italic}.sm-status-badge{letter-spacing:.02em;border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.sm-status-badge.is-new{color:#5dd08a;background:#39ac5e2e}.sm-status-badge.is-skip{color:#ffffffa6;background:#ffffff14}.dispatch-smartsheet-panel__pager,.panel-heading-actions{align-items:center;gap:.75rem;display:flex}.dismiss-session-btn{border:1px solid var(--panel-border,#1f2733);color:#ffffffb3;cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;line-height:1;display:inline-flex}.dismiss-session-btn:hover{color:#fff;background:#ffffff0f}.history-page{flex-direction:column;align-content:start;gap:1rem;min-height:0;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.history-page__header h1{margin:0 0 .25rem;font-size:1.5rem}.history-page__controls{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.history-page__controls .search-field{flex:20rem}.history-page__controls .history-export-btn{white-space:nowrap;margin-left:auto}.history-table-wrap{border:1px solid var(--panel-border,#1f2733);background:var(--panel-bg,#151b24);border-radius:10px;overflow-x:auto}.history-table{border-collapse:collapse;width:100%;font-size:.9rem}.history-table th,.history-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #ffffff0d;padding:.55rem .85rem}.history-table th{opacity:.7;text-transform:uppercase;letter-spacing:.04em;z-index:1;background:#ffffff05;font-size:.75rem;font-weight:600;position:sticky;top:0}.history-open-btn{border:1px solid var(--panel-border,#1f2733);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.2rem .55rem;font-size:.8rem}.history-open-btn:hover{background:#ffffff0d}.history-page__pager{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.customer-chips{margin-top:10px}.customer-chips .customer-chip{border-left:4px solid var(--customer-color,#64748b)}.customer-chips .customer-chip.is-active{border-color:var(--customer-color,#2563eb);background:var(--customer-color,#2563eb);color:#fff}.customer-chips .customer-chip.is-active span,.customer-chips .customer-chip.is-active strong{color:#fff}.customer-badge{letter-spacing:.04em;text-transform:uppercase;background:var(--customer-color,#64748b);color:#fff;border:1px solid var(--customer-color,#64748b);vertical-align:middle;border-radius:10px;align-self:flex-start;width:max-content;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-block}.sync-dot-wrap{align-items:center;gap:6px;margin-left:6px;display:inline-flex}.sync-dot{background:#cbd5e1;border:1px solid #00000014;border-radius:50%;width:8px;height:8px;display:inline-block}.sync-dot-idle{background:#cbd5e1}.sync-dot-saving{background:#eab308;animation:1.2s ease-in-out infinite sync-dot-pulse}.sync-dot-synced{background:#22c55e}.sync-dot-skipped{background:#94a3b8}.sync-dot-failed{background:#ef4444}@keyframes sync-dot-pulse{0%,to{opacity:1}50%{opacity:.35}}.sync-dot-retry{color:#b91c1c;cursor:pointer;background:0 0;border:1px solid #ef4444;border-radius:10px;padding:1px 6px;font-size:.7rem;font-weight:600;line-height:1}.sync-dot-retry:hover{background:#fef2f2}.dispatch-field-label{align-items:center;display:inline-flex}.dispatch-drawer{background:var(--bg-surface,#fff);width:min(520px,100vw);max-width:100vw;color:var(--fg-primary,#111827);border-left:1px solid var(--border,#d1d5db);z-index:40;box-sizing:border-box;padding:14px 14px 40px;transition:transform .18s cubic-bezier(.2,.8,.2,1);position:fixed;top:64px;bottom:0;right:0;overflow:hidden auto;transform:translate(100%);box-shadow:-8px 0 24px #0000002e}.dispatch-drawer.is-open{transform:translate(0)}.dispatch-drawer .workflow-panel{box-shadow:none;background:0 0;border:none;margin:0;padding:0}.dispatch-drawer .panel-heading{background:var(--bg-surface,#fff);z-index:1;border-bottom:1px solid var(--border,#e5e7eb);margin-bottom:4px;padding-bottom:8px;position:sticky;top:0}@media (width<=900px){.dispatch-drawer{width:100vw;box-shadow:none;border-left:none;top:56px}}.dispatch-notes-panel{border-top:1px solid var(--border,#e2e8f0);flex-direction:column;gap:8px;margin-top:16px;padding:12px 14px;display:flex}.dispatch-notes-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.dispatch-notes-heading h3{margin:0;font-size:14px;font-weight:600}.dispatch-notes-ok{color:#16a34a;font-size:12px;font-weight:600}.dispatch-notes-err{color:#dc2626;font-size:12px;font-weight:600}.dispatch-notes-form{flex-direction:column;gap:6px;display:flex}.dispatch-notes-form textarea{resize:vertical;width:100%;min-height:60px;font:inherit;border:1px solid var(--border,#cbd5e1);background:var(--bg-input,#fff);color:var(--fg-primary,#151a23);border-radius:6px;padding:8px}.dispatch-notes-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dispatch-notes-scope{font-size:11px}.dispatch-notes-list{flex-direction:column;gap:8px;max-height:180px;margin:4px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.dispatch-notes-list li{border-left:3px solid var(--accent,#2563eb);background:var(--bg-card-alt,#2563eb0d);border-radius:4px;padding:6px 10px}.dispatch-notes-list-meta{align-items:baseline;gap:8px;font-size:11px;display:flex}.dispatch-notes-list p{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0;font-size:13px}.compact-button{white-space:nowrap;border-radius:5px;padding:4px 10px;font-size:12px;line-height:1.2}.sla-chip{letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:1px 7px;font-size:10.5px;font-weight:600;display:inline-flex}.sla-chip.sla-green{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.sla-chip.sla-amber{color:#92400e;background:#fffbeb;border-color:#fde68a}.sla-chip.sla-red{color:#991b1b;background:#fef2f2;border-color:#fecaca}.dispatch-card.has-hint{grid-template-rows:22px 18px 20px 18px}.dispatch-card-hint{color:#334155;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;font-style:italic;overflow:hidden}.dispatch-card.risk-red .dispatch-card-hint{color:#991b1b}.dispatch-card.risk-yellow .dispatch-card-hint{color:#92400e}.dispatch-audit-log{border-top:1px solid var(--border,#e2e8f0);margin-top:12px;padding:10px 14px}.dispatch-audit-log summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:baseline;gap:8px;font-size:14px;font-weight:600;display:flex}.dispatch-audit-log summary::-webkit-details-marker{color:var(--accent,#2563eb)}.dispatch-audit-log ul{flex-direction:column;gap:6px;max-height:240px;margin:8px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.dispatch-audit-log .audit-row{background:var(--bg-card-alt,#94a3b814);border-left:3px solid var(--border,#cbd5e1);border-radius:4px;padding:6px 10px;font-size:12px}.dispatch-audit-log .audit-row.audit-completed{border-left-color:#16a34a}.dispatch-audit-log .audit-row.audit-missed{border-left-color:#dc2626}.dispatch-audit-log .audit-row-meta{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.dispatch-audit-log .audit-row-note{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0;font-size:12px}.dispatch-audit-log .audit-row-actor{font-size:11px}.reopen-last-btn{border:1px solid var(--accent,#2563eb);color:var(--accent,#2563eb);cursor:pointer;white-space:nowrap;background:#2563eb14;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;transition:background .1s;display:inline-flex}.reopen-last-btn:hover{background:#2563eb2e}.reopen-last-btn:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}.new-customer-form{border:1px solid var(--border,#d9dde5);background:var(--bg-surface-raised,#f9fafb);border-radius:8px;flex-direction:column;gap:8px;margin:0 0 8px;padding:10px 12px;display:flex}.new-customer-form .field-row{flex-direction:column;align-items:stretch;gap:4px}.new-customer-form .field-row span{color:var(--fg-secondary,#526070);font-size:11px;font-weight:600}.new-customer-form input{border:1px solid var(--border,#c9d0dc);border-radius:6px;padding:6px 8px;font-size:13px}.new-customer-form-actions{justify-content:flex-end;margin-top:4px;display:flex}.readiness-progress-row{align-items:baseline;gap:12px;padding:10px 0 4px;display:flex}.readiness-progress-count{color:var(--fg-primary);font-size:14px;font-weight:700}.readiness-progress-count.is-complete{color:var(--status-pass,#16a34a)}.readiness-progress-meta{color:var(--fg-secondary);font-size:12px}.readiness-next-banner{border:1px solid;border-radius:8px;align-items:center;gap:12px;margin:8px 0 4px;padding:10px 14px;font-size:13px;display:flex}.readiness-next-banner--missing{background:var(--status-missed-bg,#dc262614);border-color:var(--status-missed-border,#dc2626)}.readiness-next-banner--warning{background:var(--status-warn-bg,#eab30814);border-color:var(--status-warn-border,#eab308)}.readiness-next-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.readiness-next-text strong{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-secondary);font-size:11px}.readiness-next-text span{color:var(--fg-primary);font-size:13px;font-weight:500}.readiness-next-banner .primary-button{white-space:nowrap;flex-shrink:0}button.readiness-chip{font:inherit;cursor:pointer;transition:transform .1s,box-shadow .1s}button.readiness-chip:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0f172a1f}button.readiness-chip.is-clickable:after{content:"›";opacity:.6;margin-left:4px;font-weight:700}button.readiness-chip:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}.board-summary-strip{background:var(--bg-surface-raised,#ffffff0a);border:1px solid var(--border,#ffffff14);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;padding:6px 12px;font-size:12px;display:flex}.board-summary-total{color:var(--fg-secondary);font-weight:500}.board-summary-total strong{color:var(--fg-primary);margin-left:2px;font-weight:700}.board-summary-chip{border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.board-summary-chip.is-zero{opacity:.45}.board-summary-dot{font-size:10px;line-height:1}.board-summary-red{color:#dc2626;background:#dc26261f;border-color:#dc26264d}.board-summary-amber{color:#c97a00;background:#eab3081f;border-color:#eab3084d}.board-summary-stalled{color:#b91c1c;background:#ef444414;border-color:#ef444440}.board-summary-action{color:#2563eb;background:#2563eb1a;border-color:#2563eb4d}.manager-snapshot-panel .eyebrow{margin:0 0 10px}.manager-snapshot-panel .snapshot-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.manager-snapshot-panel .snapshot-tile{background:#fafbfc;border:1px solid #e1e4ea;border-radius:6px;gap:2px;padding:8px 10px;display:grid}.manager-snapshot-panel .snapshot-tile span{color:#5a6171;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.manager-snapshot-panel .snapshot-tile strong{color:#1d2230;font-size:18px}.manager-snapshot-panel .snapshot-tile.accent-red{background:#fdf0f0;border-color:#d65454}.manager-snapshot-panel .snapshot-tile.accent-red strong{color:#b23232}.manager-snapshot-panel .snapshot-tile.accent-amber{background:#fdf8ec;border-color:#d9a048}.manager-snapshot-panel .snapshot-tile.accent-amber strong{color:#935f14}.manager-snapshot-panel .muted-text{margin:0;font-size:12px}.dispatch-card-copy-wo{color:#5a6171;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;margin-right:4px;padding:2px 5px;font-size:13px;line-height:1;display:inline-flex}.dispatch-card-copy-wo:hover{color:#1d2230;background:#eef1f6;border-color:#d9dde5}.dispatch-card-copy-wo .copy-confirm{color:#2a8055;font-weight:600;display:none}.dispatch-card-copy-wo.is-copied .copy-icon{display:none}.dispatch-card-copy-wo.is-copied .copy-confirm{display:inline}.dashboard-empty-state{text-align:center;background:#fafbfc;border:1px dashed #d9dde5;border-radius:8px;grid-column:1/-1;justify-items:center;gap:10px;padding:32px 16px;display:grid}.dashboard-empty-title{color:#5a6171;margin:0;font-size:13px}.dashboard-empty-clear{padding:4px 12px;font-size:12px}.dispatch-card-claim{color:#fff;cursor:pointer;background:#1f6fbf;border:none;border-radius:4px;margin-left:4px;padding:2px 10px;font-size:12px;font-weight:600}.dispatch-card-claim:hover{background:#1858a0}.header-oldest-chip{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border:1px solid #0000;border-radius:10px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.header-oldest-chip.is-green{color:#2a8055;background:#e6f4eb;border-color:#c2e1ce}.header-oldest-chip.is-amber{color:#935f14;background:#fdf3dd;border-color:#e7cd8e}.header-oldest-chip.is-red{color:#b23232;background:#fdeaea;border-color:#e8b5b5}.kbd-help-backdrop{z-index:200;background:#14182273;place-items:center;animation:.16s ease-out kbd-fade-in;display:grid;position:fixed;inset:0}@keyframes kbd-fade-in{0%{opacity:0}to{opacity:1}}.kbd-help-modal{background:#fff;border:1px solid #d9dde5;border-radius:10px;width:min(420px,100vw - 32px);padding:22px 26px;box-shadow:0 16px 40px #14182247}.kbd-help-header{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.kbd-help-header h2{color:#1d2230;margin:0;font-size:17px}.kbd-help-close{cursor:pointer;color:#5a6171;background:0 0;border:none;font-size:22px;line-height:1}.kbd-help-close:hover{color:#1d2230}.kbd-help-list{gap:6px;margin:0;display:grid}.kbd-help-row{grid-template-columns:110px 1fr;align-items:center;gap:10px;display:grid}.kbd-help-row dt{margin:0}.kbd-help-row dd{color:#3b4151;margin:0;font-size:13px}.kbd-help-row kbd{color:#1d2230;background:#f2f4f8;border:1px solid #c3c8d2;border-bottom-width:2px;border-radius:4px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;display:inline-block}.kbd-help-about{border-top:1px solid #e7ebf0;margin-top:14px;padding-top:14px}.kbd-help-about p{margin:4px 0;font-size:12px}.kbd-help-tip kbd{background:#f2f4f8;border:1px solid #c3c8d2;border-radius:3px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.shift-summary-btn{border-radius:4px;padding:4px 10px;font-size:12px}.shift-summary-btn .shift-summary-btn-confirm{color:#2a8055;font-weight:600;display:none}.shift-summary-btn.is-copied .shift-summary-btn-label{display:none}.shift-summary-btn.is-copied .shift-summary-btn-confirm{display:inline}.app-toast{color:#fff;z-index:150;background:#1d2230;border-radius:8px;align-items:center;gap:10px;max-width:min(420px,100vw - 32px);padding:10px 14px 10px 16px;font-size:13px;animation:.18s ease-out app-toast-in;display:flex;position:fixed;top:16px;right:16px;box-shadow:0 6px 18px #1418223d}@keyframes app-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.app-toast-text{line-height:1.35}.app-toast-close{color:#aeb3c0;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}.app-toast-close:hover{color:#fff}.cmd-palette-backdrop{z-index:210;background:#14182273;place-items:start center;padding-top:12vh;animation:.14s ease-out cmd-fade-in;display:grid;position:fixed;inset:0}@keyframes cmd-fade-in{0%{opacity:0}to{opacity:1}}.cmd-palette{background:#fff;border:1px solid #d9dde5;border-radius:10px;width:min(560px,100vw - 32px);overflow:hidden;box-shadow:0 20px 50px #14182252}.cmd-palette-input{border:none;border-bottom:1px solid #e7ebf0;outline:none;width:100%;padding:14px 18px;font-size:15px}.cmd-palette-results{background:#f2f4f8;gap:1px;max-height:50vh;display:grid;overflow-y:auto}.cmd-palette-item{text-align:left;cursor:pointer;background:#fff;border:none;grid-template-columns:120px 1fr auto;align-items:center;gap:10px;padding:10px 18px;display:grid}.cmd-palette-item strong{color:#1d2230;font-size:13px}.cmd-palette-item .cmd-palette-item-meta{color:#5a6171;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.cmd-palette-item.is-highlight{background:#e9f1fb}.cmd-palette-empty{text-align:center;background:#fff;margin:0;padding:18px}.cmd-palette-footer{color:#5a6171;background:#fafbfc;border-top:1px solid #e7ebf0;padding:8px 18px;font-size:11px}.cmd-palette-footer kbd{color:#1d2230;background:#f2f4f8;border:1px solid #c3c8d2;border-radius:3px;margin-right:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;display:inline-block}.landing-shell{color:#f1f5f9;background:linear-gradient(#0f172a 0%,#1e293b 55%,#0f172a 100%);flex-direction:column;min-height:100vh;font-family:inherit;display:flex;overflow-y:auto}.landing-topbar{border-bottom:1px solid #94a3b82e;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 32px;display:flex}.landing-brand{letter-spacing:.01em;color:#f8fafc;font-size:1.05rem;font-weight:700}.landing-topbar-actions{align-items:center;gap:10px;display:flex}.landing-topbar-link{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:.88rem}.landing-topbar-link:hover{color:#fff;background:#ffffff0a}.landing-topbar-primary{color:#0f172a;cursor:pointer;background:#38bdf8;border:none;border-radius:6px;padding:8px 18px;font-size:.9rem;font-weight:700}.landing-topbar-primary:hover{color:#fff;background:#0ea5e9}.landing-hero{text-align:center;max-width:880px;margin:0 auto;padding:72px 32px 32px}.landing-eyebrow{color:#38bdf8;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;font-size:.82rem;font-weight:600}.landing-title{color:#f8fafc;margin:0 0 20px;font-size:2.6rem;font-weight:800;line-height:1.15}.landing-lede{color:#cbd5e1;max-width:680px;margin:0 auto 32px;font-size:1.08rem;line-height:1.6}.landing-hero-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.landing-cta-primary{color:#0f172a;cursor:pointer;background:#38bdf8;border:none;border-radius:7px;padding:12px 22px;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .15s}.landing-cta-primary:hover{color:#fff;background:#0ea5e9}.landing-cta-secondary{color:#e2e8f0;cursor:pointer;background:0 0;border:1px solid #cbd5e159;border-radius:7px;padding:12px 22px;font-size:.95rem;font-weight:600}.landing-cta-secondary:hover{color:#fff;border-color:#fff}.landing-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;max-width:1000px;margin:48px auto 32px;padding:0 32px;display:grid}.landing-card{background:#1e293b8c;border:1px solid #94a3b82e;border-radius:10px;padding:22px 22px 20px}.landing-card h2{color:#f8fafc;margin:0 0 10px;font-size:1.08rem}.landing-card p{color:#cbd5e1;margin:0;font-size:.92rem;line-height:1.55}.landing-footer{text-align:center;border-top:1px solid #94a3b82e;margin-top:auto;padding:24px 32px}.landing-footer .muted-text{color:#94a3b8;font-size:.85rem}.landing-footer a{color:#7dd3fc;text-decoration:none}.landing-footer a:hover{text-decoration:underline}@media (width<=640px){.landing-title{font-size:1.9rem}.landing-hero{padding:48px 20px 24px}.landing-grid{padding:0 20px}}.today-page{flex-direction:column;gap:16px;min-height:0;padding:18px 22px 40px;display:flex;overflow-y:auto}.today-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.today-header h2{margin:0 0 4px;font-size:1.25rem}.today-counts{flex-wrap:wrap;gap:8px;display:flex}.today-count-chip{border-radius:14px;padding:5px 12px;font-size:.82rem;font-weight:600}.today-count-chip--wip{color:#1d4ed8;background:#dbeafe}.today-count-chip--assigned{color:#4338ca;background:#e0e7ff}.today-count-chip--pending{color:#475569;background:#f1f5f9}.today-count-chip--stuck{color:#991b1b;background:#fee2e2}.today-empty{border:1px dashed var(--border-color);text-align:center;border-radius:8px;padding:36px}.today-table{flex-direction:column;gap:4px;display:flex}.today-row{background:var(--bg-primary);border:1px solid var(--border-color);text-align:left;color:inherit;border-radius:6px;grid-template-columns:1.1fr .9fr 1fr 1fr 1fr .9fr .9fr .7fr .85fr;align-items:center;gap:10px;padding:10px 12px;font-size:.88rem;display:grid}.today-row--head{background:var(--bg-secondary);text-transform:uppercase;letter-spacing:.04em;color:var(--fg-secondary);font-size:.78rem;font-weight:600}.today-row--click{cursor:pointer;transition:border-color .12s,background .12s}.today-row--click:hover{border-color:var(--fg-secondary);background:var(--bg-secondary)}.today-row--risk-red{border-left:3px solid #dc2626}.today-row--risk-amber{border-left:3px solid #d97706}.today-row--risk-green{border-left:3px solid #16a34a}.today-customer{font-weight:600}.today-taskid{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.today-status{font-size:.82rem}.today-store,.today-dispatcher,.today-tech{color:var(--fg-secondary);font-size:.84rem}.today-age{color:var(--fg-secondary);font-size:.82rem}.today-onsite-pill{white-space:nowrap;text-align:center;border-radius:10px;padding:3px 10px;font-size:.82rem;font-weight:600;display:inline-block}.today-onsite-pill--ok{color:#065f46;background:#d1fae5}.today-onsite-pill--warn{color:#854d0e;background:#fef3c7}.today-onsite-pill--alert{color:#991b1b;background:#fecaca}@media (width<=900px){.today-row{grid-template-columns:1fr 1fr}.today-row--head{display:none}}.intake-page{grid-template-columns:minmax(0,1fr) 340px;align-content:start;gap:16px;min-height:0;padding:16px;display:grid;overflow-y:auto}.intake-main,.intake-aside{min-width:0}.intake-preflight{background:var(--bg-secondary,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;padding:16px;position:sticky;top:0}.intake-preflight h3{margin:0 0 6px;font-size:14px}.intake-preflight h4{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-secondary,#475569);margin:12px 0 6px;font-size:12px}.intake-preflight-section{border-top:1px solid var(--border-color,#e2e8f0);margin-top:8px;padding-top:8px}.intake-preflight-section:first-of-type{border-top:0;margin-top:0;padding-top:0}.intake-preflight-list{gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.intake-preflight-list li.is-on{color:#166534}.intake-preflight-list li.is-off{color:#94a3b8}.dispatch-intake-cta{background:var(--bg-secondary,#f8fafc);border:1px dashed var(--border-color,#cbd5e1);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin:12px 0;padding:16px;display:flex}.dispatch-intake-cta strong{margin-bottom:2px;font-size:14px;display:block}.dispatch-intake-cta .muted-text{margin:0;font-size:12px}.primary-button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:6px;padding:8px 14px;font-weight:600}.primary-button:hover{background:#1d4ed8}@media (width<=900px){.intake-page{grid-template-columns:1fr}.intake-preflight{position:static}}.dispatch-time-control{background:var(--bg-elevated);color:var(--fg-primary);border:1px solid #94a3b833;border-radius:6px;grid-column:1/-1;gap:8px;padding:12px;display:grid}.dtc-header{color:var(--fg-primary);justify-content:space-between;align-items:baseline;display:flex}.dtc-header strong{color:var(--fg-primary);font-size:13px}.dtc-header .muted-text{color:var(--fg-secondary);font-variant-numeric:tabular-nums;font-size:13px}.dtc-inputs{align-items:center;gap:6px;display:flex}.dtc-inputs input{background:var(--bg-surface);color:var(--fg-primary);font-variant-numeric:tabular-nums;border:1px solid #94a3b84d;border-radius:4px;flex:1;padding:6px 8px}.dtc-inputs input:focus{border-color:#60a5fa;outline:none;box-shadow:0 0 0 2px #60a5fa40}.dtc-inputs button{background:var(--bg-card);color:var(--fg-primary);cursor:pointer;border:1px solid #94a3b84d;border-radius:4px;padding:6px 10px;font-weight:600}.dtc-inputs button:hover{background:var(--bg-surface);border-color:#94a3b880}.dtc-inputs button.dtc-apply{color:#fff;background:#2563eb;border-color:#2563eb}.dtc-inputs button.dtc-apply:disabled{color:#6d769e;cursor:not-allowed;background:#3a4164;border-color:#3a4164}.dtc-inputs button.dtc-apply:not(:disabled):hover{background:#1d4ed8;border-color:#1d4ed8}.dtc-actions{flex-wrap:wrap;gap:6px;display:flex}.dtc-secondary{background:var(--bg-card);color:var(--fg-primary);cursor:pointer;border:1px solid #94a3b84d;border-radius:4px;padding:4px 8px;font-size:12px}.dtc-secondary:hover{background:var(--bg-surface);border-color:#94a3b880}.dtc-hint{color:var(--fg-secondary);font-size:11px;font-style:italic}.today-hint{margin:4px 12px 8px;font-size:11px;font-style:italic}.today-status-select{background:var(--bg-surface);width:100%;color:var(--fg-primary);cursor:pointer;border:1px solid #94a3b84d;border-radius:4px;padding:4px 6px;font-size:12px}.today-status-select:hover,.today-status-select:focus{border-color:#60a5fa;outline:none}.today-status-select option{background:var(--bg-surface);color:var(--fg-primary)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.error-boundary-shell{background:var(--bg-elevated,#0b1220);min-height:100vh;color:var(--fg-primary,#e5e7eb);place-items:center;padding:2rem;display:grid}.error-boundary-card{background:var(--bg-surface,#111827);border:1px solid var(--border-strong,#94a3b840);border-radius:14px;width:100%;max-width:640px;padding:2rem;box-shadow:0 20px 40px #00000059}.error-boundary-card h1{margin:.25rem 0 .5rem;font-size:1.5rem;line-height:1.2}.error-boundary-detail{background:var(--bg-elevated,#0b1220);border:1px solid var(--border-subtle,#94a3b826);color:var(--fg-secondary,#cbd5e1);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:220px;margin-top:1rem;padding:.75rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;overflow-y:auto}.error-boundary-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.error-boundary-hint{margin-top:1rem;font-size:.85rem}.error-boundary-hint a{color:var(--accent,#60a5fa)}.skeleton-rows{flex-direction:column;gap:.5rem;padding:.5rem 0;display:flex}.skeleton-row{background:var(--bg-surface,#111827);border:1px solid var(--border-subtle,#94a3b826);border-radius:10px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.skeleton-cell{background:linear-gradient(90deg, var(--bg-elevated,#94a3b81a) 0%, var(--border-subtle,#94a3b840) 50%, var(--bg-elevated,#94a3b81a) 100%);background-size:200% 100%;border-radius:6px;height:14px;animation:1.4s ease-in-out infinite skeleton-pulse}.skeleton-cell--sm{flex:0 0 120px}.skeleton-cell--md{flex:auto}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.today-count-chip--late{color:#991b1b;background:#fecaca;border:1px solid #fca5a5}.today-scheduled{color:var(--fg-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:.82rem;display:flex}.today-late-badge{color:#fff;text-transform:uppercase;letter-spacing:.04em;background:#dc2626;border-radius:6px;padding:2px 6px;font-size:.7rem;font-weight:700}.today-row--late{background:#dc26260f;border-left:3px solid #dc2626}.today-row--late.today-row--click:hover{background:#dc26261f}.tech-session-banner{color:var(--fg-primary);background:#16a34a1a;border:1px solid #16a34a66;border-left:4px solid #16a34a;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.tech-session-banner__body{flex-direction:column;gap:2px;min-width:0;display:flex}.tech-session-banner__body strong{letter-spacing:.02em;text-transform:uppercase;color:#15803d;font-size:.85rem}.tech-session-banner__task{color:var(--fg-primary);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;overflow:hidden}.tech-session-banner__elapsed{color:var(--fg-secondary);font-size:.82rem}.dtc-saved-flash{color:#16a34a;background:#16a34a1a;border-radius:6px;align-items:center;margin-left:6px;padding:2px 8px;font-size:.8rem;font-weight:600;animation:.2s ease-out dtc-flash-fade-in;display:inline-flex}@keyframes dtc-flash-fade-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.tech-elapsed-row{background:#16a34a0f;border:1px solid #16a34a40;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.tech-elapsed-value{color:var(--fg-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem}.tech-elapsed-hint{font-family:inherit;font-size:.82rem;font-weight:400}.upcoming-page{align-content:start;min-height:0;padding:0;overflow-y:auto}.upcoming-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.upcoming-header h2{margin:0 0 4px}.upcoming-controls{align-items:center;gap:8px;display:flex}.upcoming-search{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--fg-primary);border-radius:6px;min-width:220px;padding:6px 12px;font-size:.85rem}.upcoming-table{flex-direction:column;gap:4px;display:flex}.upcoming-row{background:var(--bg-primary);border:1px solid var(--border-color);text-align:left;color:inherit;border-radius:6px;grid-template-columns:1.1fr .9fr 1fr .9fr 1.3fr .9fr .9fr;align-items:center;gap:10px;padding:10px 12px;font-size:.88rem;display:grid}.upcoming-row--head{background:var(--bg-secondary);text-transform:uppercase;letter-spacing:.04em;color:var(--fg-secondary);font-size:.78rem;font-weight:600}.upcoming-row--click{cursor:pointer;transition:border-color .12s,background .12s}.upcoming-row--click:hover{border-color:var(--fg-secondary);background:var(--bg-secondary)}.upcoming-row--risk-red{border-left:3px solid #dc2626}.upcoming-row--risk-amber{border-left:3px solid #d97706}.upcoming-row--risk-green{border-left:3px solid #16a34a}.upcoming-customer{font-weight:600}.upcoming-taskid{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.upcoming-status{font-size:.82rem}.upcoming-store,.upcoming-dispatcher,.upcoming-tech{color:var(--fg-secondary);font-size:.84rem}.upcoming-scheduled{color:var(--fg-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:.84rem;display:flex}.upcoming-days-chip{background:var(--bg-elevated,#94a3b826);color:var(--fg-primary);border-radius:8px;padding:2px 7px;font-size:.72rem;font-weight:600}.upcoming-empty{text-align:center;padding:2rem 1rem}@media (width<=900px){.upcoming-row{grid-template-columns:1fr 1fr}.upcoming-row--head{display:none}}.today-attention-banner{color:var(--fg-primary);background:#dc262614;border:1px solid #dc26264d;border-left:4px solid #dc2626;border-radius:8px;align-items:center;gap:12px;margin-bottom:8px;padding:10px 14px;font-size:.88rem;display:flex}.today-attention-banner strong{white-space:nowrap}
