:root{--bg:#f4f7fb;--card:#fff;--text:#333;--muted:#678;--border:#dde6f0;--navy:#003b78;--accent:#009cdb;--accent-hover:#0091cd;--danger:#dc2626;--success:#16a34a}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Gotham A,Gotham B,sans-serif}.background-mark{z-index:-1;pointer-events:none;fill:#00000005;background:#fafafa;width:100vw;height:100vh;position:fixed;inset:0;transform:scale(2)}.container{max-width:640px;margin:0 auto;padding:2.5rem 1rem 4rem}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:1.25rem;padding:1.75rem}.brand{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.brand img{width:auto;height:2.5rem;display:block}.brand-address{color:var(--muted);margin-top:.5rem;font-size:.75rem;line-height:1.45}.customer{color:var(--navy);font-size:1.05rem;font-weight:600}.invoice-id{text-align:right;padding-top:.35rem}.invoice-id h1{margin-bottom:0;font-size:1.25em;font-weight:800}.invoice-num{color:var(--muted);font-size:.9rem}.banner-success h1,.banner-success .icon{color:var(--success)}.paid-pill{border:2px solid var(--success);color:var(--success);letter-spacing:.06em;text-transform:uppercase;border-radius:6px;margin-top:.4rem;padding:.15rem .7rem;font-size:.85rem;font-weight:700;display:inline-block}h1{color:var(--navy);margin-bottom:.25rem;font-size:1.4rem;font-weight:700}.subtle{color:var(--muted);font-size:.9rem}.invoice-meta{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.invoice-meta p{font-size:.9rem}.invoice-meta .meta-label{color:#8c99a8;margin-bottom:.15rem;font-size:.75rem;font-weight:700}table.lines{border-collapse:separate;border-spacing:0;width:100%;margin-top:1.25rem;font-size:.92rem}table.lines th{text-align:left;color:var(--muted);background:var(--bg);padding:.65rem .75rem;font-size:.82rem;font-weight:400}table.lines th:first-child{border-radius:8px 0 0 8px}table.lines th:last-child{border-radius:0 8px 8px 0}table.lines tbody tr:first-child td{padding-top:.9rem}table.lines td{vertical-align:middle;padding:.45rem .75rem}table.lines .num{text-align:right;white-space:nowrap}.total-row{border-top:1px solid var(--border);color:var(--navy);justify-content:space-between;margin-top:.9rem;padding:.9rem .75rem 0;font-size:1.05rem;font-weight:700;display:flex}.memo-box{border:1px solid var(--border);color:var(--muted);border-radius:8px;margin:2.25rem 0 0;padding:.75rem;font-size:.82rem;line-height:1.4}.doc-card-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.pdf-link{color:#555;background:#fff;border:1px solid #d4d4d4;border-radius:6px;flex-shrink:0;padding:.3rem .7rem;font-size:.78rem;font-weight:500;text-decoration:none;display:inline-block}.pdf-link:hover{color:#333;background:#f5f5f5;border-color:#bdbdbd}.terms-card{color:var(--muted);padding:1.1rem 1.75rem;font-size:.8rem}.terms-card p+p{margin-top:.4rem}.terms-card .ach-block{margin-top:.7rem;line-height:1.5}.addr-line{line-height:1.4}.terms-card a:not(.pdf-link){color:var(--accent)}.terms-card .w9-row{margin-top:.8rem}.status-banner{text-align:center;padding:2.5rem 1.5rem}.status-banner .icon{margin-bottom:.75rem;font-size:2.2rem}.check-circle{color:var(--success);margin:0 auto;display:block}.check-circle circle,.check-circle path{stroke-dasharray:1.1;stroke-dashoffset:1.1px}.check-circle circle{animation:.6s cubic-bezier(.65,0,.45,1) forwards check-draw}.check-circle path{animation:.35s cubic-bezier(.65,0,.45,1) .5s forwards check-draw}.check-circle{animation:.3s ease-out .8s check-pop}@keyframes check-draw{to{stroke-dashoffset:0}}@keyframes check-pop{50%{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.check-circle,.check-circle circle,.check-circle path{stroke-dashoffset:0;animation:none}}.status-banner h1{margin-bottom:.5rem}button.pay{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:1.25rem;padding:.85rem;font-family:inherit;font-size:1rem;font-weight:600}button.pay:hover:not(:disabled){background:var(--accent-hover)}button.pay:disabled{opacity:.6;cursor:default}.error-text{color:var(--danger);margin-top:.75rem;font-size:.9rem}.result-pdf-link{margin-top:1rem}.retry-link{color:var(--accent);margin-top:1rem;display:inline-block}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;margin:0 auto .9rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
