@font-face{font-family:Inter;src:url(/fonts/Inter-Variable.ttf)format("truetype");font-weight:100 900;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/Outfit-Variable.ttf)format("truetype");font-weight:100 900;font-display:swap}@font-face{font-family:Mono;src:url(/fonts/JetBrainsMono-Regular.ttf)format("truetype");font-display:swap}:root{color:#0d1f3c;font-synthesis:none;--navy:#0d1f3c;--amber:#c8872e;--stone:#606670;--line:#e1e3e4;--paper:#fafaf8;--radius:10px;background:#fafaf8;font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a,button{color:inherit}button,select,input,textarea{min-width:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #c8872e}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em;font-family:Outfit,system-ui,sans-serif}h1{font-size:42px;font-weight:600;line-height:1.12}h2{font-size:22px;font-weight:550;line-height:1.3}h3{font-size:17px;font-weight:550}p+p{margin-top:12px}.muted,small{color:var(--stone)}.small,small{font-size:13px}.preserve-lines{white-space:pre-wrap}.app-shell{min-height:100dvh}.sidebar{border-right:1px solid var(--line);z-index:10;background:#f3f3ef;flex-direction:column;width:224px;padding:34px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:9px;text-decoration:none;display:flex}.brand img{border-radius:8px}.brand>span{letter-spacing:-.035em;gap:4px;font-family:Outfit;font-size:19px;display:flex}.brand strong{font-weight:600}.sidebar-rule{background:var(--line);height:1px;margin:30px 0 22px}.sidebar nav{gap:7px;display:grid}.sidebar nav button{text-align:left;width:100%;color:var(--stone);background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;min-height:48px;padding:13px 14px;font-size:14px;display:flex}.sidebar nav button.active{color:#fff;background:var(--navy)}.sidebar nav button:not(.active):hover{background:#e8e9e5}.nav-count{background:#ffffff20;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:11px}.sidebar-bottom{margin-top:auto;padding:24px 14px 6px}.sidebar-bottom span{letter-spacing:-.025em;font-family:Outfit;font-size:24px;line-height:1.2;display:block}.main-shell{margin-left:224px}.topbar{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;height:88px;padding:0 44px;display:flex}.workspace-label{letter-spacing:.12em;color:var(--stone);font-size:10px;font-weight:550}.workspace-label span{color:#a9a9a1;margin:0 14px}.topbar-actions{align-items:center;gap:16px;display:flex}.avatar{background:#e9e9e1;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;font-weight:600;display:grid}.local-label{color:var(--stone);background:#eeeee8;border:1px solid #e1e2da;border-radius:5px;padding:4px 7px;font-size:11px}.mobile-brand,.mobile-action,.bottom-nav{display:none}main{max-width:1300px;margin:0 auto;padding:43px 44px 72px}.page-title{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.page-title p.muted{margin-top:12px}.eyebrow{letter-spacing:.13em;color:var(--stone);margin-bottom:10px;font-size:10px;font-weight:600}.primary,.secondary,.danger{border-radius:var(--radius);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:12px 20px;font-size:14px;font-weight:550;text-decoration:none;display:inline-flex}.primary{background:var(--navy);color:#fff}.primary:hover:not(:disabled){background:#173757}.secondary{background:0 0;border-color:#d6dadc}.secondary:hover:not(:disabled){background:#eceeea}.danger{color:#fff;background:#8b2f2c}.icon-button{background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;text-decoration:none;display:inline-flex}.icon-button:hover{background:#0d1f3c08}.text-button{background:0 0;border:0;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:6px 0;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.text-button:hover{text-decoration:underline}.danger-text{color:#94332d}.workspace-summary{text-align:left;width:100%;color:inherit;border-left:0;border-right:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:36px;margin:32px 0;padding:26px 0 29px;display:flex}.workspace-summary>div:first-child{flex-direction:column;gap:3px;display:flex}.summary-label{color:var(--stone);font-size:12px}.workspace-summary strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-family:Outfit;font-size:34px;font-weight:500}.summary-secondary{color:var(--stone);align-self:flex-end;gap:22px;margin-bottom:7px;font-size:13px;display:flex}.summary-secondary b{color:var(--navy);font-weight:600}.summary-note{color:var(--stone);align-items:center;gap:8px;margin-left:auto;font-size:12px;display:flex}.list-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:19px;display:flex}.filter-tabs{background:#eff0ed;border:1px solid #e4e6e0;border-radius:9px;padding:4px;display:flex}.filter-tabs button{min-height:36px;color:var(--stone);background:0 0;border:0;border-radius:6px;padding:6px 16px;font-size:13px}.filter-tabs button.active{background:var(--navy);color:#fff}.search{color:var(--stone);background:#fff;border:1px solid #dce0df;border-radius:8px;align-items:center;gap:9px;width:288px;min-height:46px;padding:0 13px;display:flex}.search input{width:100%;color:var(--navy);background:0 0;border:0;outline:none;padding:10px 0;font-size:13px}.search:focus-within{outline:2px solid var(--amber);outline-offset:2px}.ledger{border-top:1px solid var(--line)}.ledger-heading,.invoice-row{grid-template-columns:minmax(140px,1fr) 125px 110px 115px 22px;align-items:center;gap:16px;display:grid}.ledger-heading{text-transform:uppercase;letter-spacing:.07em;color:var(--stone);border-bottom:1px solid var(--line);min-height:45px;font-size:10px}.ledger-heading>span:nth-child(4){text-align:right}.invoice-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;width:100%;min-height:92px;padding:21px 0}.invoice-row:hover{background:#f1f2ed}.row-customer{flex-direction:column;gap:7px;min-width:0;display:flex}.row-customer strong{font-size:15px;font-weight:550}.document-number{color:var(--stone);letter-spacing:-.035em;overflow-wrap:anywhere;font-family:Mono,monospace;font-size:11px}.kind-label{font-family:Inter;font-size:10px}.row-date{color:var(--stone);font-size:12px}.badge{color:#4f5b6a;white-space:nowrap;background:#edf0f3;border-radius:5px;justify-content:center;justify-self:start;align-items:center;width:max-content;max-width:100%;padding:4px 8px;font-size:11px;font-weight:500;line-height:1.3;display:inline-flex}.badge.unpaid,.badge.issued{color:#7c571b;background:#f4ecd9}.badge.overdue{color:#983b36;background:#f6e8e5}.badge.paid{color:#356947;background:#e2eee6}.badge.void,.badge.deleted{color:#595959;background:#e9e9e9}.row-amount{text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.025em;font-size:16px;font-weight:550}.row-chevron{color:#89929d}.ledger-footnote{color:var(--stone);margin-top:20px;font-size:11px}.load-more{margin:25px auto;display:flex}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:72px 24px;display:flex}.empty-state>svg{color:#8090a0;stroke-width:1.4px;margin-bottom:4px}.empty-state p{max-width:380px;color:var(--stone);font-size:14px}.empty-state .primary{margin-top:10px}.loading-state{flex-direction:column;align-items:center;gap:20px;padding:15vh 0;display:flex}.spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-narrow{max-width:760px;margin:0 auto}.back{min-height:44px;color:var(--stone);background:0 0;border:0;align-items:center;gap:8px;margin-bottom:17px;padding:0;font-size:13px;display:flex}.back:hover{color:var(--navy)}.form-section{border-top:1px solid var(--line);padding:26px 0 30px}.section-heading{align-items:center;gap:12px;margin-bottom:24px;display:flex}.step-number{color:var(--stone);border:1px solid #daddda;border-radius:50%;flex-shrink:0;place-items:center;width:31px;height:31px;font-family:Mono;font-size:11px;display:grid}.section-heading h2{font-size:23px}.section-heading p{color:var(--stone);margin-top:2px;font-size:12px}.field{flex-direction:column;gap:7px;margin:0 0 19px;font-size:13px;font-weight:500;display:flex}.field>span:first-child{line-height:1.4}.field>small{font-size:11px;font-weight:400}.field input,.field select,.field textarea{width:100%;min-height:48px;color:var(--navy);background:#fff;border:1px solid #ced4d9;border-radius:8px;padding:12px;font-size:15px;line-height:1.4}.field textarea{resize:vertical}.field input[type=date]{appearance:none;min-width:0}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#ab4940}.field-error{color:#9a342f}.two-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.customer-address{color:var(--stone);margin-top:-9px;font-size:12px}.customer-address+.text-button{margin-bottom:16px}.service{background:#f1f2ee;border:1px solid #e1e4df;border-radius:10px;margin-bottom:16px;padding:20px}.service-heading{justify-content:space-between;align-items:center;min-height:28px;margin-bottom:15px;display:flex}.service-heading h3{text-transform:uppercase;letter-spacing:.02em;color:var(--stone);font-family:Mono;font-size:11px}.service .two-columns .field{margin-bottom:0}.money-input{background:#fff;border:1px solid #ced4d9;border-radius:8px;align-items:center;display:flex}.money-input>span{color:var(--stone);padding-left:13px;font-size:16px}.money-input input{font-variant-numeric:tabular-nums;background:0 0;padding-left:7px;border:0!important}.money-input:focus-within{outline:3px solid var(--amber);outline-offset:3px}.money-input input:focus-visible{outline:0}.add-service{border-style:dashed;width:100%}.totals{font-variant-numeric:tabular-nums;max-width:420px;margin-left:auto;padding:6px 0}.totals>div{justify-content:space-between;gap:24px;padding:8px 0;font-size:14px;display:flex}.totals .grand-total{border-top:1px solid var(--line);margin-top:5px;padding:17px 0 10px;font-family:Outfit;font-size:20px}.grand-total strong{font-weight:550}details{border-top:1px solid var(--line);padding:18px 0}summary{cursor:pointer;min-height:44px;padding:11px 0;font-size:13px;font-weight:550}details[open]>summary{margin-bottom:20px}.save-status{color:var(--stone);margin:0 0 18px;font-size:12px}.action-bar{padding:17px 0 max(17px, env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);z-index:4;gap:12px;display:flex;position:sticky;bottom:0}.action-bar .primary{flex:1}.notice{color:#344963;overflow-wrap:anywhere;background:#eff3f6;border:1px solid #d8dee5;border-radius:7px;margin:0 0 22px;padding:15px 17px;font-size:14px;line-height:1.5}.notice.error{color:#843b31;background:#fff0ed;border-color:#ead0cc #ead0cc #ead0cc #a2473d}.notice.success{color:#315c32;background:#eaf2e9;border-color:#cfdfce #cfdfce #cfdfce #457646}.notice .primary{margin-top:12px;display:flex}.notice .text-button{display:block}.review-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px;margin-bottom:28px;padding:23px 0;display:grid}.review-summary>div{flex-direction:column;gap:5px;display:flex}.review-summary strong{font-size:18px;font-weight:550}.review-summary span{font-size:13px}.preview-label{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.preview-label h2{font-size:18px}.invoice-preview{background:#fff;border:1px solid #d5dadd;width:100%;overflow:hidden}.invoice-preview iframe{transform-origin:0 0;background:#fafaf8;border:0;display:block}.invoice-preview+.muted{margin:14px 0 24px}.check-row{cursor:pointer;background:#f0f1ed;border-radius:8px;align-items:flex-start;gap:11px;margin-bottom:22px;padding:16px;font-size:14px;display:flex}.check-row input{width:20px;height:20px;accent-color:var(--navy);flex-shrink:0;margin:1px 0 0}.customer-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:17px;width:100%;min-height:99px;padding:18px 0;display:flex}.customer-row>span:nth-child(2){flex-direction:column;gap:5px;display:flex}.customer-row strong{font-weight:550}.customer-row>svg{color:var(--stone);margin-left:auto}.customer-icon{background:#eef0eb;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.page-title+.mobile-action+.search{margin-bottom:22px}.settings-section{border-top:1px solid var(--line);padding:28px 0}.settings-section h2{align-items:center;gap:11px;margin-bottom:17px;font-size:21px;display:flex}.settings-section p{font-size:14px;line-height:1.7}.settings-section p+.inline,.settings-section p+.field{margin-top:17px}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title .text-button{align-self:flex-start;margin-top:-5px}.detail-pairs{grid-template-columns:1fr 1.4fr;gap:12px 24px;margin:20px 0;font-size:13px;display:grid}.detail-pairs span{color:var(--stone)}.detail-pairs strong{overflow-wrap:anywhere;font-weight:500}.instructions{padding-left:21px;font-size:14px;line-height:1.7}.instructions li{padding:4px 0 4px 3px}.copy-field{background:#fff;border:1px solid #ced4d9;border-radius:8px;display:flex}.copy-field input{border:0;font-size:12px}.token-create{align-items:end;margin-top:25px}.token-create .secondary{margin-bottom:19px;padding-left:10px;padding-right:10px}.connection-list{margin:12px 0 0;padding:0;list-style:none}.connection-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.connection-list li>div{flex-direction:column;gap:4px;display:flex}.connection-list strong{overflow-wrap:anywhere;font-size:13px}.connection-list small{font-size:11px}.detail-title{align-items:flex-start}.detail-title h1{font-size:34px}.detail-title .document-number{margin-top:10px;font-size:13px}.detail-title .badge{margin-top:26px}.document-total{background:var(--navy);color:#fff;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:20px;padding:29px 30px;display:flex}.document-total p{color:#c4ccd7;font-size:12px}.document-total strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-family:Outfit;font-size:46px;font-weight:500}.document-total span{color:#c4ccd7;margin-top:2px;font-size:12px}.primary-actions{align-items:center;gap:12px;margin-bottom:30px;display:flex}.primary-actions .primary{flex:1}.detail-service{border-bottom:1px solid var(--line);justify-content:space-between;gap:24px;padding:18px 0;font-size:14px;display:flex}.detail-service>div{flex-direction:column;gap:5px;display:flex}.detail-service small{font-size:11px}.detail-service strong{white-space:pre-wrap;overflow-wrap:anywhere;font-weight:500}.detail-service>span{white-space:nowrap}.document-actions{flex-wrap:wrap;gap:12px;padding-bottom:24px;display:flex}.activity>div{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding:12px 0;display:flex}.activity strong{text-transform:capitalize;font-size:12px;font-weight:500}.activity small{font-size:11px}.activity p{font-size:13px}.recovery-banner{background:#f3ecd9;border:1px solid #e7dbb9;border-radius:8px;align-items:center;gap:10px;margin:-8px 0 25px;padding:13px 16px;display:flex}.recovery-banner>div{flex-direction:column;flex:1;gap:3px;display:flex}.recovery-banner strong{font-size:12px;font-weight:550}.recovery-banner span{color:var(--stone);font-size:11px}.toast{background:var(--navy);color:#fff;z-index:100;border:1px solid #44556b;border-radius:8px;width:max-content;max-width:calc(100vw - 32px);padding:14px 22px;font-size:14px;position:fixed;bottom:30px;left:calc(50% + 100px);transform:translate(-50%);box-shadow:0 4px 18px #0002}.offline-banner{background:#f3ecd9;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:12px;display:flex}dialog{background:var(--paper);width:calc(100% - 32px);max-width:550px;max-height:calc(100dvh - 48px);color:var(--navy);border:1px solid #dde1e3;border-radius:16px;padding:26px;box-shadow:0 24px 80px #0002}dialog::backdrop{background:#07132366}.modal-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.modal-title h2{font-size:25px}dialog p{margin-bottom:20px;font-size:14px;line-height:1.65}.dialog-actions{justify-content:flex-end;gap:12px;margin-top:25px;display:flex}.skip-link{background:var(--navy);color:#fff;z-index:1000;padding:14px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}main:focus{outline:0}@media (width>=1400px){main{padding-top:54px}.workspace-summary{margin-top:37px;margin-bottom:38px}.invoice-row{min-height:98px}}@media (width<=1100px){.sidebar{width:190px;padding:28px 16px}.main-shell{margin-left:190px}.brand>span{font-size:17px}.brand img{width:34px;height:34px}.topbar{padding:0 30px}main{padding:35px 30px 60px}.summary-note{display:none}.ledger-heading,.invoice-row{grid-template-columns:minmax(130px,1fr) 95px 78px 95px 18px;gap:10px}.row-date{font-size:11px}.workspace-label{font-size:9px}}@media (width<=800px){.sidebar{display:none}.main-shell{margin-left:0}.topbar{height:77px;padding:env(safe-area-inset-top) 21px 0}.workspace-label,.avatar{display:none}.mobile-brand{letter-spacing:-.035em;align-items:center;gap:8px;text-decoration:none;display:flex}.mobile-brand img{border-radius:6px;width:31px;height:31px}.mobile-brand strong{font-family:Outfit;font-size:21px;font-weight:600}.mobile-brand span{font-weight:400}.topbar-actions{gap:4px}.local-label{padding:3px 5px;font-size:9px}.topbar-actions .icon-button{min-width:44px}main{max-width:700px;padding:27px 22px 110px}.page-title{gap:16px;margin-bottom:23px}.page-title .eyebrow{letter-spacing:.11em;margin-bottom:8px;font-size:9px}h1{font-size:36px}.desktop-subtitle,.desktop-action{display:none}.mobile-action{width:100%;min-height:52px;margin-bottom:24px;font-size:16px;display:flex}.workspace-summary{border-top:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px 16px;margin:0 0 20px;padding:0 0 17px}.workspace-summary>div:first-child{flex-direction:row;align-items:baseline;gap:6px}.summary-label{order:2;font-size:12px}.workspace-summary strong{letter-spacing:-.025em;font-family:Inter;font-size:18px;font-weight:600}.summary-secondary{flex-direction:row;align-self:center;align-items:center;gap:10px;margin-bottom:0;font-size:11px}.list-toolbar{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:16px}.filter-tabs{width:100%;padding:4px}.filter-tabs button{flex:1;min-height:44px;padding:5px 10px;font-size:13px}.search{width:100%;min-height:45px}.search input{font-size:16px}.ledger-heading{display:none}.invoice-row{grid-template-rows:auto auto;grid-template-columns:minmax(130px,1fr) auto 13px;gap:8px 11px;min-height:101px;padding:21px 0}.row-customer{grid-area:1/1/3/2;gap:9px}.row-customer strong{font-size:15px;line-height:1.35}.row-customer .document-number{font-size:10px;line-height:1.55}.row-date{grid-area:1/2/2/3;place-self:start end;font-size:10px}.row-amount{grid-area:2/2/3/3;align-self:end;font-size:16px}.invoice-row .badge{grid-area:3/1/4/2;margin-top:-1px;padding:3px 6px;font-size:10px}.row-chevron{grid-area:1/3/4/4;width:16px}.invoice-row{grid-template-rows:auto auto auto;row-gap:5px;padding:20px 0}.row-customer{grid-area:1/1/3/2}.row-date{padding-top:2px}.row-amount{grid-area:2/2/4/3;align-self:center}.ledger-footnote{margin-top:19px;font-size:10px;line-height:1.6}.bottom-nav{padding:9px 20px calc(9px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#fafaf8f5;border-top:1px solid #dde1e2;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#6b7380;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;min-width:70px;min-height:49px;font-size:10px;display:flex}.bottom-nav button.active{color:var(--navy);font-weight:600}.bottom-nav button.active svg{stroke-width:2.5px}.toast{bottom:calc(88px + env(safe-area-inset-bottom));font-size:12px;left:50%}.eyebrow{font-size:9px}.back{margin-top:-12px;margin-bottom:12px}.editor .page-title h1{font-size:32px}.section-heading h2{font-size:22px}.field input,.field select,.field textarea{min-height:49px;padding:12px 10px;font-size:16px}.field{margin-bottom:19px;font-size:12px}.field>small{font-size:11px}.two-columns{gap:12px}.form-section{padding:23px 0}.section-heading{margin-bottom:22px}.service{padding:17px 14px}.service-heading{margin-bottom:14px}.service .two-columns{grid-template-columns:1.05fr 1fr;gap:10px}.service .two-columns .field{font-size:10px}.money-input>span{padding-left:10px}.money-input input{padding-left:6px}.primary,.secondary,.danger{padding:12px 16px;font-size:13px}.action-bar{padding:14px 22px calc(14px + env(safe-area-inset-bottom));gap:10px;margin:0 -22px}.action-bar .primary,.action-bar .secondary{min-height:50px;padding:13px 12px;font-size:12px}.editing main{padding-bottom:0}.editing .topbar{position:relative}.save-status{font-size:11px}.review-summary{gap:21px 14px}.review-summary strong{font-size:16px}.review-summary span{font-size:12px}.review-summary small{font-size:11px}.preview-label h2{font-size:17px}.preview-label .text-button{font-size:11px}.check-row{padding:14px;font-size:13px}.document-total{padding:25px 24px}.document-total strong{font-size:43px}.detail-title h1{font-size:31px}.detail-title .badge{margin-top:20px;font-size:10px}.detail-title .document-number{font-size:11px}.primary-actions{gap:8px;margin-bottom:25px}.primary-actions .primary,.primary-actions .secondary{padding:12px 13px}.primary-actions .icon-button{min-width:44px}.detail-pairs{grid-template-columns:1fr 1.2fr;gap:12px;font-size:12px}.settings-section{padding:24px 0}.settings-section h2{font-size:21px}.settings-section p{font-size:13px}.token-create{grid-template-columns:1fr}.token-create .field,.token-create .secondary{margin-bottom:0}.section-title .text-button{font-size:11px}.detail-service{gap:15px;font-size:13px}.detail-service small{font-size:10px}.customer-row{min-height:92px}.customer-row strong{font-size:14px}.customer-row small{font-size:11px}.recovery-banner{gap:4px;padding:12px}.recovery-banner strong,.recovery-banner .text-button{font-size:11px}.recovery-banner .icon-button{min-width:44px}.recovery-banner span{font-size:10px}dialog{border-radius:14px;max-height:calc(100dvh - 32px);padding:23px 20px}.modal-title h2{font-size:24px}.dialog-actions{flex-wrap:wrap;gap:10px}.dialog-actions button{flex:1}.empty-state{padding:53px 15px}.empty-state h2{font-size:23px}.empty-state p{font-size:13px}}@media (width<=370px){main,.topbar{padding-left:17px;padding-right:17px}.mobile-brand strong{font-size:19px}.local-label{display:none}.action-bar{margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px}.row-customer strong{font-size:14px}.row-amount{font-size:15px}.document-number{font-size:9px}.service{padding:15px 10px}.service .two-columns{gap:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.primary.mobile-action{display:none}.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=800px){.primary.mobile-action{display:flex}}.login-page{background:var(--paper,#fafaf8);place-items:center;min-height:100dvh;padding:28px;display:grid}.login-panel{width:100%;max-width:420px;padding:30px 0}.login-panel h1{margin:22px 0 16px;font-family:Outfit,sans-serif;font-size:clamp(32px,7vw,42px);line-height:1.1}.login-panel p{line-height:1.6}.login-panel form{gap:20px;margin:28px 0 16px;display:grid}.login-panel .primary{width:100%;min-height:52px}@font-face{font-family:InvoiceBody;src:url(/invoice/v1/Inter-Regular.ttf)}@font-face{font-family:InvoiceMedium;src:url(/invoice/v1/Outfit-Semibold.ttf)}@font-face{font-family:InvoiceBold;src:url(/invoice/v1/Outfit-Bold.ttf)}@font-face{font-family:InvoiceMono;src:url(/invoice/v1/JetBrainsMono-Regular.ttf)}.vector-preview{border:1px solid var(--line,#d9dbd8);background:#e6e8e8;gap:20px;padding:16px;display:grid}.vector-preview svg{width:100%;height:auto;display:block;box-shadow:0 2px 8px #0d1f3c12}:root{--motion-quick:.12s;--motion-view:.24s;--motion-sheet:.3s;--ease-arrive:cubic-bezier(.16, 1, .3, 1);--keyboard-inset:0px}button,a,input,select,textarea{transition:background-color var(--motion-quick), border-color var(--motion-quick), color var(--motion-quick), opacity var(--motion-quick)}.primary,.secondary,.icon-button{transition:transform var(--motion-quick) var(--ease-arrive), background-color var(--motion-quick), opacity var(--motion-quick)}.primary:active:not(:disabled),.secondary:active:not(:disabled),.icon-button:active:not(:disabled){transform:scale(.98)}.invoice-row:active,.customer-row:active,.picker-option:active{background:#e9ece8}.screen-motion{min-width:0}.motion-forward{animation:view-forward var(--motion-view) var(--ease-arrive)}.motion-back{animation:view-back var(--motion-view) var(--ease-arrive)}.motion-tab{animation:.14s ease-out view-tab}@keyframes view-forward{0%{opacity:.5;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes view-back{0%{opacity:.5;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes view-tab{0%{opacity:.65}to{opacity:1}}.editor.reviewing .review-summary{animation:view-forward var(--motion-view) var(--ease-arrive)}.toast{animation:feedback-in .18s var(--ease-arrive)}@keyframes feedback-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}dialog[open]{animation:dialog-in .2s var(--ease-arrive)}dialog{overscroll-behavior:contain;border:0}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.sheet-handle{display:none}.customer-select{text-align:left;background:#fff;border:1px solid #ced4d9;border-radius:8px;align-items:center;gap:12px;width:100%;min-height:54px;padding:12px;display:flex}.customer-select>span{overflow-wrap:anywhere;flex:1}.customer-select>svg{flex-shrink:0}.invalid .customer-select{border-color:#983b36}.picker-search{width:100%;margin:0 0 12px}.picker-list{overscroll-behavior:contain;max-height:min(48dvh,400px);overflow-y:auto}.picker-option{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;min-height:70px;padding:16px 4px;display:flex}.picker-option>span{flex:1;min-width:0}.picker-option strong{overflow-wrap:anywhere;font-size:15px;font-weight:550;display:block}.picker-option small{color:var(--stone);margin-top:3px;font-size:13px;display:block}.picker-option>svg{flex-shrink:0}.picker-option[aria-pressed=true]{background:#edf0ed}.picker-empty{padding:24px 0}.picker-add{width:100%;margin-top:20px}.service-suggestion{white-space:normal;text-align:left;margin:-4px 0 18px;font-size:13px}.service{animation:service-in .18s var(--ease-arrive)}@keyframes service-in{0%{opacity:.65;translate:0 8px}to{opacity:1;translate:0}}.undo-notice{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:8px 0;display:flex}.undo-notice span{color:var(--stone)}.action-summary{gap:2px;min-width:0;margin-right:auto;display:grid}.action-summary>span:first-child{color:var(--stone);font-size:12px}.action-summary>strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:22px}.compose-actions{align-items:center}.action-summary .save-status{align-items:center;gap:5px;margin:0;font-size:12px;display:flex}.action-summary .save-status svg{flex-shrink:0}.pdf-preparation{gap:10px;width:100%;display:grid}.pdf-preparation>span{color:var(--stone);font-size:13px}.pdf-preparation .primary:disabled{opacity:1;color:var(--navy);background:#e8ecef}.field input,.field textarea,.field select,.customer-select{scroll-margin-block:100px 180px}.field.invalid .field-error{font-size:13px}.ledger-skeleton>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:32px;min-height:102px;display:flex}.ledger-skeleton span,.document-skeleton span{background:#e9ece8;border-radius:6px;width:44%;height:20px;display:block}.ledger-skeleton span:last-child{width:20%}.document-skeleton{gap:28px;padding-top:30px;display:grid}.document-skeleton span{width:100%;height:96px}.document-skeleton span:first-child{width:60%;height:40px}@media (width<=800px){.task-sheet{width:100%;max-width:600px;max-height:calc(100dvh - env(safe-area-inset-top) - 16px);padding:0 22px calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;margin:0 auto;position:fixed;inset:auto 0 0}.task-sheet[open]{animation:sheet-in var(--motion-sheet) var(--ease-arrive)}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{touch-action:none;background:0 0;border:0;justify-content:center;align-items:center;width:100%;min-height:28px;display:flex}.sheet-handle>span{background:#8a9094;border-radius:4px;width:36px;height:4px;display:block}.task-sheet .modal-title{margin-bottom:16px}.task-sheet .modal-title h2{font-size:25px}.picker-search input{font-size:16px}.compose-actions{bottom:var(--keyboard-inset);grid-template-columns:44px minmax(0,1fr);gap:10px;display:grid}.compose-actions .action-summary{grid-column:1/-1;grid-template-columns:1fr auto;align-items:baseline;row-gap:2px;width:100%}.action-summary .save-status{grid-column:1/-1;font-size:12px}.compose-actions .save-draft{width:44px;padding:10px}.compose-actions .save-draft>span{display:none}.compose-actions .primary{min-height:48px;font-size:15px}.action-bar{padding-bottom:max(12px, env(safe-area-inset-bottom))}.row-customer .document-number,.row-date,.invoice-row .badge,.bottom-nav button{font-size:12px}.row-customer>strong,.customer-row strong{font-size:16px}.field,.service .two-columns .field{font-size:13px}.field>small,.save-status,.customer-address,.detail-pairs,.detail-service small{font-size:12px}.invoice-row{min-height:116px}.page-title h1{font-size:34px}.primary-actions{flex-wrap:wrap}}@media (width<=370px){.task-sheet{padding-left:17px;padding-right:17px}.action-summary .save-status{font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation:none!important}}@media (width<=800px){.editing .toast{bottom:calc(164px + env(safe-area-inset-bottom) + var(--keyboard-inset))}}@media (width<=370px){.local-label{display:none}}@media (width<=800px){.task-sheet{bottom:var(--keyboard-inset);max-height:calc(100dvh - var(--keyboard-inset) - env(safe-area-inset-top) - 16px)}.task-sheet[open]:has(.picker-list){height:min(650px, calc(100dvh - var(--keyboard-inset) - 24px));flex-direction:column;display:flex}.task-sheet .picker-list{flex:1;min-height:0;max-height:none}.task-sheet .picker-search,.task-sheet .modal-title,.task-sheet .picker-add,.task-sheet .sheet-handle{flex-shrink:0}}.overview-page{max-width:1080px;margin:0 auto}.overview-title{align-items:center}.overview-title p{font-size:14px}.overview-period{background:#eeefeb;border-radius:10px;gap:3px;margin:24px 0 28px;padding:4px;display:inline-flex}.overview-period button{color:#545c68;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:8px 20px;font-size:13px;font-weight:500;display:flex}.overview-period button[aria-pressed=true]{background:var(--navy);color:#fff}.overview-period button:hover:not([aria-pressed=true]){background:#e3e5df}.overview-period-label{color:var(--stone);margin-bottom:12px;font-size:14px}.overview-dates{background:#f0f1ed;border-radius:12px;grid-template-columns:1fr 1fr auto;align-items:end;gap:16px;margin:-10px 0 24px;padding:20px;display:grid}.overview-dates .field{margin:0}.overview-dates .notice{grid-column:1/-1}.overview-headline{grid-template-columns:1.4fr 1fr;gap:32px;padding-bottom:28px;display:grid}.sales-metric,.cash-metric,.overview-balances button{text-align:left;background:0 0;border:0;border-radius:6px;flex-direction:column;align-items:flex-start;gap:8px;padding:0;display:flex}.metric-label{align-items:center;gap:10px;font-size:15px;font-weight:500;display:flex}.metric-label svg{color:var(--stone);flex-shrink:0}.sales-metric>strong{letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-family:Outfit,sans-serif;font-size:clamp(40px,4.7vw,64px);font-weight:500;line-height:1.12}.metric-note{color:var(--stone);font-size:12px}.overview-cash{border-left:1px solid var(--line);padding-top:2px;padding-left:32px}.cash-metric strong{letter-spacing:-.025em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-family:Outfit,sans-serif;font-size:36px;font-weight:500}.undated-link{text-align:left;color:#7c571b;text-underline-offset:3px;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:3px;min-height:44px;padding:8px 0 0;font-size:12px;text-decoration:underline;display:inline-flex}.overview-balances{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px;padding:21px 0;display:grid}.overview-balances strong{letter-spacing:-.025em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:26px;font-weight:550;line-height:1.2}.overview-balances .has-overdue strong{color:#94332d}.overview-section{min-width:0;margin-top:36px}.overview-section-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px;margin-bottom:14px;display:flex}.overview-section-title h2{font-size:24px;font-weight:500}.overview-section-title>span{color:var(--stone);font-size:12px}.overview-lists{grid-template-columns:1fr 1fr;gap:40px;display:grid}.overview-customer,.overview-document{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;align-items:center;gap:12px;width:100%;padding:17px 0;display:flex}.overview-customer:hover,.overview-document:hover{background:#f0f1ed}.overview-customer>span:nth-child(2),.overview-document>span:first-child{flex:1;min-width:0}.overview-customer strong,.overview-document strong{overflow-wrap:anywhere;font-size:14px;font-weight:550}.overview-customer small,.overview-document small{color:var(--stone);margin-top:3px;font-size:12px;display:block}.customer-position{color:var(--stone);width:14px;font-size:12px}.customer-value,.report-value{font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:8px;font-size:14px;display:flex}.report-value svg,.customer-value svg{color:var(--stone)}.overview-document .report-note{font-family:Inter,sans-serif}.overview-empty{color:var(--stone);padding:26px 0;font-size:14px}.overview-empty .text-button{margin-top:12px}.overview-clear{align-items:flex-start;gap:12px;display:flex}.overview-clear svg{color:#356947}.overview-clear strong{color:var(--navy);margin-bottom:4px;font-weight:500;display:block}.overview-basis{border-top:1px solid var(--line);color:var(--stone);margin-top:36px;padding-top:20px;font-size:12px}.overview-basis summary{cursor:pointer;min-height:44px}.overview-basis p{max-width:75ch;margin-bottom:12px;line-height:1.65}.overview-guide{max-width:72ch;padding-top:12px;font-size:14px;line-height:1.65}.overview-definitions{margin:0}.overview-definitions>div+div{margin-top:22px}.overview-definitions dt,.overview-guide h3{color:var(--navy);margin:0 0 6px;font-family:inherit;font-size:15px;font-weight:600}.overview-definitions dd{margin:0}.overview-example,.overview-guide-notes{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.overview-guide ul{margin:12px 0;padding-left:20px}.overview-guide li+li{margin-top:10px}.overview-guide strong{color:var(--navy);font-weight:600}.overview-report .page-title h1{font-size:clamp(30px,4vw,42px)}.overview-report-list{border-top:1px solid var(--line)}.overview-report .overview-document{padding:22px 2px}.overview-report .overview-document strong{font-size:16px}.report-loading{color:var(--stone);align-items:center;gap:10px;padding:24px 0;font-size:14px;display:flex}.sales-chart{position:relative}.chart-readout{flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:44px;margin-bottom:14px;font-size:13px;display:flex}.chart-readout>span{color:var(--stone)}.chart-readout strong{font-variant-numeric:tabular-nums}.chart-readout .text-button{margin-left:auto;font-size:12px}.chart-scroll{scrollbar-width:thin;margin-left:76px;padding:4px 3px 8px;overflow-x:auto}.chart-columns{gap:6px;height:205px;display:flex}.chart-column{background:0 0;border:0;border-radius:4px;flex-direction:column;flex:1;align-items:center;min-width:24px;padding:0 3px;font-size:12px;display:flex}.chart-bar-track{border-bottom:1px solid #c9cecf;justify-content:center;align-items:end;width:100%;height:154px;margin-bottom:10px;display:flex;position:relative}.chart-bar{transform-origin:bottom;background:#778995;border-radius:5px 5px 0 0;width:100%;max-width:64px;animation:.28s cubic-bezier(.16,1,.3,1) overview-bar-in;display:block}.chart-column.current .chart-bar{background:var(--navy)}.chart-column.selected .chart-bar,.chart-column:hover .chart-bar{background:#a66c20}.chart-column.selected .chart-month{color:var(--navy);font-weight:700}.chart-month,.chart-year{color:var(--stone)}.chart-year{font-size:10px}.chart-zero{background:#a4adb5;width:8px;height:2px;position:absolute;bottom:0}.chart-zero[hidden]{display:none}.chart-scale{height:154px;color:var(--stone);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;font-size:10px;display:flex;position:absolute;bottom:66px;left:0}.overview-skeleton{grid-template-columns:1fr 1fr;gap:20px;min-height:500px;display:grid}.overview-skeleton span{background:#eeefeb;border-radius:6px;height:120px}.overview-skeleton span:nth-child(3){grid-column:1/-1;height:230px}.overview-skeleton span:last-child{height:70px}.payment-history h2{margin-bottom:14px}.payment-history-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:14px;display:flex}.payment-history-row small{color:var(--stone);font-size:12px;display:block}@keyframes overview-bar-in{0%{opacity:.6;transform:scaleY(.92)}to{opacity:1;transform:scaleY(1)}}@media (width<=760px){.overview-title{gap:12px}.overview-title h1{font-size:34px}.overview-title .overview-new{white-space:nowrap;gap:5px;min-height:44px;padding:10px;font-size:12px}.overview-title p{margin-top:7px;font-size:12px}.overview-period{width:100%;margin:24px 0;display:flex}.overview-period button{flex:1;gap:4px;padding:7px 4px;font-size:12px}.overview-period button svg{display:none}.overview-headline{grid-template-columns:1fr;gap:22px;padding-bottom:22px}.sales-metric>strong{font-size:clamp(38px,11vw,54px)}.overview-cash{border:0;padding:0}.cash-metric{grid-template-columns:1fr auto;align-items:center;gap:3px 10px;width:100%;display:grid}.cash-metric .metric-label{font-size:13px}.cash-metric strong{grid-area:1/2/3;font-size:24px}.cash-metric .metric-note{font-size:12px}.cash-metric .metric-label svg{display:none}.overview-balances{gap:14px;padding:18px 0}.overview-balances .metric-label{gap:4px;font-size:12px}.overview-balances strong{font-size:23px}.overview-balances .metric-note{font-size:12px}.overview-lists{grid-template-columns:1fr;gap:0}.overview-section{margin-top:28px}.overview-section-title h2{font-size:22px}.overview-section-title>span{font-size:12px}.overview-dates{grid-template-columns:1fr 1fr;gap:12px;padding:16px}.overview-dates .primary{grid-column:1/-1}.overview-dates input{width:100%}.chart-scroll{margin-left:60px}.chart-columns{gap:2px}.chart-column{min-width:17px;padding:0 2px}.chart-month{font-size:10px}.chart-readout{font-size:12px}.chart-scale{font-size:11px}.chart-readout .text-button{margin-left:0}.overview-report .overview-document strong{font-size:14px}.overview-report .page-title p{font-size:12px}.bottom-nav button{flex:1;min-width:0}}@media (prefers-reduced-motion:reduce){.chart-bar{animation:none}}
