.ip-scrim{z-index:1200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(80% 60% at 50% 0,#b8652f47,#0000 70%),#18110cc7;animation:.25s both ip-fade;position:fixed;inset:0;overflow-y:auto}@keyframes ip-fade{0%{opacity:0}}.ip-stage{flex-direction:column;align-items:center;width:min(420px,100%);margin:0 auto;padding:56px 16px 40px;display:flex;position:relative}.ip-close{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:12px;right:16px}.ip-close:hover{background:#ffffff29}.ip-printer{z-index:2;background:linear-gradient(#4a3d35 0%,#2e2622 55%,#241d19 100%);border-radius:22px 22px 14px 14px;width:100%;max-width:360px;padding:16px 18px 0;animation:.5s cubic-bezier(.2,.9,.3,1.2) both ip-drop;position:relative;box-shadow:inset 0 1px #ffffff1f,inset 0 -3px #00000059,0 24px 40px -18px #000000b3}@keyframes ip-drop{0%{opacity:0;transform:translateY(-24px)scale(.96)}}.ip-printer.is-printing{animation:.5s cubic-bezier(.2,.9,.3,1.2) both ip-drop,90ms linear .5s infinite ip-buzz}@keyframes ip-buzz{0%,to{transform:translate(0)}25%{transform:translate(.5px,-.5px)}75%{transform:translate(-.5px,.5px)}}.ip-top{justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.ip-brand{color:#d9cbbd;letter-spacing:.02em;font-size:.95rem;font-weight:700}.ip-brand b{color:#d9a27a}.ip-brand small{color:#8f8074;letter-spacing:.14em;margin-left:6px;font-size:.68rem;font-weight:600}.ip-led{background:#34d399;border-radius:50%;width:9px;height:9px;box-shadow:0 0 8px #34d399}.ip-printer.is-printing .ip-led{background:#fbbf24;animation:.35s steps(2,end) infinite ip-blink;box-shadow:0 0 10px #fbbf24}@keyframes ip-blink{50%{opacity:.25}}.ip-slot{align-items:center;height:16px;margin:0 -2px;padding:0 22px;display:flex}.ip-slot span{background:#0d0a08;border-radius:6px;width:100%;height:6px;display:block;box-shadow:inset 0 2px 3px #000000e6,0 1px #ffffff14}.ip-feed{z-index:1;width:100%;max-width:316px;margin-top:-9px;padding:0 14px 22px;position:relative;overflow:hidden}.ip-paper{--paper:#fffdf7;background:repeating-linear-gradient(180deg, transparent 0 22px, #2e262205 22px 23px), var(--paper);color:#231c18;transform-origin:top;padding:22px 18px 26px;font:500 12.5px/1.55 ui-monospace,SF Mono,Menlo,Consolas,monospace;position:relative;box-shadow:0 1px #0000000a,0 18px 30px -16px #0000008c}.ip-paper.is-printing{animation:ip-feed var(--dur) steps(var(--steps), end) both, ip-settle .7s ease-out var(--dur) forwards}@keyframes ip-feed{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes ip-settle{0%{transform:translateY(0)rotate(0)}35%{transform:translateY(2px)rotate(-1.1deg)}70%{transform:translateY(0)rotate(.45deg)}to{transform:translateY(0)rotate(0)}}.ip-paper:after{content:"";background:linear-gradient(135deg, var(--paper) 50%, transparent 50%) 0 0 / 12px 8px repeat-x, linear-gradient(225deg, var(--paper) 50%, transparent 50%) 0 0 / 12px 8px repeat-x;height:8px;position:absolute;bottom:-8px;left:0;right:0}.ip-paper p{margin:0}.ip-paper hr{border:0;border-top:1.5px dashed #b9ab9d;margin:12px 0}.ip-head{text-align:center}.ip-logo{letter-spacing:-.02em;margin-bottom:6px;font:800 22px/1 system-ui,sans-serif}.ip-logo b{color:#b8652f}.ip-title{letter-spacing:.2em;border:1.5px solid #231c18;padding:2px 10px;font-size:11px;font-weight:800;display:inline-block;margin:4px 0 8px!important}.ip-strong{font-weight:800}.ip-muted{color:#6f6258;font-size:11px}.ip-label{letter-spacing:.16em;text-transform:uppercase;color:#6f6258;font-size:10.5px;font-weight:800}.ip-center{text-align:center}.ip-kv{grid-template-columns:auto 1fr;gap:2px 12px;margin:0;display:grid}.ip-kv dt{color:#6f6258}.ip-kv dd{text-align:right;word-break:break-all;margin:0;font-weight:700}.ip-row{justify-content:space-between;gap:12px;display:flex}.ip-row span:last-child{text-align:right;white-space:nowrap}.ip-th{letter-spacing:.14em;text-transform:uppercase;color:#6f6258;margin-bottom:6px;font-size:10.5px;font-weight:800}.ip-item{margin-bottom:8px}.ip-item strong{display:block}.ip-item em{color:#6f6258;font-style:normal}.ip-total{border-top:2px solid #231c18;border-bottom:2px solid #231c18;margin-top:8px;padding:8px 0;font-size:15px;font-weight:800}.ip-total+.ip-center{margin-top:6px}.ip-thanks{font-size:13px;font-weight:800;margin-top:12px!important}.ip-barcode{justify-content:center;align-items:stretch;gap:2px;height:42px;margin:14px 0 4px;display:flex}.ip-barcode i{background:#231c18;display:block}.ip-barcode i:nth-child(3n){background:0 0}.ip-stamp{color:#059669d9;letter-spacing:.12em;opacity:0;pointer-events:none;mix-blend-mode:multiply;border:3px solid #059669d9;border-radius:8px;padding:4px 14px;font:900 26px/1 system-ui,sans-serif;position:absolute;top:46%;right:18px;transform:rotate(-14deg)scale(2.4)}.ip-stamp.in{animation:.45s cubic-bezier(.3,1.6,.5,1) .25s forwards ip-stamp}@keyframes ip-stamp{to{opacity:1;transform:rotate(-14deg)scale(1)}}.ip-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;transition:opacity .35s,transform .35s;display:flex}.ip-actions.is-hidden{opacity:0;pointer-events:none;transform:translateY(8px)}.ip-actions .btn{gap:8px}.ip-actions .btn-outline{background:#ffffffeb}.ip-down{transform:scaleY(-1)}.ip-sound{color:#e9ddd1;cursor:pointer;justify-content:center;align-items:center;gap:8px;width:100%;font-size:.82rem;display:flex}.ip-sound input{accent-color:#d9a27a}.ip-error{text-align:center;color:#fecaca;width:100%;margin:0;font-size:.85rem}@media (prefers-reduced-motion:reduce){.ip-printer,.ip-printer.is-printing,.ip-paper,.ip-paper.is-printing{animation:none!important}.ip-stamp.in{opacity:1;animation:none;transform:rotate(-14deg)}}@media print{body.print-invoice>:not(.ip-scrim){display:none!important}body.print-invoice .ip-scrim{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;position:static;overflow:visible}body.print-invoice .ip-stage{width:auto;padding:0}body.print-invoice .ip-printer,body.print-invoice .ip-actions,body.print-invoice .ip-close{display:none!important}body.print-invoice .ip-feed{max-width:80mm;margin:0 auto;padding:0;overflow:visible}body.print-invoice .ip-paper{box-shadow:none;background:#fff;animation:none!important;transform:none!important}body.print-invoice .ip-paper:after{display:none}body.print-invoice .ip-stamp{opacity:1;animation:none;transform:rotate(-14deg)}}
