:root{--navy:#0d2b5b;--teal:#0b5260;--yellow:#f4b400;--bg:#f4f7fb;--line:#d9e1ec;--danger:#c62828;--green:#15803d}
.woa-app{font-family:Arial,Helvetica,sans-serif;background:var(--bg);min-height:75vh;padding:18px;color:#172033}.woa-loading{text-align:center;padding:50px}.woa-shell{max-width:1280px;margin:auto}.woa-login{max-width:430px;margin:70px auto;background:#fff;border-radius:18px;padding:28px;box-shadow:0 15px 45px rgba(13,43,91,.12);text-align:center}.woa-login img{max-width:260px;max-height:100px;object-fit:contain}.woa-pin{font-size:30px;letter-spacing:14px;text-align:center;width:180px;padding:12px;border:2px solid var(--navy);border-radius:12px}.woa-btn{border:0;border-radius:9px;padding:10px 16px;font-weight:700;cursor:pointer;background:var(--navy);color:#fff}.woa-btn.yellow{background:var(--yellow);color:#172033}.woa-btn.light{background:#e8eef7;color:var(--navy)}.woa-btn.red{background:#c62828}.woa-top{display:flex;gap:15px;justify-content:space-between;align-items:center;background:#fff;padding:14px 18px;border-radius:14px;margin-bottom:14px}.woa-brand{display:flex;align-items:center;gap:12px}.woa-brand img{width:180px;max-height:65px;object-fit:contain}.woa-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.woa-tab{padding:10px 14px;border-radius:9px;background:#fff;color:var(--navy);font-weight:700;cursor:pointer;border:1px solid var(--line)}.woa-tab.active{background:var(--navy);color:#fff}.woa-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.woa-card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 6px 18px rgba(13,43,91,.06);margin-bottom:14px}.woa-card h2,.woa-card h3{margin-top:0;color:var(--navy)}.woa-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.woa-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.woa-field{margin-bottom:12px}.woa-field label{display:block;font-weight:700;margin-bottom:6px}.woa-field input,.woa-field select,.woa-field textarea{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #c9d3e0;border-radius:8px;background:#fff}.woa-field textarea{min-height:80px;resize:vertical}.woa-items{display:flex;flex-direction:column;gap:12px}.woa-item{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfdff}.woa-item-head{display:flex;justify-content:space-between;align-items:center}.woa-facilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.woa-check{display:flex;gap:8px;align-items:flex-start;padding:5px}.woa-summary{background:#fff8dc;border:1px solid #f1cf66;border-radius:10px;padding:13px}.woa-summary-line{display:flex;justify-content:space-between;padding:6px 0}.woa-summary-line.total{font-size:20px;font-weight:800;border-top:2px solid var(--navy);margin-top:5px}.woa-table{width:100%;border-collapse:collapse;font-size:14px}.woa-table th,.woa-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.woa-actions{display:flex;gap:6px;flex-wrap:wrap}.woa-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e8eef7;color:var(--navy);font-size:12px;font-weight:700}.woa-badge.lunas,.woa-badge.approved{background:#dcfce7;color:#166534}.woa-badge.sent{background:#dbeafe;color:#1d4ed8}.woa-badge.draft{background:#f3f4f6;color:#4b5563}.woa-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}.woa-modal-box{background:#fff;max-width:1200px;width:100%;max-height:92vh;overflow:auto;border-radius:14px}.woa-modal-bar{position:sticky;top:0;background:#fff;padding:10px;display:flex;justify-content:flex-end;gap:8px;border-bottom:1px solid var(--line);z-index:2}.woa-preview{background:#bbb;padding:20px}.woa-doc{width:210mm;min-height:297mm;background:#fff;margin:auto;padding:12mm;box-sizing:border-box;position:relative;color:#111;font-size:11px}.woa-doc-header{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-bottom:6px solid var(--navy);padding-bottom:10px;position:relative}.woa-doc-header:after{content:"";position:absolute;bottom:-6px;left:43%;width:14%;height:6px;background:var(--yellow)}.woa-doc-logo img{max-width:300px;max-height:95px;object-fit:contain}.woa-doc-company{font-weight:700;margin-top:4px}.woa-contact{line-height:1.55}.woa-doc-title{font-size:30px;font-weight:900;color:var(--navy);margin:20px 0 12px}.woa-doc-box{border:1.5px solid var(--navy);border-radius:8px;padding:10px;margin:10px 0}.woa-doc-box-title{display:inline-block;background:var(--navy);color:#fff;padding:6px 12px;border-radius:7px 7px 0 0;font-weight:800;margin:-11px 0 8px -11px}.woa-doc-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.woa-doc-table{width:100%;border-collapse:collapse}.woa-doc-table th{background:var(--navy);color:#fff}.woa-doc-table th,.woa-doc-table td{border:1px solid #8da0b8;padding:7px;vertical-align:top}.woa-doc-total{font-size:20px;font-weight:900;background:#fff4c7}.woa-bank-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.woa-qris img{max-width:230px;display:block;margin:auto}.woa-sign{display:flex;justify-content:flex-end;margin-top:15px}.woa-sign-inner{width:270px;text-align:center}.woa-sign-inner img{max-height:85px;max-width:210px}.woa-stamp{display:inline-block;border:4px double #d71920;color:#d71920;font-weight:900;font-size:28px;padding:8px 18px;transform:rotate(-5deg);margin-left:-35px}.woa-footer{position:absolute;left:12mm;right:12mm;bottom:8mm;border-top:2px solid var(--navy);padding-top:5px;display:flex;justify-content:space-between;font-size:8px}.woa-hidden{display:none!important}.woa-note{font-size:12px;color:#53657d}.woa-alert{padding:10px;border-radius:8px;background:#fee2e2;color:#991b1b;margin-bottom:10px}
@media(max-width:850px){.woa-grid,.woa-row,.woa-row.three,.woa-doc-two,.woa-bank-grid{grid-template-columns:1fr}.woa-doc{width:100%;min-height:auto}.woa-facilities{grid-template-columns:1fr}.woa-top{align-items:flex-start;flex-direction:column}.woa-table{font-size:12px}.woa-preview{padding:4px}}
@media print{body *{visibility:hidden!important}.woa-doc,.woa-doc *{visibility:visible!important}.woa-doc{position:absolute;left:0;top:0;width:210mm;min-height:297mm;margin:0;padding:12mm}.woa-modal-bar{display:none!important}.woa-preview{padding:0;background:#fff}.woa-modal{position:static;background:#fff;padding:0}.woa-modal-box{max-height:none;overflow:visible}.woa-footer{position:absolute}}
/* v1.1.0: preview uses fixed A4 pages and a dedicated print window */
.woa-preview{background:#c8cdd4;padding:20px;overflow:auto}
.woa-preview .woa-page{width:210mm;height:297mm;background:#fff;margin:0 auto 18px;padding:11mm 13mm 15mm;box-sizing:border-box;position:relative;overflow:hidden;box-shadow:0 3px 18px rgba(0,0,0,.2);font-family:Arial,Helvetica,sans-serif;color:#101827;font-size:11px}
.woa-preview .woa-page:last-child{margin-bottom:0}
.woa-preview .woa-doc-header{height:45mm;display:grid;grid-template-columns:1.05fr .95fr;gap:12mm;align-items:center;border-bottom:6px solid #0d1b3d;padding-bottom:10px;position:relative}
.woa-preview .woa-doc-header:after{content:"";position:absolute;left:43%;bottom:-6px;width:14%;height:6px;background:#f4b400}
.woa-preview .woa-doc-logo img{width:78mm;height:25mm;object-fit:contain;object-position:left center}
.woa-preview .woa-doc-company{font-size:14px;font-weight:800;margin-top:4px}.woa-preview .woa-doc-ahu{font-size:11px}
.woa-preview .woa-contact{border-left:1px solid #0d1b3d;padding-left:20px;font-size:11px;line-height:1.55}.woa-preview .woa-contact-row{display:grid;grid-template-columns:110px 1fr;gap:6px}
.woa-preview .woa-doc-title{font-size:31px;line-height:1;font-weight:900;color:#0d1b3d;margin:24px 0 12px}.woa-preview .woa-subtitle{font-size:13px;color:#0d1b3d;margin-top:-6px;margin-bottom:12px;font-weight:700}
.woa-preview .woa-doc-two{display:grid;grid-template-columns:1fr 1.25fr;gap:14px}.woa-preview .woa-doc-box{border:1px solid #0d1b3d;border-radius:8px;padding:12px;margin:10px 0;font-size:11px;line-height:1.45}
.woa-preview .woa-doc-box-title{display:inline-block;background:#0d1b3d;color:#fff;padding:6px 12px;border-radius:7px 7px 0 0;font-weight:800;margin:-13px 0 8px -13px}.woa-preview .doc-line{display:grid;grid-template-columns:128px 1fr;gap:8px;margin:4px 0}.woa-preview .doc-line span{font-weight:700;color:#20324f}.woa-preview .doc-line b{font-weight:500}.woa-preview .doc-line b.strong{font-weight:800}
.woa-preview .woa-doc-table{width:100%;border-collapse:collapse;font-size:10px}.woa-preview .woa-doc-table th{background:#0d1b3d;color:#fff}.woa-preview .woa-doc-table th,.woa-preview .woa-doc-table td{border:1px solid #8fa0b6;padding:6px;vertical-align:top}.woa-preview .woa-doc-total{font-size:15px;font-weight:900;background:#fff5cf}.woa-preview .money{text-align:right;white-space:nowrap}
.woa-preview .woa-facility-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.woa-preview .woa-bank-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:14px}.woa-preview .woa-qris img{width:180px;height:180px;object-fit:contain;display:block;margin:auto}.woa-preview .bank-row{display:grid;grid-template-columns:95px 1fr;align-items:center;border-bottom:1px dashed #8292a8;padding:7px 0}.woa-preview .bank-name{font-size:16px;font-weight:900;color:#0d1b3d}.woa-preview .bank-no{font-size:16px;font-weight:900}
.woa-preview .woa-terms{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.woa-preview .woa-signature-block{display:grid;grid-template-columns:1fr 235px;gap:24px;margin-top:12px}.woa-preview .woa-closing{font-size:11px;line-height:1.5}.woa-preview .woa-sign{text-align:center;font-size:11px}.woa-preview .woa-sign img{height:105px;max-width:195px;object-fit:contain;margin:-8px 0 -10px}.woa-preview .signature-wrap{position:relative}.woa-preview .woa-stamp{position:absolute;border:4px double #d71920;color:#d71920;font-weight:900;font-size:27px;padding:8px 20px;transform:rotate(-6deg);right:30px;top:75px;background:rgba(255,255,255,.65)}
.woa-preview .woa-footer{position:absolute;left:13mm;right:13mm;bottom:6mm;border-top:1.5px solid #0d1b3d;padding-top:6px;display:flex;justify-content:space-between;align-items:flex-end;font-size:9px;color:#0d1b3d}.woa-preview .receipt-amount{font-size:36px;font-weight:900;color:#0d1b3d;text-align:center;padding:16px;background:#fff5cf;border:1px solid #0d1b3d;border-radius:8px}.woa-preview .terbilang{font-size:12px;font-style:italic;font-weight:700;color:#0d1b3d;margin-top:8px}
@media(max-width:850px){.woa-preview{padding:8px 4px 24px}.woa-preview .woa-page{zoom:1;margin:0}.woa-preview .woa-doc-two,.woa-preview .woa-bank-grid{grid-template-columns:1fr 1.25fr}}


/* v1.1.2 — footer aman dan layout dokumen lebih padat */
.woa-preview .woa-page{padding-bottom:20mm}
.woa-preview .woa-footer{height:10mm;bottom:4mm;padding-top:1.8mm;background:#fff;z-index:30;line-height:1.25}
.woa-preview .woa-footer>div:last-child{white-space:nowrap;text-align:right}
.woa-preview .invoice-page .woa-doc-header,.woa-preview .receipt-page .woa-doc-header{height:38mm}
.woa-preview .invoice-page .woa-doc-title{font-size:28px;margin:18px 0 10px}
.woa-preview .invoice-page .woa-doc-box{margin:8px 0;padding:11px;font-size:10.5px;line-height:1.35}
.woa-preview .invoice-page .woa-doc-box-title{margin:-12px 0 7px -12px;padding:5px 11px}
.woa-preview .invoice-page .doc-line{margin:3px 0;grid-template-columns:117px 1fr}
.woa-preview .invoice-page .woa-doc-table th,.woa-preview .invoice-page .woa-doc-table td{padding:5px}
.woa-preview .invoice-page .woa-bank-grid{gap:13px}
.woa-preview .invoice-page .woa-qris img{width:132px;height:132px}
.woa-preview .invoice-page .bank-row{padding:5px 0}
.woa-preview .invoice-page .bank-name,.woa-preview .invoice-page .bank-no{font-size:14px}
.woa-preview .invoice-page .woa-terms{font-size:9.6px;gap:3px 18px}
.woa-preview .invoice-page .woa-signature-block{margin-top:7px;grid-template-columns:1fr 205px;gap:18px}
.woa-preview .invoice-page .woa-sign{font-size:10px}
.woa-preview .invoice-page .woa-sign img{height:76px;max-width:170px;margin:-4px 0 -7px}
.woa-preview .invoice-page .woa-closing{font-size:10px}
.woa-preview .receipt-page{padding-bottom:20mm}
.woa-preview .receipt-page .woa-doc-title{font-size:29px;margin:18px 0 10px}
.woa-preview .receipt-page .woa-doc-box{margin:8px 0;padding:11px}
.woa-preview .receipt-page .receipt-amount{font-size:31px;padding:13px}
.woa-preview .receipt-page .woa-signature-block{margin-top:7px}
.woa-preview .receipt-page .woa-sign img{height:87px}
.woa-btn:disabled{opacity:.65;cursor:wait}

/* v1.1.3: header teks dan QRIS ringan */
.woa-doc-header{height:36mm;grid-template-columns:1.08fr .92fr;gap:9mm;padding-bottom:3mm}
.woa-doc-brandtext{align-self:center;padding-left:1.8mm;border-left:1.5mm solid #f4b400}
.woa-doc-brandname{font-size:18pt;line-height:1.05;font-weight:900;letter-spacing:.15mm;color:#0d1b3d}
.woa-doc-tagline{font-size:7.6pt;font-weight:700;color:#0d1b3d;margin-top:1.5mm}
.woa-doc-ahu{font-size:7.4pt;margin-top:1.1mm}
.woa-contact{font-size:7.7pt;line-height:1.42;padding-left:5mm}
.woa-contact-row{grid-template-columns:27mm 1fr}
.invoice-page .woa-doc-header,.receipt-page .woa-doc-header,.quote-p2 .woa-doc-header{height:34mm}
.woa-qris img{width:31mm!important;height:31mm!important;image-rendering:auto}
.qris-label{text-align:center;font-size:6.4pt;line-height:1.25;margin-top:1mm;color:#0d1b3d}
.qris-label span{font-size:6pt}
.invoice-page .woa-bank-grid{align-items:stretch}
.invoice-page .woa-qris{display:flex;flex-direction:column;justify-content:center;align-items:center}
.woa-footer{font-size:6.2pt}
.woa-footer strong{font-size:6.7pt}
/* v1.2.0: ruang footer dan tanda tangan terkunci */
.woa-preview .invoice-page,.woa-preview .receipt-page{padding-bottom:24mm}
.woa-preview .invoice-page .woa-signature-block{margin-top:10px;align-items:start;grid-template-columns:1fr 220px}
.woa-preview .invoice-page .woa-sign{padding-bottom:8px;line-height:1.28}
.woa-preview .invoice-page .woa-sign img{height:66px;max-width:155px;margin:-2px 0 -4px}
.woa-preview .invoice-page .woa-sign-name{margin-top:2px;white-space:nowrap;font-size:9px}
.woa-preview .invoice-page .woa-footer{bottom:4mm;height:10mm;background:#fff;z-index:50}
.woa-preview .invoice-page .woa-closing{padding-top:5px}
.woa-preview .receipt-page .woa-footer{bottom:4mm;height:10mm;background:#fff;z-index:50}
.woa-preview .woa-doc-brandname{font-size:24px;line-height:1.02;letter-spacing:.2px}
.woa-preview .woa-doc-tagline{font-size:10px;margin-top:5px}
.woa-preview .woa-doc-ahu{font-size:9px;margin-top:5px}
.woa-pdf-stage .woa-page{margin:0!important;box-shadow:none!important}


/* v1.2.2: classic one-page receipt */
.receipt-classic{padding-bottom:22mm}.receipt-classic .woa-doc-header{height:34mm}.receipt-title-row{display:flex;justify-content:space-between;align-items:flex-end;margin:5mm 0 2.5mm}.receipt-title-row .woa-doc-title{margin:0;font-size:25pt}.receipt-subtitle{font-size:7.5pt;color:#52627a;margin-top:1mm}.receipt-number{border-collapse:collapse;font-size:8.3pt;min-width:75mm}.receipt-number th{text-align:left;color:#20324f;width:22mm}.receipt-number td{padding:.8mm 0}.receipt-number td:last-child{padding-left:2mm}.receipt-rule{border-top:.35mm solid #0d1b3d;margin:2mm 0 5mm}.receipt-details{width:100%;border-collapse:collapse;font-size:10pt;table-layout:fixed;margin-bottom:5mm}.receipt-details th{width:42mm;text-align:left;color:#20324f;padding:1.7mm 2mm;font-weight:700;vertical-align:top}.receipt-details .receipt-colon{width:5mm;text-align:center;padding:1.7mm 0;vertical-align:top}.receipt-details td:last-child{padding:1.7mm 2mm;vertical-align:top;line-height:1.35;word-break:normal;overflow-wrap:break-word}.receipt-payments{width:100%;border-collapse:collapse;font-size:8.4pt;margin:2mm 0 4mm;table-layout:fixed}.receipt-payments td{border-bottom:.2mm solid #c5ceda;padding:2mm 3mm}.receipt-payments td:nth-child(1){width:28%}.receipt-payments td:nth-child(2){width:20%}.receipt-payments td:nth-child(3){width:27%}.receipt-payments td:last-child{text-align:right;white-space:nowrap}.receipt-payments-total{background:#fff5cf;font-weight:900;font-size:10pt}.receipt-total-box{border:.45mm solid #0d1b3d;background:#fff5cf;border-radius:1.5mm;padding:4mm 5mm;display:flex;align-items:center;justify-content:space-between;color:#0d1b3d;margin:3mm 0 2.5mm}.receipt-total-box span{font-size:10pt;font-weight:800}.receipt-total-box strong{font-size:25pt;white-space:nowrap}.receipt-legal-note{text-align:center;font-size:8.3pt;margin:2mm 0 3mm}.receipt-bottom{display:grid;grid-template-columns:1fr 65mm;gap:10mm;align-items:start;margin-top:2mm;min-height:48mm}.receipt-bottom-note{font-size:7.8pt;color:#52627a;padding-top:3mm}.receipt-approval-classic{text-align:center;font-size:8pt;position:relative;min-height:47mm}.receipt-approval-classic>b{display:block;margin-top:1mm}.receipt-sign-area{height:27mm;position:relative;margin-top:-1mm}.receipt-sign-area img{height:25mm;max-width:47mm;object-fit:contain}.receipt-stamp{position:absolute;right:-2mm;top:8mm;border:1mm double #d71920;color:#d71920;background:rgba(255,255,255,.83);font-size:15pt;font-weight:900;padding:1.6mm 4.5mm;transform:rotate(-5deg)}.receipt-director{font-weight:800;text-decoration:underline;font-size:7.8pt;white-space:nowrap}.receipt-classic .woa-footer{bottom:4mm}



/* v1.2.4: header dan footer mengikuti referensi H&F.html */
.woa-preview .woa-page{padding-top:12mm;padding-left:12mm;padding-right:12mm}
.woa-preview .woa-doc-header,.woa-preview .invoice-page .woa-doc-header,.woa-preview .receipt-page .woa-doc-header,.woa-preview .quote-p2 .woa-doc-header{height:auto;min-height:31mm;display:grid;grid-template-columns:.9fr 1.1fr;gap:5.3mm;align-items:center;border-bottom:.8mm solid #0d1b3d;padding-bottom:3.2mm;position:relative}
.woa-preview .woa-doc-header:after{content:"";position:absolute;left:42%;bottom:-.8mm;width:15%;height:.8mm;background:#f4b400}
.woa-preview .woa-doc-brandtext{align-self:center;padding-left:3.2mm;border-left:1.3mm solid #f4b400}
.woa-preview .woa-doc-brandname{font-size:22px;line-height:1.1;font-weight:900;letter-spacing:0;color:#0d1b3d}
.woa-preview .woa-doc-tagline{font-size:11px;font-weight:700;color:#0d1b3d;margin-top:5px}
.woa-preview .woa-doc-ahu{font-size:10px;color:#666;margin-top:4px}
.woa-preview .woa-contact{font-size:11px;line-height:1.5;padding-left:15px;border-left:1px solid #ddd}
.woa-preview .woa-contact-row{display:grid;grid-template-columns:100px 1fr;gap:5px}
.woa-preview .woa-footer,.woa-preview .invoice-page .woa-footer,.woa-preview .receipt-page .woa-footer,.woa-preview .receipt-classic .woa-footer{position:absolute;left:12mm;right:12mm;bottom:12mm;height:auto;border-top:2px solid #0d1b3d;padding-top:10px;display:flex;justify-content:space-between;align-items:flex-end;font-size:11px;line-height:1.2;color:#0d1b3d;font-weight:bold;background:#fff;z-index:50}
.woa-preview .woa-footer>div:last-child{white-space:nowrap;text-align:right}


/* v1.2.5: preview mobile responsif tanpa mengubah layout A4/PDF */
.woa-modal-open{overflow:hidden!important}
.woa-preview{display:flex;flex-direction:column;align-items:stretch;gap:18px;scrollbar-gutter:stable both-edges}
.woa-page-frame{position:relative;width:100%;flex:0 0 auto;overflow:visible}
.woa-page-frame>.woa-page{position:absolute!important;top:0;left:50%;margin:0!important;transform-origin:top center!important;transform:translateX(-50%) scale(var(--woa-preview-scale,1))!important;will-change:transform}
.woa-preview-fit-note{display:none}
@media(max-width:850px){
  .woa-app{padding:10px}
  .woa-modal{padding:0;align-items:stretch;justify-content:stretch}
  .woa-modal-box{max-width:none;width:100%;height:100vh;height:100dvh;max-height:none;border-radius:0;display:flex;flex-direction:column;overflow:hidden}
  .woa-modal-bar{position:relative;top:auto;flex:0 0 auto;justify-content:stretch;padding:calc(8px + env(safe-area-inset-top)) 8px 8px;box-shadow:0 2px 9px rgba(13,43,91,.13)}
  .woa-modal-bar .woa-btn{flex:1;min-height:44px;padding:10px 9px;font-size:13px}
  .woa-preview{flex:1;min-height:0;overflow:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:10px 4px calc(24px + env(safe-area-inset-bottom));gap:10px}
  .woa-page-frame>.woa-page{box-shadow:0 2px 10px rgba(0,0,0,.22)}
  .woa-preview-fit-note{display:block;position:sticky;top:0;z-index:1;align-self:center;background:rgba(13,43,91,.88);color:#fff;border-radius:999px;padding:5px 10px;font-size:11px;line-height:1.2;pointer-events:none;margin-bottom:-4px}
  .woa-card{padding:14px;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .woa-table{display:block;min-width:620px;overflow-x:auto}
  .woa-brand img{max-width:160px}
  .woa-actions .woa-btn{min-height:40px}
}
@media(max-width:380px){
  .woa-modal-bar{gap:6px}
  .woa-modal-bar .woa-btn{font-size:12px;padding:9px 6px}
  .woa-preview{padding-left:2px;padding-right:2px}
  .woa-tab{padding:9px 10px;font-size:12px}
}
.woa-field input[data-money]{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.woa-badge.penawaran{background:#fff3cd;color:#7a5200}

.woa-field input[data-auto-total]{background:#eef3f8;color:#0d1b3d;border-style:dashed;cursor:not-allowed}.woa-auto-hint{display:block;margin-top:4px;color:#64748b;font-size:11px}

/* Traventureland brand adjustments */
.tvl-bank-single{grid-template-columns:1fr!important}
.tvl-sign-space{height:24mm}
.woa-preview .tvl-sign-space{height:82px}
.woa-login img,.woa-brand img{object-fit:contain}
@media(max-width:850px){.tvl-bank-single{grid-template-columns:1fr!important}}


/* v1.0.4: signature block lebih rapi pada preview */
.woa-preview .woa-signature-block{grid-template-columns:minmax(0,1fr) 272px;gap:26px;margin-top:18px;align-items:start}
.woa-preview .woa-sign{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;font-size:11px;line-height:1.25;min-width:0}
.woa-preview .woa-sign .woa-sign-company{display:block;white-space:nowrap;font-size:10.5px;line-height:1.2;margin:0 0 4px}
.woa-preview .woa-sign img{display:block;width:auto;height:83px;max-width:208px;object-fit:contain;margin:0 auto 3px}
.woa-preview .woa-sign-name{font-weight:800;text-decoration:underline;white-space:nowrap;margin-top:2px;font-size:11px;line-height:1.2}
.woa-preview .woa-sign-role{font-size:10px;white-space:nowrap;margin-top:1px;line-height:1.2}
.woa-preview .invoice-page .woa-signature-block{grid-template-columns:minmax(0,1fr) 246px;gap:23px;margin-top:9px}
.woa-preview .invoice-page .woa-sign .woa-sign-company{font-size:9.5px;margin-bottom:2px}
.woa-preview .invoice-page .woa-sign img{display:block;height:64px;max-width:174px;margin:0 auto 2px}
.woa-preview .invoice-page .woa-sign-name{font-size:10px}
.woa-preview .invoice-page .woa-sign-role{font-size:9px}
.woa-preview .receipt-sign-area{height:106px;display:flex;align-items:center;justify-content:center;position:relative;margin-top:0}
.woa-preview .receipt-sign-area img{display:block;height:87px;max-width:178px;object-fit:contain;margin:0 auto}
.woa-preview .receipt-role{font-size:9.5px;white-space:nowrap;margin-top:1px}

/* v2.3.0 — Rundown Klien */
.woa-rundown-day{margin-bottom:16px}
.woa-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.woa-rundown-row{border:1px solid #d9e0ea;border-radius:14px;padding:14px;margin:12px 0;background:#fbfcfe}
.woa-rundown-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.woa-rundown-fields label:nth-child(4),.woa-rundown-fields label:nth-child(5){grid-column:1/-1}
.woa-rundown-row .woa-actions{margin-top:10px}
.rundown-page .woa-doc-title{margin-bottom:4mm}
.rundown-table{font-size:8.4pt;table-layout:fixed;margin-top:4mm}
.rundown-table th:nth-child(1),.rundown-table th:nth-child(2){width:18mm}
.rundown-table th:nth-child(3){width:23mm}
.rundown-table th:nth-child(4){width:42mm}
.rundown-table td{vertical-align:top;word-break:break-word}
.rundown-note{margin-top:4mm;font-size:8.5pt}
.rundown-note p{margin:0}
@media(max-width:720px){.woa-rundown-fields{grid-template-columns:1fr}.woa-rundown-fields label:nth-child(4),.woa-rundown-fields label:nth-child(5){grid-column:auto}}
@media print{.rundown-page{page-break-after:always}.rundown-page:last-child{page-break-after:auto}}
