:root{--navy-900:#12263f;--navy-800:#1c3556;--navy-700:#1f3a5f;--page:#f3f5f8;--card:#fff;--text:#1a2433;--muted:#4a5668;--border:#e1e6ed;--line:#edf1f6;--input-border:#c7d0dc;--accent:#e8893a;--good-bg:#e6f4ec;--good:#1f6b4a;--bad-bg:#fce7ec;--bad:#9b2c48;--bad-border:#e8c3cc;--warn-bg:#fff7ee;--warn-border:#f3d9ba;--warn:#8a4a0b;--info-bg:#eef3f8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--page);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--page);margin:0}h1{margin:0;font-size:28px;font-weight:700;line-height:1.2}h2{margin:0;font-size:16px;font-weight:700}input[type=text],input[type=email],input[type=tel],input[type=search],input[type=url],input[type=date],textarea{border:1px solid var(--input-border);width:100%;min-height:44px;font:inherit;color:var(--text);background:#fff;border-radius:10px;padding:0 12px;font-size:15px}select{border:1px solid var(--input-border);width:100%;min-height:44px;font:inherit;color:var(--text);background:#fff;border-radius:10px;padding:0 10px;font-size:15px}input[type=text]:focus-visible,input[type=email]:focus-visible,input[type=tel]:focus-visible,input[type=search]:focus-visible,input[type=url]:focus-visible,input[type=date]:focus-visible,label.btn:focus-within,textarea:focus-visible,select:focus-visible,input[type=checkbox]:focus-visible,input[type=radio]:focus-visible,.sample-box:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}code{background:var(--line);border-radius:4px;padding:1px 5px}.panel{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px 24px}.stack{flex-direction:column;gap:16px;display:flex}.row{align-items:center;gap:12px;display:flex}.row.wrap{flex-wrap:wrap}.grow{flex:220px;min-width:0}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.narrow{flex-direction:column;gap:12px;max-width:440px;display:flex}.muted{color:var(--muted)}.small{font-size:13px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{border:1px solid var(--input-border);min-height:44px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border-radius:10px;padding:0 18px;font-size:15px;font-weight:600}.btn:disabled{opacity:.6;cursor:default}.btn.primary{background:var(--navy-700);color:#fff;border:0;font-weight:700}.btn.big{min-height:52px;font-size:16px}.btn.small-btn{min-height:40px;padding:0 14px;font-size:14px}.btn.save{background:var(--good);color:#fff;border:0}.btn.danger{border-color:var(--bad-border);color:var(--bad)}.notice{border-radius:10px;margin:0;padding:12px 16px;font-size:14px;font-weight:600}.notice.success{background:var(--good-bg);color:var(--good)}.notice.error{background:var(--bad-bg);color:var(--bad)}.error-text{color:var(--bad);margin:0;font-weight:600}.brand{align-items:center;gap:12px;display:flex}.brand-mark{flex:none;width:40px;height:40px;display:block}.landing-logo{width:min(360px,100%);height:auto;display:block}.brand-text{flex-direction:column;min-width:0;display:flex}.brand-word{font-size:16px;font-weight:700}.brand-word.light{color:#fff}.brand-sub{color:#b8c4d6;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.landing{background:var(--navy-900);place-items:center;min-height:100vh;padding:16px;display:grid}.landing-card{flex-direction:column;gap:16px;width:100%;max-width:520px;padding:32px 28px;display:flex}.landing-card .lead{color:var(--muted);margin:0;font-size:16px;line-height:1.55}.landing-card .row{flex-wrap:wrap}.landing-card .small{margin:0}.onboarding{flex-direction:column;align-items:center;gap:16px;min-height:100vh;padding:16px;display:flex}.onboarding-top{justify-content:space-between;align-items:center;width:100%;max-width:720px;padding:8px 0;display:flex}.onboarding-card{flex-direction:column;gap:20px;width:100%;max-width:720px;padding:28px 24px;display:flex}.onboarding-card>p{margin:-12px 0 0}.field{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.field-label{padding:0;font-size:15px;font-weight:600}.field p{margin:0}.template-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:4px;display:grid}.template-option{border:1px solid var(--input-border);cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px 14px 44px;display:flex;position:relative}.template-option.selected{border:2px solid var(--navy-700);background:#f7f9fc;padding:13px 15px 13px 43px}.template-option input{width:18px;height:18px;accent-color:var(--navy-700);margin:0;position:absolute;top:16px;left:16px}.template-option.selected input{top:15px;left:15px}.template-name{font-weight:700}.template-list{color:var(--muted);font-size:13px;line-height:1.45}.shell{flex-wrap:wrap;align-items:stretch;min-height:100vh;display:flex}.sidebar{background:var(--navy-900);color:#fff;flex-direction:column;flex:220px;gap:24px;max-width:100%;padding:24px 16px;display:flex}.sidebar-top{justify-content:space-between;align-items:center;gap:8px;padding:0 8px;display:flex}.nav-list{flex-direction:column;gap:4px;display:flex}.nav-item{text-align:left;min-height:44px;font:inherit;cursor:pointer;color:#dce4ef;background:0 0;border:0;border-radius:10px;padding:0 14px;font-size:15px;font-weight:600}.nav-item:hover{background:var(--navy-800)}.nav-item{align-items:center;gap:8px;display:inline-flex}.nav-badge{color:#fff;text-align:center;background:#d92d20;border-radius:999px;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:700;line-height:20px}.new-tag{color:#fff;letter-spacing:.02em;vertical-align:2px;background:#d92d20;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.nav-item[aria-current=page]{color:var(--navy-900);background:#fff}.sidebar-note{background:var(--navy-800);color:#c9d3e2;border-radius:10px;margin-top:auto;padding:12px;font-size:12px;line-height:1.5}.sidebar-note a{color:#fff}.app-footer{text-align:center;margin:0;display:none}.content{flex-direction:column;flex:999 560px;gap:24px;min-width:0;padding:32px;display:flex}.content .panel h2+p{margin:8px 0 0}@media (width<=800px){.sidebar{flex-basis:100%;gap:12px;padding:16px}.sidebar-top{padding:0}.nav-list{flex-flow:wrap}.nav-item{flex:none;padding:0 10px;font-size:14px}.sidebar-note{display:none}.app-footer{display:block}.content{gap:16px;padding:20px 16px}h1,.page-title{font-size:24px}}.intro{color:var(--muted);max-width:720px;margin:0;font-size:15px;line-height:1.5}.add-panel{border:2px solid var(--navy-700);flex-direction:column;gap:12px;display:flex}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{width:32px;height:32px;box-shadow:0 0 0 1px var(--input-border);cursor:pointer;border:3px solid #fff;border-radius:50%;padding:0}.swatch[aria-checked=true]{box-shadow:0 0 0 3px var(--text)}.list-panel{padding:8px 24px}.list-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 0 6px;display:flex}.cat-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.cat-dot{cursor:pointer;width:36px;height:36px;box-shadow:0 0 0 1px var(--input-border);border:3px solid #fff;border-radius:50%;flex:none;padding:0}.cat-row:not(.editing){flex-wrap:nowrap}.cat-name{overflow-wrap:anywhere;flex:auto;font-size:15px;font-weight:600}.edit-input{border:2px solid var(--navy-700)!important;min-height:40px!important}.keep{text-align:center;min-width:82px}.flush{margin:4px 0 0}.stack.tight{gap:10px}.align-end{align-self:flex-end}.notice.warn{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn)}.notice.info{background:var(--info-bg);color:var(--text);font-weight:500}.choice-row{flex-wrap:wrap;gap:8px;display:flex}.choice{border:1px solid var(--input-border);cursor:pointer;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:15px;font-weight:600;display:flex}.choice.selected{border:2px solid var(--navy-700);background:#f7f9fc;padding:0 13px}.choice input,.check input{width:18px;height:18px;accent-color:var(--navy-700);flex:none;margin:0}.check{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;display:flex}.check input{margin-top:1px}.drop-zone{color:var(--navy-700);text-align:center;cursor:pointer;background:#f8fafc;border:2px dashed #9fb0c6;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;display:flex}.drop-zone:hover,.drop-zone.dragging{border-color:var(--navy-700);background:#eef3f8}.drop-zone:focus-within{outline:3px solid var(--accent);outline-offset:2px}.drop-title{color:var(--text);font-size:18px;font-weight:600}.sample-box{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.sample-table{border-collapse:collapse;min-width:100%;font-size:13px}.sample-table th,.sample-table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);padding:8px 10px}.sample-table th{background:#f7f9fc;font-weight:700}.picker-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.preview-title{font-size:20px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.kpi{background:var(--card);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:4px;padding:16px 20px;display:flex}.kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:600}.kpi-value{font-size:26px;font-weight:700}.good{color:var(--good)}.repeat-check{padding:14px 0}.line-row{border-top:1px solid var(--line);grid-template-columns:110px minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:10px 0;font-size:14px;display:grid}.line-row.repeat .line-desc,.line-row.repeat .line-amt{color:var(--muted);font-weight:500}.line-desc{overflow-wrap:anywhere;font-weight:600}.line-amt{text-align:right;white-space:nowrap;font-weight:700}.chip{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.chip.waiting{background:var(--info-bg);color:var(--navy-700)}.repeat-chip{background:var(--warn-bg);color:var(--warn);margin-left:8px}.upload-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 0;font-size:15px;display:flex}.upload-row .muted{margin-top:2px}.empty{margin:0;padding:12px 0}.account-meta{font-weight:500;display:block}.sticky-actions{background:var(--page);padding:12px 0;position:sticky;bottom:0}.admin-kpis{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.admin-alert-row{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:#fff8e6;border:1px solid #f3d38a;border-radius:10px;padding:10px 12px;display:block}.admin-alert-row.bad{background:#fdecec;border-color:#f2b8b5}.admin-alert-row:hover{filter:brightness(.97)}.admin-flash,.admin-flash>td{transition:background .4s;background:#fff3c4!important}.link-btn{min-height:44px;color:var(--navy-700);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;align-self:flex-start;padding:0;font-weight:600;text-decoration:underline}.link-btn.small{min-height:32px;font-size:13px}.block{display:block}.needs-panel{border:2px solid #e8a15a}.needs-card{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.needs-head{overflow-wrap:anywhere;justify-content:space-between;gap:12px;font-size:14px;display:flex}.answer-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.expense-pick{flex:220px;max-width:320px}.expense-pick select{min-height:40px;font-size:14px}.filters{flex-wrap:wrap;gap:6px;display:flex}.filter{border:1px solid var(--input-border);min-height:36px;color:var(--text);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:0 12px;font-size:13px;font-weight:600}.filter.on{background:var(--navy-700);border-color:var(--navy-700);color:#fff}.review-row{border-top:1px solid var(--line)}.review-row .line-row{border-top:0}.tag-line{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px;font-weight:500;display:flex}.amt-col{flex-direction:column;align-items:flex-end;display:flex}.change-box{padding:0 0 14px}.flush-chip{margin-left:0}.income-chip{background:var(--good-bg);color:var(--good)}.nc-chip{color:#3b4656;background:#f1f3f6}.other-chip{color:#1d5aa0;background:#e8f0fb}.equity-chip{color:#5b3fa0;background:#efe9fb}.loan-chip{color:#8a4b08;background:#fdf1e3}.cat-total{font-weight:500;display:block}.row.between{justify-content:space-between}.kpi-value.bad{color:var(--bad)}.year-pick{color:var(--muted);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.year-pick select{width:auto;min-width:110px;color:var(--text);font-weight:600}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-key{vertical-align:-1px;border-radius:3px;width:12px;height:12px;display:inline-block}.income-key,.income-bar{background:#2a78d6}.expense-key,.expense-bar{background:var(--accent)}.chart{padding-left:44px}.chart-plot{height:200px;position:relative}.grid-line{border-top:1px solid var(--line);position:absolute;left:0;right:0}.grid-line:first-child{border-top-color:#c7d0dc}.tick{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;position:absolute;top:-8px;right:calc(100% + 8px)}.chart-cols{display:flex;position:absolute;inset:0}.chart-col{cursor:pointer;background:0 0;border:0;border-radius:6px 6px 0 0;flex:1 1 0;min-width:0;height:100%;padding:0;position:relative}.chart-col.on,.chart-col:hover{background:#1f3a5f0d}.bars{justify-content:center;align-items:flex-end;gap:2px;display:flex;position:absolute;inset:0}.bar{border-radius:4px 4px 0 0;width:min(12px,38%)}.chart-tip{z-index:2;border:1px solid var(--border);background:var(--card);min-width:170px;color:var(--text);text-align:left;white-space:nowrap;pointer-events:none;border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;display:flex;position:absolute;bottom:calc(100% - 24px);left:50%;transform:translate(-50%);box-shadow:0 6px 18px #12263f24}.chart-tip.left{left:0;transform:none}.chart-tip.right{left:auto;right:0;transform:none}.chart-months{padding-top:6px;display:flex}.chart-months span{text-align:center;min-width:0;color:var(--muted);flex:1 1 0;font-size:12px}.table-wrap{overflow-x:auto}.month-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.month-table th,.month-table td{border-top:1px solid var(--line);text-align:right;white-space:nowrap;padding:8px 10px}.month-table th:first-child{text-align:left}.month-table thead th{color:var(--muted);border-top:0;font-size:13px}.spend-item{border-top:1px solid var(--line)}.spend-row{width:100%;min-height:44px;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:8px;padding:12px 0;display:flex}.spend-head{justify-content:space-between;align-items:baseline;gap:12px;font-size:15px;display:flex}.spend-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.cat-dot-static{border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.spend-track{background:var(--line);border-radius:6px;height:10px;display:block;overflow:hidden}.spend-fill{border-radius:6px;height:100%;display:block}.spend-lines{padding:0 0 12px 18px}@media (width<=800px){.chart{padding-left:36px}.chart-months span{font-size:11px}.spend-lines{padding-left:0}.line-row{grid-template-columns:minmax(0,1fr) auto}.line-date{grid-column:1/-1;font-size:13px}.kpi-value{font-size:22px}.sticky-actions .btn{flex:auto}.panel,.list-panel{padding-left:16px;padding-right:16px}.cat-row{gap:8px}.cat-dot{width:32px;height:32px}.btn.small-btn{padding:0 10px}.keep{min-width:0}}.client-tools{flex-wrap:wrap;gap:8px;display:flex}.client-tools .grow{flex:240px}.client-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.client-form .wide{grid-column:1/-1}.client-form textarea{resize:vertical;min-height:72px;padding:10px 12px;line-height:1.4}.client-form input,.client-form textarea,.client-tools input{font-size:16px}.client-row{border:0;border-top:1px solid var(--line);width:100%;min-height:56px;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;padding:12px 0;display:block}.client-row:hover .client-name{text-decoration:underline}.client-name{overflow-wrap:anywhere;font-size:15px;font-weight:600;display:block}.client-meta{overflow-wrap:anywhere;margin-top:2px;display:block}.client-edit{border-top:1px solid var(--line);padding:12px 0 16px}@media (width<=800px){.client-form{grid-template-columns:minmax(0,1fr)}.client-form .actions .btn{flex:auto}}.export-actions{flex-wrap:wrap;gap:8px;display:flex}.summary-table th{white-space:normal;font-weight:400}.summary-table tr:first-child th,.summary-table tr:first-child td{border-top:0}.summary-table .summary-total th,.summary-table .summary-total td{font-weight:700}.summary-table .summary-head th{color:var(--muted);padding-top:16px;font-size:13px;font-weight:600}.summary-table .summary-indent{padding-left:22px}.print-only{display:none}@media (width<=800px){.export-actions .btn{flex:100%}}@media print{.sidebar,.page-title,.app-footer,.no-print{display:none!important}.print-only{margin-bottom:12px;display:block}body,.shell,.content{display:block;color:#000!important;background:#fff!important;margin:0!important;padding:0!important}.export-summary{box-shadow:none!important;border:0!important;padding:0!important}}@page{size:letter;margin:.35in;@top-left{content:""}@top-right{content:""}@bottom-left{content:""}@bottom-right{content:""}}.settings-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-form .wide{grid-column:1/-1}.panel textarea{resize:vertical;min-height:72px;padding:10px 12px;line-height:1.4}.panel .inv-line-edit textarea{min-height:44px}.settings-form input,.settings-form textarea,.settings-form select,.inv-line-edit input,.inv-line-edit textarea,.inv-form-totals input,.paid-form input,.paid-form select,.panel textarea{font-size:16px}label.btn{justify-content:center;align-items:center;display:inline-flex}label.btn.disabled{opacity:.6;pointer-events:none}.picture{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.picture-box{border:1px solid var(--border);background:#fff;border-radius:10px;flex:none;place-items:center;width:160px;height:120px;padding:10px;display:grid}.picture-box.dark{background:#0e0d0b}.picture-box.dark .muted{color:#c9c2b0}.picture-box img{object-fit:contain;width:100%;height:100%;min-height:0}.inv-row{border:0;border-top:1px solid var(--line);width:100%;min-height:60px;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.inv-row:hover .client-name{text-decoration:underline}.inv-row-main{min-width:0}.inv-row-side{flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.chip.status-draft,.chip.status-void{color:#3b4656;background:#f1f3f6}.chip.status-void{text-decoration:line-through}.chip.status-sent{background:var(--info-bg);color:var(--navy-700)}.chip.status-declined,.chip.status-expired{color:#3b4656;background:#f1f3f6}.chip.status-accepted,.chip.status-invoiced{background:var(--good-bg);color:var(--good)}.chip.status-overdue{background:var(--bad-bg);color:var(--bad)}.chip.status-paid{background:var(--good-bg);color:var(--good)}.inv-view-title{overflow-wrap:anywhere;font-size:18px}.inv-actions{flex-wrap:wrap;gap:8px;display:flex}.paid-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.paid-form .wide{grid-column:1/-1}.section-gap{margin-top:16px}.inv-line-edit{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 80px 120px 110px;align-items:start;gap:10px;padding:12px 0;display:grid}.inv-line-edit .field{gap:4px}.inv-line-edit .field-label.small{color:var(--muted);font-size:13px}.line-amount-value{justify-content:flex-end;align-items:center;min-height:44px;font-weight:700;display:flex}.line-amount .field-label{text-align:right}.line-extras{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:16px;display:flex}.line-extras:empty{display:none}.check-label{align-items:center;gap:6px;min-height:32px;font-size:14px;display:inline-flex}.check-label input{width:18px;height:18px;accent-color:var(--navy-700)}.inv-form-totals{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-top:12px;display:flex}.tax-field{width:160px}.totals-list{min-width:220px;margin:0}.totals-list div{justify-content:space-between;gap:24px;padding:4px 0;display:flex}.totals-list dd{margin:0;font-weight:600}.totals-list .grand{border-top:1px solid var(--border);padding-top:8px;font-size:18px;font-weight:700}.totals-list .grand dd{font-weight:700}@media (width<=800px){.settings-form,.paid-form{grid-template-columns:minmax(0,1fr)}.inv-line-edit{grid-template-columns:repeat(3,minmax(0,1fr))}.inv-line-edit .line-desc-field{grid-column:1/-1}.inv-actions .btn,.sticky-actions .btn{flex:auto}.totals-list{width:100%}}.inv-doc-wrap{overflow-x:auto}.inv-doc{--ink:#17140f;--soft:#5a5446;--head:#0e0d0b;--band:#0e0d0b;--band-ink:#fff;--band-accent:#d4af37;--band-soft:#c9c2b0;--foot-soft:#e8ddbf;--accent:#d4af37;--accent-ink:#0e0d0b;--label:#7a5c0e;--tint:#fbf8f0;--rule:#e7e1d2;width:100%;max-width:816px;color:var(--ink);-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;flex-direction:column;margin:0 auto;font-family:Inter,system-ui,Arial,sans-serif;display:flex;box-shadow:0 1px 3px #12263f1f}.inv-doc strong{font-weight:700}.inv-head{background:var(--head);justify-content:space-between;align-items:center;gap:24px;padding:32px 48px;display:flex}.inv-brand{align-items:center;gap:20px;min-width:0;display:flex}.inv-logo{object-fit:contain;flex:none;width:120px;max-height:110px}.inv-brand-text{flex-direction:column;gap:6px;min-width:0;display:flex}.inv-name{letter-spacing:.06em;color:var(--band-accent);overflow-wrap:anywhere;font-family:Cinzel,Georgia,serif;font-size:24px;font-weight:700}.inv-from{color:var(--band-soft);white-space:pre-line;overflow-wrap:anywhere;font-size:12px;line-height:1.6}.inv-title{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.inv-word{letter-spacing:.1em;color:var(--band-accent);font-family:Cinzel,Georgia,serif;font-size:38px;font-weight:700}.inv-no{color:var(--band-ink);font-size:15px;font-weight:600}.inv-rule{background:var(--accent);height:6px}.inv-body{flex-direction:column;flex:1;gap:28px;padding:36px 48px 32px;display:flex}.inv-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.inv-meta>div,.inv-notes{flex-direction:column;gap:6px;min-width:0;display:flex}.inv-label{letter-spacing:.14em;color:var(--label);font-size:11px;font-weight:700}.inv-text{white-space:pre-line;overflow-wrap:anywhere;font-size:14px;line-height:1.6}.inv-lines{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.inv-lines thead tr{background:var(--band)}.inv-lines th{background:var(--band);color:var(--band-accent);letter-spacing:.14em;text-align:right;border:0;padding:12px 16px;font-size:11px;font-weight:700}.inv-lines th:first-child,.inv-lines td:first-child{text-align:left}.inv-lines td{border-bottom:1px solid var(--rule);text-align:right;vertical-align:top;white-space:nowrap;padding:14px 16px}.inv-lines td:first-child{white-space:normal;overflow-wrap:anywhere;width:100%}.inv-lines td:last-child{font-weight:600}.inv-lines tbody tr:nth-child(2n) td{background:var(--tint)}.inv-lines strong{font-weight:600}.inv-detail{color:var(--soft);white-space:pre-line;font-size:13px;display:block}.inv-bottom{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.inv-notes{flex:1}.inv-notes .inv-text{color:var(--soft);font-size:13px}.inv-totals{flex:none;width:300px;font-size:14px}.inv-totals>div{border-bottom:1px solid var(--rule);justify-content:space-between;gap:16px;padding:8px 0;display:flex}.inv-totals>div>span:last-child{white-space:nowrap}.inv-totals>.inv-total{background:var(--band);color:var(--band-ink);border:0;align-items:center;margin-top:12px;padding:14px 16px}.inv-totals>.inv-subtotal-strong{font-weight:700}.inv-totals>.inv-payment{color:var(--ink-soft,inherit)}.inv-totals>.inv-deposit{border:2px solid var(--accent);margin-top:8px;padding:10px 16px;font-weight:700}.inv-total span:first-child{letter-spacing:.14em;color:var(--band-accent);font-size:12px;font-weight:700}.inv-total span:last-child{font-size:22px;font-weight:700}.inv-paid{text-align:center;background:#eef7f1;border:2px solid #1f6b4a;flex-direction:column;align-items:center;gap:6px;padding:20px;display:flex}.inv-paid-word{letter-spacing:.1em;color:#1f6b4a;font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:700}.inv-pay{border:1px solid var(--rule);background:var(--tint);align-items:stretch;display:flex}.inv-pay-ways{flex-direction:column;flex:1;gap:10px;min-width:0;padding:18px 24px;font-size:14px;display:flex}.inv-pay-way{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.inv-pay-way strong{font-weight:700}.inv-pay-btn{background:var(--accent);letter-spacing:.06em;align-items:center;min-height:48px;padding:0 24px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex;color:var(--accent-ink)!important}.inv-url,.inv-small{color:var(--soft);overflow-wrap:anywhere;font-size:12px}.inv-qr{border-left:1px solid var(--rule);flex:none;align-items:center;gap:14px;width:260px;padding:16px 20px;display:flex}.inv-qr img{object-fit:contain;border:1px solid var(--rule);background:#fff;flex:none;width:100px;height:100px}.inv-qr div{flex-direction:column;gap:4px;font-size:13px;display:flex}.inv-accept{border:1px solid var(--rule);background:var(--tint);flex-direction:column;gap:8px;padding:18px 24px 22px;display:flex}.inv-sign{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px 28px;margin-top:10px;display:grid}.inv-sign>div{flex-direction:column;gap:4px;display:flex}.inv-sign-wide{grid-column:1/-1}.inv-sign-value{border-bottom:1px solid var(--ink);overflow-wrap:anywhere;align-items:flex-end;min-height:34px;padding-bottom:4px;font-size:14px;display:flex}.inv-sign-wide .inv-sign-value{min-height:44px}.inv-sign-label{letter-spacing:.06em;color:var(--soft);font-size:11px;font-weight:600}.inv-foot{background:var(--band);color:var(--foot-soft);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:16px;padding:16px 48px;font-size:12px;display:flex}.inv-thanks{color:var(--band-accent);text-align:right;font-weight:600}@media screen and (width<=640px){.inv-head{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.inv-brand{align-items:flex-start;gap:14px}.inv-logo{width:72px;max-height:72px}.inv-name{font-size:19px}.inv-title{align-items:flex-start}.inv-word{font-size:28px}.inv-body{gap:22px;padding:20px}.inv-meta{grid-template-columns:minmax(0,1fr);gap:16px}.inv-lines thead{display:none}.inv-lines tr{border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.inv-lines td{border:0;padding:4px 12px}.inv-lines td:first-child{grid-column:1/-1;padding-top:12px}.inv-lines td:last-child{padding-bottom:12px}.inv-lines td[data-label]:before{content:attr(data-label);color:var(--soft);font-size:11px;font-weight:600;display:block}.inv-bottom{flex-direction:column-reverse;gap:20px}.inv-totals{width:100%}.inv-pay{flex-direction:column}.inv-qr{border-left:0;border-top:1px solid var(--rule);width:auto}.inv-foot{flex-direction:column;align-items:flex-start;padding:14px 20px}.inv-thanks{text-align:left}.inv-accept{padding:16px}.inv-sign{grid-template-columns:minmax(0,1fr)}}@media print{.inv-doc{max-width:none;box-shadow:none}.inv-doc-wrap{overflow:visible}:is(.content>.stack,.content .stack:has(>.inv-doc-wrap)){gap:0!important}.inv-head{padding:20px 32px}.inv-logo{width:88px;max-height:80px}.inv-name{font-size:20px}.inv-from{font-size:11px;line-height:1.45}.inv-word{font-size:30px}.inv-rule{height:5px}.inv-body{gap:16px;padding:20px 32px 18px}.inv-text{font-size:12.5px;line-height:1.45}.inv-lines{font-size:12.5px}.inv-lines th,.inv-lines td{padding:8px 12px}.inv-detail{font-size:11.5px}.inv-totals{font-size:12.5px}.inv-totals>div{padding:5px 0}.inv-totals>.inv-total{margin-top:8px;padding:10px 14px}.inv-total span:last-child{font-size:18px}.inv-paid{padding:12px}.inv-pay-ways{gap:6px;padding:12px 18px;font-size:12.5px}.inv-pay-btn{min-height:36px;padding:0 18px;font-size:13px}.inv-qr{padding:12px 16px}.inv-qr img{width:92px;height:92px}.inv-foot{padding:10px 32px;font-size:11px}.inv-accept{padding:12px 18px 14px}.inv-sign{gap:12px 24px;margin-top:4px}.inv-sign-value{min-height:26px}.inv-sign-wide .inv-sign-value{min-height:34px}.inv-lines tr,.inv-bottom,.inv-pay,.inv-paid,.inv-accept{break-inside:avoid}}.legal{min-height:100vh;padding:24px 16px 48px}.legal-card{max-width:720px;margin:0 auto;line-height:1.6}.legal-card h1{margin:20px 0 4px}.legal-card h2{margin:28px 0 8px;font-size:18px}.legal-card p,.legal-card ul{margin:0 0 12px}.legal-card li{margin-bottom:8px}.legal-home{color:var(--text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.legal-links{border-top:1px solid var(--border);padding-top:16px;margin-top:32px!important}.share-box{flex-direction:column;gap:10px;display:flex}.share-url{color:var(--muted)!important;background:var(--page)!important;font-size:14px!important}.public-page{background:var(--page);min-height:100vh;padding:20px 16px 40px}.public-wrap{max-width:816px;margin:0 auto}.public-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.public-top a.btn{align-items:center;text-decoration:none;display:inline-flex}.public-missing{font-size:22px}.public-foot{text-align:center;margin:0}.public-foot a{color:inherit}.public-page.branded .btn.save{background:var(--accent);color:var(--accent-ink)}.public-page.branded .btn:not(.save){border-color:var(--label);color:var(--label);font-weight:600}.public-logo{object-fit:contain;object-position:left center;align-self:flex-start;width:auto;max-width:220px;height:48px;display:block}.public-name{font-size:18px}.answer-box{border:2px solid var(--good)}.check-label.agree{align-items:flex-start;font-size:15px;line-height:1.45}.check-label.agree input{flex:none;margin-top:2px}.answer-box input[type=text],.answer-box textarea{font-size:16px}@media print{.public-page{background:#fff;padding:0}.public-wrap{max-width:none}.public-wrap.stack{gap:0}}.steps-list{gap:6px;margin:0;padding-left:20px;display:grid}.file-btn{cursor:pointer;align-self:flex-start}.qb-files th{white-space:normal;font-weight:600}.qb-files td,.qb-files th{text-align:left}.qb-date{max-width:240px}.qb-accounts{gap:0;display:grid}.qb-account{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:center;gap:8px 16px;padding:10px 0;display:grid}.qb-account-name{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.qb-account select{width:100%}.qb-notes{gap:4px;margin:0;padding-left:20px;display:grid}.qb-history{border-top:1px solid var(--line);gap:8px;padding:10px 0}.qb-history .chip{margin-left:8px}.saved-item-pick{min-width:200px}@media screen and (width<=640px){.qb-account{grid-template-columns:1fr}}.price-picker{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.price-picker-list{flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.unit-pick select{min-height:36px;padding:4px 8px}.line-extras .unit-pick{margin-right:auto}.save-to-list{background:var(--panel-alt,#7f7f7f14);border-radius:8px;flex-direction:column;grid-column:1/-1;gap:6px;padding:10px;display:flex}.archived-item{border-top:1px solid var(--line);padding:8px 0}.chip.status-partial{background:var(--warn-bg,#fdf3d8);color:var(--warn,#7a5300)}.payments-panel .pay-card{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:12px;display:flex}.pay-option{background:var(--panel-alt,#7f7f7f0f);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 10px;display:flex}.pay-card.matched .pay-option{background:var(--good-bg)}.split-line{font-variant-numeric:tabular-nums}.split-line>span:not(.block){white-space:nowrap}.fee-edit-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fee-edit-row input{width:7.5em}.match-box{border:1px solid var(--line);border-radius:10px;padding:10px}.match-pick{align-items:flex-start}.match-btn{align-self:flex-start}.pay-history{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-top:8px;display:flex}.pay-history.undone{opacity:.6}.balance-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.balances-table td,.balances-table th{vertical-align:top}.balances-table tr.flagged th,.balances-table tr.flagged td{background:var(--warn-bg)}.balance-ok{color:var(--good);font-weight:600}.balance-flag{color:var(--warn);font-weight:600}.balance-gap td{color:var(--warn);background:var(--warn-bg)}.balance-edit{max-width:560px;padding:8px 0}.unchecked-list,.unchecked-export ul{padding-left:18px}.tight-gap{gap:6px}@media screen and (width<=640px){.balance-fields{grid-template-columns:minmax(0,1fr)}}.void-form{border:1px solid var(--bad-bg);max-width:560px}.repeat-review{border:1px solid var(--line);background:var(--warn-bg);border-radius:10px;margin-bottom:12px;padding:12px}.repeat-line{align-items:flex-start;gap:8px;padding:4px 0}.look-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.look-card{border:2px solid var(--input-border);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex;position:relative}.look-card.on{border-color:var(--navy-700);box-shadow:0 0 0 2px #12263f26}.look-card input{opacity:0;pointer-events:none;position:absolute}.look-card:has(input:focus-visible){outline:3px solid var(--navy-700);outline-offset:2px}.look-card-name{font-size:14px;font-weight:600}.look-mini{border:1px solid var(--rule);color:#17140f;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;flex-direction:column;font-size:9px;display:flex;overflow:hidden}.look-head{background:var(--head);align-items:center;gap:6px;padding:8px;display:flex}.look-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--band-accent);flex:1;font-family:Cinzel,Georgia,serif;font-weight:700;overflow:hidden}.look-word{letter-spacing:.08em;color:var(--band-accent);font-family:Cinzel,Georgia,serif;font-weight:700}.look-rule{background:var(--accent);height:3px}.look-body{flex-direction:column;gap:4px;padding:8px;display:flex}.look-th,.look-row,.look-total{justify-content:space-between;gap:6px;padding:3px 5px;display:flex}.look-th{background:var(--band);color:var(--band-accent);letter-spacing:.08em;font-weight:700}.look-row{border-bottom:1px solid var(--rule)}.look-row.tint{background:var(--tint)}.look-total{background:var(--band);color:var(--band-ink);margin-top:2px}.look-total span{color:var(--band-accent);letter-spacing:.08em;font-weight:700}.look-label{color:var(--label);letter-spacing:.12em;font-weight:700}.look-btn{background:var(--accent);color:var(--accent-ink);align-self:flex-start;margin-top:4px;padding:6px 12px;font-weight:700}.look-mini.big{max-width:420px;font-size:13px}.look-mini.big .look-head{gap:12px;padding:16px}.look-mini.big .look-name{font-size:16px}.look-mini.big .look-word{font-size:20px}.look-mini.big .look-rule{height:5px}.look-mini.big .look-body{gap:6px;padding:14px 16px}.look-mini.big .look-th,.look-mini.big .look-row,.look-mini.big .look-total{padding:7px 10px}.look-logo{object-fit:contain;flex:none;width:40px;height:40px}.look-picker{border:1px solid var(--input-border);background:#fff;border-radius:10px;width:48px;height:44px;padding:2px}.look-hex{text-transform:uppercase;width:110px;font-family:ui-monospace,Consolas,monospace}.look-suggest{align-items:center;gap:8px;display:inline-flex}.look-swatch{vertical-align:middle;border:1px solid #0003;border-radius:4px;width:18px;height:18px;margin-right:6px;display:inline-block}.look-mini:not(.big) .look-th{letter-spacing:.02em;font-size:8px}.billing-banner{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px;display:flex}.billing-banner>p:first-child{flex:260px;font-weight:500}.billing-title .chip{margin-right:4px}.admin-table th,.admin-table td{text-align:left;white-space:normal;vertical-align:top}.admin-table td.num,.admin-table th.num{text-align:right}.admin-table select{max-width:100%}@media (width<=600px){.admin-table th,.admin-table td{padding:8px 6px}.admin-table .btn.small-btn{padding:4px 8px;font-size:13px}.admin-table select{min-width:7.5rem}}.email-box textarea{width:100%;font:inherit;border:1px solid var(--line);background:var(--surface,#fff);color:var(--text);border-radius:10px;padding:10px 12px}.email-heads{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;font-size:14px;display:grid}.email-heads dt{color:var(--muted)}.email-heads dd{overflow-wrap:anywhere;margin:0}.email-preview{border:1px solid var(--line);background:#f3f4f6;border-radius:10px;width:100%;height:520px}.email-history{gap:6px;padding:0;font-size:14px;list-style:none;display:grid}.email-status.good{color:var(--good)}.email-status.bad{color:var(--bad)}.delete-flow{border:2px solid var(--bad-border)}.delete-list{gap:4px;margin:0;padding-left:20px;font-size:15px;display:grid}.delete-list.kept{color:var(--muted)}.delete-flow h2{font-size:20px}.delete-flow h3{font-size:15px}.upload-actions{gap:8px;margin-left:auto;display:flex}.notice.warn .delete-list{font-weight:400}.confirm-input{letter-spacing:.08em;max-width:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.btn.danger-solid{background:var(--bad);color:#fff;border:0}.btn.danger-solid:disabled{opacity:.45;cursor:not-allowed}.danger-zone{border:1px solid var(--bad-border)}.two-step-reminder{border-left:4px solid var(--accent,#3b5bdb)}.contact-overlay{z-index:50;background:#12263f73;justify-content:center;align-items:flex-start;padding:48px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.contact-dialog{text-align:left;width:100%;max-width:480px}.contact-dialog textarea{resize:vertical}.contact-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-turnstile{min-height:65px}.contact-message{white-space:pre-wrap;overflow-wrap:anywhere}.landing{isolation:isolate;position:relative;overflow:hidden}.landing-bg{z-index:-1;background:var(--navy-900);position:fixed;inset:0;overflow:hidden}.landing-bg img{object-fit:cover;object-position:center top;filter:blur(2.5px)saturate(.9);width:100%;height:100%;transform:scale(1.08)}.landing-bg:after{content:"";background:#12263fc7;position:absolute;inset:0}.landing .landing-card{box-shadow:0 2px 8px #0000002e,0 24px 64px #00000059}.landing-bg picture{display:contents}@media (width<=767px){.landing-bg img{object-position:left top;transform-origin:0 0}}.landing.site-home{background:0 0;padding:0 16px 32px;display:block}.site-hero{place-items:center;min-height:100svh;padding:16px 0;display:grid}.site-hero .landing-card{margin:0 auto}.site-sections{flex-direction:column;gap:16px;max-width:880px;margin:0 auto;display:flex}.site-section{padding:24px;line-height:1.6}.site-section h2,.site-card h2{margin:0 0 12px;font-size:22px}.site-section p{margin:0 0 12px}.site-section>:last-child{margin-bottom:0}.site-steps{margin:0;padding-left:22px}.site-steps li+li{margin-top:10px}.site-features{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.site-features h3{color:var(--navy-700);margin:0 0 6px;font-size:16px}.site-features p{color:var(--muted);margin:0}.site-trades{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.site-trades li{color:var(--navy-700);background:#eef2fb;border-radius:999px;padding:4px 12px;font-weight:500}.site-cta{text-align:center}.site-cta .row{flex-wrap:wrap;justify-content:center}.site-footer{color:#c9d3e3;text-align:center;padding:8px 0 0}.site-footer p{margin:4px 0}.site-footer a{color:#fff}.site-page{background:var(--navy-900);min-height:100vh;padding:0 16px 32px}.site-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:720px;margin:0 auto;padding:16px 0;display:flex}.site-brand{color:#fff;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.site-links{gap:16px;display:flex}.site-links a{color:#fff;font-weight:500}.site-card{max-width:720px;margin:0 auto 16px;padding:28px 24px;line-height:1.6}.site-card h1{margin:0 0 12px}.site-card h2{margin-top:28px}.site-card .row{flex-wrap:wrap}.site-price{align-items:baseline;gap:8px;margin:0 0 4px;display:flex}.site-price strong{color:var(--navy-900);font-size:44px;line-height:1.1}.site-checks{margin:0;padding-left:22px}.site-checks li+li{margin-top:6px}.site-faq{margin:0}.site-faq dt{margin-top:14px;font-weight:600}.site-faq dd{color:var(--muted);margin:4px 0 0}.landing-auth{flex-direction:column;align-items:center;gap:16px;padding:16px 0;display:flex}.landing-auth-home{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.landing-auth-note{color:#c9d3e3;margin:0}.landing-auth-note a{color:#fff}a.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}
