:root{--ink: #0f1a15;--ink-soft: #4a5b52;--muted: #8a968f;--accent: #0b6b4f;--accent-strong: #095940;--danger: #a32b22;--paper: #ffffff;--canvas: #f4f6f4;--hair: #e4e9e6;--hair-strong: #c4cfc9;--tint: #eff6f3;--tint-edge: #d5e6dd;--shadow-sm: 0 1px 2px rgba(15, 26, 21, .05), 0 4px 12px rgba(15, 26, 21, .04);--shadow: 0 20px 54px rgba(15, 26, 21, .1), 0 2px 6px rgba(15, 26, 21, .05);--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--font-body);background:radial-gradient(1100px 520px at 50% -180px,#ffffff,transparent 72%),var(--canvas);-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}a{color:var(--accent)}.shell{display:flex;flex-direction:column;min-height:100vh;max-width:960px;margin:0 auto;padding:22px 20px 56px}.invoice-shell{max-width:1000px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:54px}.invoice-shell .site-header{margin-bottom:26px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand-mark{display:block;width:auto;height:30px}.brand-name{font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:-.01em}.header-link,.back-link{font-size:14px;color:var(--ink-soft);text-decoration:none}.header-link:hover,.back-link:hover{color:var(--accent)}.lookup{display:flex;flex:1;flex-direction:column;justify-content:center;width:100%;max-width:620px;margin:0 auto;padding-bottom:24px;text-align:center}.lookup-title{margin:0 0 14px;font-family:var(--font-display);font-weight:600;font-size:clamp(32px,6vw,46px);line-height:1.05;letter-spacing:-.03em}.lookup-sub{margin:0 auto 32px;max-width:46ch;font-size:16px;line-height:1.6;color:var(--ink-soft)}.lookup-form{display:flex;gap:10px}.lookup-input{flex:1;min-width:0;padding:15px 18px;border:1px solid var(--hair-strong);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-sm);outline:none;transition:border-color .14s ease,box-shadow .14s ease}.lookup-input::placeholder{color:var(--muted)}.lookup-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0b6b4f24}.lookup-hint{margin:14px 0 0;font-size:13.5px;color:var(--muted)}.example-code{padding:2px 7px;border-radius:6px;background:var(--tint);font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--accent)}.lookup-error,.pdf-error{color:var(--danger);font-size:14px}.lookup-error{margin:16px 0 0}.results{margin-top:30px;text-align:left}.results-count{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.results ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:14px 16px;border:1px solid var(--hair);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none;transition:border-color .14s ease,transform .14s ease}.result:hover{border-color:var(--tint-edge);transform:translateY(-1px)}.result-code{font-size:14.5px;font-weight:600}.result-total{font-size:14.5px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.result-buyer{font-size:13.5px;color:var(--ink-soft);overflow-wrap:anywhere}.result-date{font-size:13px;color:var(--muted);text-align:right;white-space:nowrap}.results-empty{margin:26px 0 0;font-size:14.5px;color:var(--ink-soft)}.assurances{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;width:100%;max-width:820px;margin:76px auto 0;padding-top:32px;border-top:1px solid var(--hair)}.assurances h2{margin:0 0 7px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.assurances p{margin:0;font-size:13.5px;line-height:1.6;color:var(--ink-soft)}.site-foot{margin-top:46px;text-align:center;font-size:12.5px;color:var(--muted)}.ghost-btn{display:inline-block;padding:11px 16px;border:1px solid var(--hair-strong);border-radius:11px;background:var(--paper);color:var(--ink);font-size:14.5px;text-decoration:none;cursor:pointer;transition:border-color .14s ease,color .14s ease}.ghost-btn:hover{border-color:var(--accent);color:var(--accent)}.ghost-btn:disabled{opacity:.55;cursor:wait}.primary-btn{display:inline-block;text-align:center;text-decoration:none;padding:11px 18px;border:0;border-radius:11px;background:var(--accent);color:#fff;font-size:14.5px;font-weight:600;cursor:pointer;transition:background .14s ease}.primary-btn:hover{background:var(--accent-strong)}.primary-btn:disabled{opacity:.6;cursor:wait}.actionbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px 24px;margin-bottom:20px;padding:18px 20px;border:1px solid var(--hair);border-radius:16px;background:var(--paper);box-shadow:var(--shadow-sm)}.actionbar-links{min-width:0}.actionbar-links .micro{margin-bottom:8px}.link-row{display:flex;align-items:center;gap:10px;min-width:0}.link-row code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:9px 12px;border:1px solid var(--hair);border-radius:9px;background:var(--canvas);font-size:13px;color:var(--ink-soft)}.actionbar-actions{display:flex;flex-wrap:wrap;gap:8px}.actionbar .pdf-error{grid-column:1 / -1;margin:0}.copy-chip{flex:none;padding:2px 8px;border:1px solid var(--hair-strong);border-radius:6px;background:var(--paper);font-size:11px;font-weight:500;color:var(--ink-soft);cursor:pointer;transition:border-color .14s ease,color .14s ease}.copy-chip:hover{border-color:var(--accent);color:var(--accent)}.pay-panel dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px}.pay-panel dd span{min-width:0;overflow-wrap:anywhere}.state{padding:64px 0;text-align:center;color:var(--ink-soft)}.state.error a{color:var(--accent)}.sheet{--paper: #ffffff;--s-ink: #0f1a15;--s-ink-soft: #4a5b52;--s-muted: #8a968f;--s-accent: #0b6b4f;--s-hair: #e4e9e6;--s-hair-strong: #c4cfc9;--s-tint: #eff6f3;--s-tint-edge: #d5e6dd;--s-wash: #f7f9f8;position:relative;overflow:hidden;max-width:900px;margin:0 auto;background:var(--paper);color:var(--s-ink);border-radius:20px;padding:clamp(26px,4.2vw,52px);padding-top:clamp(32px,4.6vw,58px);box-shadow:var(--shadow);animation:rise .42s cubic-bezier(.2,.8,.2,1)}.sheet:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:var(--s-accent)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.micro{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--s-muted)}.micro--accent{color:var(--s-accent)}.sheet-masthead{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:26px;border-bottom:1px solid var(--s-hair)}.issuer{display:flex;gap:16px;align-items:flex-start;min-width:0}.logo-mark{flex:none;display:block;width:auto;height:46px;margin-top:2px}.monogram{flex:none;width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:var(--s-accent);color:#fff;font-family:var(--font-display);font-weight:600;font-size:19px}.issuer-lines h1{margin:0 0 7px;font-family:var(--font-display);font-weight:600;font-size:clamp(23px,3.2vw,31px);line-height:1.15;letter-spacing:-.02em;overflow-wrap:anywhere}.issuer-lines p{margin:0;font-size:13px;line-height:1.55;color:var(--s-muted)}.issuer-lines a{color:inherit;text-decoration:none}.issuer-lines a:hover{color:var(--s-accent);text-decoration:underline;text-underline-offset:2px}.sheet-id{flex:none;text-align:right}.sheet-id .micro{margin-bottom:6px}.sheet-number{margin:0 0 12px;font-family:var(--font-display);font-weight:600;font-size:clamp(28px,4.4vw,38px);line-height:1;letter-spacing:-.02em}.pill{display:inline-block;padding:5px 12px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.pill--paid{background:#e4f4ea;color:#116b45}.pill--issued{background:var(--s-tint);color:var(--s-accent)}.pill--overdue{background:#fbedeb;color:#a32b22}.pill--draft,.pill--cancelled{background:#f1f2f1;color:#5f6d66}.sheet-summary,.sheet-close{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}.sheet-summary{padding-top:30px}.billed-name{margin:0 0 9px;font-size:20px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.billed p{margin:0 0 3px;font-size:14px;line-height:1.55;color:var(--s-ink-soft)}.due-panel{background:var(--s-tint);border:1px solid var(--s-tint-edge);border-radius:16px;padding:22px 22px 18px}.due-amount{margin:4px 0 16px;font-family:var(--font-display);font-weight:600;font-size:clamp(28px,3.6vw,34px);line-height:1.1;letter-spacing:-.02em;overflow-wrap:anywhere}.due-panel dl{display:grid;gap:9px;margin:0;padding-top:14px;border-top:1px solid var(--s-tint-edge)}.due-panel dl>div{display:flex;justify-content:space-between;gap:16px}.due-panel dt{font-size:13px;color:var(--s-ink-soft)}.due-panel dd{margin:0;font-size:13px;font-weight:500}.items{width:100%;border-collapse:collapse;margin-top:34px}.items th{padding:0 10px 10px;text-align:left;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--s-muted);border-bottom:1.5px solid var(--s-hair-strong)}.items td{padding:16px 10px;font-size:14.5px;vertical-align:top;border-bottom:1px solid var(--s-hair)}.items th:first-child,.items td:first-child{padding-left:0;width:30px}.items th:last-child,.items td:last-child{padding-right:0}.items th:nth-child(n+3),.items td:nth-child(n+3){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.items .idx{font-size:13px;color:var(--s-muted)}.items .desc{font-weight:500;line-height:1.5}.items td:nth-child(3),.items td:nth-child(4){color:var(--s-ink-soft)}.items .amt{font-weight:600}.line-meta{display:none}.sheet-close{margin-top:30px}.words{margin:0 0 22px;font-size:15px;font-weight:500}.pay-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start;background:var(--s-wash);border:1px solid var(--s-hair);border-radius:14px;padding:18px 20px;margin-bottom:20px}.pay-qr{display:grid;justify-items:center;gap:7px;margin:0}.pay-qr img{display:block;width:100px;height:100px;border-radius:6px;background:#fff}.pay-qr figcaption{margin:0;font-size:10px}.pay-panel dl{display:grid;gap:7px;margin:0}.pay-panel dl>div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px}.pay-panel dt{font-size:12.5px;color:var(--s-muted)}.pay-panel dd{margin:0;font-size:13.5px;font-weight:500;overflow-wrap:anywhere}.notes-block p{margin:0;font-size:13.5px;line-height:1.55;color:var(--s-ink-soft)}.totals-row{display:flex;justify-content:space-between;gap:20px;padding:9px 0;font-size:14.5px}.totals-row span:first-child{color:var(--s-ink-soft)}.totals-row span:last-child{font-weight:500;font-variant-numeric:tabular-nums}.totals-row--grand{align-items:baseline;margin-top:6px;padding:16px 0 14px;border-top:1px solid var(--s-hair-strong);border-bottom:2px solid var(--s-accent)}.totals-row--grand .micro{margin:0}.totals-row--grand span:last-child{font-family:var(--font-display);font-weight:600;font-size:clamp(22px,3vw,28px);line-height:1;letter-spacing:-.02em}.verify{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:38px;padding:20px 24px;background:var(--s-wash);border:1px solid var(--s-hair);border-radius:16px}.verify-qr img,.qr-placeholder{display:block;width:84px;height:84px;padding:6px;border-radius:8px;background:#fff}.qr-placeholder{background:var(--s-hair)}.verify-text a{font-size:14.5px;font-weight:500;text-decoration:none;overflow-wrap:anywhere}.verify-text a:hover{text-decoration:underline}.verify-text p{margin:6px 0 0;font-size:12.5px;color:var(--s-muted)}.verify-code{display:grid;justify-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:#fff}.verify-code svg{display:block;width:min(190px,100%);height:44px}.verify-code span{font-size:11px;letter-spacing:.1em;color:var(--s-muted)}.sheet-foot{display:flex;justify-content:space-between;gap:12px;margin-top:26px;padding-top:16px;border-top:1px solid var(--s-hair);font-size:12px;color:var(--s-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media(max-width:860px){.hero{grid-template-columns:1fr}.brand-title{font-size:22px}}@media(max-width:760px){.sheet-summary,.sheet-close{grid-template-columns:1fr;gap:24px}.sheet-masthead{flex-direction:column}.sheet-id{text-align:left}.verify{grid-template-columns:1fr;justify-items:start}.items th:nth-child(4),.items td:nth-child(4){display:none}.sheet-foot{flex-direction:column;gap:4px}.actionbar{grid-template-columns:1fr;align-items:stretch}.actionbar-actions .primary-btn,.actionbar-actions .ghost-btn{flex:1 1 auto;text-align:center}}@media(max-width:560px){.items th:nth-child(3),.items td:nth-child(3){display:none}.line-meta{display:block;margin-top:6px;font-size:12.5px;font-weight:400;color:var(--s-muted);font-variant-numeric:tabular-nums}.pay-panel{grid-template-columns:1fr;justify-items:start}.pay-panel dl>div{grid-template-columns:1fr;gap:2px}.verify{justify-items:stretch}.verify-code{justify-self:start;width:100%}}@media print{@page{size:A4;margin:12mm}body{background:#fff}.site-header,.no-print,.site-foot,.assurances{display:none!important}.shell,.invoice-shell{display:block;min-height:0;max-width:none;padding:0;margin:0}.sheet{max-width:none;padding:0;border:0;border-radius:0;box-shadow:none;animation:none}.sheet:before{display:none}.due-panel,.pay-panel,.verify,.pill,.totals-row--grand{-webkit-print-color-adjust:exact;print-color-adjust:exact}.items thead{display:table-header-group}.items tr,.verify,.pay-panel,.due-panel,.sheet-masthead,.totals{break-inside:avoid}a{color:inherit;text-decoration:none}}
