:root{--brand:#0f766e;--pay-accent:var(--brand);--text:#0c1a17;--muted:#5b716c;--surface:#fff;--line:#d7e2de;--font:"Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--text);background:radial-gradient(900px 420px at 100% -10%, color-mix(in srgb, var(--pay-accent) 14%, transparent), transparent 55%), #f4f7f6;-webkit-font-smoothing:antialiased;margin:0}button{font:inherit}@media print{body{background:#fff}}.pay-shell{place-items:center;min-height:100dvh;padding:1.5rem 1rem 2.5rem;display:grid}.pay-card{background:var(--surface);border:1px solid var(--line);border-radius:1.25rem;gap:1.15rem;width:min(100%,34rem);padding:1.5rem 1.4rem 1.25rem;display:grid;box-shadow:0 18px 40px #0c1a1714}.pay-status-card{text-align:center}.pay-status-card h1,.pay-card h1{letter-spacing:-.03em;margin:.15rem 0 0;font-size:1.2rem}.pay-status-card p,.pay-muted,.pay-lock,.pay-foot{color:var(--muted);font-size:.88rem;line-height:1.45}.pay-spinner{border:3px solid #e2e8f0;border-top-color:var(--pay-accent);border-radius:50%;width:2.4rem;height:2.4rem;margin:0 auto .75rem;animation:.8s linear infinite pay-spin}@keyframes pay-spin{to{transform:rotate(360deg)}}.pay-brand{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.pay-logo,.pay-logo-fallback{object-fit:contain;border-radius:.7rem;width:2.6rem;height:2.6rem}.pay-logo-fallback{background:color-mix(in srgb, var(--pay-accent) 16%, white);color:var(--pay-accent);place-items:center;font-weight:800;display:grid}.pay-shop{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.pay-pill{border-radius:999px;padding:.28rem .55rem;font-size:.72rem;font-weight:750}.pay-pill.is-paid{color:#047857;background:#ecfdf5}.pay-pill.is-due{color:#c2410c;background:#fff7ed}.pay-pill.is-expired{color:#475569;background:#f1f5f9}.pay-pill.is-cancelled{color:#b91c1c;background:#fef2f2}.pay-hero{background:color-mix(in srgb, var(--pay-accent) 10%, #0f172a);color:#fff;text-align:center;border-radius:1rem;padding:1.15rem 1rem}.pay-hero-label,.pay-hero-due{letter-spacing:.06em;text-transform:uppercase;opacity:.8;font-size:.75rem;display:block}.pay-hero strong{letter-spacing:-.04em;margin:.2rem 0;font-size:2rem;display:block}.pay-card section h2{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .4rem;font-size:.72rem}.pay-card section p{margin:0}.pay-table{border-collapse:collapse;width:100%;font-size:.88rem}.pay-table th,.pay-table td{text-align:left;border-bottom:1px solid var(--line);padding:.45rem 0}.pay-table th:last-child,.pay-table td:last-child{text-align:right}.pay-btn{appearance:none;background:var(--pay-accent);color:#fff;cursor:pointer;border:0;border-radius:.85rem;padding:.85rem 1rem;font-weight:750}.pay-status-card .pay-btn{margin-top:.5rem}.pay-btn:disabled{opacity:.6;cursor:not-allowed}.pay-btn-ghost{color:var(--text);border:1px solid var(--line);background:0 0}.pay-alert{color:#b91c1c;background:#fef2f2;border-radius:.7rem;margin:0;padding:.7rem .8rem;font-size:.86rem}.pay-alert p{margin:.2rem 0 0}.pay-alert.is-warn{color:#b45309;background:#fffbeb}.pay-alert.is-info{color:#0369a1;background:#f0f9ff}.pay-thanks{text-align:center}.pay-foot,.pay-lock{text-align:center;margin:0}.pay-modal{z-index:40;background:#0f172a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.pay-modal-card{background:#fff;border-radius:1rem;gap:.75rem;width:min(100%,22rem);padding:1.25rem;display:grid}.pay-modal-card h2{margin:0}.pay-modal-amount{margin:0;font-size:1.5rem;font-weight:800}.pay-modal-actions{justify-content:flex-end;gap:.5rem;display:flex}@media print{.pay-btn,.pay-lock,.pay-modal{display:none!important}}.app-version-wrap{align-items:center;gap:.35rem;display:inline-flex}.app-version-badge{color:var(--muted,#64748b);cursor:pointer;-webkit-user-select:none;user-select:none;background:#94a3b81f;border:1px solid #94a3b838;border-radius:9999px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.6875rem;font-weight:500;line-height:1.2;text-decoration:none;transition:all .15s;display:inline-flex}.app-version-badge:hover{color:var(--text,#0f172a);border-color:var(--brand,#0284c7);background:#94a3b833}.app-version-badge.is-copied{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.app-version-dot{background:#10b981;border-radius:50%;flex-shrink:0;width:5px;height:5px;box-shadow:0 0 5px #10b98180}.app-version-link-icon{color:var(--muted,#94a3b8);border-radius:4px;justify-content:center;align-items:center;padding:2px;transition:color .15s;display:inline-flex}.app-version-link-icon:hover{color:var(--brand,#0284c7)}.version-page-wrap{background:#f8fafc;justify-content:center;align-items:center;min-height:100vh;padding:2.5rem 1.25rem;display:flex}.version-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:100%;max-width:680px;padding:2rem;box-shadow:0 10px 25px -5px #0f172a0d,0 8px 10px -6px #0f172a08}.version-card-header{border-bottom:1px solid #e2e8f0;margin-bottom:2rem;padding-bottom:1.5rem}.version-card-badge{text-transform:uppercase;letter-spacing:.05em;color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:9999px;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.version-card-badge-dot{background:#0284c7;border-radius:50%;width:6px;height:6px}.version-card-title{color:#0f172a;margin:0 0 .4rem;font-size:1.5rem;font-weight:700}.version-card-subtitle{color:#64748b;margin:0;font-size:.875rem}.version-section{margin-bottom:1.75rem}.version-section-heading{text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:0 0 .85rem;font-size:.8125rem;font-weight:700}.version-grid{border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.version-row{background:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.65rem 1rem;font-size:.84375rem;display:flex}.version-row:nth-child(2n){background:#f8fafc}.version-row:last-child{border-bottom:none}.version-key{color:#64748b;font-weight:500}.version-val{color:#0f172a;text-align:right;font-weight:500}.version-val code{background:#94a3b826;border-radius:4px;padding:.15rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem}.version-pill{color:#0284c7;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700}.version-env-badge{text-transform:uppercase;letter-spacing:.04em;color:#475569;background:#94a3b826;border-radius:4px;padding:.15rem .45rem;font-size:.6875rem;font-weight:700}.version-json-link{color:#0284c7;font-weight:600;text-decoration:none}.version-json-link:hover{text-decoration:underline}.version-actions{border-top:1px solid #e2e8f0;flex-wrap:wrap;gap:.75rem;padding-top:1.25rem;display:flex}.receipt-card{background:var(--surface);width:min(100%,36rem);position:relative}.receipt-brand{border-bottom:1px dashed var(--line);padding-bottom:1rem}.receipt-date{color:var(--muted);margin-top:.2rem;font-size:.78rem;display:block}.receipt-check-icon{vertical-align:text-bottom;width:.85rem;height:.85rem;margin-right:.25rem;display:inline-block}.receipt-meta-box{color:#475569;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:.75rem;gap:.25rem;padding:.75rem 1rem;font-size:.82rem;display:grid}.receipt-meta-item{margin:0;line-height:1.4}.receipt-meta-label{color:#1e293b;font-weight:600}.receipt-hero{text-align:center;background:linear-gradient(#f0fdf4 0%,#fff 100%);border:1px solid #dcfce7;border-radius:1rem;padding:1.35rem 1rem}.receipt-hero-amount{color:#0f172a;letter-spacing:-.035em;margin:.25rem 0;font-size:2.2rem;font-weight:800;display:block}.receipt-customer-chip{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;margin-top:.35rem;padding:.2rem .65rem;font-size:.8rem;font-weight:600;display:inline-block}.receipt-section{gap:.5rem;display:grid}.receipt-section-title{text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:0;font-size:.78rem;font-weight:700}.receipt-table{width:100%}.receipt-item-name{color:#0f172a;font-weight:600;line-height:1.35}.receipt-item-unit{color:#64748b;margin-top:.15rem;font-size:.75rem}.receipt-item-serials{flex-wrap:wrap;gap:.35rem;margin-top:.3rem;display:flex}.receipt-serial-badge{color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:.15rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem}.receipt-totals-box{border-top:1px dashed #cbd5e1;border-bottom:1px dashed #cbd5e1;gap:.4rem;padding:.85rem 0;font-size:.88rem;display:grid}.receipt-totals-row{color:#475569;justify-content:space-between;align-items:center;display:flex}.receipt-totals-row.is-credit{color:#047857;font-weight:600}.receipt-totals-grand{color:#0f172a;border-top:1px solid #e2e8f0;padding-top:.5rem;font-size:1.15rem;font-weight:800}.receipt-tenders-list{color:#64748b;border-top:1px dotted #e2e8f0;gap:.25rem;margin-top:.6rem;padding-top:.6rem;font-size:.82rem;display:grid}.receipt-tenders-title{color:#475569;font-weight:600}.receipt-tender-item{justify-content:space-between;display:flex}.receipt-tender-method{color:#334155;font-weight:600}.receipt-change-row{color:#0f172a;background:#f8fafc;border-radius:6px;margin-top:.35rem;padding:.35rem .5rem;font-weight:700}.receipt-notes-box{color:#64748b;text-align:center;background:#f8fafc;border-radius:8px;gap:.25rem;padding:.75rem 1rem;font-size:.8rem;line-height:1.5;display:grid}.receipt-note-line{color:#334155;margin:0}.receipt-note-muted{color:#94a3b8;margin:0;font-size:.75rem}.receipt-actions{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.5rem;display:grid}.receipt-foot{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:.5rem;display:flex}.receipt-verified-badge{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.76rem;font-weight:700;display:inline-flex}.receipt-shield-icon{width:.85rem;height:.85rem}@media print{body{background:#fff!important}.pay-shell{min-height:auto!important;padding:0!important;display:block!important}.receipt-card{box-shadow:none!important;border:none!important;width:100%!important;max-width:100%!important;padding:0!important}.no-print{display:none!important}.pay-foot{border-top:1px solid #ccc!important;margin-top:1rem!important}}
