/* CatatUsaha — identitas: buku besar (ledger) hijau tinta + pensil kuning */
:root{--ink:#17241f;--muted:#56645d;--green:#0e5a43;--green2:#137a5b;--greenbg:#e5f1ec;--amber:#f2a93b;--amberbg:#fff3dc;--paper:#f7f4ec;--card:#fff;--line:#e3ddcf;--red:#b93a2b;--redbg:#fbe9e6;--pos:#13795b;--r:14px;--sh:0 1px 2px rgba(23,36,31,.06),0 6px 20px rgba(23,36,31,.06);--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:16px/1.6 var(--font);color:var(--ink);background:var(--paper);font-variant-numeric:tabular-nums}
img,svg{max-width:100%}
a{color:var(--green2);text-underline-offset:2px}
a:hover{color:var(--green)}
h1,h2,h3{line-height:1.25;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(1.6rem,4.2vw,2.35rem);font-weight:800}
h2{font-size:1.35rem;font-weight:750}
h3{font-size:1.08rem}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding:0 18px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:99;background:#fff;padding:8px}

/* header */
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:saturate(1.2)}
.site-header::after{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--green) 0 70%,var(--amber) 70%)}
.hdr{display:flex;align-items:center;gap:12px;min-height:60px}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-weight:800;font-size:1.25rem;letter-spacing:-.02em}
.logo b{color:var(--green)}
.logo svg{width:34px;height:34px;flex:none}
.nav-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font:inherit;font-weight:600;color:var(--ink);cursor:pointer}
#site-nav{display:none;position:absolute;left:0;right:0;top:63px;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 18px 16px;box-shadow:var(--sh)}
#site-nav.open{display:block}
#site-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 16px}
#site-nav a{display:block;padding:9px 4px;text-decoration:none;color:var(--ink);font-weight:550;border-bottom:1px dashed var(--line)}
#site-nav a[aria-current]{color:var(--green);font-weight:750}
#site-nav .nav-h{grid-column:1/-1;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding-top:8px;font-weight:700}
@media(min-width:1000px){.nav-toggle{display:none}#site-nav{display:block;position:static;padding:0;background:none;border:0;box-shadow:none;margin-left:auto}#site-nav ul{display:flex;gap:2px}#site-nav .nav-h,#site-nav .nav-x{display:none}#site-nav a{border:0;white-space:nowrap;padding:8px 10px;border-radius:8px;font-size:.94rem}#site-nav a:hover{background:var(--greenbg)}}

/* breadcrumb + page head */
.crumb{font-size:.85rem;color:var(--muted);margin:16px 0 8px}
.crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.crumb li+li::before{content:"›";margin-right:6px;color:#a39d8e}
.crumb a{color:var(--muted)}
.page-head{margin:6px 0 18px}
.lead{font-size:1.06rem;color:var(--muted);max-width:760px}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none}
.badges li{font-size:.8rem;font-weight:650;background:var(--greenbg);color:var(--green);padding:4px 10px;border-radius:99px}

/* cards & forms */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:0 0 16px;box-shadow:var(--sh);min-width:0}
fieldset.card{padding-top:8px}
legend{font-weight:750;padding:0 6px;margin-left:-6px;font-size:1rem}
.card-t{font-size:1.1rem;margin-bottom:12px}
.card-h{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:8px}
.card-h .card-t{margin:0}
.grid2{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:560px){.grid2{grid-template-columns:1fr 1fr}.span2{grid-column:1/-1}}
.field{display:flex;flex-direction:column;gap:4px;min-width:0}
.field>span{font-size:.86rem;font-weight:650;color:#34423b}
.field small{color:var(--muted);font-size:.78rem;line-height:1.35}
input,select,textarea{font:inherit;color:var(--ink);background:#fff;border:1.5px solid #d6cfbf;border-radius:10px;padding:10px 12px;min-height:46px;width:100%;min-width:0}
textarea{min-height:64px;resize:vertical;line-height:1.45}
input:focus,select:focus,textarea:focus{border-color:var(--green2);outline:none;box-shadow:0 0 0 3px rgba(19,122,91,.18)}
input[type=color]{padding:4px;height:46px}
input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0;accent-color:var(--green);margin:0;flex:none}
input.xl{font-size:1.5rem;font-weight:750;min-height:56px}
.suf{display:flex;align-items:stretch}.suf input{border-top-right-radius:0;border-bottom-right-radius:0}.suf b{display:flex;align-items:center;padding:0 12px;background:#f1ede2;border:1.5px solid #d6cfbf;border-left:0;border-radius:0 10px 10px 0;font-weight:650;color:var(--muted)}
.check{display:flex;align-items:center;gap:10px;font-weight:550;min-height:40px;cursor:pointer}
.hint{font-size:.85rem;color:var(--muted);margin:.5em 0}
.warn{background:var(--amberbg);border-left:4px solid var(--amber);padding:10px 12px;border-radius:8px;font-size:.92rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:700;font-size:.95rem;min-height:46px;padding:10px 16px;border-radius:11px;border:1.5px solid var(--green);background:#fff;color:var(--green);cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--greenbg)}
.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:#0a4a37;color:#fff}
.btn-accent{background:var(--amber);border-color:var(--amber);color:#2a1d05}.btn-accent:hover{background:#e49a28}
.btn-ghost{border-color:var(--line);color:var(--ink)}
.btn-danger{border-color:#e7c3bd;color:var(--red)}.btn-danger:hover{background:var(--redbg)}
.btn-sm{min-height:38px;padding:6px 12px;font-size:.87rem}
.btn-block{width:100%;margin-top:14px}
.btn[disabled]{opacity:.6;cursor:wait}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.row.end{justify-content:flex-end}
.card-h .row{margin:0}
.btns{display:flex;flex-wrap:wrap;gap:8px}
.seg{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}
.seg label{flex:1 1 auto;display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;font-weight:600;font-size:.93rem;min-height:46px}
.seg label:has(input:checked){border-color:var(--green);background:var(--greenbg)}
.seg.big label.in:has(input:checked){border-color:var(--pos);background:#e3f4ec;color:var(--pos)}
.seg.big label.out:has(input:checked){border-color:var(--red);background:var(--redbg);color:var(--red)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}
.chip{font:inherit;font-weight:700;border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:6px 14px;cursor:pointer;min-height:38px}
.chip:hover{border-color:var(--green);color:var(--green)}
details.more{margin-top:10px}details.more summary{cursor:pointer;font-weight:650;color:var(--green2);padding:6px 0}

/* layout tools */
.tool-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.tool-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}.sticky{position:sticky;top:84px}}
.result{background:linear-gradient(180deg,#fff, #fffdf7);border:1.5px solid var(--green);border-radius:var(--r);padding:18px;box-shadow:var(--sh)}
.r-title{font-size:1.1rem}
.stats{display:grid;gap:8px;margin-top:10px}
.stat{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)}
.stat span{color:var(--muted);font-size:.92rem}
.stat strong{font-size:1.02rem;text-align:right}
.stat.line{border-bottom:2px solid var(--ink)}
.stat.big strong{font-size:1.35rem}
.stat.acc strong{color:var(--green)}
.stat.pos strong{color:var(--pos)}.stat.neg strong{color:var(--red)}
.stats-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px}
@media(min-width:760px){.stats-row{grid-template-columns:repeat(4,1fr)}}
.stats-row .stat{flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--sh)}
.stats-row .stat strong{font-size:1.15rem;text-align:left}
table.mini{width:100%;border-collapse:collapse;margin-top:14px;font-size:.92rem}
table.mini th,table.mini td{padding:6px 4px;border-bottom:1px solid var(--line);text-align:left}
.r{text-align:right!important}.c{text-align:center!important}.muted{color:var(--muted)}
.tb-out{display:block;font-size:1.25rem;font-weight:650;line-height:1.5;background:var(--amberbg);border:1.5px dashed var(--amber);border-radius:12px;padding:16px;margin:14px 0 0;min-height:64px}

/* row editor */
.irow{display:grid;grid-template-columns:28px 1fr 1fr 40px;gap:8px;align-items:end;padding:10px 0;border-bottom:1px dashed var(--line)}
.irow .ino{grid-row:1/span 3;align-self:start;margin-top:26px;font-weight:800;color:var(--muted);font-size:.85rem}
.irow .wide{grid-column:2/4}
.irow .irm{grid-column:4;grid-row:1;align-self:end;width:40px;height:46px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:1.3rem;color:var(--red);cursor:pointer}
.icell{display:flex;flex-direction:column;gap:2px;min-width:0}
.icell>span{font-size:.74rem;color:var(--muted);font-weight:650}
.icell output{min-height:46px;display:flex;align-items:center;font-weight:700;color:var(--green)}
@media(min-width:700px){.irow{grid-template-columns:28px 2.2fr repeat(4,1fr) 40px}.irow .wide{grid-column:auto}.irow .ino{grid-row:auto;align-self:center;margin:18px 0 0}.irow .irm{grid-column:auto;grid-row:auto}}
.list .add{margin-top:12px}

/* doc app */
.docapp{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
fieldset{min-width:0}
@media(min-width:1050px){.docapp{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start}.doc-preview{position:sticky;top:76px}}
.doc-form details.profile summary{cursor:pointer;display:flex;flex-direction:column;font-weight:750;list-style:none}
.doc-form details.profile summary::before{content:"▸ ";color:var(--green)}
.doc-form details.profile[open] summary::before{content:"▾ "}
.doc-form details.profile summary em{font-style:normal;font-weight:500;font-size:.87rem;color:var(--muted)}
.doc-form details.profile[open] summary{margin-bottom:12px}
.doc-preview .toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.doc-preview .toolbar .btn{flex:1 1 auto}
.paper-scale{position:relative;overflow:hidden;background:#d9d3c4;border-radius:12px;padding:0}
.paper{background:#fff;color:#1d1d1d;transform-origin:top left;box-shadow:0 4px 18px rgba(0,0,0,.18);font:12.5px/1.5 Arial,"Helvetica Neue",Helvetica,sans-serif;position:relative}
.imgs{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
@media(min-width:560px){.imgs{grid-template-columns:1fr 1fr 1fr}}
.imgbox{display:flex;gap:10px;align-items:center;border:1px dashed #cfc7b4;border-radius:12px;padding:8px}
@media(min-width:560px){.imgbox{flex-direction:column;align-items:stretch}}
.imgprev{width:84px;height:64px;flex:none;display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(#f1ede3 0 25%,#fff 0 50%) 0 0/14px 14px;border-radius:8px;font-size:.75rem;color:var(--muted)}
@media(min-width:560px){.imgprev{width:100%}}
.imgprev img{max-width:100%;max-height:100%}
.imgact{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.imgact strong{width:100%;font-size:.85rem}
dialog{border:0;border-radius:16px;padding:18px;max-width:min(560px,94vw);width:100%;box-shadow:0 20px 60px rgba(0,0,0,.3)}
dialog.wide{max-width:min(860px,96vw)}
dialog::backdrop{background:rgba(23,36,31,.55)}
dialog h2{font-size:1.2rem}
dialog.pad canvas{width:100%;aspect-ratio:5/2;border:1.5px dashed #b9b09b;border-radius:10px;touch-action:none;background:#fff}

/* tables */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.tbl{width:100%;border-collapse:collapse;font-size:.93rem}
.tbl th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:left;padding:8px;border-bottom:2px solid var(--line);white-space:nowrap}
.tbl td{padding:9px 8px;border-bottom:1px solid #eee8db;vertical-align:middle}
.tbl td small{display:block;color:var(--muted);font-size:.8rem}
.tbl tr.low td{background:#fff7e8}
.tbl td.act{white-space:nowrap;text-align:right}
.tbl .pos{color:var(--pos)}.tbl .neg{color:var(--red)}
.badge{display:inline-block;background:var(--amber);color:#2a1d05;font-size:.7rem;font-weight:800;border-radius:99px;padding:1px 8px;margin-left:4px}
.tag{font-size:.78rem;font-weight:700;border-radius:6px;padding:2px 8px}.tag-in{background:#e3f4ec;color:var(--pos)}.tag-out{background:var(--redbg);color:var(--red)}.tag-adj{background:#eef0f7;color:#3c4a8a}
.empty-state{padding:24px 8px!important;text-align:center;color:var(--muted)}
@media(max-width:600px){.hide-s{display:none}}
#stokApp input[type=search],#kasApp input[type=search]{min-height:40px;width:auto;flex:1}
.kas-top{display:grid;gap:12px;margin-bottom:6px}
@media(min-width:760px){.kas-top{grid-template-columns:200px 1fr;align-items:end}.kas-top .stats-row{margin:0}}
table.lr{width:100%;border-collapse:collapse;font-size:.94rem}
.lr td,.lr th{padding:6px 4px;text-align:left}
.lr tr.h th{padding-top:12px;color:var(--green);font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}
.lr tr.t th,.lr tr.t td{border-top:1px solid var(--ink);font-weight:750}
.lr tr.g th,.lr tr.g td{border-top:3px double var(--ink);font-size:1.1rem;font-weight:800;padding-top:10px}
.lr tr.g.pos td{color:var(--pos)}.lr tr.g.neg td{color:var(--red)}
.bars{display:flex;align-items:flex-end;gap:4px;height:180px;flex-wrap:wrap}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:150px}
.bar-pair{flex:1;display:flex;align-items:flex-end;gap:2px;width:100%;justify-content:center;border-bottom:1px solid var(--line)}
.bar-pair i{width:40%;max-width:16px;border-radius:3px 3px 0 0;min-height:1px}
.bi{background:var(--green2)}.bo{background:var(--amber)}
.bar-col span{font-size:.7rem;color:var(--muted);margin-top:4px}
.legend{width:100%;font-size:.82rem;color:var(--muted);margin:8px 0 0}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle;margin:0 4px 0 10px}
.chart{margin:14px 0 0}.chart svg{width:100%;height:auto;background:#fbfaf6;border-radius:10px}
.chart .ax{stroke:#b9b09b}.chart .l-fc{stroke:#9aa39f;stroke-dasharray:5 4;stroke-width:2}.chart .l-tc{stroke:var(--red);stroke-width:2.5}.chart .l-rev{stroke:var(--green2);stroke-width:2.5}.chart .pt{fill:var(--amber);stroke:#fff;stroke-width:2}.chart .tx{font-size:11px;fill:#43514a;font-weight:700}
.chart figcaption{font-size:.8rem;color:var(--muted);margin-top:6px}.chart figcaption i{display:inline-block;width:14px;height:3px;vertical-align:middle;margin:0 4px 0 10px}
.k-rev{background:var(--green2)}.k-tc{background:var(--red)}.k-fc{background:#9aa39f}

/* toast */
.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,30px);opacity:0;background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;z-index:100;transition:.25s;max-width:92vw;font-weight:600;font-size:.93rem}
.toast.show{opacity:1;transform:translate(-50%,0)}.toast-err{background:var(--red)}

/* content */
.content{max-width:820px;margin:28px 0}
.content section{margin:0 0 28px}
.content h2{padding-top:6px;border-top:1px solid var(--line);padding-top:20px}
.content ol,.content ul{padding-left:1.3em}.content li{margin:.3em 0}
.formula{background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:10px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;overflow-x:auto;margin:0 0 1em}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin:0 0 8px;padding:0 14px}
.faq summary{cursor:pointer;font-weight:700;padding:13px 0;list-style:none;display:flex;justify-content:space-between;gap:10px}
.faq summary::after{content:"+";color:var(--green);font-size:1.3rem;line-height:1}.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 14px;color:#34423b}
.related ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:600px){.related ul{grid-template-columns:1fr 1fr}}
.related a{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--ink);font-weight:700}
.related a span{font-weight:450;font-size:.86rem;color:var(--muted)}
.related a:hover{border-color:var(--green)}
.prose{max-width:780px;margin:0 0 40px}
.prose h2{margin-top:1.6em}

/* home */
.hero{position:relative;margin:0 -18px 26px;padding:34px 18px 30px;background:#fffdf6 repeating-linear-gradient(180deg,transparent 0 31px,#e6eef0 31px 32px);border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;top:0;bottom:0;left:clamp(10px,4vw,48px);width:2px;background:#e9a3a0;opacity:.8}
.hero-in{max-width:760px;padding-left:clamp(10px,5vw,52px)}
.hero h1{font-size:clamp(1.8rem,5vw,2.9rem)}
.hero h1 mark{background:linear-gradient(transparent 58%,#ffd98e 58%);color:inherit;padding:0 2px}
.hero .lead{color:#3f4c46;font-size:1.1rem}
.hero .row{margin-top:18px}
.cat{margin:0 0 30px}
.cat-h{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.cat-h h2{margin:0}.cat-h p{margin:0;color:var(--muted);font-size:.92rem}
.tiles{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:560px){.tiles{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.tiles{grid-template-columns:repeat(3,1fr)}}
.tile{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;text-decoration:none;color:var(--ink);box-shadow:var(--sh);transition:.15s}
.tile:hover{border-color:var(--green);transform:translateY(-2px);color:var(--ink)}
.tile .ico{flex:none;width:44px;height:44px;border-radius:12px;background:var(--greenbg);display:flex;align-items:center;justify-content:center;color:var(--green)}
.tile .ico svg{width:24px;height:24px}
.tile.amber .ico{background:var(--amberbg);color:#9a5f00}
.tile strong{display:block;font-size:1.02rem}.tile span{display:block;font-size:.88rem;color:var(--muted);line-height:1.45;margin-top:2px}
.why{display:grid;gap:12px;grid-template-columns:1fr;margin:10px 0 36px}
@media(min-width:760px){.why{grid-template-columns:repeat(3,1fr)}}
.why div{background:var(--green);color:#e9f3ef;border-radius:var(--r);padding:18px}
.why h3{color:#fff}.why p{margin:0;font-size:.93rem}

/* ads */
.ad-slot{margin:18px 0;min-height:0}.ad-slot.empty{display:none}

/* footer */
.site-footer{background:#14211c;color:#c9d4cf;margin-top:40px;padding:30px 0 24px;font-size:.92rem}
.site-footer a{color:#e8efe9}
.ft{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:760px){.ft{grid-template-columns:1.3fr 1fr 1fr 1fr}}
.ft h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#8fa59b}
.ft ul{list-style:none;margin:0;padding:0}.ft li{margin:5px 0}
.ft .logo{color:#fff}.ft .logo b{color:var(--amber)}
.copy{border-top:1px solid #2a3a33;margin-top:22px;padding-top:14px;font-size:.84rem;color:#8fa59b}

/* ===== kertas dokumen ===== */
.paper{--acc:#0e5a43;padding:44px 48px}
.paper-a5{padding:30px 32px;font-size:11.5px}
.paper-t80,.paper-t58{padding:12px 10px;font:12px/1.4 "Courier New",ui-monospace,monospace}
.paper-t58{font-size:10.5px}
.paper h2{margin:0;letter-spacing:.06em;color:var(--acc);font-size:24px}
.paper-a5 h2{font-size:19px}
.p-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:3px solid var(--acc);margin-bottom:18px}
.p-brand{display:flex;gap:12px;align-items:flex-start;max-width:58%}
.p-logo{max-width:80px;max-height:64px;object-fit:contain}
.p-name{font-size:17px;font-weight:700;color:#111;line-height:1.25}
.paper-a5 .p-name{font-size:14px}
.p-addr{font-size:11px;color:#555;margin-top:3px}
.p-title{text-align:right}
.p-meta{margin:6px 0 0 auto;border-collapse:collapse;font-size:11.5px}
.p-meta th{text-align:left;font-weight:400;color:#666;padding:1px 10px 1px 0}.p-meta td{text-align:right;font-weight:700;padding:1px 0}
.p-parties{display:flex;justify-content:space-between;gap:24px;margin-bottom:16px}
.p-parties>div{flex:1}
.p-cap{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--acc);font-weight:700;margin-bottom:3px}
.p-due{text-align:right}
.p-big{font-size:22px;font-weight:800;color:#111}
.p-items{width:100%;border-collapse:collapse;margin:6px 0 12px}
.p-items th{background:var(--acc);color:#fff;font-weight:700;padding:7px 8px;text-align:left;font-size:11px}
.p-items td{padding:7px 8px;border-bottom:1px solid #ddd;vertical-align:top}
.p-items tbody tr:nth-child(even) td{background:#f7f7f5}
.p-items tfoot th{padding:7px 8px;border-top:2px solid #333;text-align:left}
.p-items.slim th{font-size:11px}
.p-sum{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:10px}
.p-left{flex:1}
.p-tbl{background:#f6f5f0;border-left:3px solid var(--acc);padding:8px 10px;margin-bottom:10px;font-size:11.5px}
.p-tbl span{color:#666}
.p-tbl em{font-weight:700;font-style:italic}
.p-note{font-size:11.5px;margin:6px 0 10px;color:#333}.p-note.small{font-size:10.5px;color:#666}
.p-note ol{margin:2px 0;padding-left:18px}
.p-tot{border-collapse:collapse;min-width:44%}
.p-tot th{text-align:left;font-weight:400;color:#555;padding:4px 12px 4px 0}
.p-tot td{text-align:right;padding:4px 0;white-space:nowrap}
.p-tot tr.grand th,.p-tot tr.grand td{border-top:2px solid #222;font-weight:800;font-size:14px;color:#111;padding-top:7px}
.p-tot tr.due th,.p-tot tr.due td{font-weight:800;color:var(--acc)}
.p-kv{border-collapse:collapse;font-size:12px}.p-kv th{text-align:left;font-weight:400;color:#666;padding:2px 12px 2px 0;white-space:nowrap}.p-kv td{padding:2px 16px 2px 0}
.p-kv.two{width:100%;margin-bottom:14px;background:#f6f5f0;padding:6px}.p-kv.two td{font-weight:700}
.p-intro{margin:0 0 4px}
.p-sigs{display:flex;gap:20px;margin-top:18px}
.p-sigs.right{justify-content:flex-end}
.p-sigs.two,.p-sigs.three{justify-content:space-between}
.p-sigs.three .sig{flex:1}
.sig{text-align:center;min-width:170px}
.s-place{text-align:center;margin-bottom:2px}.s-place.right{text-align:right;margin-top:16px}
.s-lbl{margin-bottom:2px}
.s-area{height:84px;position:relative;display:flex;align-items:center;justify-content:center}
.s-ttd{max-height:80px;max-width:170px;position:relative;z-index:2}
.s-stp{position:absolute;max-height:92px;max-width:110px;left:4px;top:-6px;opacity:.88;z-index:1}
.s-name{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.s-sub{font-size:11px;color:#555}
.meterai{position:absolute;left:-58px;top:10px;width:64px;height:64px;border:1.5px dashed #999;font-size:9px;color:#888;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;z-index:0}
.stamp-lunas{position:absolute;top:34%;left:50%;transform:translate(-50%,-50%) rotate(-14deg);font-size:72px;font-weight:900;letter-spacing:.12em;color:rgba(19,121,91,.22);border:8px solid rgba(19,121,91,.22);padding:4px 24px;border-radius:14px;pointer-events:none}
/* kwitansi */
.kw{border:2px solid var(--acc);padding:22px 24px;border-radius:4px;background:linear-gradient(90deg,var(--acc) 0 8px,transparent 8px)}
.kw .p-head{margin-bottom:10px}
.kw-row{display:flex;gap:12px;padding:8px 0}
.kw-l{width:150px;flex:none;color:#444}
.kw-l::after{content:" :";float:right}
.kw-v{flex:1;min-height:22px}
.kw-v.line{border-bottom:1px dotted #777;font-weight:600}
.kw-tb{background:#f1f0ea;padding:8px 10px;font-style:italic;font-weight:700;font-size:13.5px;border-radius:2px;background-image:repeating-linear-gradient(45deg,transparent 0 6px,rgba(0,0,0,.025) 6px 12px)}
.kw-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:16px}
.kw-amt{display:inline-flex;gap:8px;align-items:baseline;font-size:22px;font-weight:800;border:2px solid #222;padding:8px 18px;transform:skewX(-8deg);background:#fff}
.kw-amt span{font-size:15px}
.kw-met{font-size:11px;color:#555;margin-top:8px}
/* surat penawaran */
.kop{padding-bottom:12px;border-bottom:3px double var(--acc);margin-bottom:16px}
.kop .p-brand{max-width:100%}
.letter-top{display:flex;justify-content:space-between;gap:20px;margin-bottom:14px}
.letter-to{margin-bottom:14px}
.letter-p{margin:0 0 12px}
/* slip gaji */
.slip-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.thp{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--acc);color:#fff;padding:12px 16px;border-radius:6px;margin:6px 0 10px}
.thp .p-cap{color:#fff;opacity:.85}.thp .p-big{color:#fff}.thp em{font-size:11.5px}
/* thermal */
.th{text-align:left}.th .c{text-align:center}
.th-logo{display:block;margin:0 auto 4px;max-width:60%;max-height:50px;filter:grayscale(1)}
.th-name{text-align:center;font-weight:700;font-size:1.15em}
.th-small{text-align:center;font-size:.9em}
.th-hr{border-top:1px dashed #000;margin:6px 0}
.th-row{display:flex;justify-content:space-between;gap:6px}
.th-b{font-weight:700;font-size:1.1em}
.th-item{margin-top:3px}

/* ===== cetak ===== */
@media print{
  body{background:#fff}
  .site-header,.site-footer,.crumb,.page-head,.content,.ad-slot,.doc-form,.toolbar,.related,.no-print,.toast{display:none!important}
  .docapp{display:block}
  .doc-preview{position:static}
  .paper-scale{height:auto!important;background:none;overflow:visible;border-radius:0}
  .paper{transform:none!important;box-shadow:none;margin:0 auto}
  .wrap{padding:0;max-width:none}
  body:has(dialog[open]) main{display:none}
  dialog[open]{position:static;box-shadow:none;max-width:none;width:auto;padding:0}
  .tool-grid{display:block}.tool-in{display:none}.result{border:0;box-shadow:none}
  #stokApp .tool-grid,#stokApp section:last-child,#stokApp .card-h .row,#stokApp .act,#kasApp form,#kasApp .card-h input,#kasApp section:last-child,#kasApp .act{display:none!important}
  #stokApp .tool-grid{display:none}
  #kasApp .tool-grid{display:block}#kasApp .tool-in{display:none}
  .card{box-shadow:none;border:0;padding:0}
}
