html{-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}input,textarea,select,button{touch-action:manipulation}.btn,.chip,.nav-tab,.mob-nav-item,.sidebar-link,.quick-assign-opt{-webkit-user-select:none;user-select:none}:root{--color-navy: #002266;--color-amber: #f59e0b;--color-cta: #d97706;--color-cta-hover: #b45309;--color-bg: #fafaf9;--color-surface: #ffffff;--color-text: #0a0a0a;--color-muted: #525252;--color-border: #e5e5e5;--color-navy-rgb: 0,34,102;--color-amber-rgb: 245,158,11;--color-cta-rgb: 217,119,6;--color-teal: #0d9488;--color-teal-hover: #0b7f74;--color-teal-dark: #064e4b;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--color-text-dark: #111827;--color-text-body: #1f2937;--color-gray-700: #374151;--color-gray-600: #4b5563;--color-muted-light: #6b7280;--color-subtle: #9ca3af;--color-border-light:#f3f4f6;--color-bg-subtle: #f9fafb;--color-navy-50: #e6eaf4;--color-navy-100: #ccd5e9;--color-navy-200: #99abd3;--color-navy-400: #4d70b3;--color-navy-500: #1a4599;--color-navy-600: #103880;--color-navy-700: #0a2d66;--color-navy-800: #052455;--color-navy-900: #002266;--pri-50: var(--color-navy-50);--pri-100: var(--color-navy-100);--pri-200: var(--color-navy-200);--pri-400: var(--color-navy-400);--pri-500: var(--color-navy-500);--pri-600: var(--color-navy-600);--pri-700: var(--color-navy-700);--pri-800: var(--color-navy-800);--pri-900: var(--color-navy-900);--n-0: #ffffff;--n-25: var(--color-bg);--n-50: var(--color-bg-subtle);--n-100: var(--color-border-light);--n-200: #dde0e6;--n-300: #c4c8d2;--n-400: var(--color-subtle);--n-500: var(--color-muted-light);--n-600: var(--color-muted);--n-700: #353b4a;--n-800: var(--color-text-body);--n-900: #111621;--n-950: var(--color-text);--color-success: #059669;--color-success-bg: #d1fae5;--color-success-text: #065f46;--color-danger: #dc2626;--color-danger-bg: #fee2e2;--color-danger-text: #991b1b;--color-warning: var(--color-amber);--color-warning-bg: #fef3c7;--color-warning-text: #92400e;--green-50: var(--color-success-bg);--green-100: var(--color-success-bg);--green-500: var(--color-success);--green-600: var(--color-success);--green-700: var(--color-success-text);--amber-50: #fef3c7;--amber-100: var(--color-warning-bg);--amber-500: var(--color-amber);--amber-600: var(--color-cta);--red-50: #fee2e2;--red-100: var(--color-danger-bg);--red-500: var(--color-danger);--red-600: var(--color-danger);--teal-50: #f0fdfa;--teal-100: #ccfbf1;--teal-300: #0d9488;--teal-500: #14b8a6;--teal-600: #0d9488;--teal-700: #0b7f74;--cyan-500: #06b6d4;--cyan-600: #0d9488;--shadow-xs: 0 1px 2px rgba(15,18,30,.04);--shadow-sm: 0 1px 3px rgba(15,18,30,.06), 0 1px 2px rgba(15,18,30,.04);--shadow-md: 0 4px 12px rgba(15,18,30,.06), 0 2px 4px rgba(15,18,30,.04);--shadow-lg: 0 12px 32px rgba(15,18,30,.08), 0 4px 8px rgba(15,18,30,.04);--shadow-xl: 0 24px 56px rgba(15,18,30,.12), 0 8px 16px rgba(15,18,30,.06);--shadow-glow: 0 0 0 3px rgba(51,102,230,.12);--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-full: 9999px;--ease: cubic-bezier(.22, 1, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-io: cubic-bezier(.4, 0, .2, 1);--tx-fast: .12s;--tx-mid: .18s;--tx-slow: .28s}*{box-sizing:border-box;margin:0;padding:0}button:disabled,button.btn-loading{opacity:.55;pointer-events:none;cursor:not-allowed}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--n-50);color:var(--n-800);-webkit-font-smoothing:antialiased;min-height:100vh}input,select,textarea,button{font-family:inherit;font-size:inherit}.nav{background:linear-gradient(135deg,var(--pri-900),var(--pri-800));color:#fff;padding:0 24px;display:flex;align-items:center;height:56px;box-shadow:var(--shadow-lg);position:sticky;top:0;z-index:50;gap:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.nav-logo{font-size:17px;font-weight:800;white-space:nowrap;display:flex;align-items:center;gap:8px;letter-spacing:-.02em}.nav-logo span{color:var(--color-amber)}.nav-tabs{display:flex;gap:2px;flex:1;overflow-x:auto}.nav-tab{padding:7px 14px;border-radius:var(--r-sm);cursor:pointer;font-size:12.5px;font-weight:500;color:#ffffffa6;border:none;background:none;white-space:nowrap;transition:all .2s var(--ease)}.nav-tab:hover{background:#ffffff26;color:#fff}.nav-tab.active{background:#ffffff26;color:#fff;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff1a}.quick-assign-wrap{position:relative;display:inline-block}.quick-assign-dd{position:absolute;top:100%;left:0;z-index:999;background:#fff;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 24px #0000001f;min-width:160px;max-height:200px;overflow-y:auto;display:none;padding:4px}.quick-assign-dd.open{display:block}.quick-assign-opt{display:block;width:100%;padding:8px 12px;font-size:13px;text-align:left;border:none;background:none;cursor:pointer;border-radius:4px;color:var(--color-text-body)}.quick-assign-opt:hover{background:var(--color-border-light);color:var(--color-text-dark)}.tech-route-card{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:16px;margin-bottom:12px;display:flex;align-items:flex-start;gap:14px;transition:all .15s}.tech-route-card:hover{box-shadow:0 4px 12px #0000000f}.tech-route-time{font-size:15px;font-weight:800;color:var(--color-cta);min-width:70px;padding-top:2px}.tech-route-info{flex:1;min-width:0}.tech-route-name{font-size:15px;font-weight:700;color:var(--color-text-dark)}.tech-route-service{font-size:13px;color:var(--color-muted-light);margin-top:2px}.tech-route-address{font-size:12px;color:var(--color-subtle);margin-top:4px;display:flex;align-items:center;gap:4px}.tech-route-action{flex-shrink:0}.tech-route-btn{min-height:44px;padding:10px 18px;border-radius:10px;font-size:14px;font-weight:700;border:none;cursor:pointer;white-space:nowrap;transition:all .15s}.tech-route-btn.start{background:var(--color-cta);color:#fff}.tech-route-btn.start:hover{background:var(--color-navy)}.tech-route-btn.arrive{background:var(--color-amber);color:#fff}.tech-route-btn.arrive:hover{background:var(--color-cta)}.tech-route-btn.complete{background:var(--color-success);color:#fff}.tech-route-btn.complete:hover{background:#047857}.tech-route-btn.view{background:var(--color-border-light);color:var(--color-gray-600)}.tech-route-btn.view:hover{background:var(--color-border)}.tech-route-nav{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--color-cta);cursor:pointer;padding:4px 0;border:none;background:none;margin-top:4px}.tech-route-nav:hover{text-decoration:underline}.sidebar{position:fixed;left:0;top:0;height:100vh;width:220px;background:#111827;z-index:50;display:flex;flex-direction:column;transition:width .2s var(--ease);overflow:hidden}.sidebar-brand{padding:20px 16px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand-name{font-size:16px;font-weight:800;color:#fff;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}.sidebar-brand-name span{color:var(--color-amber)}.sidebar-tenant{font-size:11px;color:#fff6;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 0;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-section{padding:0 12px;margin-bottom:4px}.sidebar-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffffff40;padding:8px 8px 4px;display:none}.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 12px;color:#fff9;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s var(--ease);border-left:3px solid transparent;margin:1px 0;position:relative;white-space:nowrap}.sidebar-link:hover{color:#fff;background:#ffffff12}.sidebar-link.active{color:var(--color-amber);background:rgba(var(--color-amber-rgb),.12);border-left-color:var(--color-amber);font-weight:700}.sidebar-link.active .sidebar-icon{color:var(--color-amber)}.sidebar-icon{width:18px;text-align:center;flex-shrink:0;font-size:15px}.sidebar-label{flex:1;overflow:hidden;text-overflow:ellipsis}.sidebar-badge{background:var(--color-danger);color:#fff;font-size:9px;font-weight:800;padding:1px 6px;border-radius:10px;min-width:16px;text-align:center}.sidebar-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-user{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sidebar-user-name{font-size:12px;font-weight:600;color:#fffc;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px}.sidebar-signout{display:flex;align-items:center;gap:6px;padding:6px 0;color:#fff6;font-size:12px;font-weight:500;cursor:pointer;border:none;background:none;transition:color .15s}.sidebar-signout:hover{color:#f87171}.sidebar-plan-badge{display:inline-flex;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;margin-top:6px;cursor:pointer}.sidebar.collapsed{width:64px}.sidebar.collapsed .sidebar-label,.sidebar.collapsed .sidebar-badge,.sidebar.collapsed .sidebar-tenant,.sidebar.collapsed .sidebar-user-name,.sidebar.collapsed .sidebar-user-role,.sidebar.collapsed .sidebar-section-label,.sidebar.collapsed .sidebar-signout span,.sidebar.collapsed .sidebar-plan-badge{display:none}.sidebar.collapsed .sidebar-brand-name{font-size:14px;justify-content:center}.sidebar.collapsed .sidebar-brand-name span{display:none}.sidebar.collapsed .sidebar-link{justify-content:center;padding:10px 0;border-left-width:0;border-radius:0}.sidebar.collapsed .sidebar-link.active{background:#ffffff1f;box-shadow:inset 3px 0 0 var(--color-navy-500)}.sidebar.collapsed .sidebar-icon{width:100%;font-size:17px}.sidebar.collapsed .sidebar-footer{padding:10px 8px;text-align:center}.sidebar.collapsed .sidebar-signout{justify-content:center}.sidebar.collapsed .sidebar-nav{padding:8px 0}.sidebar.collapsed .sidebar-link{position:relative}.sidebar.collapsed .sidebar-link:after{content:attr(data-tooltip);position:absolute;left:64px;top:50%;transform:translateY(-50%);background:#1f2937;color:#fff;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:100;box-shadow:0 4px 12px #0000004d}.sidebar.collapsed .sidebar-link:hover:after{opacity:1}.main-shell{min-height:0}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:49;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-overlay.open{display:block}.mob-hamburger{display:none!important;background:none;border:none;font-size:22px;color:#fff;cursor:pointer;padding:4px 8px;margin-right:4px}@media(min-width:769px){body{margin-left:220px;transition:margin-left .2s var(--ease)}.nav{display:none!important}.sidebar{display:flex!important}}@media(min-width:769px)and (max-width:1024px){body{margin-left:64px}.sidebar{width:64px}.sidebar .sidebar-label,.sidebar .sidebar-badge,.sidebar .sidebar-tenant,.sidebar .sidebar-user-name,.sidebar .sidebar-user-role,.sidebar .sidebar-section-label,.sidebar .sidebar-signout span,.sidebar .sidebar-plan-badge{display:none}.sidebar .sidebar-brand-name{font-size:14px;justify-content:center}.sidebar .sidebar-brand-name span{display:none}.sidebar .sidebar-link{justify-content:center;padding:10px 0;border-left-width:0;border-radius:0}.sidebar .sidebar-link.active{background:#ffffff1f;box-shadow:inset 3px 0 0 var(--color-navy-500)}.sidebar .sidebar-icon{width:100%;font-size:17px}.sidebar .sidebar-footer{padding:10px 8px;text-align:center}.sidebar .sidebar-signout{justify-content:center}.sidebar .sidebar-nav{padding:8px 0}.sidebar .sidebar-link{position:relative}.sidebar .sidebar-link:after{content:attr(data-tooltip);position:absolute;left:64px;top:50%;transform:translateY(-50%);background:#1f2937;color:#fff;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:100;box-shadow:0 4px 12px #0000004d}.sidebar .sidebar-link:hover:after{opacity:1}}@media(max-width:768px){body{margin-left:0!important}.sidebar{display:none;width:260px;z-index:200}.sidebar.mob-open{display:flex}.mob-hamburger{display:none!important}}.btn{padding:8px 16px;border-radius:var(--r-sm);border:none;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s var(--ease);display:inline-flex;align-items:center;gap:6px}.btn-primary{background:var(--color-cta);color:#fff;border-radius:7px;font-weight:600;letter-spacing:-.1px}.btn-primary:hover{background:var(--color-cta-hover);box-shadow:0 4px 12px rgba(var(--color-cta-rgb),.25);transform:translateY(-1px)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{background:#047857}.btn-warning{background:var(--color-cta);color:#fff}.btn-warning:hover{background:#b45309}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-text)}.btn-outline{background:#fff;border:1.5px solid var(--color-border);color:var(--color-text-body);border-radius:7px}.btn-outline:hover{border-color:#d1d5db;background:var(--color-bg-subtle)}.btn-white{background:#fff;color:var(--color-navy);font-weight:700}.btn-sm{padding:5px 11px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.main{max-width:1260px;margin:0 auto}.view{display:none;padding:28px;max-width:1260px;margin:0 auto}.view.active{display:block}.page-hdr{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;gap:12px}.page-title{font-size:21px;font-weight:800;color:var(--color-text-dark)}.page-sub{font-size:13px;color:var(--color-muted-light);margin-top:3px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat-card{background:var(--color-surface);border-radius:var(--r-md);padding:18px 20px;box-shadow:var(--shadow-sm);display:flex;align-items:flex-start;gap:14px;border:1px solid var(--color-border);border-left:3px solid var(--color-navy);transition:box-shadow .2s var(--ease),transform .2s var(--ease)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);border-left-color:var(--color-cta)}.csv-export-btn{border:1px solid var(--color-border)!important;color:var(--color-muted-light)!important;background:#fff!important;border-radius:6px!important;cursor:pointer;transition:all .15s}.csv-export-btn:hover{background:var(--color-bg-subtle)!important;color:var(--color-text-body)!important;border-color:var(--color-subtle)!important}.stat-icon{width:44px;height:44px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.stat-label{font-size:12px;color:var(--color-muted-light);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.stat-value{font-size:26px;font-weight:900;color:var(--color-text);line-height:1.05;margin-top:4px;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.stat-change{font-size:12px;color:var(--color-success);margin-top:4px;font-weight:700}.card{background:#fff;border-radius:var(--r-lg);padding:22px;box-shadow:0 1px 3px #0000000a;margin-bottom:18px;border:1px solid var(--color-border);transition:box-shadow .2s var(--ease)}.card:hover{box-shadow:var(--shadow-md)}.card-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.card-title{font-size:15px;font-weight:700;color:var(--n-900);letter-spacing:-.01em}.dash-grid{display:grid;grid-template-columns:3fr 2fr;gap:18px}.table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;color:var(--color-muted-light);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--color-border);background:var(--n-25)}.table td{padding:11px 13px;font-size:13.5px;border-bottom:1px solid #f3f4f6;vertical-align:middle;font-variant-numeric:tabular-nums}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--color-bg-subtle)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:100px;font-size:11px;font-weight:700;white-space:nowrap;letter-spacing:.02em}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;line-height:1.6}.status-pill:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;flex:none;opacity:.85}.status-pill[data-status=scheduled]{background:var(--n-100);color:var(--n-600)}.status-pill[data-status=enroute]{background:rgba(var(--color-navy-rgb),.08);color:var(--color-navy)}.status-pill[data-status=onsite],.status-pill[data-status=inprogress],.status-pill[data-status=done],.status-pill[data-status=complete],.status-pill[data-status=paid]{background:var(--green-50);color:var(--green-700)}.status-pill[data-status=overdue],.status-pill[data-status=pending]{background:var(--amber-50);color:var(--color-warning-text)}.status-pill[data-status=cancelled],.status-pill[data-status=declined],.status-pill[data-status=rejected]{background:var(--red-50);color:var(--red-600)}.badge-scheduled{background:rgba(var(--color-navy-rgb),.1);color:var(--color-navy)}.badge-enroute{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-inprogress,.badge-complete{background:var(--color-success-bg);color:var(--color-success-text)}.badge-cancelled{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge-draft{background:var(--color-border-light);color:var(--color-text-body)}.badge-pending{background:var(--color-warning-bg);color:var(--color-warning-text);animation:pulse 2s infinite}.badge-sent{background:rgba(var(--color-navy-rgb),.1);color:var(--color-navy)}.badge-approved{background:var(--color-success-bg);color:var(--color-success-text)}.badge-declined{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge-paid{background:var(--color-success-bg);color:var(--color-success-text)}.badge-pendin{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-rejected{background:var(--color-danger-bg);color:var(--color-danger-text)}.filters{display:flex;gap:7px;margin-bottom:18px;flex-wrap:wrap;align-items:center}.chip{padding:6px 14px;border-radius:var(--r-full);border:1.5px solid var(--n-200);background:var(--n-0);cursor:pointer;font-size:12px;font-weight:600;color:var(--n-600);transition:all .2s var(--ease)}.chip:hover{border-color:var(--pri-400);color:var(--pri-600)}.chip.active{background:var(--pri-700);color:#fff;border-color:var(--pri-700);box-shadow:0 2px 8px rgba(var(--color-navy-rgb),.2)}.search-box{padding:9px 14px;border:1.5px solid var(--n-200);border-radius:var(--r-sm);font-size:13px;outline:none;width:230px;background:var(--n-0);transition:all .2s var(--ease)}.search-box:hover{border-color:var(--n-300)}.search-box:focus{border-color:var(--pri-500);box-shadow:var(--shadow-glow)}.form-group{margin-bottom:15px}.form-label{display:block;font-size:12.5px;font-weight:600;color:var(--n-700);margin-bottom:6px;letter-spacing:.01em}.form-input{width:100%;padding:10px 14px;border:1.5px solid var(--n-200);border-radius:var(--r-sm);font-size:13.5px;outline:none;background:var(--n-0);transition:all .2s var(--ease)}.form-input:hover{border-color:var(--n-300)}.form-input:focus{border-color:var(--color-cta);box-shadow:0 0 0 3px rgba(var(--color-cta-rgb),.08)}textarea.form-input{resize:vertical}.form-select{width:100%;padding:9px 12px;border:1.5px solid var(--color-border);border-radius:8px;font-size:13.5px;outline:none;background:#fff;cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.map-ph{background:linear-gradient(135deg,rgba(var(--color-navy-rgb),.1),#e0f2fe);border:1.5px solid rgba(var(--color-navy-rgb),.25);border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--color-navy);text-align:center;padding:20px}.map-ph .mi{font-size:32px}.map-ph .mt{font-size:13px;font-weight:600}.map-ph .ms{font-size:12px;color:var(--color-navy-500)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:none;align-items:center;justify-content:center;z-index:1500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.leaflet-container{z-index:1!important}.modal-wide{max-width:780px}.modal-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-ttl{font-size:17px;font-weight:800;color:var(--color-text-dark)}.modal-x{background:var(--color-border-light);border:none;cursor:pointer;width:30px;height:30px;border-radius:7px;font-size:16px;display:flex;align-items:center;justify-content:center;color:var(--color-muted-light)}.modal-x:hover{background:var(--color-border)}.alert{padding:11px 14px;border-radius:8px;font-size:13px;margin-bottom:14px}.alert-info{background:rgba(var(--color-navy-rgb),.1);color:var(--color-navy);border:1px solid rgba(var(--color-navy-rgb),.25)}.alert-warn{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid #fcd34d}.alert-success{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid #a7f3d0}.sec-lbl{font-size:11px;font-weight:800;color:var(--color-subtle);text-transform:uppercase;letter-spacing:.07em;margin-bottom:9px}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{background:var(--color-border-light)}.sort-icon{font-size:10px;color:var(--color-subtle);margin-left:3px;display:inline-block;min-width:10px}.input{width:100%;padding:9px 12px;border:1.5px solid var(--color-border);border-radius:8px;font-size:13.5px;outline:none;background:#fff;transition:border-color .15s}.input:focus{border-color:var(--color-cta);box-shadow:0 0 0 3px rgba(var(--color-cta-rgb),.1)}.bk-wrap{max-width:640px;margin:0 auto}.step-bar{display:flex;align-items:center;margin-bottom:26px}.step-node{display:flex;flex-direction:column;align-items:center;gap:3px}.step-c{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:all .2s}.step-c.done{background:var(--color-success);color:#fff}.step-c.curr{background:var(--color-navy);color:#fff;box-shadow:0 0 0 4px rgba(var(--color-navy-rgb),.2)}.step-c.next{background:var(--color-border);color:var(--color-subtle)}.step-l{font-size:10.5px;font-weight:600;color:var(--color-muted-light);white-space:nowrap}.step-line{flex:1;height:2.5px;background:var(--color-border);margin:0 5px 14px}.step-line.done{background:var(--color-success)}.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.svc-card{border:2px solid var(--color-border);border-radius:11px;padding:16px 10px;cursor:pointer;text-align:center;transition:all .15s}.svc-card:hover{border-color:var(--color-amber);background:rgba(var(--color-navy-rgb),.06);transform:translateY(-2px)}.svc-card.sel{border-color:var(--color-navy);background:rgba(var(--color-navy-rgb),.06);box-shadow:0 0 0 3px rgba(var(--color-navy-rgb),.1)}.svc-icon{font-size:28px;margin-bottom:7px}.svc-name{font-size:12.5px;font-weight:700;color:var(--color-text-body)}.svc-price{font-size:11.5px;color:var(--color-muted-light);margin-top:2px}.cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.cal-nav span{font-size:14px;font-weight:700}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-h{text-align:center;font-size:10.5px;font-weight:700;color:var(--color-subtle);padding:3px 0}.cal-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:7px;font-size:12.5px;font-weight:500;cursor:pointer;transition:all .12s}.cal-cell:hover:not(.cal-dis):not(.cal-off){background:rgba(var(--color-navy-rgb),.1);color:var(--color-navy)}.cal-cell.cal-today{color:var(--color-navy);font-weight:800}.cal-cell.cal-sel{background:var(--color-navy);color:#fff!important;font-weight:700}.cal-cell.cal-dis{color:var(--color-border);cursor:not-allowed}.cal-cell.cal-off{visibility:hidden}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:11px}.ts{border:1.5px solid var(--color-border);border-radius:8px;padding:8px 5px;text-align:center;cursor:pointer;font-size:12.5px;font-weight:600;background:#fff;color:var(--color-text-body);transition:all .12s}.ts:hover:not(.ts-na){border-color:var(--color-amber);color:var(--color-navy);background:rgba(var(--color-navy-rgb),.06)}.ts.ts-sel{background:var(--color-navy);color:#fff;border-color:var(--color-navy)}.ts.ts-na{background:var(--color-border-light);color:var(--color-border);cursor:not-allowed;text-decoration:line-through}.conf-card{background:linear-gradient(135deg,var(--color-navy),#0ea5e9);border-radius:16px;padding:32px;color:#fff;text-align:center;box-shadow:0 10px 40px rgba(var(--color-navy-rgb),.3)}.cust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cust-card{background:var(--n-0);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .25s var(--ease);border:1px solid var(--n-100)}.cust-card:hover{box-shadow:var(--shadow-lg);border-color:var(--pri-200);transform:translateY(-3px)}.cust-av{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;margin-bottom:12px}.cust-stats{display:flex;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-light)}.cs-val{font-size:14px;font-weight:800;color:var(--color-text-dark)}.cs-lbl{font-size:10.5px;color:var(--color-subtle)}.qline-table{width:100%;border-collapse:collapse;margin-bottom:12px}.qline-table th{font-size:11px;font-weight:700;color:var(--color-muted-light);padding:7px 9px;border-bottom:1.5px solid var(--color-border);text-transform:uppercase}.qline-table td{padding:7px 9px;border-bottom:1px solid var(--color-border-light);vertical-align:middle}.qline-input{border:1.5px solid var(--color-border);border-radius:6px;padding:5px 8px;font-size:13px;width:100%;outline:none}.qline-input:focus{border-color:var(--color-cta)}.q-totals{background:var(--color-bg-subtle);border-radius:10px;padding:14px;margin-top:12px}.q-total-row{display:flex;justify-content:space-between;font-size:13.5px;padding:4px 0;color:var(--color-text-body)}.q-total-row.grand{font-size:16px;font-weight:800;color:var(--color-text-dark);border-top:2px solid var(--color-border);margin-top:6px;padding-top:10px}.sig-wrap{border:2px dashed rgba(var(--color-navy-rgb),.25);border-radius:10px;background:#f8faff;text-align:center;padding:10px}.sig-wrap canvas{border-radius:7px;background:#fff;cursor:crosshair;touch-action:none;display:block;margin:0 auto}.upload-zone{border:2.5px dashed rgba(var(--color-navy-rgb),.25);border-radius:11px;padding:30px;text-align:center;cursor:pointer;background:#f8faff;transition:all .15s}.upload-zone:hover{border-color:var(--color-cta);background:rgba(var(--color-navy-rgb),.06)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}@media(max-width:768px){.photo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:390px){.photo-grid{grid-template-columns:1fr}}.photo-card{border-radius:10px;overflow:hidden;border:1.5px solid var(--color-border);position:relative}.photo-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.photo-card .photo-ctrl{position:absolute;bottom:0;left:0;right:0;background:#0009;padding:6px 8px;display:flex;align-items:center;gap:6px}.photo-tag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px}.tag-before{background:var(--color-warning-bg);color:var(--color-warning-text)}.tag-during{background:rgba(var(--color-navy-rgb),.1);color:var(--color-navy)}.tag-after{background:var(--color-success-bg);color:var(--color-success-text)}.photo-del{background:#dc2626cc;border:none;color:#fff;border-radius:5px;padding:2px 7px;cursor:pointer;font-size:12px;margin-left:auto}.dispatch-cell.drag-over{background:rgba(var(--color-cta-rgb),.08)!important;outline:2px dashed var(--color-navy-500);outline-offset:-2px;border-radius:8px}.dispatch-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.dispatch-grid{display:grid;min-width:900px}@media(max-width:900px){.dispatch-grid{min-width:600px}}@media(max-width:600px){.dispatch-grid{min-width:480px}.dispatch-tech{padding:8px;font-size:11px;gap:6px}.dispatch-cell{min-height:60px;padding:3px}.d-job-card{font-size:11px;padding:5px 7px}}.dispatch-hdr{display:grid;background:var(--color-bg-subtle);border-bottom:2px solid var(--color-border)}.dispatch-row{display:grid;border-bottom:1px solid var(--color-border-light);min-height:80px}.dispatch-cell{border-right:1px solid var(--color-border-light);padding:5px;min-height:80px;transition:background .15s}.dispatch-cell.drag-over{background:rgba(var(--color-navy-rgb),.06);border:2px dashed var(--color-cta)}.dispatch-tech{padding:12px;background:var(--color-bg-subtle);border-right:1px solid var(--color-border);display:flex;align-items:center;gap:10px;font-weight:700;font-size:13px}.dispatch-time{padding:7px 5px;text-align:center;font-size:11.5px;font-weight:600;color:var(--color-muted-light)}.d-job-card{background:#fff;border-radius:7px;padding:7px 9px;margin-bottom:4px;border-left:3px solid var(--color-cta);font-size:12px;cursor:grab;box-shadow:0 1px 3px #00000014}.d-job-card:active{cursor:grabbing;opacity:.7}.unassigned-panel{background:var(--color-surface);border-radius:var(--r-md);padding:14px 16px;box-shadow:var(--shadow-sm);margin-bottom:14px;border:1px solid var(--color-border)}.unassigned-panel .sec-lbl{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted-light);margin-bottom:10px}.unassigned-panel #unassigned-jobs{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.unassigned-panel #unassigned-jobs:empty:after{content:"No unassigned jobs today.";font-size:12px;color:var(--color-subtle);font-style:italic;padding:8px 0}.unassigned-panel #unassigned-jobs>*{flex:0 0 auto;min-width:220px;max-width:280px}.dispatch-map-toggle{background:transparent;border:1px solid var(--color-border);border-radius:var(--r-sm);padding:4px 10px;font-size:12px;font-weight:700;color:var(--color-muted-light);cursor:pointer;transition:all .15s}.dispatch-map-toggle:hover{color:var(--color-text);border-color:var(--color-text-body)}#live-map-card.is-collapsed #live-tech-leaflet{height:48px!important;border-radius:var(--r-sm)}#live-map-card.is-collapsed #live-tech-legend,#live-map-card.is-collapsed #dispatch-map-job-count{display:none}#live-tech-leaflet{height:360px;width:100%;border-radius:var(--r-md);transition:height .2s var(--ease)}#live-tech-leaflet .leaflet-control-zoom{border:none;box-shadow:0 2px 8px #00000026}#live-tech-leaflet .leaflet-control-zoom a{width:32px;height:32px;line-height:32px;font-size:16px;border-radius:6px;background:#fff;color:var(--color-text-body);font-weight:700}.dispatch-pin-wrapper{background:none!important;border:none!important}.dispatch-pin{border-radius:50%;border:2.5px solid #fff;box-shadow:0 2px 8px #0000004d;cursor:pointer;transition:transform .15s}.dispatch-pin:hover{transform:scale(1.25);z-index:999!important}.dispatch-map-legend{position:absolute;bottom:12px;left:12px;z-index:5;background:#ffffffeb;border-radius:8px;padding:8px 12px;display:flex;gap:10px;box-shadow:0 2px 8px #0000001f;font-size:11px;color:var(--color-gray-600)}.dispatch-map-legend span{display:flex;align-items:center;gap:4px}.dispatch-map-legend .dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dispatch-card-highlight{animation:cardPulse .8s ease-out}@keyframes cardPulse{0%{box-shadow:0 0 0 4px rgba(var(--color-cta-rgb),.5);background:rgba(var(--color-navy-rgb),.06)}to{box-shadow:none;background:inherit}}.dc-resize-handle{position:absolute;bottom:0;left:0;right:0;height:8px;cursor:ns-resize;background:linear-gradient(transparent,#0000000f);border-radius:0 0 7px 7px;opacity:0;transition:opacity .15s}.dispatch-card:hover .dc-resize-handle{opacity:1}.dispatch-card.dc-resizing{opacity:.85;z-index:10;box-shadow:0 4px 16px #00000026}.dispatch-card{position:relative}.gantt-wrap{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 200px);background:var(--color-surface);border-radius:var(--r-md);border:1px solid var(--color-border);position:relative}.gantt-header{display:flex;position:sticky;top:0;z-index:5;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border)}.gantt-header-cell{flex-shrink:0;text-align:center;font-size:12px;font-weight:700;color:var(--color-muted-light);padding:10px 6px;border-right:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.06em}.gantt-row{display:flex;position:relative;min-height:72px;border-bottom:1px solid var(--color-border)}.gantt-tech-label{flex-shrink:0;width:200px;padding:12px 14px;font-weight:700;font-size:13px;color:var(--color-text);border-right:1px solid var(--color-border);background:var(--color-surface);display:flex;align-items:center;gap:10px;position:sticky;left:0;z-index:3}.gantt-track{flex:1;position:relative;min-height:72px}.gantt-bar{position:absolute;top:10px;height:52px;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:700;color:#fff;cursor:grab;overflow:hidden;box-shadow:0 1px 3px rgba(var(--color-navy-rgb),.12);transition:box-shadow .15s,transform .1s;display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:30px;letter-spacing:-.01em}.gantt-bar .gb-time{font-size:10px;opacity:.82;font-weight:600;line-height:1;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-bar .gb-label{font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.gantt-bar .gb-label .entity-link{color:#fff;border-bottom-color:#ffffff80}.gantt-bar .gb-service{opacity:.82;font-weight:600}.gantt-bar:hover{box-shadow:0 4px 14px rgba(var(--color-navy-rgb),.22);z-index:4;transform:translateY(-1px)}.gantt-bar.gb-dragging{opacity:.75;z-index:10;box-shadow:0 4px 16px #00000040;cursor:grabbing}.gantt-bar .gb-resize-r{position:absolute;right:0;top:0;bottom:0;width:8px;cursor:ew-resize;border-radius:0 8px 8px 0}.gantt-bar .gb-resize-r:hover{background:#ffffff59}.gantt-bar.gb-conflict{animation:conflictPulse 1.2s ease-in-out infinite}@keyframes conflictPulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444426}}.gantt-travel-gap{position:absolute;top:20px;height:32px;border-radius:4px;background:repeating-linear-gradient(90deg,rgba(148,163,184,.15),rgba(148,163,184,.15) 4px,transparent 4px,transparent 8px);pointer-events:none;z-index:0;display:flex;align-items:center;justify-content:center}.gantt-travel-gap span{font-size:9px;color:var(--color-subtle);font-weight:700;background:#ffffffd9;padding:1px 5px;border-radius:3px}.gantt-drop-zone{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1}.gantt-drop-zone.gb-hover{background:rgba(var(--color-cta-rgb),.06);outline:2px dashed var(--color-amber);outline-offset:-2px;border-radius:4px}.gantt-row.gb-heatmap-green .gantt-track{background:#16a34a08}.gantt-row.gb-heatmap-yellow .gantt-track{background:#eab3080d}.gantt-row.gb-heatmap-red .gantt-track{background:#ef44440d}.gantt-util-badge{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;z-index:2}.gantt-now-line{position:absolute;top:0;bottom:0;width:2px;background:var(--color-danger);z-index:6;pointer-events:none}.gantt-now-label{position:absolute;top:-2px;font-size:9px;font-weight:700;color:#fff;background:var(--color-danger);padding:1px 5px;border-radius:3px;white-space:nowrap;transform:translate(-50%)}.gantt-jump-now{position:absolute;top:8px;right:8px;z-index:7;background:var(--color-danger);color:#fff;border:none;border-radius:6px;padding:4px 10px;font-size:10px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #ef44444d;display:none}.gantt-jump-now:hover{background:var(--color-danger)}.gantt-zoom{display:inline-flex;border-radius:6px;overflow:hidden;border:1.5px solid var(--color-border);margin-left:8px}.gantt-zoom button{padding:4px 10px;font-size:11px;font-weight:700;cursor:pointer;border:none;background:#fff;color:var(--color-muted-light);transition:all .12s}.gantt-zoom button.active{background:var(--color-navy);color:#fff}.gantt-ghost-bar{position:absolute;top:10px;height:52px;border-radius:8px;background:rgba(var(--color-cta-rgb),.2);border:2px dashed var(--color-navy-500);pointer-events:none;z-index:8;display:none}.tap-text-btn{transition:transform .1s ease,box-shadow .1s ease}.tap-text-btn:active{transform:scale(.92);box-shadow:0 0 0 3px #22c55e59}@keyframes tapPulse{0%{transform:scale(1)}50%{transform:scale(.93)}to{transform:scale(1)}}.entity-link{cursor:pointer;text-decoration:none;border-bottom:1px dashed currentColor;transition:border-color .15s,color .15s,opacity .15s;opacity:.9}.entity-link:hover{opacity:1;border-bottom-style:solid}.entity-link--cust{color:var(--color-cta);border-bottom-color:var(--color-amber)}.entity-link--cust:hover{color:var(--color-navy);border-bottom-color:var(--color-cta)}.entity-link--tech{color:var(--color-teal);border-bottom-color:var(--color-teal)}.entity-link--tech:hover{color:var(--color-teal-hover);border-bottom-color:var(--color-teal)}.entity-link--addr{color:var(--color-teal);border-bottom-color:#a5f3fc}.entity-link--addr:hover{color:#0e7490;border-bottom-color:var(--color-teal)}.jd-cust-link{color:var(--color-cta);cursor:pointer;text-decoration:none;border-bottom:1px dashed var(--color-amber);transition:border-color .15s,color .15s}.jd-cust-link:hover{color:var(--color-navy);border-bottom-color:var(--color-cta)}.cust-del-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--color-danger-bg);border:1.5px solid #fee2e2;color:var(--color-danger);font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.cust-card{position:relative}.cust-card:hover .cust-del-btn{opacity:1}.cust-del-btn:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.dv-toggle{display:inline-flex;border-radius:8px;overflow:hidden;border:1.5px solid var(--color-border)}.dv-toggle-btn{padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer;border:none;background:#fff;color:var(--color-muted-light);transition:all .15s}.dv-toggle-btn.active{background:var(--color-navy);color:#fff}@media(max-width:768px){#live-tech-leaflet{height:240px}.unassigned-panel #unassigned-jobs>*{min-width:180px}}.review-thumb{width:100%;padding:20px;border-radius:12px;font-size:32px;cursor:pointer;border:2.5px solid;transition:all .15s;text-align:center}.review-thumb.up{border-color:var(--color-success);background:var(--color-success-bg);color:var(--color-success-text)}.review-thumb.up:hover{background:var(--color-success-bg)}.review-thumb.down{border-color:var(--color-border);background:var(--color-bg-subtle);color:var(--color-text-body)}.review-thumb.down:hover{background:var(--color-danger-bg);border-color:var(--color-danger)}#stripe-card-el{border:1.5px solid var(--color-border);border-radius:8px;padding:11px 12px;background:#fff;min-height:42px}.pay-tabs{display:flex;border:1.5px solid var(--color-border);border-radius:9px;overflow:hidden;margin-bottom:16px}.pay-tab{flex:1;padding:9px 6px;text-align:center;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--color-muted-light);background:var(--color-bg-subtle);border:none;border-right:1.5px solid var(--color-border);transition:all .15s}.pay-tab:last-child{border-right:none}.pay-tab.active{background:var(--color-navy);color:#fff}.pay-sec{display:none}.pay-sec.active{display:block}.tip-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.tip-btn{padding:5px 11px;border-radius:20px;border:1.5px solid var(--color-border);background:#fff;font-size:12px;font-weight:600;cursor:pointer;color:var(--color-text-body);transition:all .15s}.tip-btn:hover{border-color:var(--color-cta);color:var(--color-cta)}.tip-btn.active{background:var(--color-navy);color:#fff;border-color:var(--color-navy)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:16px;height:16px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.receipt-card{background:#fff;border-radius:13px;border:1.5px solid var(--color-border);padding:22px}.receipt-row{display:flex;justify-content:space-between;font-size:13px;padding:5px 0;color:var(--color-text-body)}.receipt-row.total{font-weight:800;font-size:15px;border-top:1.5px solid var(--color-border);margin-top:7px;padding-top:10px}.pb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.pb-card{background:#fff;border:1.5px solid var(--color-border);border-radius:10px;padding:14px;transition:all .15s}.export-table-row{background:var(--color-bg-subtle);border:1.5px solid var(--color-border);border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;color:var(--color-text-body)}.pb-card:hover{border-color:rgba(var(--color-navy-rgb),.25);box-shadow:0 2px 8px #00000012}.pb-cat-badge{font-size:11px;font-weight:700;padding:2px 9px;border-radius:10px;margin-bottom:8px;display:inline-flex}.toggle{position:relative;width:44px;height:24px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.tog-sl{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--color-border);border-radius:24px;transition:.25s}.tog-sl:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.25s;box-shadow:0 1px 3px #0003}.toggle input:checked+.tog-sl{background:var(--pri-600)}.toggle input:checked+.tog-sl:before{transform:translate(20px)}.int-card{border:1.5px solid var(--color-border);border-radius:12px;padding:16px;margin-bottom:12px}.int-card.on{border-color:rgba(var(--color-navy-rgb),.25);background:#f0f9ff}.int-fields{display:none;margin-top:13px;padding-top:13px;border-top:1px solid var(--color-border)}.int-card.on .int-fields{display:block}.code-blk{background:#111827;color:var(--color-border);border-radius:9px;padding:14px;font-family:Courier New,monospace;font-size:12px;white-space:pre-wrap;overflow-x:auto;line-height:1.6}.ck{color:var(--color-amber)}.cs{color:var(--color-success-bg)}.feat-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--color-border-light)}.feat-row:last-child{border-bottom:none}.feat-info{flex:1;padding-right:16px}.feat-name{font-size:14px;font-weight:700;color:var(--color-text-dark);margin-bottom:3px}.feat-desc{font-size:12.5px;color:var(--color-muted-light)}.fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--n-950) 0%,var(--pri-900) 50%,var(--pri-700) 100%);display:flex;align-items:center;justify-content:center;z-index:9999}.auth-box{background:var(--n-0);border-radius:var(--r-xl);padding:40px 36px;width:100%;max-width:440px;box-shadow:var(--shadow-xl);border:1px solid rgba(255,255,255,.08)}.auth-logo{text-align:center;font-size:28px;font-weight:900;color:var(--pri-700);margin-bottom:4px;letter-spacing:-.03em}.auth-sub{text-align:center;font-size:13px;color:var(--color-muted-light);margin-bottom:26px}.auth-err{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid #fee2e2;border-radius:8px;padding:9px 12px;font-size:13px;margin-bottom:14px;display:none}.role-badge{padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:800;white-space:nowrap}.role-admin{background:var(--color-danger-bg);color:var(--color-danger-text)}.role-owner{background:#f0fdfa;color:var(--color-teal-hover)}.role-manager{background:var(--color-warning-bg);color:var(--color-warning-text)}.role-employee{background:var(--color-success-bg);color:var(--color-success-text)}.role-office{background:#e0f2fe;color:var(--color-navy)}.nav-user{display:flex;align-items:center;gap:8px;background:#ffffff1f;border-radius:9px;padding:5px 11px;font-size:13px;font-weight:600;color:#fff;white-space:nowrap}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffffd9;display:flex;align-items:center;justify-content:center;z-index:8000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.loading-spinner{width:40px;height:40px;border:4px solid var(--pri-100);border-top-color:var(--pri-600);border-radius:50%;animation:spin .8s linear infinite}.empty-state{text-align:center;padding:48px 24px;color:var(--n-400)}.empty-state .es-icon{font-size:40px;margin-bottom:12px}.empty-state .es-title{font-size:16px;font-weight:700;color:var(--n-700);margin-bottom:8px;letter-spacing:-.01em}.empty-state .es-sub{font-size:13.5px}.realtime-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success);display:inline-block;margin-right:5px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}.svc-grid,.cust-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.time-grid{grid-template-columns:repeat(3,1fr)}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.route-card{background:var(--n-0);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow-sm);border:1px solid var(--n-100);cursor:pointer;transition:all .25s var(--ease)}.route-card:hover{border-color:var(--pri-200);box-shadow:var(--shadow-md);transform:translateY(-1px)}.route-card.inactive{opacity:.55}.route-freq{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:700;background:rgba(var(--color-navy-rgb),.1);color:var(--color-navy);margin-bottom:8px}.route-stops{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.stop-chip{background:var(--color-border-light);border-radius:20px;padding:3px 9px;font-size:11.5px;font-weight:600;color:var(--color-text-body)}.shift-cal-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.shift-grid{display:grid;min-width:700px}@media(max-width:700px){.shift-grid{min-width:480px}.shift-emp-col{padding:8px;font-size:11px}.shift-day-hdr{font-size:10px;padding:6px 3px}.shift-cell{min-height:48px;padding:3px}.shift-block{font-size:10px;padding:4px 6px}}.shift-hdr-row{display:grid;background:var(--color-bg-subtle);border-bottom:2px solid var(--color-border);border-radius:10px 10px 0 0}.shift-emp-col{padding:12px;font-size:12px;font-weight:800;color:var(--color-text-body);background:var(--color-bg-subtle);border-right:1px solid var(--color-border);display:flex;align-items:center;gap:8px}.shift-day-hdr{padding:9px 5px;text-align:center;font-size:11.5px;font-weight:700;color:var(--color-muted-light);border-right:1px solid var(--color-border)}.shift-row{display:grid;border-bottom:1px solid var(--color-border-light);min-height:64px}.shift-cell{border-right:1px solid var(--color-border-light);padding:4px;min-height:64px;cursor:pointer;transition:background .12s;position:relative}.shift-cell:hover{background:#f0f9ff}.shift-block{background:linear-gradient(135deg,var(--color-navy),var(--color-cta));color:#fff;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:700;cursor:pointer;position:relative}.shift-block:hover{filter:brightness(1.1)}.shift-block .sb-del{position:absolute;top:2px;right:4px;background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:13px;padding:0;line-height:1}.shift-block .sb-del:hover{color:#fff}.tc-entry{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:9px;margin-bottom:7px;background:var(--color-bg-subtle)}.tc-entry.open{border-color:var(--color-success);background:var(--color-success-bg)}.tc-hours{font-size:13px;font-weight:700;color:var(--color-success)}.tc-meta{font-size:11.5px;color:var(--color-muted-light);margin-top:2px}.hours-table th{text-align:left;padding:9px 13px;font-size:11px;font-weight:700;color:var(--color-muted-light);text-transform:uppercase;border-bottom:1.5px solid var(--color-border)}.hours-table td{padding:10px 13px;font-size:13.5px;border-bottom:1px solid var(--color-border-light);vertical-align:middle}.ot-flag{color:var(--color-danger);font-weight:700;font-size:11.5px}.reg-hours{color:var(--color-success);font-weight:700}.promo-badge{display:inline-flex;align-items:center;gap:5px;background:var(--color-success-bg);color:var(--color-success-text);border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700}.promo-badge.invalid{background:var(--color-danger-bg);color:var(--color-danger-text)}.tech-checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.tech-check-item{display:flex;align-items:center;gap:6px;background:var(--color-border-light);border-radius:8px;padding:6px 11px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--color-text-body);border:1.5px solid transparent;transition:all .12s}.tech-check-item:hover{border-color:var(--color-amber);background:rgba(var(--color-navy-rgb),.06)}.tech-check-item.selected{background:rgba(var(--color-navy-rgb),.06);border-color:var(--color-navy);color:var(--color-navy)}.tech-check-item input[type=checkbox]{accent-color:var(--color-navy);width:14px;height:14px}[id$=-modal],#lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:none;align-items:center;justify-content:center;z-index:1500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#lightbox{background:#000000eb}.modal-content{background:var(--n-0);border-radius:var(--r-xl);padding:28px;width:94%;max-height:92vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:1px solid var(--n-100)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-title{font-size:17px;font-weight:800;color:var(--color-text-dark)}.close-btn{background:var(--color-border-light);border:none;cursor:pointer;width:30px;height:30px;border-radius:7px;font-size:16px;display:flex;align-items:center;justify-content:center;color:var(--color-muted-light)}.close-btn:hover{background:var(--color-border)}.tab-nav{display:flex;border:1.5px solid var(--color-border);border-radius:9px;overflow:hidden;margin-bottom:16px}.tab-btn{flex:1;padding:9px 6px;text-align:center;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--color-muted-light);background:var(--color-bg-subtle);border:none;border-right:1.5px solid var(--color-border);transition:all .15s}.tab-btn:last-child{border-right:none}.tab-btn.active{background:var(--color-navy);color:#fff}.pay-tab-content{display:none}.pay-tab-content.active{display:block}.btn-secondary{background:#fff;border:1.5px solid var(--color-border);color:var(--color-text-body)}.btn-secondary:hover{background:var(--color-bg-subtle);border-color:var(--color-subtle)}#confirm-modal{z-index:1600}.bk-wrap{max-width:600px;margin:0 auto}.step-bar{display:flex;align-items:center;margin-bottom:22px;overflow-x:auto;padding:4px 0}.sb-step{display:flex;flex-direction:column;align-items:center;min-width:56px}.sb-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;border:2px solid var(--color-border);background:#fff;color:var(--color-subtle);transition:all .2s}.sb-lbl{font-size:10px;margin-top:4px;color:var(--color-subtle);white-space:nowrap;font-weight:600}.sb-active .sb-dot{background:var(--color-navy);border-color:var(--color-navy);color:#fff}.sb-active .sb-lbl{color:var(--color-navy)}.sb-done .sb-dot{background:var(--color-success);border-color:var(--color-success);color:#fff}.sb-done .sb-lbl{color:var(--color-success)}.sb-line{flex:1;height:2px;background:var(--color-border);min-width:12px}.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.svc-tile{border:2px solid var(--color-border);border-radius:12px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .15s;background:#fff}.svc-tile:hover{border-color:var(--color-amber);background:rgba(var(--color-navy-rgb),.06)}.svc-tile.selected{border-color:var(--color-navy);background:rgba(var(--color-navy-rgb),.06)}.svc-search-wrap{position:relative;margin-bottom:12px}.svc-search-input{width:100%;padding:12px 14px 12px 40px;border:2px solid var(--color-amber);border-radius:10px;font-size:14px;background:#f0f9ff;outline:none;transition:border-color .15s}.svc-search-input:focus{border-color:var(--color-navy);background:#fff}.svc-search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--color-muted-light);pointer-events:none}.svc-results{max-height:320px;overflow-y:auto;border:1px solid var(--color-border);border-radius:10px;background:#fff}.svc-result-item{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;transition:background .1s;border-bottom:1px solid #f3f4f6}.svc-result-item:last-child{border-bottom:none}.svc-result-item:hover{background:rgba(var(--color-navy-rgb),.06)}.svc-result-item.svc-selected{background:rgba(var(--color-navy-rgb),.06);border-left:3px solid var(--color-navy)}.svc-result-cat{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}.svc-result-desc{font-size:11.5px;color:var(--color-muted-light);margin-top:2px;line-height:1.3}.svc-pb-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1.5px solid var(--color-border);border-radius:8px;background:#fff;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--color-gray-600);transition:all .15s}.svc-pb-btn:hover{background:var(--color-bg-subtle);border-color:var(--color-amber);color:var(--color-navy)}.pb-modal-grid{display:grid;grid-template-columns:1fr;gap:8px;max-height:60vh;overflow-y:auto;padding:4px}.pb-modal-item{display:flex;align-items:center;gap:12px;padding:14px;border:1.5px solid var(--color-border);border-radius:10px;cursor:pointer;transition:all .15s;background:#fff}.pb-modal-item:hover{border-color:var(--color-amber);background:rgba(var(--color-navy-rgb),.06)}.pb-modal-item.pb-selected{border-color:var(--color-navy);background:rgba(var(--color-navy-rgb),.06);box-shadow:0 0 0 3px rgba(var(--color-navy-rgb),.08)}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px}.cal-nav span{font-weight:800;font-size:15px;flex:1;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-day{transition:background .1s}.cal-day:not(.cal-past):hover{background:rgba(var(--color-navy-rgb),.06)!important;color:var(--color-navy)!important}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.time-slot{transition:all .15s}.time-slot:not(.ts-busy):hover{border-color:var(--color-amber)!important;background:rgba(var(--color-navy-rgb),.06)!important}.conf-card{background:linear-gradient(135deg,var(--color-navy),#0d9488);color:#fff;border-radius:16px;padding:28px;text-align:center}.ac-wrap{position:relative}.ac-dropdown{position:fixed;background:#fff;border:1.5px solid var(--color-border);border-radius:8px;z-index:99999;max-height:220px;overflow-y:auto;box-shadow:0 8px 24px #00000026;display:none}.ac-item{padding:10px 14px;cursor:pointer;font-size:13px;color:var(--color-text-body);border-bottom:1px solid var(--color-border-light);line-height:1.4}.ac-item:last-child{border-bottom:none}.ac-item:hover,.ac-item.ac-active{background:rgba(var(--color-navy-rgb),.06);color:var(--color-cta)}.ac-item strong{display:block;font-weight:600}.ac-item span{font-size:12px;color:var(--color-subtle)}#map-container{height:calc(100vh - 260px);min-height:400px;border-radius:12px;overflow:hidden;border:1.5px solid var(--color-border)}.map-marker{width:32px;height:32px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 2px 8px #0000004d;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:transform .15s}.map-marker:hover{transform:rotate(-45deg) scale(1.15)}.map-popup{min-width:220px}.map-popup h4{font-weight:700;margin-bottom:4px;font-size:14px}.map-popup p{font-size:12px;color:var(--color-muted-light);margin:2px 0}.route-panel{background:#fff;border-radius:12px;border:1.5px solid var(--color-border);padding:16px;max-height:calc(100vh - 260px);overflow-y:auto}.route-step{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-border-light)}.route-step:last-child{border-bottom:none}.pipeline-board{display:flex;gap:14px;overflow-x:auto;padding:0 0 24px;min-height:calc(100vh - 220px)}.pipeline-col{flex:0 0 220px;min-width:220px;display:flex;flex-direction:column;gap:0}.pipeline-col-header{padding:10px 12px;border-radius:10px 10px 0 0;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}.pipeline-col-body{flex:1;background:var(--color-bg-subtle);border:2px solid transparent;border-top:none;border-radius:0 0 10px 10px;padding:8px;display:flex;flex-direction:column;gap:8px;min-height:120px;transition:border-color .15s,background .15s}.pipeline-col-body.drag-over{border-color:var(--color-cta);background:rgba(var(--color-navy-rgb),.06)}.pipeline-card{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;cursor:grab;box-shadow:0 1px 3px #0000000f;transition:box-shadow .15s,transform .1s;-webkit-user-select:none;user-select:none}.pipeline-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.pipeline-card:active{cursor:grabbing;transform:scale(.98)}.pipeline-card.dragging{opacity:.4;box-shadow:none}.pipeline-card-name{font-weight:700;font-size:13px;color:var(--color-text-dark);margin-bottom:2px}.pipeline-card-meta{font-size:11.5px;color:var(--color-muted-light);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pipeline-card-value{font-size:13px;font-weight:700;color:var(--color-cta)}.pipeline-card-days{font-size:10.5px;color:var(--color-subtle);margin-top:4px}.pipeline-card-source{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;padding:1px 6px;border-radius:4px;margin-top:4px;background:#eef2ff;color:var(--color-navy)}.li-platform-card{background:#fff;border:1px solid var(--color-border);border-radius:10px;padding:14px;cursor:pointer;transition:all .15s}.li-platform-card:hover{border-color:var(--color-cta);box-shadow:0 2px 8px rgba(var(--color-cta-rgb),.12)}.pipeline-card-actions{display:flex;gap:6px;margin-top:8px}.pipeline-card-btn{flex:1;padding:4px 6px;border-radius:5px;border:1px solid var(--color-border);background:var(--color-bg-subtle);font-size:11px;cursor:pointer;font-weight:500;transition:background .15s}.pipeline-card-btn:hover{background:var(--color-border-light)}.pipeline-stats-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.pipeline-stat{background:#fff;border:1px solid var(--color-border);border-radius:10px;padding:12px 18px;flex:1;min-width:120px}.pipeline-stat-label{font-size:11px;color:var(--color-muted-light);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.pipeline-stat-value{font-size:22px;font-weight:800;color:var(--color-text-dark);margin-top:2px}.pipeline-stat-sub{font-size:11px;color:var(--color-subtle);margin-top:1px}.pipeline-empty{text-align:center;padding:24px 12px;color:var(--color-subtle);font-size:12px}.pipeline-add-card{border:2px dashed var(--color-border);border-radius:8px;padding:8px;text-align:center;cursor:pointer;font-size:12px;color:var(--color-subtle);transition:border-color .15s,color .15s}.pipeline-add-card:hover{border-color:var(--color-cta);color:var(--color-cta)}.route-num{width:26px;height:26px;border-radius:50%;background:var(--color-cta);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}#gps-consent-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172abf;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}#gps-consent-box{background:#fff;border-radius:18px;max-width:520px;width:100%;padding:36px;box-shadow:0 24px 60px #00000040}.gps-consent-icon{font-size:38px;margin-bottom:12px;text-align:center}.gps-consent-title{font-size:20px;font-weight:800;color:var(--color-text-dark);text-align:center;margin-bottom:8px}.gps-consent-sub{font-size:13px;color:var(--color-muted-light);text-align:center;margin-bottom:22px}.gps-consent-body{background:var(--color-bg-subtle);border-radius:10px;padding:18px;font-size:13px;color:var(--color-text-body);line-height:1.7;margin-bottom:22px;border:1px solid var(--color-border)}.gps-consent-body strong{color:var(--color-text-dark)}.gps-consent-body ul{margin:6px 0 0 16px}.duty-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 16px;border-radius:100px;font-size:13px;font-weight:700;border:2px solid transparent;cursor:pointer;transition:all .2s}.duty-btn.off{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-bg)}.duty-btn.off:hover{background:var(--color-success-bg)}.duty-btn.on{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-bg)}.duty-btn.on:hover{background:var(--color-danger-bg)}.duty-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 1.5s infinite}#csv-drop-zone.dragover{border-color:var(--color-cta);background:rgba(var(--color-navy-rgb),.06)}#live-tech-leaflet{height:320px;border-radius:10px;overflow:hidden}#view-job-detail .nav-tab{transition:all .2s;cursor:pointer;border-bottom:2px solid transparent}#view-job-detail .nav-tab:hover{color:var(--color-text-body)!important}#view-job-detail .modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;width:100%;max-width:600px}#view-job-detail .modal-header{padding:18px 22px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}#view-job-detail .modal-title{font-size:16px;font-weight:800;color:var(--color-text-body)}#view-job-detail .close-btn{width:32px;height:32px;border-radius:6px;border:none;background:var(--color-border-light);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px}#view-job-detail .close-btn:hover{background:var(--color-border)}#view-job-detail .form-input{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:13px;font-family:inherit}#view-job-detail .form-input:focus{border-color:var(--color-cta);outline:none;box-shadow:0 0 0 3px rgba(var(--color-cta-rgb),.1)}#view-job-detail .form-label{display:block;font-size:11px;font-weight:700;color:var(--color-muted-light);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}#view-job-detail .modal-footer{padding:14px 22px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:8px}#jd-line-items-body tr:hover,#jd-timesheets-body tr:hover,#jd-expenses-body tr:hover{background:var(--color-bg-subtle)}#jd-profit-bar{min-width:40px;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.badge-red{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge-amber{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-green{background:var(--color-success-bg);color:var(--color-success-text)}.mob-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:100;background:#fff;border-top:1px solid var(--color-border-light);padding:4px 0 0;padding-bottom:env(safe-area-inset-bottom,0);box-shadow:0 -2px 12px #0000000f}.mob-bottom-nav-inner{display:flex;justify-content:space-around;align-items:center;height:52px;max-width:600px;margin:0 auto}.mob-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;border:none;background:none;cursor:pointer;padding:4px 0;-webkit-tap-highlight-color:transparent;position:relative}.mob-nav-icon{font-size:17px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.mob-nav-icon svg[data-lucide]{width:20px;height:20px;stroke-width:2}.mob-nav-label{font-size:7.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-subtle);transition:color .15s}.mob-nav-item.active .mob-nav-label{color:var(--color-amber)}.mob-nav-item.active .mob-nav-icon{filter:drop-shadow(0 0 3px rgba(245,158,11,.25));color:var(--color-amber)}.mob-more-item-icon svg[data-lucide]{width:24px;height:24px;stroke-width:2}.sidebar-icon{display:inline-flex;align-items:center;justify-content:center}.sidebar-icon svg[data-lucide]{width:18px;height:18px;stroke-width:2}.mob-nav-badge{position:absolute;top:2px;right:calc(50% - 18px);background:var(--color-amber);color:#fff;font-size:9px;font-weight:800;border-radius:10px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 4px}.mob-more-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;opacity:0;transition:opacity .2s}.mob-more-overlay.open{display:block;opacity:1}.mob-more-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:16px 16px 0 0;z-index:201;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);padding:0 16px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0));max-height:70vh;overflow-y:auto}.mob-more-sheet.open{transform:translateY(0)}.mob-more-handle{width:36px;height:4px;background:var(--color-border);border-radius:4px;margin:10px auto 14px}.mob-more-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-subtle);margin-bottom:12px}.mob-more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mob-more-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;background:var(--color-bg-subtle);border-radius:10px;border:1px solid var(--color-border-light);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}.mob-more-item:active{background:var(--color-border-light)}.mob-more-item-icon{font-size:22px}.mob-more-item-label{font-size:11px;font-weight:600;color:var(--color-text-body);text-align:center}.mob-more-item.danger .mob-more-item-label{color:var(--color-danger)}@media(max-width:768px){.nav,.nav-tabs{display:none!important}.nav-logo{font-size:15px!important}.nav-user{display:none!important}.mob-bottom-nav{display:block}.main{padding-bottom:calc(60px + env(safe-area-inset-bottom,0))!important}.page-hdr{flex-direction:column;align-items:flex-start;gap:8px}.page-title{font-size:18px!important}.page-sub{font-size:12px!important}.card{border-radius:10px}.pipeline-board{padding-bottom:calc(72px + env(safe-area-inset-bottom,0))}.pipeline-col{flex:0 0 180px;min-width:180px}.pipeline-stats-bar{gap:8px}.pipeline-stat{min-width:100px;padding:10px 12px}.pipeline-stat-value{font-size:18px}.modal{align-items:flex-end!important}.modal-content,.modal-box{max-width:100vw!important;width:100%!important;margin:0!important;border-radius:16px 16px 0 0!important;max-height:90vh!important;overflow-y:auto;animation:slideUpSheet .25s ease}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.btn,.form-select,.sidebar-link,.nav-tab,.badge,.chip,.quick-assign-opt,.mob-more-item,.mob-nav-item{min-height:44px;display:inline-flex;align-items:center}.chip{padding:10px 14px}.quick-assign-opt{padding:12px}table tbody tr td{padding-top:10px;padding-bottom:10px}.mob-nav-item{min-height:48px}.form-input,.form-select{height:46px;font-size:16px!important}.form-row{grid-template-columns:1fr!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.dash-grid{grid-template-columns:1fr!important}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}#duty-toggle-btn{font-size:11px!important;padding:4px 8px!important}#duty-btn-label{display:none}.nav .btn-white{font-size:11px!important;padding:4px 8px!important}#jd-action-bar{flex-direction:column;gap:6px}#jd-action-bar .btn{width:100%;justify-content:center;min-height:44px}#jd-action-bar span[style*="flex:1"]{display:none}.filters{gap:6px!important}.filters .search-box{flex:1 1 100%!important;min-width:0!important}#jobs-thead th:nth-child(4),#jobs-body td:nth-child(4){display:none}.view{padding:16px!important}.upload-zone{padding:18px}.search-box{width:100%!important}.map-layout{grid-template-columns:1fr!important}#map-container{height:45vh!important;min-height:300px}.route-panel{max-height:250px}#settings-tabs{flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}#settings-tabs::-webkit-scrollbar{display:none}#settings-tabs .chip{flex-shrink:0;white-space:nowrap}.line-items-table{font-size:12px}.line-items-table th,.line-items-table td{padding:8px 6px}*{-webkit-overflow-scrolling:touch}}@media(min-width:769px)and (max-width:1024px){.nav-tabs{gap:0!important}.nav-tab{font-size:12px!important;padding:6px 8px!important}.main,.view{padding:16px!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.pipeline-col{flex:0 0 200px;min-width:200px}#jd-action-bar{flex-wrap:wrap}#jd-action-bar .btn{font-size:13px!important}.map-layout{grid-template-columns:1fr!important}#map-container{height:50vh!important;min-height:350px}.route-panel{max-height:300px}.dispatch-grid{min-width:auto!important}.dispatch-wrap{-webkit-overflow-scrolling:touch}#revenue-health-section>div[style*=grid-template-columns],#revenue-forecast-section>div[style*=grid-template-columns],#layer1-analytics-section>div[style*=grid-template-columns]{grid-template-columns:1fr!important}#settings-tabs{flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}#settings-tabs::-webkit-scrollbar{display:none}#settings-tabs .chip{flex-shrink:0;white-space:nowrap}.cust-grid{grid-template-columns:repeat(2,1fr)!important}.dash-grid{grid-template-columns:1fr!important}.form-row{grid-template-columns:1fr 1fr!important}}@media(max-width:390px){.stats-grid{grid-template-columns:1fr!important}.mob-nav-label{font-size:8px}.mob-nav-icon{font-size:15px}.mob-bottom-nav-inner{height:48px}.pipeline-col{flex:0 0 160px;min-width:160px}.page-title{font-size:16px!important}.mob-more-grid{grid-template-columns:repeat(2,1fr)}}@media(orientation:landscape)and (max-height:500px){.mob-bottom-nav-inner{height:40px}.mob-nav-icon{font-size:14px}.mob-nav-label{font-size:7px}.view{padding:14px!important}.main{padding-bottom:calc(44px + env(safe-area-inset-bottom,0))!important}.modal-content,.modal-box{max-height:95vh!important}.mob-more-sheet{max-height:80vh}}.mob-dash-card{background:#fff;border:1px solid var(--color-border-light);border-radius:10px;padding:14px;margin-bottom:12px}.mob-dash-card-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted-light);margin-bottom:10px}.mob-dash-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mob-dash-stat{text-align:center;padding:10px;background:var(--color-bg-subtle);border-radius:8px}.mob-dash-stat-val{font-size:20px;font-weight:800;color:var(--color-text-dark)}.mob-dash-stat-lbl{font-size:10px;font-weight:600;color:var(--color-subtle);text-transform:uppercase;letter-spacing:.03em}.mob-duty-card{background:#fff;border:2px solid var(--color-border);border-radius:12px;padding:16px;margin-bottom:12px;text-align:center;transition:border-color .2s}.mob-duty-card.on-duty{border-color:var(--color-success);background:var(--color-success-bg)}.mob-job-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-border-light)}.mob-job-item:last-child{border-bottom:none}.mob-job-time{font-size:12px;font-weight:700;color:var(--color-text-body);white-space:nowrap;min-width:50px}.mob-job-info{flex:1;min-width:0}.mob-job-cust{font-size:13px;font-weight:700;color:var(--color-text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mob-job-addr{font-size:11.5px;color:var(--color-muted-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mob-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mob-action-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;background:var(--color-bg-subtle);border:1px solid var(--color-border-light);border-radius:10px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}.mob-action-btn:active{background:var(--color-border-light)}.mob-action-btn .a-icon{font-size:20px}.mob-action-btn .a-label{font-size:11px;font-weight:600;color:var(--color-text-body)}.mob-action-btn.primary{background:var(--color-warning-bg);border-color:#fcd34d}.mob-action-btn.primary .a-label{color:var(--color-warning-text);font-weight:800}.gps-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.gps-dot.green{background:var(--color-success)}.gps-dot.amber{background:var(--color-amber)}.gps-dot.gray{background:var(--color-border)}.gps-dot.red{background:var(--color-danger)}.ptr-indicator{position:fixed;top:42px;left:50%;transform:translate(-50%) translateY(-60px);z-index:90;background:#fff;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #0000001f;transition:transform .2s,opacity .2s;opacity:0;pointer-events:none}.ptr-indicator.pulling{opacity:1;transform:translate(-50%) translateY(8px)}.ptr-indicator.refreshing{opacity:1;transform:translate(-50%) translateY(8px);animation:ptr-spin .8s linear infinite}@keyframes ptr-spin{0%{transform:translate(-50%) translateY(8px) rotate(0)}to{transform:translate(-50%) translateY(8px) rotate(360deg)}}.ptr-indicator-icon{font-size:18px;transition:transform .2s}.cb-kpi{background:#fff;border-radius:12px;padding:14px 16px;border:1px solid var(--color-border);text-align:center}.cb-kpi-val{font-size:24px;font-weight:900;line-height:1.1}.cb-kpi-label{font-size:11px;color:var(--color-muted-light);margin-top:2px;text-transform:uppercase;letter-spacing:.04em}.cb-kpi-sub{font-size:11px;margin-top:3px;font-weight:600}.cb-bar-row{display:flex;align-items:center;gap:10px}.cb-bar-label{min-width:100px;font-size:12.5px;font-weight:600;color:var(--color-text-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cb-bar-track{flex:1;height:22px;background:var(--color-border-light);border-radius:6px;overflow:hidden;position:relative}.cb-bar-fill{height:100%;border-radius:6px;transition:width .6s ease;display:flex;align-items:center;justify-content:flex-end;padding:0 8px;font-size:11px;font-weight:700;color:#fff;min-width:fit-content}.cb-bar-count{font-size:11px;color:var(--color-subtle);min-width:60px;text-align:right}.cb-trend-bar{flex:1;min-width:0;border-radius:4px 4px 0 0;position:relative;cursor:pointer;transition:all .2s}.cb-trend-bar:hover{filter:brightness(.9)}.cb-trend-bar .cb-tooltip{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#111827;color:#fff;padding:4px 8px;border-radius:6px;font-size:11px;white-space:nowrap;z-index:10;margin-bottom:4px}.cb-trend-bar:hover .cb-tooltip{display:block}.cb-cost-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f3f4f6}.cb-cost-row:last-child{border-bottom:none}.cb-cost-label{font-size:13px;color:var(--color-gray-600)}.cb-cost-val{font-size:13px;font-weight:800;color:var(--color-text-dark)}.cb-detail-row{display:grid;grid-template-columns:80px 1fr 80px 60px 70px;gap:6px;padding:6px 0;border-bottom:1px solid #f9fafb;align-items:center}.cb-detail-row:hover{background:var(--color-bg-subtle)}.cb-detail-hdr{font-weight:700;color:var(--color-muted-light);font-size:11px;text-transform:uppercase;border-bottom:2px solid var(--color-border)}.plan-locked{position:relative;opacity:.55;pointer-events:auto!important}.plan-locked:after{content:'<i data-lucide="lock"></i>';position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:10px}.plan-locked-chip{position:relative;opacity:.5}.plan-locked-chip:after{content:'<i data-lucide="lock"></i>';margin-left:4px;font-size:10px}.plan-locked-btn{opacity:.5;cursor:pointer!important}.plan-gated-row{opacity:.45;cursor:pointer}.plan-gate-banner{display:flex;align-items:center;gap:16px;padding:18px 22px;background:linear-gradient(135deg,#f9fafb,#ccfbf1);border:1.5px dashed #0d9488;border-radius:14px;cursor:pointer;transition:all .2s}.plan-gate-banner:hover{border-color:var(--color-teal);background:linear-gradient(135deg,#ccfbf1,#f0fdfa);transform:translateY(-1px);box-shadow:0 4px 12px #0d94881f}.plan-lock-icon{font-size:22px;margin-left:auto}.plan-preview-wrap{position:relative;overflow:hidden;border-radius:14px}.plan-preview-blur{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.7}.plan-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;transition:background .2s}.plan-preview-overlay:hover{background:#ffffffb3}.plan-preview-cta{text-align:center;padding:32px;background:#fff;border-radius:18px;box-shadow:0 8px 32px #0000001f;max-width:380px}.plan-preview-cta h3{margin:0 0 6px;font-size:20px;font-weight:800}.plan-preview-cta p{margin:0 0 18px;color:var(--color-muted-light);font-size:14px;line-height:1.5}.plan-preview-cta button{padding:12px 28px;background:linear-gradient(135deg,var(--color-cta),#0d9488);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer}.plan-preview-cta button:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(var(--color-cta-rgb),.35)}.usage-meter{background:var(--color-border-light);border-radius:8px;padding:12px 16px;margin-bottom:10px}.usage-meter-bar{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden;margin-top:6px}.usage-meter-fill{height:100%;border-radius:4px;transition:width .4s ease}.usage-meter-label{display:flex;justify-content:space-between;font-size:12px;color:var(--color-muted-light);font-weight:600}.plan-card{border:2px solid var(--color-border);border-radius:16px;padding:24px 20px;text-align:center;flex:1;min-width:200px;transition:all .2s;cursor:default}.plan-card.current{border-color:var(--color-cta);background:rgba(var(--color-navy-rgb),.06);box-shadow:0 0 0 3px var(--color-cta) 22}.plan-card .plan-card-name{font-size:20px;font-weight:800;margin-bottom:4px}.plan-card .plan-card-price{font-size:28px;font-weight:900;margin-bottom:2px}.plan-card .plan-card-price small{font-size:14px;font-weight:500;color:var(--color-muted-light)}.plan-card .plan-card-sub{font-size:12px;color:var(--color-muted-light);margin-bottom:14px}.plan-card ul{text-align:left;font-size:13px;line-height:2;padding-left:18px;margin:0;color:var(--color-text-body)}.plan-card ul li::marker{color:var(--color-cta)}.voip-call-bar{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:linear-gradient(135deg,var(--color-navy),var(--color-navy-500));color:#fff;padding:12px 20px;display:none;align-items:center;gap:12px;box-shadow:0 -4px 20px #0000004d;animation:slideUpBar .3s ease}@keyframes slideUpBar{0%{transform:translateY(100%)}to{transform:translateY(0)}}.voip-call-bar.active{display:flex}.voip-call-bar .call-info{flex:1;min-width:0}.voip-call-bar .call-name{font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voip-call-bar .call-status{font-size:12px;opacity:.85}.voip-call-bar .call-timer{font-size:20px;font-weight:900;font-variant-numeric:tabular-nums;min-width:60px;text-align:center}.voip-call-bar .call-actions{display:flex;gap:8px}.voip-call-btn{width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .15s}.voip-call-btn:hover{transform:scale(1.1)}.voip-call-btn.mute{background:#fff3;color:#fff}.voip-call-btn.mute.active{background:var(--color-amber);color:#000}.voip-call-btn.hold{background:#fff3;color:#fff}.voip-call-btn.hold.active{background:var(--color-teal);color:#fff}.voip-call-btn.hangup{background:var(--color-danger);color:#fff;width:52px;height:52px;font-size:22px}.voip-call-btn.hangup:hover{background:var(--color-danger-text)}.voip-call-btn.answer{background:var(--color-success);color:#fff;width:52px;height:52px;font-size:22px;animation:pulse 1.5s infinite}.voip-incoming-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#000000b3;display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.voip-incoming-overlay.active{display:flex}.voip-incoming-card{background:#fff;border-radius:24px;padding:40px 32px;text-align:center;max-width:340px;width:90%;box-shadow:0 20px 60px #0006;animation:scaleIn .3s ease}@keyframes scaleIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.voip-incoming-card .incoming-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#059669,#059669);display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 16px;animation:pulse 1.5s infinite}.voip-incoming-card .caller-name{font-size:22px;font-weight:900;color:var(--color-text-dark);margin-bottom:4px}.voip-incoming-card .caller-number{font-size:14px;color:var(--color-muted-light);margin-bottom:24px}.voip-incoming-card .incoming-actions{display:flex;gap:20px;justify-content:center}.voip-phone-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:100px;border:none;font-weight:700;font-size:13px;cursor:pointer;transition:all .15s}.voip-phone-btn:hover{transform:scale(1.05)}.voip-phone-btn.call-out{background:var(--color-success);color:#fff}.voip-phone-btn.call-out:hover{background:var(--color-success)}.voip-dial-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:100px;font-size:11px;font-weight:700;background:rgba(var(--color-navy-rgb),.1);color:var(--color-navy);cursor:pointer;transition:all .15s;border:1px solid var(--color-amber)}.voip-dial-badge:hover{background:rgba(var(--color-navy-rgb),.25);transform:scale(1.05)}.eq-card{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:16px;transition:all .15s;position:relative}.eq-card:hover{border-color:var(--color-cta);box-shadow:0 2px 12px rgba(var(--color-cta-rgb),.1)}.eq-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.eq-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.eq-card-title{font-size:14px;font-weight:700;color:var(--color-text-body)}.eq-card-subtitle{font-size:12px;color:var(--color-muted-light);margin-top:1px}.eq-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-size:12px}.eq-card-label{color:var(--color-subtle);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.eq-card-value{color:var(--color-text-body);font-weight:600}.eq-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:100px;letter-spacing:.03em}.eq-badge-excellent{background:var(--color-success-bg);color:var(--color-success-text)}.eq-badge-good{background:rgba(var(--color-navy-rgb),.1);color:var(--color-navy)}.eq-badge-fair{background:var(--color-warning-bg);color:var(--color-warning-text)}.eq-badge-poor{background:var(--color-danger-bg);color:var(--color-danger-text)}.eq-warranty-ok{background:var(--color-success-bg);color:var(--color-success-text);font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;display:inline-block}.eq-warranty-expiring{background:var(--color-warning-bg);color:var(--color-warning-text);font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;display:inline-block}.eq-warranty-expired{background:var(--color-danger-bg);color:var(--color-danger-text);font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;display:inline-block}.eq-age-flag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;display:inline-block}.eq-age-replace{background:var(--color-danger-bg);color:var(--color-danger-text)}.eq-age-aging{background:var(--color-warning-bg);color:var(--color-warning-text)}.eq-action-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:6px;display:inline-flex;align-items:center;gap:4px}.eq-action-replace{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid #fee2e2}.eq-action-maintenance{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid #fcd34d}.eq-action-monitor{background:rgba(var(--color-navy-rgb),.1);color:var(--color-navy);border:1px solid var(--color-amber)}.eq-timeline{position:relative;padding-left:24px}.eq-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--color-border)}.eq-timeline-item{position:relative;padding-bottom:16px}.eq-timeline-dot{position:absolute;left:-20px;top:2px;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 2px var(--color-border)}.eq-timeline-dot.install{background:var(--color-cta);box-shadow:0 0 0 2px var(--color-cta)}.eq-timeline-dot.repair{background:var(--color-amber);box-shadow:0 0 0 2px #f59e0b}.eq-timeline-dot.maintenance{background:var(--color-success);box-shadow:0 0 0 2px var(--color-success)}.eq-timeline-dot.diagnostic{background:var(--color-teal);box-shadow:0 0 0 2px #0d9488}.eq-timeline-dot.replacement{background:var(--color-danger);box-shadow:0 0 0 2px var(--color-danger)}.eq-timeline-dot.inspection{background:var(--color-muted-light);box-shadow:0 0 0 2px var(--color-muted-light)}.pwa-install-banner{display:none;position:fixed;bottom:calc(60px + env(safe-area-inset-bottom,0));left:12px;right:12px;z-index:95;background:var(--pri-800);color:#fff;border-radius:var(--r-md);padding:14px 18px;box-shadow:var(--shadow-xl);align-items:center;gap:12px}.pwa-install-banner .pwa-text{flex:1;font-size:13px;font-weight:600}.pwa-install-banner .pwa-text small{font-weight:400;opacity:.8;font-size:11px;display:block;margin-top:2px}.pwa-install-btn{background:var(--color-amber);color:#111;border:none;border-radius:8px;padding:8px 16px;font-weight:700;font-size:12px;cursor:pointer}.pwa-dismiss{background:none;border:none;color:#ffffffb3;font-size:18px;cursor:pointer;padding:4px}.ri-card{border-left:4px solid var(--color-navy-500);transition:box-shadow .2s}.ri-card:hover{box-shadow:0 4px 20px #3b82f61f}.insight-annotation{margin-top:12px;padding:10px 14px;border-radius:8px;font-size:12px;line-height:1.5;display:flex;gap:8px;align-items:flex-start}.insight-annotation.insight-positive{background:linear-gradient(135deg,#d1fae5,#ecfdf5);border:1px solid #d1fae5;color:var(--color-success-text)}.insight-annotation.insight-warning{background:linear-gradient(135deg,#fef3c7,var(--color-warning-bg));border:1px solid #fcd34d;color:var(--color-warning-text)}.insight-annotation.insight-negative{background:linear-gradient(135deg,#fee2e2,var(--color-danger-bg));border:1px solid #fee2e2;color:var(--color-danger-text)}.insight-annotation.insight-info{background:linear-gradient(135deg,rgba(var(--color-navy-rgb),.06),rgba(var(--color-navy-rgb),.1));border:1px solid rgba(var(--color-navy-rgb),.25);color:var(--color-navy)}.insight-annotation .insight-icon{font-size:16px;flex-shrink:0;margin-top:1px}.insight-annotation .insight-text{flex:1}.insight-annotation .insight-text strong{font-weight:700}.insight-annotation .insight-action{display:inline-block;margin-top:6px;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;border:none;transition:all .15s}.insight-annotation .insight-action:hover{filter:brightness(.92)}.insight-action-green{background:var(--color-success-bg);color:var(--color-success-text)}.insight-action-blue{background:rgba(var(--color-navy-rgb),.1);color:var(--color-navy)}.insight-action-amber{background:var(--color-warning-bg);color:var(--color-warning-text)}.insight-action-red{background:var(--color-danger-bg);color:var(--color-danger-text)}#revenue-health-section .stats-grid,#revenue-forecast-section .stats-grid,#layer1-analytics-section .stats-grid{gap:12px}#seasonal-heatmap>div{transition:transform .15s}#seasonal-heatmap>div:hover{transform:scale(1.08)}#scenario-controls input[type=range]{accent-color:var(--color-navy-500);height:6px}@media(max-width:768px){#revenue-health-section>div[style*="grid-template-columns:1fr 1fr"],#revenue-forecast-section>div[style*="grid-template-columns:1fr 1fr"],#layer1-analytics-section>div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}#scenario-controls+#scenario-results{grid-template-columns:1fr!important}}.switch{position:relative;display:inline-block;width:42px;height:24px;flex:none}.switch input{opacity:0;width:0;height:0;position:absolute}.switch .slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#cbd5e1;border-radius:24px;transition:background .2s ease}.switch .slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;transition:transform .2s ease}.switch input:checked+.slider{background:var(--color-cta)}.switch input:checked+.slider:before{transform:translate(18px)}.switch input:focus-visible+.slider{outline:2px solid var(--color-navy);outline-offset:2px}.switch input:disabled+.slider{opacity:.5;cursor:not-allowed}.auto-card[data-enabled=false] .auto-card-body{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}.auto-card[data-enabled=false] .auto-card-body textarea,.auto-card[data-enabled=false] .auto-card-body input,.auto-card[data-enabled=false] .auto-card-body select,.auto-card[data-enabled=false] .auto-card-body button{pointer-events:none}.btn:not(:disabled):active,.chip:active,.sidebar-link:active,.mob-nav-item:active,.mob-more-item:active,.dv-toggle-btn:active,.gantt-zoom button:active,.cm-chip:active{transform:scale(.97);transition:transform 60ms var(--ease-io)}.btn-primary:not(:disabled):hover,.btn-success:not(:disabled):hover,.btn-amber:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-cta-rgb),.18)}.btn-primary:not(:disabled):active,.btn-success:not(:disabled):active,.btn-amber:not(:disabled):active{transform:translateY(0) scale(.98);box-shadow:0 1px 3px rgba(var(--color-cta-rgb),.22)}.card-interactive,.dispatch-card,.cust-card,.pipeline-card{transition:transform var(--tx-mid) var(--ease-out),box-shadow var(--tx-mid) var(--ease-out),border-color var(--tx-mid) var(--ease-out)}.card-interactive:hover,.dispatch-card:hover,.cust-card:hover,.pipeline-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0f172a14;border-color:var(--color-border)}.form-input,.search-box,input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=search],input[type=date],input[type=time],input[type=datetime-local],select,textarea{transition:border-color var(--tx-fast) var(--ease-io),box-shadow var(--tx-fast) var(--ease-io),background var(--tx-fast) var(--ease-io)}.form-input:focus,.search-box:focus,input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(var(--color-cta-rgb),.15)}@keyframes modal-content-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-bg-in{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1}}.modal[style*="display: flex"],.modal[style*="display:flex"],[id$=-modal][style*="display: flex"],[id$=-modal][style*="display:flex"]{animation:modal-bg-in var(--tx-mid) var(--ease-out) both}.modal[style*="display: flex"] .modal-content,.modal[style*="display:flex"] .modal-content,[id$=-modal][style*="display: flex"] .modal-content,[id$=-modal][style*="display:flex"] .modal-content{animation:modal-content-in var(--tx-slow) var(--ease-out) both;will-change:transform,opacity}#toast{transition:opacity var(--tx-mid) var(--ease-out),transform var(--tx-mid) var(--ease-out);transform:translateY(8px)}#toast[style*="opacity:1"],#toast[style*="opacity: 1"]{transform:translateY(0)}.sidebar-link{position:relative}.sidebar-link:before{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:3px;background:var(--color-amber);border-radius:0 2px 2px 0;opacity:0;transform:translate(-6px);transition:opacity var(--tx-mid) var(--ease-out),transform var(--tx-mid) var(--ease-out);pointer-events:none}.sidebar-link.active:before{opacity:1;transform:translate(0)}@keyframes skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skel{background:linear-gradient(90deg,var(--color-border-light) 0%,var(--color-bg-subtle) 50%,var(--color-border-light) 100%);background-size:200% 100%;animation:skel-shimmer 1.4s var(--ease-io) infinite;border-radius:4px;display:inline-block}.skel-line{display:block;height:12px;width:100%;margin:6px 0;border-radius:3px}.skel-line-sm{width:60px}.skel-line-md{width:140px}.skel-line-lg{width:220px}.skel-circle{border-radius:50%}.skel-card{display:block;height:100px;width:100%;border-radius:var(--r-md);margin:8px 0}svg[data-lucide]{transition:color var(--tx-fast) var(--ease-io),stroke var(--tx-fast) var(--ease-io)}.chip,.dv-toggle-btn,.gantt-zoom button{transition:background var(--tx-fast) var(--ease-io),color var(--tx-fast) var(--ease-io),border-color var(--tx-fast) var(--ease-io),transform 60ms var(--ease-io)}@keyframes drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawer-slide-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sidebar.mob-open{animation:drawer-slide-in-left var(--tx-slow) var(--ease-out) both}.mob-more-overlay[style*="display: flex"] .mob-more-sheet,.mob-more-overlay[style*="display:flex"] .mob-more-sheet{animation:drawer-slide-in-bottom var(--tx-slow) var(--ease-out) both}.view.active{animation:view-enter var(--tx-slow) var(--ease-out) both}@keyframes view-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pill-pulse{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}.status-pill.changed,.badge.changed{animation:pill-pulse .32s var(--ease-out)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;background:var(--color-bg-subtle);border:1px dashed var(--color-border);border-radius:var(--r-md);color:var(--color-muted-light);min-height:200px}.empty-state-icon{width:56px;height:56px;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--color-subtle)}.empty-state-icon svg[data-lucide]{width:28px;height:28px;stroke-width:1.75}.empty-state-title{font-size:15px;font-weight:700;color:var(--color-text-body);margin-bottom:4px}.empty-state-sub{font-size:13px;color:var(--color-muted-light);max-width:360px;line-height:1.5}.empty-state-success .empty-state-icon{background:var(--color-success-bg);border-color:var(--color-success-bg);color:var(--color-success)}.empty-state-subtle{background:transparent;border:none;min-height:120px;padding:24px}.empty-state-subtle .empty-state-icon{width:40px;height:40px}.empty-state-subtle .empty-state-icon svg[data-lucide]{width:20px;height:20px}.empty-state-subtle .empty-state-title{font-size:13px}.empty-state-subtle .empty-state-sub{font-size:12px}.skel-stack{display:flex;flex-direction:column;gap:6px;padding:4px 0}.skel-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--color-border-light)}.skel-row:last-child{border-bottom:0}.skel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;padding:4px 0}.skel-card-item{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-md)}.skel-table{width:100%;border-collapse:collapse}.skel-table td{padding:12px 10px;border-bottom:1px solid var(--color-border-light)}.toast-stack{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:380px;width:calc(100vw - 40px)}@media(max-width:600px){.toast-stack{bottom:12px;right:12px;left:12px;width:auto;max-width:none}}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;background:#fff;border:1px solid var(--color-border);box-shadow:0 8px 24px #0f172a1f,0 2px 6px #0f172a0f;font-size:13px;font-weight:500;color:var(--color-text-body);pointer-events:auto;position:relative;overflow:hidden;transform:translate(120%);opacity:0;animation:toast-slide-in .28s var(--ease-out) forwards}@keyframes toast-slide-in{to{transform:translate(0);opacity:1}}.toast.dismissing{animation:toast-slide-out .2s var(--ease-io) forwards}@keyframes toast-slide-out{to{transform:translate(120%);opacity:0}}.toast-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;margin-top:1px}.toast-icon svg[data-lucide]{width:18px;height:18px;stroke-width:2.25}.toast-msg{flex:1;line-height:1.45;word-wrap:break-word;min-width:0}.toast-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-subtle);border-radius:4px;transition:background var(--tx-fast) var(--ease-io),color var(--tx-fast) var(--ease-io);margin-top:-1px}.toast-dismiss:hover{background:var(--color-border-light);color:var(--color-text-body)}.toast-dismiss svg[data-lucide]{width:14px;height:14px;stroke-width:2.5}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-muted-light)}.toast-success:before{background:var(--color-success)}.toast-success .toast-icon{color:var(--color-success)}.toast-error:before{background:var(--color-danger)}.toast-error .toast-icon{color:var(--color-danger)}.toast-warning:before{background:var(--color-amber)}.toast-warning .toast-icon{color:var(--color-amber)}.toast-info:before{background:var(--color-navy)}.toast-info .toast-icon{color:var(--color-navy)}@keyframes btn-spin{to{transform:rotate(1turn)}}.btn.btn-loading,button.btn-loading{position:relative;pointer-events:none;cursor:wait!important;color:transparent!important;text-shadow:none!important;-webkit-user-select:none;user-select:none}.btn.btn-loading>*,button.btn-loading>*{visibility:hidden}.btn.btn-loading:after,button.btn-loading:after{content:"";position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid;border-color:rgba(255,255,255,.85) rgba(255,255,255,.85) rgba(255,255,255,.85) transparent;border-radius:50%;animation:btn-spin .65s linear infinite;box-sizing:border-box}.btn-outline.btn-loading:after,.btn-ghost.btn-loading:after,.btn-secondary.btn-loading:after,.btn-link.btn-loading:after,button:not(.btn-primary):not(.btn-success):not(.btn-amber):not(.btn-danger).btn-loading:after{border-color:var(--color-cta) var(--color-cta) var(--color-cta) transparent}.btn.btn-sm.btn-loading:after,button.btn-sm.btn-loading:after{width:12px;height:12px;margin:-6px 0 0 -6px;border-width:1.5px}.activation-card{position:relative;background:linear-gradient(135deg,rgba(var(--color-cta-rgb),.04),rgba(var(--color-navy-rgb),.04));border:1px solid var(--color-border);border-radius:var(--r-md);padding:18px 20px 14px;margin-bottom:18px;box-shadow:var(--shadow-sm)}.activation-dismiss{position:absolute;top:12px;right:12px;background:none;border:none;cursor:pointer;padding:4px;width:24px;height:24px;border-radius:4px;color:var(--color-subtle);display:flex;align-items:center;justify-content:center;transition:background var(--tx-fast) var(--ease-io),color var(--tx-fast) var(--ease-io)}.activation-dismiss:hover{background:var(--color-border-light);color:var(--color-text-body)}.activation-dismiss svg[data-lucide]{width:14px;height:14px;margin-right:0}.activation-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;padding-right:32px}.activation-title{font-size:14px;font-weight:800;color:var(--color-text-body)}.activation-title svg[data-lucide]{color:var(--color-cta);margin-right:6px}.activation-progress-text{font-size:11px;font-weight:700;color:var(--color-muted-light);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.activation-progress-bar{height:4px;background:var(--color-border-light);border-radius:2px;overflow:hidden;margin-bottom:12px}.activation-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-cta),var(--color-amber));border-radius:2px;transition:width .48s var(--ease-out)}.activation-steps{display:flex;flex-direction:column;gap:4px}.activation-step{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;background:transparent;transition:background var(--tx-fast) var(--ease-io);border:1px solid transparent}.activation-step:hover:not(.done){background:var(--color-surface);border-color:var(--color-border)}.activation-step.done{cursor:default;opacity:.65}.activation-step-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--color-bg-subtle);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-cta)}.activation-step.done .activation-step-icon{background:var(--color-success-bg);border-color:var(--color-success-bg);color:var(--color-success)}.activation-step-icon svg[data-lucide]{width:16px;height:16px;margin-right:0}.activation-step-body{flex:1;min-width:0}.activation-step-label{font-size:13.5px;font-weight:700;color:var(--color-text-body)}.activation-step.done .activation-step-label{text-decoration:line-through;text-decoration-color:var(--color-subtle);text-decoration-thickness:1.5px}.activation-step-sub{font-size:12px;color:var(--color-muted-light);margin-top:1px}.activation-step-arrow{color:var(--color-subtle);display:flex;align-items:center;transition:transform var(--tx-fast) var(--ease-out),color var(--tx-fast) var(--ease-io)}.activation-step:hover:not(.done) .activation-step-arrow{transform:translate(2px);color:var(--color-cta)}.activation-step-arrow svg[data-lucide]{width:16px;height:16px;margin-right:0}.activation-step-badge{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--color-success);background:var(--color-success-bg);padding:3px 8px;border-radius:100px;display:inline-flex;align-items:center;gap:4px}.activation-step-badge svg[data-lucide]{width:12px;height:12px;margin-right:0}.activation-hero{position:relative;background:radial-gradient(120% 100% at 0% 0%,rgba(var(--color-cta-rgb),.08),transparent 60%),radial-gradient(100% 100% at 100% 0%,rgba(var(--color-navy-rgb),.06),transparent 60%),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);padding:22px 26px 18px;margin-bottom:20px;box-shadow:var(--shadow-md)}.activation-min{position:absolute;top:14px;right:14px;background:var(--color-bg-subtle);border:1px solid var(--color-border);cursor:pointer;padding:0;width:28px;height:28px;border-radius:8px;color:var(--color-muted-light);display:flex;align-items:center;justify-content:center;transition:background var(--tx-fast) var(--ease-io),color var(--tx-fast) var(--ease-io)}.activation-min:hover{background:var(--color-border-light);color:var(--color-text-body)}.activation-min svg[data-lucide]{width:14px;height:14px;margin-right:0}.activation-hero-header{padding-right:36px;margin-bottom:14px}.activation-hero-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--color-cta);background:rgba(var(--color-cta-rgb),.1);padding:4px 10px;border-radius:999px;margin-bottom:10px}.activation-hero-eyebrow svg[data-lucide]{width:12px;height:12px;margin-right:0}.activation-hero-title{font-size:20px;font-weight:900;letter-spacing:-.01em;color:var(--color-text-dark);margin-bottom:4px}.activation-hero-sub{font-size:13.5px;color:var(--color-muted-light);line-height:1.45}.activation-progress-row{display:flex;align-items:center;gap:14px;margin-bottom:14px}.activation-progress-row .activation-progress-bar{flex:1;height:6px;margin-bottom:0}.activation-progress-row .activation-progress-text{font-size:12px}.activation-step-num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--color-bg-subtle);border:1px solid var(--color-border);font-size:10px;font-weight:800;color:var(--color-muted-light);margin-right:8px}.activation-step-label{display:inline-flex;align-items:center}.activation-step.done .activation-step-label svg[data-lucide]{color:var(--color-success);width:14px;height:14px;margin-right:8px}.activation-pill{display:inline-flex;align-items:center;gap:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:8px 14px 8px 12px;font-family:inherit;font-size:13px;font-weight:700;color:var(--color-text-body);cursor:pointer;box-shadow:var(--shadow-sm);margin-bottom:14px;transition:background var(--tx-fast) var(--ease-io),border-color var(--tx-fast) var(--ease-io)}.activation-pill:hover{border-color:var(--color-cta);background:rgba(var(--color-cta-rgb),.04)}.activation-pill-dot{width:8px;height:8px;border-radius:50%;background:var(--color-cta);box-shadow:0 0 0 4px rgba(var(--color-cta-rgb),.2)}.activation-pill-label{color:var(--color-text-dark)}.activation-pill-progress{font-size:11px;font-weight:800;color:var(--color-cta);background:rgba(var(--color-cta-rgb),.1);padding:2px 8px;border-radius:100px;letter-spacing:.04em}.activation-pill svg[data-lucide]{width:14px;height:14px;margin-right:0;color:var(--color-muted-light)}.activation-stat-chip{position:fixed;top:80px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--color-navy),#003399);color:#fff;padding:10px 16px 10px 14px;border-radius:999px;font-size:13px;font-weight:700;box-shadow:0 12px 32px rgba(var(--color-navy-rgb),.3);z-index:9998;display:inline-flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);animation:activation-stat-in .35s var(--ease-out)}.activation-stat-chip svg[data-lucide]{width:16px;height:16px;margin-right:0;color:#f59e0b}.activation-stat-chip-leave{opacity:0;transform:translate(-50%) translateY(-8px);transition:opacity .35s ease,transform .35s ease}@keyframes activation-stat-in{0%{opacity:0;transform:translate(-50%) translateY(-12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.activation-complete{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#fef3c7,#fef9e7);border:1px solid #fcd34d;border-radius:var(--r-lg);padding:18px 22px;margin-bottom:20px;box-shadow:var(--shadow-md)}.activation-complete-icon{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--color-cta),var(--color-amber));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 20px rgba(var(--color-cta-rgb),.35)}.activation-complete-icon svg[data-lucide]{width:26px;height:26px;margin-right:0}.activation-complete-title{font-size:17px;font-weight:900;color:var(--color-text-dark);letter-spacing:-.01em;margin-bottom:2px}.activation-complete-sub{font-size:13px;color:var(--color-muted-light)}.dashboard-hero{text-align:center;padding:56px 24px 48px;margin-bottom:24px;background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-bg-subtle) 100%);border:1px solid var(--color-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.dashboard-hero-icon{width:72px;height:72px;margin:0 auto 18px;background:linear-gradient(135deg,var(--color-cta),var(--color-amber));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 24px rgba(var(--color-cta-rgb),.32)}.dashboard-hero-icon svg[data-lucide]{width:36px;height:36px;stroke-width:2;margin-right:0}.dashboard-hero-title{font-size:24px;font-weight:900;color:var(--color-text-dark);letter-spacing:-.02em;margin-bottom:8px}.dashboard-hero-sub{font-size:15px;color:var(--color-muted-light);max-width:520px;margin:0 auto 24px;line-height:1.55}.dashboard-hero-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.cmd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;display:none;align-items:flex-start;justify-content:center;padding:80px 20px 20px;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:cmd-overlay-in var(--tx-mid) var(--ease-out) both}@keyframes cmd-overlay-in{0%{opacity:0}to{opacity:1}}.cmd-modal{width:100%;max-width:640px;max-height:calc(100vh - 100px);background:var(--color-surface);border-radius:14px;box-shadow:0 24px 64px #0f172a4d,0 4px 12px #0f172a1f;border:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;animation:cmd-modal-in var(--tx-slow) var(--ease-out) both}@keyframes cmd-modal-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cmd-search-wrap{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--color-border-light)}.cmd-search-icon{color:var(--color-subtle);width:18px!important;height:18px!important;margin-right:0;flex-shrink:0}.cmd-input{flex:1;border:none;outline:none;background:transparent;font-size:16px;font-weight:500;color:var(--color-text-dark);padding:4px 0;font-family:var(--font-sans)}.cmd-input::placeholder{color:var(--color-subtle)}.cmd-esc-hint{font-size:11px;font-weight:700;color:var(--color-subtle);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:4px;padding:2px 6px;font-family:var(--font-sans)}.cmd-list{flex:1;overflow-y:auto;padding:6px;min-height:60px}.cmd-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background 60ms var(--ease-io);-webkit-user-select:none;user-select:none}.cmd-row.is-selected{background:rgba(var(--color-cta-rgb),.08)}.cmd-row.is-selected .cmd-row-type{color:var(--color-cta)}.cmd-row-icon{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-subtle);border-radius:6px;color:var(--color-muted-light)}.cmd-row.is-selected .cmd-row-icon{background:rgba(var(--color-cta-rgb),.12);color:var(--color-cta)}.cmd-row-icon svg[data-lucide]{width:15px;height:15px;stroke-width:2;margin-right:0}.cmd-row-body{flex:1;min-width:0}.cmd-row-label{font-size:14px;font-weight:600;color:var(--color-text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-row-label mark{background:rgba(var(--color-cta-rgb),.18);color:inherit;padding:0 1px;border-radius:2px}.cmd-row-sub{font-size:12px;color:var(--color-muted-light);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-row-sub mark{background:rgba(var(--color-cta-rgb),.14);color:inherit;border-radius:2px}.cmd-row-type{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--color-subtle);flex-shrink:0}.cmd-empty{padding:36px 20px;text-align:center;color:var(--color-muted-light);font-size:13px}.cmd-empty svg[data-lucide]{display:block;margin:0 auto 8px;width:24px;height:24px;color:var(--color-subtle)}.cmd-footer{display:flex;align-items:center;justify-content:flex-start;gap:18px;padding:8px 18px;border-top:1px solid var(--color-border-light);font-size:11px;color:var(--color-muted-light);background:var(--color-bg-subtle)}.cmd-footer kbd{display:inline-block;font-family:var(--font-sans);font-weight:700;font-size:10px;background:var(--color-surface);color:var(--color-muted-light);border:1px solid var(--color-border);border-radius:3px;padding:1px 5px;margin-right:3px;min-width:14px;text-align:center}.cmd-footer-spacer{margin-left:auto}@media(max-width:600px){.cmd-overlay{padding:16px;align-items:stretch}.cmd-modal{max-height:calc(100vh - 32px)}.cmd-input{font-size:17px}}.input-polish-search-wrap{position:relative;display:inline-block;width:100%}.input-polish-search-wrap input.search-polished{padding-right:32px}.input-polish-search-clear{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:22px;height:22px;border:none;border-radius:50%;background:var(--color-border-light);color:var(--color-muted-light);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background var(--tx-fast) var(--ease-io),color var(--tx-fast) var(--ease-io)}.input-polish-search-clear:hover{background:var(--color-subtle);color:var(--color-surface)}.input-polish-search-clear svg[data-lucide]{width:12px;height:12px;stroke-width:2.5;margin-right:0}.input-polish-sms-counter{font-size:11px;font-weight:600;color:var(--color-muted-light);margin-top:4px;text-align:right;letter-spacing:.02em;font-variant-numeric:tabular-nums}.input-polish-sms-counter.warn{color:var(--color-amber)}.input-polish-sms-counter.danger{color:var(--color-danger)}.sidebar-plan-badge{display:inline-flex!important;align-items:center;gap:4px;font-size:11px;font-weight:800;padding:3px 10px;border-radius:100px;margin-top:6px;cursor:pointer;letter-spacing:.02em;transition:background var(--tx-fast) var(--ease-io),transform 60ms var(--ease-io);border:1px solid transparent}.sidebar-plan-badge:hover{filter:brightness(1.06)}.sidebar-plan-badge:active{transform:scale(.96)}.sidebar-plan-badge svg[data-lucide]{width:12px;height:12px;margin-right:0;stroke-width:2.25}.sidebar-plan-label{font-weight:800}.sidebar-plan-upgrade{font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--color-cta);color:#fff;padding:1px 5px;border-radius:3px;margin-left:4px}.tech-row-label{display:flex;align-items:center;gap:10px;width:100%}.tech-row-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;letter-spacing:-.02em;text-transform:uppercase;box-shadow:inset 0 -1px #00000014}.tech-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.tech-row-name{font-size:13px;font-weight:700;color:var(--color-text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.tech-row-meta{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;color:var(--color-muted-light);letter-spacing:.02em}.tech-row-jobs-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:100px;background:var(--color-bg-subtle);color:var(--color-muted-light);font-size:10px;font-weight:800}.tech-row-util-ring{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;color:var(--color-muted-light);background:conic-gradient(var(--ring-color, var(--color-success)) calc(var(--ring-pct, 0) * 1%),var(--color-border-light) 0);position:relative}.tech-row-util-ring:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--color-surface)}.tech-row-util-ring>span{position:relative;z-index:1;letter-spacing:-.04em}.tech-row-util-ring.util-low{--ring-color: var(--color-success);color:var(--color-success)}.tech-row-util-ring.util-mid{--ring-color: var(--color-amber);color:var(--color-amber)}.tech-row-util-ring.util-high{--ring-color: var(--color-danger);color:var(--color-danger)}.tech-row-util-ring.util-empty{--ring-color: var(--color-border);color:var(--color-subtle)}.tech-row-label.is-unassigned .tech-row-avatar{background:var(--color-bg-subtle)!important;color:var(--color-muted-light);box-shadow:inset 0 0 0 1px var(--color-border)}.tech-row-label.is-unassigned .tech-row-name{color:var(--color-muted-light);font-style:italic;font-weight:600}.dispatch-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-left-width:4px;border-radius:8px;padding:8px 10px;margin-bottom:6px;cursor:grab;transition:box-shadow var(--tx-fast) var(--ease-io),border-color var(--tx-fast) var(--ease-io),transform var(--tx-fast) var(--ease-io)}.dispatch-card:hover{box-shadow:0 4px 12px #0f172a14;border-color:var(--color-border);transform:translateY(-1px)}.dispatch-card:active{cursor:grabbing;transform:translateY(0)}.dispatch-card.is-scheduled{background:linear-gradient(135deg,var(--color-surface) 0%,rgba(var(--color-navy-rgb),.04) 100%)}.dispatch-card.is-in-progress{background:linear-gradient(135deg,var(--color-surface) 0%,rgba(245,158,11,.06) 100%)}.dispatch-card.is-completed{background:linear-gradient(135deg,var(--color-surface) 0%,rgba(5,150,105,.05) 100%);opacity:.85}.dispatch-card.is-cancelled{background:var(--color-surface);opacity:.5;text-decoration:line-through;text-decoration-color:var(--color-subtle);text-decoration-thickness:1px}.dispatch-card.has-conflict-high{box-shadow:0 0 0 2px var(--color-danger),0 4px 12px #dc26262e}.dispatch-card.has-conflict-medium{box-shadow:0 0 0 2px var(--color-amber),0 4px 10px #f59e0b2e}.dispatch-card-conflict-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:100px;font-size:10px;font-weight:800;letter-spacing:.02em;margin-top:4px}.dispatch-card.has-conflict-high .dispatch-card-conflict-pill{background:var(--color-danger-bg);color:var(--color-danger-text)}.dispatch-card.has-conflict-medium .dispatch-card-conflict-pill{background:var(--color-warning-bg);color:var(--color-warning-text)}.dispatch-card-conflict-pill svg[data-lucide]{width:10px;height:10px;stroke-width:2.5;margin-right:0}.gantt-bar.is-scheduled{background:linear-gradient(135deg,var(--color-navy-500),var(--color-navy))}.gantt-bar.is-in-progress{background:linear-gradient(135deg,#f59e0b,#d97706)}.gantt-bar.is-completed{background:linear-gradient(135deg,#10b981,var(--color-success))}.gantt-bar.is-cancelled{background:var(--color-subtle);opacity:.55;text-decoration:line-through;text-decoration-thickness:1.5px}.gantt-bar.is-unassigned{background:linear-gradient(135deg,#9ca3af,var(--color-muted-light))}.gantt-bar.is-en-route{background:linear-gradient(135deg,var(--color-amber),#d97706)}.gantt-now-line{width:2px!important;background:var(--color-danger)!important;box-shadow:0 0 4px #dc262666}.gantt-now-label{display:inline-flex;align-items:center;gap:3px;font-weight:800;font-size:10px;letter-spacing:.05em;text-transform:uppercase;background:var(--color-danger);color:#fff;padding:2px 8px;border-radius:100px;box-shadow:0 2px 6px #dc262652;position:relative;top:-10px}.gantt-now-label:before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 #ffffffb3;animation:now-pulse 1.4s var(--ease-io) infinite}@keyframes now-pulse{0%,to{box-shadow:0 0 #ffffffb3}50%{box-shadow:0 0 0 4px #fff0}}.gantt-drop-zone.gb-hover{background:rgba(var(--color-cta-rgb),.06)!important;outline:2px dashed var(--color-amber)!important;outline-offset:-3px!important;border-radius:4px!important;transition:background 80ms var(--ease-io)}.unassigned-panel{background:linear-gradient(135deg,var(--color-surface) 0%,rgba(var(--color-navy-rgb),.02) 100%);border-left:3px solid var(--color-amber)}.unassigned-panel .sec-lbl{display:flex;align-items:center;gap:6px;color:var(--color-amber)}.unassigned-panel .sec-lbl:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-amber);box-shadow:0 0 0 3px #f59e0b26}.cm-header{display:flex;align-items:center;gap:14px;padding:16px 18px;margin-bottom:18px;background:linear-gradient(135deg,var(--color-bg-subtle) 0%,var(--color-surface) 100%);border:1px solid var(--color-border);border-radius:12px}.cm-header-avatar{flex-shrink:0;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;color:#fff;letter-spacing:-.02em;box-shadow:0 2px 8px #0f172a1f,inset 0 -1px #00000014}.cm-header-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cm-header-name{font-size:16px;font-weight:800;color:var(--color-text-dark);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-header-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--color-muted-light)}.cm-header-meta-item{display:inline-flex;align-items:center;gap:4px}.cm-header-meta-item svg[data-lucide]{width:12px;height:12px;margin-right:2px;color:var(--color-subtle);stroke-width:2}.cm-header-status{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:100px;font-size:11px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.cm-header-status svg[data-lucide]{width:12px;height:12px;stroke-width:2.5;margin-right:2px}.cm-header-status-active{background:var(--color-success-bg);color:var(--color-success-text)}.cm-header-status-lead{background:var(--color-warning-bg);color:var(--color-warning-text)}.cm-header-status-inactive{background:var(--color-bg-subtle);color:var(--color-muted-light)}.form-section{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--color-border-light)}.form-section:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:14px}.form-section-label{font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--color-muted-light);margin:0 0 12px;display:inline-flex;align-items:center;gap:6px}.form-section-label i[data-lucide]{width:13px;height:13px;color:var(--color-cta)}[data-theme=dark] .form-section{border-bottom-color:var(--color-border)}[data-theme=dark] .form-section-label{color:var(--color-muted-light)}.cust-modal-content{max-width:760px!important}#view-job-detail>.card:has(#jd-title){background:linear-gradient(135deg,var(--color-surface) 0%,rgba(var(--color-cta-rgb),.04) 100%)!important;border-color:var(--color-border)!important;border-left:4px solid var(--color-cta)!important;box-shadow:0 1px 3px #0f172a0a,0 4px 12px #0f172a0f}#jd-title{letter-spacing:-.025em!important}#jd-total-price{letter-spacing:-.025em!important;background:linear-gradient(135deg,var(--color-cta) 0%,var(--color-amber) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#jd-status-badge{border-radius:100px!important;letter-spacing:.04em;text-transform:uppercase;font-size:11px!important;display:inline-flex;align-items:center;gap:4px}#jd-techs-badge{display:inline-flex!important;align-items:center;gap:4px;font-weight:700}#jd-techs-badge svg[data-lucide]{width:12px;height:12px;stroke-width:2.5;margin-right:2px}#jd-action-bar{background:var(--color-surface)!important;border-radius:12px!important;box-shadow:var(--shadow-sm);padding:10px 14px!important}#jd-action-bar .btn{border-radius:8px}#jd-action-bar .btn-primary{box-shadow:0 2px 6px rgba(var(--color-cta-rgb),.18)}#view-job-detail>div:has(.nav-tab){background:transparent!important;border-bottom:2px solid var(--color-border-light)!important;border-radius:0!important;padding:0!important;margin-bottom:18px!important;gap:0!important}#view-job-detail .nav-tab{background:transparent!important;border:none!important;border-bottom:2px solid transparent!important;border-radius:0!important;padding:10px 16px!important;font-size:13px!important;font-weight:600!important;color:var(--color-muted-light)!important;cursor:pointer;transition:color var(--tx-fast) var(--ease-io),border-color var(--tx-fast) var(--ease-io),background var(--tx-fast) var(--ease-io);margin-bottom:-2px;position:relative;display:inline-flex;align-items:center;gap:5px}#view-job-detail .nav-tab:hover{color:var(--color-text-body)!important;background:var(--color-bg-subtle)!important}#view-job-detail .nav-tab[style*="border-bottom: 2px solid var(--color-cta)"],#view-job-detail .nav-tab[style*="border-bottom:2px solid var(--color-cta)"]{color:var(--color-cta)!important;border-bottom-color:var(--color-cta)!important;background:transparent!important;font-weight:700!important}#view-job-detail .nav-tab svg[data-lucide]{width:14px;height:14px;stroke-width:2;margin-right:2px}#jd-tab-details .card,#jd-tab-notes .card,#jd-tab-checklist .card,#jd-tab-equipment .card,#jd-tab-costing .card{border-radius:12px;border:1px solid var(--color-border-light);box-shadow:0 1px 2px #0f172a08;transition:box-shadow var(--tx-mid) var(--ease-out)}#jd-tab-details .card:hover,#jd-tab-notes .card:hover,#jd-tab-checklist .card:hover,#jd-tab-equipment .card:hover,#jd-tab-costing .card:hover{box-shadow:0 4px 12px #0f172a0f}#view-job-detail [style*="text-transform:uppercase"][style*=letter-spacing]{letter-spacing:.06em!important}#jd-deposit-status>*{border-radius:100px!important;font-size:11px!important;font-weight:700!important;padding:4px 10px!important;display:inline-flex;align-items:center;gap:4px}#quote-modal .modal-content{max-width:860px!important}#quote-modal #quote-modal-body{padding-bottom:84px}#quote-modal .modal-header{background:linear-gradient(180deg,#fef9ec,#fff);border-bottom:1px solid var(--color-border);border-left:3px solid var(--color-cta);padding:18px 22px;border-radius:14px 14px 0 0;margin:-20px -20px 18px}#quote-modal .modal-title{font-weight:800;letter-spacing:-.01em;font-size:18px}#quote-modal h3{font-size:11px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase;color:var(--color-muted-light);margin:22px 0 10px!important;padding-bottom:8px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:8px}#quote-modal h3 i[data-lucide]{width:14px;height:14px;color:var(--color-cta)}#qm-pb-picker{height:40px;border:1.5px solid var(--color-border);border-radius:10px;padding:0 12px;font-size:13.5px;background:#fff;transition:border-color .15s var(--ease-out, ease)}#qm-pb-picker:focus{border-color:var(--color-cta);outline:0}#quote-modal table{border:1px solid var(--color-border);border-radius:12px;overflow:hidden;background:#fff}#quote-modal table thead tr{background:var(--color-bg-subtle)!important}#quote-modal table thead th{font-size:11px!important;font-weight:700!important;letter-spacing:.05em!important;text-transform:uppercase;color:var(--color-muted-light);padding:10px 12px!important;border-bottom:1px solid var(--color-border)}#qm-line-items tr{transition:background .12s var(--ease-out, ease)}#qm-line-items tr:hover{background:var(--color-bg-subtle)}#qm-line-items td{padding:10px 12px!important;border-bottom:1px solid var(--color-border);vertical-align:middle}#qm-line-items input,#qm-line-items select{height:34px;border:1.5px solid var(--color-border);border-radius:8px;padding:0 10px;font-size:13px;background:#fff;transition:border-color .15s var(--ease-out, ease)}#qm-line-items input:focus,#qm-line-items select:focus{border-color:var(--color-cta);outline:0}#quote-modal table tfoot td{padding:10px 12px!important;font-size:13.5px!important;border-top:1px solid var(--color-border)}#qm-subtotal,#qm-tax-amt{font-variant-numeric:tabular-nums;font-weight:700!important}#qm-total{font-size:20px!important;font-weight:800!important;background:linear-gradient(135deg,var(--color-cta) 0%,#d97706 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums;letter-spacing:-.01em}#qm-promo-display{border-radius:10px!important;font-weight:600}#qm-deposit-section{border-radius:12px!important;background:linear-gradient(135deg,#fffaf0,#fef3c7)!important;border:1px solid #fcd34d!important}#qm-deposit-preview{background:#fff!important;border:1px solid #fcd34d;border-radius:8px!important;padding:10px 14px!important;font-weight:700!important}#qm-tc-wrapper+p+canvas#sig-pad,#sig-pad{border-radius:10px!important;border-color:var(--color-border)!important;transition:border-color .15s var(--ease-out, ease)}#sig-pad:not([disabled]):hover{border-color:var(--color-cta)!important}#qm-convert-banner{background:linear-gradient(135deg,#ecfdf5,#d1fae5)!important;border-radius:14px!important;border-color:var(--color-success, #10b981)!important;box-shadow:0 8px 24px -8px #10b98140}#qm-save-btn,#qm-approve-btn,#qm-reject-btn,#qm-convert-job-btn,#qm-invoice-btn,#qm-delete-btn,#qm-email-btn{border-radius:10px;font-weight:700;letter-spacing:.01em}#quote-modal-body>div:last-child{position:sticky;bottom:0;background:linear-gradient(180deg,#fff0,#fff 30%);padding:14px 0 4px;margin-top:22px!important;border-top:1px solid var(--color-border);z-index:5}#reject-modal .modal-content{border-radius:14px}#reject-note{border-radius:10px;transition:border-color .15s var(--ease-out, ease)}#reject-note:focus{border-color:var(--color-cta);outline:0}#qm-rejection-banner,#qm-autofollowup-badge,#qm-ach-badge{border-radius:10px!important;font-weight:600}#quote-modal .form-row{gap:14px}#qm-customer,#qm-valid-until{height:40px;border-radius:10px}#qm-notes{border-radius:10px;font-family:inherit;line-height:1.5}#qm-tax-rate{border-radius:10px}#settings-tabs{position:relative;padding:14px 16px!important;background:linear-gradient(180deg,#fafbfc,#f5f7fa);border:1px solid var(--color-border);border-radius:14px;margin-bottom:22px!important;gap:6px!important;box-shadow:inset 0 1px #fff9}#settings-tabs:before{content:"Settings";position:absolute;top:-8px;left:14px;background:#fff;padding:0 8px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted-light);border:1px solid var(--color-border);border-radius:6px}#settings-tabs .chip{height:34px;padding:0 14px!important;border-radius:10px!important;font-size:13px;font-weight:600;letter-spacing:.005em;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border);background:#fff;color:var(--color-text);cursor:pointer;transition:transform .12s var(--ease-out, ease),box-shadow .12s var(--ease-out, ease),border-color .12s var(--ease-out, ease),background .12s var(--ease-out, ease)}#settings-tabs .chip:hover{transform:translateY(-1px);box-shadow:0 4px 10px -4px #0f172a1f;border-color:rgba(var(--color-cta-rgb, 245, 158, 11),.4)}#settings-tabs .chip i[data-lucide]{width:14px;height:14px;flex-shrink:0}#settings-tabs .chip.active{background:linear-gradient(135deg,var(--color-cta) 0%,#d97706 100%)!important;color:#fff!important;border-color:var(--color-cta)!important;box-shadow:0 6px 16px -6px #f59e0b8c,0 0 0 3px #f59e0b1f;transform:translateY(-1px)}#settings-tabs .chip.active i[data-lucide]{color:#fff!important}@media(prefers-reduced-motion:reduce){#settings-tabs .chip,#settings-tabs .chip:hover,#settings-tabs .chip.active{transform:none!important;transition:none!important}}@media(max-width:768px){#settings-tabs{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:thin;-webkit-overflow-scrolling:touch;padding:12px!important}#settings-tabs .chip{flex-shrink:0}#settings-tabs:before{display:none}}.kbd-help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:10002;display:none;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .18s var(--ease-out, ease)}.kbd-help-overlay.open{display:flex;opacity:1}.kbd-help-card{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:85vh;overflow:hidden;box-shadow:0 24px 48px -12px #0f172a59,0 0 0 1px #0f172a14;display:flex;flex-direction:column;transform:scale(.96);transition:transform .18s var(--ease-out, ease)}.kbd-help-overlay.open .kbd-help-card{transform:scale(1)}.kbd-help-header{padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#fafbfc,#fff)}.kbd-help-header h2{margin:0;font-size:16px;font-weight:800;letter-spacing:-.005em;color:var(--color-text)}.kbd-help-close{background:none;border:0;cursor:pointer;width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-muted-light);transition:background .12s var(--ease-out, ease),color .12s var(--ease-out, ease)}.kbd-help-close:hover{background:var(--color-bg-subtle);color:var(--color-text)}.kbd-help-close i[data-lucide]{width:18px;height:18px}.kbd-help-body{padding:18px 20px 20px;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:22px}@media(max-width:540px){.kbd-help-body{grid-template-columns:1fr}}.kbd-help-section-title{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted-light);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.kbd-row{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:9px;color:var(--color-text)}.kbd-row .kbd-then{color:var(--color-muted-light);font-size:11px;margin:0 1px}.kbd-row .kbd-label{margin-left:8px;color:var(--color-muted)}.kbd-help-card kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;font-weight:600;color:var(--color-text);background:linear-gradient(180deg,#fff,#f3f4f6);border:1px solid var(--color-border);border-bottom-width:2px;border-radius:5px;box-shadow:0 1px #0f172a0a}@media(prefers-reduced-motion:reduce){.kbd-help-overlay,.kbd-help-card{transition:none!important}}.sidebar-footer-actions{display:flex;gap:8px;align-items:center;margin-top:10px}.sidebar-footer-actions .sidebar-signout{flex:1}.sidebar-theme-toggle{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff14;color:#ffffffd9;border:1px solid rgba(255,255,255,.14);border-radius:9px;cursor:pointer;transition:background .12s var(--ease-out, ease),color .12s var(--ease-out, ease)}.sidebar-theme-toggle:hover{background:#ffffff29;color:#fff}.sidebar-theme-toggle i[data-lucide]{width:16px;height:16px}[data-theme=dark]{color-scheme:dark;--color-bg: #0b1020;--color-bg-subtle: #131a2c;--color-surface: #1a2238;--color-text: #e7eaf2;--color-text-dark: #f4f6fb;--color-text-body: #d8dde8;--color-muted: #9aa3b8;--color-muted-light: #8590a8;--color-subtle: #6b7488;--color-border: #2a3550;--color-border-light: #1f2a44;--color-navy: #4d70b3;--color-navy-rgb: 77, 112, 179}[data-theme=dark] body{background:var(--color-bg);color:var(--color-text)}[data-theme=dark] #main-content{background:var(--color-bg)}[data-theme=dark] .card,[data-theme=dark] .stat-card{background:var(--color-surface);border-color:var(--color-border);box-shadow:0 1px #ffffff08,0 4px 12px #0006}[data-theme=dark] .card:hover,[data-theme=dark] .stat-card:hover{box-shadow:0 1px #ffffff0a,0 8px 24px #00000080}[data-theme=dark] .modal{background:#000000b8}[data-theme=dark] .modal-content{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);box-shadow:0 24px 48px -12px #000000b3,0 0 0 1px #ffffff0a}[data-theme=dark] .modal-header{background:linear-gradient(180deg,var(--color-bg-subtle),var(--color-surface));border-bottom-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .modal-title{color:var(--color-text-dark)}[data-theme=dark] .close-btn{color:var(--color-muted-light)}[data-theme=dark] .close-btn:hover{background:#ffffff0f;color:var(--color-text)}[data-theme=dark] .form-input,[data-theme=dark] input[type=text],[data-theme=dark] input[type=email],[data-theme=dark] input[type=tel],[data-theme=dark] input[type=number],[data-theme=dark] input[type=date],[data-theme=dark] input[type=time],[data-theme=dark] input[type=search],[data-theme=dark] input[type=password],[data-theme=dark] textarea,[data-theme=dark] select{background:var(--color-bg-subtle);color:var(--color-text);border-color:var(--color-border)}[data-theme=dark] .form-input:focus,[data-theme=dark] input:focus,[data-theme=dark] textarea:focus,[data-theme=dark] select:focus{border-color:var(--color-cta);background:var(--color-surface)}[data-theme=dark] .form-label{color:var(--color-text-body)}[data-theme=dark] ::placeholder{color:var(--color-subtle);opacity:1}[data-theme=dark] .btn-secondary{background:var(--color-bg-subtle);color:var(--color-text);border:1px solid var(--color-border)}[data-theme=dark] .btn-secondary:hover{background:var(--color-surface);border-color:var(--color-cta)}[data-theme=dark] .btn-outline{background:transparent;border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .btn-outline:hover{background:var(--color-bg-subtle);border-color:var(--color-cta)}[data-theme=dark] .btn-white,[data-theme=dark] table{background:var(--color-surface);color:var(--color-text)}[data-theme=dark] thead tr,[data-theme=dark] thead th{background:var(--color-bg-subtle)!important;color:var(--color-muted-light);border-color:var(--color-border)}[data-theme=dark] tbody tr{border-bottom-color:var(--color-border)}[data-theme=dark] tbody tr:hover{background:var(--color-bg-subtle)}[data-theme=dark] tbody td{color:var(--color-text-body);border-color:var(--color-border)}[data-theme=dark] tfoot td{color:var(--color-text)}[data-theme=dark] #settings-tabs{background:linear-gradient(180deg,var(--color-bg-subtle),var(--color-surface));border-color:var(--color-border)}[data-theme=dark] #settings-tabs:before{background:var(--color-surface);color:var(--color-muted-light);border-color:var(--color-border)}[data-theme=dark] #settings-tabs .chip{background:var(--color-bg-subtle);color:var(--color-text);border-color:var(--color-border)}[data-theme=dark] #settings-tabs .chip:hover{border-color:#f59e0b80;box-shadow:0 4px 12px -4px #00000080}[data-theme=dark] .page-title{color:var(--color-text-dark)}[data-theme=dark] .page-sub{color:var(--color-muted-light)}[data-theme=dark] .page-hdr{border-color:var(--color-border)}[data-theme=dark] #cmd-palette-overlay{background:#000000b8}[data-theme=dark] .cmd-palette,[data-theme=dark] #cmd-palette{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:0 24px 48px -12px #000000b3}[data-theme=dark] .cmd-palette-input,[data-theme=dark] #cmd-palette-input{background:transparent;color:var(--color-text)}[data-theme=dark] .cmd-palette-section,[data-theme=dark] .cmd-palette-section-title{color:var(--color-muted-light);border-color:var(--color-border)}[data-theme=dark] .cmd-palette-item:hover,[data-theme=dark] .cmd-palette-item.selected,[data-theme=dark] .cmd-palette-item[aria-selected=true]{background:var(--color-bg-subtle)}[data-theme=dark] .kbd-help-overlay{background:#000000b8}[data-theme=dark] .kbd-help-card{background:var(--color-surface);color:var(--color-text);box-shadow:0 24px 48px -12px #000000b3,0 0 0 1px #ffffff0a}[data-theme=dark] .kbd-help-header{background:linear-gradient(180deg,var(--color-bg-subtle),var(--color-surface));border-bottom-color:var(--color-border)}[data-theme=dark] .kbd-help-header h2{color:var(--color-text)}[data-theme=dark] .kbd-help-section-title{color:var(--color-muted-light);border-color:var(--color-border)}[data-theme=dark] .kbd-help-card kbd{background:linear-gradient(180deg,var(--color-bg-subtle),#0d1424);color:var(--color-text);border-color:var(--color-border)}[data-theme=dark] .confirm-dialog,[data-theme=dark] .confirm-overlay>div{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}[data-theme=dark] .toast,[data-theme=dark] #toast,[data-theme=dark] .toast-msg{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}[data-theme=dark] .nav-tab{color:var(--color-muted-light)}[data-theme=dark] .nav-tab:hover{background:var(--color-bg-subtle);color:var(--color-text)}[data-theme=dark] .nav-tab.active{color:var(--color-cta)}[data-theme=dark] .empty-state-card,[data-theme=dark] .empty-state{background:var(--color-bg-subtle);border-color:var(--color-border);color:var(--color-text-body)}[data-theme=dark] .skel,[data-theme=dark] .skeleton-row,[data-theme=dark] [class*=skel-]{background:linear-gradient(90deg,var(--color-bg-subtle) 0%,#1f2a44 50%,var(--color-bg-subtle) 100%)}[data-theme=dark] .nav,[data-theme=dark] #main-nav{background:var(--color-surface);border-bottom:1px solid var(--color-border);color:var(--color-text)}[data-theme=dark] .nav-tabs .nav-tab{color:var(--color-text-body)}[data-theme=dark] .nav-tabs .nav-tab:hover{background:var(--color-bg-subtle)}[data-theme=dark] #view-job-detail>.card:has(#jd-title){background:linear-gradient(180deg,var(--color-bg-subtle) 0%,var(--color-surface) 100%)}[data-theme=dark] #quote-modal .modal-header{background:linear-gradient(180deg,var(--color-bg-subtle),var(--color-surface))}[data-theme=dark] [style*="background:#fff"]:not(button):not(input):not(textarea):not(select),[data-theme=dark] [style*="background: #fff"]:not(button):not(input):not(textarea):not(select),[data-theme=dark] [style*="background:white"]:not(button):not(input):not(textarea):not(select){background:var(--color-surface)!important;color:var(--color-text)}[data-theme=dark] [data-tooltip]:after{background:#f4f6fb;color:#0b1020}.loading-overlay-skel{background:var(--color-bg);display:flex;flex-direction:column}.loading-skel-shell{flex:1;display:grid;grid-template-columns:220px 1fr;width:100%;height:100%;overflow:hidden}.loading-skel-sidebar{background:var(--color-navy);padding:22px 18px;display:flex;flex-direction:column;gap:28px}.loading-skel-brand{display:flex;align-items:center;gap:10px}.loading-skel-logo{width:26px;height:26px}.loading-skel-brand-text{font-size:18px;font-weight:800;color:#fff;letter-spacing:-.01em}.loading-skel-navlinks{display:flex;flex-direction:column;gap:16px;margin-top:12px}.loading-skel-navlinks .skel{background:linear-gradient(90deg,#ffffff0f,#ffffff29,#ffffff0f)!important;background-size:200% 100%!important;animation:loadingSkelShimmer 1.6s ease-in-out infinite!important;border-radius:6px}.loading-skel-main{padding:32px 36px;background:var(--color-bg);overflow:hidden}.loading-skel-header{margin-bottom:28px}.loading-skel-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.loading-skel-stat{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:18px;display:flex;flex-direction:column}.loading-skel-card{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:24px}.loading-skel-shell .skel,.loading-skel-shell .skel-line{display:block;background:linear-gradient(90deg,#f0f1f4,#f8f9fb,#f0f1f4);background-size:200% 100%;animation:loadingSkelShimmer 1.6s ease-in-out infinite;border-radius:6px}@keyframes loadingSkelShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.loading-skel-status{position:absolute;bottom:18px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fffffff5;border:1px solid var(--color-border);border-radius:999px;font-size:12.5px;font-weight:600;color:var(--color-muted-light);box-shadow:0 4px 12px #0000000f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.loading-spinner-mini{width:13px;height:13px;border:2px solid var(--color-border);border-top-color:var(--color-cta);border-radius:50%;animation:loadingSkelSpin .8s linear infinite}@keyframes loadingSkelSpin{to{transform:rotate(360deg)}}@media(max-width:768px){.loading-skel-shell{grid-template-columns:1fr}.loading-skel-sidebar{display:none}.loading-skel-main{padding:22px 18px}.loading-skel-stats{grid-template-columns:repeat(2,1fr)}}[data-theme=dark] .loading-skel-main{background:var(--color-bg)}[data-theme=dark] .loading-skel-stat,[data-theme=dark] .loading-skel-card{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .loading-skel-shell .skel,[data-theme=dark] .loading-skel-shell .skel-line{background:linear-gradient(90deg,var(--color-bg-subtle) 0%,#1f2a44 50%,var(--color-bg-subtle) 100%)}[data-theme=dark] .loading-skel-status{background:#1a2238f5;border-color:var(--color-border);color:var(--color-text-body)}@media(prefers-reduced-motion:reduce){.loading-skel-shell .skel,.loading-skel-shell .skel-line,.loading-spinner-mini{animation:none!important}}.changelog-trigger-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--color-cta);border-radius:50%;box-shadow:0 0 0 2px var(--color-navy),0 0 8px #f59e0bcc;pointer-events:none;animation:changelogDotPulse 2.4s ease-in-out infinite}@keyframes changelogDotPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.85}}.changelog-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10003;pointer-events:none}.changelog-drawer.changelog-mounted{pointer-events:auto}.changelog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a73;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .25s var(--ease-out, ease)}.changelog-drawer.open .changelog-backdrop{opacity:1}.changelog-panel{position:absolute;top:0;right:0;bottom:0;width:min(420px,100vw);background:#fff;border-left:1px solid var(--color-border);box-shadow:-16px 0 36px -12px #0f172a40;display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s var(--ease-out, ease)}.changelog-drawer.open .changelog-panel{transform:translate(0)}.changelog-header{padding:22px 24px 16px;border-bottom:1px solid var(--color-border);display:flex;align-items:flex-start;justify-content:space-between;background:linear-gradient(180deg,#fff7ed,#fff)}.changelog-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-cta);margin-bottom:4px}.changelog-header h2{margin:0;font-size:22px;font-weight:800;letter-spacing:-.015em;color:var(--color-text-dark)}.changelog-close{width:32px;height:32px;border-radius:8px;background:none;border:0;cursor:pointer;color:var(--color-muted-light);display:inline-flex;align-items:center;justify-content:center;transition:background .12s var(--ease-out, ease),color .12s var(--ease-out, ease)}.changelog-close:hover{background:var(--color-bg-subtle);color:var(--color-text)}.changelog-close i[data-lucide]{width:18px;height:18px}.changelog-feed{flex:1;overflow-y:auto;padding:20px 24px}.changelog-entry{padding:18px 0;border-bottom:1px solid var(--color-border-light)}.changelog-entry:last-child{border-bottom:0}.changelog-entry-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px}.changelog-entry-date{font-size:11.5px;font-weight:700;letter-spacing:.04em;color:var(--color-muted-light);font-variant-numeric:tabular-nums}.changelog-badge{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:100px;display:inline-flex;align-items:center}.changelog-badge-feature{background:#f59e0b1f;color:var(--color-cta)}.changelog-badge-improvement{background:#00226614;color:var(--color-navy)}.changelog-badge-fix{background:#10b9811f;color:#047857}.changelog-entry-title{font-size:15px;font-weight:800;letter-spacing:-.005em;color:var(--color-text-dark);margin-bottom:6px}.changelog-entry-body{font-size:13.5px;line-height:1.55;color:var(--color-muted)}.changelog-entry-body kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:10.5px;font-weight:600;color:var(--color-text);background:linear-gradient(180deg,#fff,#f3f4f6);border:1px solid var(--color-border);border-bottom-width:2px;border-radius:4px;margin:0 1px}.changelog-footer{padding:16px 24px;border-top:1px solid var(--color-border);background:var(--color-bg-subtle);font-size:12.5px;color:var(--color-muted-light)}.changelog-footer a{color:var(--color-cta);font-weight:700;text-decoration:none}.changelog-footer a:hover{text-decoration:underline}[data-theme=dark] .changelog-panel{background:var(--color-surface);border-left-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .changelog-header{background:linear-gradient(180deg,var(--color-bg-subtle),var(--color-surface));border-bottom-color:var(--color-border)}[data-theme=dark] .changelog-header h2{color:var(--color-text-dark)}[data-theme=dark] .changelog-entry{border-bottom-color:var(--color-border)}[data-theme=dark] .changelog-entry-title{color:var(--color-text-dark)}[data-theme=dark] .changelog-entry-body{color:var(--color-text-body)}[data-theme=dark] .changelog-footer{background:var(--color-bg-subtle);border-top-color:var(--color-border)}[data-theme=dark] .changelog-entry-body kbd{background:linear-gradient(180deg,var(--color-bg-subtle),#0d1424);border-color:var(--color-border);color:var(--color-text)}@media(prefers-reduced-motion:reduce){.changelog-panel,.changelog-backdrop,.changelog-trigger-dot{transition:none!important;animation:none!important}}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:100px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;line-height:1.6;border:1px solid transparent;font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;line-height:1.5;border:1px solid transparent}.pill-success{background:var(--green-50, #ecfdf5);color:var(--green-700, #047857);border-color:#10b98140}.pill-warning{background:var(--amber-50, #fffbeb);color:var(--color-warning-text, #78350f);border-color:#f59e0b59}.pill-danger{background:var(--red-50, #fef2f2);color:var(--red-600, #dc2626);border-color:#dc262640}.pill-info{background:rgba(var(--color-navy-rgb),.08);color:var(--color-navy);border-color:rgba(var(--color-navy-rgb),.25)}.pill-neutral{background:var(--color-bg-subtle);color:var(--color-muted);border-color:var(--color-border)}.pill-amber{background:#f59e0b1f;color:var(--color-cta);border-color:#f59e0b59}.pill i[data-lucide],.status-pill i[data-lucide]{width:11px;height:11px}#approval-badge,#bookings-badge,#unread-badge,#unread-sidebar-badge,.notif-count{display:inline-flex!important;align-items:center;justify-content:center;min-width:18px!important;height:18px!important;padding:0 6px!important;border-radius:100px!important;font-size:10.5px!important;font-weight:800!important;line-height:1!important;font-variant-numeric:tabular-nums;letter-spacing:0;background:var(--color-danger, #dc2626)!important;color:#fff!important;margin-left:6px;box-shadow:0 0 0 2px var(--color-surface, #fff);vertical-align:middle}#ar-aging-badge,#goal-pct-badge,#gm-avg-badge,#forecast-confidence-badge,#rpt-sms-plan-badge,#meta-capi-status-badge,#plan-current-badge,#cf-tier-badge,#nav-plan-badge{display:inline-flex!important;align-items:center!important;gap:5px!important;padding:3px 11px!important;border-radius:100px!important;font-size:11px!important;font-weight:800!important;letter-spacing:.04em!important;font-variant-numeric:tabular-nums;white-space:nowrap}#jd-status-badge,#jd-techs-badge,#jd-profit-badge{border-radius:100px!important;letter-spacing:.04em!important;font-variant-numeric:tabular-nums}[data-theme=dark] .pill-success{background:#10b9811f;color:#34d399;border-color:#10b9814d}[data-theme=dark] .pill-warning{background:#f59e0b24;color:#fcd34d;border-color:#f59e0b59}[data-theme=dark] .pill-danger{background:#dc262624;color:#fca5a5;border-color:#dc26264d}[data-theme=dark] .pill-info{background:#4d70b32e;color:#93c5fd;border-color:#4d70b359}[data-theme=dark] .pill-neutral{background:var(--color-bg-subtle);color:var(--color-muted-light);border-color:var(--color-border)}[data-theme=dark] .pill-amber{background:#f59e0b26;color:#fcd34d;border-color:#f59e0b59}[data-theme=dark] #approval-badge,[data-theme=dark] #bookings-badge,[data-theme=dark] #unread-badge,[data-theme=dark] #unread-sidebar-badge{box-shadow:0 0 0 2px var(--color-surface)}[data-theme=dark] .status-pill[data-status=scheduled],[data-theme=dark] .status-pill[data-status=enroute]{background:#4d70b32e;color:#93c5fd}[data-theme=dark] .status-pill[data-status=onsite],[data-theme=dark] .status-pill[data-status=inprogress],[data-theme=dark] .status-pill[data-status=done],[data-theme=dark] .status-pill[data-status=complete],[data-theme=dark] .status-pill[data-status=paid]{background:#10b98126;color:#34d399}[data-theme=dark] .status-pill[data-status=overdue],[data-theme=dark] .status-pill[data-status=pending]{background:#f59e0b26;color:#fcd34d}[data-theme=dark] .status-pill[data-status=cancelled],[data-theme=dark] .status-pill[data-status=declined],[data-theme=dark] .status-pill[data-status=rejected]{background:#dc262626;color:#fca5a5}@media(max-width:768px){#main-content{padding:16px 14px!important}.page-hdr{margin-bottom:14px}.page-title{font-size:19px!important}.page-sub{font-size:12.5px!important}.card{padding:16px 14px!important;border-radius:12px!important}.stat-card{padding:14px!important}.stat-grid,[class*=stat-grid],.grid-stats{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.stat-value{font-size:20px!important}.stat-label{font-size:10.5px!important}.form-row{flex-direction:column;gap:10px!important}.form-row>.form-group{width:100%;flex:1 1 100%}.form-input,input.form-input,textarea.form-input,select.form-input{font-size:16px!important}.form-group{margin-bottom:14px}.modal{padding:0!important;align-items:flex-end!important}.modal-content{max-width:100vw!important;width:100%!important;max-height:92vh!important;border-radius:16px 16px 0 0!important;margin:0!important;overflow-y:auto}.modal-header{padding:14px 16px!important;position:sticky;top:0;z-index:5;background:#fff}.modal-title{font-size:16px!important}#job-modal-body,#cust-modal-body,#quote-modal-body,#svc-modal-body{padding:14px 16px!important}.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-success,.btn-danger{min-height:44px;padding:10px 16px!important;font-size:14px!important}.btn-sm{min-height:36px}.card table,.view table:not(.skel-table){display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}#qm-save-btn,#jm-actions{padding-bottom:env(safe-area-inset-bottom,0)}.dashboard-hero,.activation-card{padding:16px!important}#view-job-detail>.card:has(#jd-title){padding:14px!important}#jd-title{font-size:18px!important}#jd-action-bar{gap:6px!important;flex-wrap:wrap}#toast,.toast{left:12px!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom,0))!important;max-width:none!important;font-size:14px!important}.sidebar.mob-open{box-shadow:8px 0 24px #00000040}#cmd-palette,.cmd-palette{max-width:100%!important;margin:12px!important}.confirm-dialog,.confirm-overlay>div{max-width:calc(100vw - 24px)!important;margin:12px!important}.changelog-panel{width:100vw!important}.kbd-help-body{grid-template-columns:1fr!important}}@media(max-width:480px){.stat-grid,[class*=stat-grid],.grid-stats{grid-template-columns:1fr!important}.nav-tabs{gap:4px!important}.nav-tab{padding:6px 10px!important;font-size:12px!important}.page-hdr{flex-direction:column;align-items:flex-start;gap:6px}}@page{size:letter;margin:.5in .6in}@media print{:root,[data-theme=dark]{--color-bg: #fff !important;--color-bg-subtle: #fff !important;--color-surface: #fff !important;--color-text: #000 !important;--color-text-dark: #000 !important;--color-text-body: #111 !important;--color-muted: #333 !important;--color-muted-light: #555 !important;--color-border: #d0d0d0 !important;--color-border-light: #e5e5e5 !important;color-scheme:light!important}html,body{background:#fff!important;color:#000!important;font-size:11pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sidebar,#app-sidebar,.nav,#main-nav,.mob-bottom-nav,#sidebar-overlay,#cmd-palette,#cmd-palette-overlay,.cmd-palette,.changelog-drawer,.kbd-help-overlay,.confirm-overlay,.toast,#toast,.activation-card,.dashboard-hero,#loading-overlay,.modal:not(.print-keep){display:none!important}#main-content{padding:0!important;margin:0!important;background:#fff!important}.page-hdr,.nav-tabs,.filter-bar,.pagination,#settings-tabs,.empty-state,.skel,.skel-stack,.skel-grid,.skel-table{display:none!important}.btn:not(.print-keep),button:not(.print-keep),.csv-export-btn,.close-btn,#qm-actions,#jm-actions,#qm-save-btn,#qm-approve-btn,#qm-reject-btn,#qm-convert-job-btn,#qm-invoice-btn,#qm-delete-btn,#qm-email-btn,#qm-convert-banner,#jd-action-bar{display:none!important}.card,.stat-card,.modal-content{background:#fff!important;border:1px solid #d0d0d0!important;border-radius:4px!important;box-shadow:none!important;page-break-inside:avoid;padding:14px 16px!important;margin-bottom:12px!important}.status-pill,.pill,[class*=badge]{background:#f3f4f6!important;color:#111!important;border:1px solid #d0d0d0!important;box-shadow:none!important;text-shadow:none!important}.status-pill[data-status=paid],.status-pill[data-status=done],.status-pill[data-status=complete],.pill-success{background:#ecfdf5!important;color:#047857!important;border-color:#a7f3d0!important}.status-pill[data-status=cancelled],.status-pill[data-status=declined],.status-pill[data-status=rejected],.pill-danger{background:#fef2f2!important;color:#b91c1c!important;border-color:#fecaca!important}table{width:100%!important;border-collapse:collapse!important;page-break-inside:auto;background:#fff!important}thead{display:table-header-group}thead th{background:#f9fafb!important;color:#111!important;border-bottom:1px solid #d0d0d0!important;text-align:left;padding:6px 8px!important;font-size:10pt!important;font-weight:700!important}tbody td{border-bottom:1px solid #e5e5e5!important;padding:6px 8px!important;font-size:10pt!important;color:#111!important}tr{page-break-inside:avoid}a[href]:after{content:" (" attr(href) ")";font-size:8.5pt;color:#666;word-break:break-all}a[href^="javascript:"]:after,a[href^="#"]:after,a[href^="mailto:"]:after,a[href^="tel:"]:after{content:""}#quote-modal .modal-content,#job-modal .modal-content{box-shadow:none!important;border:0!important}#quote-modal-body h3,#job-modal-body h3{border-bottom:1px solid #d0d0d0!important;color:#111!important;margin-top:14px!important}#qm-total{-webkit-text-fill-color:#000!important;background:none!important;color:#000!important;font-size:18pt!important;font-weight:800!important}#sig-pad{border:1px solid #d0d0d0!important;background:#fff!important}#view-job-detail>.card:has(#jd-title){background:#fff!important;border-left:0!important}.print-only{display:block!important}.no-print,.print-hide{display:none!important}.form-section,.changelog-entry,.dispatch-card,.tech-route-card{page-break-inside:avoid}body:after{content:"CREWEHQ — printed " counter(page);position:fixed;bottom:6px;right:8px;font-size:8pt;color:#888}}.print-only{display:none}
