@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/receipt/space-mono-400.woff2) format('woff2')}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/receipt/space-mono-700.woff2) format('woff2')}
@font-face{font-family:'Courier Prime';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/receipt/courier-prime-400.woff2) format('woff2')}
@font-face{font-family:'Courier Prime';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/receipt/courier-prime-700.woff2) format('woff2')}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/receipt/fredoka-600.woff2) format('woff2')}
@font-face{font-family:'Archivo Black';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/receipt/archivo-black-400.woff2) format('woff2')}
@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/receipt/dm-serif-display-400.woff2) format('woff2')}
@font-face{font-family:'Special Elite';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/receipt/special-elite-400.woff2) format('woff2')}
@font-face{font-family:'Pacifico';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/receipt/pacifico-400.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/receipt/playfair-display-700.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;src:url(fonts/receipt/playfair-display-900.woff2) format('woff2')}
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/receipt/libre-baskerville-400.woff2) format('woff2')}
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/receipt/libre-baskerville-700.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/receipt/barlow-condensed-700.woff2) format('woff2')}
@font-face{font-family:'Lobster';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/receipt/lobster-400.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/receipt/cormorant-garamond-500.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/receipt/cormorant-garamond-600.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/receipt/jost-400.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/receipt/jost-500.woff2) format('woff2')}
/* KAIRO - Desain struk (9 layout). Okt 2026: HANYA kertas, tanpa latar/scene di luar kertas.
   Semua hiasan (stiker, pita, kotak-kotak, ornamen) ada DI DALAM kertas supaya hasil cetak = tampilan layar.
   HTML dari renderReceiptSurface() di kairo-app.js: .receipt-paper > .rp-top + .receipt-customer-ready + .rp-bottom.
   PNG (makeReceiptCanvas) menggambar desain yang sama. Warna dicetak apa adanya (print-color-adjust:exact); desain tetap terbaca bila dicetak hitam-putih. */
.receipt-preview-surface.receipt-template{width:min(100%,340px);margin:0 auto;box-sizing:border-box;font-family:var(--receipt-font-family);color:var(--receipt-text);-webkit-print-color-adjust:exact;print-color-adjust:exact;isolation:isolate}
.receipt-template .receipt-paper{position:relative;background:var(--receipt-bg);color:var(--receipt-text);overflow:hidden;border:1px solid color-mix(in srgb,var(--receipt-text) 16%,transparent);border-radius:3px;box-shadow:0 10px 26px rgba(20,28,38,.14)}
.receipt-template .receipt-customer-ready{position:relative;padding:16px 24px 18px;font-family:var(--receipt-font-family)}
.receipt-template .receipt-customer-ready>*{position:relative}
.receipt-template .receipt-heading{display:none}/* nama usaha sudah tampil di kepala struk tiap layout */
.receipt-template .receipt-field{font-size:10px;line-height:1.5}
.receipt-template .receipt-field strong:not(.receipt-section-label){font-weight:800}
.receipt-template .receipt-section-label{display:block;font-size:8px;letter-spacing:.11em;text-transform:uppercase;margin:11px 0 4px}
.receipt-template .receipt-line{display:flex;justify-content:space-between;gap:10px;font-size:9.5px;padding:4px 0;border-bottom:1px dotted color-mix(in srgb,var(--receipt-text) 32%,transparent)}
.receipt-template .receipt-total{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:9px 0 6px;font-size:16px;font-weight:900;border-top:1px dashed var(--receipt-text);border-bottom:1px dashed var(--receipt-text)}
.receipt-template .saas-receipt-footer{margin-top:14px;padding-top:8px;text-align:center;font-size:9px;line-height:1.35}
.receipt-template-description{font-size:9.5px;line-height:1.45;margin:0 0 12px;padding:0 0 9px;border-bottom:1px dashed color-mix(in srgb,var(--receipt-accent) 55%,transparent)}
.receipt-template .receipt-barcode{width:62%;height:44px;margin:16px auto 5px;background:repeating-linear-gradient(90deg,#111 0 2px,transparent 2px 4px,#111 4px 5px,transparent 5px 8px,#111 8px 12px,transparent 12px 14px)}
.receipt-template .receipt-powered{text-align:center;margin-top:4px;font-family:'Space Mono','Courier New',monospace;font-size:6.6px;letter-spacing:.02em;text-transform:lowercase;opacity:.72}
.receipt-template .receipt-watermark-image{position:absolute;left:50%;top:52%;max-height:68%;object-fit:contain;transform:translate(-50%,-50%) rotate(-24deg);pointer-events:none;z-index:0}
.receipt-template .receipt-preview-watermark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-24deg);font-weight:900;white-space:nowrap;pointer-events:none;z-index:0}
.receipt-template .rp-top,.receipt-template .rp-bottom{position:relative;z-index:1;text-align:center}
.receipt-template .rg{display:inline-block;vertical-align:-.15em;flex:0 0 auto}
.receipt-template .rp-checker{height:16px;background:conic-gradient(#ef76a7 25%,#f5eaa5 0 50%,#ef76a7 0 75%,#f5eaa5 0) 0 0/16px 16px}
.receipt-template .rp-checker-red{background:conic-gradient(#c7372f 25%,#f4e5c1 0 50%,#c7372f 0 75%,#f4e5c1 0) 0 0/16px 16px}
.receipt-template-brand{text-align:center;font-weight:900;line-height:1.05;text-transform:uppercase}
.receipt-template-brand small{display:block;margin-top:5px;font-size:6.5px;font-weight:600;letter-spacing:.14em}

/* 01 Standar: putih polos, monospace */
.receipt-template-standard{font-family:'Space Mono','Courier New',monospace}
.receipt-template-standard .receipt-customer-ready,.receipt-template-standard .receipt-customer-ready *{font-family:'Space Mono','Courier New',monospace}
.receipt-template-standard .rp-top{padding:20px 24px 0}
.receipt-template-standard .receipt-template-brand-standard{font-size:20px;letter-spacing:.06em;padding-bottom:10px;border-bottom:2px dashed #111;color:#111}
.receipt-template-standard .receipt-template-brand-standard small{font-size:8px;letter-spacing:.18em;margin-top:6px}

/* 02 Pastel Commission: kepala pastel dengan papan nama bertingkat, bintang */
.receipt-template-pastel .rp-top{padding:16px 18px 18px;background:linear-gradient(160deg,#f7dfe8,#dce7ff 55%,#c4dcff)}
.receipt-template-pastel .rp-stars{display:flex;justify-content:center;gap:9px;color:#6eb3ec;margin-bottom:10px}
.receipt-template-pastel .rp-sign-main{display:inline-block;background:#6eb3ec;color:#fff;font:600 22px/1.1 'Fredoka','Arial Rounded MT Bold',Arial,sans-serif;text-transform:uppercase;padding:7px 16px;transform:rotate(-2deg);box-shadow:0 2px 0 rgba(40,90,150,.25)}
.receipt-template-pastel .rp-sign-for{font:400 22px/1 'Pacifico','Brush Script MT',cursive;color:#ff6f9f;margin:2px 0 -2px}
.receipt-template-pastel .rp-sign-sub{display:inline-block;background:#fff;color:#4b9fe0;font:600 13px/1.1 'Fredoka','Arial Rounded MT Bold',Arial,sans-serif;letter-spacing:.04em;padding:6px 12px;transform:rotate(-1.5deg);border:1.5px solid #6eb3ec}
.receipt-template-pastel .receipt-customer-ready{font-family:'Space Mono','Courier New',monospace}
.receipt-template-pastel .receipt-section-label{color:#ef7ba0}
.receipt-template-pastel .receipt-total{border-color:#333}
.receipt-template-pastel .saas-receipt-footer{font-family:'Pacifico','Brush Script MT',cursive;font-size:11px;color:#d9648c}
.receipt-template-pastel .rp-bottom{padding:8px 18px 10px;background:linear-gradient(160deg,#f7dfe8,#dce7ff)}
.receipt-template-pastel .rp-bottom .rp-stars{margin:0}

/* 03 Studio List: pita biru + stiker + QR dan plester */
.receipt-template-studio .rp-top{padding:18px 16px 14px;background:#087eb9;color:#fff;min-height:84px}
.receipt-template-studio .rp-sticker{position:absolute;top:10px;font:400 8px/1.1 'Archivo Black','Arial Black',Arial,sans-serif;padding:5px 7px;border:2px solid #fff;text-align:center}
.receipt-template-studio .rp-sticker-a{left:10px;background:#203d9d;color:#fff;transform:rotate(-5deg)}
.receipt-template-studio .rp-sticker-b{right:10px;background:#ff85af;color:#182d5a;transform:rotate(4deg)}
.receipt-template-studio .rp-studio-name{margin:26px 0 0;font:400 23px/1.05 'Archivo Black','Arial Black',Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.receipt-template-studio .rp-studio-sub{margin-top:5px;font:700 6.5px/1.2 'Space Mono','Courier New',monospace;letter-spacing:.2em}
.receipt-template-studio .receipt-customer-ready{font-family:'Space Mono','Courier New',monospace}
.receipt-template-studio .receipt-field-customer,.receipt-template-studio .receipt-field-start,.receipt-template-studio .receipt-field-status,.receipt-template-studio .receipt-field-shift,.receipt-template-studio .receipt-field-platform,.receipt-template-studio .receipt-field-payment{border-bottom:1px solid color-mix(in srgb,#087eb9 40%,transparent);padding:3px 0}
.receipt-template-studio .receipt-section-label{color:#087eb9}
.receipt-template-studio .receipt-total{border-top:2px solid #222;border-bottom:0}
.receipt-template-studio .rp-bottom{display:flex;align-items:center;justify-content:space-between;padding:0 24px 16px}
.receipt-template-studio .rp-qr{width:42px;height:42px;border:3px solid #111;background:conic-gradient(#111 25%,#fff 0 50%,#111 0 75%,#fff 0) 0 0/10px 10px}
.receipt-template-studio .rp-plus{background:#f2869f;color:#fff;display:inline-flex;padding:6px 12px;transform:rotate(-4deg)}

/* 04 Receiptify: pita kotak-kotak, kepala lavender, coretan */
.receipt-template-receiptify{font-family:'Courier Prime','Courier New',monospace}
.receipt-template-receiptify .receipt-paper{background:#fffdf4}
.receipt-template-receiptify .receipt-customer-ready,.receipt-template-receiptify .receipt-customer-ready *{font-family:'Courier Prime','Courier New',monospace;color:#202020}
.receipt-template-receiptify .rp-recpt-head{padding:14px 24px 16px;background:#b9b8ee;text-align:left}
.receipt-template-receiptify .rp-recpt-name{font:400 25px/1.05 'Archivo Black','Arial Black',Arial,sans-serif;text-transform:uppercase;color:#292c32;overflow-wrap:anywhere}
.receipt-template-receiptify .rp-recpt-pill{display:inline-block;margin-top:8px;background:#ef7da9;color:#303039;font:700 8px/1 'Space Mono','Courier New',monospace;letter-spacing:.06em;padding:5px 9px;border-radius:2px}
.receipt-template-receiptify .receipt-field{font-size:9px}
.receipt-template-receiptify .receipt-line{border-bottom:1px dotted #444}
.receipt-template-receiptify .receipt-total{border-color:#222}
.receipt-template-receiptify .saas-receipt-footer{font-family:'Pacifico','Brush Script MT',cursive;font-size:11px;color:#d9648c}
.receipt-template-receiptify .rp-doodles{display:flex;justify-content:center;gap:16px;padding:2px 0 10px;font:700 15px/1 'Archivo Black',Arial,sans-serif;color:#ef76a7;align-items:center}
.receipt-template-receiptify .rp-doodles span:nth-child(2n){color:#7a6fd6}

/* 05 Vintage Story: pita selotip, bintang berduri, lonjong merah anggur, stempel */
.receipt-template-vintage{font-family:'Special Elite','Courier New',monospace}
.receipt-template-vintage .receipt-paper{background:#f9f7f1;color:#171717;border-color:#c9ad84}
.receipt-template-vintage .receipt-customer-ready,.receipt-template-vintage .receipt-customer-ready *{font-family:'Special Elite','Courier New',monospace;color:#171717}
.receipt-template-vintage .rp-top{padding:0 22px 8px}
.receipt-template-vintage .rp-tape{margin:0 -22px 12px;padding:5px 0;background:#e8dfc4;color:#8a7a50;display:flex;justify-content:center;gap:18px;border-bottom:1px solid #cdbf93}
.receipt-template-vintage .rp-vintage-row{display:flex;align-items:center;gap:10px}
.receipt-template-vintage .rp-burst{flex:0 0 66px;height:66px;display:grid;place-items:center;background:#1628a1;color:#fff;font:400 8px/1.05 'Archivo Black','Arial Black',Arial,sans-serif;clip-path:polygon(50% 0,61% 12%,76% 6%,80% 21%,95% 25%,89% 39%,100% 50%,89% 61%,95% 75%,80% 79%,76% 94%,61% 88%,50% 100%,39% 88%,24% 94%,20% 79%,5% 75%,11% 61%,0 50%,11% 39%,5% 25%,20% 21%,24% 6%,39% 12%)}
.receipt-template-vintage .rp-vintage-brand{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;color:#6e0e1e}
.receipt-template-vintage .rp-vintage-brand b{border:3px solid #6e0e1e;border-radius:50%;padding:7px 12px;font:400 15px/1.1 'DM Serif Display',Georgia,serif;text-transform:uppercase;color:#6e0e1e;overflow-wrap:anywhere}
.receipt-template-vintage .rp-vintage-sub{margin-top:6px;font:400 7px/1.2 'Special Elite','Courier New',monospace;letter-spacing:.14em}
.receipt-template-vintage .receipt-date-row{display:flex;justify-content:space-between;margin-top:8px;padding-top:6px;border-top:1px solid #222;font:400 9px/1.2 'Special Elite','Courier New',monospace}
.receipt-template-vintage .receipt-field,.receipt-template-vintage .receipt-line{font-family:'Special Elite','Courier New',monospace}
.receipt-template-vintage .receipt-section-label{color:#111}
.receipt-template-vintage .receipt-total{border-color:#111}
.receipt-template-vintage .saas-receipt-footer{font-family:'Pacifico','Brush Script MT',cursive;font-size:11px;color:#6e0e1e}
.receipt-template-vintage .rp-bottom{padding:0 0 8px}
.receipt-template-vintage .rp-stamp{display:inline-block;margin:0 0 10px;background:#7c1325;color:#fff;border:3px solid #fff;outline:2px solid #7c1325;padding:6px 12px;font:400 11px/1.1 'Archivo Black','Arial Black',Arial,sans-serif;letter-spacing:.06em;transform:rotate(-3deg)}
.receipt-template-vintage .rp-bottom .rp-tape{margin:0;border-bottom:0;border-top:1px solid #cdbf93}

/* 06 Newspaper Editorial: kepala koran, garis ganda */
.receipt-template-newspaper{font-family:'Libre Baskerville',Georgia,serif}
.receipt-template-newspaper .receipt-paper{background:#fbf8f1;color:#111;border:2px solid #111;border-radius:0}
.receipt-template-newspaper .receipt-customer-ready,.receipt-template-newspaper .receipt-customer-ready *{font-family:'Libre Baskerville',Georgia,serif;color:#111}
.receipt-template-newspaper .receipt-field{font-size:9.3px}
.receipt-template-newspaper .receipt-line{font-size:9px}
.receipt-template-newspaper .rp-top{padding:10px 24px 4px;text-align:left}
.receipt-template-newspaper .rp-news-strip{display:flex;justify-content:space-between;gap:6px;padding:4px 0;border-top:3px solid #111;border-bottom:1px solid #111;font:700 6.5px/1 'Libre Baskerville',Georgia,serif;letter-spacing:.12em;text-transform:uppercase}
.receipt-template-newspaper .rp-news-masthead{margin-top:12px;padding-bottom:4px;font:900 27px/1 'Playfair Display',Georgia,serif;text-align:center;border-bottom:4px double #111}
.receipt-template-newspaper .rp-news-name{margin-top:10px;font:900 19px/1.05 'Playfair Display',Georgia,serif;text-transform:uppercase;overflow-wrap:anywhere}
.receipt-template-newspaper .rp-news-sub{margin-top:3px;font:400 6.5px/1.2 'Libre Baskerville',Georgia,serif;letter-spacing:.12em}
.receipt-template-newspaper .receipt-total{border-top:3px double #111;border-bottom:3px double #111}
.receipt-template-newspaper .receipt-section-label{border-bottom:1px solid #111;padding-bottom:2px}
.receipt-template-newspaper .rp-news-end{display:flex;align-items:center;justify-content:center;gap:10px;padding:0 0 12px;color:#111}
.receipt-template-newspaper .rp-news-end i{display:block;width:38px;height:1.5px;background:#111}

/* 07 Boarding Pass: pita kelas bisnis + sobekan tiket di bawah */
.receipt-template-boarding .receipt-paper{background:#eff7ff;border:1px solid #19689f;border-radius:10px}
.receipt-template-boarding .rp-top{padding:0 0 4px;text-align:left}
.receipt-template-boarding .rp-flight{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 16px;background:#0d5f9a;color:#fff}
.receipt-template-boarding .rp-flight span{font:700 14px/1 'Barlow Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:.1em}
.receipt-template-boarding .rp-flight em{font:700 8px/1.2 'Barlow Condensed','Arial Narrow',Arial,sans-serif;text-align:right;font-style:normal;letter-spacing:.08em}
.receipt-template-boarding .rp-board-name{padding:12px 24px 0;font:700 30px/1 'Barlow Condensed','Arial Narrow',Arial,sans-serif;text-transform:uppercase;color:#19689f;overflow-wrap:anywhere}
.receipt-template-boarding .rp-board-sub{padding:3px 24px 0;font:700 9px/1.2 'Barlow Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:.14em;color:#254055}
.receipt-template-boarding .receipt-customer-ready{font-family:'Space Mono','Courier New',monospace}
.receipt-template-boarding .receipt-total{border-top:2px solid #19689f;border-bottom:0;color:#19689f}
.receipt-template-boarding .receipt-section-label{color:#19689f}
.receipt-template-boarding .rp-board-stub{margin-top:2px;padding:9px 16px;border-top:2px dashed #6d91aa;background:#e3effa;font:700 11px/1 'Barlow Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:.2em;color:#19689f}

/* 08 Retro Diner: pita kotak merah-krem atas bawah, lonjong merah, total merah */
.receipt-template-diner .receipt-paper{background:#fff4d8;border:2px solid #c7372f;border-radius:6px}
.receipt-template-diner .receipt-customer-ready,.receipt-template-diner .receipt-customer-ready *{font-family:'Courier Prime','Courier New',monospace;color:#2b241d}
.receipt-template-diner .rp-top .rp-checker{margin-bottom:12px}
.receipt-template-diner .rp-diner-oval{display:inline-block;margin:0 auto;padding:9px 24px;border:3px solid #c7372f;border-radius:50%;background:#fff;color:#c7372f}
.receipt-template-diner .rp-diner-oval b{display:block;font:400 24px/1.05 'Lobster','Brush Script MT',cursive;overflow-wrap:anywhere}
.receipt-template-diner .rp-diner-oval small{display:block;margin-top:3px;font:700 6.5px/1.2 'Courier Prime','Courier New',monospace;letter-spacing:.16em}
.receipt-template-diner .receipt-section-label{color:#c7372f}
.receipt-template-diner .receipt-total{background:#c7372f;border:0;padding:8px 10px;border-radius:5px}
.receipt-template-diner .receipt-total,.receipt-template-diner .receipt-total *{color:#fff}
.receipt-template-diner .rp-mascot{display:inline-grid;place-items:center;width:32px;height:32px;margin:0 0 8px;border-radius:50%;background:#f6d98f;border:2px solid #c7372f;color:#c7372f}

/* 09 Minimal Luxury: ornamen emas, garis tipis ganda */
.receipt-template-luxury{font-family:'Cormorant Garamond',Georgia,serif}
.receipt-template-luxury .receipt-paper{background:#fdfbf6;color:#171717;border:1px solid #111;border-radius:0;outline:1px solid #b79a6c;outline-offset:-7px}
.receipt-template-luxury .receipt-customer-ready,.receipt-template-luxury .receipt-customer-ready *{font-family:'Jost',Arial,sans-serif;color:#171717}
.receipt-template-luxury .rp-top{padding:20px 24px 0}
.receipt-template-luxury .rp-lux-mark{color:#a27c4e;line-height:1}
.receipt-template-luxury .rp-lux-name{margin-top:6px;font:600 25px/1.1 'Cormorant Garamond',Georgia,serif;letter-spacing:.2em;text-transform:uppercase;overflow-wrap:anywhere}
.receipt-template-luxury .rp-lux-sub{margin-top:5px;font:500 7px/1.2 'Jost',Arial,sans-serif;letter-spacing:.22em}
.receipt-template-luxury .receipt-field{font-size:9.5px}
.receipt-template-luxury .receipt-section-label{color:#a27c4e}
.receipt-template-luxury .receipt-total{border-top:1px solid #111;border-bottom:0;font-weight:700}
.receipt-template-luxury .rp-bottom{padding:0 0 14px}

/* Pilihan layout di Settings: miniatur kertas (tanpa latar) */
.receipt-template-thumb{height:74px;border-radius:8px;display:block;position:relative;overflow:hidden;padding:30px 10px 0;box-sizing:border-box;background:#fff;border:1px solid rgba(0,0,0,.1);color:#111}
.receipt-template-thumb:before{content:"";position:absolute;left:0;right:0;top:0;height:22px}
.receipt-template-thumb i{display:block;height:3px;border-radius:9px;background:currentColor;opacity:.35;margin:5px 0}
.receipt-template-thumb i:nth-child(2){width:70%}.receipt-template-thumb i:nth-child(3){width:85%}
.receipt-template-thumb b{position:absolute;left:0;right:0;top:7px;text-align:center;font-size:7px;letter-spacing:.1em;text-transform:uppercase}
.receipt-template-thumb-standard{font-family:'Courier New',monospace}.receipt-template-thumb-standard:before{border-bottom:2px dashed #111;height:21px}
.receipt-template-thumb-pastel:before{background:linear-gradient(160deg,#f7dfe8,#bcd8ff)}.receipt-template-thumb-pastel b{color:#2f6faa}
.receipt-template-thumb-studio:before{background:#087eb9}.receipt-template-thumb-studio b{color:#fff}
.receipt-template-thumb-receiptify:before{background:conic-gradient(#ef76a7 25%,#f5eaa5 0 50%,#ef76a7 0 75%,#f5eaa5 0) 0 0/10px 10px;height:10px}.receipt-template-thumb-receiptify{padding-top:30px}.receipt-template-thumb-receiptify b{top:14px;font-family:'Courier New',monospace}
.receipt-template-thumb-vintage{background:#f9f7f1;color:#6e0e1e;font-family:Georgia,serif}.receipt-template-thumb-vintage:before{background:#e8dfc4;height:8px}.receipt-template-thumb-vintage b{top:12px;color:#6e0e1e}
.receipt-template-thumb-newspaper{background:#fbf8f1;font-family:Georgia,serif}.receipt-template-thumb-newspaper:before{border-top:3px solid #111;border-bottom:3px double #111;height:16px;background:transparent}.receipt-template-thumb-newspaper b{top:8px}
.receipt-template-thumb-boarding{background:#eff7ff;color:#19689f}.receipt-template-thumb-boarding:before{background:#0d5f9a}.receipt-template-thumb-boarding b{color:#fff}
.receipt-template-thumb-diner{background:#fff4d8;color:#c7372f}.receipt-template-thumb-diner:before{background:conic-gradient(#c7372f 25%,#f4e5c1 0 50%,#c7372f 0 75%,#f4e5c1 0) 0 0/10px 10px;height:10px}.receipt-template-thumb-diner b{top:14px}
.receipt-template-thumb-luxury{background:#fdfbf6;font-family:'Cormorant Garamond',Georgia,serif}.receipt-template-thumb-luxury:before{display:none}.receipt-template-thumb-luxury b{color:#a27c4e;letter-spacing:.2em;top:9px}

/* Font pilihan user (Settings › Struk): bila bukan bawaan, isi struk memakai font itu; judul/hiasan layout tetap */
.receipt-template[data-custom-font] .receipt-customer-ready,.receipt-template[data-custom-font] .receipt-customer-ready *{font-family:var(--receipt-font-family)}

@media (max-width:520px){.receipt-preview-surface.receipt-template{width:100%}}

/* Cetak: hanya kertas struk yang keluar (bukan halaman dashboard). Dipakai saat dialog struk terbuka. Struk Kasir/POS punya aturan cetaknya sendiri (body.pos-printing). */
@media print{
  html:has(#receipt-modal:not([style*="none"])) body:not(.pos-printing){position:static!important;top:auto!important;left:auto!important;height:auto!important;overflow:visible!important;margin:0!important;background:#fff!important}
  html:has(#receipt-modal:not([style*="none"])) body:not(.pos-printing)>*:not(#receipt-modal){display:none!important}
  html:has(#receipt-modal:not([style*="none"])) #receipt-modal{position:static!important;display:block!important;inset:auto!important;padding:0!important;background:none!important}
  html:has(#receipt-modal:not([style*="none"])) #receipt-modal .modal-backdrop,
  html:has(#receipt-modal:not([style*="none"])) #receipt-preview-title,
  html:has(#receipt-modal:not([style*="none"])) #receipt-modal .actions{display:none!important}
  html:has(#receipt-modal:not([style*="none"])) #receipt-modal .modal-card{position:static!important;transform:none!important;width:auto!important;max-width:none!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:none!important}
  .receipt-preview-surface.receipt-template{width:var(--kp-paper,80mm)!important}
  .receipt-template .receipt-paper{box-shadow:none!important;border-radius:0!important}
}

/* ===== Printer Struk: kartu pengaturan + lembar cetak gambar ===== */
.kp-card{margin-top:16px}
.kp-modes{display:grid;gap:8px;margin:12px 0}
.kp-mode{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1.5px solid rgba(120,140,160,.35);border-radius:14px;cursor:pointer}
.kp-mode.on{border-color:var(--v3-primary,#25b9b0);background:color-mix(in srgb,var(--v3-primary,#25b9b0) 9%,transparent)}
.kp-mode.is-off{opacity:.55;cursor:not-allowed}
.kp-mode input{margin-top:4px;width:18px;height:18px;accent-color:var(--v3-primary,#25b9b0)}
.kp-mode b{display:block;font-size:14px}
.kp-mode small{display:block;font-size:12.5px;line-height:1.4;color:var(--v3-muted,#4e6475)}
.kp-mode small em{display:block;font-style:normal;font-weight:700;color:#a3384a}
body.saas-dark .kp-mode small em{color:#ff9aa8}
.kp-row{display:flex;flex-wrap:wrap;gap:16px;margin:8px 0}
.kp-field{display:grid;gap:6px}
.kp-field[hidden]{display:none}
.kp-copies{width:90px}
.kp-chips{display:flex;gap:8px}
.kp-chips button{border:1px solid color-mix(in srgb,var(--v3-primary,#25b9b0) 35%,transparent);background:transparent;color:inherit;font:inherit;font-weight:700;padding:0 18px;min-height:42px;border-radius:99px;cursor:pointer}
.kp-chips button.on{background:var(--v3-primary,#25b9b0);color:var(--v3-on-primary,#082f35);border-color:transparent}
.kp-check{display:flex;gap:10px;align-items:flex-start;margin:8px 0;font-size:13.5px;cursor:pointer}
.kp-check input{margin-top:3px;width:18px;height:18px;accent-color:var(--v3-primary,#25b9b0)}
.kp-status{margin:12px 0 4px;padding:10px 12px;border-radius:12px;font-size:13px;font-weight:700;background:color-mix(in srgb,var(--v3-primary,#25b9b0) 8%,transparent)}
.kp-status.is-ok{background:#e3f5ea;color:#16794c}
body.saas-dark .kp-status.is-ok{background:#143a28;color:#8ee0b0}
.kp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.kp-actions [hidden]{display:none}
.kp-note{margin-top:12px;font-size:12.5px;line-height:1.5;color:var(--v3-muted,#4e6475)}
#kp-print-sheet{display:none}
@media print{
  body.kp-printing>*:not(#kp-print-sheet){display:none!important}
  body.kp-printing{background:#fff!important;margin:0!important;position:static!important;overflow:visible!important}
  body.kp-printing #kp-print-sheet{display:block;width:var(--kp-paper,58mm)}
  body.kp-printing #kp-print-sheet img{display:block;width:100%;height:auto}
}
