:root{--ink:#17263c;--muted:#6b788b;--blue:#245be8;--blue-dark:#1949c7;--line:#e3e8f0;--bg:#f5f7fb;--white:#fff;--soft:#edf2ff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}
button,input,textarea{font:inherit}button{cursor:pointer}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,18px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:850;text-decoration:none;color:var(--ink)}.brand-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:var(--blue);color:white;font-weight:900}.top-actions{display:flex;align-items:center;gap:18px}.local-label{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:7px}.local-label i{width:7px;height:7px;background:#20a464;border-radius:50%}
.layout{max-width:1440px;margin:auto;padding:0 4vw 55px}.intro{padding:46px 0 32px;max-width:740px}.eyebrow{font-size:.7rem;letter-spacing:.14em;font-weight:850;color:var(--blue);margin:0 0 10px}.intro h1{font-size:clamp(2.1rem,4vw,3.5rem);letter-spacing:-.055em;line-height:1.08;margin:0}.intro h1 span{color:var(--blue)}.intro>p:last-child{color:var(--muted);max-width:630px;margin:15px 0 0}
.workspace{display:grid;grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr);gap:22px;align-items:start}.panel,.paper{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 8px 30px #192b4508}.editor{padding:24px}.panel-head h2{font-size:1.35rem;letter-spacing:-.035em;margin:0}.doc-switch{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:var(--bg);border-radius:11px;margin:22px 0}.switch{border:0;background:transparent;color:var(--muted);padding:10px;border-radius:8px;font-weight:750}.switch.active{background:#fff;color:var(--blue);box-shadow:0 2px 7px #15243a12}
form h3{font-size:.96rem;margin:25px 0 12px;padding-bottom:9px;border-bottom:1px solid var(--line)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}.field label{font-size:.79rem;font-weight:700;color:#394960}.field input,.field textarea,.field select,.item-row input{width:100%;min-width:0;border:1px solid #d9e0eb;border-radius:9px;padding:10px 11px;color:var(--ink);background:#fff;outline:none}.field input:focus,.field textarea:focus,.field select:focus,.item-row input:focus{border-color:#7191f4;box-shadow:0 0 0 3px #245be815}.field textarea{resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn{border:1px solid transparent;border-radius:10px;padding:10px 14px;font-weight:750;font-size:.84rem}.btn-light{background:#fff;border-color:var(--line);color:var(--ink)}.btn-outline{background:#fff;border-color:#cbd7f7;color:var(--blue)}.btn-primary{background:var(--blue);color:#fff;white-space:nowrap}.btn-primary:hover{background:var(--blue-dark)}
.items-head,.item-row{display:grid;grid-template-columns:minmax(90px,1fr) 66px 100px 28px;gap:7px;align-items:center}.items-head{font-size:.7rem;color:var(--muted);margin-bottom:7px}.item-row{margin-bottom:8px}.item-row input{padding:9px 8px;font-size:.82rem}.remove-item{border:0;background:#fff;color:#b34a4a;font-size:1.15rem;padding:4px}.hint{font-size:.74rem;color:var(--muted);margin:0 0 3px}
.preview-column{position:sticky;top:92px;min-width:0}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px}.preview-toolbar b{display:block;font-size:.92rem}.preview-toolbar small{display:block;font-size:.73rem;color:var(--muted);margin-top:2px}.paper{padding:clamp(22px,3vw,42px);border-radius:12px;min-height:620px}.paper-top{display:flex;justify-content:space-between;gap:18px}.paper-logo{display:grid;place-items:center;width:35px;height:35px;background:var(--blue);color:#fff;border-radius:10px;font-weight:900;margin-bottom:12px}.paper-top h2{font-size:1.03rem;margin:0 0 5px;overflow-wrap:anywhere}.muted{color:var(--muted);font-size:.77rem;margin:0}.preline{white-space:pre-line;overflow-wrap:anywhere}.doc-title{text-align:right}.doc-title p{font-size:.73rem;letter-spacing:.13em;color:var(--blue);font-weight:900;margin:4px 0 6px}.doc-title strong{font-size:.9rem;overflow-wrap:anywhere}.paper-rule{height:1px;background:var(--line);margin:25px 0}.party-row{display:flex;justify-content:space-between;gap:20px;margin-bottom:32px}.party-row>div:first-child{max-width:62%}.tiny-label{display:block;font-size:.63rem;letter-spacing:.1em;color:var(--muted);font-weight:850;margin-bottom:7px}.party-row strong{font-size:.87rem;display:block;margin-bottom:5px;overflow-wrap:anywhere}.date-block{text-align:right;min-width:100px}.date-block p{font-size:.77rem;margin:0 0 12px}.line-table{width:100%;border-collapse:collapse;font-size:.74rem}.line-table th{text-align:left;background:#f6f8fc;color:#58667b;padding:11px 7px;font-size:.65rem}.line-table td{padding:12px 7px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.line-table th:not(:first-child),.line-table td:not(:first-child){text-align:right}.line-table th:nth-child(2),.line-table td:nth-child(2){width:48px}.totals{width:min(270px,100%);margin:20px 0 0 auto}.totals>div{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;padding:6px 0}.totals span{color:var(--muted)}.totals b{font-variant-numeric:tabular-nums}.totals .grand-total{border-top:1px solid var(--line);margin-top:6px;padding-top:13px;font-size:.9rem}.grand-total span,.grand-total b{color:var(--blue);font-weight:900}.paper-notes{margin-top:32px}.paper-notes p{font-size:.75rem}.paper-footer{border-top:1px solid var(--line);margin-top:38px;padding-top:12px;font-size:.62rem;color:#8a96a6}.privacy-note{font-size:.73rem;color:var(--muted);display:flex;gap:8px;margin:13px 2px 0}footer{max-width:1440px;margin:auto;padding:20px 4vw 28px;color:var(--muted);font-size:.74rem;display:flex;justify-content:space-between;gap:15px}
@media(max-width:1050px){.workspace{grid-template-columns:1fr}.preview-column{position:static}.paper{max-width:800px;margin:auto}.preview-toolbar{max-width:800px;margin:0 auto 14px}}
@media(max-width:560px){.topbar{height:62px}.local-label{display:none}.layout{padding:0 14px 35px}.intro{padding:35px 0 24px}.editor{padding:17px}.two-col{gap:8px}.items-head,.item-row{grid-template-columns:minmax(70px,1fr) 48px 78px 20px;gap:4px}.items-head{font-size:.62rem}.item-row input{font-size:.74rem;padding:8px 5px}.preview-toolbar{align-items:flex-start;flex-direction:column}.paper{padding:20px 15px;min-height:0}.paper-top{gap:10px}.party-row{gap:10px}.line-table{font-size:.67rem}.line-table th,.line-table td{padding:9px 4px}.line-table th{font-size:.58rem}footer{padding:18px 14px;flex-direction:column}}
@media print{body{background:#fff}.topbar,.intro,.editor,.preview-toolbar,.privacy-note,footer{display:none!important}.layout{padding:0;max-width:none}.workspace{display:block}.preview-column{position:static}.paper{border:0;box-shadow:none;border-radius:0;max-width:none;padding:0;min-height:0}.paper-footer{position:fixed;bottom:0;left:0;right:0}.paper-rule{margin:18px 0}.paper-notes{margin-top:20px}}

/* Logo upload and template variations */
.field select{width:100%;min-width:0;border:1px solid #d9e0eb;border-radius:9px;padding:10px 11px;color:var(--ink);background:#fff;outline:none}
.field select:focus{border-color:#7191f4;box-shadow:0 0 0 3px #245be815}
.field-help{font-size:.7rem;color:var(--muted)}
.text-button{border:0;background:none;color:var(--blue);text-align:left;padding:0;font-size:.78rem;font-weight:700}
.paper-logo-wrap{width:44px;height:44px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:10px}
.paper-logo{display:grid;place-items:center;width:35px;height:35px;background:var(--blue);color:#fff;border-radius:10px;font-weight:900;margin:0}
#pLogo{max-width:150px;max-height:64px;object-fit:contain;object-position:left center}
#pLogo[hidden],#logoFallback[hidden]{display:none!important}
.paper.template-modern{border-top:7px solid var(--blue);border-radius:4px}
.paper.template-modern .paper-logo{border-radius:50%}
.paper.template-modern .paper-rule{height:3px;background:var(--blue);opacity:.18}
.paper.template-modern .doc-title p{background:var(--soft);display:inline-block;padding:6px 9px;border-radius:5px}
.paper.template-minimal{border:0;box-shadow:none;border-radius:0}
.paper.template-minimal .paper-logo{background:#263246;border-radius:3px}
.paper.template-minimal .doc-title p{color:#263246}
.paper.template-minimal .paper-rule{background:#263246}
.paper.template-minimal .line-table th{background:#fff;border-bottom:2px solid #263246;color:#263246}
.paper.template-elegant{border:1px solid #c8b88a;border-radius:3px}
.paper.template-elegant .paper-logo{background:#78633c;border-radius:2px}
.paper.template-elegant .doc-title p,.paper.template-elegant .grand-total span,.paper.template-elegant .grand-total b{color:#78633c}
.paper.template-elegant .paper-rule{background:#c8b88a}
.paper.template-elegant .line-table th{background:#f8f5ee;color:#78633c}
@media print{
  @page{margin:12mm}
  .paper.template-minimal{border:0}
  .paper.template-modern,.paper.template-elegant{break-inside:avoid}
}

/* BillEase expanded template library */
.paper { --template-accent: #245be8; --template-ink: #17263c; --template-soft: #f3f6ff; }
.paper-top h2 { font-size: 1.05rem; font-weight: 750; letter-spacing: -.02em; }
.doc-title p { font-size: clamp(1.2rem, 2vw, 1.8rem); letter-spacing: .045em; line-height: 1.05; margin: 0 0 8px; }
.doc-title strong { font-size: .82rem; }
.paper-logo-wrap { width: 100%; height: 42px; margin-bottom: 8px; }
.paper-logo { width: 30px; height: 30px; font-size: .85rem; }
#pLogo { max-width: 112px; max-height: 42px; object-fit: contain; object-position: left center; }
.tiny-label { font-size: .58rem; letter-spacing: .08em; }
.paper-footer { font-size: .58rem; }
.signature-area { display:flex; gap:24px; justify-content:space-between; margin-top:38px; page-break-inside:avoid; }
.signature-area[hidden] { display:none!important; }
.signature-box { flex:1; min-width:0; max-width:48%; }
.signature-line { height:34px; border-bottom:1px solid #9aa5b5; margin-top:8px; }
.signature-box p { margin:6px 0 0; color:var(--muted); font-size:.68rem; }
.stamp-placeholder { width:72px; height:54px; margin-top:7px; border:1px dashed #9aa5b5; border-radius:50%; display:grid; place-items:center; color:#9aa5b5; font-size:.55rem; letter-spacing:.12em; }
.checkbox-field { padding:11px 12px; background:#f7f9fc; border:1px solid var(--line); border-radius:10px; }
.check-label { display:flex; align-items:flex-start; gap:9px; font-size:.8rem!important; line-height:1.4; }
.check-label input { width:auto!important; margin:3px 0 0; accent-color:var(--blue); }
.field-help { display:block; font-size:.69rem; color:var(--muted); margin-top:4px; }
.paper.template-classic { border-top:4px solid #245be8; }
.paper.template-modern { border-top:8px solid #245be8; border-radius:4px; }
.paper.template-modern .paper-logo { border-radius:50%; }
.paper.template-modern .doc-title p { background:#edf2ff; padding:7px 9px; border-radius:5px; color:#245be8; }
.paper.template-minimal { border:0; box-shadow:none; border-radius:0; }
.paper.template-minimal .paper-logo { background:#263246; border-radius:3px; }
.paper.template-minimal .doc-title p { color:#263246; }
.paper.template-minimal .paper-rule { background:#263246; }
.paper.template-minimal .line-table th { background:#fff; border-bottom:2px solid #263246; color:#263246; }
.paper.template-elegant { border:1px solid #c8b88a; border-radius:3px; }
.paper.template-elegant .paper-logo { background:#78633c; border-radius:2px; }
.paper.template-elegant .doc-title p,.paper.template-elegant .grand-total span,.paper.template-elegant .grand-total b { color:#78633c; }
.paper.template-elegant .paper-rule { background:#c8b88a; }
.paper.template-elegant .line-table th { background:#f8f5ee; color:#78633c; }
.paper.template-corporate { border-top:9px solid #142c4e; }
.paper.template-corporate .paper-logo { background:#142c4e; border-radius:4px; }
.paper.template-corporate .doc-title p,.paper.template-corporate .grand-total span,.paper.template-corporate .grand-total b { color:#142c4e; }
.paper.template-corporate .line-table th { background:#eaf0f7; color:#142c4e; }
.paper.template-colorblock { border:0; border-radius:0; box-shadow:none; }
.paper.template-colorblock .paper-top { background:#245be8; color:#fff; margin:-42px -42px 0; padding:28px 42px 24px; }
.paper.template-colorblock .paper-top .muted,.paper.template-colorblock .doc-title p { color:#fff; }
.paper.template-colorblock .paper-logo { background:#fff; color:#245be8; }
.paper.template-colorblock .paper-rule { display:none; }
.paper.template-colorblock .party-row { margin-top:26px; }
.paper.template-colorblock .line-table th { background:#edf2ff; color:#245be8; }
.paper.template-colorblock .grand-total { border-top:2px solid #245be8; }
.paper.template-boxed { border:2px solid #344256; border-radius:0; }
.paper.template-boxed .paper-top,.paper.template-boxed .party-row,.paper.template-boxed .totals { border:1px solid #d8dee8; padding:13px; }
.paper.template-boxed .paper-top { margin-bottom:0; }
.paper.template-boxed .paper-rule { display:none; }
.paper.template-boxed .party-row { margin-top:14px; }
.paper.template-boxed .line-table { border:1px solid #d8dee8; }
.paper.template-boxed .line-table td,.paper.template-boxed .line-table th { border:1px solid #d8dee8; }
.paper.template-teal { border-top:6px solid #0f8b8d; }
.paper.template-teal .paper-logo { background:#0f8b8d; }
.paper.template-teal .doc-title p,.paper.template-teal .grand-total span,.paper.template-teal .grand-total b { color:#0f8b8d; }
.paper.template-teal .line-table th { background:#e6f7f5; color:#0b686a; }
.paper.template-bold { border:0; border-radius:0; box-shadow:none; }
.paper.template-bold .paper-top { border-bottom:5px solid #f59e0b; padding-bottom:22px; }
.paper.template-bold .doc-title p { color:#111827; font-weight:950; }
.paper.template-bold .paper-logo { background:#111827; }
.paper.template-bold .grand-total { background:#111827; color:#fff; padding:12px; }
.paper.template-bold .grand-total span,.paper.template-bold .grand-total b { color:#fff; }
.paper.template-soft { border:1px solid #e8dff3; border-radius:18px; }
.paper.template-soft .paper-logo { background:#8b5cf6; border-radius:12px; }
.paper.template-soft .doc-title p,.paper.template-soft .grand-total span,.paper.template-soft .grand-total b { color:#8b5cf6; }
.paper.template-soft .line-table th { background:#f5efff; color:#6d28d9; }
.paper.template-soft .totals { background:#faf7ff; border-radius:12px; padding:12px; }
.paper.template-mono { border:1px solid #111; border-radius:0; box-shadow:none; }
.paper.template-mono .paper-logo { background:#111; border-radius:0; }
.paper.template-mono .doc-title p,.paper.template-mono .grand-total span,.paper.template-mono .grand-total b { color:#111; }
.paper.template-mono .line-table th { background:#111; color:#fff; }
.paper.template-mono .grand-total { border-top:2px solid #111; }
.paper.template-creative { border-left:8px solid #e05263; border-radius:5px; }
.paper.template-creative .paper-logo { background:#e05263; transform:rotate(-3deg); border-radius:4px; }
.paper.template-creative .doc-title p,.paper.template-creative .grand-total span,.paper.template-creative .grand-total b { color:#c9384b; }
.paper.template-creative .paper-rule { height:3px; background:linear-gradient(90deg,#e05263 0 28%,#f0b44d 28% 55%,#4ba8a0 55%); }
.paper.template-creative .line-table th { background:#fff1f2; color:#a12b3a; }
@media(max-width:560px) {
 .paper.template-colorblock .paper-top { margin:-20px -15px 0; padding:20px 15px; }
 .doc-title p { font-size:1.15rem; }
 .signature-area { gap:12px; }
}
@media print {
 @page { margin:12mm; }
 .paper.template-colorblock .paper-top { margin:-10mm -10mm 0; padding:8mm 10mm; }
 .paper.template-minimal { border:0; }
 .signature-area { break-inside:avoid; }
}

/* Custom colourmark / watermark */
.paper { position:relative; isolation:isolate; overflow:hidden; }
.paper > :not(.watermark-layer) { position:relative; z-index:1; }
.watermark-layer { position:absolute; inset:0; z-index:0; display:flex; align-items:center; justify-content:center; overflow:hidden; pointer-events:none; }
.watermark-layer[hidden] { display:none!important; }
.watermark-text { font-size:clamp(2.2rem, 6vw, 5rem); font-weight:950; letter-spacing:.12em; white-space:nowrap; transform:rotate(-32deg); text-transform:uppercase; color:currentColor; }
.watermark-logo { width:65%; max-height:60%; object-fit:contain; transform:rotate(-25deg); filter:grayscale(1); }
#watermarkColor { min-height:38px; padding:3px; }
#watermarkOpacity { padding:0; accent-color:var(--blue); }
.paper.template-geometric { border-top:6px solid #5b5bd6; }
.paper.template-geometric .paper-top { background-image:linear-gradient(135deg, transparent 0 78%, #eeedff 78%),linear-gradient(45deg,transparent 0 88%,#d8d5ff 88%); }
.paper.template-geometric .paper-logo { background:#5b5bd6; }
.paper.template-geometric .line-table th { background:#f0efff; color:#4b43a8; }
.paper.template-diagonal { border-left:7px solid #f97316; }
.paper.template-diagonal .paper-top { background:linear-gradient(135deg,#fff7ed 0 68%,#fed7aa 68% 76%,#fff 76%); padding:18px; }
.paper.template-diagonal .paper-logo { background:#f97316; }
.paper.template-diagonal .doc-title p,.paper.template-diagonal .grand-total b { color:#c2410c; }
.paper.template-wave { border-top:5px solid #0ea5e9; }
.paper.template-wave .paper-top { border-radius:0 0 38px 0; background:linear-gradient(160deg,#e0f2fe,#fff 70%); padding:18px; }
.paper.template-wave .paper-logo { background:#0284c7; border-radius:50% 50% 6px 50%; }
.paper.template-wave .line-table th { background:#e0f2fe; color:#075985; }
.paper.template-dots { background-image:radial-gradient(#dbeafe 1px,transparent 1px); background-size:18px 18px; }
.paper.template-dots .paper-top,.paper.template-dots .party-row,.paper.template-dots .line-table,.paper.template-dots .totals,.paper.template-dots .paper-notes { background:#fff; }
.paper.template-dots .paper-logo { background:#2563eb; border-radius:50%; }
.paper.template-dots .line-table th { background:#eff6ff; }
.paper.template-grid { border:1px solid #94a3b8; }
.paper.template-grid .paper-top,.paper.template-grid .party-row,.paper.template-grid .totals { border:1px solid #cbd5e1; padding:12px; }
.paper.template-grid .paper-rule { display:none; }
.paper.template-grid .line-table td,.paper.template-grid .line-table th { border:1px solid #cbd5e1; }
.paper.template-grid .line-table th { background:#e2e8f0; color:#334155; }
.paper.template-botanical { border-top:7px solid #3f7d58; }
.paper.template-botanical .paper-top { background:linear-gradient(135deg,#f0fdf4,#fff 70%); }
.paper.template-botanical .paper-logo { background:#3f7d58; border-radius:3px 14px 3px 14px; }
.paper.template-botanical .line-table th { background:#eaf6ed; color:#28613e; }
.paper.template-sunset { border-top:7px solid #e76f51; }
.paper.template-sunset .paper-top { background:linear-gradient(115deg,#fff1e8,#ffe1d4,#fff); padding:18px; }
.paper.template-sunset .paper-logo { background:#e76f51; }
.paper.template-sunset .doc-title p,.paper.template-sunset .grand-total b { color:#c34f35; }
.paper.template-sunset .line-table th { background:#fff0e8; color:#a9432e; }
.paper.template-royal { border-top:7px solid #6d28d9; }
.paper.template-royal .paper-logo { background:#6d28d9; }
.paper.template-royal .doc-title p,.paper.template-royal .grand-total b { color:#6d28d9; }
.paper.template-royal .line-table th { background:#f3e8ff; color:#6b21a8; }
.paper.template-terracotta { border-left:7px solid #b45336; }
.paper.template-terracotta .paper-logo { background:#b45336; border-radius:3px; }
.paper.template-terracotta .paper-top { background:#fbf1eb; padding:16px; }
.paper.template-terracotta .doc-title p,.paper.template-terracotta .grand-total b { color:#9a3412; }
.paper.template-terracotta .line-table th { background:#f8e2d5; color:#7c2d12; }
.paper.template-ocean { border-top:6px solid #0f766e; }
.paper.template-ocean .paper-top { background:linear-gradient(145deg,#ccfbf1,#fff 70%); padding:18px; }
.paper.template-ocean .paper-logo { background:#0f766e; }
.paper.template-ocean .line-table th { background:#ccfbf1; color:#115e59; }
.paper.template-editorial { border:0; border-radius:0; box-shadow:none; }
.paper.template-editorial .paper-top h2 { font-family:Georgia,serif; font-size:1.3rem; }
.paper.template-editorial .doc-title p { font-family:Georgia,serif; font-weight:500; letter-spacing:.12em; }
.paper.template-editorial .paper-rule { height:2px; background:#111827; }
.paper.template-editorial .paper-logo { background:#111827; border-radius:0; }
.paper.template-editorial .line-table th { background:#f3f4f6; color:#111827; }
.paper.template-startup { border-top:8px solid #22c55e; }
.paper.template-startup .paper-logo { background:#16a34a; border-radius:9px 9px 9px 2px; }
.paper.template-startup .doc-title p,.paper.template-startup .grand-total b { color:#15803d; }
.paper.template-startup .line-table th { background:#dcfce7; color:#166534; }
.paper.template-artisan { border:1px solid #d6b98c; background:#fffdf7; }
.paper.template-artisan .paper-logo { background:#8b5e34; border-radius:3px; }
.paper.template-artisan .paper-top { background:repeating-linear-gradient(0deg,#fffdf7,#fffdf7 7px,#faf3e7 8px); padding:18px; }
.paper.template-artisan .doc-title p,.paper.template-artisan .grand-total b { color:#8b5e34; }
.paper.template-artisan .line-table th { background:#f5ead8; color:#70451e; }
.paper.template-tech { border-top:7px solid #0891b2; }
.paper.template-tech .paper-top { background-image:linear-gradient(90deg,transparent 95%,#cffafe 95%),linear-gradient(transparent 95%,#cffafe 95%); background-size:20px 20px; padding:18px; }
.paper.template-tech .paper-logo { background:#0e7490; border-radius:3px; }
.paper.template-tech .doc-title p,.paper.template-tech .grand-total b { color:#0e7490; }
.paper.template-tech .line-table th { background:#cffafe; color:#155e75; }
.paper.template-pastelblocks .paper-top { background:linear-gradient(90deg,#fce7f3 0 33%,#ede9fe 33% 66%,#dbeafe 66%); padding:18px; }
.paper.template-pastelblocks .paper-logo { background:#8b5cf6; }
.paper.template-pastelblocks .line-table th { background:#f5f3ff; color:#6d28d9; }
.paper.template-pastelblocks .doc-title p,.paper.template-pastelblocks .grand-total b { color:#7c3aed; }
.paper.template-bordered { border:4px double #475569; border-radius:0; box-shadow:none; }
.paper.template-bordered .paper-logo { background:#475569; border-radius:0; }
.paper.template-bordered .paper-rule { height:2px; background:#475569; }
.paper.template-bordered .line-table th { background:#f1f5f9; color:#334155; }
.paper.template-luxury { background:#fffefa; border:2px solid #b99a4b; border-radius:0; }
.paper.template-luxury .paper-logo { background:#171717; border:1px solid #b99a4b; border-radius:0; }
.paper.template-luxury .doc-title p,.paper.template-luxury .grand-total b { color:#94752b; }
.paper.template-luxury .line-table th { background:#171717; color:#e8d69b; }
.paper.template-luxury .grand-total { border-top:2px solid #b99a4b; }
.paper.template-playful { border-top:7px solid #f43f5e; border-radius:18px; }
.paper.template-playful .paper-top { background:radial-gradient(circle at 95% 15%,#fce7f3 0 25px,transparent 26px),radial-gradient(circle at 83% 3%,#dbeafe 0 18px,transparent 19px); padding:18px; }
.paper.template-playful .paper-logo { background:#f43f5e; border-radius:50% 50% 50% 8px; }
.paper.template-playful .doc-title p,.paper.template-playful .grand-total b { color:#e11d48; }
.paper.template-playful .line-table th { background:#fff1f2; color:#be123c; }
@media print {
 .watermark-layer { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
 .paper.template-colorblock .paper-top { margin:-10mm -10mm 0; padding:8mm 10mm; }
}

/* User-requested refinements: lighter borders and slimmer accent stripes */
.paper.template-elegant {
  border: 0 !important;
  box-shadow: 0 2px 12px rgba(25, 35, 55, .06);
}
.paper.template-boxed {
  border: 0 !important;
  box-shadow: 0 2px 12px rgba(25, 35, 55, .06);
}
.paper.template-soft {
  border: 0 !important;
  box-shadow: 0 2px 12px rgba(25, 35, 55, .06);
}
.paper.template-mono {
  border: 0 !important;
  box-shadow: 0 2px 12px rgba(25, 35, 55, .06);
}
.paper.template-grid {
  border: 0 !important;
  box-shadow: 0 2px 12px rgba(25, 35, 55, .06);
}
.paper.template-artisan {
  border: 0 !important;
  box-shadow: 0 2px 12px rgba(25, 35, 55, .06);
}
.paper.template-luxury {
  border: 0 !important;
  box-shadow: 0 2px 12px rgba(25, 35, 55, .06);
}

/* Accent stripes reduced to slim decorative details */
.paper.template-creative {
  border-left: 3px solid #e05263 !important;
}
.paper.template-diagonal {
  border-left: 3px solid #f97316 !important;
}
.paper.template-terracotta {
  border-left: 3px solid #b45336 !important;
}
.paper.template-startup {
  border-top: 3px solid #22c55e !important;
}

/* New replacement for Double Border: Gradient Mist */
.paper.template-gradient {
  border: 0 !important;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(25, 35, 55, .06);
  background: linear-gradient(145deg, #ffffff 0%, #f5f7ff 58%, #eefaf8 100%);
}
.paper.template-gradient .paper-top {
  padding: 18px;
  border-radius: 8px;
  background: linear-gradient(110deg, #eef2ff 0%, #f5f3ff 48%, #ecfeff 100%);
}
.paper.template-gradient .paper-logo {
  background: linear-gradient(135deg, #6366f1, #0d9488);
  border-radius: 9px;
}
.paper.template-gradient .doc-title p,
.paper.template-gradient .grand-total span,
.paper.template-gradient .grand-total b {
  color: #4f46e5;
}
.paper.template-gradient .line-table th {
  background: #eef2ff;
  color: #4338ca;
}
.paper.template-gradient .paper-rule {
  background: linear-gradient(90deg, #6366f1, #0d9488);
  height: 2px;
}
@media print {
  .paper.template-elegant,
  .paper.template-boxed,
  .paper.template-soft,
  .paper.template-mono,
  .paper.template-grid,
  .paper.template-artisan,
  .paper.template-luxury,
  .paper.template-gradient {
    box-shadow: none !important;
  }
}

/* FINAL border removal patch: stronger selectors for preview and print */
#paper.paper.template-elegant,
#paper.paper.template-boxed,
#paper.paper.template-soft,
#paper.paper.template-mono,
#paper.paper.template-grid,
#paper.paper.template-artisan,
#paper.paper.template-luxury {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
  border-image: none !important;
}
@media print {
  #paper.paper.template-elegant,
  #paper.paper.template-boxed,
  #paper.paper.template-soft,
  #paper.paper.template-mono,
  #paper.paper.template-grid,
  #paper.paper.template-artisan,
  #paper.paper.template-luxury {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
    border-image: none !important;
  }
}


/* FINAL PRINT CONSISTENCY PATCH — keep template appearance closer to preview */
@page {
  size: A4;
  margin: 10mm;
}
@media print {
  html, body {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    color: var(--ink) !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  *, *::before, *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    box-sizing: border-box !important;
  }
  .topbar, .intro, .editor, .preview-toolbar, .privacy-note, body > footer {
    display: none !important;
  }
  .layout {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .workspace {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .preview-column {
    display: block !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  /* Do not globally erase template borders, corner treatments or padding. */
  #paper.paper {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8mm !important;
    box-shadow: none !important;
    overflow: visible !important;
    isolation: isolate !important;
    font-size: 9pt !important;
    line-height: 1.45 !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }
  #paper.paper .paper-top,
  #paper.paper .party-row,
  #paper.paper .line-table,
  #paper.paper .totals,
  #paper.paper .paper-notes,
  #paper.paper .signature-area {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  #paper.paper .paper-top {
    margin-top: 0;
  }
  #paper.paper .line-table {
    width: 100% !important;
    table-layout: fixed !important;
  }
  #paper.paper .line-table th,
  #paper.paper .line-table td {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  #paper.paper .paper-footer {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin-top: 22px !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--line) !important;
    font-size: 7pt !important;
  }
  #paper.paper .watermark-layer {
    position: absolute !important;
    inset: 0 !important;
    overflow: hidden !important;
    print-color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
  }
  #paper.paper .watermark-text {
    font-size: 42pt !important;
  }
  #paper.paper .watermark-logo {
    max-width: 65% !important;
  }
  #paper.paper .signature-area {
    display: flex !important;
  }
  #paper.paper .signature-area[hidden] {
    display: none !important;
  }
  #paper.paper .paper-logo-wrap {
    max-width: 112px !important;
  }
  #paper.paper #pLogo {
    max-width: 112px !important;
    max-height: 42px !important;
  }
  /* Avoid breaking small documents in the middle; long invoices can continue. */
  #paper.paper .totals,
  #paper.paper .paper-notes,
  #paper.paper .signature-area {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
}


/* User-adjustable logo and document-heading sizes in preview and PDF */
.size-control input[type="range"] { width: 100%; padding: 0; accent-color: var(--blue); }
.size-control label { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.size-control label span { color:var(--blue); font-weight:700; white-space:nowrap; }
#paper.paper .paper-logo-wrap { width:var(--logo-size, 80px) !important; max-width:var(--logo-size, 80px) !important; height:auto !important; min-height:30px; margin-bottom:8px !important; }
#paper.paper #pLogo { width:var(--logo-size, 80px) !important; max-width:var(--logo-size, 80px) !important; height:auto !important; max-height:calc(var(--logo-size, 80px) * .6) !important; object-fit:contain !important; object-position:left center !important; }
#paper.paper #logoFallback { width:var(--logo-size, 80px) !important; height:calc(var(--logo-size, 80px) * .6) !important; max-width:var(--logo-size, 80px) !important; display:grid; place-items:center; }
#paper.paper #pDocType { font-size:var(--invoice-heading-size, 32px) !important; line-height:1.05 !important; letter-spacing:.025em !important; }
@media print {
  #paper.paper .paper-logo-wrap { width:var(--logo-size, 80px) !important; max-width:var(--logo-size, 80px) !important; height:auto !important; }
  #paper.paper #pLogo { width:var(--logo-size, 80px) !important; max-width:var(--logo-size, 80px) !important; height:auto !important; max-height:calc(var(--logo-size, 80px) * .6) !important; }
  #paper.paper #logoFallback { width:var(--logo-size, 80px) !important; height:calc(var(--logo-size, 80px) * .6) !important; }
  #paper.paper #pDocType { font-size:var(--invoice-heading-size, 32px) !important; }
}
