:root{--ink:#2b1d18;--bg:#c8b49a;--paper:#f4ead8;--paper2:#e5d0bb;--band:#5a3747;--accent:#ad2030;--danger:#241916}*{box-sizing:border-box}html,body{background:radial-gradient(circle at top,#ead8c1,var(--bg) 58%);min-height:100%;color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif}button,input,textarea{font:inherit}button{cursor:pointer}.wrap{justify-content:center;align-items:center;min-height:100vh;padding:clamp(16px,3vw,36px);display:flex}.invoice{border:3px solid var(--ink);background:linear-gradient(180deg,var(--paper),var(--paper2));width:min(1240px,100%);box-shadow:14px 14px 0 var(--ink);position:relative;overflow:hidden}.invoice:before{content:"";background:linear-gradient(90deg,#0000 0,#5a374724 50%,#0000 100%);height:180px;position:absolute;inset:auto -15% 55%;transform:rotate(-5deg)}.invoiceHead{border-bottom:3px solid var(--ink);background:linear-gradient(90deg,var(--band),#7a4b5e);color:#fff6f6;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px;display:flex}.eyebrow{letter-spacing:.16em;text-transform:uppercase;font:800 12px/1.1 Arial,Helvetica,sans-serif}.masthead{letter-spacing:-.03em;margin:6px 0;font-size:clamp(26px,4vw,64px);line-height:.92}.subcopy{color:#f6ebeb;max-width:56ch;margin:0;font-size:17px;line-height:1.45}.tag{text-align:center;border:3px solid #fff;min-width:150px;padding:16px;font-family:Arial Black,Impact,sans-serif;transform:rotate(4deg)}.tag span{letter-spacing:.24em;font-size:12px;display:block}.tag strong{font-size:clamp(28px,5vw,56px);line-height:.9;display:block}.invoiceBody{grid-template-columns:300px minmax(0,1fr) 250px;gap:22px;padding:22px;display:grid}.panel{border:2px solid var(--ink);background:#ffffff94;padding:16px;position:relative}.portrait{border:2px solid var(--ink);background:#fff;padding:10px}.animal{width:100%;height:auto;display:block}.notePin{border:4px solid var(--accent);color:var(--accent);background:#fff;padding:10px 12px;font:900 18px/1 Arial Black,Impact,sans-serif;position:absolute;top:10px;right:10px;transform:rotate(8deg)}.billText h2{margin:12px 0 6px;font-size:28px}.billText p{margin:0;font-size:16px;line-height:1.45}.formTop{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.code{word-break:break-all;font-family:Courier New,monospace;font-weight:700}.overdue{border:4px solid var(--danger);color:var(--danger);text-align:center;padding:10px 12px;font:900 20px/1 Arial Black,Impact,sans-serif;transform:rotate(-9deg)}.claim h2{margin:10px 0 8px;font-size:clamp(28px,4vw,54px);line-height:.94}.claim p{max-width:62ch;margin:0;font-size:18px;line-height:1.45}.actionRow{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.actionRow button,.copyBtn{border:2px solid var(--ink);background:var(--accent);color:#fff;text-transform:uppercase;box-shadow:4px 4px 0 var(--ink);padding:12px 16px;font-weight:900}.actionRow button:hover,.copyBtn:hover{box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.billGrid{gap:8px;margin-top:16px;display:grid}.billRow{border-bottom:1px dashed #2b1d1852;grid-template-columns:160px 1fr;gap:12px;padding-bottom:8px;display:grid}.billRow span{letter-spacing:.12em;text-transform:uppercase;font:800 12px/1.2 Arial,Helvetica,sans-serif}.billRow.total{border-bottom:0;padding-top:6px;font-size:18px}.caCard{border:2px solid var(--ink);background:#fff;gap:8px;margin-top:16px;padding:14px;display:grid}.memoPanel ul{gap:10px;margin:12px 0;padding-left:20px;font-size:16px;line-height:1.35;display:grid}.memoStamp{border:2px solid var(--ink);background:var(--band);color:#fff;text-align:center;margin-top:20px;padding:12px;font:900 14px/1.3 Arial Black,Impact,sans-serif}.stamp,.print{animation:.55s ease-out stamp}@keyframes stamp{0%{opacity:.2;transform:scale(.85)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(-9deg)}}@media (max-width:980px){.invoiceBody{grid-template-columns:1fr}.tag{min-width:unset}}@media (max-width:720px){.wrap{padding:10px}.invoiceHead{flex-direction:column;padding:16px}.invoiceBody{padding:14px}.billRow{grid-template-columns:1fr}.subcopy{font-size:15px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
