:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202731;background:#f5f6f8;font-synthesis:none;font-size:16px;line-height:1.5;--muted:#616975;--border:#dde1e6;--ink:#202731;--brand:#8c323b;--focus:#3264b9;--accent:#324b66}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}input:focus,textarea:focus,select:focus{outline:3px solid #3264b929;border-color:var(--focus)}[hidden]{display:none!important}a{color:inherit}.skip-link{position:fixed;top:-80px;left:16px;background:white;padding:12px;z-index:100}.skip-link:focus{top:8px}.app-shell{max-width:1440px;margin:auto;padding:0 48px}.brand-row{display:flex;justify-content:space-between;align-items:center;padding:30px 0 24px}.brand{text-decoration:none;display:block;min-width:0;font-size:16px;font-weight:650;letter-spacing:-.2px;line-height:1.4}.brand-sub{display:block;font-size:12px;letter-spacing:0;font-weight:400;color:var(--muted);margin-top:2px}.local-pill{font-size:12px;color:#536259;display:flex;gap:7px;align-items:center}.local-pill>span,.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4f7b63}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0 23px;background:#f5f6f8f5;position:sticky;top:0;z-index:20;backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}h1{font-size:36px;line-height:1.2;letter-spacing:-1.4px;margin:0;font-weight:650}.title-dot{color:var(--brand)}.subtitle{font-size:14px;color:var(--muted);margin:7px 0 0}.actions{display:flex;gap:10px;align-items:center}.button{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:11px;font-size:14px;font-weight:600;line-height:1.3;min-height:46px;padding:12px 17px;text-decoration:none;transition:background .15s,box-shadow .15s;color:var(--ink);background:transparent}.button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.primary{background:#242c37;color:white;box-shadow:0 2px 3px #20273112}.primary:hover{background:#394454}.secondary{border-color:var(--border);background:white}.secondary:hover,.quiet:hover{background:#e9ecf0}.quiet{color:#4a535e}.small{padding:10px 13px;min-height:44px;white-space:nowrap}.wide{width:100%}.text-button{padding:4px 0;border:0;background:none;color:#465c78;font-size:13px;text-decoration:underline;text-underline-offset:3px;min-height:30px}.text-button:hover{color:#202731}.workspace-meta{display:flex;justify-content:space-between;align-items:center;margin:17px 0;font-size:12px;color:var(--muted);gap:12px}#save-status{margin:0;display:flex;align-items:center;gap:7px}.notice{border:1px solid #c8d7e5;background:#eef4fa;color:#294c6c;padding:13px 17px;font-size:14px;border-radius:12px;margin-bottom:20px;overflow-wrap:anywhere}.notice.error{background:#fff1f1;border-color:#e4c2c2;color:#932f36}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.07fr);gap:32px;align-items:start}form{min-width:0}.card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:27px 28px;margin-bottom:20px;box-shadow:0 2px 5px #25334c02}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.45px;color:#727b87}.section-head h2{font-size:21px;letter-spacing:-.55px;font-weight:600;margin:5px 0 0}.section-icon{font-size:26px;color:#a4adb7}.field{margin-bottom:19px;min-width:0}.field:last-child{margin-bottom:0}label{display:block;font-size:14px;font-weight:550;line-height:1.45;margin-bottom:7px}.optional,.required{font-size:11px;color:#78818c;font-weight:400;margin-left:5px}.required{color:#66717f}input:not([type=checkbox]):not([type=color]):not([type=file]),textarea,select{display:block;width:100%;min-width:0;border:1px solid #dce1e7;border-radius:9px;padding:11px 12px;background:#fbfcfd;color:var(--ink);font-size:16px;line-height:1.4;min-height:46px;transition:border-color .15s}textarea{resize:vertical;min-height:78px}input::placeholder,textarea::placeholder{color:#838b96;font-size:14px;opacity:1}select{padding-right:24px}input[type=date]{min-width:0;appearance:none}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:#b3474f;background:#fffafa}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.two-col .field{margin-bottom:16px}.helper{font-size:12px;line-height:1.6;color:var(--muted);font-weight:400;margin:5px 0 0}.under-row{margin:-6px 0 19px}.profile-row{display:flex;align-items:end;gap:12px;margin-bottom:20px}.profile-row .field{flex:1;margin:0}.profile-help{border-top:1px solid #edf0f3;padding-top:16px;margin-top:18px}.logo-row{display:flex;align-items:center;gap:16px;margin-top:22px}.logo-thumbnail{width:66px;height:66px;border:1px dashed #ccd3dc;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#9aa3af;font-size:27px;background:#fafbfc;flex-shrink:0}.logo-thumbnail img{max-width:58px;max-height:58px;object-fit:contain}.file-label{cursor:pointer;margin:0;font-weight:600}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.file-label:has(+input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.danger{color:#a63c46}.line-item{border:1px solid #e1e5ea;border-radius:12px;background:#fafbfc;padding:16px;margin-bottom:12px}.item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;gap:10px}.item-number{font-size:11px;font-weight:650;letter-spacing:.7px;color:#687482}.remove-item{background:none;border:0;color:#6a7481;font-size:12px;min-height:32px;padding:4px 6px;text-decoration:underline;text-underline-offset:3px}.remove-item:hover{color:#a63c46}.line-item textarea,.line-item input:not([type=checkbox]){background:white}.line-item .field{margin-bottom:12px}.line-item textarea{min-height:78px}.line-item .two-col .field{margin-bottom:0}.item-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:10px;min-height:28px}.taxable-label{font-size:13px;font-weight:400;display:flex;align-items:center;gap:8px;margin:0;min-height:32px}.taxable-label input{width:18px;height:18px;accent-color:#324b66;margin:0}.item-amount{font-size:13px;font-weight:600;color:#4d5865;margin-left:auto;font-variant-numeric:tabular-nums}.add-item{width:100%;border:1px dashed #cbd3dd;color:#465b75;margin-top:3px}.add-item:hover{background:#f2f5f9}.tax-section{margin-top:25px;padding-top:22px;border-top:1px solid #e8ecf0}.toggle-row{display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-bottom:0;gap:15px}.toggle-row strong{font-size:14px;font-weight:550}.toggle-row .helper{display:block;margin-top:2px}.toggle-row input{appearance:none;width:43px;height:26px;border-radius:20px;background:#d8dde4;position:relative;flex-shrink:0;cursor:pointer;transition:background .15s;margin:0}.toggle-row input:before{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:transform .15s}.toggle-row input:checked{background:#426752}.toggle-row input:checked:before{transform:translateX(17px)}.toggle-row input:focus-visible{outline:3px solid var(--focus);outline-offset:4px}#tax-fields{margin-top:20px}#tax-fields .two-col .field{margin-bottom:7px}.accent-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0f3;padding-top:20px}.accent-row label{margin-bottom:0}input[type=color]{width:46px;height:40px;padding:3px;border:1px solid var(--border);border-radius:9px;background:white;cursor:pointer}.privacy-note{font-size:12px;color:#717b88;padding:0 8px;line-height:1.7;max-width:460px}.preview-column{position:sticky;top:131px;min-width:0}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:0 3px 12px;font-size:11px;color:#79818b}.invoice-paper{background:white;border:1px solid #dde2e8;box-shadow:0 8px 32px #23334a08;border-radius:4px;padding:38px 33px;min-height:680px;max-height:calc(100vh - 238px);overflow:auto;scrollbar-width:thin;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.invoice-rule{height:4px;background:var(--accent);width:44px;margin-bottom:25px}.invoice-top{display:flex;gap:22px;justify-content:space-between;align-items:start;margin-bottom:31px}.invoice-business{flex:1;min-width:0}.invoice-business h3{font-size:18px;line-height:1.35;font-weight:650;letter-spacing:-.5px;margin:0 0 8px}.invoice-business p{white-space:pre-wrap;color:#626c78;font-size:11px;margin:5px 0}.invoice-logo{display:block;max-width:130px;max-height:66px;margin-bottom:15px;object-fit:contain;object-position:left}.invoice-label{text-align:right;max-width:45%;min-width:90px}.invoice-label h3{font-size:10px;font-weight:650;letter-spacing:2px;margin:0 0 6px}.invoice-label p{font-size:12px;font-weight:600;margin:0;white-space:pre-wrap}.invoice-meta{display:grid;grid-template-columns:1fr auto;gap:20px;margin:0 0 28px;font-size:11px}.invoice-meta h4,.invoice-bottom h4{color:#777f89;font-size:9px;letter-spacing:1.4px;text-transform:uppercase;font-weight:650;margin:0 0 6px}.invoice-meta p{margin:3px 0;white-space:pre-wrap}.invoice-meta .customer-name{font-size:12px;font-weight:600}.dates{text-align:right;display:grid;gap:10px;align-content:start}.dates h4{letter-spacing:.7px;margin-bottom:0}.preview-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}.preview-table th{text-align:left;font-size:9px;font-weight:550;letter-spacing:.4px;color:#75808d;padding:10px 0;border-bottom:1px solid #cfd7e0;border-top:1px solid #e3e8ee}.preview-table td{padding:15px 0;vertical-align:top;border-bottom:1px solid #edf0f3;white-space:pre-wrap}.preview-table th:nth-child(1){width:46%}.preview-table th:nth-child(2){width:10%}.preview-table th:nth-child(3){width:21%}.preview-table th:nth-child(4){width:23%}.preview-table td:first-child{padding-right:13px}.preview-table th:not(:first-child),.preview-table td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;padding-left:5px;overflow-wrap:anywhere}.tax-tag{display:block;color:#7b8490;font-size:9px;margin-top:5px}.invoice-totals{width:68%;margin:22px 0 0 auto;font-size:11px}.total-row{display:flex;justify-content:space-between;gap:16px;margin-bottom:9px;align-items:baseline}.total-row span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.total-row.grand{margin-top:14px;padding-top:13px;border-top:1px solid #cfd7e0;font-size:17px;font-weight:650;letter-spacing:-.3px}.tax-base{font-size:9px;color:#7b8490;text-align:right;margin:0 0 8px}.invoice-bottom{margin-top:30px;border-top:1px solid #e4e9ef;padding-top:22px}.invoice-bottom p{font-size:11px;color:#5d6673;margin:4px 0 20px;white-space:pre-wrap}.placeholder{color:#9da5af}.preview-caption{font-size:11px;color:#75808b;text-align:center;margin:13px 10px}.rounding-note{font-size:11px;color:#75808b;margin:14px 10px 0}.rounding-note summary{cursor:pointer}.rounding-note p{margin:7px 0}footer{border-top:1px solid var(--border);margin-top:30px;padding:20px 0 28px;display:flex;align-items:start;gap:30px;justify-content:space-between;font-size:11px;color:#717b88}footer p{max-width:770px;margin:0}footer .text-button{font-size:11px;min-height:0;padding:0}footer>a{white-space:nowrap;margin-top:3px}.error-summary{border:1px solid #dcabb0;background:#fff5f5;color:#962e38;padding:20px;border-radius:12px;margin-bottom:20px}.error-summary h2{font-size:17px;margin:0 0 8px}.error-summary ul{padding-left:20px;margin:0;font-size:14px}.error-summary li{margin:5px 0}.error-summary a{color:inherit}dialog{border:1px solid #dce2e9;border-radius:20px;background:white;padding:28px;max-width:550px;width:calc(100% - 32px);max-height:85vh;box-shadow:0 24px 90px #14202f33;color:var(--ink)}dialog::backdrop{background:#18243365;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.dialog-head h2{font-size:25px;letter-spacing:-.7px;margin:5px 0 0}.icon-button{width:44px;height:44px;flex-shrink:0;border:0;border-radius:50%;background:#f2f4f7;font-size:26px;font-weight:300;color:#687380}dialog>p{font-size:14px;color:#606b78;line-height:1.7}dialog h3{font-size:17px;font-weight:600;margin-bottom:8px}.divider{border-top:1px solid #e3e8ed;margin:28px 0}.backup-warning{font-size:12px!important;background:#f5f7f9;padding:13px;border-radius:9px;margin-top:25px}.import-review{margin-top:18px;padding:15px;border:1px solid #cbd8e7;border-radius:11px;background:#f7faff;font-size:14px}.saved-list{display:grid;gap:10px;margin-top:20px}.saved-entry{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;text-align:left;border:1px solid #dfe5eb;background:#fafbfd;border-radius:12px;padding:15px;color:var(--ink);min-height:76px}.saved-entry:hover{border-color:#8d9fb5;background:#f2f6fa}.saved-entry strong{display:block;font-size:14px;overflow-wrap:anywhere}.saved-entry span{display:block;font-size:12px;color:#6a7684;margin-top:4px;overflow-wrap:anywhere}.saved-entry .saved-amount{font-size:13px;color:#35495e;text-align:right;flex-shrink:0;max-width:45%}.save-error{color:#a13b43!important}.storage-count{font-size:12px;color:#687481}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1450px){.app-shell{padding:0 60px}.workspace{gap:42px}.invoice-paper{padding:44px}}
@media(max-width:1100px){.app-shell{padding:0 28px}.workspace{gap:22px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.card{padding:23px}.invoice-paper{padding:30px 24px}.button{padding:12px 13px}.toolbar h1{font-size:31px}.actions{gap:6px}.invoice-totals{width:84%}}
@media(max-width:850px){.workspace{grid-template-columns:1fr;max-width:650px;margin:auto}.preview-column{position:static;margin-top:16px}.invoice-paper{max-height:none;min-height:650px;padding:38px}.toolbar{align-items:start;gap:15px}.toolbar h1{font-size:28px}.subtitle{display:none}.actions{flex-wrap:wrap;justify-content:end}.actions .button{font-size:13px}.brand-sub{font-size:11px}.card{padding:26px}.workspace-meta{max-width:650px;margin:16px auto}.preview-caption{font-size:12px}.invoice-totals{width:65%}footer{max-width:650px;margin:30px auto 0;display:block}footer>a{display:inline-block;margin-top:12px}}
@media(max-width:600px){.app-shell{padding:0 18px}.brand-row{padding:20px 0 17px}.brand{font-size:14px;letter-spacing:-.1px}.brand-sub{display:none}.local-pill{font-size:10px}.toolbar{padding:9px 0 15px;display:block}.toolbar h1{font-size:29px;letter-spacing:-1px}.actions{display:grid;grid-template-columns:1fr 1fr;margin-top:15px;gap:8px}.actions .quiet{grid-column:1;grid-row:2;font-size:12px;min-height:32px;padding:5px 10px}.actions .secondary{grid-column:2;grid-row:2;font-size:12px;min-height:32px;padding:5px 10px;border-color:transparent;background:transparent}.actions .primary{grid-column:1 / -1;grid-row:1;min-height:46px;font-size:14px}.workspace-meta{align-items:start;font-size:11px;gap:8px;margin:12px 0 17px}.workspace-meta .text-button{font-size:11px;white-space:nowrap;padding:0;min-height:22px}#save-status{padding-top:3px}.card{padding:22px 18px;border-radius:15px;margin-bottom:15px}.section-head{margin-bottom:20px}.section-head h2{font-size:20px}.eyebrow{font-size:9px}.profile-row{gap:8px}.profile-row .small{font-size:12px;padding:10px}.two-col{gap:10px}.two-col label{font-size:13px}.optional,.required{font-size:10px}.line-item{padding:13px}.invoice-paper{padding:28px 21px;min-height:580px}.invoice-business h3{font-size:17px}.invoice-meta{grid-template-columns:1fr 100px;gap:15px}.invoice-top{gap:15px}.invoice-totals{width:85%}.total-row.grand{font-size:16px}.preview-table{font-size:10px}.preview-table th{font-size:8px}.preview-table th:nth-child(1){width:42%}.preview-table th:nth-child(2){width:10%}.preview-table th:nth-child(3){width:24%}.preview-table th:nth-child(4){width:24%}.preview-table td:first-child{padding-right:7px}.invoice-label{min-width:75px}.preview-caption{font-size:11px}dialog{padding:22px}.dialog-head h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
input,textarea,select,h2,[tabindex]{scroll-margin-top:140px}.remove-item,.taxable-label{min-height:44px}@media(max-width:600px){input,textarea,select,h2,[tabindex]{scroll-margin-top:230px}.actions .quiet,.actions .secondary{min-height:44px}}

.optional,.required,.eyebrow{color:#616d7b}input::placeholder,textarea::placeholder{color:#6b7684}.total-row{flex-wrap:wrap}.total-row span:last-child{max-width:100%;white-space:normal;overflow-wrap:anywhere;margin-left:auto}

.brand-row{gap:16px}.local-pill{flex-shrink:0;white-space:nowrap}
