/* ---------- receipt / invoice preview (the printed page uses RECEIPT_CSS in receipt-view.js) ---------- */
.rcpt .r-shop{align-items:center}.rcpt .r-logo{max-width:150px;max-height:72px;object-fit:contain;margin-bottom:4px}
.rcpt .r-title{display:block;font-size:14px;margin:2px 0 4px}.rcpt .r-row small{color:var(--ink-3);font-size:.85em}.rcpt.void .r-items,.rcpt.void .r-tot{opacity:.55}
.rcpt-prev.a4prev .rcpt{max-width:none;font-size:12px}
.rcpt.a4 .i-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:2px solid #000;padding-bottom:8px;margin-bottom:8px;flex-wrap:wrap}
.rcpt.a4 .r-shop{align-items:flex-start;text-align:left}.rcpt.a4 .r-shop b{font-size:17px}.rcpt.a4 .r-title{font-size:15px;text-transform:uppercase;letter-spacing:.04em}
.rcpt.a4 .i-meta{min-width:180px;flex:1}.rcpt .i-party{display:flex;flex-direction:column;gap:1px;margin:6px 0 8px}
.rcpt .i-lab{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-bottom:2px}
.rcpt .i-table th,.rcpt .i-table td{padding:3px 4px}.rcpt .i-table th:nth-child(2),.rcpt .i-table td:nth-child(2){text-align:left}
.rcpt .i-foot{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;margin-top:8px;flex-wrap:wrap}.rcpt .i-left{flex:1;min-width:200px;display:flex;flex-direction:column;gap:8px}
.rcpt.a4 .r-tot{min-width:200px;flex:1}.rcpt .i-tax{border-collapse:collapse;font-size:11px}.rcpt .i-tax th,.rcpt .i-tax td{border:1px solid #ccc;padding:2px 6px;text-align:right}
.rcpt .i-words,.rcpt .i-note,.rcpt .i-gen{margin:0;font-size:11px}.rcpt .i-rets{display:flex;flex-direction:column;gap:2px;font-size:11px}.rcpt .i-gen{margin-top:8px;color:var(--ink-3);text-align:center}
.rcpt-prev.a4prev{overflow-x:auto}.sheet.billview.wide{max-width:860px}
.billpaper.seg{background:var(--wash);display:flex;width:max-content;margin:0 0 10px}.billpaper.seg button{min-height:34px;text-align:center}

/* ---------- print status and "Send to customer" ---------- */
.printstate,.sendstate{margin:6px 0 0;font-size:13px;min-height:0}.printstate:empty,.sendstate:empty{display:none}
.dl-ok{color:var(--good-ink);font-weight:600}.dl-err{color:var(--crit);font-weight:600}.dl-busy{color:var(--ink-2)}.dl-note{color:var(--ink-2)}
.sendbox{width:100%;margin:10px 0 4px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;text-align:left}
.sendh{display:block;font-size:12px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.sendacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sendacts .btn{min-height:42px;justify-content:center}
.sendbox .note{margin:6px 0 0}.dlhist .retline{font-size:13px}

/* ---------- receipt settings: logo and printer ---------- */
.logoedit{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.logoprev{flex:none;width:96px;height:64px;border:1px dashed var(--line-2);border-radius:10px;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden}
.logoprev img{max-width:100%;max-height:100%;object-fit:contain}.logoedit .btn input[type=file]{display:none}
#printerMsg.okmsg{background:var(--accent-soft);color:var(--good-ink)}
@media (max-width:699px){.sendacts .btn{min-height:46px}.logoedit{flex-direction:column}}

/* the bill view: the receipt / A4 switch, Print and the Actions menu; A4 documents in their own frame */
.billtools{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.billtools .btnrow{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
@media (max-width:599px){.billtools{align-items:stretch}.billtools .billpaper{flex:1 1 100%}.billtools .billpaper button{flex:1}.billtools .btnrow{flex:1 1 100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.billtools .btnrow>.btn,.billtools .btnrow>.menuwrap>.btn{width:100%;min-height:var(--tap);padding-inline:6px}.billtools .btnrow>.menuwrap{display:block}}
.billview .billchips{display:inline-flex;flex-wrap:wrap;gap:4px 6px;vertical-align:middle}
.billview .billowed{margin:2px 0 0;font-size:13px;font-weight:600;color:var(--warn-ink)}
.billview .sh-t h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.docprev{background:var(--wash);border-radius:var(--r-md);padding:10px;overflow:hidden}
.docframe{display:block;width:100%;min-height:420px;border:0;background:#fff;border-radius:4px;box-shadow:var(--shadow-sm)}
.rcpt-prev.a4prev{padding:0;background:none;max-height:none}
.sheet.billview.wide{max-width:900px}

/* Settings → Billing & Documents → Templates */
.tplpick{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:10px 0 4px}
.tplcard{position:relative;display:flex;flex-direction:column;gap:4px;padding:12px;border:1.5px solid var(--line-2);border-radius:var(--r-md);cursor:pointer;background:var(--bg);transition:border-color var(--t-fast),box-shadow var(--t-fast)}
.tplcard:has(input:checked){border-color:var(--accent);box-shadow:var(--ring)}
.tplcard input{position:absolute;opacity:0;pointer-events:none}
.tplcard b{font-size:14px}.tplcard small{font-size:12px;color:var(--ink-3);line-height:1.35}
.tplmini{display:flex;flex-direction:column;gap:4px;height:64px;padding:8px;border-radius:6px;background:#fff;border:1px solid var(--line);margin-bottom:6px}
.tplmini i{display:block;height:6px;border-radius:2px;background:var(--wash-2)}
.tplmini i:first-child{height:14px}
.tpl-modern i:first-child{background:var(--accent)}
.tpl-classic{border-style:double;border-width:3px}.tpl-classic i{border:1px solid var(--line-2);background:none}
.tpl-minimal i:first-child{background:none;border-bottom:1px solid var(--ink-3);border-radius:0}
.accpick{display:flex;gap:10px;flex-wrap:wrap}
.accsw{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:44px;min-height:44px;cursor:pointer}
.accsw input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;pointer-events:none}
.accsw span{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.accsw:has(input:checked) span{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--ink)}
.accsw:has(input:focus-visible) span{outline:2px solid var(--accent);outline-offset:3px}
.accsw small{font-size:11.5px;color:var(--ink-3)}
/* Templates: the live preview of the real document (it follows the form), the signature and stamp cards */
.doclive{margin:10px 0 6px;max-height:560px;overflow:auto;border:1px solid var(--line);border-radius:var(--r-md);background:var(--wash)}
.doclive .rcpt-prev{margin:0}
.docpics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:6px 0 4px}
.docpic{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);min-width:0}
.docpic>b{font-size:13.5px}
.docpic-prev{display:grid;place-items:center;height:84px;border:1px dashed var(--line-2);border-radius:var(--r-sm);background:#fff;overflow:hidden}
.docpic-prev img{max-width:92%;max-height:74px;object-fit:contain}
.docpic-acts{display:flex;flex-wrap:wrap;gap:6px}.docpic .chk{margin:0;font-size:13px}
@media (max-width:520px){.docpics{grid-template-columns:1fr}}
