@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/lexend-latin-wght-normal-ci0D1wrL.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/lexend-latin-ext-wght-normal-B6JQhE1e.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/lexend-vietnamese-wght-normal-RvljkFvg.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/roboto-mono-latin-wght-normal-CZtBPCCa.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/roboto-mono-latin-ext-wght-normal-QAYlOegK.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/roboto-mono-vietnamese-wght-normal-DlC-zuDL.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/roboto-mono-greek-wght-normal-BJJTbwTT.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/roboto-mono-cyrillic-wght-normal-HUlVHixE.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/roboto-mono-cyrillic-ext-wght-normal-BUDPrIko.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}:root{--bg-base: #F8FAFC;--bg-default: var(--bg-base);--bg-surface: #ffffff;--bg-elevated: #ffffff;--bg-hover: rgba(0, 0, 0, .05);--bg-active: rgba(0, 0, 0, .08);--bg-canvas: color-mix(in srgb, var(--text-primary) 4%, var(--bg-base));--surface-page: var(--bg-base);--surface-card: var(--bg-surface);--surface-elevated: var(--bg-elevated);--surface-hover: var(--bg-hover);--surface-active: var(--bg-active);--app-bg: var(--bg-surface);--content-bg: var(--bg-base);--card-bg: var(--bg-surface);--card-hover: var(--bg-elevated);--background: var(--bg-base);--background-secondary: var(--bg-elevated);--border-subtle: #F1F5F9;--border-default: #E5E7EB;--border-strong: #D1D5DB;--border-focus: var(--accent);--border: var(--border-default);--border-medium: var(--border-strong);--border-dark: var(--border-strong);--divider: var(--border-subtle);--text-primary: #111827;--text-secondary: #6B7280;--text-muted: #9CA3AF;--text-tertiary: rgba(17, 24, 39, .6);--content-primary: var(--text-primary);--content-secondary: var(--text-secondary);--content-muted: var(--text-muted);--content-on-accent: var(--text-on-accent);--text-inverse: #ffffff;--text-on-accent: #ffffff;--btn-secondary-bg: #000000;--btn-secondary-text: #ffffff;--overlay-bg: rgba(0, 0, 0, .5);--sidebar-bg: #1F2937;--sidebar-text: #ffffff;--accent: #EF4444;--accent-ink: var(--text-primary);--accent-fg: var(--accent-ink);--link-color: var(--accent-ink);--accent-hover: #DC2626;--accent-light: rgba(239, 68, 68, .1);--focus-ring: color-mix(in srgb, var(--accent) 50%, transparent);--accent-blue: #3b82f6;--accent-blue-hover: #2563eb;--cta-invoice-bg: #2563eb;--cta-invoice-bg-hover: #1d4ed8;--cta-invoice-fg: #ffffff;--accent-green: #10b981;--accent-amber: #f59e0b;--accent-red: #ef4444;--accent-purple: #8b5cf6;--accent-indigo: #6366f1;--accent-pink: #ec4899;--accent-rose: #f43f5e;--accent-orange: #f97316;--accent-teal: #14b8a6;--accent-cyan: #06b6d4;--accent-sky: #0ea5e9;--accent-slate: #64748b;--action-primary: #0F2637;--action-primary-hover: #1a3347;--action-primary-text: #ffffff;--action-approve: #15803D;--action-approve-hover: #166534;--action-approve-text: #ffffff;--action-danger: #B91C1C;--action-danger-hover: #991B1B;--action-danger-text: #ffffff;--selection-bg: var(--action-primary);--selection-text: var(--action-primary-text);--color-primary: var(--accent);--color-success: var(--accent-green);--color-warning: var(--accent-amber);--color-error: var(--accent-red);--primary: var(--accent);--primary-hover: var(--accent-hover);--accent-primary: var(--accent);--success: var(--accent-green);--warning: var(--accent-amber);--danger: var(--accent-red);--accent-foreground: var(--text-on-accent);--status-success-bg: rgba(16, 185, 129, .12);--status-warning-bg: rgba(245, 158, 11, .12);--status-error-bg: rgba(239, 68, 68, .12);--status-info-bg: rgba(59, 130, 246, .12);--status-active-bg: rgba(59, 130, 246, .08);--status-active-border: var(--accent-blue);--success-bg: var(--status-success-bg);--warning-bg: var(--status-warning-bg);--danger-bg: var(--status-error-bg);--quote-accept-bg: #dcfce7;--quote-accept-text: #166534;--quote-accept-bg-hover: #bbf7d0;--quote-accept-text-hover: #14532d;--quote-decline-bg: #fee2e2;--quote-decline-text: #b91c1c;--quote-decline-bg-hover: #fecaca;--quote-decline-text-hover: #991b1b;--product-type-chooser-icon: var(--accent);--header-bg: var(--accent);--header-text: #111827;--sidebar-foreground: var(--sidebar-text);--shell-border: var(--border-default);--shell-shadow: var(--shadow-md);--font-ui: "Lexend", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans: var(--font-ui);--font-body: var(--font-ui);--font-display: var(--font-ui);--font-mono: "Roboto Mono", ui-monospace, "SFMono-Regular", "Menlo", monospace;--font-win98: "Tahoma", "MS Sans Serif", "Segoe UI", system-ui, sans-serif;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.625rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.6;--tracking-tight: -.025em;--tracking-display: -.02em;--tracking-normal: 0;--tracking-wide: .06em;--tracking-widest: .08em;--type-kicker-font: var(--font-ui);--type-kicker-size: var(--text-xs);--type-kicker-weight: var(--font-weight-semibold);--type-kicker-leading: var(--leading-snug);--type-kicker-tracking: var(--tracking-wide);--type-page-title-font: var(--font-display);--type-page-title-size: var(--text-3xl);--type-page-title-weight: var(--font-weight-bold);--type-page-title-leading: var(--leading-tight);--type-page-title-tracking: var(--tracking-tight);--type-section-title-font: var(--font-display);--type-section-title-size: var(--text-lg);--type-section-title-weight: var(--font-weight-semibold);--type-section-title-leading: var(--leading-snug);--type-section-title-tracking: var(--tracking-normal);--type-card-title-font: var(--font-display);--type-card-title-size: var(--text-md);--type-card-title-weight: var(--font-weight-semibold);--type-card-title-leading: var(--leading-snug);--type-body-font: var(--font-ui);--type-body-size: var(--text-md);--type-body-weight: var(--font-weight-normal);--type-body-leading: var(--leading-relaxed);--type-body-sm-size: var(--text-sm);--type-lede-size: var(--text-sm);--type-lede-weight: var(--font-weight-normal);--type-lede-leading: var(--leading-relaxed);--type-label-font: var(--font-ui);--type-label-size: var(--text-sm);--type-label-weight: var(--font-weight-semibold);--type-label-leading: var(--leading-snug);--type-caption-font: var(--font-ui);--type-caption-size: var(--text-xs);--type-caption-weight: var(--font-weight-normal);--type-caption-leading: var(--leading-snug);--type-data-font: var(--font-mono);--type-data-size: var(--text-sm);--type-data-weight: var(--font-weight-medium);--type-shell-title-font: var(--font-display);--type-shell-title-size: 1.0625rem;--type-shell-title-weight: var(--font-weight-bold);--type-shell-title-leading: var(--leading-tight);--type-shell-title-tracking: var(--tracking-tight);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--layout-page-padding: 24px;--layout-page-padding-mobile: 16px;--layout-card-padding: 16px;--layout-card-padding-lg: 20px;--layout-stack-sm: 12px;--layout-stack-md: 16px;--layout-stack-lg: 24px;--layout-control-gap: 12px;--layout-control-gap-lg: 16px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--radius-xs: var(--radius-sm);--shadow-sm: 0 1px 2px rgba(15, 38, 55, .06), 0 1px 3px rgba(15, 38, 55, .04);--shadow-md: 0 1px 2px rgba(15, 38, 55, .06), 0 8px 24px rgba(15, 38, 55, .08);--shadow-lg: 0 2px 4px rgba(15, 38, 55, .06), 0 16px 48px rgba(15, 38, 55, .12);--shadow-blue: 0 8px 32px -8px rgba(59, 130, 246, .28);--shadow-green: 0 8px 32px -8px rgba(16, 185, 129, .3);--shadow-red: 0 8px 32px -8px rgba(239, 68, 68, .3);--shadow-xl: 0 4px 8px rgba(15, 38, 55, .08), 0 24px 64px rgba(15, 38, 55, .14);--transition-fast: .15s ease;--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--animation-collapse: .3s cubic-bezier(.4, 0, .2, 1);--animation-hover: .15s ease-out;--ease-out-strong: cubic-bezier(.23, 1, .32, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--duration-press: .16s;--duration-ui: .2s;--duration-dropdown: .24s;--duration-modal: .26s;--duration-modal-exit: .18s;--duration-sheet: .38s;--duration-toast: .22s;--motion-press: var(--duration-press) var(--ease-out-strong);--motion-ui: var(--duration-ui) var(--ease-out-strong);--motion-dropdown: var(--duration-dropdown) var(--ease-out-strong);--motion-modal: var(--duration-modal) var(--ease-out-strong);--motion-sheet: var(--duration-sheet) var(--ease-drawer);--motion-toast: var(--duration-toast) var(--ease-out-strong);--animation-stagger: 50ms;--spring-stiffness: 300;--spring-damping: 30;--app-top-chrome-bottom: calc(var(--obprint-update-bar-offset, 0px) + var(--stb-height, 52px));--obprint-mob-tab-h: calc(64px + env(safe-area-inset-bottom, 0px)) ;--obprint-mob-fab-size: 52px;--obprint-mob-fab-gap: 10px;--obprint-mob-fab-right: calc(16px + env(safe-area-inset-right, 0px)) ;--obprint-mob-fab-bottom-0: calc(20px + var(--obprint-mob-tab-h));--obprint-mob-fab-bottom-1: calc(var(--obprint-mob-fab-bottom-0) + var(--obprint-mob-fab-size) + var(--obprint-mob-fab-gap));--obprint-mob-fab-bottom-2: calc(var(--obprint-mob-fab-bottom-1) + var(--obprint-mob-fab-size) + var(--obprint-mob-fab-gap));--sidebar-width-expanded: 192px;--sidebar-width-collapsed: 68px;--app-header-height: 76px;--z-base: 1;--z-header: 100;--z-sidebar: 200;--z-dropdown: 600;--z-overlay: 900;--z-modal: 1000;--z-work-order-overlay: 10000;--z-above-work-order: 10051;--z-above-work-order-dialog: 10500;--z-ob5-task-wizard: 10200;--z-confirm-modal: 1200001;--z-toast: 15000000;--z-tooltip: 1200;--sched-brand-primary: #ffc233;--sched-brand-primary-hover: #ffd55c;--sched-brand-primary-active: #e5a82e;--sched-brand-on-primary: #1a1a1a;--sched-flavor-wrap: #2e7cf6;--sched-flavor-wrap-light: color-mix(in srgb, var(--sched-flavor-wrap) 10%, transparent);--sched-flavor-wrap-dark: #1e5bc4;--sched-flavor-window-film-auto: #00c4b4;--sched-flavor-window-film-auto-light: color-mix(in srgb, var(--sched-flavor-window-film-auto) 10%, transparent);--sched-flavor-window-film-auto-dark: #009688;--sched-flavor-window-film-home: #8b5cf6;--sched-flavor-window-film-home-light: color-mix(in srgb, var(--sched-flavor-window-film-home) 10%, transparent);--sched-flavor-window-film-home-dark: #6e3fd9;--sched-flavor-signage: #ff7a4d;--sched-flavor-signage-light: color-mix(in srgb, var(--sched-flavor-signage) 10%, transparent);--sched-flavor-signage-dark: #e55a2b;--sched-flavor-channel-letters: #f97316;--sched-flavor-channel-letters-light: color-mix(in srgb, var(--sched-flavor-channel-letters) 12%, transparent);--sched-flavor-channel-letters-dark: #c2410c;--sched-flavor-raceway: #64748b;--sched-flavor-raceway-light: color-mix(in srgb, var(--sched-flavor-raceway) 12%, transparent);--sched-flavor-raceway-dark: #475569;--sched-flavor-electrical: #eab308;--sched-flavor-electrical-light: color-mix(in srgb, var(--sched-flavor-electrical) 14%, transparent);--sched-flavor-electrical-dark: #a16207;--sched-flavor-monument: #8b5cf6;--sched-flavor-monument-light: color-mix(in srgb, var(--sched-flavor-monument) 12%, transparent);--sched-flavor-monument-dark: #6d28d9;--sched-flavor-decals: #14b8a6;--sched-flavor-decals-light: color-mix(in srgb, var(--sched-flavor-decals) 12%, transparent);--sched-flavor-decals-dark: #0f766e;--sched-flavor-cabinet-sign: #ef4444;--sched-flavor-cabinet-sign-light: color-mix(in srgb, var(--sched-flavor-cabinet-sign) 10%, transparent);--sched-flavor-cabinet-sign-dark: #b91c1c;--sched-status-scheduled: #ffc233;--sched-status-scheduled-text: #1a1a1a;--sched-status-in-progress: #2e7cf6;--sched-status-in-progress-text: #ffffff;--sched-status-completed: #00d26a;--sched-status-completed-text: #1a1a1a;--sched-status-cancelled: #6e6e78;--sched-status-cancelled-text: #f5f5f7;--sched-status-rescheduled: #b266ff;--sched-status-rescheduled-text: #1a1a1a;--sched-weather-good: #00d26a;--sched-weather-caution: #ffa02e;--sched-weather-poor: #ff4d4d;--sched-bg-app: #f7f7f9;--sched-bg-surface: #ffffff;--sched-bg-surface-2: #ffffff;--sched-bg-surface-3: #f0f0f4;--sched-bg-input: #ffffff;--sched-border-subtle: #e5e5ea;--sched-border-strong: #c7c7cc;--sched-border-focus: #e5a82e;--sched-text-primary: #1a1a1a;--sched-text-secondary: #595961;--sched-text-tertiary: #8e8e93;--sched-text-on-color: #1a1a1a;--sched-focus-ring: color-mix(in srgb, var(--sched-brand-primary) 40%, transparent);--sched-shadow-lift: 0 4px 12px rgba(0, 0, 0, .2);--sched-shadow-modal: 0 20px 60px rgba(0, 0, 0, .4);--sched-day-of-install-glow: 0 0 0 1px var(--sched-brand-primary), 0 8px 32px rgba(255, 194, 51, .1);--sched-ease-out-snappy: cubic-bezier(.16, 1, .3, 1);--sched-ease-out-exit: cubic-bezier(.7, 0, .84, 0);--sched-duration-micro: .12s;--sched-duration-standard: .2s;--sched-duration-slow: .28s;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--color-bg-page: var(--bg-base);--color-bg-card: var(--bg-surface);--color-bg-input: var(--bg-elevated);--color-bg-dark: #1F2937;--color-bg-dark-hover: #374151;--color-bg-surface: var(--bg-surface);--color-accent: var(--accent);--color-accent-hover: var(--accent-hover);--color-accent-text: var(--text-on-accent);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--color-text-disabled: var(--text-muted);--color-text-on-dark: var(--text-on-accent);--color-border-default: var(--border-default);--color-border-strong: var(--border-strong);--color-border-focus: var(--accent);--background: var(--surface-page);--foreground: var(--content-primary);--card: var(--surface-card);--card-foreground: var(--content-primary);--popover: var(--surface-elevated);--popover-foreground: var(--content-primary);--secondary: var(--surface-elevated);--secondary-foreground: var(--content-primary);--muted: var(--surface-elevated);--muted-foreground: var(--content-muted);--input: var(--border-default);--ring: var(--border-focus)}:root{--obprint-icon-bg: #ffba06;--obprint-icon-fg: #000000}html{min-width:20rem;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-width:20rem;min-height:100dvh;margin:0}*,*:before,*:after{box-sizing:border-box}button,input,select,textarea{font:inherit}img,picture,svg,video{display:block;max-width:100%}
