.invoice{width:794px;height:1123px;position:relative;background:#fff;font-family:Roboto,Arial,sans-serif;color:#051e23;font-size:12px;overflow:hidden}
.inv-head{background:linear-gradient(120deg,#031013 0%,#1c4b56 100%);color:#fff;padding:28px 44px 24px;display:flex;justify-content:space-between;align-items:center;position:relative}
.inv-head:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:5px;background:#008cad}
.inv-head img{height:78px}
.inv-title{text-align:right;font-family:Poppins}.inv-title h1{margin:0;font-size:30px;letter-spacing:6px;font-weight:600}
.inv-title .tag{font-size:11px;letter-spacing:2px;color:#9fdbe9;text-transform:uppercase}
.inv-title .meta{margin-top:8px;font-size:11px;color:#d7eef3;line-height:1.6}
.inv-body{padding:30px 44px 0}
.parties{display:flex;justify-content:space-between;gap:30px;margin-bottom:22px}
.parties .blk{flex:1}.parties .blk.r{text-align:right}
.lbl{font:600 10px Poppins;letter-spacing:2px;color:#008cad;text-transform:uppercase;margin-bottom:6px}
.pname{font:600 15px Poppins;color:#1c4b56;margin-bottom:3px}.parties p{margin:0;line-height:1.55;color:#33494e}
table.lines{width:100%;border-collapse:collapse;margin-top:6px}
table.lines th{background:#1c4b56;color:#fff;font:500 11px Poppins;letter-spacing:1px;text-transform:uppercase;padding:9px 10px;text-align:left}
table.lines th.n,table.lines td.n{text-align:right}
table.lines td{padding:9px 10px;border-bottom:1px solid #e3eef1}
table.lines tr:nth-child(even) td{background:#f2f8f9}
.summary{display:flex;justify-content:space-between;gap:30px;margin-top:18px}
.words{flex:1;font-size:11px}.words .w{font:500 12px Poppins;color:#1c4b56;margin-top:2px;line-height:1.5}
.totals{width:270px;border-collapse:collapse}.totals td{padding:5px 8px}.totals td.n{text-align:right}
.totals tr.grand td{background:#008cad;color:#fff;font:600 14px Poppins;padding:9px 8px}
.extra{display:flex;gap:24px;margin-top:22px}.extra .box{flex:1;border-left:3px solid #008cad;background:#f2f8f9;padding:10px 14px}
.extra p{margin:0;line-height:1.6;white-space:pre-line;color:#33494e;font-size:11px}
.bank td{padding:1px 8px 1px 0;font-size:11px}.bank td:first-child{color:#1c4b56;font-weight:500}
.sign{position:absolute;right:44px;bottom:118px;text-align:center;font-size:11px;color:#1c4b56}
.sign .line{width:180px;border-top:1px solid #1c4b56;margin-bottom:5px}
.inv-foot{position:absolute;left:0;right:0;bottom:0;background:#031013;color:#cfe6eb;padding:14px 44px 16px;font-size:10px;line-height:1.6}
.inv-foot:before{content:"";position:absolute;left:0;right:0;top:-4px;height:4px;background:#008cad}
.inv-foot .row{display:flex;justify-content:space-between;gap:20px}.inv-foot b{color:#fff;font-weight:500}
.inv-foot .thanks{font:500 12px Poppins;color:#fff;margin-bottom:4px}
/* --- letterhead v2 --- */
.inv-head{background:#1c4b56;padding:26px 44px 22px}
.inv-head:after{background:#fbb81e;height:5px}
.inv-head img{height:66px}
.hc{text-align:right;font-size:11.5px;line-height:1.75;color:#fff}.hc b{font-weight:700}.hc i{color:#fbb81e}
.wm{position:absolute;left:50%;top:50%;width:420px;transform:translate(-50%,-45%);opacity:.9;pointer-events:none}
.inv-body{position:relative;padding-top:22px}
.titlebar{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid #dfe9eb;padding-bottom:10px;margin-bottom:18px}
.titlebar h1{margin:0;font:600 26px Poppins;letter-spacing:6px;color:#1c4b56}
.titlebar .meta{display:flex;gap:18px;font-size:11.5px;color:#33494e}.titlebar b{color:#1c4b56}
table.lines tr:nth-child(even) td{background:#f2f8f9cc}
.totals tr.grand td{background:#1c4b56}.totals tr.grand td.n{color:#fbb81e}
.extra .box{border-left-color:#fbb81e;background:#f2f8f9e6}
.sign{display:none}
.sign-area{position:absolute;left:44px;right:44px;bottom:112px;display:flex;justify-content:space-between;align-items:flex-end;font-size:11px;color:#1c4b56}
.stamp{width:150px;height:100px;border:1px dashed #b9cfd4;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.stamp img{max-width:140px;max-height:84px}.stamp .cap{position:absolute;bottom:-18px;color:#7a9196;font-size:10px}
.stamp img + .cap{display:none}.stamp:has(img){border-color:transparent}
.sig{text-align:center}.sig .line{width:190px;border-top:1px solid #1c4b56;margin-bottom:5px}
.inv-foot{background:#031013;padding:16px 44px 12px;color:#cfd8da}
.inv-foot:before{background:#fbb81e;height:4px}
.inv-foot .row>div{flex:1}.fh{color:#fbb81e;font:600 11px Poppins;letter-spacing:.5px;margin-bottom:2px}
.svc{text-align:center;color:#2fa3c0;margin-top:8px;font-size:9.5px}
.cancel-mark{position:absolute;top:330px;left:50%;transform:translateX(-50%) rotate(-20deg);font:700 90px Poppins;color:#b23a2c22;letter-spacing:10px;pointer-events:none}
.totals tr.due td{font-weight:600;color:#b23a2c}
/* stamp+signature block (v3) */
.sign-area{justify-content:flex-end;bottom:108px}
.sig{text-align:center;width:230px}.sig .line{width:200px;margin:0 auto 5px}
.stampimg{display:block;width:210px;height:auto;margin:0 auto -14px;position:relative;left:-6px}
.nostamp{height:90px}
.sign-area{bottom:98px}.stampimg{width:172px;margin:0 auto -4px;left:-4px}
.sign-area{bottom:116px}.stampimg{width:160px;margin:0 auto -2px}
/* PAID / receipt stamps */
.paid-stamp{position:absolute;transform:rotate(-14deg);border:5px double currentColor;border-radius:14px;padding:6px 18px;text-align:center;pointer-events:none;font-family:Poppins;opacity:.82;mix-blend-mode:multiply}
.paid-stamp .ps-in{display:flex;flex-direction:column;align-items:center;line-height:1.05}
.paid-stamp .ps-l{font-weight:700;letter-spacing:6px;font-size:46px}
.paid-stamp .ps-d{font-size:13px;font-weight:600;letter-spacing:2px;margin-top:2px}.paid-stamp .ps-c{font-size:9px;letter-spacing:3px;margin-top:2px}
.ps-paid{color:#13865f}.ps-part{color:#c07d00}.ps-adv{color:#008cad}
.ps-part .ps-l{font-size:32px;letter-spacing:3px}
.ps-inv{left:300px;top:300px;opacity:.55}.ps-inv .ps-l{font-size:70px;letter-spacing:10px}
.ps-rct{right:60px;top:430px}
.amtbox{display:flex;gap:24px;align-items:center;background:#f2f8f9e6;border-left:5px solid #fbb81e;padding:16px 20px;margin:4px 0 18px}
.amtbox .amt{font:600 30px Poppins;color:#1c4b56;white-space:nowrap}.amtbox .aw{flex:1}.amtbox .w{font:500 13px Poppins;color:#1c4b56;line-height:1.5}
table.rdet{border-collapse:collapse;width:60%;font-size:12.5px}table.rdet td{padding:7px 10px;border-bottom:1px solid #e3eef1}table.rdet td:first-child{color:#6b8389;width:42%}
.rsum{margin:18px 0 0 auto}.rnote{margin-top:16px;color:#33494e;font-size:11.5px}.rthanks{margin-top:22px;font:500 13px Poppins;color:#1c4b56}
.ps-rct{right:auto;left:120px;top:640px}
.ps-inv{left:120px;top:470px}.ps-inv .ps-l{font-size:60px}
