*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.z-50{z-index:50}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.flex-1{flex:1 1 0%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-white\/10{border-color:rgb(255 255 255/.1)}.bg-\[\#141417\]{--tw-bg-opacity:1;background-color:rgb(20 20 23/var(--tw-bg-opacity,1))}.bg-\[\#F5A623\]{--tw-bg-opacity:1;background-color:rgb(245 166 35/var(--tw-bg-opacity,1))}.bg-black\/70{background-color:rgb(0 0 0/.7)}.bg-white\/5{background-color:rgb(255 255 255/.05)}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-4{padding-top:1rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.tracking-wider{letter-spacing:.05em}.text-\[\#F5A623\]{--tw-text-opacity:1;color:rgb(245 166 35/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:rgb(245 166 35/var(--tw-text-opacity,1))}.outline{outline-style:solid}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgb(0 0 0/0.1)) drop-shadow(0 1px 1px rgb(0 0 0/0.06))}.drop-shadow,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--primary-color:#F5A623;--primary-hover:#FFB84D;--primary-dark:#D4920F;--primary-light:rgba(245,166,35,0.12);--primary-glow:rgba(245,166,35,0.3);--reconstruction-color:#D35400;--reconstruction-light:rgba(211,84,0,0.15);--exteriors-color:#16A34A;--exteriors-light:rgba(22,163,74,0.15);--success-color:#22C55E;--success-light:rgba(34,197,94,0.12);--warning-color:#EAB308;--warning-light:rgba(234,179,8,0.12);--danger-color:#EF4444;--danger-light:rgba(239,68,68,0.12);--info-color:#3B82F6;--info-light:rgba(59,130,246,0.12);--text-primary:#FAFAFA;--text-secondary:#A1A1AA;--text-muted:#A1A1AA;--text-disabled:#52525B;--border-color:rgba(255,255,255,0.08);--border-subtle:rgba(255,255,255,0.06);--border-strong:rgba(255,255,255,0.12);--border-light:rgba(255,255,255,0.04);--background:#09090B;--background-elevated:#0F0F12;--card-background:#131316;--card-hover:#1A1A1F;--input-background:#1C1C21;--bg-primary:#131316;--bg-secondary:#1A1A1F;--bg-hover:#252529;--sidebar-width:250px;--header-height:60px;--shadow-xs:0 1px 2px rgba(0,0,0,0.3),0 1px 3px rgba(0,0,0,0.15);--shadow-sm:0 2px 4px rgba(0,0,0,0.3),0 4px 8px rgba(0,0,0,0.2);--shadow-md:0 4px 8px rgba(0,0,0,0.3),0 8px 16px rgba(0,0,0,0.2),0 16px 32px rgba(0,0,0,0.1);--shadow-lg:0 8px 16px rgba(0,0,0,0.4),0 16px 32px rgba(0,0,0,0.3),0 32px 64px rgba(0,0,0,0.2);--shadow-glow:0 0 0 1px rgba(245,166,35,0.1),0 4px 16px rgba(245,166,35,0.15);--shadow-inset:inset 0 1px 0 rgba(255,255,255,0.03);--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--transition-fast:0.1s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--transition-bounce:0.3s cubic-bezier(0.34,1.56,0.64,1)}*{box-sizing:border-box;margin:0;padding:0}body,html{font-size:14px;height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(245,166,35,.08),transparent),var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.login-page,body{color:var(--text-primary)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(ellipse 120% 60% at 50% 110%,rgba(245,166,35,.06),transparent 70%),radial-gradient(ellipse 80% 50% at 50% -20%,rgba(245,166,35,.04),transparent 60%),radial-gradient(circle at 50% 50%,#131316 0,#09090B 100%)}.login-wrapper{width:100%;max-width:420px}.login-card{background:rgba(19,19,22,.9);border:1px solid rgba(245,166,35,.15);border-radius:var(--radius-xl);padding:48px 40px;text-align:center;box-shadow:0 0 80px rgba(245,166,35,.06),0 25px 50px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.03);backdrop-filter:blur(12px)}.login-logo{display:flex;justify-content:center;margin-bottom:24px}.login-logo img{max-width:180px;height:auto;filter:drop-shadow(0 4px 20px rgba(245,166,35,.25))}.login-brand{font-size:14px;color:var(--primary-color);text-transform:uppercase;letter-spacing:3px;margin-bottom:6px;font-weight:600}.login-subtitle{color:var(--text-disabled);font-size:14px;margin-bottom:32px;line-height:1.5}.login-error{padding:10px 16px;background:var(--danger-light);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:var(--danger-color);font-size:14px;margin-bottom:20px;text-align:left}.login-field{margin-bottom:16px}.login-field:last-of-type{margin-bottom:24px}.login-input{width:100%;padding:14px 18px;background:rgba(28,28,33,.8);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);color:var(--text-primary);font-size:15px;outline:none;box-sizing:border-box;transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.login-input:hover{border-color:rgba(255,255,255,.15);background:rgba(28,28,33,1)}.login-input:focus{border-color:rgba(245,166,35,.5);box-shadow:0 0 0 3px rgba(245,166,35,.1);background:rgba(28,28,33,1)}.login-input::-moz-placeholder{color:var(--text-disabled)}.login-input::placeholder{color:var(--text-disabled)}.login-button{width:100%;padding:14px 20px;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);border:none;border-radius:var(--radius-md);color:#000;font-size:15px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:1.5px;transition:transform var(--transition-fast),box-shadow var(--transition-base),opacity var(--transition-base);box-shadow:0 4px 16px rgba(245,166,35,.2)}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px rgba(245,166,35,.3)}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px rgba(245,166,35,.2)}.login-button:disabled{opacity:.5;cursor:not-allowed}.login-forgot{display:inline-block;margin-top:20px;color:var(--text-disabled);font-size:13px;text-decoration:none;transition:color var(--transition-base)}.login-forgot:hover{color:var(--primary-color)}.login-footer{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.04);color:var(--text-disabled);font-size:12px}.app-container{display:grid;grid-template-columns:var(--sidebar-width) 1fr;height:100vh;overflow:hidden}.main-content{height:100vh;overflow-y:auto;overflow-x:hidden}.page-content{padding:16px;padding-top:calc(var(--header-height) + 16px);max-width:1920px}.header{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--header-height);background:var(--background-elevated);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:50}.header-title{font-size:18px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.header-actions{display:flex;gap:16px;align-items:center}.header-weather-wrap{position:relative;padding-right:12px;border-right:1px solid var(--border-color);margin-right:12px}.header-weather{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:13px;font-weight:500;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.header-weather:hover{background:rgba(255,255,255,.06)}.header-weather svg{width:20px;height:20px}.weather-chevron{width:14px!important;height:14px!important;fill:var(--text-muted);transition:transform var(--transition-fast)}.header-weather svg.weather-sunny{fill:#FBBF24}.header-weather svg.weather-cloudy{fill:#9CA3AF}.header-weather svg.weather-partly-cloudy .sun-part{fill:#FBBF24}.header-weather svg.weather-partly-cloudy .cloud-part{fill:#9CA3AF}.header-weather svg.weather-fog{fill:#6B7280}.header-weather svg.weather-rain{fill:#3B82F6}.header-weather svg.weather-snow{fill:#93C5FD}.header-weather svg.weather-storm{fill:#8B5CF6}.weather-temp{font-weight:600;color:var(--text-primary)}.weather-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 12px 40px rgba(0,0,0,.5);z-index:1000;overflow:hidden}.weather-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,rgba(245,166,35,.1),rgba(245,166,35,.03));border-bottom:1px solid var(--border-subtle)}.weather-dropdown-location{font-size:14px;font-weight:600;color:var(--text-primary)}.weather-dropdown-now{display:flex;align-items:center;gap:6px;font-size:18px;font-weight:700;color:var(--text-primary)}.weather-dropdown-now svg{width:24px;height:24px}.weather-dropdown-now svg.weather-sunny{fill:#FBBF24}.weather-dropdown-now svg.weather-cloudy{fill:#9CA3AF}.weather-dropdown-now svg.weather-partly-cloudy .sun-part{fill:#FBBF24}.weather-dropdown-now svg.weather-partly-cloudy .cloud-part{fill:#9CA3AF}.weather-dropdown-now svg.weather-fog{fill:#6B7280}.weather-dropdown-now svg.weather-rain{fill:#3B82F6}.weather-dropdown-now svg.weather-snow{fill:#93C5FD}.weather-dropdown-now svg.weather-storm{fill:#8B5CF6}.weather-dropdown-forecast{padding:6px 0}.weather-dropdown-day{display:flex;align-items:center;gap:10px;padding:8px 16px;transition:background var(--transition-fast)}.weather-dropdown-day:hover{background:rgba(255,255,255,.04)}.weather-dropdown-day.today{background:rgba(245,166,35,.08)}.weather-dropdown-day.today .wdd-label{color:var(--primary-color);font-weight:600}.weather-dropdown-day svg{width:18px;height:18px;flex-shrink:0}.weather-dropdown-day svg.weather-sunny{fill:#FBBF24}.weather-dropdown-day svg.weather-cloudy{fill:#9CA3AF}.weather-dropdown-day svg.weather-partly-cloudy .sun-part{fill:#FBBF24}.weather-dropdown-day svg.weather-partly-cloudy .cloud-part{fill:#9CA3AF}.weather-dropdown-day svg.weather-fog{fill:#6B7280}.weather-dropdown-day svg.weather-rain{fill:#3B82F6}.weather-dropdown-day svg.weather-snow{fill:#93C5FD}.weather-dropdown-day svg.weather-storm{fill:#8B5CF6}.wdd-label{width:48px;font-size:13px;color:var(--text-secondary)}.wdd-high{font-weight:600;color:var(--text-primary)}.wdd-high,.wdd-low{font-size:13px;width:32px;text-align:right}.header-date,.wdd-low{color:var(--text-muted)}.header-date{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}.sidebar{background:var(--background-elevated);border-right:1px solid var(--border-color);height:100vh;overflow-y:auto;display:flex;flex-direction:column}.sidebar-header{padding:24px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:center;align-items:center;flex-shrink:0;min-height:80px}.sidebar-logo{display:block;position:relative;padding:10px 0}.sidebar-logo,.sidebar-logo:hover{text-decoration:none}.sidebar-logo:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:150px;height:150px;background:radial-gradient(circle,rgba(255,184,0,.3) 0,transparent 60%);filter:blur(30px);animation:logoGlow 4s ease-in-out infinite;z-index:0}@keyframes logoGlow{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.3);opacity:1}}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.sidebar-logo-img{position:relative;z-index:1;max-width:100%;height:auto;max-height:120px;filter:drop-shadow(0 5px 15px rgba(0,0,0,.5));animation:logoFloat 6s ease-in-out infinite}.sidebar-nav{padding:12px 8px;flex:1}.sidebar-footer{padding:8px;border-top:1px solid rgba(255,255,255,.06)}.logout-btn{width:100%;background:none;border:none;color:var(--text-secondary)!important;font-size:14px}.logout-btn:hover{color:#EF4444!important;background:rgba(239,68,68,.08)!important}.nav-item{position:relative;display:flex;align-items:center;padding:11px 16px;margin:2px 0;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;text-decoration:none;font-size:14px}.nav-item:hover{background:rgba(255,255,255,.04);color:var(--text-primary);text-decoration:none}.nav-item.active{background:rgba(245,166,35,.1);color:var(--primary-color);font-weight:500}.nav-item:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px;border-radius:8px}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--primary-color);border-radius:0 3px 3px 0;box-shadow:0 0 8px rgba(245,166,35,.4)}.nav-item svg{width:20px;height:20px;margin-right:12px;fill:currentColor;opacity:.7}.nav-item.active svg,.nav-item:hover svg{opacity:1}.nav-divider{height:1px;background:var(--border-color);margin:8px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:stretch}.stat-card{position:relative;background:linear-gradient(145deg,var(--card-background) 0,rgba(19,19,22,.8) 100%);border-radius:var(--radius-lg);padding:16px;border:1px solid var(--border-color);cursor:pointer;transition:all .25s ease;box-shadow:var(--shadow-sm),var(--shadow-inset);overflow:hidden;display:flex;justify-content:space-between;align-items:flex-start}.stat-card-left{display:flex;flex-direction:column;gap:4px;min-width:0}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--primary-hover));opacity:0;transition:opacity .25s ease}.stat-card:hover{background:linear-gradient(145deg,var(--card-hover) 0,rgba(26,26,31,.9) 100%);border-color:var(--border-strong);box-shadow:var(--shadow-md),var(--shadow-inset);transform:translateY(-2px)}.stat-card:hover:before{opacity:1}.stat-card-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(0,0,0,.4);border:2px solid rgba(245,166,35,.6);box-shadow:0 0 12px rgba(245,166,35,.3),inset 0 0 8px rgba(0,0,0,.5)}.stat-card-icon svg{width:24px;height:24px;fill:var(--primary-color)}.stat-card-value{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-card-header{display:flex;align-items:center;gap:10px}.stat-card-label{font-size:16px;font-weight:700;letter-spacing:.02em;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-label-mitigation{color:#3B82F6}.stat-label-reconstruction{color:var(--reconstruction-color)}.stat-label-exteriors{color:var(--exteriors-color)}.stat-card-breakdown{margin-left:auto;font-size:12px;display:flex;flex-direction:column;gap:2px;align-self:center}.stat-card-breakdown span{display:flex;align-items:center;gap:6px}.stat-card-breakdown strong{min-width:18px;text-align:right;font-variant-numeric:tabular-nums}.stat-card-breakdown span{color:var(--text-muted)}.stat-card-breakdown .breakdown-estimate strong{color:#EAB308}.stat-card-breakdown .breakdown-inprogress strong{color:#06B6D4}.stat-card-breakdown .breakdown-collect strong{color:#EF4444}.stat-card-breakdown .breakdown-dehu strong{color:#60A5FA}.stat-card-breakdown .breakdown-fans strong{color:#F5A623}.stat-card-breakdown .breakdown-scrub strong{color:#A78BFA}.stat-card-breakdown .breakdown-deployed strong{color:#F5A623}.stat-card-breakdown .breakdown-available strong{color:var(--success-color)}.stat-card-breakdown .breakdown-equip strong,.stat-card-breakdown .eq-num{color:#A855F7}.eq-stat-total.active{border-color:#A855F7;box-shadow:0 0 12px rgba(168,85,247,.3)}.eq-stat-available.active{border-color:#22C55E;box-shadow:0 0 12px rgba(34,197,94,.3)}.eq-stat-deployed.active{border-color:#3B82F6;box-shadow:0 0 12px rgba(59,130,246,.3)}.eq-stat-maintenance.active{border-color:#EF4444;box-shadow:0 0 12px rgba(239,68,68,.3)}.eq-type-header{gap:12px;padding:12px 16px;background:var(--card-background);border-radius:var(--radius-md);border:1px solid var(--border-color);margin-bottom:0}.eq-type-header,.eq-type-icon{display:flex;align-items:center}.eq-type-icon{width:48px;height:48px;border-radius:var(--radius-md);justify-content:center;flex-shrink:0}.eq-type-icon svg{width:24px;height:24px}.eq-type-info{display:flex;align-items:baseline;gap:8px}.eq-type-name{font-size:16px;font-weight:600;color:var(--text-primary)}.eq-type-count{font-size:14px;color:var(--text-muted)}.eq-type-breakdown{margin-left:auto;display:flex;gap:16px;font-size:13px}.eq-type-available{color:#22C55E;font-weight:500}.eq-type-deployed{color:#3B82F6;font-weight:500}.eq-type-maintenance{color:#EF4444;font-weight:500}.eq-type-air-mover .eq-type-icon{background:rgba(0,0,0,.5);border:2px solid rgba(245,166,35,.7);box-shadow:0 0 12px rgba(245,166,35,.4),inset 0 0 8px rgba(0,0,0,.6)}.eq-type-air-mover .eq-type-icon svg{fill:#F5A623}.eq-type-air-mover .eq-type-name{color:#F5A623}.eq-type-air-scrubber .eq-type-icon{background:rgba(0,0,0,.5);border:2px solid rgba(20,184,166,.7);box-shadow:0 0 12px rgba(20,184,166,.4),inset 0 0 8px rgba(0,0,0,.6)}.eq-type-air-scrubber .eq-type-icon svg{fill:#14B8A6}.eq-type-air-scrubber .eq-type-name{color:#14B8A6}.eq-type-dehumidifier .eq-type-icon{background:rgba(0,0,0,.5);border:2px solid rgba(59,130,246,.7);box-shadow:0 0 12px rgba(59,130,246,.4),inset 0 0 8px rgba(0,0,0,.6)}.eq-type-dehumidifier .eq-type-icon svg{fill:#3B82F6}.eq-type-dehumidifier .eq-type-name{color:#3B82F6}.eq-type-moisture-meter .eq-type-icon{background:rgba(0,0,0,.5);border:2px solid rgba(168,85,247,.7);box-shadow:0 0 12px rgba(168,85,247,.4),inset 0 0 8px rgba(0,0,0,.6)}.eq-type-moisture-meter .eq-type-icon svg{fill:#A855F7}.eq-type-moisture-meter .eq-type-name{color:#A855F7}.eq-type-thermal-camera .eq-type-icon{background:rgba(0,0,0,.5);border:2px solid rgba(239,68,68,.7);box-shadow:0 0 12px rgba(239,68,68,.4),inset 0 0 8px rgba(0,0,0,.6)}.eq-type-thermal-camera .eq-type-icon svg{fill:#EF4444}.eq-type-thermal-camera .eq-type-name{color:#EF4444}.eq-type-other .eq-type-icon{background:rgba(0,0,0,.5);border:2px solid rgba(161,161,170,.7);box-shadow:0 0 12px rgba(161,161,170,.4),inset 0 0 8px rgba(0,0,0,.6)}.eq-type-other .eq-type-icon svg{fill:#A1A1AA}.eq-type-header+.card{border-radius:0 0 var(--radius-md) var(--radius-md)}.eq-type-header:has(+.card){border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:none}.eq-status-badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.eq-status-available{background:rgba(34,197,94,.15);color:#22C55E;border:1px solid rgba(34,197,94,.3)}.eq-status-deployed{background:rgba(59,130,246,.15);color:#3B82F6;border:1px solid rgba(59,130,246,.3)}.eq-status-maintenance{background:rgba(239,68,68,.15);color:#EF4444;border:1px solid rgba(239,68,68,.3)}.stats-grid-3{grid-template-columns:repeat(3,1fr);margin-bottom:16px}.stats-grid-4{grid-template-columns:repeat(4,1fr);margin-bottom:16px;align-items:stretch}.stats-grid-4 .stat-card{display:flex;flex-direction:column}.stat-card.stat-mitigation{border:1px solid rgba(59,130,246,.5);box-shadow:0 0 15px rgba(59,130,246,.2)}.stat-card.stat-mitigation .stat-card-icon{background:rgba(0,0,0,.5);border:2px solid rgba(59,130,246,.7);box-shadow:0 0 14px rgba(59,130,246,.4),inset 0 0 10px rgba(0,0,0,.6)}.stat-card.stat-mitigation .stat-card-icon svg{fill:#3B82F6}.stat-card.stat-mitigation:before{background:linear-gradient(90deg,#3B82F6,#60A5FA)}.stat-card.stat-mitigation:hover{border-color:rgba(59,130,246,.6);box-shadow:0 0 30px rgba(59,130,246,.25),inset 0 0 30px rgba(0,0,0,.3)}.stat-card.stat-reconstruction{border:1px solid rgba(211,84,0,.5);box-shadow:0 0 15px rgba(211,84,0,.2)}.stat-card.stat-reconstruction .stat-card-icon{background:rgba(0,0,0,.5);border:2px solid rgba(211,84,0,.7);box-shadow:0 0 14px rgba(211,84,0,.4),inset 0 0 10px rgba(0,0,0,.6)}.stat-card.stat-reconstruction .stat-card-icon svg{fill:var(--reconstruction-color)}.stat-card.stat-reconstruction:before{background:linear-gradient(90deg,#D35400,#E67E22)}.stat-card.stat-reconstruction:hover{border-color:rgba(211,84,0,.6);box-shadow:0 0 30px rgba(211,84,0,.25),inset 0 0 30px rgba(0,0,0,.3)}.stat-card.stat-exteriors{border:1px solid rgba(22,163,74,.5);box-shadow:0 0 15px rgba(22,163,74,.2)}.stat-card.stat-exteriors .stat-card-icon{background:rgba(0,0,0,.5);border:2px solid rgba(22,163,74,.7);box-shadow:0 0 14px rgba(22,163,74,.4),inset 0 0 10px rgba(0,0,0,.6)}.stat-card.stat-exteriors .stat-card-icon svg{fill:var(--exteriors-color)}.stat-card.stat-exteriors:before{background:linear-gradient(90deg,#16A34A,#22C55E)}.stat-card.stat-exteriors:hover{border-color:rgba(22,163,74,.6);box-shadow:0 0 30px rgba(22,163,74,.25),inset 0 0 30px rgba(0,0,0,.3)}.stat-card.stat-equipment{border:1px solid rgba(168,85,247,.5);box-shadow:0 0 15px rgba(168,85,247,.2)}.stat-card.stat-equipment .stat-card-icon{background:rgba(0,0,0,.5);border:2px solid rgba(168,85,247,.7);box-shadow:0 0 14px rgba(168,85,247,.4),inset 0 0 10px rgba(0,0,0,.6)}.stat-card.stat-equipment .stat-card-icon svg{fill:#A855F7}.stat-card.stat-equipment:before{background:linear-gradient(90deg,#A855F7,#C084FC)}.stat-card.stat-equipment:hover{border-color:rgba(168,85,247,.6);box-shadow:0 0 30px rgba(168,85,247,.25),inset 0 0 30px rgba(0,0,0,.3)}.stat-card.stat-customers{border:1px solid rgba(245,166,35,.5);box-shadow:0 0 15px rgba(245,166,35,.2)}.stat-card.stat-customers .stat-card-icon{background:rgba(0,0,0,.5);border:2px solid rgba(245,166,35,.7);box-shadow:0 0 14px rgba(245,166,35,.4),inset 0 0 10px rgba(0,0,0,.6)}.stat-card.stat-customers .stat-card-icon svg{fill:#F5A623}.stat-card.stat-customers:before{background:linear-gradient(90deg,#F5A623,#FFB84D)}.stat-card.stat-customers:hover{border-color:rgba(245,166,35,.6);box-shadow:0 0 30px rgba(245,166,35,.25),inset 0 0 30px rgba(0,0,0,.3)}.stat-card.stat-info{border:1px solid rgba(59,130,246,.5);box-shadow:0 0 15px rgba(59,130,246,.2)}.stat-card.stat-info .stat-card-icon{background:rgba(0,0,0,.5);border:2px solid rgba(59,130,246,.7);box-shadow:0 0 14px rgba(59,130,246,.4),inset 0 0 10px rgba(0,0,0,.6)}.stat-card.stat-info .stat-card-icon svg{fill:#3B82F6}.stat-card.stat-info:before{background:linear-gradient(90deg,#3B82F6,#60A5FA)}.stat-card.stat-info:hover{border-color:rgba(59,130,246,.6);box-shadow:0 0 30px rgba(59,130,246,.25),inset 0 0 30px rgba(0,0,0,.3)}.stat-card.stat-success{border:1px solid rgba(34,197,94,.5);box-shadow:0 0 15px rgba(34,197,94,.2)}.stat-card.stat-success .stat-card-icon{background:rgba(0,0,0,.5);border:2px solid rgba(34,197,94,.7);box-shadow:0 0 14px rgba(34,197,94,.4),inset 0 0 10px rgba(0,0,0,.6)}.stat-card.stat-success .stat-card-icon svg{fill:#22C55E}.stat-card.stat-success:before{background:linear-gradient(90deg,#22C55E,#4ADE80)}.stat-card.stat-success:hover{border-color:rgba(34,197,94,.6);box-shadow:0 0 30px rgba(34,197,94,.25),inset 0 0 30px rgba(0,0,0,.3)}.stat-card.stat-warning{border:1px solid rgba(234,179,8,.5);box-shadow:0 0 15px rgba(234,179,8,.2)}.stat-card.stat-warning .stat-card-icon{background:rgba(0,0,0,.5);border:2px solid rgba(234,179,8,.7);box-shadow:0 0 14px rgba(234,179,8,.4),inset 0 0 10px rgba(0,0,0,.6)}.stat-card.stat-warning .stat-card-icon svg{fill:#EAB308}.stat-card.stat-warning:before{background:linear-gradient(90deg,#EAB308,#FACC15)}.stat-card.stat-warning:hover{border-color:rgba(234,179,8,.6);box-shadow:0 0 30px rgba(234,179,8,.25),inset 0 0 30px rgba(0,0,0,.3)}.stat-card.stat-danger{border:1px solid rgba(239,68,68,.5);box-shadow:0 0 15px rgba(239,68,68,.2)}.stat-card.stat-danger .stat-card-icon{background:rgba(0,0,0,.5);border:2px solid rgba(239,68,68,.7);box-shadow:0 0 14px rgba(239,68,68,.4),inset 0 0 10px rgba(0,0,0,.6)}.stat-card.stat-danger .stat-card-icon svg{fill:#EF4444}.stat-card.stat-danger:before{background:linear-gradient(90deg,#EF4444,#F87171)}.stat-card.stat-danger:hover{border-color:rgba(239,68,68,.6);box-shadow:0 0 30px rgba(239,68,68,.25),inset 0 0 30px rgba(0,0,0,.3)}.stat-card.active{transform:translateY(-2px)}.stat-card.active:before{opacity:1}.pipeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;min-height:320px}.pipeline-column{border-right:1px solid var(--border-subtle);display:flex;flex-direction:column}.pipeline-column:last-child{border-right:none}.pipeline-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border-subtle);background:linear-gradient(180deg,var(--background-elevated) 0,rgba(15,15,18,.5) 100%)}.pipeline-title{font-size:13px;font-weight:600;letter-spacing:.01em}.pipeline-count{font-size:28px;font-weight:700;padding:0;min-width:auto;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-shadow:0 0 20px currentColor}.pipeline-header-warning .pipeline-count,.pipeline-header-warning .pipeline-title{color:#EAB308}.pipeline-header-info .pipeline-count,.pipeline-header-info .pipeline-title{color:#06B6D4}.pipeline-header-danger .pipeline-count,.pipeline-header-danger .pipeline-title{color:#EF4444}.pipeline-header-left{display:flex;align-items:center;gap:10px}.pipeline-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);flex-shrink:0}.pipeline-icon svg{width:18px;height:18px}.pipeline-col-estimate .pipeline-icon{border:2px solid rgba(234,179,8,.7);box-shadow:0 0 14px rgba(234,179,8,.4),inset 0 0 10px rgba(0,0,0,.6);color:#EAB308}.pipeline-col-estimate{background:linear-gradient(180deg,rgba(234,179,8,.04),transparent 60%)}.pipeline-col-progress .pipeline-icon{border:2px solid rgba(6,182,212,.7);box-shadow:0 0 14px rgba(6,182,212,.4),inset 0 0 10px rgba(0,0,0,.6);color:#06B6D4}.pipeline-col-progress{background:linear-gradient(180deg,rgba(6,182,212,.04),transparent 60%)}.pipeline-col-collect .pipeline-icon{border:2px solid rgba(239,68,68,.7);box-shadow:0 0 14px rgba(239,68,68,.4),inset 0 0 10px rgba(0,0,0,.6);color:#EF4444}.pipeline-col-collect{background:linear-gradient(180deg,rgba(239,68,68,.04),transparent 60%)}.pipeline-item{display:flex;align-items:center;margin-bottom:6px;border-radius:var(--radius-sm);background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:all .15s ease;color:inherit;position:relative}.pipeline-item-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(0,0,0,.4)}.pipeline-item-icon svg{width:16px;height:16px}.pipeline-item-icon.type-mitigation{border:1px solid rgba(59,130,246,.5);box-shadow:0 0 8px rgba(59,130,246,.3)}.pipeline-item-icon.type-mitigation svg{fill:#3B82F6}.pipeline-item-icon.type-reconstruction{border:1px solid rgba(211,84,0,.5);box-shadow:0 0 8px rgba(211,84,0,.3)}.pipeline-item-icon.type-reconstruction svg{fill:#D35400}.pipeline-item-icon.type-exteriors{border:1px solid rgba(22,163,74,.5);box-shadow:0 0 8px rgba(22,163,74,.3)}.pipeline-item-icon.type-exteriors svg{fill:#16A34A}.pipeline-item:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);transform:translateX(3px)}.pipeline-item:last-child{margin-bottom:0}.pipeline-item-main{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1;overflow:hidden}.pipeline-item-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pipeline-item-id{font-family:var(--font-mono)}.pipeline-item-age,.pipeline-item-id{font-size:11px;color:var(--text-muted)}.pipeline-item-age{font-weight:600;background:rgba(255,255,255,.05);padding:2px 6px;border-radius:4px;flex-shrink:0;margin-left:8px}.pipeline-item.warning{border-color:rgba(234,179,8,.3);background:rgba(234,179,8,.05)}.pipeline-item.warning .pipeline-item-age{color:#EAB308;background:rgba(234,179,8,.15)}.pipeline-item.urgent{border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.08)}.pipeline-item.urgent .pipeline-item-age{color:#EF4444;background:rgba(239,68,68,.2)}.pipeline-view-all{display:block;text-align:center;padding:10px;font-size:12px;font-weight:600;color:var(--text-secondary);border-top:1px solid var(--border-subtle);text-decoration:none;transition:all .15s ease;margin-top:auto}.pipeline-view-all:hover{color:var(--primary-color);background:rgba(255,255,255,.03)}.pipeline-column .attention-list{flex:1;max-height:350px;padding:8px}.attention-list{max-height:320px;overflow-y:auto}.attention-age.fresh{background:rgba(34,197,94,.15);color:#4ADE80}.attention-age.aging{background:rgba(234,179,8,.15);color:#FACC15}.attention-age.stale{background:rgba(239,68,68,.15);color:#F87171}.attention-age.neutral{background:rgba(255,255,255,.08);color:var(--text-secondary)}.attention-empty{padding:24px 16px}.card{background:linear-gradient(145deg,var(--card-background) 0,rgba(19,19,22,.9) 100%);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm),var(--shadow-inset);overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle);background:linear-gradient(180deg,rgba(15,15,18,.8),transparent)}.card-title{font-size:13px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em}.card-body{padding:20px}.card-body-flush{padding:0}.morning-briefing-card{background:linear-gradient(145deg,var(--card-background) 0,rgba(19,19,22,.95) 100%);border:1px solid var(--border-color);border-left:3px solid var(--primary-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm),var(--shadow-inset),0 0 0 1px rgba(245,166,35,.04);margin-bottom:12px;overflow:hidden}.briefing-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 10px;border-bottom:1px solid var(--border-subtle);background:linear-gradient(180deg,rgba(245,166,35,.04),transparent)}.briefing-header-left{display:flex;align-items:center;gap:10px}.briefing-sun-icon{width:22px;height:22px;fill:var(--primary-color);flex-shrink:0;opacity:.9}.briefing-greeting{font-size:13px;font-weight:700;color:var(--text-primary);letter-spacing:.01em}.briefing-date{font-size:11px;color:var(--text-muted);letter-spacing:.02em;margin-top:1px}.briefing-items{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;padding:0 4px}.briefing-divider{width:1px;background:var(--border-subtle);margin:10px 0}.briefing-item{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;text-decoration:none;color:inherit;transition:background var(--transition-base);border-radius:var(--radius-sm)}.briefing-item:hover{background:rgba(255,255,255,.03)}.briefing-item-icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.briefing-item-icon svg{width:16px;height:16px}.briefing-icon-schedule{background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.25)}.briefing-icon-schedule svg{fill:#3B82F6}.briefing-icon-warning{background:rgba(234,179,8,.12);border:1px solid rgba(234,179,8,.25)}.briefing-icon-warning svg{fill:var(--warning-color)}.briefing-icon-danger{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25)}.briefing-icon-danger svg{fill:var(--danger-color)}.briefing-icon-activity{background:var(--primary-light);border:1px solid rgba(245,166,35,.25)}.briefing-icon-activity svg{fill:var(--primary-color)}.briefing-icon-clear{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2)}.briefing-icon-clear svg{fill:var(--success-color)}.briefing-item-body{flex:1;min-width:0}.briefing-item-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:3px}.briefing-item-value{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.3}.briefing-value-clear{color:var(--success-color)}.briefing-value-warning{color:var(--warning-color)}.briefing-value-danger{color:var(--danger-color)}.briefing-event-list{display:flex;flex-direction:column;gap:3px;margin-top:5px}.briefing-event{display:flex;align-items:center;gap:5px;font-size:11px}.briefing-event:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--text-muted)}.briefing-event-inspection:before{background:#A78BFA}.briefing-event-mitigation:before{background:#3B82F6}.briefing-event-moisture:before{background:#22D3EE}.briefing-event-reconstruction:before{background:var(--reconstruction-color)}.briefing-event-exteriors:before{background:var(--exteriors-color)}.briefing-event-equipment:before{background:var(--primary-color)}.briefing-event-time{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.briefing-event-title{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.briefing-event-more{font-size:11px;color:var(--text-muted);padding-left:11px}@media (max-width:900px){.briefing-items{grid-template-columns:1fr}.briefing-divider{width:auto;height:1px;margin:0 16px}}.attention-empty{padding:20px;text-align:center;color:var(--text-muted);font-size:13px}.page-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:24px}.page-title{font-size:24px;font-weight:700;color:var(--text-primary)}.search-bar{margin-bottom:20px}.search-bar .form-input{max-width:400px}.data-table{width:100%;border-collapse:collapse}.data-table thead tr{border-bottom:1px solid var(--border-color)}.data-table th{text-align:left;padding:14px 16px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.data-table tbody tr{border-bottom:1px solid var(--border-subtle);transition:all .15s ease}.data-table tbody tr:nth-child(2n){background:rgba(255,255,255,.015)}.data-table tbody tr:hover{background:rgba(245,166,35,.06)}.data-table tbody tr:hover td{border-color:rgba(245,166,35,.15)}.data-table td{padding:14px 16px;font-size:14px;color:var(--text-secondary)}.data-table .id-badge{font-family:SF Mono,Consolas,monospace;font-size:13px;color:var(--primary-color)}.data-table .text-primary{color:var(--text-primary);font-weight:500}.data-table .text-muted{color:var(--text-muted)}.data-table .contact-cell{font-size:13px}.data-table .contact-cell .email{color:#60A5FA}.data-table .contact-cell .phone{color:var(--text-muted)}.data-table .address-cell{font-size:13px}.data-table .job-count{font-weight:600;color:var(--text-muted)}.data-table .job-count.has-jobs{color:var(--success-color)}.data-table .action-buttons{display:flex;gap:12px}.btn-link{border:none;cursor:pointer;font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--radius-sm);transition:all .15s ease}.btn-link.btn-edit{color:#60A5FA;background:rgba(96,165,250,.1)}.btn-link.btn-edit:hover{color:#93C5FD;background:rgba(96,165,250,.2)}.btn-link.btn-delete{color:#F87171;background:rgba(248,113,113,.1)}.btn-link.btn-delete:hover{color:#FCA5A5;background:rgba(248,113,113,.2)}.empty-state{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:14px}.card-title-with-icon{display:flex;align-items:center;gap:12px}.schedule-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);border:2px solid rgba(245,166,35,.7);box-shadow:0 0 14px rgba(245,166,35,.4),inset 0 0 10px rgba(0,0,0,.6);color:#F5A623;flex-shrink:0}.schedule-icon svg{width:20px;height:20px}.week-schedule{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:rgba(0,0,0,.3);border-radius:var(--radius-md);overflow:visible;padding:4px}.week-day{min-height:180px;min-width:0;overflow:hidden;transition:all .2s ease;background:rgba(255,255,255,.02);border-radius:6px;border-right:1px solid var(--border-subtle)}.week-day:last-child{border-right:none}.week-day:hover{background:rgba(255,255,255,.04)}.week-day.today{background:linear-gradient(180deg,rgba(245,166,35,.1),rgba(245,166,35,.03));outline:2px solid rgba(245,166,35,.6);outline-offset:-1px;box-shadow:0 0 20px rgba(245,166,35,.25);border-radius:8px;position:relative;z-index:2}.week-day-header{padding:12px 8px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent);border-bottom:1px solid var(--border-subtle);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.week-day-header .day-date{display:block;font-size:18px;font-weight:700;color:var(--text-primary);margin-top:4px;letter-spacing:-.01em}.week-day.today .week-day-header{background:linear-gradient(180deg,rgba(245,166,35,.2),rgba(245,166,35,.08));border-bottom-color:rgba(245,166,35,.3);color:var(--primary-color);font-weight:700;text-shadow:0 0 10px rgba(245,166,35,.4)}.week-day.today .week-day-header .day-date{color:var(--primary-color);text-shadow:0 0 20px rgba(245,166,35,.5)}.week-day.today .week-day-date,.week-day.today .week-day-label{color:var(--primary-color)}.week-day-weather{display:flex;align-items:center;justify-content:center;gap:4px;height:24px;font-size:11px;color:var(--text-muted)}.week-day-weather svg{width:16px;height:16px}.week-day-weather svg.weather-sunny{fill:#FBBF24}.week-day-weather svg.weather-cloudy{fill:#9CA3AF}.week-day-weather svg.weather-partly-cloudy .sun-part{fill:#FBBF24}.week-day-weather svg.weather-partly-cloudy .cloud-part{fill:#9CA3AF}.week-day-weather svg.weather-fog{fill:#6B7280}.week-day-weather svg.weather-rain{fill:#3B82F6}.week-day-weather svg.weather-snow{fill:#93C5FD}.week-day-weather svg.weather-storm{fill:#8B5CF6}.week-day-weather .wx-high{color:var(--text-primary);font-weight:600}.week-day-weather .wx-low{color:var(--text-muted);margin-left:2px}.week-day-events{padding:6px;display:flex;flex-direction:column;gap:4px;flex:1}.week-day-empty{color:rgba(255,255,255,.22);font-size:11px;text-align:center;padding-top:12px}.schedule-event{padding:6px 8px;border-radius:var(--radius-sm);font-size:11px;border-left:3px solid;background:rgba(255,255,255,.03);cursor:pointer;transition:all .15s ease}.schedule-event:hover{background:rgba(255,255,255,.08);transform:translateX(2px)}.schedule-event .event-time{display:block;font-weight:700;font-size:10px;margin-bottom:3px}.schedule-event .event-name{font-weight:600;font-size:11px;color:var(--text-primary)}.schedule-event .event-location,.schedule-event .event-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-event .event-location{font-size:10px;color:var(--text-muted)}.schedule-event .event-task{display:block;font-size:10px;font-weight:500;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-event.event-inspection{border-left-color:#EF4444;background:rgba(239,68,68,.1)}.schedule-event.event-inspection .event-time{color:#EF4444}.schedule-event.event-mitigation{border-left-color:#3B82F6;background:rgba(59,130,246,.1)}.schedule-event.event-mitigation .event-time{color:#3B82F6}.schedule-event.event-moisture{border-left-color:#06B6D4;background:rgba(6,182,212,.1)}.schedule-event.event-moisture .event-time{color:#06B6D4}.schedule-event.event-reconstruction{border-left-color:#D35400;background:rgba(211,84,0,.1)}.schedule-event.event-reconstruction .event-time{color:#D35400}.schedule-event.event-exteriors{border-left-color:#16A34A;background:rgba(22,163,74,.1)}.schedule-event.event-exteriors .event-time{color:#16A34A}.schedule-event.event-equipment{border-left-color:#A855F7;background:rgba(168,85,247,.1)}.schedule-event.event-equipment .event-time{color:#A855F7}.mt-3{margin-top:16px}.text-primary{color:var(--primary-color)}.text-danger{color:#EF4444}.text-success{color:#22C55E}.due{color:#EF4444}.paid{color:#22C55E}.section-alert{margin-top:12px;padding:8px 12px;border-radius:6px;font-size:13px}.section-alert-error{background:rgba(239,68,68,.1);color:#EF4444}.section-alert-warning{background:rgba(234,179,8,.1);color:#EAB308}.card-title-icon{margin-right:8px;vertical-align:middle}.modal-summary-box{padding:12px 16px;background:rgba(245,166,35,.08);border-radius:8px;margin-bottom:16px}.modal-summary-label{font-size:13px;color:var(--text-muted);margin-bottom:4px}.modal-summary-row{display:flex;justify-content:space-between;font-size:14px}.modal-summary-note{font-size:12px;margin-top:4px}.form-hint-warning{font-size:11px;color:#EAB308;margin-top:4px}.modal-detail-box{background:rgba(255,255,255,.03);border:1px solid var(--border-subtle);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:13px}.modal-detail-list{display:flex;flex-direction:column;gap:6px}.modal-detail-row{display:flex;justify-content:space-between}.modal-detail-row-divider{border-top:1px solid var(--border-subtle);padding-top:6px;margin-top:2px}.modal-detail-label{color:var(--text-muted)}.modal-detail-value{color:var(--text-primary)}.modal-description{font-size:13px;color:var(--text-muted);margin-bottom:16px}.modal-sm{max-width:480px}.card-header-actions{display:flex;gap:8px;align-items:center}.card-footer-link{padding:8px 16px;border-top:1px solid rgba(255,255,255,.06);font-size:12px}.form-select-sm{font-size:12px;padding:4px 8px;width:auto}.btn-xs{font-size:11px;padding:2px 8px}.upload-progress{padding:8px 16px;font-size:12px;color:var(--text-muted)}.form-preview-total{padding:8px 12px;background:var(--bg-secondary);border-radius:6px;font-size:14px;font-weight:600;text-align:center}.dropdown-backdrop{position:fixed;inset:0;z-index:99}.dtp-wrap{position:relative;display:inline-flex;align-items:center;gap:8px}.overhead-detail{font-size:11px;color:var(--text-muted);margin-left:4px}.overhead-note{font-size:12px;color:var(--text-muted)}.btn-full{width:100%;margin-top:8px}.tab-bar-spaced{margin-bottom:20px}.fw-600{font-weight:600}.mb-12{margin-bottom:12px}.error-page{flex-direction:column;gap:16px;padding:4rem 2rem;text-align:center}.error-icon,.error-page{display:flex;align-items:center;justify-content:center}.error-icon{width:48px;height:48px;border-radius:50%;background:rgba(239,68,68,.15);font-size:24px;color:#EF4444}.error-title{color:#EF4444;font-size:18px;font-weight:600;margin:0}.error-message{color:var(--text-muted);font-size:14px;margin:0;max-width:400px}.error-digest{color:#6B7280;font-size:12px;margin:0}.error-actions{display:flex;gap:12px;margin-top:8px}.skeleton{border-radius:4px}.skeleton-rounded{border-radius:6px}.loading-page{padding:24px;display:flex;flex-direction:column;gap:24px}.loading-header{display:flex;align-items:center;justify-content:space-between}.loading-header-left{display:flex;align-items:center;gap:16px}.loading-header-right{display:flex;gap:10px}.loading-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;padding:20px}.loading-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.loading-stat{display:flex;flex-direction:column;gap:8px}.loading-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.loading-info{display:flex;flex-direction:column;gap:14px}.loading-field-row{display:flex;justify-content:space-between}.week-schedule-legend{display:flex;gap:6px;flex-wrap:wrap;flex:1;justify-content:flex-end}.week-schedule-legend .legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:opacity .2s,background .15s;border-radius:var(--radius-sm);background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);transition:all .15s ease;padding:4px 8px;background:rgba(255,255,255,.02);border-radius:var(--radius-xs);transition:background .2s ease}.week-schedule-legend .legend-item:hover{background:rgba(255,255,255,.05)}.week-schedule-legend .legend-dot{width:12px;height:12px;border-radius:4px;box-shadow:0 0 10px currentColor,inset 0 0 4px rgba(255,255,255,.3)}.schedule-legend{font-size:12px}.legend-item{display:flex;align-items:center;gap:6px;color:var(--text-muted)}.legend-dot{display:inline-block;width:12px;height:12px;border-radius:4px}.legend-dot.inspection{background:#EF4444;box-shadow:0 0 12px rgba(239,68,68,.5)}.legend-dot.mitigation{background:#3B82F6;box-shadow:0 0 12px rgba(59,130,246,.5)}.legend-dot.moisture{background:#06B6D4;box-shadow:0 0 12px rgba(6,182,212,.5)}.legend-dot.reconstruction{background:var(--reconstruction-color);box-shadow:0 0 12px rgba(211,84,0,.5)}.legend-dot.exteriors{background:var(--exteriors-color);box-shadow:0 0 12px rgba(22,163,74,.5)}.legend-dot.equipment{background:#A855F7;box-shadow:0 0 12px rgba(168,85,247,.5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);color:#000;box-shadow:0 2px 8px rgba(245,166,35,.25),inset 0 1px 0 rgba(255,255,255,.2)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-hover) 0,var(--primary-color) 100%);box-shadow:0 4px 16px rgba(245,166,35,.35),inset 0 1px 0 rgba(255,255,255,.2);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 4px rgba(245,166,35,.2)}.btn-sm{padding:7px 14px}.action-btn{width:32px;height:32px;border-radius:8px;background:var(--primary-color);display:flex;align-items:center;justify-content:center;transition:opacity .15s}.action-btn:hover{opacity:.85}.action-btn svg{width:16px;height:16px;fill:#000}.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-muted)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.2)}.jobs-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--card-background);border-radius:var(--radius-md);margin-bottom:16px;flex-wrap:wrap}.toggle-btn{padding:8px 12px;background:transparent;transition:all .15s}.toggle-btn:hover{color:var(--text-primary)}.toggle-btn svg{width:18px;height:18px;fill:currentColor}.jobs-table{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-color)}.jobs-table table{width:100%;border-collapse:collapse}.jobs-table th{text-align:left;padding:14px 16px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);background:linear-gradient(180deg,var(--background-elevated) 0,rgba(15,15,18,.5) 100%);position:sticky;top:0;z-index:10}.jobs-table td{padding:14px 16px;font-size:13px;border-bottom:1px solid var(--border-subtle);vertical-align:middle;transition:background .15s ease}.jobs-table tbody tr{transition:all .15s ease;cursor:pointer}.jobs-table tbody tr:nth-child(2n){background:rgba(255,255,255,.015)}.jobs-table tbody tr:hover{background:rgba(245,166,35,.06)}.jobs-table tbody tr:hover td{border-color:rgba(245,166,35,.15)}.jobs-table tbody tr:hover .job-customer{color:var(--primary-color)}.jobs-table tr.selected{background:rgba(59,130,246,.08)}.jobs-table .col-checkbox{width:40px}.jobs-table .col-job{min-width:160px}.jobs-table .col-status{width:110px}.jobs-table .col-type{width:120px}.jobs-table .col-address{min-width:200px;max-width:300px}.jobs-table .col-financial{width:100px;text-align:right}.jobs-table .col-date{width:90px}.jobs-table .col-actions{width:50px}.jobs-table .empty-state{text-align:center;color:var(--text-muted);padding:40px!important}.status-badge{display:inline-block;padding:5px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;letter-spacing:.02em;border:1px solid transparent;transition:all .15s ease}.status-lead{background:rgba(156,163,175,.15);color:#9CA3AF;border-color:rgba(156,163,175,.2)}.status-estimate{background:rgba(234,179,8,.15);color:#FACC15;border-color:rgba(234,179,8,.25)}.status-approved{background:rgba(59,130,246,.15);color:#60A5FA;border-color:rgba(59,130,246,.25)}.status-progress{background:rgba(168,85,247,.15);color:#C084FC;border-color:rgba(168,85,247,.25)}.status-complete{background:rgba(34,197,94,.15);color:#4ADE80;border-color:rgba(34,197,94,.25)}.status-invoiced{background:rgba(249,115,22,.15);color:#FB923C;border-color:rgba(249,115,22,.25)}.status-paid{background:rgba(34,197,94,.15);color:#4ADE80;border-color:rgba(34,197,94,.25)}.status-lost{background:rgba(239,68,68,.15);color:#F87171;border-color:rgba(239,68,68,.25)}select.status-lead{background-color:#2F3036}select.status-estimate{background-color:#3B331D}select.status-approved{background-color:#212B41}select.status-progress{background-color:#312541}select.status-complete{background-color:#1D352A}select.status-invoiced{background-color:#3D291F}select.status-paid{background-color:#1D352A}select.status-lost{background-color:#3C2226}select.status-closed{background-color:#2A2A2E}.btn-danger{background:#EF4444;color:white}.btn-danger:hover{background:#DC2626}.btn-outline.btn-danger{background:transparent;color:#EF4444;border-color:rgba(239,68,68,.3)}.btn-danger-outline,.btn-outline.btn-danger:hover{background:rgba(239,68,68,.1)}.btn-danger-outline{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#EF4444;cursor:pointer;transition:all .2s}.btn-danger-outline:hover{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.5)}.btn-icon-ghost{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:transparent;border:1px solid var(--border-color);cursor:pointer;color:var(--text-muted);transition:all .15s}.btn-icon-ghost:hover{background:var(--card-hover);color:var(--text-primary)}.btn-icon-ghost.btn-icon-danger:hover{background:rgba(239,68,68,.1);color:#EF4444;border-color:rgba(239,68,68,.3)}.delete-confirm{display:flex;align-items:center;gap:10px}.delete-confirm-text{font-size:14px;color:#EF4444}.btn-secondary{color:var(--text-primary)}.btn-secondary:hover{border-color:var(--text-muted)}.btn-filter-active{background:var(--primary-color);color:#000;border:none;font-weight:600;padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px}.btn-filter-active:hover{background:var(--primary-dark)}.collections-page{display:flex;flex-direction:column;gap:16px}.collections-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.collections-toolbar .toolbar-left{flex:1;max-width:400px}.collections-toolbar .toolbar-right{display:flex;align-items:center;gap:12px}.collections-search-box{display:flex;align-items:center;background:var(--card-background);border-radius:var(--radius-sm);padding:0 12px;border:1px solid var(--border-color)}.collections-search-box .search-icon{width:18px;height:18px;fill:var(--text-muted);margin-right:8px;flex-shrink:0}.collections-search-box input{flex:1;background:transparent;border:none;padding:10px 0;font-size:14px;color:var(--text-primary);outline:none}.collections-search-box input::-moz-placeholder{color:var(--text-muted)}.collections-search-box input::placeholder{color:var(--text-muted)}.collections-search-box .search-clear{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px}.collections-filter-buttons{display:flex;gap:4px}.collections-filter-btn{padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--card-background);color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .2s ease}.collections-filter-btn:hover{background:var(--card-hover);color:var(--text-primary)}.collections-filter-btn.active{background:var(--primary-color);color:#000;border-color:var(--primary-color)}.collections-sort-select{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background-color:var(--card-background);color:var(--text-primary);font-size:13px;cursor:pointer}.collections-sort-select option{background:#131316;color:#FAFAFA}.collections-summary{font-size:13px;color:var(--text-muted)}.collections-table-wrap{background:var(--card-background);border-radius:var(--radius-md);border:1px solid var(--border-color);overflow-x:auto;-webkit-overflow-scrolling:touch}.collections-table-wrap table{width:100%;border-collapse:collapse}.collections-table-wrap th{text-align:left;padding:12px 16px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color);background:rgba(0,0,0,.2)}.collections-table-wrap td{padding:14px 16px;border-bottom:1px solid var(--border-subtle);font-size:13px;vertical-align:middle}.collections-table-wrap tr:last-child td{border-bottom:none}.collections-table-wrap tbody tr{transition:all .15s ease}.collections-table-wrap tbody tr:nth-child(2n) td{background:rgba(255,255,255,.015)}.collections-table-wrap tbody tr:hover td{background:rgba(245,166,35,.06);border-color:rgba(245,166,35,.15)}.collections-customer-link{text-decoration:none;color:inherit}.collections-customer-name{font-weight:600;color:var(--text-primary);margin-bottom:2px}.collections-customer-address{font-size:12px;color:var(--text-muted)}.collections-balance{font-weight:700;font-size:16px;color:#EF4444;font-variant-numeric:tabular-nums}.collections-aging-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.collections-invoice-number{font-weight:500;font-size:13px}.collections-invoice-date{font-size:12px;color:var(--text-muted)}.collections-carrier-tpa{display:flex;align-items:center;gap:8px}.collections-tpa-badge{background:var(--primary-color);color:#000;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px}.collections-control-num{font-size:12px;color:var(--text-muted)}.collections-carrier-info{display:flex;flex-direction:column;gap:2px}.collections-carrier-label{font-size:10px;color:var(--text-disabled);text-transform:uppercase;letter-spacing:.5px}.collections-carrier-name{font-size:13px}.collections-muted{font-size:12px;color:var(--text-disabled)}.collections-phone{font-size:13px;font-variant-numeric:tabular-nums}.collections-actions{display:flex;gap:6px}.collections-action-btn{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .2s ease;text-decoration:none;border:none;cursor:pointer}.collections-action-btn svg{width:16px;height:16px;fill:currentColor}.collections-action-btn.action-call{background:rgba(34,197,94,.15);color:#22C55E}.collections-action-btn.action-call:hover{background:rgba(34,197,94,.3)}.collections-action-btn.action-email{background:rgba(59,130,246,.15);color:#3B82F6}.collections-action-btn.action-email:hover{background:rgba(59,130,246,.3)}.collections-action-btn.action-text{background:rgba(168,85,247,.15);color:#A855F7}.collections-action-btn.action-text:hover{background:rgba(168,85,247,.3)}.collections-action-btn.action-view{background:rgba(255,255,255,.1);color:var(--text-muted)}.collections-action-btn.action-view:hover{background:rgba(255,255,255,.2);color:var(--text-primary)}.collections-empty-row{text-align:center;padding:40px!important;color:var(--text-muted);font-size:15px}@media (max-width:768px){.collections-toolbar{flex-direction:column;align-items:stretch}.collections-toolbar .toolbar-left{max-width:none}.collections-toolbar .toolbar-right{flex-wrap:wrap}.collections-table-wrap table{font-size:13px}.collections-table-wrap td,.collections-table-wrap th{padding:10px 8px}}.jobs-page{display:flex;flex-direction:column;gap:16px}.jobs-pipeline-grid{display:flex;flex-wrap:wrap;gap:8px}.jobs-pipeline-card{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--card-background);border-radius:20px;border:1px solid var(--border-color);cursor:pointer;transition:all .2s ease}.jobs-pipeline-card:hover{border-color:var(--border-strong);background:rgba(255,255,255,.04)}.jobs-pipeline-card.active{border-color:var(--primary-color);background:var(--primary-light);box-shadow:0 0 10px rgba(245,166,35,.15)}.jobs-pipeline-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3);flex-shrink:0}.jobs-pipeline-icon svg{width:12px;height:12px}.jobs-pipeline-content{display:flex;align-items:baseline;gap:5px}.jobs-pipeline-count{font-size:15px;font-weight:700;color:var(--text-primary);line-height:1}.jobs-pipeline-label{font-size:12px;font-weight:500;color:var(--text-muted)}.jobs-pipeline-card.pipeline-lead{border-color:rgba(107,114,128,.4)}.jobs-pipeline-card.pipeline-lead .jobs-pipeline-icon{border:2px solid rgba(107,114,128,.6);box-shadow:0 0 12px rgba(107,114,128,.3)}.jobs-pipeline-card.pipeline-lead .jobs-pipeline-icon svg{fill:#9CA3AF}.jobs-pipeline-card.pipeline-estimate{border-color:rgba(245,166,35,.4)}.jobs-pipeline-card.pipeline-estimate .jobs-pipeline-icon{border:2px solid rgba(245,166,35,.6);box-shadow:0 0 12px rgba(245,166,35,.3)}.jobs-pipeline-card.pipeline-estimate .jobs-pipeline-icon svg{fill:#F5A623}.jobs-pipeline-card.pipeline-approved{border-color:rgba(59,130,246,.4)}.jobs-pipeline-card.pipeline-approved .jobs-pipeline-icon{border:2px solid rgba(59,130,246,.6);box-shadow:0 0 12px rgba(59,130,246,.3)}.jobs-pipeline-card.pipeline-approved .jobs-pipeline-icon svg{fill:#3B82F6}.jobs-pipeline-card.pipeline-progress{border-color:rgba(59,130,246,.4)}.jobs-pipeline-card.pipeline-progress .jobs-pipeline-icon{border:2px solid rgba(59,130,246,.6);box-shadow:0 0 12px rgba(59,130,246,.3)}.jobs-pipeline-card.pipeline-progress .jobs-pipeline-icon svg{fill:#3B82F6}.jobs-pipeline-card.pipeline-complete{border-color:rgba(22,163,74,.4)}.jobs-pipeline-card.pipeline-complete .jobs-pipeline-icon{border:2px solid rgba(22,163,74,.6);box-shadow:0 0 12px rgba(22,163,74,.3)}.jobs-pipeline-card.pipeline-complete .jobs-pipeline-icon svg{fill:#22C55E}.jobs-pipeline-card.pipeline-invoiced{border-color:rgba(211,84,0,.4)}.jobs-pipeline-card.pipeline-invoiced .jobs-pipeline-icon{border:2px solid rgba(211,84,0,.6);box-shadow:0 0 12px rgba(211,84,0,.3)}.jobs-pipeline-card.pipeline-invoiced .jobs-pipeline-icon svg{fill:#D35400}.jobs-pipeline-card.pipeline-paid{border-color:rgba(22,163,74,.4)}.jobs-pipeline-card.pipeline-paid .jobs-pipeline-icon{border:2px solid rgba(22,163,74,.6);box-shadow:0 0 12px rgba(22,163,74,.3)}.jobs-pipeline-card.pipeline-paid .jobs-pipeline-icon svg{fill:#22C55E}.jobs-pipeline-card.pipeline-lost{border-color:rgba(239,68,68,.4)}.jobs-pipeline-card.pipeline-lost .jobs-pipeline-icon{border:2px solid rgba(239,68,68,.6);box-shadow:0 0 12px rgba(239,68,68,.3)}.jobs-pipeline-card.pipeline-lost .jobs-pipeline-icon svg{fill:#EF4444}.job-type-icon-wrap{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.4);flex-shrink:0}.job-type-icon-wrap svg{width:16px;height:16px}.job-type-icon-wrap.icon-mitigation{border:2px solid rgba(59,130,246,.5);box-shadow:0 0 10px rgba(59,130,246,.25)}.job-type-icon-wrap.icon-mitigation svg{fill:#3B82F6}.job-type-icon-wrap.icon-reconstruction{border:2px solid rgba(211,84,0,.5);box-shadow:0 0 10px rgba(211,84,0,.25)}.job-type-icon-wrap.icon-reconstruction svg{fill:#D35400}.job-type-icon-wrap.icon-exteriors{border:2px solid rgba(22,163,74,.5);box-shadow:0 0 10px rgba(22,163,74,.25)}.job-type-icon-wrap.icon-exteriors svg{fill:#22C55E}.job-type-icon-wrap.icon-default{border:2px solid rgba(107,114,128,.5);box-shadow:0 0 10px rgba(107,114,128,.25)}.job-type-icon-wrap.icon-default svg{fill:#9CA3AF}.marketing-page{padding:0}.tab-bar{display:flex;gap:4px;margin-bottom:24px;background:var(--card-background);padding:4px;border-radius:var(--radius-md);max-width:100%;border:1px solid var(--border-color);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}@media (max-width:480px){.tab-btn{padding:8px 14px;font-size:13px}}.tab-btn{flex:1;padding:10px 20px;border:none;background:transparent;color:var(--text-muted);font-size:14px;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;white-space:nowrap;text-align:center}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{background:var(--primary-color);color:#000}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:9px;font-size:11px;font-weight:600;background:rgba(255,255,255,.1);color:var(--text-muted)}.tab-btn.active .tab-count{background:rgba(0,0,0,.2);color:#000}.section-header{margin-bottom:20px}.section-header h2{font-size:18px;font-weight:600;margin:0 0 4px}.section-subtitle{font-size:14px;color:var(--text-muted);margin:0}.sources-list{display:flex;flex-direction:column;gap:12px}.source-card{background:var(--card-background);border-radius:var(--radius-lg);padding:16px 20px;border:1px solid var(--border-color);transition:transform var(--transition-base),box-shadow var(--transition-base)}.source-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.source-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.source-icon{font-size:20px}.source-name{font-weight:600;flex:1;color:var(--text-primary)}.source-count{font-size:13px;color:var(--text-muted)}.source-bar-container{display:flex;align-items:center;gap:8px;margin-bottom:12px}.source-bar-track{flex:1;height:8px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden}.source-bar{height:100%;border-radius:4px;transition:width .3s ease}.source-stats{display:flex;gap:24px}.source-stat{display:flex;flex-direction:column;gap:2px}.source-stat .stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:0}.source-stat .stat-value{font-size:16px;font-weight:600;color:var(--text-primary)}.partners-section .empty-state{background:var(--card-background);border-radius:var(--radius-lg);padding:60px 40px;text-align:center;border:1px solid var(--border-color)}.empty-icon{font-size:48px;margin-bottom:16px}.empty-title{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.empty-text{font-size:14px;color:var(--text-muted);max-width:400px;margin:0 auto 20px;line-height:1.5}.add-partner-btn,.add-partner-btn-large{padding:10px 20px;background:var(--primary-color);border:none;border-radius:var(--radius-sm);color:#000;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s}.add-partner-btn-large:hover,.add-partner-btn:hover{opacity:.9}.partners-table-container{background:var(--card-background);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-color)}.partners-table{width:100%;border-collapse:collapse}.partners-table th{text-align:left;padding:14px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.partners-table td{padding:16px;border-bottom:1px solid var(--border-subtle)}.partner-name{font-weight:600;color:var(--text-primary)}.partner-company{color:var(--text-muted)}.partner-email{font-size:13px;color:var(--primary-color)}.partner-jobs{font-variant-numeric:tabular-nums}.action-btn{padding:6px 12px;background:rgba(255,255,255,.1);border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;cursor:pointer;transition:background .2s}.action-btn:hover{background:rgba(255,255,255,.15)}@media (max-width:1200px){.jobs-pipeline-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.jobs-pipeline-grid{grid-template-columns:repeat(4,1fr);gap:6px}.jobs-pipeline-card{padding:8px 6px}.jobs-pipeline-icon{display:none}.jobs-pipeline-count{font-size:16px}.jobs-pipeline-label{font-size:9px}}.sort-dropdown select{background-color:var(--input-background);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text-primary);font-size:13px;cursor:pointer}.sort-dropdown select option{background:#131316;color:#FAFAFA}.sort-dropdown select:focus{outline:none;border-color:var(--primary-color)}.jobs-table-container{background:linear-gradient(145deg,var(--card-background) 0,rgba(19,19,22,.9) 100%);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);overflow:hidden}.jobs-table-new{width:100%;border-collapse:collapse}.jobs-table-new th{text-align:left;padding:14px 16px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);background:linear-gradient(180deg,var(--background-elevated) 0,rgba(15,15,18,.5) 100%);white-space:nowrap;position:sticky;top:0;z-index:10}.jobs-table-new th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease}.jobs-table-new th.sortable:hover{color:var(--primary-color)}.jobs-table-new tbody tr{cursor:pointer;transition:all .15s ease}.jobs-table-new tbody tr:nth-child(2n){background:rgba(255,255,255,.015)}.jobs-table-new tbody tr:hover{background:rgba(245,166,35,.06)}.jobs-table-new tbody tr:hover .job-customer{color:var(--primary-color)}.jobs-table-new td{padding:12px 16px;border-bottom:1px solid var(--border-color);font-size:13px;color:var(--text-secondary)}.jobs-table-new tbody tr:last-child td{border-bottom:none}.col-job{width:25%}.col-status{width:110px}.col-age{width:55px;text-align:center}.col-carrier{width:100px}.col-balance{width:80px;text-align:right}.col-notes{width:150px}.col-next{width:130px}.job-cell{display:flex;align-items:center;gap:12px}.job-cell .job-type-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:6px}.job-type-svg{width:16px;height:16px}.job-type-icon.icon-mitigation{background:rgba(59,130,246,.15)}.job-type-svg.type-mitigation{fill:#3B82F6}.job-type-icon.icon-reconstruction{background:var(--reconstruction-light)}.job-type-svg.type-reconstruction{fill:var(--reconstruction-color)}.job-type-icon.icon-exteriors{background:var(--exteriors-light)}.job-type-svg.type-exteriors{fill:var(--exteriors-color)}.job-cell .job-info{min-width:0;flex:1}.job-cell .job-customer{font-size:14px;font-weight:600;color:var(--text-primary);transition:color .15s ease}.job-cell .job-address,.job-cell .job-customer{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-cell .job-address{font-size:12px;color:var(--text-muted);text-transform:uppercase}.job-cell .job-id-label{font-size:11px;color:var(--text-muted);opacity:.7;font-family:monospace}.job-id-row{display:flex;align-items:center;gap:6px}.job-contact-actions{display:flex;align-items:center;gap:3px}.job-contact-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;color:var(--text-muted);opacity:.5;text-decoration:none;transition:opacity .15s ease,color .15s ease,background .15s ease}.job-contact-btn:hover{opacity:1;background:rgba(255,255,255,.08);color:var(--text-primary)}.status-pill-wrap{position:relative}.status-pill-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;border:1px solid;cursor:pointer;transition:all .15s;white-space:nowrap}.status-pill-btn svg{width:14px;height:14px;opacity:.6}.status-pill-btn:hover:not(:disabled){opacity:.85}.status-pill-btn:disabled{opacity:.5;cursor:not-allowed}.status-pill-btn.status-lead{background:rgba(113,113,122,.15);color:#A1A1AA;border-color:rgba(113,113,122,.3)}.status-pill-btn.status-estimate{background:rgba(234,179,8,.15);color:#FACC15;border-color:rgba(234,179,8,.3)}.status-pill-btn.status-approved,.status-pill-btn.status-in-progress{background:rgba(59,130,246,.15);color:#60A5FA;border-color:rgba(59,130,246,.3)}.status-pill-btn.status-complete{background:rgba(34,197,94,.15);color:#4ADE80;border-color:rgba(34,197,94,.3)}.status-pill-btn.status-invoiced{background:rgba(249,115,22,.15);color:#FB923C;border-color:rgba(249,115,22,.3)}.status-pill-btn.status-paid{background:rgba(34,197,94,.15);color:#4ADE80;border-color:rgba(34,197,94,.3)}.status-pill-btn.status-lost{background:rgba(239,68,68,.15);color:#F87171;border-color:rgba(239,68,68,.3)}.status-pill-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:50;min-width:140px;padding:4px 0}.status-pill-option{display:block;width:100%;text-align:left;padding:8px 12px;font-size:13px;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:background .1s}.status-pill-option:hover{background:var(--card-hover);color:var(--text-primary)}.status-pill-option.active{color:var(--primary-color);font-weight:600}.status-select{background:var(--input-background);border:1px solid var(--border-color);border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer;width:100%}.status-select option{background:#131316;color:#FAFAFA}.status-select:focus{outline:none;border-color:var(--primary-color)}.age-badge{display:inline-block;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:600}.age-badge.age-fresh{background:rgba(34,197,94,.15);color:#4ADE80}.age-badge.age-aging{background:rgba(245,158,11,.15);color:#FBBF24}.age-badge.age-stale{background:rgba(239,68,68,.15);color:#F87171}.balance-due{color:#F87171;font-weight:600}.balance-paid{color:#4ADE80;font-weight:500;font-size:12px}.balance-est{color:var(--text-muted);font-size:12px;font-style:italic}.carrier-chip{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;background:rgba(255,255,255,.06);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.notes-btn{background:transparent;border:1px dashed transparent;border-radius:4px;padding:4px 8px;font-size:11px;color:var(--text-muted);cursor:pointer;transition:all .15s;text-align:left;width:100%;max-width:150px;opacity:.5}.notes-btn:hover{border-color:var(--border-color);opacity:1;color:var(--primary-color)}.notes-btn.has-notes{border-style:solid;background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.3);opacity:1}.notes-btn.has-notes:hover{background:rgba(59,130,246,.15)}.notes-preview{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary)}.notes-add{color:var(--text-muted)}.modal-close{background:transparent;padding:0;line-height:1}.notes-input{background:var(--input-background);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:12px;color:var(--text-primary);font-size:14px;resize:vertical;font-family:inherit}.notes-input:focus{outline:none;border-color:var(--primary-color)}.notes-input::-moz-placeholder{color:var(--text-muted)}.notes-input::placeholder{color:var(--text-muted)}.edit-job-modal{border-radius:var(--radius-lg);width:95%;max-width:900px;max-height:90vh;overflow-y:auto;border:1px solid var(--border-color)}.edit-job-header,.edit-job-modal{background:var(--card-background)}.edit-job-header{border-bottom:1px solid var(--border-color);padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.edit-job-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.edit-job-tabs{display:flex;border-bottom:1px solid var(--border-color);padding:0 24px;gap:0;position:sticky;top:0;background:var(--card-background);z-index:10}.edit-job-tab{padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s;text-transform:uppercase;letter-spacing:.03em}.edit-job-tab:hover{color:var(--text-secondary)}.edit-job-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.edit-job-form{padding:24px 24px 0;gap:24px}.edit-job-form,.edit-job-section{display:flex;flex-direction:column}.edit-job-section{gap:16px}.edit-job-subsection-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding-top:8px;border-top:1px solid var(--border-color)}.edit-job-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.edit-job-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.edit-job-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.edit-job-grid-2 .span-2,.edit-job-grid-3 .span-2,.edit-job-grid-4 .span-2{grid-column:span 2}.edit-job-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;padding-top:8px}.edit-job-toggle input{display:none}.edit-job-toggle-slider{width:36px;height:20px;background:var(--border-color);border-radius:10px;position:relative;transition:background .2s;flex-shrink:0}.edit-job-toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--text-muted);border-radius:50%;transition:transform .2s,background .2s}.edit-job-toggle input:checked+.edit-job-toggle-slider{background:var(--primary-color)}.edit-job-toggle input:checked+.edit-job-toggle-slider:after{transform:translateX(16px);background:#fff}.edit-job-toggle-label{font-size:13px;color:var(--text-secondary)}.form-checkbox{padding-top:8px}.form-checkbox span{color:var(--text-secondary);font-size:14px}.edit-job-error{background:rgba(220,53,69,.15);border:1px solid rgba(220,53,69,.4);border-radius:var(--radius-sm);padding:10px 14px;color:#f87171;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}.edit-job-error-dismiss{background:none;border:none;color:#f87171;font-size:18px;cursor:pointer;padding:0;line-height:1}.edit-job-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px 24px;margin:0 -24px;border-top:1px solid var(--border-color);position:sticky;bottom:0;background:var(--card-background);z-index:1}@media (max-width:768px){.edit-job-grid-2,.edit-job-grid-3,.edit-job-grid-4{grid-template-columns:1fr}.edit-job-grid-2 .span-2,.edit-job-grid-3 .span-2,.edit-job-grid-4 .span-2{grid-column:span 1}.edit-job-tab{padding:10px 14px;font-size:12px}}.next-step-btn{background:rgba(245,166,35,.08);border:1px solid rgba(245,166,35,.25);border-radius:4px;padding:6px 10px;font-size:12px;font-weight:600;color:var(--primary-color);cursor:pointer;transition:all .15s;white-space:nowrap}.next-step-btn:hover{background:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.next-step-btn.urgent{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.3);color:#F59E0B}.next-step-btn.urgent:hover{background:rgba(245,158,11,.2);border-color:#F59E0B}.empty-row{text-align:center;padding:40px 20px!important;color:var(--text-muted)}.empty-row .btn{margin-top:12px}.jobs-toolbar-simple{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:var(--card-background);border-radius:var(--radius-md)}.toolbar-left{flex:1;max-width:400px}.toolbar-right{display:flex;align-items:center;gap:12px}.search-box-simple{display:flex;align-items:center;gap:10px;background:var(--input-background);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:0 14px;position:relative;transition:all .2s ease}.search-box-simple:hover{border-color:var(--border-strong)}.search-box-simple:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(245,166,35,.1)}.search-box-simple svg{width:18px;height:18px;fill:var(--text-muted);flex-shrink:0;transition:fill .2s ease}.search-box-simple:focus-within svg{fill:var(--primary-color)}.search-box-simple input{background:transparent;border:none;padding:12px 0;color:var(--text-primary);font-size:13px;width:100%;outline:none}.search-box-simple input::-moz-placeholder{color:var(--text-muted)}.search-box-simple input::placeholder{color:var(--text-muted)}.search-clear{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.search-clear:hover{color:var(--text-primary)}.job-type-icon{font-size:20px;width:32px;text-align:center;flex-shrink:0}.job-info{min-width:0;flex:1}.job-customer{font-size:14px;font-weight:500;color:var(--text-primary)}.job-address,.job-customer{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-address{font-size:12px;color:var(--text-muted);text-transform:uppercase}.status-pill.status-lead{background:rgba(59,130,246,.15);color:#60A5FA}.status-pill.status-estimate{background:rgba(139,92,246,.15);color:#A78BFA}.status-pill.status-approved{background:rgba(20,184,166,.15);color:#2DD4BF}.status-pill.status-progress{background:rgba(245,158,11,.15);color:#FBBF24}.status-pill.status-complete{background:rgba(34,197,94,.15);color:#4ADE80}.status-pill.status-invoiced{background:rgba(236,72,153,.15);color:#F472B6}.status-pill.status-paid{background:rgba(16,185,129,.15);color:#34D399}.status-pill.status-lost{background:rgba(107,114,128,.15);color:#9CA3AF}.jobs-pagination,.pagination-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--card-background);border-radius:var(--radius-md);margin-top:8px}.pagination-info{font-size:13px;color:var(--text-muted)}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.pagination-btn:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-pages{font-size:13px;color:var(--text-secondary);padding:0 12px}.btn-sm{padding:6px 12px;font-size:12px}.mobile-overlay{display:none}.sidebar-wrapper{display:contents}.mobile-menu-btn{display:none}.header-left{display:flex;align-items:center;gap:12px}@media (max-width:868px){:root{--sidebar-width:0px}.app-container{grid-template-columns:1fr}.mobile-overlay{left:0;right:0;bottom:0;background:rgba(0,0,0,.6);z-index:90}.mobile-overlay,.sidebar-wrapper{display:block;position:fixed;top:0}.sidebar-wrapper{left:-280px;width:280px;height:100vh;z-index:100;transition:left .3s ease}.sidebar-wrapper.open{left:0}.sidebar-wrapper .sidebar{display:flex;flex-direction:column;width:100%;height:100%}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;cursor:pointer;border-radius:var(--radius-sm);margin-left:-8px}.mobile-menu-btn:hover{background:var(--primary-light)}.mobile-menu-btn svg{width:24px;height:24px;fill:var(--text-primary)}.header{left:0;padding:0 16px}.header-weather{display:none}.header-date{font-size:12px}.page-content{padding:12px;padding-top:calc(var(--header-height) + 12px)}.stats-grid{gap:10px}.stats-grid,.stats-grid-3{grid-template-columns:repeat(2,1fr)}.stats-grid-3 .stat-card:last-child{grid-column:span 2}.stats-grid-4{grid-template-columns:repeat(2,1fr)}.dashboard-row,.stat-card{padding:14px}.stat-card-value{font-size:24px}.stat-card-icon{width:36px;height:36px}.stat-card-icon svg{width:18px;height:18px}.equipment-deployed,.pipeline-grid{grid-template-columns:1fr;gap:16px}.pipeline-column{max-height:300px}.week-schedule{overflow-x:auto}.week-day{min-width:100px}.jobs-table-container{overflow-x:auto}.jobs-table-new{min-width:700px}.card-header{flex-wrap:wrap;gap:10px}.btn{padding:10px 16px;font-size:13px}.jobs-toolbar-simple{flex-direction:column;gap:12px}.search-box-simple,.toolbar-left,.toolbar-right{width:100%}.toolbar-right{flex-wrap:wrap}}@media (max-width:480px){.stats-grid,.stats-grid-3,.stats-grid-4{grid-template-columns:1fr}.stats-grid-3 .stat-card:last-child{grid-column:span 1}.stat-card-breakdown{display:none}.equipment-box-deployed,.header-title{font-size:16px}}.dashboard-page{display:flex;flex-direction:column;gap:20px}.job-type-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.job-type-icon svg{width:18px;height:18px}.activity-date-header{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:8px 16px 4px;margin-top:4px;border-top:1px solid var(--border-color)}.activity-date-header:first-child{border-top:none;margin-top:0}.activity-item{padding:12px 16px;text-decoration:none;color:inherit;border-bottom:1px solid var(--border-light);position:relative}.activity-item:hover{background:var(--primary-light)}.activity-item:last-child{border-bottom:none}.activity-content{min-width:0;display:flex;flex-direction:column;gap:4px}.activity-status{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.activity-status.status-lead{background:rgba(59,130,246,.15);color:#60A5FA}.activity-status.status-estimate{background:rgba(139,92,246,.15);color:#A78BFA}.activity-status.status-approved{background:rgba(20,184,166,.15);color:#2DD4BF}.activity-status.status-in-progress{background:rgba(245,158,11,.15);color:#FBBF24}.activity-status.status-complete{background:var(--success-light);color:var(--success-color)}.activity-status.status-invoiced{background:rgba(236,72,153,.15);color:#F472B6}.activity-time{font-size:11px;color:var(--text-muted)}.activity-time:before{content:"·";margin-right:8px}@media (max-width:768px){.activity-item{padding:10px 14px}}.job-detail-page{display:flex;flex-direction:column;gap:24px}.job-detail-header{display:flex;align-items:center;gap:16px}.job-detail-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:all .15s}.job-detail-back:hover{background:var(--card-hover);color:var(--text-primary)}.job-detail-back svg{width:20px;height:20px;fill:currentColor}.job-detail-title{flex:1}.job-detail-title-row{display:flex;align-items:center;gap:12px}.job-detail-id{font-size:24px;font-weight:700;color:var(--text-primary)}.job-detail-type{font-size:13px;font-weight:600;padding:4px 10px;border-radius:var(--radius-sm)}.job-detail-type.type-mitigation{background:rgba(59,130,246,.15);color:#3B82F6}.job-detail-type.type-reconstruction{background:rgba(211,84,0,.15);color:#D35400}.job-detail-type.type-exteriors{background:rgba(22,163,74,.15);color:#16A34A}.job-detail-name{font-size:14px;color:var(--text-muted);margin-top:4px}.job-detail-actions{display:flex;gap:12px}.status-selector-wrapper{position:relative}.status-selector-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;border:1px solid;cursor:pointer;transition:opacity .15s}.status-selector-btn svg{width:16px;height:16px}.status-selector-btn:hover:not(:disabled){opacity:.8}.status-selector-btn.pending{opacity:.5;cursor:not-allowed}.status-selector-btn.status-lead{background:rgba(113,113,122,.2);color:#A1A1AA;border-color:rgba(113,113,122,.5)}.status-selector-btn.status-estimate{background:rgba(234,179,8,.2);color:#FACC15;border-color:rgba(234,179,8,.5)}.status-selector-btn.status-approved,.status-selector-btn.status-in-progress{background:rgba(59,130,246,.2);color:#60A5FA;border-color:rgba(59,130,246,.5)}.status-selector-btn.status-complete{background:rgba(34,197,94,.2);color:#4ADE80;border-color:rgba(34,197,94,.5)}.status-selector-btn.status-invoiced{background:rgba(249,115,22,.2);color:#FB923C;border-color:rgba(249,115,22,.5)}.status-selector-btn.status-paid{background:rgba(34,197,94,.2);color:#4ADE80;border-color:rgba(34,197,94,.5)}.status-selector-btn.status-closed{background:rgba(113,113,122,.2);color:#A1A1AA;border-color:rgba(113,113,122,.5)}.status-selector-btn.status-lost{background:rgba(239,68,68,.2);color:#F87171;border-color:rgba(239,68,68,.5)}.status-selector-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;min-width:150px;padding:4px 0}.status-selector-option{display:block;width:100%;text-align:left;padding:8px 12px;font-size:13px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:background .1s}.status-selector-option:hover{background:var(--card-hover);color:var(--text-primary)}.status-selector-option.active{color:var(--primary-color)}.job-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.job-detail-notes-row{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:12px}.job-detail-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.job-detail-card+.job-detail-card,.job-detail-grid-2+.job-detail-card{margin-top:12px}.job-detail-grid-2>.job-detail-card,.job-detail-grid>.job-detail-card,.job-detail-notes-row>.job-detail-card{margin-top:0}.job-detail-card{background:linear-gradient(145deg,var(--card-background) 0,rgba(19,19,22,.9) 100%);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:14px 16px}.job-detail-card.card-info{border:1px solid rgba(59,130,246,.3);box-shadow:0 0 12px rgba(59,130,246,.1)}.job-detail-card.card-insurance{border:1px solid rgba(168,85,247,.3);box-shadow:0 0 12px rgba(168,85,247,.1)}.job-detail-card.card-financial{border:1px solid rgba(22,163,74,.3);box-shadow:0 0 12px rgba(22,163,74,.1)}.job-detail-card.card-payments{border:1px solid rgba(59,130,246,.3);box-shadow:0 0 12px rgba(59,130,246,.1)}.job-detail-card.card-expenses{border:1px solid rgba(211,84,0,.3);box-shadow:0 0 12px rgba(211,84,0,.1)}.job-detail-card.card-notes{border:1px solid rgba(245,166,35,.3);box-shadow:0 0 12px rgba(245,166,35,.1)}.job-detail-card.card-docs{border:1px solid rgba(168,85,247,.3);box-shadow:0 0 12px rgba(168,85,247,.1)}.job-detail-card.card-invoices{border:1px solid rgba(245,166,35,.3);box-shadow:0 0 12px rgba(245,166,35,.1)}.invoice-actions{display:flex;gap:8px;flex-wrap:wrap}.invoice-actions .btn{font-size:12px;padding:6px 12px}.invoice-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.invoice-status-badge.generated{background:rgba(234,179,8,.15);color:#EAB308}.invoice-status-badge.sent{background:rgba(34,197,94,.15);color:#22C55E}.invoice-status-badge.none{background:rgba(107,114,128,.15);color:#9CA3AF}.btn-outline{background:transparent;color:var(--primary-color);border:1px solid rgba(245,166,35,.3)}.btn-outline:hover{background:rgba(245,166,35,.1);border-color:rgba(245,166,35,.5)}.job-detail-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-subtle)}.job-detail-card-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.job-detail-fields{display:flex;flex-direction:column;gap:4px}.job-detail-field{display:flex;flex-direction:row;align-items:baseline;gap:8px;min-height:20px}.job-detail-field-label{font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;min-width:100px;flex-shrink:0}.job-detail-field-value{font-size:13px;color:var(--text-primary);flex:1;min-width:0}.job-detail-field-value.empty{color:var(--text-muted)}.job-detail-separator{height:1px;background:var(--border-subtle);margin:4px 0}.job-detail-subsection{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:0}.job-detail-summary-bar{display:flex;gap:16px;padding:12px 16px;background:rgba(0,0,0,.2);border-radius:var(--radius-sm);margin-bottom:16px}.financial-summary-bar{padding:16px 20px}.financial-summary-items{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.job-detail-summary-item{display:flex;flex-direction:column;gap:4px}.job-detail-summary-item .label{font-size:10px;color:var(--text-muted);text-transform:uppercase}.job-detail-summary-item .value{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.job-detail-summary-item .value.paid{color:#22C55E}.job-detail-summary-item .value.due{color:#EF4444}.job-detail-summary-item .value.zero{color:var(--text-muted);opacity:.5}.financial-progress-wrap{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.financial-progress-bar{flex:1;height:6px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden}.financial-progress-fill{height:100%;background:var(--primary-color);border-radius:3px;transition:width .3s ease}.financial-progress-fill.complete{background:#22C55E}.financial-progress-label{font-size:11px;color:var(--text-muted);white-space:nowrap}.job-detail-empty{text-align:center;padding:24px;color:var(--text-muted);font-size:13px}.job-detail-notes-content{font-size:13px;line-height:1.6;color:var(--text-secondary);padding:4px 0 0}.job-detail-notes-content .text-muted{color:var(--text-muted)}.notes-input-container{padding:16px 20px;border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:12px}.notes-input-actions{display:flex;justify-content:flex-end;gap:8px}.notes-list{display:flex;flex-direction:column;gap:12px}.note-entry{padding:12px;background:rgba(0,0,0,.2);border-radius:var(--radius-sm);border-left:3px solid var(--border-color)}.note-entry.latest{background:rgba(59,130,246,.1);border-left-color:var(--info-color)}.note-timestamp{font-size:11px;color:var(--text-muted);margin-bottom:4px}.note-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.note-meta{display:flex;align-items:center;gap:8px}.note-author{font-size:12px;font-weight:600;color:var(--text-primary)}.note-delete-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;border-radius:4px;opacity:0;transition:opacity .15s,color .15s}.note-entry:hover .note-delete-btn{opacity:1}.note-delete-btn:hover{color:var(--danger-color);background:rgba(239,68,68,.1)}.note-content{font-size:13px;color:var(--text-secondary);white-space:pre-wrap;line-height:1.5}.job-detail-list{display:flex;flex-direction:column;gap:8px}.job-detail-list-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:rgba(0,0,0,.2);border-radius:var(--radius-sm);transition:background .15s}.job-detail-list-item:hover{background:rgba(255,255,255,.05)}.job-detail-list-main{flex:1}.job-detail-list-row{display:flex;align-items:center;gap:12px}.job-detail-list-id{font-family:monospace;font-size:11px;color:var(--text-muted)}.job-detail-list-date{font-size:13px;color:var(--text-secondary)}.job-detail-list-sub{font-size:11px;color:var(--text-muted);margin-top:4px}.job-detail-list-actions{display:flex;align-items:center;gap:16px}.job-detail-list-amount{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.job-detail-list-amount.positive{color:#22C55E}.job-detail-list-amount.negative{color:#EF4444}.job-detail-list-edit{font-size:12px;color:var(--info-color);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:all .15s}.job-detail-list-edit:hover{background:rgba(59,130,246,.15)}.job-detail-list-delete{font-size:12px;color:#EF4444;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:all .15s}.job-detail-list-delete:hover{background:rgba(239,68,68,.15)}.job-detail-list-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:var(--radius-sm);text-transform:uppercase}.badge-insurance{background:rgba(59,130,246,.15);color:#3B82F6}.badge-customer{background:rgba(22,163,74,.15);color:#22C55E}.badge-deductible{background:rgba(245,166,35,.15);color:#F5A623}.badge-labor{background:rgba(59,130,246,.15);color:#3B82F6}.badge-materials{background:rgba(22,163,74,.15);color:#22C55E}.badge-subcontractor{background:rgba(245,166,35,.15);color:#F5A623}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-content{background:var(--card-background);border-radius:var(--radius-lg);border:1px solid var(--border-color);max-width:480px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.modal-title{font-size:18px;font-weight:700;color:var(--text-primary)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);font-size:24px;cursor:pointer;border-radius:var(--radius-sm);transition:all .15s}.modal-close:hover{background:var(--card-hover);color:var(--text-primary)}.modal-body{padding:20px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--border-color);margin-top:20px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;background:var(--input-background);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;transition:border-color .15s}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--input-background);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23a1a1aa'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}.form-select option{background:#131316;color:#FAFAFA}.main-content select,.modal-overlay select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--input-background);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23a1a1aa'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.main-content select option,.modal-overlay select option{background:#131316;color:#FAFAFA}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color)}.field-input:focus-visible,.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(245,166,35,.25)}.form-textarea{min-height:80px;resize:vertical}.form-input-prefix{position:relative}.form-input-prefix .prefix{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:13px}.form-input-prefix .form-input{padding-left:28px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row-3{display:flex;gap:12px}.form-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-secondary)}.form-checkbox input{width:16px;height:16px;cursor:pointer}.form-hint{font-size:11px;color:var(--text-muted);margin-top:4px}.photos-category-tabs{display:flex;gap:4px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);overflow-x:auto}.photos-tab{padding:6px 12px;font-size:12px;font-weight:500;color:var(--text-muted);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:all .15s}.photos-tab:hover{color:var(--text-secondary);background:rgba(255,255,255,.05)}.photos-tab.active{color:var(--primary-color);background:var(--primary-light)}.photos-upload-zone{margin:0 16px;padding:16px;border:2px dashed rgba(255,255,255,.15);border-radius:var(--radius-md);text-align:center;transition:all .2s}.photos-upload-zone.drag-over{border-color:var(--primary-color);background:rgba(59,130,246,.08)}.upload-zone-content{display:flex;flex-direction:column;align-items:center;gap:10px}.upload-category-selector{display:flex;gap:6px}.upload-cat-btn{padding:4px 14px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.15);background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.upload-cat-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.upload-zone-text{font-size:12px;color:var(--text-muted)}.documents-list{padding:0 16px 16px}.document-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-sm);background:rgba(0,0,0,.2);margin-bottom:6px}.document-row:hover{background:rgba(0,0,0,.3)}.document-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.document-filename{font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-filename a{color:var(--primary-color);text-decoration:none}.document-filename a:hover{text-decoration:underline}.document-meta{display:flex;gap:12px;font-size:11px;color:var(--text-muted)}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;padding:16px}.photo-card{cursor:pointer;border-radius:var(--radius-sm);overflow:hidden;background:rgba(0,0,0,.3);transition:all .15s}.photo-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.photo-thumb{aspect-ratio:1;overflow:hidden}.photo-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.photo-info{padding:8px;display:flex;justify-content:space-between;align-items:center}.photo-category{font-size:10px;font-weight:600;padding:2px 6px;border-radius:var(--radius-xs);text-transform:uppercase}.cat-before{background:rgba(59,130,246,.15);color:#3B82F6}.cat-during{background:rgba(245,166,35,.15);color:#F5A623}.cat-after{background:rgba(22,163,74,.15);color:#22C55E}.cat-documentation{background:rgba(168,85,247,.15);color:#A855F7}.cat-other{background:rgba(107,114,128,.15);color:#9CA3AF}.photo-date{font-size:10px;color:var(--text-muted)}.photo-viewer{max-width:90vw;max-height:90vh;background:var(--card-background);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}.photo-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color)}.photo-viewer-title{display:flex;align-items:center;gap:12px}.photo-viewer-image{flex:1;display:flex;align-items:center;justify-content:center;background:#000;max-height:70vh}.photo-viewer-image img{max-width:100%;max-height:70vh;-o-object-fit:contain;object-fit:contain}.photo-viewer-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--border-color)}.photo-viewer-info{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.equipment-icon{font-size:16px;margin-right:8px}.equipment-deploy-list{display:flex;flex-direction:column;gap:8px}.equipment-deploy-item{padding:12px;background:rgba(0,0,0,.2)}.equipment-deploy-info{display:flex;align-items:center;gap:12px}.equipment-deploy-id{font-weight:600;font-size:13px}.equipment-deploy-type{font-size:11px;color:var(--text-muted)}.badge-dehumidifier{background:rgba(59,130,246,.15);color:#3B82F6}.badge-air-mover{background:rgba(22,163,74,.15);color:#22C55E}.badge-air-scrubber{background:rgba(168,85,247,.15);color:#A855F7}.badge-moisture-meter{background:rgba(245,166,35,.15);color:#F5A623}.badge-thermal-camera{background:rgba(239,68,68,.15);color:#EF4444}.equipment-deploy-card{background:linear-gradient(145deg,var(--card-background) 0,rgba(19,19,22,.9) 100%);border-left:1px solid var(--border-color);border:1px solid var(--border-color);border-left:3px solid rgba(59,130,246,.7);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm),var(--shadow-inset);margin-top:8px;overflow:hidden}.equipment-deploy-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-subtle);background:linear-gradient(180deg,rgba(59,130,246,.05),transparent)}.equipment-deploy-card-title-row{display:flex;align-items:center;gap:8px}.equipment-deploy-card-icon{width:16px;height:16px;fill:#3B82F6;flex-shrink:0;opacity:.9}.equipment-deploy-card-title{font-size:12px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em}.equipment-deploy-count-badge{font-size:11px;font-weight:700;color:#3B82F6;background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.3);border-radius:10px;padding:1px 7px;font-variant-numeric:tabular-nums}.equipment-deploy-view-all{font-size:12px;font-weight:600;color:var(--text-secondary);text-decoration:none;transition:color .15s ease}.equipment-deploy-view-all:hover{color:var(--primary-color)}.equipment-deploy-list-wrap{padding:6px 8px;display:flex;flex-direction:column;gap:2px}.equipment-deploy-item{display:flex;align-items:center;justify-content:space-between;padding:7px 8px;border-radius:var(--radius-sm);background:rgba(255,255,255,.02);border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.equipment-deploy-item:hover{background:rgba(255,255,255,.05);border-color:var(--border-subtle)}.equipment-deploy-item-left{display:flex;align-items:center;gap:10px;min-width:0}.equipment-deploy-item-id{font-size:12px;font-weight:600;color:var(--text-primary);font-family:var(--font-mono,monospace);white-space:nowrap;flex-shrink:0}.equipment-deploy-item-type{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equipment-deploy-item-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.equipment-deploy-job-link{font-size:11px;font-weight:600;color:var(--primary-color);text-decoration:none;font-family:var(--font-mono,monospace);background:var(--primary-light);padding:2px 6px;border-radius:4px;border:1px solid rgba(245,166,35,.25);transition:background .15s ease}.equipment-deploy-job-link:hover{background:rgba(245,166,35,.2)}.equipment-deploy-no-job{font-size:12px;color:var(--text-disabled)}.deploy-days-badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:10px;font-variant-numeric:tabular-nums;min-width:36px;text-align:center;background:rgba(255,255,255,.07);color:var(--text-secondary)}.deploy-days-badge.deploy-ok{background:rgba(34,197,94,.15);color:#4ADE80}.deploy-days-badge.deploy-warning{background:rgba(234,179,8,.15);color:#FACC15}.deploy-days-badge.deploy-alert{background:rgba(239,68,68,.15);color:#F87171}.revenue-trend-card{background:linear-gradient(145deg,var(--card-background) 0,rgba(19,19,22,.8) 100%);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px 20px;margin-top:8px;box-shadow:var(--shadow-sm),var(--shadow-inset)}.revenue-trend-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.revenue-trend-title-row{display:flex;align-items:center;gap:7px}.revenue-trend-icon{width:16px;height:16px;fill:var(--primary-color);flex-shrink:0}.revenue-trend-title{font-size:13px;font-weight:700;color:var(--text-primary);letter-spacing:.02em;text-transform:uppercase}.revenue-trend-subtitle{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.revenue-bars{display:flex;align-items:flex-end;gap:6px;height:96px}.revenue-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;position:relative}.revenue-bar-value{font-size:10px;font-weight:600;color:var(--primary-color);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1;position:absolute;top:0;left:50%;transform:translateX(-50%)}.revenue-bar-track{flex:1;width:100%;display:flex;flex-direction:column;justify-content:flex-end;margin-top:16px}.revenue-bar{width:100%;min-width:20px;background:rgba(245,166,35,.35);border-radius:3px 3px 0 0;transition:background .2s ease;min-height:4px}.revenue-bar.revenue-bar-current{background:var(--primary-color);box-shadow:0 0 8px rgba(245,166,35,.4)}.revenue-bar-label{font-size:10px;color:var(--text-muted);text-align:center;line-height:1;padding-top:4px}.revenue-trend-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;border-top:1px solid var(--border-subtle)}.revenue-trend-current-label{font-size:11px;color:var(--primary-color);font-weight:600;font-variant-numeric:tabular-nums}.revenue-trend-total-label{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.revenue-trend-empty{display:flex;align-items:center;gap:8px;padding:20px 0 12px;color:var(--text-muted);font-size:13px}.revenue-trend-empty-icon{width:18px;height:18px;fill:var(--text-disabled);flex-shrink:0}.schedule-event-title{font-weight:500;font-size:13px}.event-inspection{border-left:3px solid #3b82f6}.event-mitigation{border-left:3px solid #f5a623}.event-moisture{border-left:3px solid #22c55e}.event-reconstruction{border-left:3px solid #d35400}.event-exteriors{border-left:3px solid #16a34a}.event-equipment{border-left:3px solid #a855f7}.event-other{border-left:3px solid #6b7280}.badge-inspection{background:rgba(59,130,246,.15);color:#3B82F6}.badge-mitigation{background:rgba(245,166,35,.15);color:#F5A623}.badge-moisture{background:rgba(22,163,74,.15);color:#22C55E}.badge-reconstruction{background:rgba(211,84,0,.15);color:#D35400}.badge-exteriors{background:rgba(22,163,74,.15);color:#16A34A}.badge-equipment{background:rgba(168,85,247,.15);color:#A855F7}.badge-other{background:rgba(107,114,128,.15);color:#9CA3AF}.past-events{margin-top:12px}.past-events-summary{font-size:12px;color:var(--text-muted);cursor:pointer;padding:8px 12px;background:rgba(0,0,0,.2);border-radius:var(--radius-sm)}.past-events-summary:hover{background:rgba(0,0,0,.3)}.job-detail-list-item.past{opacity:.6}.activity-list{display:flex;flex-direction:column;gap:2px}.activity-item{display:flex;align-items:flex-start;gap:12px;padding:10px 16px;border-left:3px solid transparent;transition:background .15s}.activity-item:hover{background:rgba(255,255,255,.02)}.activity-item.activity-created{border-left-color:#22C55E}.activity-item.activity-status{border-left-color:#3B82F6}.activity-item.activity-payment{border-left-color:#F5A623}.activity-item.activity-expense{border-left-color:#A855F7}.activity-item.activity-deleted{border-left-color:#EF4444}.activity-icon{font-size:14px;opacity:.8}.activity-content{flex:1}.activity-text{font-size:13px;color:var(--text-secondary)}.activity-meta{display:flex;gap:8px;font-size:11px;margin-top:4px}.activity-meta,.activity-user{color:var(--text-muted)}@media (max-width:1024px){.job-detail-grid,.job-detail-grid-2,.job-detail-notes-row{grid-template-columns:1fr}}@media (max-width:768px){.job-detail-header{flex-wrap:wrap}.job-detail-actions{width:100%;justify-content:flex-end}.job-detail-id{font-size:20px}.job-detail-summary-bar{flex-wrap:wrap}}.stats-grid-4 .stat-card-value{font-size:22px}.stats-grid-5{grid-template-columns:repeat(5,1fr);margin-bottom:16px}.stats-grid-5 .stat-card-value{font-size:18px}.stats-grid-5 .stat-card-icon{width:36px;height:36px;min-width:36px}.stats-grid-5 .stat-card-icon svg{width:18px;height:18px}.stats-grid-5 .stat-card{padding:12px 14px}.stats-grid-5 .stat-card-label{font-size:11px}.stats-grid-6{grid-template-columns:repeat(6,1fr);margin-bottom:16px}.stats-grid-6 .stat-card-value{font-size:20px}.stats-grid-6 .stat-card-label{font-size:11px}.lead-row-overdue{border-left:3px solid rgba(239,68,68,.7)!important;background:rgba(239,68,68,.04)!important}.lead-row-overdue:hover{background:rgba(239,68,68,.08)!important}.lead-row-overdue td:first-child{padding-left:13px}.btn-secondary{background:var(--input-background);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--card-hover);color:var(--text-primary);border-color:var(--border-strong)}.btn-danger-link{background:none;border:none;color:var(--danger-color);cursor:pointer;font-size:13px;font-weight:500;transition:color var(--transition-fast)}.btn-danger-link:hover{color:#FCA5A5}.filter-select{background:var(--input-background);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:8px 16px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast)}.filter-select option{background:#131316;color:#FAFAFA}.filter-select:focus,.filter-select:hover{border-color:var(--border-strong);outline:none}.toggle-group{display:flex;background:var(--input-background);border-radius:var(--radius-md);overflow:hidden}.toggle-btn{padding:8px 16px;font-size:13px;font-weight:500;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.toggle-btn.active{background:var(--primary-color);color:#000}.filter-tags{gap:8px;flex-wrap:wrap;margin-bottom:16px}.filter-tag,.filter-tags{display:flex;align-items:center}.filter-tag{gap:4px;padding:4px 12px;border-radius:20px;font-size:13px}.filter-tag-pm{background:rgba(59,130,246,.15);color:#60A5FA}.filter-tag-type{background:rgba(234,179,8,.15);color:#FACC15}.filter-tag-status{background:rgba(168,85,247,.15);color:#C084FC}.filter-tag button{background:none;border:none;color:inherit;cursor:pointer;margin-left:4px;opacity:.7}.filter-tag button:hover{opacity:1}.margin-badge{display:inline-block;padding:4px 8px;border-radius:var(--radius-xs);font-size:11px;font-weight:600}.margin-good{background:rgba(34,197,94,.15);color:#4ADE80}.margin-ok{background:rgba(234,179,8,.15);color:#FACC15}.margin-bad{background:rgba(239,68,68,.15);color:#F87171}.text-positive{color:var(--success-color)}.text-negative{color:var(--danger-color)}.text-gold{color:var(--primary-color)}.breakdown-bar-track{width:96px;height:8px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden}.breakdown-bar-fill{height:100%;border-radius:4px;background:var(--primary-color)}.breakdown-bar-fill.bar-blue{background:#3B82F6}.breakdown-bar-fill.bar-yellow{background:#EAB308}.breakdown-bar-fill.bar-green{background:#22C55E}.report-filters-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.report-date-input{color-scheme:dark}.filter-tag-date{background:rgba(34,197,94,.15);color:#4ADE80}.filter-tag-search{background:rgba(107,114,128,.15);color:#9CA3AF}.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color var(--transition-fast)}.sortable:hover{color:var(--text-primary)}.sort-indicator{font-size:10px;color:var(--primary-color)}.cost-bar-track{width:100%;height:10px;background:rgba(255,255,255,.08);border-radius:5px;overflow:hidden}.cost-bar-fill{height:100%;border-radius:5px;transition:width .3s ease}.cost-bar-revenue{background:#22C55E}.cost-bar-cost{background:#EF4444}.cost-bar-labor{background:#3B82F6}.cost-bar-material{background:#F59E0B}.cost-bar-equipment{background:#8B5CF6}.cost-bar-subcon{background:#EC4899}.action-items-card{border:1px solid rgba(234,179,8,.3);margin-top:16px}.action-items-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:rgba(234,179,8,.2);color:#FACC15;font-size:12px;font-weight:700;margin-left:8px}.action-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.action-item-group{background:rgba(255,255,255,.02);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px}.action-item-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;margin-bottom:4px}.action-item-warning{color:#FACC15}.action-item-danger{color:#F87171}.action-item-info{color:#60A5FA}.action-item-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:800}.action-item-warning .action-item-icon{background:rgba(234,179,8,.2);color:#FACC15}.action-item-danger .action-item-icon{background:rgba(239,68,68,.2);color:#F87171}.action-item-info .action-item-icon{background:rgba(59,130,246,.2);color:#60A5FA}.action-item-desc{font-size:12px;color:var(--text-muted);margin:0 0 10px}.action-item-list{list-style:none;padding:0;margin:0}.action-item-list li{display:flex;align-items:center;justify-content:space-between;padding:5px 0;font-size:13px;border-bottom:1px solid var(--border-subtle)}.action-item-list li:last-child{border-bottom:none}.action-item-list a{color:var(--text-primary);text-decoration:none;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px}.action-item-list a:hover{color:var(--primary-color)}.action-item-age{font-size:11px;color:var(--text-muted);background:rgba(255,255,255,.05);padding:2px 6px;border-radius:4px;flex-shrink:0}.action-item-amount{font-size:12px;font-weight:600;flex-shrink:0}.action-item-more{color:var(--text-muted)!important;font-style:italic;font-size:12px!important;justify-content:flex-start!important}.status-group-header td{background:rgba(255,255,255,.04)!important;border-bottom:2px solid var(--border-color)!important;border-top:2px solid var(--border-color)!important;padding:10px 16px!important}.status-group-header td>*{vertical-align:middle}.status-group-count{font-size:12px;color:var(--text-muted);font-weight:500;margin-left:6px}.status-group-total{color:var(--text-secondary)}.status-group-outstanding,.status-group-total{font-size:12px;font-weight:600;margin-left:8px}.status-group-outstanding{color:#F87171}.status-group-subtotal td{background:rgba(255,255,255,.02)!important;border-bottom:2px solid var(--border-color)!important;font-size:12px!important}.report-sections-panel{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-md)}.report-sections-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-right:4px}.report-section-toggle{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.report-section-toggle input[type=checkbox]{accent-color:var(--primary-color);width:14px;height:14px;cursor:pointer}.report-section-toggle:hover{color:var(--text-primary)}.report-sections-note{font-size:11px;color:var(--text-muted);font-style:italic;margin-left:auto}.print-footer,.print-header,.print-logo{display:none}.report-table-scroll{overflow-x:auto}@media print{@page{margin:.5in;size:letter landscape}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{background:#fff!important;color:#1a1a1a!important;font-size:10px;line-height:1.4}.filter-tags,.header,.mobile-overlay,.page-header,.report-filters-row,.report-sections-panel,.sidebar,.sidebar-wrapper{display:none!important}.main-content{margin-left:0!important;padding:0!important}.print-header{display:block!important;margin-bottom:20px}.print-header-top{display:flex;align-items:center;gap:16px;padding-bottom:12px;border-bottom:3px solid #1a1a1a;margin-bottom:8px}.print-logo{display:block!important;width:60px;height:60px;-o-object-fit:contain;object-fit:contain}.print-header-info h1{font-size:22px;font-weight:700;color:#1a1a1a;margin:0;letter-spacing:-.02em}.print-header-subtitle{font-size:14px;color:#666;margin:0;font-weight:500}.print-header-meta{display:flex;gap:24px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid #ddd;font-size:11px}.print-header-meta-item{display:flex;gap:4px}.print-meta-label{font-weight:600;color:#666}.app-container{display:block!important}.app-container,.main-content{height:auto!important;overflow:visible!important}.page-content{padding:0!important}.card{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important;-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:16px!important}.card,.card-body,.card-body-flush{overflow:visible!important}.card-header{background:#f8f8f8!important;border-bottom:1px solid #ccc!important;padding:8px 12px!important}.card-title{color:#1a1a1a!important;font-size:13px!important}.report-section{page-break-inside:avoid}.report-section-full,.report-section-full .card,.report-section-full .card-body,.report-section-full .card-body-flush{overflow:visible!important;-moz-column-break-inside:auto!important;break-inside:auto!important;page-break-inside:auto!important}.report-section-full .data-table,.report-section-full .report-table-scroll{overflow:visible!important}.report-section-full .data-table thead{display:table-header-group}.report-section-full .data-table tfoot{display:table-footer-group}.report-section-full .data-table tr{page-break-inside:avoid}.stat-card{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important;padding:10px 12px!important}.stat-card-label{color:#666!important;font-size:10px!important}.stat-card-value{color:#1a1a1a!important;font-size:16px!important}.stat-card:before{display:none!important}.data-table{border:1px solid #ccc;font-size:10px}.data-table th{background:#f0f0f0!important;color:#1a1a1a!important;border-bottom:2px solid #999!important;padding:6px 8px!important;font-size:10px!important}.data-table td{border-bottom:1px solid #e5e5e5!important;color:#1a1a1a!important;padding:4px 6px!important}.data-table .id-badge{white-space:nowrap!important;font-size:9px!important}.data-table tbody tr:hover{background:transparent!important}.data-table tfoot tr{background:#f0f0f0!important;font-weight:700!important}.data-table tfoot td{border-top:2px solid #999!important;padding:6px 8px!important}.text-positive{color:#15803d!important}.text-negative{color:#b91c1c!important}.text-gold{color:#92400e!important}.status-badge{font-size:9px!important;padding:2px 6px!important;border-radius:3px!important;font-weight:600!important}.status-badge.status-lead{background:#f3f4f6!important;color:#4b5563!important;border:1px solid #9ca3af!important}.status-badge.status-estimate{background:#fef9c3!important;color:#854d0e!important;border:1px solid #eab308!important}.status-badge.status-approved{background:#dbeafe!important;color:#1e40af!important;border:1px solid #3b82f6!important}.status-badge.status-progress{background:#f3e8ff!important;color:#6b21a8!important;border:1px solid #a855f7!important}.status-badge.status-complete{background:#dcfce7!important;color:#166534!important;border:1px solid #22c55e!important}.status-badge.status-invoiced{background:#ffedd5!important;color:#9a3412!important;border:1px solid #f97316!important}.status-badge.status-paid{background:#d1fae5!important;color:#065f46!important;border:1px solid #10b981!important}.status-badge.status-lost{background:#fee2e2!important;color:#991b1b!important;border:1px solid #ef4444!important}.margin-badge{font-size:9px!important;padding:2px 6px!important;border-radius:3px!important;font-weight:600!important}.margin-good{background:#dcfce7!important;color:#166534!important;border:1px solid #86efac!important}.margin-ok{background:#fef9c3!important;color:#854d0e!important;border:1px solid #fde047!important}.margin-bad{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fca5a5!important}.cost-bar-track{background:#eee!important;border:1px solid #ddd;height:8px!important}.stats-grid,.stats-grid-3,.stats-grid-4,.stats-grid-5,.stats-grid-6{gap:6px!important;margin-bottom:12px!important}.id-badge{color:#1e40af!important}a{color:#1a1a1a!important;text-decoration:none!important}.action-items-card{border:2px solid #d97706!important;-moz-column-break-inside:auto!important;break-inside:auto!important;page-break-inside:auto!important}.action-items-count{background:#fef3c7!important;color:#92400e!important}.action-items-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.action-item-group{background:#fafafa!important;border:1px solid #ddd!important;padding:10px!important;-moz-column-break-inside:avoid;break-inside:avoid}.action-item-warning{color:#92400e!important}.action-item-danger{color:#991b1b!important}.action-item-info{color:#1e40af!important}.action-item-warning .action-item-icon{background:#fef3c7!important;color:#92400e!important}.action-item-danger .action-item-icon{background:#fee2e2!important;color:#991b1b!important}.action-item-info .action-item-icon{background:#dbeafe!important;color:#1e40af!important}.action-item-desc{color:#666!important}.action-item-list li{border-color:#eee!important}.action-item-list a{color:#1a1a1a!important}.action-item-age{background:#f3f4f6!important;color:#4b5563!important}.status-group-header td{background:#f0f0f0!important;border-top:2px solid #999!important;border-bottom:1px solid #999!important;padding:6px 8px!important;font-size:11px!important}.status-group-count{color:#666!important}.status-group-total{color:#1a1a1a!important}.status-group-outstanding{color:#b91c1c!important}.status-group-subtotal td{background:#f8f8f8!important;border-bottom:2px solid #bbb!important;font-size:10px!important}.status-group-header{-moz-column-break-inside:avoid;break-inside:avoid}.print-footer{display:block!important;text-align:center;margin-top:24px;padding-top:8px;border-top:1px solid #ccc;font-size:9px;color:#999}.job-detail-page{padding:0!important}.job-detail-actions,.job-detail-back,.job-detail-page .header,.job-detail-page .sidebar-wrapper,.modal-overlay,.search-palette-overlay,.status-selector-wrapper svg,.tab-bar,.toast-container{display:none!important}.job-detail-header{border-bottom:2px solid #333!important;padding-bottom:8px!important;margin-bottom:12px!important}.job-detail-card{background:#fff!important;border:1px solid #ccc!important;-moz-column-break-inside:avoid;break-inside:avoid}.job-detail-card-title{color:#1a1a1a!important;font-weight:700!important}.job-detail-field-label{color:#666!important}.job-detail-field-value{color:#1a1a1a!important}.card-financial{background:#f9f9f9!important}.job-detail-grid{gap:12px!important}}.employee-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary-light);justify-content:center;color:var(--primary-color);font-weight:700;font-size:16px;flex-shrink:0}.calendar-nav,.employee-avatar{display:flex;align-items:center}.calendar-nav{gap:4px;background:var(--input-background);border-radius:var(--radius-md);padding:4px}.calendar-nav-btn{padding:8px;background:none;border:none;cursor:pointer;border-radius:var(--radius-xs);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast)}.calendar-nav-btn:hover{background:rgba(255,255,255,.1)}.calendar-nav-btn svg{width:16px;height:16px}.calendar-today-btn{padding:4px 12px;font-size:13px;border-radius:var(--radius-xs);background:none;border:none;cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary)}.calendar-today-btn:hover{background:rgba(255,255,255,.1)}.calendar-today-btn.active{background:var(--primary-color);color:#000;font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto;grid-auto-rows:1fr;gap:1px;background:var(--border-color);overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--border-color);min-height:520px}.calendar-weekday{padding:10px 8px;text-align:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:#131316}.calendar-weekday:first-child,.calendar-weekday:nth-child(7){color:var(--text-disabled)}.calendar-day{padding:6px;background:#131316;transition:background .15s ease;position:relative;cursor:pointer;overflow:hidden;min-width:0}.calendar-day:hover{background:#1a1a1f}.calendar-day:nth-child(7n),.calendar-day:nth-child(7n+1){background:#111114}.calendar-day:nth-child(7n):hover,.calendar-day:nth-child(7n+1):hover{background:#191920}.calendar-day.other-month{background:#0e0e10}.calendar-day.other-month:nth-child(7n),.calendar-day.other-month:nth-child(7n+1){background:#0c0c0e}.calendar-day.today-bg{background:linear-gradient(180deg,rgba(245,166,35,.1),#131316);box-shadow:inset 0 0 0 2px rgba(245,166,35,.5);z-index:2}.calendar-day-number{font-size:13px;padding:2px 6px;cursor:pointer;border-radius:var(--radius-xs);display:inline-block;color:var(--text-secondary);font-weight:500;transition:background var(--transition-fast)}.calendar-day-number:hover{background:rgba(255,255,255,.1)}.calendar-day.other-month .calendar-day-number{color:var(--text-disabled)}.calendar-day-number.is-today{background:var(--primary-color);color:#000;font-weight:700;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%}.calendar-event{display:flex;align-items:center;padding:2px 6px;border-radius:4px;font-size:11px;cursor:pointer;overflow:hidden;margin-top:2px;border-left:3px solid;transition:opacity var(--transition-fast),transform .1s ease}.calendar-event:hover{opacity:.85;transform:translateX(1px)}.calendar-event-time{font-weight:600;margin-right:4px;font-size:10px}.calendar-event.event-inspection{background:rgba(239,68,68,.12);color:#F87171;border-color:#EF4444}.calendar-event.event-mitigation{background:rgba(59,130,246,.12);color:#60A5FA;border-color:#3B82F6}.calendar-event.event-moisture{background:rgba(6,182,212,.12);color:#22D3EE;border-color:#06B6D4}.calendar-event.event-reconstruction{background:rgba(245,166,35,.12);color:#F5A623;border-color:#D35400}.calendar-event.event-exteriors{background:rgba(22,163,74,.12);color:#4ADE80;border-color:#16A34A}.calendar-event.event-equipment{background:rgba(168,85,247,.12);color:#C084FC;border-color:#A855F7}.calendar-event.event-other{background:rgba(107,114,128,.12);color:#9CA3AF;border-color:#6B7280}.calendar-event-assignee{margin-left:auto;padding-left:4px;opacity:.5;font-size:10px;font-weight:600;flex-shrink:0}.calendar-more{font-size:11px;color:var(--primary-color);padding:3px 6px;cursor:pointer;font-weight:600;border-radius:4px;transition:background .15s}.calendar-more:hover{background:rgba(245,166,35,.1)}.calendar-events-container{display:flex;flex-direction:column;gap:2px;margin-top:4px;flex:1;min-height:0}.calendar-event-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.multi-select-pills{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.multi-select-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:rgba(59,130,246,.15);color:#60A5FA;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.multi-select-pill-remove{cursor:pointer;font-size:14px;line-height:1;opacity:.7;margin-left:2px}.multi-select-pill-remove:hover{opacity:1}.multi-select-option{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px;color:#FAFAFA;transition:background .1s}.schedule-legend{display:flex;gap:16px;margin-bottom:24px;font-size:13px;flex-wrap:wrap}.month-label{font-size:20px;font-weight:600;color:var(--text-primary)}.employee-pay-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.employee-pay-badge.salary{background:rgba(96,165,250,.15);color:#60A5FA}.employee-pay-badge.hourly{background:rgba(52,211,153,.15);color:#34D399}.employee-rate{margin-left:8px;font-size:13px;color:var(--text-secondary)}.field-label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.field-input{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px}select.field-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23a1a1aa'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}select.field-input option{background:#131316;color:#FAFAFA}.field-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(96,165,250,.2)}.overhead-line{color:#60A5FA;font-weight:500}.cost-bar-overhead{background:linear-gradient(90deg,rgba(139,92,246,.7),rgba(139,92,246,.4))}.skeleton-card{background:var(--card-bg);border:1px solid var(--border-color);padding:20px}.skeleton-line{height:14px;background:rgba(255,255,255,.08);border-radius:4px;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-line.w-1\/3{width:33%}.skeleton-line.w-1\/2{width:50%}.skeleton-line.w-2\/3{width:66%}.skeleton-line.w-full{width:100%}.skeleton-line.h-8{height:32px}.skeleton-line.h-10{height:40px}.skeleton-line.h-24{height:96px}.field-link{color:#F5A623;text-decoration:none;transition:color .15s}.field-link:hover{color:#FFD080;text-decoration:underline}.customer-link{display:inline-flex;align-items:center;gap:4px;color:var(--primary-color);text-decoration:none;transition:color .15s}.customer-link:hover{color:var(--primary-hover,#FFD080);text-decoration:underline}.customer-link-id{color:var(--text-muted);font-size:12px}.customer-link-icon{width:13px;height:13px;opacity:.7;flex-shrink:0}.customer-link:hover .customer-link-icon{opacity:1}.header-search-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .15s}.header-search-btn:hover{background:rgba(255,255,255,.1);color:var(--text-primary);border-color:rgba(245,166,35,.3)}.header-search-btn svg{width:16px;height:16px}.header-search-kbd{font-size:11px;padding:1px 5px;background:rgba(255,255,255,.08);border-radius:4px;border:1px solid rgba(255,255,255,.1);font-family:inherit}@media (max-width:768px){.header-search-kbd,.header-search-label{display:none}.header-search-btn{padding:8px}}.search-palette-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh}.search-palette{width:100%;max-width:560px;background:#1C1C21;border:1px solid rgba(245,166,35,.2);border-radius:16px;box-shadow:0 25px 60px rgba(0,0,0,.5);overflow:hidden}.search-palette-input-wrap{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.search-palette-icon{width:20px;height:20px;fill:var(--text-muted);flex-shrink:0}.search-palette-input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:16px;font-family:inherit}.search-palette-input::-moz-placeholder{color:var(--text-muted)}.search-palette-input::placeholder{color:var(--text-muted)}.search-palette-kbd{font-size:11px;padding:2px 6px;background:rgba(255,255,255,.08);border-radius:4px;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);font-family:inherit}.search-palette-status{padding:16px 20px;color:var(--text-secondary);font-size:14px;text-align:center}.search-palette-results{max-height:400px;padding:8px}.search-palette-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:none;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;text-align:left;font-family:inherit;transition:background .1s}.search-palette-item.selected,.search-palette-item:hover{background:rgba(245,166,35,.1)}.search-palette-type{font-size:10px;font-weight:600;letter-spacing:.5px;padding:3px 6px;border-radius:4px;flex-shrink:0}.search-palette-type.job{background:rgba(59,130,246,.15);color:#60A5FA}.search-palette-type.customer{background:rgba(34,197,94,.15);color:#4ADE80}.search-palette-item-text{flex:1;min-width:0}.search-palette-item-title{font-size:14px;font-weight:500}.search-palette-item-subtitle,.search-palette-item-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-palette-item-subtitle{font-size:12px;color:var(--text-muted)}.search-palette-section-label{padding:8px 16px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.search-palette-results{max-height:420px;overflow-y:auto}@media (max-width:640px){.search-palette-overlay{padding-top:5vh;padding-left:12px;padding-right:12px}}.col-check{width:36px;text-align:center;padding:0 4px!important}.bulk-checkbox{width:16px;height:16px;cursor:pointer;accent-color:#F5A623}.bulk-action-bar{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:12px 20px;background:#1C1C21;border:1px solid rgba(245,166,35,.3);border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.5);z-index:100}.bulk-count{font-size:14px;font-weight:600;color:#F5A623;white-space:nowrap}.bulk-status-select{padding:6px 10px;background-color:var(--input-background);border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text-primary);font-size:13px}.bulk-status-select option{background:#131316;color:#FAFAFA}@media (max-width:640px){.bulk-action-bar{left:12px;right:12px;transform:none;flex-wrap:wrap}}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:10px;font-size:14px;font-weight:500;color:#fff;box-shadow:0 8px 30px rgba(0,0,0,.4);animation:toast-in .3s ease-out;pointer-events:auto}.toast-success{background:rgba(34,197,94,.9);border:1px solid rgba(34,197,94,.5)}.toast-error{background:rgba(239,68,68,.9);border:1px solid rgba(239,68,68,.5)}.toast-info{background:rgba(59,130,246,.9);border:1px solid rgba(59,130,246,.5)}.toast-icon{font-size:16px;font-weight:700}@keyframes toast-in{0%{transform:translateX(100px);opacity:0}to{transform:translateX(0);opacity:1}}@media (max-width:640px){.toast-container{top:auto;bottom:20px;left:12px;right:12px}}.nav-badge{background:#F5A623;color:#000;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:10px;justify-content:center;padding:0 6px;margin-left:auto}.nav-badge,.pipeline-item-link{display:flex;align-items:center}.pipeline-item-link{gap:10px;flex:1;min-width:0;text-decoration:none;color:inherit;padding:10px 12px;border-radius:var(--radius-sm)}.pipeline-item .pipeline-item-link+.quick-status-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.quick-status-btn{width:28px;height:28px;border-radius:6px;border:none;background:rgba(245,166,35,.15);color:#F5A623;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s;flex-shrink:0}.quick-status-btn svg{width:16px;height:16px}.pipeline-item:hover .quick-status-btn{opacity:1}.pipeline-item:hover .pipeline-item-age{opacity:0}.quick-status-btn:hover{background:rgba(245,166,35,.3)}.quick-status-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.quick-status-btn .spin{animation:spin 1s linear infinite}.customer-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px;align-items:start}.customer-info-card{padding:20px}.customer-info-card.card-contact{border:1px solid rgba(59,130,246,.3);box-shadow:0 0 12px rgba(59,130,246,.1)}.customer-info-card.card-address{border:1px solid rgba(168,85,247,.3);box-shadow:0 0 12px rgba(168,85,247,.1)}.customer-info-card.card-finance{border:1px solid rgba(22,163,74,.3);box-shadow:0 0 12px rgba(22,163,74,.1)}.card-section-title{margin:0 0 12px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.customer-info-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13px}.customer-info-icon{width:14px;height:14px;fill:var(--text-muted);flex-shrink:0}.customer-experience-card{padding:20px;border:1px solid rgba(245,166,35,.3);box-shadow:0 0 12px rgba(245,166,35,.1);margin-bottom:12px}.customer-experience-grid{display:flex;gap:2rem;flex-wrap:wrap;align-items:center}.customer-experience-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.customer-experience-value{margin-top:4px;font-size:1.25rem}.customer-experience-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.customer-experience-divider{width:1px;height:40px;background:var(--border-color)}.customer-jobs-card{margin-bottom:12px}.customer-notes-card{padding:20px;border:1px solid rgba(245,166,35,.3);box-shadow:0 0 12px rgba(245,166,35,.1)}.customer-finance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:center}.customer-finance-value{font-size:20px;font-weight:700;color:var(--text-primary)}.customer-finance-label{font-size:12px;color:var(--text-muted);margin-top:2px}@media (max-width:768px){.customer-detail-grid{grid-template-columns:1fr}}.sentiment-picker{display:flex;align-items:center;gap:4px}.sentiment-btn{background:transparent;border:2px solid transparent;border-radius:6px;cursor:pointer;font-size:1.1rem;padding:2px 4px;line-height:1;opacity:.4;transition:all .15s ease}.sentiment-btn:hover{opacity:.8;transform:scale(1.15)}.sentiment-btn.active{opacity:1;transform:scale(1.1)}.review-ask-btn,.review-pending-btn,.review-received-btn{display:inline-flex;align-items:center;gap:3px;margin-left:4px;padding:2px 8px;border-radius:10px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;border:1px solid;line-height:1.4;transition:all .15s ease}.review-ask-btn{background:rgba(245,166,35,.15);border-color:rgba(245,166,35,.4);color:#f5a623}.review-ask-btn:hover{background:rgba(245,166,35,.25)}.review-ask-btn:disabled{opacity:.5;cursor:wait}.review-pending-btn{background:rgba(96,165,250,.15);border-color:rgba(96,165,250,.4);color:#60a5fa}.review-pending-btn:hover{background:rgba(96,165,250,.25)}.review-received-btn{background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.4);color:#22c55e}.review-received-btn:hover{background:rgba(34,197,94,.25)}.calendar-event[draggable=true]{cursor:grab}.calendar-event[draggable=true]:active{cursor:grabbing}.calendar-event.dragging{opacity:.3}.calendar-day.drag-over{background:rgba(245,166,35,.08)!important;outline:2px dashed rgba(245,166,35,.5);outline-offset:-2px}.btn-secondary svg{display:inline-block}select option{background:#131316;color:#FAFAFA}@supports (padding:env(safe-area-inset-bottom)){.sidebar-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.bulk-action-bar{bottom:calc(24px + env(safe-area-inset-bottom))}.toast-container{bottom:calc(20px + env(safe-area-inset-bottom))}}@media (pointer:coarse){.btn,.btn-primary,.btn-secondary,.nav-item,.tab-btn{min-height:44px}.field-input,.form-input,.form-select,.form-textarea{min-height:44px;font-size:16px}.login-input{font-size:16px}.login-card{padding:36px 24px}.login-logo img{max-width:150px}input,select,textarea{font-size:16px}.bulk-checkbox{width:20px;height:20px}.data-table td,.data-table th,.jobs-table-new td,.jobs-table-new th{padding:12px 10px}.quick-status-btn{opacity:1;width:44px;height:44px}.header-search-btn{min-width:44px;min-height:44px}.status-select{min-height:36px;font-size:12px!important;padding:4px}.stat-card-label{font-size:11px}.pipeline-card .pipeline-label,.quick-status-btn span{font-size:9px}.action-btn,.btn-sm{min-height:36px;min-width:36px}.data-table-responsive td a[href^="mailto:"],.data-table-responsive td a[href^="tel:"]{display:inline-block;min-height:36px;line-height:36px}.age-badge{font-size:11px!important}}.collections-table-wrap,.data-table-wrap,.jobs-table-container,.partners-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:1024px) and (min-width:769px){.stats-grid{gap:10px}.stat-card{padding:14px}.stat-card-value{font-size:22px}.stat-card-breakdown{gap:8px}.stat-card-breakdown span{font-size:11px}.jobs-pipeline-grid{grid-template-columns:repeat(4,1fr);gap:8px}.jobs-pipeline-card{padding:10px 8px}.jobs-pipeline-count{font-size:18px}.job-detail-grid{grid-template-columns:repeat(2,1fr);gap:16px}.job-detail-notes-row{grid-template-columns:1fr 1fr}.customer-detail-grid{grid-template-columns:repeat(2,1fr)}.calendar-day{min-height:80px}}@media (max-width:768px){.stats-grid{gap:8px}.stats-grid,.stats-grid-3{grid-template-columns:repeat(2,1fr)}.stats-grid-3 .stat-card:last-child{grid-column:span 2}.stats-grid-4,.stats-grid-5,.stats-grid-6{grid-template-columns:repeat(3,1fr)}.stat-card{padding:12px}.stat-card-value{font-size:20px}.stat-card-icon{width:34px;height:34px}.stat-card-icon svg{width:16px;height:16px}.jobs-pipeline-grid{grid-template-columns:repeat(4,1fr);gap:6px}.jobs-pipeline-card{padding:8px 6px;flex-direction:column;align-items:center;text-align:center}.jobs-pipeline-icon{display:none}.jobs-pipeline-count{font-size:16px}.jobs-pipeline-label{font-size:9px}.jobs-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -12px;padding:0 12px}.data-table,.jobs-table-new{min-width:500px}.page-content{padding:10px;padding-top:calc(var(--header-height) + 10px)}.header{left:0;padding:0 12px}.header-title{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.header-date{font-size:11px;white-space:nowrap}.header-search-kbd,.header-search-label,.header-weather,.header-weather-wrap{display:none}.header-search-btn{padding:8px}.mobile-menu-btn{display:flex}.job-detail-grid{grid-template-columns:1fr;gap:12px}.job-detail-notes-row{grid-template-columns:1fr;margin-top:12px}.job-detail-grid-2{grid-template-columns:1fr;gap:12px}.job-detail-actions,.job-detail-header{flex-wrap:wrap;gap:8px}.job-detail-actions{width:100%;justify-content:flex-start}.job-detail-actions .btn{flex:1;min-width:0;text-align:center;justify-content:center}.job-detail-id{font-size:18px}.job-detail-summary-bar{flex-wrap:wrap;gap:8px}.job-detail-card{padding:12px}.job-detail-field{flex-direction:column;gap:1px}.job-detail-field-label{min-width:unset}.customer-detail-grid{grid-template-columns:1fr;gap:12px}.customer-finance-grid{grid-template-columns:repeat(3,1fr);gap:8px}.customer-finance-value{font-size:16px}.modal-overlay{padding:8px;align-items:flex-end}.modal-content{max-width:560px;max-height:85vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:0 auto}.modal-body{padding:16px}.calendar-day{min-height:60px;padding:4px}.calendar-day-number{font-size:12px}.calendar-event{font-size:10px;padding:2px 4px}.calendar-header-day{font-size:11px;padding:8px 2px}.page-header{flex-direction:column;align-items:stretch;gap:10px}.page-header>div{flex-wrap:wrap;gap:8px}.week-schedule-legend{flex-wrap:wrap;gap:6px;justify-content:flex-start}.week-schedule-legend .legend-item{font-size:11px}.week-schedule{overflow-x:auto;-webkit-overflow-scrolling:touch}.week-day{min-width:90px}.search-palette-overlay{padding-top:5vh;padding-left:8px;padding-right:8px}.search-palette{max-width:100%}.jobs-toolbar-simple{flex-direction:column;gap:10px}.search-box-simple,.toolbar-left,.toolbar-right{width:100%}.toolbar-right{flex-wrap:wrap;gap:8px}.pipeline-grid{grid-template-columns:1fr;gap:12px}.pipeline-column{max-height:300px}.equipment-deployed{grid-template-columns:1fr}.collections-toolbar{flex-direction:column;align-items:stretch}.collections-toolbar .toolbar-left{max-width:none}.card-header,.collections-toolbar .toolbar-right{flex-wrap:wrap}.card-header{gap:8px}.btn{padding:10px 14px;font-size:13px}.toast-container{top:auto;bottom:20px;left:12px;right:12px}.bulk-action-bar{left:12px;right:12px;transform:none;flex-wrap:wrap;bottom:20px;padding:10px 16px}}@media (max-width:480px){.stats-grid,.stats-grid-3,.stats-grid-4,.stats-grid-5,.stats-grid-6{grid-template-columns:1fr 1fr;gap:8px}.stats-grid-3 .stat-card:last-child{grid-column:span 1}.stat-card-breakdown{display:none}.stat-card-value{font-size:22px}.stat-card-icon{width:32px;height:32px}.stat-card-icon svg{width:16px;height:16px}.header{height:52px;padding:0 10px}.header-title{font-size:14px;max-width:120px}.header-date{font-size:10px}:root{--header-height:52px}.page-content{padding:8px;padding-top:calc(var(--header-height) + 8px)}.jobs-pipeline-grid{grid-template-columns:repeat(4,1fr);gap:4px}.jobs-pipeline-card{padding:6px 4px}.jobs-pipeline-count{font-size:14px}.jobs-pipeline-label{font-size:8px}.job-detail-actions .btn{font-size:12px;padding:8px 10px}.job-detail-id{font-size:16px}.customer-finance-grid{grid-template-columns:repeat(3,1fr);gap:4px}.customer-finance-value{font-size:14px}.customer-finance-label{font-size:10px}.calendar-grid{border-radius:var(--radius-sm);grid-auto-rows:minmax(55px,1fr)}.calendar-weekday{padding:6px 2px;font-size:10px;letter-spacing:0}.calendar-day{padding:2px}.calendar-day-number{font-size:11px;padding:1px 4px}.calendar-grid .calendar-event{width:8px;height:8px;min-width:8px;border-radius:50%;padding:0;border-left:none;font-size:0;line-height:0;overflow:hidden;margin:0;display:inline-block}.calendar-grid .calendar-event.event-inspection{background:#EF4444;border-color:transparent}.calendar-grid .calendar-event.event-mitigation{background:#3B82F6;border-color:transparent}.calendar-grid .calendar-event.event-moisture{background:#06B6D4;border-color:transparent}.calendar-grid .calendar-event.event-reconstruction{background:#D35400;border-color:transparent}.calendar-grid .calendar-event.event-exteriors{background:#16A34A;border-color:transparent}.calendar-grid .calendar-event.event-equipment{background:#A855F7;border-color:transparent}.calendar-grid .calendar-event.event-other{background:#6B7280;border-color:transparent}.calendar-grid .calendar-event:hover{transform:scale(1.3);opacity:1}.calendar-grid .calendar-event,.calendar-grid .calendar-more{pointer-events:none}.calendar-grid .calendar-event-assignee,.calendar-grid .calendar-event-text,.calendar-grid .calendar-event-time{display:none}.calendar-grid .calendar-events-container{flex-direction:row;flex-wrap:wrap;gap:3px;margin-top:3px;align-items:flex-start}.calendar-more{font-size:8px;padding:0 2px;line-height:10px}.calendar-header-day{font-size:10px;padding:6px 2px}.week-schedule-legend{gap:4px}.week-schedule-legend .legend-item{font-size:10px;padding:3px 6px;gap:4px}.legend-dot{width:6px;height:6px}.month-label{font-size:15px}.calendar-nav{padding:2px}.calendar-today-btn{padding:4px 8px;font-size:12px}.page-title{font-size:18px}.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-height:92vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.activity-item{padding:10px 12px}.tab-bar{width:100%}.tab-btn{padding:8px 14px;font-size:13px}.dashboard-page{gap:10px}.data-table td,.data-table th{padding:10px 6px;font-size:12px}.data-table .id-badge{font-size:10px;max-width:70px;overflow:hidden;text-overflow:ellipsis}.add-member-form div[style*=grid-template-columns]{grid-template-columns:1fr!important}.card span[style*="minWidth: 220"]{min-width:auto!important;font-size:13px!important}}@media (max-width:375px){.header-title{font-size:13px;max-width:100px}.page-content{padding:6px;padding-top:calc(var(--header-height) + 6px)}.stat-card{padding:10px}.stat-card-value{font-size:20px}.stat-card-label{font-size:10px}.jobs-pipeline-grid{grid-template-columns:repeat(4,1fr);gap:3px}.jobs-pipeline-count{font-size:13px}.jobs-pipeline-label{font-size:7px}.calendar-grid{grid-auto-rows:minmax(42px,1fr)}.calendar-grid .calendar-event{width:6px;height:6px;min-width:6px}.calendar-grid .calendar-events-container{gap:2px;margin-top:2px}.calendar-grid .calendar-more{font-size:7px}.calendar-header-day{font-size:9px}}@media (max-height:500px) and (orientation:landscape){.header{height:44px}:root{--header-height:44px}.page-content{padding-top:calc(44px + 8px)}.sidebar-wrapper.open .sidebar{max-height:100vh;overflow-y:auto}.modal-content{max-height:90vh}.modal-overlay{align-items:center}}@media (min-width:320px) and (max-width:507px) and (min-height:700px){.stats-grid,.stats-grid-3,.stats-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.data-table-responsive thead{display:none}.data-table-responsive tbody tr{display:block;margin-bottom:12px;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px 14px}.data-table-responsive tbody tr,.data-table-responsive tbody tr:nth-child(2n){background:var(--card-background)}.data-table-responsive tbody tr:hover{background:var(--card-hover)}.data-table-responsive td{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border:none;border-bottom:1px solid var(--border-subtle)}.data-table-responsive td:last-child{border-bottom:none}.data-table-responsive td:before{content:attr(data-label);font-weight:600;font-size:12px;color:var(--text-secondary);margin-right:12px;flex-shrink:0}.data-table-responsive td:empty:before{display:none}.data-table-responsive{min-width:0!important}.data-table-responsive .col-check,.data-table-responsive td:not([data-label]){display:none}.timesheet-grid-wrapper{overflow-x:visible!important}.timesheet-grid-wrapper .data-table{min-width:0!important}.timesheet-grid-wrapper tfoot,.timesheet-grid-wrapper thead{display:none}.timesheet-grid-wrapper tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--bg-card)}.timesheet-grid-wrapper tbody tr:nth-child(2n){background:var(--bg-card)}.timesheet-grid-wrapper .ts-job-cell{grid-column:1/-1;border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:4px}.timesheet-grid-wrapper .ts-day-cell{display:flex;align-items:center;justify-content:space-between;padding:2px 0;border:none}.timesheet-grid-wrapper .ts-day-cell:before{content:attr(data-label);font-weight:600;color:var(--text-secondary);font-size:13px}.timesheet-grid-wrapper .ts-day-cell .field-input{width:56px!important}.timesheet-grid-wrapper .ts-total-cell{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:8px;margin-top:4px;font-weight:700}.timesheet-grid-wrapper tbody tr:only-child{display:block}.timesheet-mobile-total{display:flex!important;justify-content:space-between;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-top:12px;font-weight:700}}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.15}}.skeleton{border-radius:var(--radius-sm)}.skeleton,.skeleton-text{background:rgba(255,255,255,.08);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-text{height:14px;margin-bottom:8px;border-radius:var(--radius-xs)}.skeleton-card{height:80px;background:rgba(255,255,255,.05);border-radius:var(--radius-md);border:1px solid var(--border-subtle);animation:skeleton-pulse 1.5s ease-in-out infinite}.view-toggle{display:flex;background:var(--input-background);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.view-toggle-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:500;transition:all var(--transition-fast);white-space:nowrap}.view-toggle-btn svg{width:16px;height:16px;fill:currentColor;flex-shrink:0}.view-toggle-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.view-toggle-btn.active{color:var(--primary-color);background:var(--primary-light)}.kanban-board{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 16px;min-height:400px;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.kanban-board::-webkit-scrollbar{height:6px}.kanban-board::-webkit-scrollbar-track{background:transparent}.kanban-board::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.kanban-column{flex:0 0 240px;min-width:240px;max-height:calc(100vh - 380px);display:flex;flex-direction:column;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.kanban-column.drag-over{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color),0 0 20px rgba(245,166,35,.15)}.kanban-column-header{padding:12px 14px;border-bottom:1px solid var(--border-color);flex-shrink:0}.kanban-column-header-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.kanban-column-title{font-size:13px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.kanban-column-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kanban-column-count{font-size:11px;font-weight:600;color:var(--text-muted);background:var(--input-background);padding:1px 7px;border-radius:10px;min-width:22px;text-align:center}.kanban-column-value{font-size:11px;color:var(--text-muted);font-weight:500}.kanban-column[data-status=Lead] .kanban-column-dot{background:#6B7280}.kanban-column[data-status=Estimate] .kanban-column-dot{background:#F5A623}.kanban-column[data-status=Approved] .kanban-column-dot{background:#3B82F6}.kanban-column[data-status="In Progress"] .kanban-column-dot{background:#8B5CF6}.kanban-column[data-status=Complete] .kanban-column-dot{background:#22C55E}.kanban-column[data-status=Invoiced] .kanban-column-dot{background:#D35400}.kanban-column[data-status=Paid] .kanban-column-dot{background:#10B981}.kanban-column[data-status=Closed] .kanban-column-dot{background:#64748B}.kanban-column-body{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;min-height:60px}.kanban-column-body::-webkit-scrollbar{width:4px}.kanban-column-body::-webkit-scrollbar-track{background:transparent}.kanban-column-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.kanban-column-empty{display:flex;align-items:center;justify-content:center;padding:24px 12px;color:var(--text-disabled);font-size:12px;font-style:italic}.kanban-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:6px;cursor:grab;transition:all var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none}.kanban-card:hover{background:var(--bg-hover);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.kanban-card:active{cursor:grabbing}.kanban-card.dragging{opacity:.5;transform:scale(.97);box-shadow:var(--shadow-md)}.kanban-card-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}.kanban-card-type-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kanban-card-type-dot.type-mitigation{background:#3B82F6}.kanban-card-type-dot.type-reconstruction{background:#D35400}.kanban-card-type-dot.type-exteriors{background:#16A34A}.kanban-card-type-dot.type-default{background:#6B7280}.kanban-card-customer{font-size:13px;font-weight:600;color:var(--text-primary);flex:1;min-width:0}.kanban-card-address,.kanban-card-customer{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-card-address{font-size:12px;color:var(--text-muted);text-transform:uppercase}.kanban-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.kanban-card-id{font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,Fira Code,monospace}.kanban-card-age{font-size:11px;font-weight:500;padding:1px 6px;border-radius:8px}.kanban-card-age.age-fresh{color:#22C55E;background:rgba(34,197,94,.12)}.kanban-card-age.age-aging{color:#EAB308;background:rgba(234,179,8,.12)}.kanban-card-age.age-stale{color:#EF4444;background:rgba(239,68,68,.12)}.kanban-card-amount{font-size:12px;font-weight:600;color:var(--text-secondary);margin-top:6px;text-align:right}.kanban-card-amount.has-value{color:var(--success-color)}@media (max-width:768px){.kanban-board{gap:8px;padding:4px 0 12px}.kanban-column{flex:0 0 200px;min-width:200px;max-height:calc(100vh - 340px)}.kanban-column-header{padding:10px 12px}.kanban-card{padding:8px 10px}.kanban-card-customer{font-size:12px}.view-toggle-btn span{display:none}}@media print{.bulk-action-bar,.header,.kanban-board,.mobile-menu-btn,.mobile-overlay,.sidebar-wrapper,.toast-container,.view-toggle{display:none!important}.page-content{padding-top:0}.app-container{display:block}}.activity-feed-card{margin-top:12px}.activity-feed-header-icon{width:36px;height:36px;border-radius:8px;background:rgba(245,166,35,.12);display:flex;align-items:center;justify-content:center;color:var(--primary-color);flex-shrink:0}.activity-feed-header-icon svg{width:20px;height:20px}.activity-feed-view-all{font-size:12px;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color .15s ease}.activity-feed-view-all:hover{color:var(--primary-color)}.activity-feed-body{padding:16px 20px}.activity-feed{display:flex;flex-direction:column}.activity-feed-item{display:flex;gap:12px;align-items:flex-start;min-height:38px}.activity-feed-track{flex-direction:column}.activity-feed-icon,.activity-feed-track{display:flex;align-items:center;flex-shrink:0;width:28px}.activity-feed-icon{height:28px;border-radius:50%;justify-content:center}.activity-feed-line{width:1px;flex:1;min-height:10px;background:rgba(255,255,255,.08);margin-top:4px;margin-bottom:4px}.activity-feed-content{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;min-width:0}.activity-feed-item-last .activity-feed-content{padding-bottom:0}.activity-feed-description{font-size:13px;color:var(--text-primary);text-decoration:none;line-height:1.4;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s ease}.activity-feed-description:hover{color:var(--primary-color)}.activity-feed-time{font-size:11px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.activity-feed-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 0;color:var(--text-disabled);font-size:13px}@media (max-width:480px){.activity-feed-content{flex-direction:column;align-items:flex-start;gap:2px}.activity-feed-description{white-space:normal}}.signing-page{min-height:100vh;background:#f8f9fa;display:flex;justify-content:center;padding:24px 16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#333}.signing-container{width:100%;max-width:600px;background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:32px 28px;height:-moz-fit-content;height:fit-content}.signing-logo{text-align:center;margin-bottom:16px}.signing-logo img{border-radius:8px}.signing-title{text-align:center;font-size:22px;font-weight:700;color:#1a1a2e;margin:0 0 4px}.signing-subtitle{text-align:center;font-size:14px;color:#666;margin:0 0 20px}.signing-details{background:#f8f9fa;border-radius:8px;padding:16px;margin-bottom:20px}.signing-detail-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #eee;font-size:14px}.signing-detail-row:last-child{border-bottom:none}.signing-detail-label{color:#666;font-weight:500;flex-shrink:0;min-width:80px}.signing-detail-value{color:#1a1a2e;font-weight:600;text-align:right;max-width:65%;word-break:break-word}.signing-body{font-size:13px;line-height:1.7;color:#444;margin-bottom:20px;padding:16px;background:#fafafa;border-left:3px solid #f5a623;border-radius:4px}.signing-body p{margin:0 0 10px}.signing-body p:last-child{margin-bottom:0}.signing-payee{text-align:center;font-size:16px!important;font-weight:700;color:#1a1a2e;padding:8px 0}.signing-sig-section{margin-bottom:16px}.signing-sig-label{display:block;font-size:13px;font-weight:600;color:#444;margin-bottom:6px}.signing-canvas-wrap{border:2px solid #d1d5db;border-radius:10px;overflow:hidden;background:#fff;touch-action:none;box-shadow:inset 0 1px 3px rgba(0,0,0,.06);transition:border-color .2s}.signing-canvas-wrap:focus-within,.signing-canvas-wrap:hover{border-color:#F5A623}.signing-canvas-wrap canvas{display:block;cursor:crosshair}.signing-clear-btn{margin-top:6px;background:none;border:none;color:#666;font-size:13px;cursor:pointer;text-decoration:underline;padding:2px 0}.signing-clear-btn:hover{color:#EF4444}.signing-mode-tabs{display:flex;gap:0;margin-bottom:8px;border:2px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#f3f4f6}.signing-mode-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:none;background:transparent;font-size:14px;font-weight:600;color:#888;cursor:pointer;transition:all .2s}.signing-mode-tab.active{background:#fff;color:#1a1a2e;box-shadow:0 1px 3px rgba(0,0,0,.1)}.signing-mode-tab:hover:not(.active){color:#555}.signing-type-preview{border:2px solid #d1d5db;border-radius:10px;background:#fff;padding:24px 20px;min-height:100px;display:flex;align-items:center;box-shadow:inset 0 1px 3px rgba(0,0,0,.06);transition:border-color .2s}.signing-type-preview:hover{border-color:#F5A623}.signing-type-signature{font-size:42px;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.signing-font-picker{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;margin-bottom:8px}.signing-font-option{padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;font-size:22px;color:#1a1a2e;cursor:pointer;transition:all .2s;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:50px;display:flex;align-items:center;justify-content:center}.signing-font-option.active{border-color:#F5A623;background:#FFF8ED}.signing-font-option:hover:not(.active){border-color:#ccc}.signing-powered{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;font-size:11px;color:#999}.signing-field{margin-bottom:16px}.signing-field-label{display:block;font-size:13px;font-weight:600;color:#444;margin-bottom:6px}.signing-input{width:100%;padding:10px 12px;border:2px solid #ddd;border-radius:8px;font-size:15px;color:#1a1a2e;background:#fff;outline:none;transition:border-color .2s;box-sizing:border-box}.signing-input:focus{border-color:#F5A623}.signing-agree{display:flex;gap:10px;align-items:flex-start;margin-bottom:16px;cursor:pointer;font-size:13px;color:#555;line-height:1.5}.signing-agree input[type=checkbox]{margin-top:3px;width:18px;height:18px;flex-shrink:0;accent-color:#F5A623}.signing-error{background:#FEF2F2;color:#DC2626;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;text-align:center}.signing-submit{width:100%;padding:14px;background:#F5A623;color:#fff;font-size:16px;font-weight:700;border:none;border-radius:10px;cursor:pointer;transition:background .2s,opacity .2s}.signing-submit:hover:not(:disabled){background:#e09515}.signing-submit:disabled{opacity:.5;cursor:not-allowed}.signing-success{text-align:center;padding:32px 0}.signing-success svg{margin:0 auto 16px}.signing-success p{font-size:18px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.signing-success-sub{font-size:14px!important;font-weight:400!important;color:#666!important;line-height:1.6}.signing-footer{text-align:center;font-size:11px;color:#999;margin-top:20px;padding-top:16px;border-top:1px solid #eee}.dtp-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap;line-height:1}.dtp-badge-pending{background:rgba(245,166,35,.12);color:#F5A623;border:1px solid rgba(245,166,35,.25)}.dtp-badge-viewed{background:rgba(59,130,246,.12);color:#3B82F6;border:1px solid rgba(59,130,246,.25)}.dtp-badge-signed{background:rgba(34,197,94,.12);color:#22C55E;border:1px solid rgba(34,197,94,.25)}.dtp-badge-expired{background:rgba(239,68,68,.12);color:#EF4444;border:1px solid rgba(239,68,68,.25)}.dtp-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--surface-elevated,#2a2a3e);border:1px solid var(--border,#3a3a4e);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.3);z-index:100;min-width:220px;overflow:hidden;padding:4px 0}.dtp-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;background:none;border:none;font-size:13px;cursor:pointer;text-align:left;transition:background .1s}.dtp-dropdown-item:hover{background:rgba(255,255,255,.05)}.dtp-dropdown-divider{height:1px;background:var(--border,#3a3a4e);margin:4px 0}.hover\:bg-white\/10:hover{background-color:rgb(255 255 255/.1)}.hover\:bg-white\/5:hover{background-color:rgb(255 255 255/.05)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.focus\:border-\[\#F5A623\]:focus{--tw-border-opacity:1;border-color:rgb(245 166 35/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\:opacity-50:disabled{opacity:.5}