:root{--brand:#163B65;--accent:#2F6FED;--bg:#f4f6f8;--surface:#fff;--text:#17212b;--muted:#6b7785;--line:#e7ebef;--shadow:0 8px 28px rgba(26,39,52,.07);--radius:14px;--sidebar:248px}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Calibri,Candara,"Segoe UI",Arial,sans-serif;font-size:15px}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);padding:22px 14px;z-index:50;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 24px}.brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(145deg,var(--brand),var(--accent));display:grid;place-items:center;color:#fff;font-weight:700;box-shadow:0 6px 16px rgba(47,111,237,.22)}.brand-text strong{display:block;font-size:16px;line-height:1.05}.brand-text span{font-size:12px;color:var(--muted)}.nav-label{font-size:11px;color:#9aa4af;text-transform:uppercase;letter-spacing:.08em;padding:14px 12px 8px}.nav{display:grid;gap:4px}.nav a{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:10px;color:#4c5966;font-weight:600}.nav a svg{color:#758291}.nav a:hover{background:#f6f8fa;color:var(--brand)}.nav a.active{background:#edf3fb;color:var(--brand)}.nav a.active svg{color:var(--accent)}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:14px 5px 0}.user-chip{display:flex;align-items:center;gap:10px;padding:8px}.avatar{width:34px;height:34px;border-radius:50%;background:#eef3f8;display:grid;place-items:center;font-weight:700;color:var(--brand)}.user-meta{min-width:0;flex:1}.user-meta strong{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta span{font-size:11px;color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-height:100vh}.topbar{height:70px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:30}.page-title{font-size:18px;font-weight:700}.page-subtitle{font-size:12px;color:var(--muted);margin-top:2px}.top-actions{display:flex;align-items:center;gap:9px}.content{padding:24px 28px 38px;max-width:1540px;margin:0 auto}.btn{border:1px solid var(--line);background:#fff;color:#33404c;border-radius:9px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:600;line-height:1;min-height:38px}.btn:hover{border-color:#cfd6dd;background:#fafbfc}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:#245fce;border-color:#245fce}.btn-danger{color:#b42318;background:#fff8f7;border-color:#fecdca}.btn-ghost{border-color:transparent;background:transparent}.btn-sm{padding:7px 9px;min-height:32px;font-size:13px}.mobile-menu{display:none}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.tenant-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 16px;box-shadow:0 1px 0 rgba(0,0,0,.01)}.stat-head{display:flex;align-items:center;justify-content:space-between}.stat-label{font-size:13px;color:var(--muted);font-weight:600}.stat-icon{width:36px;height:36px;border-radius:10px;background:#f2f6fb;color:var(--brand);display:grid;place-items:center}.stat-value{font-size:27px;font-weight:700;letter-spacing:-.02em;margin-top:12px}.stat-note{font-size:12px;color:var(--muted);margin-top:5px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 0 rgba(0,0,0,.01)}.panel-head{padding:17px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title{font-size:15px;font-weight:700}.panel-body{padding:18px}.section-gap{margin-top:18px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.055em;color:#8994a0;text-align:left;padding:11px 14px;background:#fafbfc;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:13px 14px;border-bottom:1px solid #eef1f4;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fbfcfd}.doc-no{font-weight:700;color:var(--brand)}.muted{color:var(--muted)}.small{font-size:12px}.status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;background:#f2f4f7;color:#667085}.status-paid,.status-accepted,.status-active{background:#ecfdf3;color:#027a48}.status-unpaid,.status-overdue,.status-rejected{background:#fef3f2;color:#b42318}.status-partially_paid,.status-sent,.status-viewed{background:#fffaeb;color:#b54708}.status-draft{background:#f2f4f7;color:#667085}.status-expired,.status-cancelled{background:#f5f5f5;color:#737373}.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.form-group label{display:block;font-size:12px;font-weight:700;color:#55616e;margin:0 0 6px}.input,.select,.textarea{width:100%;border:1px solid #d9e0e6;background:#fff;border-radius:9px;padding:9px 11px;outline:none;color:var(--text);min-height:40px}.textarea{min-height:94px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:#8fb2e7;box-shadow:0 0 0 3px rgba(47,111,237,.09)}.form-hint{font-size:11px;color:#8b96a1;margin-top:5px}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.toolbar .search{position:relative}.toolbar .search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#8b96a1}.toolbar .search input{padding-left:36px;min-width:260px}.empty{padding:46px 20px;text-align:center;color:var(--muted)}.empty-icon{width:48px;height:48px;margin:0 auto 12px;border-radius:14px;background:#f4f7fa;display:grid;place-items:center;color:#8491a0}.flash{padding:11px 13px;border-radius:10px;margin-bottom:14px;border:1px solid}.flash-success{background:#ecfdf3;border-color:#abefc6;color:#067647}.flash-error{background:#fef3f2;border-color:#fecdca;color:#b42318}.doc-builder{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.line-items{border:1px solid var(--line);border-radius:11px;overflow:hidden}.line-head,.line-row{display:grid;grid-template-columns:minmax(260px,2fr) 80px 82px 120px 80px 40px;gap:8px;align-items:start}.line-head{background:#fafbfc;padding:10px 11px;color:#8994a0;font-size:11px;text-transform:uppercase;font-weight:700}.line-row{padding:10px 11px;border-top:1px solid var(--line)}.line-row:first-of-type{border-top:0}.line-row .input,.line-row .select{padding:7px 8px;min-height:35px}.remove-line{height:35px;width:35px;border:0;background:transparent;color:#98a2b3;border-radius:8px}.remove-line:hover{background:#fff2f0;color:#b42318}.summary-box{position:sticky;top:88px}.summary-line{display:flex;justify-content:space-between;gap:12px;padding:7px 0;color:#596674}.summary-line.total{border-top:1px solid var(--line);margin-top:7px;padding-top:14px;color:var(--text);font-size:18px;font-weight:700}.summary-line.balance{color:#b42318;font-weight:700}.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.company-logo-preview{max-width:190px;max-height:72px;object-fit:contain;object-position:left center}.color-row{display:flex;align-items:center;gap:10px}.color-row input[type=color]{width:46px;height:40px;padding:3px;border:1px solid #d9e0e6;border-radius:9px;background:#fff}.login-page{min-height:100vh;display:grid;grid-template-columns:1.12fr .88fr;background:#fff}.login-brand{background:linear-gradient(155deg,#0f2f52 0%,#173f6c 54%,#245d9f 100%);color:#fff;padding:68px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-160px;bottom:-170px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}.login-logo{display:flex;align-items:center;gap:12px;position:relative;z-index:2}.login-logo .brand-mark{background:#fff;color:#173f6c;box-shadow:none}.login-copy{position:relative;z-index:2;max-width:520px}.login-copy h1{font-size:42px;line-height:1.08;margin:0 0 18px;letter-spacing:-.03em}.login-copy p{font-size:17px;line-height:1.55;color:rgba(255,255,255,.78)}.login-points{display:grid;gap:12px;margin-top:28px}.login-point{display:flex;gap:10px;align-items:center;color:rgba(255,255,255,.9)}.login-form-wrap{display:grid;place-items:center;padding:50px}.login-card{width:min(430px,100%)}.login-card h2{font-size:28px;margin:0 0 7px}.login-card>p{color:var(--muted);margin:0 0 28px}.login-card .form-group{margin-bottom:15px}.login-card .btn{width:100%;margin-top:4px;min-height:44px}.mobile-backdrop{display:none}.doc-sheet-wrap{background:#eef1f4;padding:30px;min-height:100vh}.doc-sheet{width:210mm;min-height:297mm;margin:0 auto;background:#fff;box-shadow:0 12px 40px rgba(24,36,48,.11);padding:17mm 17mm 14mm;color:#17212b}.doc-top{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;border-bottom:2px solid var(--brand);padding-bottom:18px}.doc-logo{max-width:190px;max-height:64px;object-fit:contain}.doc-company-name{font-weight:700;font-size:20px;color:var(--brand)}.doc-company-details{font-size:11.5px;line-height:1.5;color:#66717d;margin-top:7px;max-width:330px}.doc-type{text-align:right}.doc-type h1{font-size:30px;letter-spacing:.04em;color:var(--brand);margin:0 0 7px}.doc-type strong{font-size:14px}.doc-info{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:24px 0}.doc-label{font-size:10px;color:#8a95a1;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:6px}.doc-client strong{font-size:15px}.doc-client p,.doc-meta p{font-size:12px;line-height:1.55;margin:2px 0;color:#56626e}.doc-meta{text-align:right}.doc-table{width:100%;border-collapse:collapse}.doc-table th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#7b8794;background:#f6f8fa;padding:10px 9px;text-align:left;border-bottom:1px solid #dfe4e8}.doc-table td{font-size:12px;padding:11px 9px;border-bottom:1px solid #edf0f2;vertical-align:top}.doc-table .num{text-align:right;white-space:nowrap}.doc-bottom{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;margin-top:22px}.doc-note{font-size:11.5px;line-height:1.55;color:#606b76}.doc-totals{font-size:12px}.doc-total-line{display:flex;justify-content:space-between;padding:5px 0}.doc-total-line.grand{font-size:18px;font-weight:700;color:var(--brand);border-top:2px solid var(--brand);margin-top:6px;padding-top:10px}.doc-payment{margin-top:28px;padding:14px;background:#f7f9fb;border-radius:8px;font-size:11.5px}.doc-footer{margin-top:38px;padding-top:12px;border-top:1px solid #e4e8ec;color:#8b96a1;font-size:10.5px;display:flex;justify-content:space-between}.print-toolbar{width:210mm;margin:0 auto 14px;display:flex;justify-content:space-between;gap:10px}.public-action{width:210mm;margin:16px auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:20px}.bar-chart{height:210px;display:flex;align-items:flex-end;gap:10px;padding:18px 4px 4px}.bar{flex:1;background:linear-gradient(180deg,var(--accent),var(--brand));min-height:4px;border-radius:6px 6px 2px 2px;position:relative;opacity:.9}.bar span{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:10px;color:#8a95a1}.donut-wrap{display:flex;align-items:center;gap:28px;padding:16px 5px}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--accent) 0 var(--paidp),#f79009 var(--paidp) var(--openp),#e4e7ec var(--openp) 100%);position:relative}.donut:after{content:"";position:absolute;inset:28px;background:#fff;border-radius:50%}.legend{display:grid;gap:9px}.legend-item{display:flex;gap:9px;align-items:center;font-size:12px;color:#5d6975}.dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}.dot.open{background:#f79009}.dot.none{background:#e4e7ec}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.doc-builder{grid-template-columns:1fr}.summary-box{position:static}.line-head,.line-row{grid-template-columns:minmax(220px,2fr) 70px 75px 105px 70px 36px}.login-brand{padding:45px}.login-copy h1{font-size:35px}}
@media(max-width:780px){.span-2{grid-column:auto}.tenant-grid{grid-template-columns:1fr}:root{--sidebar:0px}.sidebar{transform:translateX(-100%);width:250px;transition:.2s}.sidebar.open{transform:translateX(0)}.mobile-backdrop.show{display:block;position:fixed;inset:0;background:rgba(16,24,40,.35);z-index:40}.main{margin-left:0;width:100%}.topbar{height:62px;padding:0 16px}.mobile-menu{display:inline-flex}.content{padding:16px}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid>[class^=col-]{grid-column:auto}.topbar .page-subtitle{display:none}.toolbar{align-items:stretch}.toolbar .search{flex:1}.toolbar .search input{min-width:0;width:100%}.panel-head{align-items:flex-start;flex-direction:column}.line-head{display:none}.line-row{grid-template-columns:1fr 1fr;gap:8px;padding:12px}.line-row textarea{grid-column:1/-1}.line-row .remove-line{justify-self:end}.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-form-wrap{padding:28px;min-height:100vh}.doc-sheet-wrap{padding:0;background:#fff;overflow:auto}.doc-sheet,.print-toolbar,.public-action{width:100%;min-width:720px}.print-toolbar,.public-action{padding-left:12px;padding-right:12px}.doc-sheet{box-shadow:none}.stat-value{font-size:24px}}
@media print{body{background:#fff}.print-toolbar,.public-action{display:none!important}.doc-sheet-wrap{padding:0;background:#fff}.doc-sheet{box-shadow:none;margin:0;width:210mm;min-height:297mm;page-break-after:avoid}@page{size:A4;margin:0}}

/* V1.1 - catalog quick add for quotation/invoice */
.item-panel-head{align-items:center}.item-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.catalog-quick-select{min-width:300px;max-width:430px;min-height:34px;padding:7px 9px}.item-toolbar .btn{white-space:nowrap}.item-toolbar .btn:disabled,.catalog-quick-select:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:1100px){.item-panel-head{align-items:flex-start;flex-direction:column}.item-toolbar{width:100%;justify-content:flex-start}.catalog-quick-select{flex:1;min-width:240px;max-width:none}}
@media(max-width:780px){.item-toolbar{display:grid;grid-template-columns:1fr 1fr;width:100%}.catalog-quick-select{grid-column:1/-1;width:100%;min-width:0}.item-toolbar .btn{width:100%}}

/* =========================================================
   V1.2 — Premium corporate quotation / invoice document
   White-label: uses --brand and --accent from company settings
   ========================================================= */
.doc-premium{
  position:relative;
  overflow:hidden;
  padding:12mm 12mm 9mm;
  color:#142033;
  font-family:Calibri,Candara,"Segoe UI",Arial,sans-serif;
  background:#fff;
}
.doc-premium:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:3.2mm;
  background:linear-gradient(90deg,var(--brand),var(--accent));
}
.doc-corner-shape{
  position:absolute;
  right:-18mm;
  top:-16mm;
  width:57mm;
  height:57mm;
  transform:rotate(45deg);
  background:linear-gradient(145deg,var(--accent),var(--brand));
  opacity:.98;
  z-index:0;
}
.doc-corner-shape:after{
  content:"";
  position:absolute;
  inset:7mm;
  border:1.5mm solid rgba(255,255,255,.18);
}
.doc-brand-header{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(46mm,1.05fr) minmax(58mm,1.2fr) minmax(45mm,.95fr);
  gap:7mm;
  align-items:center;
  min-height:26mm;
  padding:4mm 25mm 5mm 0;
  border-bottom:.45mm solid color-mix(in srgb,var(--brand) 72%,white);
}
.doc-brand-identity{display:flex;align-items:center;min-width:0}
.doc-logo-premium{
  display:block;
  width:auto;
  height:auto;
  max-width:58mm;
  max-height:24mm;
  object-fit:contain;
  object-position:left center;
}
.doc-wordmark-fallback{
  color:var(--brand);
  font-size:20pt;
  line-height:1;
  font-weight:700;
  letter-spacing:-.02em;
}
.doc-brand-profile{min-width:0;color:#526177;font-size:8.5pt;line-height:1.35}
.doc-brand-name{font-size:10.5pt;font-weight:700;color:#132b50;margin-bottom:1.6mm}
.doc-brand-row{display:flex;align-items:flex-start;gap:1.6mm;margin:.6mm 0}
.doc-brand-row svg{width:12px;height:12px}
.doc-mini-icon{color:var(--accent);display:inline-flex;flex:0 0 auto;margin-top:.3mm}
.doc-brand-address span:last-child{max-width:60mm}
.doc-brand-contact{display:grid;gap:1.5mm;color:#44546b;font-size:8.8pt;min-width:0}
.doc-contact-row{display:flex;align-items:center;gap:2mm;min-width:0}
.doc-contact-row span:last-child{overflow-wrap:anywhere}
.doc-contact-icon{display:grid;place-items:center;width:5.5mm;height:5.5mm;border-radius:50%;background:color-mix(in srgb,var(--accent) 11%,white);color:var(--brand);font-size:8pt;font-weight:700;flex:0 0 auto}

.doc-title-band{
  position:relative;
  z-index:1;
  margin:7mm -12mm 6mm;
  padding:7mm 12mm;
  min-height:34mm;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10mm;
  color:#fff;
  background:
    linear-gradient(118deg,var(--brand) 0%,color-mix(in srgb,var(--brand) 78%,var(--accent)) 62%,var(--accent) 155%);
}
.doc-title-band:after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:43%;
  opacity:.16;
  background:repeating-linear-gradient(132deg,transparent 0 6px,rgba(255,255,255,.25) 6px 7px);
  clip-path:polygon(30% 0,100% 0,100% 100%,0 100%);
}
.doc-title-main{position:relative;z-index:1;font-size:26pt;font-weight:700;letter-spacing:.045em;line-height:1}
.doc-title-kicker{position:relative;z-index:1;margin-top:2.2mm;font-size:7.6pt;letter-spacing:.23em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.doc-title-side{position:relative;z-index:1;text-align:right;display:grid;justify-items:end;gap:2.2mm}
.doc-number{font-size:13.5pt;font-weight:700;letter-spacing:.02em}
.doc-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:21mm;padding:1.5mm 3.2mm;border-radius:999px;background:rgba(255,255,255,.9);color:var(--brand);font-size:7.6pt;font-weight:700;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 1mm 3mm rgba(0,0,0,.08)}
.doc-status-pill.compact{min-width:0;padding:1mm 2.3mm;font-size:7pt;box-shadow:none;background:color-mix(in srgb,var(--accent) 11%,white);color:var(--brand)}
.doc-status-paid,.doc-status-accepted,.doc-status-active{background:#e9f9ef!important;color:#137044!important}
.doc-status-unpaid,.doc-status-overdue,.doc-status-rejected,.doc-status-cancelled{background:#fff0ef!important;color:#b42318!important}
.doc-status-partially_paid,.doc-status-sent,.doc-status-viewed{background:#fff7e5!important;color:#9a5b00!important}
.doc-status-draft,.doc-status-expired{background:#eef4fa!important;color:#426080!important}

.doc-hero-info{display:grid;grid-template-columns:1fr 1fr;gap:4.5mm;margin:0 0 5.5mm}
.doc-info-card,.doc-terms-card,.doc-payment-card{
  border:.35mm solid #e5edf5;
  border-radius:3mm;
  background:linear-gradient(135deg,#fbfdff 0%,#f4f8fc 100%);
}
.doc-info-card{min-height:35mm;padding:5mm 5.3mm;break-inside:avoid}
.doc-section-heading{display:flex;align-items:center;gap:2.4mm;color:var(--brand);font-size:8.2pt;font-weight:700;text-transform:uppercase;letter-spacing:.16em;margin-bottom:3mm}
.doc-section-icon{width:7.5mm;height:7.5mm;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--accent),var(--brand));box-shadow:0 1.5mm 3mm color-mix(in srgb,var(--accent) 15%,transparent)}
.doc-section-icon svg{width:4.2mm;height:4.2mm}
.doc-section-icon.light{box-shadow:none}
.doc-client-name{font-size:12pt;line-height:1.1;font-weight:700;color:#112b52;margin-bottom:2.5mm}
.doc-card-line{font-size:8.8pt;line-height:1.38;color:#4b5a6f;margin:.9mm 0}
.doc-card-address{max-width:72mm}
.doc-card-contact{display:flex;gap:3mm;flex-wrap:wrap;color:#55708f;font-size:8pt;margin-top:2mm}
.doc-detail-grid{display:grid;grid-template-columns:31mm 1fr;gap:1.8mm 4mm;font-size:8.8pt;align-items:center}
.doc-detail-grid>span{color:#607089}
.doc-detail-grid>strong{color:#1c304e;font-weight:600}

.doc-table-shell{overflow:hidden;border:.35mm solid #dfe8f1;border-radius:2.6mm;margin-bottom:5.5mm;background:#fff;break-inside:auto}
.doc-table-premium{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed}
.doc-table-premium th{background:linear-gradient(90deg,var(--brand),color-mix(in srgb,var(--brand) 76%,var(--accent)));color:#fff!important;padding:3.5mm 2.8mm!important;border:0!important;font-size:7.5pt!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-weight:700!important}
.doc-table-premium th:nth-child(1){width:8mm}
.doc-table-premium th:nth-child(2){width:auto}
.doc-table-premium th:nth-child(3){width:14mm}
.doc-table-premium th:nth-child(4){width:18mm}
.doc-table-premium th:nth-child(5){width:27mm}
.doc-table-premium th:nth-child(6){width:16mm}
.doc-table-premium th:nth-child(7){width:28mm}
.doc-table-premium td{font-size:8.7pt!important;line-height:1.34;padding:3.9mm 2.8mm!important;border:0!important;border-bottom:.28mm solid #e9eef4!important;color:#34445a;vertical-align:top!important}
.doc-table-premium tbody tr:last-child td{border-bottom:0!important}
.doc-table-premium tbody tr:nth-child(even) td{background:#fbfdff}
.doc-col-no{text-align:center!important;color:#73849a!important}
.doc-table-premium .num{text-align:right;white-space:nowrap}
.doc-item-title{font-size:9.2pt;font-weight:700;color:#152b4c;line-height:1.2}
.doc-item-description{margin-top:.9mm;color:#68778b;font-size:8pt;line-height:1.35}
.doc-amount{color:#102a4e!important}

.doc-summary-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:4.5mm;align-items:stretch;margin-bottom:5mm;break-inside:avoid}
.doc-terms-card{padding:5mm 5.2mm}
.doc-terms-text{font-size:8.4pt;line-height:1.45;color:#53637a}
.doc-muted-text{color:#8996a7;font-style:italic}
.doc-note-divider{height:.3mm;background:#dce6f0;margin:3.4mm 0}
.doc-note-label{font-size:7.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#708198;margin-bottom:1.2mm}
.doc-total-card{border:.35mm solid #d8e4f0;border-radius:3mm;background:linear-gradient(145deg,#fafdff,#eef5fb);padding:4.5mm 4.5mm 0;overflow:hidden;align-self:stretch}
.doc-total-row{display:flex;justify-content:space-between;gap:5mm;padding:1.9mm .6mm;font-size:9pt;color:#394a61}
.doc-total-row strong{color:#172b48}
.doc-total-row.discount strong{color:#b54708}
.doc-grand-total{margin:3.1mm -4.5mm 0;padding:4.2mm 4.8mm;display:flex;justify-content:space-between;align-items:center;gap:5mm;background:linear-gradient(90deg,var(--brand),color-mix(in srgb,var(--brand) 74%,var(--accent)));color:#fff;font-size:11.8pt;font-weight:700}
.doc-grand-total strong{font-size:17pt;white-space:nowrap}
.doc-total-row.paid{margin-top:1.5mm;color:#137044}
.doc-total-row.paid strong{color:#137044}
.doc-balance-row{margin:2mm -4.5mm 0;padding:3.2mm 4.8mm;display:flex;justify-content:space-between;background:#fff4f2;color:#9e2a1e;font-size:10pt;font-weight:700;border-top:.3mm solid #ffd4ce}

.doc-payment-card{display:grid;grid-template-columns:1.25fr .75fr;gap:0;margin-bottom:6mm;overflow:hidden;break-inside:avoid}
.doc-payment-main{padding:5mm 5.2mm}
.doc-payment-grid{display:grid;grid-template-columns:27mm 1fr;gap:1.5mm 3.5mm;font-size:8.7pt;line-height:1.4}
.doc-payment-grid span{color:#66768c}
.doc-payment-grid strong{color:#1c304e;overflow-wrap:anywhere}
.doc-payment-note{border-left:.35mm solid #dbe7f1;padding:4.5mm;display:flex;align-items:center;gap:3mm;background:rgba(255,255,255,.56);font-size:8.2pt;line-height:1.4;color:#54657a}
.doc-payment-note strong{display:inline-block;color:var(--brand);margin-bottom:.8mm}
.doc-payment-note-icon{width:7mm;height:7mm;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;flex:0 0 auto}
.doc-payment-qr{width:19mm;height:19mm;object-fit:contain;background:#fff;border:.3mm solid #d7e2ed;border-radius:2mm;padding:1mm;flex:0 0 auto}

.doc-closing{display:flex;justify-content:space-between;align-items:center;gap:10mm;padding:3mm 1mm 5.5mm;break-inside:avoid}
.doc-thank-title{font-size:11pt;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.1em}
.doc-thank-sub{font-size:8.5pt;color:#75849a;margin-top:1.3mm}
.doc-closing-mark{display:flex;gap:1mm;align-items:flex-end;opacity:.9}
.doc-closing-mark span{display:block;width:7mm;background:linear-gradient(180deg,var(--accent),var(--brand));transform:skewX(-32deg);border-radius:.4mm}
.doc-closing-mark span:nth-child(1){height:4mm;opacity:.35}.doc-closing-mark span:nth-child(2){height:7mm;opacity:.62}.doc-closing-mark span:nth-child(3){height:10mm}

.doc-footer-premium{
  position:relative;
  margin:0 -12mm -9mm;
  min-height:20mm;
  padding:4.8mm 12mm 4mm;
  background:#f6f9fc;
  border-top:.4mm solid color-mix(in srgb,var(--brand) 50%,white);
  display:grid;
  grid-template-columns:1.15fr 1fr auto;
  gap:5mm;
  align-items:center;
  font-size:7.4pt;
  color:#63738a;
}
.doc-footer-premium:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.8mm;background:linear-gradient(90deg,var(--brand),var(--accent))}
.doc-footer-company{display:grid;gap:.6mm;min-width:0}
.doc-footer-company strong{color:#17345c;font-size:8.3pt}
.doc-footer-company span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doc-footer-contact{display:flex;gap:3mm;flex-wrap:wrap;justify-content:center}
.doc-footer-contact span+span:before{content:"•";margin-right:3mm;color:var(--accent)}
.doc-footer-no{color:#38516f;font-weight:700;white-space:nowrap}

/* Document preview: larger physical page, but keep app toolbar unchanged */
.doc-sheet-wrap .doc-premium{min-height:297mm}

@media(max-width:780px){
  .doc-premium{min-width:720px}
}

@media print{
  html,body{background:#fff!important}
  .doc-sheet-wrap{padding:0!important;background:#fff!important}
  .doc-sheet.doc-premium{width:210mm!important;min-height:297mm!important;margin:0!important;padding:12mm 12mm 9mm!important;box-shadow:none!important;overflow:visible!important}
  .doc-brand-header,.doc-title-band,.doc-info-card,.doc-terms-card,.doc-total-card,.doc-payment-card,.doc-closing,.doc-footer-premium{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .doc-table-premium thead{display:table-header-group}
  .doc-table-premium tr{break-inside:avoid;page-break-inside:avoid}
  .doc-summary-grid,.doc-payment-card,.doc-closing,.doc-footer-premium{break-inside:avoid;page-break-inside:avoid}
  @page{size:A4;margin:0}
}


/* ===== V1.2.1 premium document layout refinements ===== */
.doc-premium-v121{padding:14mm 14mm 11mm}
.doc-brand-header-v2{grid-template-columns:minmax(54mm,.95fr) minmax(72mm,1.25fr) minmax(42mm,.8fr);gap:5mm;padding:2mm 19mm 4.5mm 0;min-height:28mm}
.doc-logo-premium-v2{max-width:60mm;max-height:28mm}
.doc-brand-name-v2{font-size:11.5pt;margin-bottom:1.1mm}
.doc-brand-profile-v2{font-size:8.7pt;line-height:1.32}
.doc-brand-contact-v2{font-size:8.7pt;justify-self:end}
.doc-title-band-v2{margin:5mm -14mm 4mm;padding:6mm 14mm;min-height:24mm;align-items:flex-end}
.doc-title-band-v2 .doc-title-main{font-size:22pt;letter-spacing:.025em}
.doc-title-band-v2 .doc-title-kicker{margin-top:1.4mm;font-size:7.4pt;letter-spacing:.18em;color:rgba(255,255,255,.78)}
.doc-title-side-v2{gap:1.6mm}
.doc-title-side-v2 .doc-number{font-size:12.5pt}
.doc-meta-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:3.5mm;margin:0 0 4.5mm}
.doc-meta-box{display:flex;align-items:center;gap:2.6mm;border:.35mm solid #e3edf6;border-radius:3mm;background:#fbfdff;padding:3.4mm 4mm;min-height:15mm}
.doc-meta-icon{width:8mm;height:8mm;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--accent) 13%,white);color:var(--brand);flex:0 0 auto}
.doc-meta-icon svg{width:4.2mm;height:4.2mm}
.doc-meta-label{font-size:7.2pt;text-transform:uppercase;letter-spacing:.12em;color:#7a8ba1;font-weight:700}
.doc-meta-value{font-size:9.6pt;color:#163153;font-weight:700;margin-top:.6mm}
.doc-hero-info-v2{gap:3.5mm;margin-bottom:4.5mm}
.doc-info-card-v2{min-height:0;padding:4.4mm 4.8mm}
.doc-detail-grid-v2{grid-template-columns:28mm 1fr;gap:1.7mm 3.2mm}
.doc-card-address{max-width:none}
.doc-table-shell-v2{margin-bottom:4.5mm}
.doc-table-premium th{padding:3.2mm 2.6mm!important;font-size:7.3pt!important}
.doc-table-premium td{padding:3.5mm 2.6mm!important;font-size:8.5pt!important}
.doc-item-title{font-size:9pt}
.doc-item-description{font-size:7.9pt}
.doc-summary-grid-v2{gap:3.5mm;margin-bottom:4.5mm;grid-template-columns:1.08fr .92fr}
.doc-terms-card-v2{padding:4.5mm 4.8mm}
.doc-total-card-v2{padding:4mm 4mm 0}
.doc-total-card-v2 .doc-grand-total{margin:2.2mm -4mm 0;padding:3.8mm 4.4mm}
.doc-total-card-v2 .doc-grand-total strong{font-size:15.5pt}
.doc-payment-card-v2{grid-template-columns:1.08fr .92fr;margin-bottom:4.5mm}
.doc-payment-main{padding:4.6mm 4.8mm}
.doc-payment-note{padding:4mm}
.doc-closing-v2{padding:1.5mm .8mm 4.2mm;align-items:flex-end}
.doc-thank-title{font-size:10.2pt;letter-spacing:.09em}
.doc-thank-sub{font-size:8.2pt}
.doc-footer-premium-v2{margin:0 -14mm -11mm;padding:4.2mm 14mm 4mm;grid-template-columns:1.12fr 1fr auto;gap:4mm}
.doc-footer-premium-v2 .doc-footer-company span{white-space:normal;overflow:visible;text-overflow:unset;line-height:1.35}
.doc-footer-premium-v2 .doc-footer-contact{justify-content:flex-start}
.doc-sheet-wrap{padding:20px}
.print-toolbar{width:210mm;max-width:calc(100vw - 40px);position:sticky;top:18px;z-index:5;background:transparent}
@media(max-width:920px){
  .doc-meta-strip{grid-template-columns:1fr}
}
@media(max-width:780px){
  .doc-premium-v121{min-width:720px}
}
@media print{
  .doc-premium-v121{padding:12mm 12mm 9mm!important}
  .doc-title-band-v2{margin:4.5mm -12mm 4mm!important;padding:6mm 12mm!important}
  .doc-footer-premium-v2{margin:0 -12mm -9mm!important;padding:4.2mm 12mm 4mm!important}
}


/* ===== V1.2.2 header refinement ===== */
.doc-corner-shape{top:-16mm;right:-18mm;width:46mm;height:46mm;opacity:.96}
.doc-corner-shape:after{inset:8mm;border-width:1.1mm;opacity:.55}
.doc-brand-header-v2{
  grid-template-columns:minmax(50mm,.95fr) minmax(82mm,1.35fr) minmax(50mm,.95fr);
  gap:6mm;
  padding:1.5mm 16mm 5.5mm 0;
  min-height:34mm;
  align-items:center;
}
.doc-brand-identity-v2{align-self:center}
.doc-logo-premium-v2{
  max-width:66mm;
  max-height:33mm;
}
.doc-brand-profile-v2{
  font-size:9.2pt;
  line-height:1.45;
  color:#314764;
}
.doc-brand-name-v2{
  font-size:13.2pt;
  margin-bottom:1.8mm;
  color:#112d54;
}
.doc-brand-profile-v2 .doc-brand-row{gap:2mm;margin:1mm 0}
.doc-brand-profile-v2 .doc-brand-row span:last-child{display:block}
.doc-brand-profile-v2 .doc-brand-address span:last-child{max-width:none}
.doc-brand-contact-v2{
  justify-self:end;
  align-self:start;
  min-width:48mm;
  background:linear-gradient(135deg,#fbfdff 0%,#f0f6fc 100%);
  border:.35mm solid #dfebf6;
  border-radius:3mm;
  padding:3.2mm 3.6mm;
  box-shadow:0 1mm 2.6mm rgba(22,59,101,.04);
  gap:2.2mm;
}
.doc-brand-contact-v2 .doc-contact-row{gap:2.4mm;align-items:flex-start}
.doc-brand-contact-v2 .doc-contact-row span:last-child{font-size:9pt;font-weight:600;color:#24405f;line-height:1.35}
.doc-brand-contact-v2 .doc-contact-icon{width:6mm;height:6mm;font-size:8.3pt;background:#eaf2fc;color:#174272}
.doc-title-band-v2{margin:5.5mm -14mm 4.2mm;padding:6.2mm 14mm;min-height:25mm}
.doc-title-band-v2 .doc-title-main{font-size:23pt}
.doc-title-band-v2 .doc-title-kicker{font-size:7.8pt;letter-spacing:.19em}
.doc-title-side-v2 .doc-number{font-size:13.5pt}
.doc-meta-strip{margin:0 0 4.8mm}
.doc-meta-box{min-height:16mm;padding:3.7mm 4.2mm}
.doc-meta-label{font-size:7.4pt}
.doc-meta-value{font-size:10pt}
@media(max-width:780px){
  .doc-brand-header-v2{grid-template-columns:minmax(58mm,.95fr) minmax(78mm,1.25fr) minmax(48mm,.95fr)}
}
@media print{
  .doc-corner-shape{top:-16mm!important;right:-18mm!important;width:46mm!important;height:46mm!important}
}


/* ===== V1.2.3 major document layout repair ===== */
.doc-premium-v123{padding:14mm 14mm 11mm}
.doc-corner-shape-v3{top:-14mm;right:-14mm;width:42mm;height:42mm;opacity:.96}
.doc-corner-shape-v3:after{inset:8mm;border-width:1mm;opacity:.45}
.doc-brand-header-v3{
  display:grid;
  grid-template-columns:minmax(0,1fr) 52mm;
  gap:8mm;
  align-items:start;
  min-height:34mm;
  padding:0 10mm 5mm 0;
  border-bottom:.45mm solid color-mix(in srgb,var(--brand) 72%,white);
}
.doc-brand-left{display:grid;grid-template-columns:40mm minmax(0,1fr);gap:8mm;align-items:center;min-width:0}
.doc-brand-identity-v3{justify-content:center;align-items:center;min-height:28mm}
.doc-logo-premium-v3{display:block;max-width:34mm;max-height:28mm;width:auto;height:auto;object-fit:contain;object-position:center}
.doc-brand-profile-v3{font-size:9.3pt;line-height:1.45;color:#314864;min-width:0}
.doc-brand-name-v3{font-size:13.5pt;font-weight:700;color:#102d54;margin-bottom:1.8mm}
.doc-brand-profile-v3 .doc-brand-row{display:flex;align-items:flex-start;gap:2.1mm;margin:1mm 0}
.doc-brand-profile-v3 .doc-brand-address-v3 span:last-child{max-width:none;display:block;line-height:1.55}
.doc-brand-contact-v3{
  justify-self:end;
  min-width:0;
  padding:3.5mm 4mm;
  border:.35mm solid #dbe7f2;
  border-radius:3mm;
  background:linear-gradient(135deg,#fbfdff 0%,#f2f7fc 100%);
  display:grid;
  gap:2.4mm;
  box-shadow:0 1mm 2.6mm rgba(22,59,101,.04);
}
.doc-brand-contact-title{font-size:7.5pt;text-transform:uppercase;letter-spacing:.16em;color:#6b7f98;font-weight:700;margin-bottom:.5mm}
.doc-brand-contact-v3 .doc-contact-row{gap:2.4mm;align-items:flex-start}
.doc-brand-contact-v3 .doc-contact-row span:last-child{font-size:9pt;font-weight:600;color:#204160;line-height:1.35;overflow-wrap:anywhere}
.doc-brand-contact-v3 .doc-contact-icon{width:6.2mm;height:6.2mm;font-size:8.4pt;background:#eaf2fc;color:#174272}
.doc-title-band-v3{margin:5.5mm -14mm 4.5mm;padding:7mm 14mm;min-height:24mm;display:flex;justify-content:space-between;align-items:center;gap:10mm}
.doc-title-band-v3 .doc-title-main{font-size:22pt;letter-spacing:.03em}
.doc-title-band-v3 .doc-title-kicker{font-size:7.8pt;letter-spacing:.2em;color:rgba(255,255,255,.78)}
.doc-title-side-v3{gap:1.8mm}
.doc-title-side-v3 .doc-number{font-size:13pt}
.doc-meta-strip-v3{display:grid;grid-template-columns:repeat(3,1fr);gap:3.5mm;margin:0 0 4.6mm}
.doc-meta-strip-v3 .doc-meta-box{min-height:16mm;padding:3.8mm 4.2mm}
.doc-hero-info-v3{gap:3.5mm;margin-bottom:4.6mm}
.doc-info-card-v3{padding:4.6mm 4.8mm;min-height:0}
.doc-detail-grid-v3{grid-template-columns:29mm 1fr;gap:1.8mm 3mm}
.doc-table-shell-v3{margin-bottom:4.6mm}
.doc-table-premium-v3 th{padding:3.5mm 3mm!important;font-size:7.5pt!important}
.doc-table-premium-v3 td{padding:4.1mm 3mm!important;font-size:8.7pt!important;vertical-align:middle!important}
.doc-table-premium-v3 td.doc-col-no{vertical-align:middle!important;text-align:center!important;font-weight:700;color:#5d6f87!important}
.doc-table-premium-v3 td:nth-child(1){vertical-align:middle!important}
.doc-table-premium-v3 .doc-desc-cell{vertical-align:top!important}
.doc-table-premium-v3 .doc-item-title{font-size:9.2pt;line-height:1.24}
.doc-table-premium-v3 .doc-item-description{font-size:8pt;line-height:1.35;margin-top:.9mm}
.doc-summary-grid-v3{gap:3.6mm;margin-bottom:4.6mm;grid-template-columns:1.08fr .92fr;align-items:stretch}
.doc-terms-card-v3{padding:4.8mm 5mm}
.doc-total-card-v3{padding:4.2mm 4.2mm 0}
.doc-total-card-v3 .doc-grand-total{margin:2.4mm -4.2mm 0;padding:4mm 4.5mm}
.doc-total-card-v3 .doc-grand-total strong{font-size:16pt}
.doc-payment-card-v3{grid-template-columns:1.12fr .88fr;margin-bottom:4.6mm}
.doc-payment-card-v3 .doc-payment-main{padding:4.8mm 5mm}
.doc-payment-card-v3 .doc-payment-note{padding:4.3mm}
.doc-closing-v3{padding:1.5mm .8mm 4.2mm;align-items:flex-end}
.doc-footer-premium-v3{margin:0 -14mm -11mm;padding:4.2mm 14mm 4mm;grid-template-columns:1.2fr .95fr auto;gap:4mm}
.doc-footer-premium-v3 .doc-footer-company span{white-space:normal;overflow:visible;text-overflow:unset;line-height:1.35}
.doc-footer-premium-v3 .doc-footer-contact{justify-content:flex-start}
.doc-sheet-wrap{padding:20px}
.print-toolbar{width:210mm;max-width:calc(100vw - 40px);position:sticky;top:18px;z-index:5}
@media(max-width:920px){
  .doc-meta-strip-v3{grid-template-columns:1fr}
}
@media(max-width:780px){
  .doc-premium-v123{min-width:720px}
}
@media print{
  .doc-premium-v123{padding:12mm 12mm 9mm!important}
  .doc-title-band-v3{margin:5mm -12mm 4mm!important;padding:7mm 12mm!important}
  .doc-footer-premium-v3{margin:0 -12mm -9mm!important;padding:4.2mm 12mm 4mm!important}
}

/* ===== V1.2.4 print/PDF layout lock ===== */
@media print{
  html,body{
    width:210mm!important;
    min-width:210mm!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }
  .doc-sheet-wrap{
    width:210mm!important;
    min-width:210mm!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
  }
  .doc-sheet.doc-premium.doc-premium-v123{
    width:210mm!important;
    min-width:210mm!important;
    min-height:297mm!important;
    height:auto!important;
    margin:0!important;
    padding:10mm 12mm 8mm!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .doc-brand-header-v3{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 50mm!important;
    gap:7mm!important;
    min-height:31mm!important;
    padding:0 8mm 4.2mm 0!important;
  }
  .doc-brand-left{
    display:grid!important;
    grid-template-columns:38mm minmax(0,1fr)!important;
    gap:7mm!important;
    align-items:center!important;
  }
  .doc-brand-identity-v3{min-height:25mm!important}
  .doc-logo-premium-v3{max-width:32mm!important;max-height:25mm!important}
  .doc-brand-profile-v3{font-size:8.6pt!important;line-height:1.38!important}
  .doc-brand-name-v3{font-size:12.5pt!important;margin-bottom:1.4mm!important}
  .doc-brand-contact-v3{padding:3mm 3.4mm!important;gap:1.8mm!important}
  .doc-brand-contact-title{font-size:7pt!important}
  .doc-brand-contact-v3 .doc-contact-row span:last-child{font-size:8.4pt!important}
  .doc-corner-shape-v3{top:-14mm!important;right:-14mm!important;width:40mm!important;height:40mm!important}

  .doc-title-band-v3{
    margin:4.5mm -12mm 3.8mm!important;
    padding:5.6mm 12mm!important;
    min-height:22mm!important;
  }
  .doc-title-band-v3 .doc-title-main{font-size:20.5pt!important}
  .doc-title-band-v3 .doc-title-kicker{font-size:7pt!important;margin-top:1.2mm!important}
  .doc-title-side-v3 .doc-number{font-size:12pt!important}

  /* Critical: printing must NOT inherit the screen responsive 1-column rule. */
  .doc-meta-strip-v3{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:3mm!important;
    margin:0 0 3.8mm!important;
  }
  .doc-meta-strip-v3 .doc-meta-box{
    min-height:13.5mm!important;
    padding:2.8mm 3.5mm!important;
  }
  .doc-meta-label{font-size:6.8pt!important}
  .doc-meta-value{font-size:9pt!important}

  .doc-hero-info-v3{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:3mm!important;
    margin-bottom:3.8mm!important;
  }
  .doc-info-card-v3{padding:4mm 4.3mm!important}
  .doc-section-heading{margin-bottom:2.4mm!important;font-size:7.7pt!important}
  .doc-section-icon{width:7mm!important;height:7mm!important}
  .doc-client-name{font-size:11pt!important;margin-bottom:2mm!important}
  .doc-card-line,.doc-detail-grid-v3{font-size:8.2pt!important;line-height:1.32!important}

  .doc-table-shell-v3{margin-bottom:3.8mm!important}
  .doc-table-premium-v3 th{padding:2.8mm 2.5mm!important;font-size:7pt!important}
  .doc-table-premium-v3 td{padding:3.2mm 2.5mm!important;font-size:8.1pt!important;line-height:1.28!important}
  .doc-table-premium-v3 .doc-item-title{font-size:8.6pt!important}
  .doc-table-premium-v3 .doc-item-description{font-size:7.5pt!important}

  .doc-summary-grid-v3{
    display:grid!important;
    grid-template-columns:1.08fr .92fr!important;
    gap:3mm!important;
    margin-bottom:3.8mm!important;
  }
  .doc-terms-card-v3{padding:4mm 4.3mm!important}
  .doc-terms-text{font-size:7.8pt!important;line-height:1.35!important}
  .doc-total-card-v3{padding:3.5mm 3.7mm 0!important}
  .doc-total-row{font-size:8.4pt!important;padding:1.5mm .5mm!important}
  .doc-total-card-v3 .doc-grand-total{margin:2mm -3.7mm 0!important;padding:3.3mm 4mm!important;font-size:10.7pt!important}
  .doc-total-card-v3 .doc-grand-total strong{font-size:14.5pt!important}

  .doc-payment-card-v3{
    display:grid!important;
    grid-template-columns:1.12fr .88fr!important;
    margin-bottom:3.8mm!important;
  }
  .doc-payment-card-v3 .doc-payment-main{padding:4mm 4.3mm!important}
  .doc-payment-grid{font-size:8pt!important;grid-template-columns:24mm 1fr!important;gap:1.2mm 3mm!important}
  .doc-payment-card-v3 .doc-payment-note{padding:3.5mm!important;font-size:7.6pt!important}

  .doc-closing-v3{padding:1mm .5mm 3.2mm!important}
  .doc-thank-title{font-size:9.4pt!important}
  .doc-thank-sub{font-size:7.7pt!important}
  .doc-closing-mark span{width:6mm!important}

  .doc-footer-premium-v3{
    margin:0 -12mm -8mm!important;
    min-height:17mm!important;
    padding:3.4mm 12mm 3.5mm!important;
    grid-template-columns:1.2fr .95fr auto!important;
    gap:3mm!important;
    font-size:6.8pt!important;
  }
  .doc-footer-company strong{font-size:7.7pt!important}
  .doc-footer-premium-v3:after{height:2.2mm!important}

  .doc-brand-header-v3,.doc-title-band-v3,.doc-meta-strip-v3,.doc-hero-info-v3,
  .doc-table-shell-v3,.doc-summary-grid-v3,.doc-payment-card-v3,.doc-closing-v3,
  .doc-footer-premium-v3{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  @page{size:A4 portrait;margin:0!important}
}


/* ===== V1.2.4 PRINT ONE-PAGE FIX ===== */
@media print{
  html,body{width:210mm!important;min-width:210mm!important;margin:0!important;padding:0!important;background:#fff!important}
  .doc-sheet-wrap{width:210mm!important;min-width:210mm!important;padding:0!important;margin:0!important;overflow:visible!important;background:#fff!important}
  .doc-sheet.doc-premium.doc-premium-v123{
    width:210mm!important;
    min-width:210mm!important;
    min-height:297mm!important;
    height:auto!important;
    margin:0!important;
    padding:10mm 11mm 8mm!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }

  /* Never let responsive preview rules collapse the A4 print grid */
  .doc-brand-header-v3{
    grid-template-columns:minmax(0,1fr) 50mm!important;
    gap:6mm!important;
    min-height:31mm!important;
    padding:0 9mm 4mm 0!important;
  }
  .doc-brand-left{grid-template-columns:38mm minmax(0,1fr)!important;gap:6mm!important}
  .doc-logo-premium-v3{max-width:32mm!important;max-height:25mm!important}
  .doc-brand-profile-v3{font-size:8.6pt!important;line-height:1.36!important}
  .doc-brand-name-v3{font-size:12.2pt!important;margin-bottom:1.3mm!important}
  .doc-brand-profile-v3 .doc-brand-row{margin:.65mm 0!important}
  .doc-brand-contact-v3{padding:2.8mm 3.2mm!important;gap:1.6mm!important}
  .doc-brand-contact-v3 .doc-contact-row span:last-child{font-size:8.4pt!important}

  .doc-title-band-v3{
    margin:4mm -11mm 3.5mm!important;
    padding:5.2mm 11mm!important;
    min-height:21mm!important;
  }
  .doc-title-band-v3 .doc-title-main{font-size:20pt!important}
  .doc-title-band-v3 .doc-title-kicker{font-size:6.9pt!important;margin-top:1mm!important}
  .doc-title-side-v3 .doc-number{font-size:11.5pt!important}

  .doc-meta-strip-v3{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:3mm!important;
    margin:0 0 3.4mm!important;
  }
  .doc-meta-strip-v3 .doc-meta-box{min-height:13mm!important;padding:2.8mm 3.2mm!important}
  .doc-meta-strip-v3 .doc-meta-icon{width:6.8mm!important;height:6.8mm!important}
  .doc-meta-strip-v3 .doc-meta-label{font-size:6.6pt!important}
  .doc-meta-strip-v3 .doc-meta-value{font-size:8.8pt!important}

  .doc-hero-info-v3{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:3mm!important;
    margin-bottom:3.4mm!important;
  }
  .doc-info-card-v3{padding:3.6mm 4mm!important}
  .doc-section-heading{font-size:7.4pt!important;margin-bottom:2.2mm!important}
  .doc-section-icon{width:6.5mm!important;height:6.5mm!important}
  .doc-client-name{font-size:10.8pt!important;margin-bottom:1.8mm!important}
  .doc-card-line{font-size:8pt!important;line-height:1.3!important;margin:.65mm 0!important}
  .doc-detail-grid-v3{grid-template-columns:27mm 1fr!important;gap:1.25mm 2.5mm!important;font-size:8pt!important}

  .doc-table-shell-v3{margin-bottom:3.4mm!important}
  .doc-table-premium-v3 th{padding:2.6mm 2.2mm!important;font-size:6.8pt!important}
  .doc-table-premium-v3 td{padding:2.9mm 2.2mm!important;font-size:8pt!important;line-height:1.25!important}
  .doc-table-premium-v3 .doc-item-title{font-size:8.5pt!important}
  .doc-table-premium-v3 .doc-item-description{font-size:7.3pt!important;line-height:1.25!important}

  .doc-summary-grid-v3{
    display:grid!important;
    grid-template-columns:1.08fr .92fr!important;
    gap:3mm!important;
    margin-bottom:3.4mm!important;
  }
  .doc-terms-card-v3{padding:3.6mm 4mm!important}
  .doc-terms-text{font-size:7.7pt!important;line-height:1.35!important}
  .doc-total-card-v3{padding:3.4mm 3.6mm 0!important}
  .doc-total-row{padding:1.35mm .4mm!important;font-size:8.2pt!important}
  .doc-total-card-v3 .doc-grand-total{margin:1.8mm -3.6mm 0!important;padding:3.1mm 3.8mm!important;font-size:10.5pt!important}
  .doc-total-card-v3 .doc-grand-total strong{font-size:14pt!important}

  .doc-payment-card-v3{
    display:grid!important;
    grid-template-columns:1.12fr .88fr!important;
    margin-bottom:3.3mm!important;
  }
  .doc-payment-card-v3 .doc-payment-main{padding:3.6mm 4mm!important}
  .doc-payment-grid{grid-template-columns:25mm 1fr!important;gap:1.1mm 2.7mm!important;font-size:7.9pt!important}
  .doc-payment-card-v3 .doc-payment-note{padding:3.3mm!important;font-size:7.6pt!important;line-height:1.3!important}

  .doc-closing-v3{padding:.8mm .6mm 3mm!important}
  .doc-thank-title{font-size:9.2pt!important}
  .doc-thank-sub{font-size:7.4pt!important;margin-top:.8mm!important}

  .doc-footer-premium-v3{
    margin:0 -11mm -8mm!important;
    min-height:16mm!important;
    padding:3.4mm 11mm 3mm!important;
    grid-template-columns:1.2fr .9fr auto!important;
    gap:3mm!important;
    font-size:6.8pt!important;
  }
  .doc-footer-company strong{font-size:7.5pt!important}

  .doc-corner-shape-v3{top:-14mm!important;right:-14mm!important;width:40mm!important;height:40mm!important}

  /* Keep critical blocks together without pushing the whole bottom onto page 2 */
  .doc-hero-info-v3,.doc-summary-grid-v3,.doc-payment-card-v3,.doc-closing-v3,.doc-footer-premium-v3{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .doc-table-premium-v3 tr{break-inside:avoid!important;page-break-inside:avoid!important}
  @page{size:A4 portrait;margin:0!important}
}
