@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap";:root{color:#1d2a25;font-synthesis:none;background:#f4f5f1;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{color:#1d2a25;background:#f4f5f1;min-width:320px;margin:0}button{font:inherit}.page{place-items:center;min-height:100vh;padding:1rem;display:grid}.card{text-align:center;background:#fff;border:1px solid #e0e5de;border-radius:12px;width:100%;max-width:28rem;padding:2rem;box-shadow:0 12px 30px #1d2a250d}.invoice-shell{min-height:100vh;padding:2.25rem 1.25rem 4rem}.invoice-toolbar{color:#6b766f;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;max-width:860px;margin:0 auto 1rem;font-size:.75rem;display:flex}.invoice-toolbar button{color:#304c3d;letter-spacing:.02em;text-transform:none;cursor:pointer;background:0 0;border:1px solid #cdd6ce;border-radius:999px;padding:.6rem .9rem;font-size:.75rem}.invoice-toolbar button:hover{background:#e9eee8}.invoice-paper{background:#fff;max-width:860px;margin:0 auto;padding:clamp(2rem,6vw,4.5rem);box-shadow:0 18px 55px #1d2a2514}.invoice-header{border-bottom:1px solid #e1e7e1;justify-content:space-between;align-items:flex-start;gap:2rem;padding-bottom:2.5rem;display:flex}.brand{color:#244e3a;letter-spacing:-.03em;align-items:center;gap:.55rem;max-width:15rem;font-size:1.1rem;font-weight:700;display:flex}.brand-mark{fill:none;stroke:#78a64e;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:2rem;height:2rem}.brand-mark path:first-child{fill:#dbe8cf;stroke:#78a64e}.invoice-title-wrap{align-items:center;gap:.85rem;display:flex}h1,h2,p{margin:0}.invoice-title-wrap h1{color:#244e3a;letter-spacing:-.05em;font-family:Libre Baskerville,Georgia,serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:400}.status{color:#37652f;text-transform:capitalize;background:#e6f0df;border-radius:999px;padding:.38rem .65rem;font-size:.72rem;font-weight:700}.status-unpaid,.status-overdue{color:#785e2c;background:#f4ecdb}.invoice-meta{grid-template-columns:repeat(3,1fr);gap:1.25rem;padding:1.65rem 0 3.2rem;display:grid}.invoice-meta div{gap:.35rem;display:grid}.invoice-meta span,.parties h2,.line-items th,.totals span{color:#79837c;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700}.invoice-meta strong{font-size:.85rem;font-weight:600}.parties{grid-template-columns:1fr 1fr;gap:3rem;padding-bottom:2.75rem;display:grid}.parties>div{align-content:start;gap:.45rem;display:grid}.parties h2{margin-bottom:.2rem}.parties strong{color:#244e3a;font-size:.95rem}.party-contact,.tax-number{color:#667169;font-size:.82rem;line-height:1.55}.tax-number{color:#44534a;margin-top:.25rem}.paid-callout{color:#4d5c53;border-top:1px solid #e1e7e1;border-bottom:1px solid #e1e7e1;justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding:1.2rem 0;font-size:.82rem;display:flex}.paid-callout strong{color:#244e3a;font-family:Libre Baskerville,Georgia,serif;font-size:1.3rem;font-weight:400}.line-items-wrap{overflow-x:auto}.line-items{border-collapse:collapse;width:100%;min-width:580px}.line-items th{text-align:left;border-bottom:1px solid #cfd8cf;padding:0 0 .85rem}.line-items th:not(:first-child),.line-items td:not(:first-child){text-align:right}.line-items th,.line-items td{padding-right:1rem}.line-items th:last-child,.line-items td:last-child{padding-right:0}.line-items td{color:#526057;vertical-align:top;border-bottom:1px solid #e8ede8;padding-top:1rem;padding-bottom:1rem;font-size:.82rem}.line-items td:first-child{color:#24362c;text-align:left}.line-items td:first-child strong{font-weight:600;display:block}.line-items td:first-child small{color:#87928a;margin-top:.3rem;display:block}.totals{gap:.75rem;width:min(100%,310px);margin:2rem 0 0 auto;display:grid}.totals div{color:#526057;justify-content:space-between;gap:1rem;font-size:.82rem;display:flex}.totals strong{color:#24362c;font-weight:600}.totals .total-row{color:#244e3a;border-top:1px solid #cfd8cf;margin-top:.25rem;padding-top:1rem}.totals .total-row span,.totals .total-row strong{color:#244e3a;text-transform:none;letter-spacing:-.02em;font-family:Libre Baskerville,Georgia,serif;font-size:1rem}.invoice-footer{color:#87928a;border-top:1px solid #e1e7e1;margin-top:4rem;padding-top:1.35rem;font-size:.7rem;line-height:1.6}.invoice-footer span{color:#a2aba4;margin-top:1rem;display:block}.state-page{text-align:center;place-content:center;justify-items:center;gap:.7rem;min-height:100vh;padding:2rem;display:grid}.state-page h1{color:#244e3a;font-family:Libre Baskerville,Georgia,serif;font-size:1.65rem;font-weight:400}.state-page p{color:#667169;max-width:30ch;line-height:1.6}.state-mark{border:3px solid #d9e7d1;border-top-color:#78a64e;border-radius:50%;width:2.75rem;height:2.75rem;animation:1s linear infinite spin}.state-mark-error{color:#785e2c;background:#f4ecdb;border:0;place-items:center;font-size:1.4rem;font-weight:700;animation:none;display:grid}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=640px){.invoice-shell{padding:1rem .6rem 2rem}.invoice-toolbar{padding:0 .4rem}.invoice-paper{padding:1.5rem 1.1rem 2.25rem}.invoice-header{gap:1rem;padding-bottom:1.75rem}.invoice-title-wrap{justify-items:end;gap:.45rem;display:grid}.invoice-title-wrap h1{font-size:2rem}.invoice-meta{gap:.7rem;padding:1.25rem 0 2.25rem}.invoice-meta strong{font-size:.75rem}.parties{gap:1.5rem;padding-bottom:2rem}.parties strong{font-size:.85rem}.paid-callout{margin-bottom:1.75rem}}@media print{body{background:#fff}.invoice-shell{padding:0}.invoice-toolbar{display:none}.invoice-paper{max-width:none;box-shadow:none;padding:0}}
