@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}:root{--sg-navy-900:#1b2350;--sg-navy-800:#24306c;--sg-navy-700:#2f3d86;--sg-sky-400:#30a8e4;--sg-sky-200:#a9dcf5;--sg-sky-100:#d9f0fb;--sg-blue-50:#eef5fb;--sg-blue-100:#d3e6f5;--sg-blue-200:#a6cceb;--sg-blue-300:#71afdf;--sg-blue-400:#3a8bce;--sg-blue-500:#1670bb;--sg-blue-600:#0c60a8;--sg-blue-700:#0a5090;--sg-blue-800:#0c4274;--sg-blue-900:#0e3559;--sg-neutral-0:#fff;--sg-neutral-50:#f6f8fa;--sg-neutral-100:#edf1f5;--sg-neutral-200:#dde3eb;--sg-neutral-300:#c3ccd7;--sg-neutral-400:#96a1b0;--sg-neutral-500:#66717f;--sg-neutral-600:#49525e;--sg-neutral-700:#333a44;--sg-neutral-800:#20262e;--sg-neutral-900:#131820;--sg-success:#1f8a4c;--sg-success-bg:#e3f3e9;--sg-success-fg:#0f5b30;--sg-warning:#c47a00;--sg-warning-bg:#fbedcd;--sg-warning-fg:#6e4500;--sg-danger:#c33636;--sg-danger-bg:#fae0e0;--sg-danger-fg:#7c1d1d;--sg-info:#0c60a8;--sg-info-bg:#d8e9f7;--sg-info-fg:#0a4374;--sg-state-saved:#1f8a4c;--sg-state-syncing:#0c60a8;--sg-state-offline:#66717f;--sg-state-error:#c33636;--sg-bg:var(--sg-neutral-50);--sg-surface:var(--sg-neutral-0);--sg-surface-sunken:var(--sg-neutral-100);--sg-surface-brand:var(--sg-navy-800);--sg-text:var(--sg-neutral-900);--sg-text-muted:var(--sg-neutral-500);--sg-text-inverse:var(--sg-neutral-0);--sg-border:var(--sg-neutral-200);--sg-border-strong:var(--sg-neutral-300);--sg-primary:var(--sg-blue-600);--sg-primary-hover:var(--sg-blue-700);--sg-primary-active:var(--sg-blue-800);--sg-on-primary:var(--sg-neutral-0);--sg-ring:var(--sg-sky-400);--sg-font-sans:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--sg-font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--sg-fs-xs:.8125rem;--sg-fs-sm:.9375rem;--sg-fs-base:1.0625rem;--sg-fs-md:1.1875rem;--sg-fs-lg:1.375rem;--sg-fs-xl:1.75rem;--sg-fs-2xl:2.125rem;--sg-fs-3xl:2.625rem;--sg-fw-regular:400;--sg-fw-medium:500;--sg-fw-semibold:600;--sg-fw-bold:700;--sg-lh-tight:1.15;--sg-lh-normal:1.5;--sg-space-1:.25rem;--sg-space-2:.5rem;--sg-space-3:.75rem;--sg-space-4:1rem;--sg-space-5:1.5rem;--sg-space-6:2rem;--sg-space-7:2.5rem;--sg-space-8:3.5rem;--sg-radius-sm:6px;--sg-radius-md:10px;--sg-radius-lg:14px;--sg-radius-xl:20px;--sg-radius-pill:999px;--sg-shadow-sm:0 1px 2px #13182012;--sg-shadow-md:0 2px 8px #13182017, 0 1px 2px #1318200f;--sg-shadow-lg:0 14px 30px #13182021, 0 3px 8px #13182012;--sg-ring-shadow:0 0 0 3px #30a8e473;--sg-touch:48px;--sg-control-h-sm:40px;--sg-control-h-md:48px;--sg-control-h-lg:56px;--sg-transition:.14s cubic-bezier(.2,.6,.3,1)}*,:before,:after{box-sizing:border-box}.sg-root{font-family:var(--sg-font-sans);font-size:var(--sg-fs-base);line-height:var(--sg-lh-normal);color:var(--sg-text);background:var(--sg-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.sg-btn{justify-content:center;align-items:center;gap:var(--sg-space-2);min-height:var(--sg-control-h-md);min-width:var(--sg-control-h-md);padding:0 var(--sg-space-5);font:inherit;font-weight:var(--sg-fw-semibold);font-size:var(--sg-fs-base);letter-spacing:.005em;border-radius:var(--sg-radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background var(--sg-transition), border-color var(--sg-transition), color var(--sg-transition), box-shadow var(--sg-transition), transform var(--sg-transition);border:1px solid #0000;line-height:1;display:inline-flex}.sg-btn:active{transform:translateY(1px)}.sg-btn:focus-visible{box-shadow:var(--sg-ring-shadow);outline:none}.sg-btn[disabled],.sg-btn.is-loading{cursor:not-allowed;opacity:.55}.sg-btn.is-loading{color:#0000;position:relative}.sg-btn.is-loading:after{content:"";width:1.15em;height:1.15em;color:var(--sg-on-primary);border:2.5px solid;border-right-color:#0000;border-radius:50%;animation:.7s linear infinite sg-spin;position:absolute}.sg-btn--primary{background:var(--sg-primary);color:var(--sg-on-primary)}.sg-btn--primary:hover{background:var(--sg-primary-hover)}.sg-btn--primary:active{background:var(--sg-primary-active)}.sg-btn--secondary{background:var(--sg-surface);color:var(--sg-blue-700);border-color:var(--sg-border-strong)}.sg-btn--secondary:hover{background:var(--sg-blue-50);border-color:var(--sg-blue-300)}.sg-btn--ghost{color:var(--sg-blue-700);background:0 0}.sg-btn--ghost:hover{background:var(--sg-blue-50)}.sg-btn--danger{background:var(--sg-danger);color:#fff}.sg-btn--danger:hover{filter:brightness(.93)}.sg-btn--sm{min-height:var(--sg-control-h-sm);min-width:var(--sg-control-h-sm);padding:0 var(--sg-space-4);font-size:var(--sg-fs-sm)}.sg-btn--lg{min-height:var(--sg-control-h-lg);min-width:var(--sg-control-h-lg);padding:0 var(--sg-space-6);font-size:var(--sg-fs-md)}.sg-btn--block{width:100%;display:flex}.sg-badge{align-items:center;gap:var(--sg-space-1);padding:2px var(--sg-space-3);height:26px;font-size:var(--sg-fs-xs);font-weight:var(--sg-fw-semibold);border-radius:var(--sg-radius-pill);white-space:nowrap;background:var(--sg-neutral-100);color:var(--sg-neutral-700);display:inline-flex}.sg-badge--accent{background:var(--sg-blue-50);color:var(--sg-blue-700)}.sg-badge--success{background:var(--sg-success-bg);color:var(--sg-success-fg)}.sg-badge--warning{background:var(--sg-warning-bg);color:var(--sg-warning-fg)}.sg-badge--danger{background:var(--sg-danger-bg);color:var(--sg-danger-fg)}.sg-badge--info{background:var(--sg-info-bg);color:var(--sg-info-fg)}.sg-badge--solid{background:var(--sg-primary);color:#fff}.sg-chip{align-items:center;gap:var(--sg-space-2);padding:var(--sg-space-1) var(--sg-space-3) var(--sg-space-1) var(--sg-space-2);height:30px;font-size:var(--sg-fs-xs);font-weight:var(--sg-fw-semibold);border-radius:var(--sg-radius-pill);white-space:nowrap;background:var(--sg-neutral-100);color:var(--sg-neutral-700);display:inline-flex}.sg-chip:before{content:"";opacity:.9;background:currentColor;border-radius:50%;flex:none;width:9px;height:9px}.sg-chip--lead{color:#4a5563;background:#eef0f3}.sg-chip--visit-booked{background:var(--sg-sky-100);color:#155e86}.sg-chip--quoted{background:var(--sg-blue-50);color:var(--sg-blue-700)}.sg-chip--deposit-paid{color:#0c6b5f;background:#dcf2ee}.sg-chip--material-ordered{color:#5b3da8;background:#e9e3f7}.sg-chip--in-production{background:var(--sg-warning-bg);color:var(--sg-warning-fg)}.sg-chip--ready{background:var(--sg-success-bg);color:var(--sg-success-fg)}.sg-chip--install-booked{color:var(--sg-blue-800);background:#d6e6f6}.sg-chip--installed{color:#15613a;background:#d4ecdb}.sg-chip--paid{background:var(--sg-navy-800);color:#fff}.sg-sync{align-items:center;gap:var(--sg-space-2);font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-medium);color:var(--sg-text-muted);display:inline-flex}.sg-sync__dot{border-radius:50%;flex:none;width:10px;height:10px}.sg-sync--saved .sg-sync__dot{background:var(--sg-state-saved)}.sg-sync--syncing .sg-sync__dot{background:var(--sg-state-syncing);animation:1.1s ease-in-out infinite sg-pulse}.sg-sync--offline .sg-sync__dot{background:var(--sg-state-offline)}.sg-sync--error .sg-sync__dot{background:var(--sg-state-error)}.sg-sync--saved{color:var(--sg-success-fg)}.sg-sync--error{color:var(--sg-danger-fg)}.sg-card{background:var(--sg-surface);border-radius:var(--sg-radius-lg);border:1px solid var(--sg-border)}.sg-card--raised{box-shadow:var(--sg-shadow-md);border-color:#0000}.sg-card--flat{background:var(--sg-surface-sunken);border-color:#0000}.sg-card--pad-sm{padding:var(--sg-space-4)}.sg-card--pad-md{padding:var(--sg-space-5)}.sg-card--pad-lg{padding:var(--sg-space-6)}.sg-card--interactive{cursor:pointer;transition:box-shadow var(--sg-transition), border-color var(--sg-transition), transform var(--sg-transition)}.sg-card--interactive:hover{box-shadow:var(--sg-shadow-lg);border-color:var(--sg-blue-200);transform:translateY(-2px)}.sg-card__header{justify-content:space-between;align-items:flex-start;gap:var(--sg-space-4);padding:var(--sg-space-5) var(--sg-space-5) var(--sg-space-4);display:flex}.sg-card__title{font-size:var(--sg-fs-md);font-weight:var(--sg-fw-semibold);line-height:var(--sg-lh-tight);color:var(--sg-text);margin:0}.sg-card__subtitle{font-size:var(--sg-fs-sm);color:var(--sg-text-muted);margin:4px 0 0}.sg-card__body{padding:0 var(--sg-space-5) var(--sg-space-5)}.sg-card__footer{justify-content:space-between;align-items:center;gap:var(--sg-space-4);padding:var(--sg-space-4) var(--sg-space-5);border-top:1px solid var(--sg-border);display:flex}.sg-field{gap:var(--sg-space-2);flex-direction:column;display:flex}.sg-field__label{font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-semibold);color:var(--sg-neutral-700);align-items:center;gap:6px;display:flex}.sg-field__req{color:var(--sg-danger);font-weight:var(--sg-fw-bold)}.sg-field__hint{font-size:var(--sg-fs-sm);color:var(--sg-text-muted)}.sg-field__error{font-size:var(--sg-fs-sm);color:var(--sg-danger-fg);font-weight:var(--sg-fw-medium)}.sg-input,.sg-select,.sg-textarea{width:100%;min-height:var(--sg-control-h-md);padding:0 var(--sg-space-4);font:inherit;font-size:var(--sg-fs-base);color:var(--sg-text);background:var(--sg-surface);border:1.5px solid var(--sg-border-strong);border-radius:var(--sg-radius-md);transition:border-color var(--sg-transition), box-shadow var(--sg-transition)}.sg-textarea{padding:var(--sg-space-3) var(--sg-space-4);min-height:96px;line-height:var(--sg-lh-normal);resize:vertical}.sg-input::placeholder,.sg-textarea::placeholder{color:var(--sg-neutral-400)}.sg-input:hover,.sg-select:hover,.sg-textarea:hover{border-color:var(--sg-neutral-400)}.sg-input:focus,.sg-select:focus,.sg-textarea:focus{border-color:var(--sg-primary);box-shadow:var(--sg-ring-shadow);outline:none}.sg-input.is-invalid,.sg-select.is-invalid,.sg-textarea.is-invalid{border-color:var(--sg-danger)}.sg-input.is-invalid:focus{box-shadow:0 0 0 3px #c3363640}.sg-input-group{align-items:stretch;display:flex;position:relative}.sg-input-group .sg-input{padding-left:2.4rem}.sg-input-group__prefix{left:var(--sg-space-4);color:var(--sg-text-muted);font-weight:var(--sg-fw-medium);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.sg-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2366717f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sg-space-4) center;padding-right:2.6rem}.sg-dim{height:var(--sg-control-h-md);border:1.5px solid var(--sg-border-strong);border-radius:var(--sg-radius-md);background:var(--sg-surface);transition:border-color var(--sg-transition), box-shadow var(--sg-transition);align-items:stretch;display:flex;overflow:hidden}.sg-dim:focus-within{border-color:var(--sg-primary);box-shadow:var(--sg-ring-shadow)}.sg-dim.is-invalid{border-color:var(--sg-danger)}.sg-dim__btn{width:var(--sg-control-h-md);background:var(--sg-neutral-50);color:var(--sg-blue-700);font-size:1.5rem;font-weight:var(--sg-fw-medium);cursor:pointer;transition:background var(--sg-transition);border:none;flex:none;justify-content:center;align-items:center;display:flex}.sg-dim__btn:hover{background:var(--sg-blue-50)}.sg-dim__btn:active{background:var(--sg-blue-100)}.sg-dim__field{text-align:center;min-width:0;font-family:var(--sg-font-mono);font-size:var(--sg-fs-md);font-weight:var(--sg-fw-medium);color:var(--sg-text);background:0 0;border:none;outline:none;flex:auto}.sg-dim__unit{padding-right:var(--sg-space-3);color:var(--sg-text-muted);font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-medium);align-items:center;display:flex}.sg-check{align-items:center;gap:var(--sg-space-3);cursor:pointer;min-height:var(--sg-touch);font-size:var(--sg-fs-base);-webkit-user-select:none;user-select:none;display:inline-flex}.sg-check__box{border:1.5px solid var(--sg-border-strong);background:var(--sg-surface);width:26px;height:26px;transition:all var(--sg-transition);border-radius:7px;flex:none;place-items:center;display:grid}.sg-check input{opacity:0;width:0;height:0;position:absolute}.sg-check input:focus-visible+.sg-check__box{box-shadow:var(--sg-ring-shadow)}.sg-check__box svg{stroke:#fff;opacity:0;width:18px;height:18px;transition:opacity var(--sg-transition)}.sg-check input:checked+.sg-check__box{background:var(--sg-primary);border-color:var(--sg-primary)}.sg-check input:checked+.sg-check__box svg{opacity:1}.sg-banner{align-items:flex-start;gap:var(--sg-space-3);padding:var(--sg-space-4) var(--sg-space-4);border-radius:var(--sg-radius-md);font-size:var(--sg-fs-sm);border:1px solid;display:flex}.sg-banner__icon{flex:none;font-size:1.25rem;line-height:1.3}.sg-banner__body{flex:auto}.sg-banner__title{font-weight:var(--sg-fw-semibold)}.sg-banner__title+*{margin-top:2px}.sg-banner__dismiss{cursor:pointer;color:inherit;opacity:.55;background:0 0;border:none;flex:none;padding:2px 4px;font-size:1.25rem;line-height:1}.sg-banner__dismiss:hover{opacity:1}.sg-banner--info{background:var(--sg-info-bg);color:var(--sg-info-fg);border-color:#b7d4ee}.sg-banner--success{background:var(--sg-success-bg);color:var(--sg-success-fg);border-color:#bfe2cb}.sg-banner--warning{background:var(--sg-warning-bg);color:var(--sg-warning-fg);border-color:#eccf8e}.sg-banner--danger{background:var(--sg-danger-bg);color:var(--sg-danger-fg);border-color:#eebcbc}.sg-table-wrap{border-radius:var(--sg-radius-md);width:100%;overflow:auto}.sg-table{border-collapse:collapse;width:100%;font-size:var(--sg-fs-base)}.sg-table th{text-align:left;font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-semibold);letter-spacing:.03em;text-transform:uppercase;color:var(--sg-text-muted);padding:var(--sg-space-3) var(--sg-space-4);border-bottom:2px solid var(--sg-border);white-space:nowrap}.sg-table td{padding:var(--sg-space-4);border-bottom:1px solid var(--sg-border)}.sg-table tbody tr:last-child td{border-bottom:none}.sg-table--striped tbody tr:nth-child(odd){background:var(--sg-neutral-50)}.sg-table--hover tbody tr{cursor:pointer;transition:background var(--sg-transition)}.sg-table--hover tbody tr:hover{background:var(--sg-blue-50)}.sg-table--dense th,.sg-table--dense td{padding:var(--sg-space-2) var(--sg-space-3)}.sg-table .sg-num{font-family:var(--sg-font-mono);font-weight:var(--sg-fw-medium)}.sg-empty{text-align:center;align-items:center;gap:var(--sg-space-3);padding:var(--sg-space-7) var(--sg-space-5);flex-direction:column;display:flex}.sg-empty__icon{border-radius:var(--sg-radius-xl);background:var(--sg-blue-50);width:64px;height:64px;color:var(--sg-blue-600);place-items:center;font-size:2rem;display:grid}.sg-empty__title{margin:var(--sg-space-2) 0 0;font-size:var(--sg-fs-lg);font-weight:var(--sg-fw-semibold)}.sg-empty__text{max-width:38ch;color:var(--sg-text-muted);margin:0}.sg-spinner{border:3px solid var(--sg-blue-100);border-top-color:var(--sg-primary);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite sg-spin}.sg-spinner--lg{border-width:4px;width:44px;height:44px}.sg-bottomnav{background:var(--sg-surface);border-top:1px solid var(--sg-border);border-radius:var(--sg-radius-lg);box-shadow:var(--sg-shadow-sm);display:flex;overflow:hidden}.sg-bottomnav__item{cursor:pointer;min-height:64px;font:inherit;font-size:var(--sg-fs-xs);font-weight:var(--sg-fw-medium);color:var(--sg-text-muted);transition:color var(--sg-transition), background var(--sg-transition);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.sg-bottomnav__item svg{width:24px;height:24px}.sg-bottomnav__item:hover{background:var(--sg-neutral-50)}.sg-bottomnav__item.is-active{color:var(--sg-primary)}.sg-bottomnav__item.is-active:before{content:"";position:absolute}.sg-sidenav{gap:var(--sg-space-1);background:var(--sg-navy-800);padding:var(--sg-space-3);border-radius:var(--sg-radius-lg);flex-direction:column;display:flex}.sg-sidenav__item{align-items:center;gap:var(--sg-space-3);padding:var(--sg-space-3) var(--sg-space-4);min-height:var(--sg-touch);cursor:pointer;font:inherit;font-size:var(--sg-fs-base);font-weight:var(--sg-fw-medium);color:#c5d2ea;border-radius:var(--sg-radius-md);text-align:left;transition:background var(--sg-transition), color var(--sg-transition);background:0 0;border:none;display:flex}.sg-sidenav__item svg{flex:none;width:22px;height:22px}.sg-sidenav__item:hover{color:#fff;background:#ffffff14}.sg-sidenav__item.is-active{background:var(--sg-primary);color:#fff}.sg-sidenav__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sg-sidenav__badge{border-radius:var(--sg-radius-pill);color:#fff;min-width:20px;height:20px;font-size:var(--sg-fs-xs);text-align:center;background:#ffffff2e;flex:none;padding:0 6px;line-height:20px}.sg-sidenav.is-collapsed .sg-sidenav__item{padding-left:var(--sg-space-2);padding-right:var(--sg-space-2);justify-content:center;gap:0;position:relative}.sg-sidenav.is-collapsed .sg-sidenav__label{display:none}.sg-sidenav.is-collapsed .sg-sidenav__badge{background:var(--sg-sky-400);width:9px;min-width:9px;height:9px;box-shadow:0 0 0 2px var(--sg-navy-800);border-radius:50%;padding:0;font-size:0;line-height:0;position:absolute;top:7px;right:11px}.sg-segmented{background:var(--sg-surface-sunken);border-radius:var(--sg-radius-md);gap:2px;padding:4px;display:inline-flex}.sg-segmented__btn{min-height:40px;padding:0 var(--sg-space-4);border-radius:calc(var(--sg-radius-md) - 3px);font:inherit;font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-semibold);color:var(--sg-text-muted);cursor:pointer;white-space:nowrap;transition:background var(--sg-transition), color var(--sg-transition), box-shadow var(--sg-transition);background:0 0;border:none}.sg-segmented__btn:hover{color:var(--sg-text)}.sg-segmented__btn.is-active{background:var(--sg-surface);color:var(--sg-blue-700);box-shadow:var(--sg-shadow-sm)}.sg-switch{align-items:center;gap:var(--sg-space-3);cursor:pointer;min-height:var(--sg-touch);-webkit-user-select:none;user-select:none;font-size:var(--sg-fs-base);display:inline-flex}.sg-switch input{opacity:0;width:0;height:0;position:absolute}.sg-switch__track{border-radius:var(--sg-radius-pill);background:var(--sg-neutral-300);width:52px;height:30px;transition:background var(--sg-transition);flex:none;position:relative}.sg-switch__track:after{content:"";width:24px;height:24px;box-shadow:var(--sg-shadow-sm);transition:transform var(--sg-transition);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.sg-switch input:checked+.sg-switch__track{background:var(--sg-primary)}.sg-switch input:checked+.sg-switch__track:after{transform:translate(22px)}.sg-switch input:focus-visible+.sg-switch__track{box-shadow:var(--sg-ring-shadow)}.sg-radio{align-items:center;gap:var(--sg-space-3);min-height:var(--sg-touch);cursor:pointer;font-size:var(--sg-fs-base);-webkit-user-select:none;user-select:none;display:inline-flex}.sg-radio input{opacity:0;width:0;height:0;position:absolute}.sg-radio__dot{border:1.5px solid var(--sg-border-strong);background:var(--sg-surface);width:26px;height:26px;transition:border-color var(--sg-transition);border-radius:50%;flex:none;place-items:center;display:grid}.sg-radio__dot:after{content:"";background:var(--sg-primary);width:12px;height:12px;transition:transform var(--sg-transition);border-radius:50%;transform:scale(0)}.sg-radio input:checked+.sg-radio__dot{border-color:var(--sg-primary)}.sg-radio input:checked+.sg-radio__dot:after{transform:scale(1)}.sg-radio input:focus-visible+.sg-radio__dot{box-shadow:var(--sg-ring-shadow)}.sg-finishes{gap:var(--sg-space-4);flex-wrap:wrap;display:flex}.sg-finish{align-items:center;gap:var(--sg-space-2);cursor:pointer;font:inherit;background:0 0;border:none;flex-direction:column;padding:0;display:flex}.sg-finish__swatch{border-radius:var(--sg-radius-md);border:3px solid var(--sg-surface);width:52px;height:52px;box-shadow:0 0 0 1.5px var(--sg-border), var(--sg-shadow-sm);transition:box-shadow var(--sg-transition)}.sg-finish.is-selected .sg-finish__swatch{box-shadow:0 0 0 2px var(--sg-primary), var(--sg-ring-shadow)}.sg-finish__name{font-size:var(--sg-fs-xs);color:var(--sg-text-muted);font-weight:var(--sg-fw-medium)}.sg-finish.is-selected .sg-finish__name{color:var(--sg-blue-700)}.sg-overlay{padding:var(--sg-space-5);z-index:1000;background:#13182080;place-items:center;display:grid;position:fixed;inset:0}.sg-dialog{background:var(--sg-surface);border-radius:var(--sg-radius-lg);box-shadow:var(--sg-shadow-lg);width:100%;max-width:460px;padding:var(--sg-space-6);font-family:var(--sg-font-sans);color:var(--sg-text)}.sg-dialog__title{margin:0 0 var(--sg-space-2);font-size:var(--sg-fs-lg);font-weight:var(--sg-fw-bold);color:var(--sg-text)}.sg-dialog__text{margin:0 0 var(--sg-space-5);color:var(--sg-text-muted)}.sg-dialog__actions{justify-content:flex-end;gap:var(--sg-space-3);display:flex}.sg-pickerfield{width:100%;position:relative}.sg-pickerfield__trigger{width:100%;min-height:var(--sg-control-h-md);justify-content:space-between;align-items:center;gap:var(--sg-space-3);padding:0 var(--sg-space-4);font:inherit;font-size:var(--sg-fs-base);text-align:left;color:var(--sg-text);background:var(--sg-surface);border:1.5px solid var(--sg-border-strong);border-radius:var(--sg-radius-md);cursor:pointer;transition:border-color var(--sg-transition), box-shadow var(--sg-transition);display:flex}.sg-pickerfield__trigger:hover{border-color:var(--sg-neutral-400)}.sg-pickerfield__trigger:focus-visible{border-color:var(--sg-primary);box-shadow:var(--sg-ring-shadow);outline:none}.sg-pickerfield__trigger:disabled{cursor:not-allowed;opacity:.6;background:var(--sg-surface-sunken)}.sg-pickerfield__trigger.is-invalid{border-color:var(--sg-danger)}.sg-pickerfield__trigger.is-invalid:focus-visible{box-shadow:0 0 0 3px #c3363640}.sg-pickerfield__placeholder{color:var(--sg-neutral-400)}.sg-pickerfield__icon{color:var(--sg-text-muted);flex:none;display:inline-flex}.sg-pickerfield__pop{z-index:1100;background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:var(--sg-radius-lg);box-shadow:var(--sg-shadow-lg);padding:var(--sg-space-4);position:absolute;top:calc(100% + 6px);left:0}.sg-pickerfield__pop.is-up{top:auto;bottom:calc(100% + 6px)}.sg-cal{width:17rem}.sg-cal__head{margin-bottom:var(--sg-space-2);justify-content:space-between;align-items:center;display:flex}.sg-cal__title{font-size:var(--sg-fs-base);font-weight:var(--sg-fw-semibold);color:var(--sg-text)}.sg-cal__nav{border-radius:var(--sg-radius-md);cursor:pointer;width:36px;height:36px;color:var(--sg-blue-700);transition:background var(--sg-transition);background:0 0;border:none;flex:none;place-items:center;font-size:1.5rem;line-height:1;display:grid}.sg-cal__nav:hover{background:var(--sg-blue-50)}.sg-cal__nav:focus-visible{box-shadow:var(--sg-ring-shadow);outline:none}.sg-cal__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.sg-cal__wd{height:30px;font-size:var(--sg-fs-xs);font-weight:var(--sg-fw-semibold);color:var(--sg-text-muted);text-transform:uppercase;letter-spacing:.03em;place-items:center;display:grid}.sg-cal__day{aspect-ratio:1;width:100%;font:inherit;font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-medium);color:var(--sg-text);border-radius:var(--sg-radius-md);cursor:pointer;transition:background var(--sg-transition), color var(--sg-transition);background:0 0;border:none}.sg-cal__day:hover{background:var(--sg-blue-50)}.sg-cal__day:focus-visible{box-shadow:var(--sg-ring-shadow);outline:none}.sg-cal__day.is-outside{color:var(--sg-neutral-400)}.sg-cal__day.is-today{box-shadow:inset 0 0 0 1.5px var(--sg-border-strong)}.sg-cal__day.is-selected{background:var(--sg-primary);color:#fff}.sg-cal__day.is-selected:hover{background:var(--sg-primary-hover)}.sg-cal__day:disabled{color:var(--sg-neutral-300);cursor:not-allowed;background:0 0}.sg-cal__foot{margin-top:var(--sg-space-2);padding-top:var(--sg-space-2);border-top:1px solid var(--sg-border);justify-content:space-between;align-items:center;display:flex}.sg-cal__link{font:inherit;font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-semibold);color:var(--sg-blue-700);cursor:pointer;padding:var(--sg-space-1) var(--sg-space-2);border-radius:var(--sg-radius-sm);background:0 0;border:none}.sg-cal__link:hover{background:var(--sg-blue-50)}.sg-cal__link:focus-visible{box-shadow:var(--sg-ring-shadow);outline:none}.sg-timelist{flex-direction:column;gap:2px;width:8.5rem;max-height:16rem;display:flex;overflow-y:auto}.sg-timelist__opt{width:100%;font:inherit;font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-medium);color:var(--sg-text);text-align:left;padding:var(--sg-space-2) var(--sg-space-3);border-radius:var(--sg-radius-md);cursor:pointer;white-space:nowrap;transition:background var(--sg-transition), color var(--sg-transition);background:0 0;border:none}.sg-timelist__opt:hover{background:var(--sg-blue-50)}.sg-timelist__opt:focus-visible{box-shadow:var(--sg-ring-shadow);outline:none}.sg-timelist__opt.is-selected{background:var(--sg-primary);color:#fff}.sg-timelist__opt.is-selected:hover{background:var(--sg-primary-hover)}.sg-toast{align-items:center;gap:var(--sg-space-3);padding:var(--sg-space-3) var(--sg-space-5);background:var(--sg-navy-800);color:#fff;border-radius:var(--sg-radius-md);box-shadow:var(--sg-shadow-lg);font-family:var(--sg-font-sans);font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-medium);display:inline-flex}.sg-toast__icon{color:var(--sg-sky-400);font-size:1.2rem;line-height:1}.sg-toast--success{background:var(--sg-success)}.sg-toast--warning{background:var(--sg-warning)}.sg-toast--danger{background:var(--sg-danger)}.sg-toast--success .sg-toast__icon,.sg-toast--warning .sg-toast__icon,.sg-toast--danger .sg-toast__icon{color:#ffffffeb}.sg-stepper{align-items:flex-start;display:flex}.sg-step{align-items:center;gap:var(--sg-space-2);text-align:center;flex-direction:column;flex:1;display:flex;position:relative}.sg-step:not(:last-child):after{content:"";background:var(--sg-neutral-200);z-index:0;width:100%;height:3px;position:absolute;top:16px;left:50%}.sg-step.is-done:not(:last-child):after{background:var(--sg-primary)}.sg-step__dot{z-index:1;background:var(--sg-surface);width:34px;height:34px;color:var(--sg-text-muted);border:2.5px solid var(--sg-neutral-300);font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-bold);border-radius:50%;place-items:center;display:grid;position:relative}.sg-step__dot svg{stroke:#fff;width:18px;height:18px}.sg-step.is-done .sg-step__dot{background:var(--sg-primary);border-color:var(--sg-primary);color:#fff}.sg-step.is-current .sg-step__dot{border-color:var(--sg-primary);color:var(--sg-blue-700);box-shadow:var(--sg-ring-shadow)}.sg-step__label{font-size:var(--sg-fs-xs);font-weight:var(--sg-fw-medium);color:var(--sg-text-muted);max-width:11ch}.sg-step.is-current .sg-step__label{color:var(--sg-blue-700);font-weight:var(--sg-fw-semibold)}.sg-step.is-clickable{cursor:pointer;appearance:none;font:inherit;background:0 0;border:0;margin:0;padding:0}.sg-step.is-clickable:hover .sg-step__dot{border-color:var(--sg-primary)}.sg-step.is-clickable:hover .sg-step__label{color:var(--sg-blue-700)}.sg-step.is-clickable:focus-visible{outline:none}.sg-step.is-clickable:focus-visible .sg-step__dot{box-shadow:var(--sg-ring-shadow)}.sg-stepper--compact .sg-step__label{display:none}.sg-stepper--compact .sg-step__dot{border-width:2px;width:16px;height:16px;font-size:0}.sg-stepper--compact .sg-step__dot svg{width:10px;height:10px}.sg-stepper--compact .sg-step:not(:last-child):after{height:2px;top:7px}@keyframes sg-spin{to{transform:rotate(360deg)}}@keyframes sg-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}:where(.sg-root) :where(h1,h2,h3,h4,p,figure,ul,ol){margin:0}:where(.sg-root) :where(button,input,select,textarea){font:inherit;color:inherit}.sg-root :where(a,[tabindex]):focus-visible{outline:3px solid var(--sg-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.sg-root *{transition-duration:.001ms!important;animation-duration:.001ms!important}}.login{min-height:100dvh;padding:var(--sg-space-5);background:var(--sg-bg);place-items:center;display:grid}.login__card{text-align:center;width:100%;max-width:380px}.login__logo{object-fit:contain;height:56px;margin-bottom:var(--sg-space-3)}.login__lead{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);margin-bottom:var(--sg-space-5)}.login__form{gap:var(--sg-space-4);text-align:left;flex-direction:column;display:flex}.login__code{font-family:var(--sg-font-mono,monospace);font-size:var(--sg-fs-lg,1.25rem);letter-spacing:.08em;text-align:center;-webkit-user-select:all;user-select:all;padding:var(--sg-space-4);margin:var(--sg-space-4) 0;border:1px dashed var(--sg-border,#ccc);border-radius:var(--sg-radius-md,8px);background:var(--sg-bg-subtle,#f5f5f5);word-break:break-all;font-weight:600}.login__link{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);cursor:pointer;background:0 0;border:none;align-self:center;padding:0;text-decoration:underline}.login__mt{margin-top:var(--sg-space-4)}html,body,#root{height:100%}body{background:var(--sg-bg);margin:0}.app-shell{background:var(--sg-bg);height:100dvh;display:flex;overflow:hidden}.app-sidebar{box-sizing:border-box;background:var(--sg-navy-800);gap:var(--sg-space-2);width:248px;padding:var(--sg-space-5) var(--sg-space-4);height:100dvh;transition:width var(--sg-transition);flex-direction:column;flex:none;align-self:flex-start;display:flex;position:sticky;top:0}.app-sidebar__top{align-items:center;gap:var(--sg-space-2);margin:0 var(--sg-space-2) var(--sg-space-4);display:flex}.app-sidebar__brand{min-width:0;padding:2px var(--sg-space-2);flex:1;align-items:center;display:inline-flex}.app-sidebar__brand img{height:48px;display:block}.app-sidebar__toggle{border-radius:var(--sg-radius-md);color:#c5d2ea;cursor:pointer;width:36px;height:36px;transition:background var(--sg-transition), color var(--sg-transition);background:#ffffff0f;border:none;flex:none;place-items:center;display:grid}.app-sidebar__toggle:hover{color:#fff;background:#ffffff24}.app-sidebar__toggle svg{width:20px;height:20px}.app-sidebar .sg-sidenav{gap:var(--sg-space-1);background:0 0;padding:0}.app-sidebar__user{margin-top:auto}.app-sidebar.is-collapsed{width:76px;padding-left:var(--sg-space-2);padding-right:var(--sg-space-2)}.app-sidebar.is-collapsed .app-sidebar__top{justify-content:center;margin-left:0;margin-right:0}.app-sidebar.is-collapsed .app-sidebar__brand{display:none}.app-sidebar.is-collapsed .app-sidebar__toggle{transform:rotate(180deg)}.app-sidebar.is-collapsed .app-sidebar__user{padding-left:var(--sg-space-2);padding-right:var(--sg-space-2);justify-content:center;gap:0}.app-sidebar.is-collapsed .app-sidebar__user .sg-sidenav__label{display:none}.app-main{flex-direction:column;flex:auto;min-width:0;display:flex}.app-content{flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto;container:app/inline-size}.app-topbar{align-items:center;gap:var(--sg-space-4);padding:var(--sg-space-5) var(--sg-space-6);background:var(--sg-surface);border-bottom:1px solid var(--sg-border);z-index:10;display:flex;position:sticky;top:0}.app-topbar__back{border-radius:var(--sg-radius-md);border:1px solid var(--sg-border);background:var(--sg-surface);cursor:pointer;width:44px;height:44px;color:var(--sg-text);flex:none;place-items:center;display:grid}.app-topbar__back:hover{background:var(--sg-neutral-50)}.app-topbar__title h1{font-size:var(--sg-fs-xl);font-weight:var(--sg-fw-bold);letter-spacing:-.01em;line-height:var(--sg-lh-tight);margin:0}.app-topbar__title p{font-size:var(--sg-fs-sm);color:var(--sg-text-muted);margin:2px 0 0}.app-topbar__spacer{flex:1}.app-topbar__actions{align-items:center;gap:var(--sg-space-3);display:flex}.screen-body{padding:var(--sg-space-6);gap:var(--sg-space-5);flex-direction:column;display:flex}.app-bottomnav{z-index:10;padding:var(--sg-space-2);padding-bottom:calc(var(--sg-space-2) + env(safe-area-inset-bottom));background:var(--sg-bg);display:none;position:sticky;bottom:0}.app-bottomnav .sg-bottomnav{background:var(--sg-navy-800);box-shadow:var(--sg-shadow-md);border-top:none}.app-bottomnav .sg-bottomnav__item{color:#c5d2ea;position:relative}.app-bottomnav .sg-bottomnav__item:hover{color:#fff;background:#ffffff14}.app-bottomnav .sg-bottomnav__item.is-active{color:#fff}.app-bottomnav .sg-bottomnav__item.is-active:after{content:"";background:var(--sg-sky-400);border-radius:0 0 3px 3px;width:28px;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}@media (width<=1023px){.app-sidebar{display:none}.app-bottomnav{display:block}.app-topbar{padding:var(--sg-space-4) var(--sg-space-5);row-gap:var(--sg-space-3);flex-wrap:wrap}.app-topbar__title{flex:1 1 0;min-width:0}.app-topbar__spacer{display:none}.app-topbar__title h1{font-size:var(--sg-fs-lg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-topbar__title p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-topbar__actions{flex-wrap:wrap;flex-basis:100%;justify-content:flex-end}.screen-body{padding:var(--sg-space-5)}}.job-list{gap:var(--sg-space-3);flex-direction:column;display:flex}.job-list__card{cursor:pointer}.job-list__main{align-items:flex-start;gap:var(--sg-space-4);display:flex}.job-list__head{min-width:0}.job-list__status{margin-left:auto}.job-list__flags{align-items:center;gap:var(--sg-space-3);flex-wrap:wrap;margin-top:1px;display:flex}.visit-flag{align-items:center;gap:var(--sg-space-1);font-size:var(--sg-fs-sm);color:var(--sg-text);white-space:nowrap;display:inline-flex}.visit-flag__check{background:var(--sg-primary);color:#fff;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;display:grid}.visit-flag__check svg{stroke:#fff;width:10px;height:10px}.visit-flag.is-done .visit-flag__check{background:var(--sg-success)}.job-list__title{font-weight:var(--sg-fw-semibold);font-size:var(--sg-fs-md)}.job-list__quote{color:var(--sg-text-muted);font-weight:var(--sg-fw-regular)}.job-list__meta{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);margin-top:2px}.job-list__totals{margin-top:var(--sg-space-3);padding-top:var(--sg-space-3);border-top:1px solid var(--sg-border);justify-content:space-between;align-items:baseline;display:flex}.job-list__totals .sg-num{font-size:var(--sg-fs-lg);font-weight:var(--sg-fw-semibold)}.job-list__deposit{color:var(--sg-text-muted);font-size:var(--sg-fs-sm)}.job-list__progress{margin-top:var(--sg-space-3)}.leads-filter{align-self:flex-start}.lead-list{gap:var(--sg-space-3);flex-direction:column;display:flex}.lead-focus{border-radius:var(--sg-radius-lg);box-shadow:var(--sg-ring-shadow)}.lead-card__head{justify-content:space-between;align-items:flex-start;gap:var(--sg-space-3);display:flex}.lead-card__name{font-weight:var(--sg-fw-semibold);font-size:var(--sg-fs-md)}.lead-card__meta{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);margin-top:2px}.lead-card__products{gap:var(--sg-space-2);margin:var(--sg-space-3) 0;flex-wrap:wrap;display:flex}.lead-card__message{font-size:var(--sg-fs-sm)}.lead-card__actions{gap:var(--sg-space-2);margin-top:var(--sg-space-4);flex-wrap:wrap;display:flex}.lead-form{gap:var(--sg-space-4);flex-direction:column;width:100%;display:flex}.lead-form__row{gap:var(--sg-space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=540px){.lead-form__row{grid-template-columns:1fr}}.inbox-filter{align-self:flex-start}.inbox-dir{border-radius:var(--sg-radius-full,999px);width:1.5rem;height:1.5rem;font-weight:var(--sg-fw-bold,700);justify-content:center;align-items:center;line-height:1;display:inline-flex}.inbox-dir--incoming{color:var(--sg-color-info-fg,#1d4ed8);background:var(--sg-color-info-bg,#e0ecff)}.inbox-dir--outgoing{color:var(--sg-color-success-fg,#15803d);background:var(--sg-color-success-bg,#dcfce7)}.inbox-party{color:var(--sg-text-muted)}.inbox-subject{text-overflow:ellipsis;white-space:nowrap;max-width:36rem;display:block;overflow:hidden}.quotes-toolbar{justify-content:space-between;align-items:center;gap:var(--sg-space-3);margin-bottom:var(--sg-space-3);flex-wrap:wrap;display:flex}.quotes-summary{align-items:baseline;gap:var(--sg-space-3);display:flex}.quotes-summary__count{color:var(--sg-text-muted);font-size:var(--sg-fs-sm)}.quotes-summary__value{font-size:var(--sg-fs-lg);font-weight:var(--sg-fw-semibold)}.board{gap:var(--sg-space-3);padding-bottom:var(--sg-space-3);align-items:flex-start;display:flex;overflow-x:auto}.board__col{background:var(--sg-surface-sunken);border-radius:var(--sg-radius-lg);padding:var(--sg-space-3);gap:var(--sg-space-2);flex-direction:column;flex:0 0 240px;display:flex}.board__colhead{font-weight:var(--sg-fw-semibold);font-size:var(--sg-fs-sm);justify-content:space-between;align-items:center;display:flex}.board__card{background:var(--sg-surface-raised);border:1px solid var(--sg-border);border-radius:var(--sg-radius-md);padding:var(--sg-space-3);cursor:pointer;box-shadow:var(--sg-shadow-sm)}.board__card__name{font-weight:var(--sg-fw-semibold)}.board__card__meta{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);margin-top:2px}.board__card__actions{margin-top:var(--sg-space-2)}.board__empty{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);padding:var(--sg-space-2) 0}.sched-suggest{gap:var(--sg-space-2);flex-wrap:wrap;display:flex}.sched-chip{text-align:left;font:inherit;cursor:pointer;padding:var(--sg-space-2) var(--sg-space-3);border:1.5px solid var(--sg-sky-400);border-radius:var(--sg-radius-md);background:var(--sg-sky-100);color:var(--sg-blue-800);transition:filter var(--sg-transition), border-color var(--sg-transition);flex-direction:column;align-items:flex-start;gap:2px;display:flex}.sched-chip:hover{filter:brightness(.97);border-color:var(--sg-blue-400,var(--sg-primary))}.sched-chip__when{font-weight:var(--sg-fw-semibold)}.sched-chip__why{font-size:var(--sg-fs-xs,var(--sg-fs-sm));color:var(--sg-blue-700,var(--sg-text-muted))}.sched-empty{font-size:var(--sg-fs-sm);color:var(--sg-text-muted);margin:0}.sched-banner{gap:var(--sg-space-3);border-left:4px solid var(--sg-sky-400);flex-direction:column;display:flex}.sched-banner__head{justify-content:space-between;align-items:baseline;gap:var(--sg-space-3);flex-wrap:wrap;display:flex}.sched-banner__title{font-size:var(--sg-fs-md);font-weight:var(--sg-fw-semibold);margin:0}.sched-banner__sub{font-size:var(--sg-fs-sm);color:var(--sg-text-muted);margin:0}.cal-toolbar{justify-content:space-between;align-items:center;gap:var(--sg-space-4);flex-wrap:wrap;display:flex}.cal-nav{align-items:center;gap:var(--sg-space-4);display:flex}.cal-nav__group{align-items:center;gap:var(--sg-space-2);display:flex}.cal-month{text-align:center;min-width:11ch;font-size:var(--sg-fs-lg);font-weight:var(--sg-fw-semibold);margin:0}.cal-month--day{min-width:17ch}.cal-legend{align-items:center;gap:var(--sg-space-4);font-size:var(--sg-fs-sm);color:var(--sg-text-muted);display:flex}.cal-legend__item{align-items:center;gap:var(--sg-space-2);display:inline-flex}.cal-dot{border-radius:50%;flex:none;width:10px;height:10px}.cal-dot--visit{background:var(--sg-sky-400)}.cal-dot--install{background:var(--sg-success)}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-weekday{padding:var(--sg-space-3) var(--sg-space-3) var(--sg-space-2);font-size:var(--sg-fs-xs,var(--sg-fs-sm));text-transform:uppercase;letter-spacing:.04em;color:var(--sg-text-muted);text-align:left;border-bottom:1px solid var(--sg-border)}.cal-cell{min-height:96px;padding:var(--sg-space-2);border-right:1px solid var(--sg-border);border-bottom:1px solid var(--sg-border);gap:var(--sg-space-1);cursor:pointer;flex-direction:column;display:flex}.cal-cell:hover{background:var(--sg-blue-50)}.cal-event b{font-weight:var(--sg-fw-semibold)}.cal-cell:nth-child(7n+7){border-right:none}.cal-cell.is-outside{background:var(--sg-blue-50)}.cal-cell.is-outside .cal-cell__num{color:var(--sg-text-muted)}.cal-cell__num{font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-medium);border-radius:50%;align-self:flex-start;place-items:center;width:1.75rem;height:1.75rem;display:grid}.cal-cell.is-today .cal-cell__num{background:var(--sg-primary);color:#fff}.cal-cell__events{flex-direction:column;gap:3px;display:flex}.cal-event{cursor:pointer;font:inherit;text-align:left;font-size:var(--sg-fs-xs,var(--sg-fs-sm));padding:2px var(--sg-space-2);border-radius:var(--sg-radius-sm,6px);white-space:nowrap;text-overflow:ellipsis;border:none;border-left:3px solid #0000;overflow:hidden}.cal-event--visit{background:var(--sg-sky-100);color:var(--sg-blue-800);border-left-color:var(--sg-sky-400)}.cal-event--install{background:var(--sg-success-bg);color:var(--sg-success-fg);border-left-color:var(--sg-success)}.cal-event:hover{filter:brightness(.97)}.cal-up__h{margin:0 0 var(--sg-space-3);font-size:var(--sg-fs-md);font-weight:var(--sg-fw-semibold)}.cal-up{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cal-up__row{justify-content:space-between;align-items:center;gap:var(--sg-space-3);padding:var(--sg-space-3) 0;border-bottom:1px solid var(--sg-border);display:flex}.cal-up__row:last-child{border-bottom:none}.cal-up__main{align-items:center;gap:var(--sg-space-3);cursor:pointer;min-width:0;font:inherit;text-align:left;background:0 0;border:0;flex:1;padding:0;display:flex}.cal-up__date{font-weight:var(--sg-fw-medium);flex:none}.cal-up__name{font-weight:var(--sg-fw-semibold)}.cal-up__addr{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-day{margin:0;padding:0;list-style:none}.cal-appt{align-items:center;gap:var(--sg-space-3);padding:var(--sg-space-3) var(--sg-space-3);border:1.5px solid var(--sg-border);border-radius:var(--sg-radius-md);background:var(--sg-surface);cursor:pointer;transition:border-color var(--sg-transition), background var(--sg-transition);display:flex}.cal-appt:hover{border-color:var(--sg-blue-200);background:var(--sg-blue-50)}.cal-appt__time{font-weight:var(--sg-fw-semibold);flex:0 0 5.5rem}.cal-appt__main{flex:1;min-width:0}.cal-appt__name{font-weight:var(--sg-fw-semibold)}.cal-appt__meta{color:var(--sg-text-muted);font-weight:var(--sg-fw-regular)}.cal-appt__addr{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-leg{align-items:center;gap:var(--sg-space-3);padding:var(--sg-space-1) 0 var(--sg-space-1) calc(5.5rem + var(--sg-space-3));min-height:34px;display:flex}.cal-leg__line{background:repeating-linear-gradient(var(--sg-border) 0 4px, transparent 4px 8px);align-self:stretch;width:2px;margin-left:5px}.cal-leg__pill{font-size:var(--sg-fs-xs,var(--sg-fs-sm));color:var(--sg-text-muted);align-items:center;gap:6px;display:inline-flex}.sg-dialog:has(.cal-form){max-width:640px}.cal-form{gap:var(--sg-space-5);flex-direction:column;width:100%;display:flex}.cal-form__row{gap:var(--sg-space-5);grid-template-columns:1fr 12rem;align-items:end;display:grid}.sg-dialog:has(.cal-form) .sg-dialog__actions{margin-top:var(--sg-space-6)}.cal-suggest{gap:var(--sg-space-2);flex-direction:column;display:flex}.cal-suggest__label{font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-medium);color:var(--sg-text-muted)}@media (width<=560px){.cal-form__row{gap:var(--sg-space-3);grid-template-columns:1fr}}@media (width<=640px){.cal-cell{min-height:72px}.cal-up__addr{display:none}}.materials-list{gap:var(--sg-space-4);flex-direction:column;display:flex}.materials-card__head{justify-content:space-between;align-items:center;gap:var(--sg-space-3);margin-bottom:var(--sg-space-3);display:flex}.materials-card__title{font-weight:var(--sg-fw-semibold);font-size:var(--sg-fs-md)}.materials-card__meta{color:var(--sg-text-muted);font-size:var(--sg-fs-sm)}.materials-note{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);margin-bottom:var(--sg-space-3)}.materials-order__bar{justify-content:space-between;align-items:center;gap:var(--sg-space-4);flex-wrap:wrap;display:flex}.materials-totals{gap:var(--sg-space-4);grid-template-columns:1fr 1fr;display:grid}.materials-totals__heading{margin:0 0 var(--sg-space-2);font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-semibold);color:var(--sg-text-muted)}@media (width<=640px){.materials-totals{grid-template-columns:1fr}}.inventory{gap:var(--sg-space-4);flex-direction:column;display:flex}.inventory__bar{justify-content:space-between;align-items:center;gap:var(--sg-space-3);display:flex}.inv-name{align-items:center;gap:var(--sg-space-2);flex-wrap:wrap;display:inline-flex}.inv-name__sub{width:100%;color:var(--sg-text-muted);font-size:var(--sg-fs-sm);display:block}.inv-unit{color:var(--sg-text-muted)}.inv-actions{gap:var(--sg-space-1);justify-content:flex-end;display:inline-flex}.inv-form{gap:var(--sg-space-3);flex-direction:column;display:flex}.inv-form__row{gap:var(--sg-space-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=540px){.inv-form__row{grid-template-columns:1fr}}.set-note{max-width:70ch;color:var(--sg-text-muted);font-size:var(--sg-fs-sm);margin:0}.set-h{margin:0 0 var(--sg-space-4);font-size:var(--sg-fs-md);font-weight:var(--sg-fw-semibold)}.set-sub{margin:0 0 var(--sg-space-4);color:var(--sg-text-muted);font-size:var(--sg-fs-sm)}.set-head-row{justify-content:space-between;align-items:center;gap:var(--sg-space-3);margin-bottom:var(--sg-space-4);display:flex}.set-head-row .set-h{margin:0}.set-mt{margin-top:var(--sg-space-4)}.set-rows{gap:var(--sg-space-4);flex-direction:column;display:flex}.dev-cell{flex-direction:column;gap:2px;display:flex}.dev-cell__name{align-items:center;gap:var(--sg-space-2);font-weight:var(--sg-fw-medium);display:flex}.dev-cell__sub{color:var(--sg-text-muted);font-size:var(--sg-fs-sm)}.dev-actions{gap:var(--sg-space-2);justify-content:flex-end;display:inline-flex}.set-mesh{gap:var(--sg-space-4);padding-bottom:var(--sg-space-4);border-bottom:1px solid var(--sg-border);grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:end;display:grid}.set-mesh:last-child{border-bottom:none;padding-bottom:0}.set-band-note{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);min-height:var(--sg-touch);align-items:center;display:flex}.set-extra{gap:var(--sg-space-4);padding-bottom:var(--sg-space-4);border-bottom:1px solid var(--sg-border);grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:end;display:grid}.set-extra:last-child{border-bottom:none;padding-bottom:0}.set-extra__flags{align-items:center;gap:var(--sg-space-4);min-height:var(--sg-touch);display:flex}.set-empty{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);margin:0}.set-grid2{gap:var(--sg-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.set-grid3{gap:var(--sg-space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.email-recipient{gap:var(--sg-space-3);align-items:center;display:flex}.email-recipient>:first-child{flex:1;min-width:0}.sched-days{gap:var(--sg-space-2);flex-wrap:wrap;display:flex}.sched-day{cursor:pointer;font:inherit;font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-medium);padding:var(--sg-space-2) var(--sg-space-3);border:1.5px solid var(--sg-border);border-radius:var(--sg-radius-md);background:var(--sg-surface);color:var(--sg-text-muted)}.sched-day.is-on{border-color:var(--sg-sky-400);background:var(--sg-sky-100);color:var(--sg-blue-800)}@media (width<=720px){.set-mesh,.set-extra,.set-grid2,.set-grid3{grid-template-columns:1fr}.set-extra__flags{justify-content:space-between}}.customer-form{gap:var(--sg-space-4);flex-direction:column;max-width:560px;display:flex}.customer-form__actions{gap:var(--sg-space-2);margin-top:var(--sg-space-2);display:flex}.job-pipeline-card{padding:var(--sg-space-5) var(--sg-space-6)}.job-work{gap:var(--sg-space-5);grid-template-columns:340px minmax(0,1fr);align-items:start;min-width:0;display:grid}.job-openings{gap:var(--sg-space-3);flex-direction:column;display:flex}.job-opening{justify-content:space-between;align-items:center;gap:var(--sg-space-3);width:100%;padding:var(--sg-space-4);border:1.5px solid var(--sg-border);border-radius:var(--sg-radius-md);background:var(--sg-surface);cursor:pointer;text-align:left;font:inherit;transition:border-color var(--sg-transition), background var(--sg-transition);display:flex}.job-opening:hover{border-color:var(--sg-blue-200)}.job-opening.is-active{border-color:var(--sg-primary);background:var(--sg-blue-50)}.job-opening__name{font-weight:var(--sg-fw-semibold)}.job-opening__size{font-family:var(--sg-font-mono);font-size:var(--sg-fs-sm);color:var(--sg-text-muted)}.job-addbtn{border:1.5px dashed var(--sg-border-strong);border-radius:var(--sg-radius-md);min-height:var(--sg-touch);cursor:pointer;color:var(--sg-blue-700);font:inherit;font-weight:var(--sg-fw-semibold);font-size:var(--sg-fs-sm);background:0 0}.job-addbtn:hover{background:var(--sg-blue-50);border-color:var(--sg-blue-300)}.job-panel-head{justify-content:space-between;align-items:center;gap:var(--sg-space-3);margin-bottom:var(--sg-space-5);display:flex}.job-panel-head h2{font-size:var(--sg-fs-lg);font-weight:var(--sg-fw-semibold);margin:0}.job-form-grid{gap:var(--sg-space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.job-field-mt{margin-top:var(--sg-space-5)}.job-switches{gap:var(--sg-space-6);margin:var(--sg-space-5) 0;flex-wrap:wrap;display:flex}.job-totals{gap:var(--sg-space-2);flex-direction:column;display:flex}.job-totals__row{justify-content:space-between;gap:var(--sg-space-4);font-size:var(--sg-fs-sm);color:var(--sg-text-muted);display:flex}.job-totals__row .sg-num{color:var(--sg-text)}.job-totals__total{padding-top:var(--sg-space-3);margin-top:var(--sg-space-1);border-top:1px solid var(--sg-border);justify-content:space-between;align-items:baseline;display:flex}.job-totals__total b{font-size:var(--sg-fs-lg)}.job-tabnote{padding:var(--sg-space-7) var(--sg-space-5);text-align:center;color:var(--sg-text-muted)}@container app (width<=880px){.job-work{grid-template-columns:1fr}}@container app (width<=560px){.job-form-grid{grid-template-columns:1fr}}.op-nav{align-items:center;gap:var(--sg-space-3);align-self:flex-start;display:flex}.op-nav .sg-select{min-width:220px}.op-grid{gap:var(--sg-space-5);grid-template-columns:minmax(0,1fr) 360px;align-items:start;min-width:0;display:grid}.op-panel-head{justify-content:space-between;align-items:center;gap:var(--sg-space-3);margin-bottom:var(--sg-space-5);display:flex}.op-panel-head h2{font-size:var(--sg-fs-lg);font-weight:var(--sg-fw-semibold);margin:0}.op-label{font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-semibold);color:var(--sg-text-muted);margin-bottom:var(--sg-space-2)}.op-mt{margin-top:var(--sg-space-5)}.op-measure{gap:var(--sg-space-5);margin-top:var(--sg-space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.op-mstack{gap:var(--sg-space-3);flex-direction:column;display:flex}.op-mrow{align-items:center;gap:var(--sg-space-3);display:flex}.op-mrow__tag{font-size:var(--sg-fs-sm);color:var(--sg-text-muted);flex:0 0 56px}.op-gov{gap:var(--sg-space-2);margin-top:var(--sg-space-5);flex-direction:column;display:flex}.op-gov__row{justify-content:space-between;align-items:baseline;gap:var(--sg-space-4);font-size:var(--sg-fs-sm);color:var(--sg-text-muted);display:flex}.op-gov__row b{color:var(--sg-text);font-size:var(--sg-fs-md)}.op-legend{margin:var(--sg-space-1) 0 0;font-size:var(--sg-fs-xs);color:var(--sg-text-muted)}.op-warn{color:var(--sg-warning)}.op-attr-grid{gap:var(--sg-space-5);margin-top:var(--sg-space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.op-extras{gap:var(--sg-space-5);margin-top:var(--sg-space-2);flex-wrap:wrap;display:flex}.op-side{gap:var(--sg-space-5);top:var(--sg-space-5);flex-direction:column;display:flex;position:sticky}.op-side__h{margin:0 0 var(--sg-space-1);font-size:var(--sg-fs-md);font-weight:var(--sg-fw-semibold)}.op-side__sub{margin:0 0 var(--sg-space-4);font-size:var(--sg-fs-sm);color:var(--sg-text-muted)}.op-mesh-group{margin-bottom:var(--sg-space-4)}.op-mesh-group__label{font-size:var(--sg-fs-xs);font-weight:var(--sg-fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--sg-text-muted);margin-bottom:var(--sg-space-2)}.op-mesh{justify-content:space-between;align-items:center;gap:var(--sg-space-3);width:100%;padding:var(--sg-space-3) var(--sg-space-4);margin-bottom:var(--sg-space-2);border:1.5px solid var(--sg-border);border-radius:var(--sg-radius-md);background:var(--sg-surface);cursor:pointer;text-align:left;font:inherit;font-size:var(--sg-fs-sm);min-height:var(--sg-touch);transition:border-color var(--sg-transition), background var(--sg-transition);display:flex}.op-mesh:hover{border-color:var(--sg-blue-200)}.op-mesh.is-active{border-color:var(--sg-primary);background:var(--sg-blue-50);font-weight:var(--sg-fw-semibold)}.op-empty{font-size:var(--sg-fs-sm);color:var(--sg-text-muted)}.op-total{padding-top:var(--sg-space-3);border-top:1px solid var(--sg-border);justify-content:space-between;align-items:baseline;display:flex}.op-total b{font-size:var(--sg-fs-lg)}.op-total__sub{font-size:var(--sg-fs-sm);color:var(--sg-text-muted);margin-top:var(--sg-space-1);justify-content:space-between;display:flex}.op-note{margin:var(--sg-space-3) 0 0;font-size:var(--sg-fs-xs);color:var(--sg-text-muted)}.op-cut{gap:var(--sg-space-2);flex-direction:column;display:flex}.op-cut__row{justify-content:space-between;align-items:baseline;gap:var(--sg-space-4);font-size:var(--sg-fs-sm);color:var(--sg-text-muted);display:flex}.op-cut__row b{color:var(--sg-text);font-size:var(--sg-fs-md)}.op-file{display:none}.op-photo img{border-radius:var(--sg-radius-md);border:1px solid var(--sg-border);width:100%;display:block}.op-photo__actions{justify-content:flex-end;gap:var(--sg-space-2);margin-top:var(--sg-space-2);display:flex}.op-photo-add{border:1.5px dashed var(--sg-border-strong);border-radius:var(--sg-radius-md);width:100%;min-height:calc(var(--sg-touch) * 2);cursor:pointer;color:var(--sg-blue-700);font:inherit;font-weight:var(--sg-fw-semibold);font-size:var(--sg-fs-sm);background:0 0}.op-photo-add:hover{background:var(--sg-blue-50);border-color:var(--sg-blue-300)}@container app (width<=880px){.op-grid{grid-template-columns:1fr}.op-side{position:static}}@container app (width<=560px){.op-measure,.op-attr-grid{grid-template-columns:1fr}}.quote-screen{align-items:center}.quote-doc{background:var(--sg-surface,#fff);width:100%;max-width:820px;color:var(--sg-text,#0f172a);border:1px solid var(--sg-border);border-radius:var(--sg-radius-lg);box-shadow:var(--sg-shadow-md);padding:clamp(var(--sg-space-5), 4vw, var(--sg-space-7));gap:var(--sg-space-6);flex-direction:column;display:flex}.quote-head{justify-content:space-between;align-items:flex-start;gap:var(--sg-space-5);border-bottom:2px solid var(--sg-navy-800,var(--sg-border));padding-bottom:var(--sg-space-5);flex-wrap:wrap;display:flex}.quote-brand{gap:var(--sg-space-3);flex-direction:column;display:flex}.quote-logo{align-self:flex-start;width:auto;height:48px}.quote-org{font-size:var(--sg-fs-sm);color:var(--sg-text-muted);flex-direction:column;gap:2px;display:flex}.quote-meta{text-align:right}.quote-meta h1{margin:0 0 var(--sg-space-3);font-size:var(--sg-fs-xl);letter-spacing:.02em;text-transform:uppercase;color:var(--sg-navy-800,var(--sg-text))}.quote-meta dl{gap:4px var(--sg-space-3);grid-template-columns:auto auto;justify-content:end;margin:0;display:grid}.quote-meta dt{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);text-align:right}.quote-meta dd{font-weight:var(--sg-fw-semibold);text-align:right;margin:0}.quote-billto h2,.quote-terms-block h2,.quote-gallery h2{margin:0 0 var(--sg-space-2);font-size:var(--sg-fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--sg-text-muted)}.quote-billto p{margin:0;line-height:1.5}.quote-billto__name{font-weight:var(--sg-fw-semibold);font-size:var(--sg-fs-lg)}.quote-billto__contact{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);margin-top:2px!important}.quote-table{border-collapse:collapse;width:100%;font-size:var(--sg-fs-sm)}.quote-table thead th{text-align:left;font-size:var(--sg-fs-xs,var(--sg-fs-sm));text-transform:uppercase;letter-spacing:.04em;color:var(--sg-text-muted);border-bottom:1px solid var(--sg-border);padding:0 var(--sg-space-3) var(--sg-space-2)}.quote-table tbody td{padding:var(--sg-space-3);border-bottom:1px solid var(--sg-border);vertical-align:top}.quote-table__amt{text-align:right;white-space:nowrap}.quote-table__size{white-space:nowrap;color:var(--sg-text-muted)}.quote-table__loc{font-weight:var(--sg-fw-semibold);white-space:nowrap}.quote-desc{line-height:1.4}.quote-desc__sub{color:var(--sg-text-muted);font-size:var(--sg-fs-xs,var(--sg-fs-sm));margin-top:2px}.quote-table__empty{text-align:center;color:var(--sg-text-muted);padding:var(--sg-space-5)!important}.quote-foot{justify-content:space-between;gap:var(--sg-space-6);flex-wrap:wrap;display:flex}.quote-terms-block{flex:240px;min-width:220px}.quote-terms{font-size:var(--sg-fs-xs,var(--sg-fs-sm));color:var(--sg-text-muted);max-width:42ch;margin:0;line-height:1.5}.quote-totals{flex:0 320px;align-self:flex-start;min-width:260px}.quote-totals__row{justify-content:space-between;gap:var(--sg-space-4);padding:var(--sg-space-2) 0;display:flex}.quote-totals__row--grand{border-top:1px solid var(--sg-border);margin-top:var(--sg-space-2);padding-top:var(--sg-space-3);font-size:var(--sg-fs-lg)}.quote-totals__row--due{border-top:2px solid var(--sg-navy-800,var(--sg-border));margin-top:var(--sg-space-2);padding-top:var(--sg-space-3);font-size:var(--sg-fs-lg);color:var(--sg-navy-800,var(--sg-text))}.quote-warn{color:var(--sg-warning);font-size:var(--sg-fs-sm);margin:0}.quote-warn__lead{margin:0 0 var(--sg-space-2);font-weight:600}.quote-warn__list{padding-left:var(--sg-space-5);gap:var(--sg-space-1);margin:0;display:grid}.quote-bottom{border-top:1px solid var(--sg-border);padding-top:var(--sg-space-4);text-align:center;color:var(--sg-text-muted);font-size:var(--sg-fs-sm)}.quote-gallery__grid{gap:var(--sg-space-4);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.quote-gallery__item{margin:0}.quote-gallery__item img{object-fit:contain;border:1px solid var(--sg-border);border-radius:var(--sg-radius-md,8px);background:#fff;width:100%;height:140px}.quote-gallery__item figcaption{margin-top:var(--sg-space-2);font-size:var(--sg-fs-sm);color:var(--sg-text-muted)}@media print{body *{visibility:hidden}.quote-doc,.quote-doc *{visibility:visible}.quote-doc{width:100%;max-width:none;box-shadow:none;border:none;border-radius:0;padding:0;position:absolute;inset:0 auto auto 0}.quote-noprint{display:none!important}@page{margin:14mm}}.invoice-screen{align-items:center}.invoice-doc{background:var(--sg-surface,#fff);width:100%;max-width:820px;color:var(--sg-text,#0f172a);border:1px solid var(--sg-border);border-radius:var(--sg-radius-lg);box-shadow:var(--sg-shadow-md);padding:clamp(var(--sg-space-5), 4vw, var(--sg-space-7));gap:var(--sg-space-6);flex-direction:column;display:flex}.invoice-head{justify-content:space-between;align-items:flex-start;gap:var(--sg-space-5);border-bottom:2px solid var(--sg-navy-800,var(--sg-border));padding-bottom:var(--sg-space-5);flex-wrap:wrap;display:flex}.invoice-brand{gap:var(--sg-space-3);flex-direction:column;display:flex}.invoice-logo{align-self:flex-start;width:auto;height:48px}.invoice-org{font-size:var(--sg-fs-sm);color:var(--sg-text-muted);flex-direction:column;gap:2px;display:flex}.invoice-meta{text-align:right}.invoice-meta h1{margin:0 0 var(--sg-space-3);font-size:var(--sg-fs-xl);letter-spacing:.02em;text-transform:uppercase;color:var(--sg-navy-800,var(--sg-text))}.invoice-meta dl{gap:4px var(--sg-space-3);grid-template-columns:auto auto;justify-content:end;margin:0;display:grid}.invoice-meta dt{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);text-align:right}.invoice-meta dd{font-weight:var(--sg-fw-semibold);text-align:right;margin:0}.invoice-billto h2,.invoice-pay h2,.invoice-gallery h2{margin:0 0 var(--sg-space-2);font-size:var(--sg-fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--sg-text-muted)}.invoice-billto p{margin:0;line-height:1.5}.invoice-billto__name{font-weight:var(--sg-fw-semibold);font-size:var(--sg-fs-lg)}.invoice-billto__contact{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);margin-top:2px!important}.invoice-table{border-collapse:collapse;width:100%;font-size:var(--sg-fs-sm)}.invoice-table thead th{text-align:left;font-size:var(--sg-fs-xs,var(--sg-fs-sm));text-transform:uppercase;letter-spacing:.04em;color:var(--sg-text-muted);border-bottom:1px solid var(--sg-border);padding:0 var(--sg-space-3) var(--sg-space-2)}.invoice-table tbody td{padding:var(--sg-space-3);border-bottom:1px solid var(--sg-border);vertical-align:top}.invoice-table__amt{text-align:right;white-space:nowrap}.invoice-table__size{white-space:nowrap;color:var(--sg-text-muted)}.invoice-table__loc{font-weight:var(--sg-fw-semibold);white-space:nowrap}.invoice-desc{line-height:1.4}.invoice-desc__sub{color:var(--sg-text-muted);font-size:var(--sg-fs-xs,var(--sg-fs-sm));margin-top:2px}.invoice-table__empty{text-align:center;color:var(--sg-text-muted);padding:var(--sg-space-5)!important}.invoice-foot{justify-content:space-between;gap:var(--sg-space-6);flex-wrap:wrap;display:flex}.invoice-pay{flex:240px;min-width:220px}.invoice-pay dl{gap:4px var(--sg-space-4);font-size:var(--sg-fs-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.invoice-pay dt{color:var(--sg-text-muted)}.invoice-pay dd{font-weight:var(--sg-fw-medium);margin:0}.invoice-terms{margin:var(--sg-space-4) 0 0;font-size:var(--sg-fs-xs,var(--sg-fs-sm));color:var(--sg-text-muted);max-width:36ch;line-height:1.5}.invoice-totals{flex:0 320px;align-self:flex-start;min-width:260px}.invoice-totals__row{justify-content:space-between;gap:var(--sg-space-4);padding:var(--sg-space-2) 0;display:flex}.invoice-totals__row--muted{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);padding:2px 0}.invoice-totals__row--grand{border-top:1px solid var(--sg-border);margin-top:var(--sg-space-2);padding-top:var(--sg-space-3);font-size:var(--sg-fs-lg)}.invoice-totals__row--due{border-top:2px solid var(--sg-navy-800,var(--sg-border));margin-top:var(--sg-space-2);padding-top:var(--sg-space-3);font-size:var(--sg-fs-lg);color:var(--sg-navy-800,var(--sg-text))}.invoice-warn{color:var(--sg-warning);font-size:var(--sg-fs-sm);margin:0}.invoice-warn__lead{margin:0 0 var(--sg-space-2);font-weight:600}.invoice-warn__list{padding-left:var(--sg-space-5);gap:var(--sg-space-1);margin:0;display:grid}.invoice-bottom{border-top:1px solid var(--sg-border);padding-top:var(--sg-space-4);text-align:center;color:var(--sg-text-muted);font-size:var(--sg-fs-sm)}.invoice-gallery__grid{gap:var(--sg-space-4);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.invoice-gallery__item{margin:0}.invoice-gallery__item img{object-fit:contain;border:1px solid var(--sg-border);border-radius:var(--sg-radius-md,8px);background:#fff;width:100%;height:140px}.invoice-gallery__item figcaption{margin-top:var(--sg-space-2);font-size:var(--sg-fs-sm);color:var(--sg-text-muted)}@media print{body *{visibility:hidden}.invoice-doc,.invoice-doc *{visibility:visible}.invoice-doc{width:100%;max-width:none;box-shadow:none;border:none;border-radius:0;padding:0;position:absolute;inset:0 auto auto 0}.invoice-noprint{display:none!important}@page{margin:14mm}}.door-body{flex:auto;grid-template-columns:minmax(0,1fr) 372px;min-height:0;display:grid}.door-viewport{background:radial-gradient(120% 90% at 50% 16%,#20303f 0%,#141b24 55%,#0d1218 100%);min-width:0;position:relative;overflow:hidden}.door-stage,.door-host{position:absolute;inset:0}.door-host canvas{display:block}.door-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.dimlabel{font-family:var(--sg-font-mono);letter-spacing:.02em;color:#06222f;background:var(--sg-sky-400);border-radius:var(--sg-radius-pill);white-space:nowrap;padding:3px 8px;font-size:12.5px;font-weight:600;transform:translate(-50%,-50%);box-shadow:0 2px 6px #00000059}.dimlabel.is-gov{color:#3a2600;background:#f5a623;box-shadow:0 2px 8px #f5a62380}.door-hint{left:var(--sg-space-4);bottom:var(--sg-space-4);color:#c6d2dd;font-size:var(--sg-fs-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--sg-radius-pill);background:#0d12188c;border:1px solid #ffffff14;align-items:center;gap:8px;padding:7px 12px;display:inline-flex;position:absolute}.door-hint svg{opacity:.8;width:17px;height:17px}.door-spec{right:var(--sg-space-4);top:var(--sg-space-4);gap:var(--sg-space-2);display:flex;position:absolute}.door-spec span{font-family:var(--sg-font-mono);font-size:var(--sg-fs-sm);color:#eaf1f7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--sg-radius-md);background:#0d12188c;border:1px solid #ffffff14;padding:6px 12px}.door-tag{left:var(--sg-space-4);top:var(--sg-space-4);font-size:var(--sg-fs-xs);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--sg-radius-pill);align-items:center;gap:7px;padding:6px 11px;font-weight:600;display:inline-flex;position:absolute}.door-tag.is-measure{color:#ffe3b0;background:#f5a62329;border:1px solid #f5a62366}.door-tag.is-preview{color:#bfe6ff;background:#30a8e429;border:1px solid #30a8e466}.door-tag .dot{background:currentColor;border-radius:50%;width:7px;height:7px}.door-controls{border-left:1px solid var(--sg-border);background:var(--sg-surface);padding:var(--sg-space-5);gap:var(--sg-space-5);flex-direction:column;display:flex;overflow:auto}.door-controls .door-label{font-size:var(--sg-fs-xs);font-weight:var(--sg-fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--sg-neutral-400);margin-bottom:var(--sg-space-3)}.door-controls .sg-segmented{width:100%}.door-controls .sg-segmented__btn{flex:1}.door-mrow{align-items:center;gap:var(--sg-space-3);display:flex}.door-mrow__tag{width:52px;font-size:var(--sg-fs-sm);font-weight:var(--sg-fw-semibold);color:var(--sg-text-muted);flex:none}.door-mrow .sg-dim{flex:1}.door-mstack{gap:var(--sg-space-3);flex-direction:column;display:flex}.door-group{gap:var(--sg-space-5);flex-direction:column;display:flex}.door-summary .sg-card{padding:var(--sg-space-4) var(--sg-space-5)}.door-summary__row{justify-content:space-between;gap:var(--sg-space-3);font-size:var(--sg-fs-sm);color:var(--sg-text-muted);padding:4px 0;display:flex}.door-summary__row b{color:var(--sg-text);font-family:var(--sg-font-mono);font-weight:var(--sg-fw-semibold)}.door-summary__row b.warn{color:var(--sg-warning)}.door-legend{margin-top:var(--sg-space-3);padding-top:var(--sg-space-3);border-top:1px solid var(--sg-border);font-size:var(--sg-fs-xs);color:var(--sg-text-muted);align-items:center;gap:8px;display:flex}.door-legend .sw{background:#f5a623;border-radius:4px;flex:none;width:14px;height:14px}@media (width<=1023px){.door-body{grid-template-rows:minmax(280px,1fr) auto;grid-template-columns:1fr;overflow-y:auto}.door-controls{border-left:none;border-top:1px solid var(--sg-border);overflow:visible}}
