:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f7f8fb;--foreground:#16202e;--muted:#657286;--border:#d9e0ea;--panel:#fff;--accent:#b51d2a}*{box-sizing:border-box}html,body{background:var(--background);min-height:100%;color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}main{min-height:100vh}.shell{width:min(960px,100% - 32px);margin:0 auto;padding:32px 0}.board-shell{width:min(1480px,100% - 24px);margin:0 auto;padding:24px 0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.muted{color:var(--muted)}.stack{gap:16px;display:grid}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.desk-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:16px;display:grid}.button{background:var(--accent);color:#fff;border:0;border-radius:6px;align-items:center;min-height:44px;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.7}.button-row{flex-wrap:wrap;gap:10px;display:flex}.home-brand-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.home-brand-header img{object-fit:contain;max-width:min(220px,100%);max-height:56px;display:block}.home-brand-header h1{margin:0}.secondary-button{background:#27364a}.form{max-width:420px}.field{gap:6px;font-weight:700;display:grid}.field input,.field select,.field textarea{border:1px solid var(--border);color:var(--foreground);font:inherit;border-radius:6px;min-height:44px;padding:0 12px}.field textarea{resize:vertical;min-height:88px;padding:10px 12px}.password-input-wrap{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.password-input-wrap input{min-width:0}.password-toggle{color:#fff;cursor:pointer;font:inherit;background:#27364a;border:0;border-radius:6px;min-width:78px;min-height:44px;padding:0 12px;font-weight:700}.wide-form{max-width:720px}.item-edit-form{max-width:none}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.check-grid{flex-wrap:wrap;gap:12px 18px;display:flex}.fieldset-grid{border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;gap:12px 18px;margin:0;padding:14px;display:flex}.fieldset-grid legend{color:var(--muted);padding:0 6px;font-weight:700}.checkbox-field{align-items:center;gap:8px;font-weight:700;display:flex}.checkbox-field input{min-height:auto}.mode-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.mode-button{border:1px solid var(--border);color:var(--foreground);cursor:pointer;font:inherit;text-align:left;background:#fff;border-radius:8px;gap:6px;padding:16px;display:grid}.mode-button span{color:var(--muted)}.mode-button-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.notice{color:#5d4700;background:#fff7df;border:1px solid #ebcf87;border-radius:6px;padding:10px 12px}.notice p{margin:0}.divider{border-top:1px solid var(--border)}.section-title{margin:6px 0 0;font-size:20px}.danger-notice{color:#8f1420;background:#fff1f2;border:2px solid #b51d2a;border-radius:6px;gap:12px;padding:12px;display:grid}.danger-button{background:#8f1420}.history-version-cell{background:#f8fafc;padding:14px}.history-version-cell h3{margin:0 0 10px;font-size:16px}.nested-table-wrap{border:1px solid var(--border);border-radius:6px}.nested-table{min-width:640px}.retired-row{color:var(--muted);background:#f1f4f8}.status-chip,.retired-chip{border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.status-chip{color:#17692f;background:#e6f5ea}.retired-chip{color:#8f1420;background:#fff1f2}.category-settings-list{gap:8px;display:grid}.category-settings-row{border:1px solid var(--border);background:#f7f8fb;border-radius:6px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:58px;padding:8px 10px;display:grid}.category-settings-row div:first-child{gap:2px;display:grid}.category-settings-row span{color:var(--muted);font-size:12px}.category-toggle{min-height:44px}.help-details{border:1px solid var(--border);border-radius:6px;padding:12px}.help-details summary{cursor:pointer;font-weight:700}.help-copy{color:var(--muted);gap:8px;padding-top:12px;display:grid}.help-copy p{margin:0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px}th{color:var(--muted);text-transform:uppercase;font-size:12px}.small-button{color:#fff;cursor:pointer;font:inherit;background:#27364a;border:0;border-radius:6px;min-height:36px;padding:0 10px;font-weight:700}.small-link{color:#8f1420;font-weight:700}select{border:1px solid var(--border);color:var(--foreground);font:inherit;border-radius:6px;min-height:36px;padding:0 10px}.setup-list{margin:0;padding-left:22px}.setup-list li{margin:8px 0}.mfa-setup-grid{grid-template-columns:minmax(180px,280px) 1fr;align-items:start;gap:18px;display:grid}.qr-code{border:1px solid var(--border);border-radius:8px;width:100%}.manual-code{border:1px solid var(--border);overflow-wrap:anywhere;background:#f1f4f8;border-radius:6px;padding:12px;font-family:Courier New,monospace;font-size:18px}.recovery-code-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.recovery-code{border:1px solid var(--border);color:var(--foreground);text-align:center;background:#f1f4f8;border-radius:6px;padding:12px;font-family:Courier New,monospace;font-size:18px;font-weight:700}@media (max-width:620px){.mfa-setup-grid{grid-template-columns:1fr}}.form-error{color:#8f1420;background:#fff1f2;border:1px solid #f1b6be;border-radius:6px;margin:0;padding:10px 12px}.dispatch-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dispatch-toolbar input{border:1px solid var(--border);font:inherit;border-radius:6px;min-height:36px;padding:0 10px}.segmented-control{border:1px solid var(--border);background:#edf1f6;border-radius:6px;padding:3px;display:inline-flex}.segmented-control button{color:var(--foreground);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:4px;min-height:34px;padding:0 12px;font-weight:700}.segmented-control .active{background:#fff;box-shadow:0 1px 3px #16202e1f}.dispatch-layout{grid-template-columns:minmax(240px,280px) minmax(250px,310px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.dispatch-sidebar,.place-panel{position:sticky;top:12px}.dispatch-sidebar h2,.place-panel h2,.dispatch-board-panel h2{margin:0;font-size:18px}.job-card-list{gap:10px;display:grid}.dispatch-card,.job-block,.match-button,.week-day{text-align:left}.dispatch-card{border:1px solid var(--border);color:var(--foreground);cursor:pointer;font:inherit;background:#f3f5f8;border-left:5px solid #7d8795;border-radius:6px;gap:3px;width:100%;min-height:96px;padding:10px;display:grid}.dispatch-card span,.dispatch-card small,.job-block span{color:var(--muted);font-size:12px}.dispatch-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.dispatch-card.status-hold{background:#fff7ed;border-left-color:#e07816}.dispatch-grid-scroll{border:1px solid var(--border);border-radius:6px;max-height:760px;overflow:auto}.dispatch-grid{min-width:820px;display:grid}.dispatch-head{border-bottom:1px solid var(--border);border-right:1px solid var(--border);z-index:2;background:#f7f8fb;gap:8px;min-height:92px;padding:10px;display:grid;position:sticky;top:0}.time-head{z-index:3;left:0}.time-cell{border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--muted);z-index:1;background:#f7f8fb;min-height:48px;padding:8px;font-size:12px;font-weight:700;position:sticky;left:0}.slot-cell{border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:#fff;min-height:48px;padding:3px}.slot-cell:hover,.on-deck-drop:hover{background:#edf6ff}.on-deck-drop{background:#fff7ed;border:1px dashed #e07816;border-radius:6px;flex-wrap:wrap;align-items:center;gap:5px;min-height:42px;padding:5px;display:flex}.hold-chip{color:#fff;cursor:pointer;font:inherit;text-overflow:ellipsis;white-space:nowrap;background:#e07816;border:0;border-radius:999px;max-width:100%;padding:5px 8px;font-size:12px;font-weight:700;overflow:hidden}.job-block{color:var(--foreground);cursor:pointer;font:inherit;background:#e8f2ff;border:1px solid #8ebbea;border-left:5px solid #2f78c6;border-radius:6px;gap:2px;width:100%;min-height:42px;padding:6px;display:grid;overflow:hidden}.slot-cell-scheduled .job-block{height:100%}.job-block.status-done{background:#e6f5ea;border-color:#8dcc9b #8dcc9b #8dcc9b #18803b}.job-block.field-on_the_way,.dispatch-card.field-on_the_way{background:#fff7df;border-left-color:#d99116}.job-block.field-on_site,.dispatch-card.field-on_site{background:#e8f2ff;border-left-color:#2f78c6}.job-block.field-completed,.dispatch-card.field-completed{background:#e6f5ea;border-left-color:#18803b}.job-block.status-hold,.hold-button{background:#e07816}.job-popover{max-width:560px;position:sticky;bottom:16px;box-shadow:0 16px 40px #16202e2e}.week-board{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.week-day{border:1px solid var(--border);color:var(--foreground);cursor:pointer;font:inherit;background:#fff;border-radius:6px;gap:6px;min-height:128px;padding:12px;display:grid}.week-day span{color:var(--muted);font-size:12px}.match-list{gap:8px;display:grid}.match-button{border:1px solid var(--border);color:var(--foreground);cursor:pointer;font:inherit;background:#f7f8fb;border-radius:6px;gap:4px;min-height:42px;padding:8px 10px;display:grid}.match-button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.match-warning{color:#8f1420;font-size:12px;font-weight:700}.estimate-line-list,.estimate-line-summary,.estimate-action-list{gap:10px;display:grid}.estimate-line-editor{border:1px solid var(--border);border-radius:6px;grid-template-columns:minmax(220px,1.2fr) minmax(180px,1fr) minmax(80px,.4fr) minmax(120px,.6fr);gap:12px;padding:12px;display:grid}.estimate-line-description{grid-column:1/-1}.estimate-total{color:var(--foreground);align-items:center;min-height:44px;font-weight:700;display:inline-flex}.field-shell{width:min(1120px,100% - 24px);margin:0 auto;padding:18px 0}.field-hero,.field-appointment{background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:14px;padding:18px;display:grid}.field-hero{grid-template-columns:1fr auto;align-items:center}.field-hero h1,.field-appointment h1{margin:4px 0;font-size:34px}.field-grid{grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);align-items:start;gap:16px;display:grid}.month-grid{grid-template-columns:repeat(7,minmax(38px,1fr));gap:6px;display:grid}.month-day{border:1px solid var(--border);color:var(--foreground);cursor:pointer;font:inherit;text-align:left;background:#fff;border-radius:6px;gap:4px;min-height:54px;padding:8px;display:grid}.month-day strong{background:var(--accent);color:#fff;border-radius:999px;place-items:center;width:22px;height:22px;font-size:12px;display:inline-grid}.month-day.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.month-day.today span{color:var(--accent);font-weight:700}.field-job-list,.ledger-list{gap:10px;display:grid}.field-job-row{border:1px solid var(--border);color:var(--foreground);background:#f7f8fb;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:54px;padding:10px;display:grid}.field-job-main{color:var(--foreground);grid-template-columns:84px minmax(0,1fr) auto auto;align-items:center;gap:8px;text-decoration:none;display:grid}.field-complete-button{color:#fff;cursor:pointer;font:inherit;background:#17692f;border:0;border-radius:6px;justify-self:end;min-width:132px;min-height:44px;padding:0 14px;font-weight:700}.field-complete-button:disabled{cursor:wait;opacity:.65}.field-chip{border-radius:999px;padding:5px 8px;font-size:12px;font-style:normal;font-weight:700}.field-not_started{color:#48566a;background:#edf1f6}.field-on_the_way{color:#7b5100;background:#fff7df}.field-on_site{color:#1f5f9c;background:#e8f2ff}.field-completed{color:#17692f;background:#e6f5ea}.field-appointment{min-height:min(720px,100vh - 36px)}.field-appointment-top{justify-content:space-between;display:flex}.call-link{color:var(--accent);font-size:28px;font-weight:700}.appointment-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.appointment-info-grid div{border:1px solid var(--border);background:#f7f8fb;border-radius:6px;gap:5px;padding:12px;display:grid}.field-status-buttons{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.field-status-button{border:2px solid var(--border);color:var(--foreground);cursor:pointer;font:inherit;border-radius:8px;min-height:92px;padding:10px;font-size:20px;font-weight:700}.field-status-button.confirmed{border-color:currentColor;box-shadow:inset 0 0 0 2px}.ledger-row{border:1px solid var(--border);background:#f7f8fb;border-radius:6px;gap:4px;padding:10px;display:grid}.ledger-row p{margin:0}.estimate-workspace{gap:10px;min-height:auto;padding:12px}.estimate-workspace h2,.estimate-inbox-row p,.estimate-line-card p{margin:0}.estimate-workspace h1{margin:2px 0;font-size:26px;line-height:1.1}.estimate-workspace .panel{padding:12px}.estimate-workspace .help-details{padding:10px}.estimate-save-state{align-items:center;min-height:42px;display:flex}.estimate-save-state>*{width:100%}.estimate-save-state p{margin:0}.estimate-workspace .small-button,.estimate-workspace .category-chip{min-height:44px}.estimate-job-screen,.estimate-pick-screen{min-width:0}.estimate-job-screen,.estimate-pick-screen,.estimate-line-list{gap:8px}.estimate-add-work{min-width:min(100%,240px);min-height:56px}.estimate-line-card{border:1px solid var(--border);background:#fff;border-radius:6px;gap:8px;min-height:48px;padding:6px;display:grid}.estimate-line-card.pulse{border-color:#18803b;box-shadow:inset 0 0 0 2px #18803b}.estimate-line-collapsed-row{color:var(--foreground);cursor:pointer;font:inherit;text-align:left;background:#fff;border:0;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;width:100%;min-height:44px;padding:4px;display:grid}.estimate-line-title{gap:2px;min-width:0;display:grid}.estimate-line-title strong,.estimate-line-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.estimate-line-title span{font-size:12px}.line-tier-pill{border:1px solid var(--border);color:#27364a;background:#edf1f6;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:700}.line-qty{color:var(--muted);font-size:13px;font-weight:700}.price-pill{color:#fff;cursor:pointer;font:inherit;background:#27364a;border:0;border-radius:999px;width:fit-content;min-height:44px;padding:0 14px;font-weight:700}.price-pill:disabled{cursor:default;opacity:.75}.qty-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qty-row strong{text-align:center;min-width:34px}.compact-price-field{max-width:220px}.price-provenance{color:var(--muted);font-size:13px;font-weight:700}.price-provenance.edited{color:#8f1420}.line-fine-print{background:#fff7df;border:1px solid #ebcf87;border-radius:6px;padding:8px 10px}.estimate-fine-print-summary{gap:4px;display:grid}.estimate-fine-print-summary ul{margin:0;padding-left:18px}.estimate-total-bar{color:#fff;z-index:2;background:#16202e;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;min-height:54px;padding:8px 10px;display:flex;position:sticky;bottom:8px}.estimate-total-bar div{gap:3px;display:grid}.estimate-total-bar span{color:#d9e0ea;font-size:12px}.estimate-options-actions{gap:8px}.category-chip-row{flex-wrap:wrap;gap:6px;display:flex}.category-chip{border:1px solid var(--border);color:var(--foreground);cursor:pointer;font:inherit;background:#edf1f6;border-radius:999px;min-height:36px;padding:0 12px;font-weight:700}.category-chip.active{color:#fff;background:#27364a;border-color:#27364a}.picker-list{gap:8px;display:grid}.picker-row{border:1px solid var(--border);color:var(--foreground);cursor:pointer;font:inherit;text-align:left;background:#fff;border-radius:8px;gap:5px;min-height:68px;padding:12px;display:grid}.picker-row span,.picker-row small{color:var(--muted)}.picker-row.disabled{cursor:not-allowed;opacity:.75;background:#f1f4f8}.estimate-inbox-list{gap:10px;display:grid}.estimate-inbox-row{border:1px solid var(--border);background:#f7f8fb;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;display:grid}.estimate-inbox-side{place-items:end;gap:8px;min-width:160px;display:grid}.warning-chip{color:#7b5100;background:#fff7df}.signed-chip,.signed-dot{color:#116232;background:#e5f7ed}.signed-dot{border-radius:999px;margin-left:6px;padding:2px 6px;font-size:10px;font-weight:800;display:inline-block}.invoice-topline,.invoice-actions,.invoice-preview-total,.invoice-document-header,.invoice-document-meta,.invoice-document-total,.invoice-document-footer{justify-content:space-between;align-items:start;gap:14px;display:flex}.invoice-actions{flex-wrap:wrap;justify-content:flex-end}.invoice-total-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.invoice-metric{border:1px solid var(--border);background:#f7f8fb;border-radius:6px;gap:4px;padding:12px;display:grid}.invoice-metric span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.invoice-metric.strong{color:#fff;background:#16202e}.invoice-line-edit-list{gap:10px;display:grid}.invoice-line-editor{border:1px solid var(--border);border-radius:6px;grid-template-columns:minmax(220px,1fr) 90px 140px 120px auto;gap:10px;padding:12px;display:grid}.invoice-description{grid-column:1/-1}.invoice-taxable{align-self:end;min-height:44px}.invoice-preview-total{border:1px solid var(--border);background:#f7f8fb;border-radius:6px;flex-wrap:wrap;padding:12px}.invoice-payment-row{grid-template-columns:1fr auto}.invoice-paid{color:#116232;background:#e5f7ed}.invoice-open,.invoice-issued{color:#1f5f9c;background:#e8f2ff}.invoice-on_hold{color:#7a4d00;background:#fff7d6}.invoice-void{color:#8f1420;background:#fff1f2}.invoice-merged{color:#4b5563;background:#eef0f3}.tech-invoice-actions{justify-content:flex-start}.tech-invoice-workspace{width:100%;max-width:1120px;margin:0 auto}.tech-invoice-topbar{background:var(--panel);border:1px solid var(--border);border-radius:8px;align-items:center;padding:10px 12px}.tech-invoice-line{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center}.tech-invoice-line p{grid-column:1/-1;margin:0}.tech-summary-editor textarea{color:#111827;font:inherit;resize:vertical;border:1px solid #c5d0df;border-radius:4px;width:100%;min-height:112px;padding:10px;line-height:1.45}.tech-summary-editor textarea:disabled{color:#4b5563;background:#eef2f7}.tech-summary-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.tech-summary-actions .button,.tech-record-payment .button{width:100%}.tech-payment-tools{gap:12px;display:grid}.tech-record-payment{background:#f8fbff}.tech-card-reader-payment{background:#eefaf3}.tech-card-reader-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.test-mode-chip{color:#fff;background:#1f2937}.tech-card-reader-payment p{margin:0}.tech-record-payment form{gap:10px}.tech-record-payment .field{color:#08275c;text-transform:uppercase;font-size:12px;font-weight:800}.tech-record-payment input,.tech-record-payment select{margin-top:5px}.tech-payment-history{background:#f7fbf9}.tech-line-editor{gap:12px;max-width:100%;overflow-x:hidden}.tech-line-list,.tech-line-row,.tech-add-line-grid{gap:10px;min-width:0;display:grid}.tech-line-row{border-bottom:1px solid #0f172a1f;grid-template-columns:minmax(220px,1fr) minmax(74px,.25fr) minmax(96px,.35fr) minmax(88px,auto);align-items:end;padding-bottom:10px}.tech-line-row .field,.tech-add-line-grid .field,.tech-line-row input,.tech-add-line-grid select{width:100%;min-width:0}.tech-line-row .muted{grid-column:1/-1}.tech-add-line-grid{grid-template-columns:minmax(260px,1fr) minmax(126px,.35fr) minmax(130px,auto) minmax(112px,auto);align-items:end}.tech-add-line-grid .small-button{width:100%}.board-edit-panel{max-width:980px}@media (max-width:980px){.tech-line-row,.tech-add-line-grid{grid-template-columns:1fr}}.tech-paid-notice{align-items:center;gap:10px;display:flex}.invoice-document{color:#111827;background:#fff;gap:28px;max-width:900px;min-height:calc(100vh - 48px);margin:0 auto;padding:36px;display:grid}.invoice-document h1,.invoice-document p{margin:0}.invoice-business-block,.invoice-number-block,.invoice-document-meta div,.invoice-document-terms{gap:6px;display:grid}.invoice-business-block h1{font-size:28px}.invoice-number-block{text-align:right;justify-items:end}.invoice-number-block strong{color:var(--accent);font-size:34px}.invoice-number-block span{font-size:24px;font-weight:700}.invoice-document-meta{border-top:2px solid #111827;border-bottom:2px solid #111827;padding:18px 0}.invoice-document-meta span{color:#4b5563;text-transform:uppercase;font-size:12px;font-weight:700}.invoice-document-lines{min-width:0}.invoice-document-lines th,.invoice-document-lines td{padding:12px 8px}.invoice-document-lines th:nth-child(n+2),.invoice-document-lines td:nth-child(n+2){text-align:right}.invoice-document-lines p{color:#4b5563;margin-top:4px;line-height:1.45}.invoice-document-total-wrap{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:24px;display:grid}.invoice-document-terms p,.invoice-document-terms li{color:#4b5563;line-height:1.5}.invoice-document-terms ul{margin:0;padding-left:20px}.invoice-document-totals{border:1px solid #111827;border-radius:6px;overflow:hidden}.invoice-document-total{border-bottom:1px solid var(--border);padding:12px}.invoice-document-total:last-child{border-bottom:0}.invoice-document-total.strong{color:#fff;background:#111827;font-size:20px}.invoice-document-footer{border-top:1px solid var(--border);color:#4b5563;padding-top:16px}.invoice-document-page{background:#eef2f7;min-height:100vh;padding:24px}.invoice-document{border:1px solid var(--invoice-header-border,#0b2a5b);color:#081f46;background:#fff;border-radius:6px;gap:0;max-width:1120px;min-height:auto;margin:0 auto;padding:0;display:grid;position:relative;box-shadow:0 20px 60px #0f172a24}.invoice-document-paid{border-color:var(--invoice-paid-accent,#19a15f)}.invoice-document h1,.invoice-document h2,.invoice-document h3,.invoice-document p{margin:0}.invoice-document-ribbon{background:var(--invoice-header-border,#08275c);color:var(--invoice-accent-text,#fff);border-radius:0 0 6px 6px;justify-self:center;margin-top:-1px;padding:10px 46px;font-size:18px;font-weight:800;transform:translateY(-100%)}.invoice-document-ribbon.paid{background:var(--invoice-paid-accent,#20a760);color:var(--invoice-paid-text,#fff)}.invoice-document-header{background:var(--invoice-header-bg,#fff);border-bottom:1px solid var(--invoice-header-border,#b8c3d6);color:var(--invoice-header-text,#081f46);grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:center;gap:20px;padding:18px 22px;display:grid}.invoice-disclosure{grid-template-columns:72px minmax(180px,260px) minmax(220px,1fr);align-items:center;gap:18px;display:grid}.invoice-disclosure h2{color:var(--invoice-alert-accent,#c1121f);font-size:15px}.invoice-disclosure p,.invoice-business-contact,.invoice-work-row p,.invoice-payment-detail span{color:#1f2937;font-size:13px;line-height:1.4}.invoice-seal,.invoice-source-badge{background:var(--invoice-seal-bg,#08275c);color:var(--invoice-seal-text,#fff);border-radius:999px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.invoice-seal{width:64px;height:64px}.invoice-logo-block{text-align:right;justify-items:end;gap:8px;display:grid}.invoice-logo-block img{object-fit:contain;max-width:320px;max-height:95px}.invoice-logo-placeholder{border:2px solid var(--invoice-header-border,#08275c);color:var(--invoice-header-border,#08275c);text-align:center;text-transform:uppercase;align-items:center;min-height:86px;padding:12px 18px;display:grid}.invoice-logo-placeholder strong{font-size:28px;line-height:1}.invoice-business-contact{gap:2px;display:grid}.invoice-document-main-grid{grid-template-columns:minmax(0,1fr) 280px;gap:16px;padding:18px 22px;display:grid}.invoice-document-left,.invoice-document-right{align-content:start;gap:14px;display:grid}.invoice-document-info-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.invoice-document-info-grid>div{border-right:1px solid #b8c3d6;gap:5px;min-height:104px;padding-right:18px;display:grid}.invoice-document-info-grid>div:last-child{border-right:0}.invoice-document-info-grid h3,.invoice-notes-box h3,.invoice-approval-box h3,.invoice-payment-options h3,.invoice-paid-panel h3{color:var(--invoice-header-border,#08275c);font-size:14px;font-weight:800}.invoice-title-card h1{color:var(--invoice-document-number,#08275c);margin-bottom:10px;font-size:34px;line-height:1}.invoice-document-paid .invoice-title-card h1{color:var(--invoice-paid-accent,#20a760)}.invoice-title-card dl{border:1px solid #9aa8bd;border-radius:4px;margin:0;overflow:hidden}.invoice-title-card div{grid-template-columns:1fr 1fr;display:grid}.invoice-title-card div+div{border-top:1px solid #c5d0df}.invoice-title-card dt,.invoice-title-card dd{margin:0;padding:9px 10px}.invoice-title-card dt{border-right:1px solid #c5d0df;font-weight:800}.invoice-work-table{border:1px solid #9aa8bd;border-radius:5px;overflow:hidden}.invoice-work-table header{background:var(--invoice-total-bg,#08275c);color:var(--invoice-total-text,#fff);padding:8px 12px;font-size:13px;font-weight:800}.invoice-work-head,.invoice-work-row,.invoice-total-line{grid-template-columns:44px minmax(0,1fr) 160px;display:grid}.invoice-work-head{background:#f4f7fb;border-bottom:1px solid #c5d0df;padding:8px 12px;font-size:12px;font-weight:800}.invoice-work-head span:first-child{grid-column:2}.invoice-work-head span:last-child{text-align:right}.invoice-work-row{border-bottom:1px solid #c5d0df;align-items:start;gap:10px;padding:14px 12px}.invoice-source-badge{width:28px;height:28px}.invoice-work-row>strong{color:#111827;text-align:right;font-size:18px}.invoice-total-line{background:#f8fafc;border-bottom:1px solid #c5d0df;align-items:center;padding:8px 12px;font-weight:800}.invoice-total-line span{text-align:right;grid-column:2}.invoice-total-line strong{text-align:right;font-size:18px}.invoice-grand-total{color:var(--invoice-document-number,#08275c);border-bottom:0}.invoice-grand-total.paid{color:var(--invoice-paid-accent,#20a760)}.invoice-notes-box,.invoice-approval-box,.invoice-payment-options,.invoice-paid-panel{border:1px solid #b8c3d6;border-radius:5px;gap:10px;padding:12px;display:grid}.invoice-notes-box p{color:#374151;border:1px solid #c5d0df;border-radius:4px;min-height:52px;padding:10px}.invoice-signature-slot{grid-template-columns:1fr 120px;gap:6px 16px;display:grid}.invoice-signature-line{color:#9ca3af;border-bottom:1px solid #9aa8bd;min-height:34px}.invoice-signature-image img,.invoice-signature-preview img{object-fit:contain;max-width:100%;max-height:72px;display:block}.invoice-payment-options{background:#fff8e7}.invoice-payment-options button,.invoice-review-button{border:1px solid var(--invoice-header-border,#08275c);text-align:center;border-radius:4px;padding:10px;font-weight:800}.invoice-payment-options button:first-of-type{background:var(--invoice-paid-accent,#20a760);border-color:var(--invoice-paid-accent,#20a760);color:var(--invoice-paid-text,#fff)}.invoice-payment-options button:disabled{cursor:not-allowed;opacity:.72}.invoice-paid-panel{border-color:var(--invoice-paid-accent,#20a760)}.invoice-email-receipt{gap:6px;display:grid}.invoice-email-receipt button{border:1px solid var(--invoice-header-border,#08275c);text-align:center;border-radius:4px;padding:10px;font-weight:800}.notifications-bell{display:inline-flex;position:relative}.notifications-trigger{justify-content:center;min-width:5.5rem;position:relative}.notifications-badge{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.3rem;height:1.3rem;margin-left:.35rem;font-size:.75rem;font-weight:800;display:inline-flex}.notifications-menu{z-index:20;border:1px solid var(--border);background:var(--panel);border-radius:8px;width:min(21rem,88vw);max-height:22rem;padding:.55rem;position:absolute;top:calc(100% + .45rem);left:0;right:auto;overflow:auto;box-shadow:0 18px 45px #16202e29}@media (max-width:640px){.notifications-menu{width:auto;max-width:none;position:fixed;top:4.5rem;left:12px;right:12px;transform:none}}@media (max-width:800px){.dispatch-layout{grid-template-columns:1fr}.dispatch-sidebar,.place-panel,.job-popover{position:static}.dispatch-grid-scroll{max-height:none;overflow:auto visible}}.notification-item{color:inherit;border-radius:6px;gap:.25rem;padding:.7rem;text-decoration:none;display:grid}.notification-item+.notification-item{border-top:1px solid var(--border)}.notification-item span{color:var(--muted);font-size:.9rem;line-height:1.35}.notification-item.unread{background:color-mix(in srgb, var(--accent) 9%, transparent)}.notification-item.read{opacity:.75}.public-estimate-page{background:#eef2f7;min-height:100vh;padding:16px}.public-estimate-document{color:#081f46;background:#fff;border:1px solid #b8c3d6;border-radius:6px;gap:18px;max-width:940px;margin:0 auto;padding:18px;display:grid;box-shadow:0 18px 50px #0f172a1f}.public-estimate-header,.public-estimate-customer,.public-estimate-line,.public-estimate-totals div,.public-estimate-footer{gap:8px;display:grid}.public-estimate-header{border-bottom:2px solid #08275c;grid-template-columns:minmax(0,1fr) auto;padding-bottom:16px}.public-estimate-header h1,.public-estimate-summary h2,.public-estimate-message h1,.public-estimate-header p,.public-estimate-summary p,.public-estimate-note p,.public-estimate-terms p,.public-estimate-message p{margin:0}.public-estimate-logo{object-fit:contain;max-width:min(280px,100%);max-height:86px;display:block}.public-estimate-number{text-align:right;justify-items:end;gap:6px;display:grid}.public-estimate-number span,.public-estimate-customer span,.public-estimate-line span,.public-estimate-totals span,.public-estimate-footer span{color:#4b5563}.public-estimate-number strong{color:#b51d2a;font-size:32px}.public-estimate-number em{color:#17692f;text-transform:capitalize;background:#e6f5ea;border-radius:999px;padding:5px 10px;font-style:normal;font-weight:800}.public-estimate-note,.public-estimate-terms{background:#fff8e7;border:1px solid #ebcf87;border-radius:6px;gap:8px;padding:12px;display:grid}.public-estimate-customer{grid-template-columns:repeat(2,minmax(0,1fr))}.public-estimate-customer div{border:1px solid #c5d0df;border-radius:6px;gap:5px;padding:12px;display:grid}.public-estimate-summary{gap:8px;display:grid}.public-estimate-lines{border:1px solid #9aa8bd;border-radius:6px;overflow:hidden}.public-estimate-line{border-bottom:1px solid #c5d0df;grid-template-columns:minmax(0,1fr) minmax(120px,auto);align-items:center;padding:12px}.public-estimate-line:last-child{border-bottom:0}.public-estimate-prices{text-align:right;justify-items:end;gap:4px;display:grid}.public-estimate-prices strong{font-size:18px}.public-estimate-totals{border:1px solid #08275c;border-radius:6px;justify-self:end;min-width:min(100%,320px);overflow:hidden}.public-estimate-totals div{border-bottom:1px solid #c5d0df;grid-template-columns:1fr auto;padding:12px}.public-estimate-totals div:last-child{border-bottom:0}.public-estimate-grand-total{color:#fff;background:#08275c;font-size:20px}.public-estimate-grand-total span{color:#fff}.public-estimate-footer{color:#fff;text-align:center;background:#08275c;border-radius:6px;padding:14px}.public-estimate-footer span{color:#d9e0ea}.public-estimate-message{max-width:560px;margin-top:12vh}@media (max-width:680px){.public-estimate-header,.public-estimate-customer,.public-estimate-line{grid-template-columns:1fr}.public-estimate-number,.public-estimate-prices{text-align:left;justify-items:start}.public-estimate-number strong{font-size:28px}}.invoice-paid-badge{border:1px solid var(--invoice-paid-accent,#20a760);color:var(--invoice-paid-accent,#20a760);text-align:center;padding:18px;font-size:32px;font-weight:900}.invoice-payment-list,.invoice-payment-detail{gap:8px;display:grid}.invoice-payment-detail{border-bottom:1px solid #cfe9dc;padding-bottom:10px}.invoice-payment-detail div,.invoice-balance-due{justify-content:space-between;gap:10px;display:flex}.invoice-balance-due{color:var(--invoice-paid-accent,#16834d);background:#eaf8f0;padding:10px;font-weight:900}.invoice-review-button{background:var(--invoice-paid-accent,#20a760);color:var(--invoice-paid-text,#fff);text-decoration:none}.invoice-document-footer{background:var(--invoice-footer-bg,#08275c);color:var(--invoice-footer-text,#fff);text-align:center;border-top:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 20px;padding:16px 52px;display:grid}.present-page{background:#eef2f7;min-height:100vh;padding:18px}.present-sheet{color:#111827;background:#fff;gap:18px;max-width:920px;min-height:calc(100vh - 36px);margin:0 auto;padding:22px;display:grid}.present-options-sheet{max-height:min(920px,100vh - 24px)}.present-back-row{margin-bottom:12px}.present-options-list{gap:10px;max-height:min(52vh,560px);padding-right:4px;display:grid;overflow:auto}.present-option-row{border:1px solid var(--border);color:var(--foreground);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:86px;padding:12px;text-decoration:none;display:grid}.present-option-row:hover{border-color:#27364a}.present-option-row div:first-child{gap:4px;min-width:0;display:grid}.present-option-row span,.present-option-row small{color:var(--muted)}.present-option-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.present-option-price{place-items:flex-end end;gap:8px;display:grid}.present-header,.present-customer,.present-line,.present-total{justify-content:space-between;align-items:start;gap:14px;display:flex}.present-header{border-bottom:2px solid #111827;padding-bottom:14px}.present-header div,.present-customer div,.present-summary,.present-line div{gap:4px;display:grid}.present-header span,.present-customer span,.present-line span{color:#4b5563}.present-summary h1{margin:0;font-size:32px;line-height:1.1}.present-summary p,.present-fine-print p{margin:0;line-height:1.5}.present-lines{border-bottom:1px solid var(--border);border-top:1px solid var(--border);display:grid}.present-line{border-bottom:1px solid var(--border);padding:14px 0}.present-line:last-child{border-bottom:0}.present-total{color:#fff;background:#111827;border-radius:6px;padding:14px;font-size:24px}.present-fine-print,.signature-panel,.after-sign-panel,.present-action-panel{border:1px solid var(--border);background:#f7f8fb;border-radius:6px;gap:12px;padding:14px;display:grid}.signature-canvas{touch-action:none;background:#fff;border:2px solid #111827;border-radius:6px;width:100%;max-width:100%;height:220px}@media print{.present-action-panel,.signature-panel,.after-sign-panel{display:none}.present-page,.present-sheet,.invoice-document-page,.invoice-document{background:#fff;min-height:auto;padding:0}.invoice-document{box-shadow:none;border:0;max-width:none}.invoice-document-ribbon{transform:none}}@media (max-width:1080px){.dispatch-layout{grid-template-columns:1fr}.dispatch-sidebar,.place-panel{position:static}.estimate-line-editor,.field-grid,.appointment-info-grid,.field-status-buttons,.field-job-row,.field-job-main{grid-template-columns:1fr}.field-complete-button{width:100%}.field-hero,.estimate-inbox-row{grid-template-columns:1fr}.estimate-line-collapsed-row{grid-template-columns:minmax(0,1fr) auto}.line-qty{display:none}.estimate-inbox-side{justify-items:start}.invoice-topline,.invoice-document-header,.invoice-document-meta,.invoice-document-footer{display:grid}.invoice-actions,.invoice-number-block{text-align:left;justify-items:start}.invoice-line-editor,.invoice-document-total-wrap,.invoice-document-header,.invoice-document-main-grid,.invoice-document-info-grid{grid-template-columns:1fr}.invoice-disclosure{grid-template-columns:72px 1fr}.invoice-regulator{grid-column:1/-1}.invoice-logo-block{text-align:left;justify-items:start}.invoice-document-info-grid>div{border-bottom:1px solid #b8c3d6;border-right:0;min-height:auto;padding-bottom:12px}.invoice-work-head,.invoice-work-row,.invoice-total-line{grid-template-columns:36px minmax(0,1fr) 110px}.invoice-title-card h1{font-size:28px}}@media (max-width:720px){.category-settings-row{grid-template-columns:1fr}}.app-look-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:24px;display:grid}.color-field{gap:8px}.color-input-row{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;display:grid}.color-input-row input[type=color]{width:48px;height:42px;padding:3px}.field-hint{color:var(--muted);font-size:13px;line-height:1.4}.app-look-preview{background:var(--background);border:1px solid var(--border);color:var(--foreground);border-radius:8px;min-height:320px;padding:18px}.app-look-preview-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:12px;padding:18px;display:grid}.app-look-preview-panel h2{color:var(--foreground);margin:0}.app-look-preview-panel p{color:var(--muted);margin:0}.logo-upload-control{gap:10px;display:grid}.logo-upload-preview{border:1px solid var(--border);border-radius:8px;align-items:center;min-height:92px;padding:12px;display:flex}.logo-upload-preview img{object-fit:contain;max-width:220px;max-height:72px;display:block}.preview-button{pointer-events:none}@media (max-width:900px){.app-look-layout{grid-template-columns:1fr}}
