:root{--bg: #07080c;--bg-elevated: #0e1018;--panel: rgba(18, 20, 28, .92);--panel-solid: #12141c;--panel-2: #1a1d28;--border: rgba(245, 184, 0, .12);--border-strong: rgba(245, 184, 0, .28);--text: #f4f1ea;--muted: #9a958a;--gold: #f5b800;--gold-soft: #ffd54a;--gold-dim: #b8860b;--accent: var(--gold);--accent-2: #2dd4a8;--danger: #f07178;--warn: #e8b84a;--radius: 16px;--radius-sm: 12px;--shadow: 0 24px 64px rgba(0, 0, 0, .55);--shadow-gold: 0 0 0 1px rgba(245, 184, 0, .15), 0 20px 50px rgba(0, 0, 0, .45);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--touch: 48px;--font: "SF Pro Display", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display: "SF Pro Display", "Segoe UI", system-ui, sans-serif;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%}.terminal[lang=km]{font-family:"Noto Sans Khmer","Khmer OS Content","Siemreap",var(--font)}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse 900px 500px at 15% -5%,rgba(245,184,0,.09),transparent 55%),radial-gradient(ellipse 700px 400px at 100% 0%,rgba(245,184,0,.04),transparent 50%),radial-gradient(ellipse 600px 500px at 50% 100%,rgba(45,212,168,.03),transparent 45%),var(--bg);overscroll-behavior-y:contain;color:var(--text)}button,input,select,textarea{font:inherit;min-height:var(--touch);font-size:16px}button{cursor:pointer;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:var(--radius-sm);padding:.75rem 1.1rem;touch-action:manipulation;transition:border-color .15s,background .15s,transform .12s,box-shadow .15s;font-weight:500;letter-spacing:.01em}button:hover:not(:disabled){border-color:var(--border-strong);background:#222633}button:active:not(:disabled){transform:scale(.98)}button.primary{background:linear-gradient(145deg,var(--gold-soft) 0%,var(--gold) 45%,var(--gold-dim) 100%);border-color:transparent;color:#1a1200;font-weight:700;box-shadow:0 8px 28px #f5b80047}button.primary:hover:not(:disabled){filter:brightness(1.05);border-color:transparent;background:linear-gradient(145deg,#ffe066 0%,var(--gold) 50%,#c99500 100%)}button.success{background:linear-gradient(145deg,#3eecc0,#2dd4a8,#1aa882);border-color:transparent;color:#04241a;font-weight:700;box-shadow:0 8px 28px #2dd4a838}button.danger{background:linear-gradient(145deg,#ff8a90,#e85d66);border-color:transparent;color:#2a0608;font-weight:700;width:100%;margin-top:.75rem}button:disabled{opacity:.45;cursor:not-allowed;transform:none}input,select,textarea{width:100%;background:#00000059;border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:.75rem .95rem;transition:border-color .15s,box-shadow .15s}textarea{min-height:4.5rem;resize:vertical;line-height:1.35}input:focus,select:focus,textarea:focus{outline:none;border-color:#f5b8008c;box-shadow:0 0 0 3px #f5b8001f}input::placeholder,textarea::placeholder{color:#6b665c}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:calc(1.5rem + var(--safe-top)) 1.25rem calc(1.5rem + var(--safe-bottom));position:relative;overflow:hidden}.login-wrap:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(245,184,0,.14) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-58%);pointer-events:none}.login-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--border-strong);border-radius:24px;padding:2.25rem 1.85rem 1.85rem;box-shadow:var(--shadow-gold);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;z-index:1}.login-card-split{width:min(820px,100%)}.login-split{display:grid;grid-template-columns:1fr auto 1fr;gap:1.25rem;align-items:start;margin-top:.5rem}.login-pane-title{margin:0 0 .25rem;font-size:1.05rem;color:var(--gold, #d4af37)}.login-pane-sub{margin:0 0 1rem}.login-split-divider{display:flex;align-items:center;justify-content:center;padding-top:2.5rem;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.login-split-divider span{writing-mode:vertical-rl;transform:rotate(180deg)}.login-footer-links{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;justify-content:center;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.wallet-addr{font-family:ui-monospace,monospace;margin-bottom:.75rem;word-break:break-all}.wallet-signup .field{margin-bottom:.75rem}@media(max-width:720px){.login-split{grid-template-columns:1fr;gap:1rem}.login-split-divider{padding-top:0}.login-split-divider span{writing-mode:horizontal-tb;transform:none}.login-card-split{width:min(420px,100%)}}.login-brand{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:1.75rem}.login-logo{width:88px;height:88px;object-fit:contain;border-radius:50%;margin-bottom:1.1rem;box-shadow:0 0 0 3px #f5b80040,0 12px 40px #f5b80033}.login-card h1{margin:0;font-size:1.65rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.login-card h1 .gold{color:var(--gold)}.login-card .tagline{margin:.4rem 0 0;color:var(--muted);font-size:.9rem;font-weight:400;letter-spacing:.02em}.login-card label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.4rem}.login-card .field{margin-bottom:1.1rem}.login-card .field-label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.5rem}.signup-card{width:min(480px,100%);max-height:min(96dvh,900px);overflow:auto}.product-picker{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1.1rem}.product-pick{text-align:left;display:flex;flex-direction:column;gap:.15rem;padding:.75rem .9rem;border-radius:12px;border:1px solid var(--border);background:#00000040;min-height:auto}.product-pick strong{font-size:.95rem}.product-pick span{font-size:.78rem;color:var(--muted)}.product-pick.active{border-color:var(--gold);background:#f5b8001a;box-shadow:inset 0 0 0 1px #f5b80026}.url-preview{margin:0 0 1.1rem;padding:.85rem .95rem;border-radius:12px;border:1px solid var(--border);background:#00000059}.url-preview.good{border-color:#2dd4a866}.url-preview.bad{border-color:#f0717873}.url-preview-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.35rem}.url-preview-value{font-size:.88rem;font-weight:600;color:var(--gold-soft);word-break:break-all}.url-hint{margin-top:.35rem;font-size:.8rem;font-weight:600}.url-hint.ok{color:#7eefcb}.url-hint.bad{color:#ffb4b8}button.linkish{width:100%;margin-top:.65rem;background:transparent;border:none;color:var(--muted);min-height:40px;text-decoration:underline;text-underline-offset:3px}button.linkish:hover{color:var(--gold-soft);background:transparent}.store-chip{text-align:center;font-size:.8rem;color:var(--gold-soft);margin:-.5rem 0 1rem;padding:.45rem .65rem;border-radius:999px;border:1px solid var(--border);background:#f5b8000f}.terminal{display:grid;grid-template-rows:auto auto auto 1fr;min-height:100dvh;padding-bottom:calc(.5rem + var(--safe-bottom));padding-top:var(--safe-top)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 1rem;border-bottom:1px solid var(--border);background:#07080ce0;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:.65rem;font-weight:700;letter-spacing:-.02em;font-size:1.05rem}.brand-logo{width:36px;height:36px;object-fit:contain;border-radius:50%;box-shadow:0 0 0 2px #f5b80059}.brand .wordmark{background:linear-gradient(90deg,var(--text) 0%,var(--gold-soft) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.brand .wordmark span{color:var(--gold);-webkit-text-fill-color:var(--gold)}.topbar-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;color:var(--muted);font-size:.85rem}.badge{display:inline-flex;align-items:center;gap:.35rem;background:#f5b8000f;border:1px solid var(--border);border-radius:999px;padding:.3rem .7rem;font-size:.75rem;font-weight:500;color:var(--muted)}.badge.ok{border-color:#2dd4a859;color:#7eefcb;background:#2dd4a814}.badge.warn{border-color:#f5b80066;color:var(--gold-soft);background:#f5b8001a}.topbar button{min-height:40px;padding:.45rem .85rem;font-size:.85rem}.tabs{display:flex;gap:.35rem;padding:.5rem .65rem;border-bottom:1px solid var(--border);background:#07080cd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:19;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{border-radius:999px;background:transparent;color:var(--muted);flex:1 1 0;min-width:0;min-height:2.55rem;white-space:nowrap;border-color:transparent;font-weight:600;font-size:.84rem;padding:.45rem .65rem}.tabs button.active{background:#f5b8001f;color:var(--gold-soft);border-color:var(--border-strong);box-shadow:inset 0 0 0 1px #f5b8001a}.tabs .tabs-more-btn{flex:0 0 auto;min-width:4.25rem}.tabs .cart-fab-tab{flex:0 0 auto;background:linear-gradient(145deg,var(--gold-soft),var(--gold));border-color:transparent;color:#1a1200;font-weight:700;box-shadow:0 4px 16px #f5b80040}.more-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;border:none;margin:0;padding:0;width:100%;height:100%;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.more-sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:#0e1018fa;border:1px solid var(--border-strong);border-bottom:none;border-radius:18px 18px 0 0;padding:.55rem .85rem calc(1rem + var(--safe-bottom, 0px));box-shadow:0 -12px 40px #00000080;animation:moreSheetIn .22s cubic-bezier(.22,1,.36,1);max-height:min(70dvh,520px);overflow:auto}@keyframes moreSheetIn{0%{transform:translateY(10%);opacity:.7}to{transform:translateY(0);opacity:1}}.more-sheet-handle{width:2.4rem;height:.28rem;border-radius:999px;background:#ffffff38;margin:.15rem auto .55rem}.more-sheet-title{font-weight:700;color:var(--gold-soft);margin-bottom:.55rem;font-size:.95rem}.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.more-grid button{margin:0;min-height:3rem;border-radius:12px;font-weight:650;background:#ffffff0a;color:var(--text, #eee)}.more-grid button.active{background:#f5b80024;color:var(--gold-soft);border-color:var(--border-strong)}@media(min-width:720px){.more-sheet{left:auto;right:.75rem;bottom:auto;top:6.5rem;width:min(22rem,calc(100vw - 1.5rem));border-radius:14px;border:1px solid var(--border-strong);max-height:min(70vh,480px);animation:morePopIn .16s ease-out}.more-backdrop{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.more-sheet-handle{display:none}@keyframes morePopIn{0%{transform:translateY(-6px);opacity:0}to{transform:translateY(0);opacity:1}}}.banner-row{padding:.55rem 1rem 0;display:flex;flex-direction:column;gap:.4rem}.layout{display:grid;grid-template-columns:1.35fr 1fr;gap:1rem;padding:1rem}.layout.single{grid-template-columns:1fr;max-width:640px;margin:0 auto;width:100%}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem 1.2rem;min-height:0;box-shadow:0 8px 32px #00000040;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel h2{margin:0 0 .85rem;font-size:.72rem;color:var(--gold-dim);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.toolbar select{width:auto;min-width:140px}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.7rem;max-height:calc(100vh - 260px);overflow:auto;padding-bottom:.25rem}.product-card{text-align:left;padding:.95rem;background:linear-gradient(160deg,#1c1f2b,#14161f);border:1px solid var(--border);border-radius:14px;min-height:110px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.product-card-img{width:calc(100% + 0rem);height:88px;object-fit:cover;border-radius:10px;margin:-.25rem 0 .5rem;background:#ffffff0d}.product-card-img.placeholder{background:linear-gradient(135deg,#f5b8001f,#ffffff08)}.product-photo-row{display:flex;gap:.75rem;align-items:flex-start}.product-photo-preview{width:88px;height:88px;border-radius:12px;border:1px solid var(--border);background:#00000040;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.product-photo-preview img{width:100%;height:100%;object-fit:cover}.inv-thumb{width:48px;height:48px;border-radius:10px;object-fit:cover;flex-shrink:0;background:#ffffff0f}.inv-thumb.placeholder{border:1px solid var(--border)}.product-card:hover:not(:disabled){border-color:#f5b80073;box-shadow:0 8px 24px #f5b80014;transform:translateY(-2px)}.product-card .name{font-weight:650;margin-bottom:.35rem;font-size:.95rem;line-height:1.25;letter-spacing:-.01em}.product-card .meta{color:var(--muted);font-size:.78rem;line-height:1.4}.product-card .meta strong{color:var(--gold-soft);font-size:.95rem;font-weight:700}.product-card.oos{opacity:.5}.stock-badge{display:inline-block;margin-top:.45rem;font-size:.68rem;font-weight:600;letter-spacing:.03em;padding:.22rem .5rem;border-radius:999px;background:#2dd4a81a;border:1px solid rgba(45,212,168,.3);color:#7eefcb}.stock-badge.warn{background:#f5b8001a;border-color:#f5b80059;color:var(--gold-soft)}.stock-badge.danger{background:#f071781f;border-color:#f0717859;color:#ffb4b8}.cart-lines{display:flex;flex-direction:column;gap:.5rem;max-height:36vh;overflow:auto;margin-bottom:1rem}.cart-line{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.75rem .85rem;background:#00000047;border-radius:12px;border:1px solid var(--border)}.cart-lines.vac{gap:.3rem}.cart-line-head.vac,.cart-line.vac{display:grid;grid-template-columns:minmax(0,1.5fr) 4.6rem 3.8rem 5.2rem 4.4rem 1.85rem;gap:.3rem;align-items:center}.cart-line-head.vac{padding:0 .45rem .2rem;background:none;border:none;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600}.cart-line-head.vac span:nth-child(n+2){text-align:right}.cart-line.vac{padding:.5rem .45rem}.cart-line-item{min-width:0}.cart-line-item strong{display:block;font-size:.86rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-line-meta{color:var(--muted);font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-cell-input{width:100%;min-width:0;min-height:40px;margin:0;padding:.38rem .28rem;font-size:.82rem;text-align:right;font-variant-numeric:tabular-nums;border-radius:8px}.cart-disc-pct{display:flex;align-items:center;gap:.12rem;min-width:0}.cart-disc-pct .cart-cell-input{flex:1}.cart-disc-pct span{font-size:.75rem;color:var(--muted);font-weight:650}.cart-line-total{text-align:right;font-variant-numeric:tabular-nums;font-weight:650;font-size:.84rem}.cart-line-remove{min-width:32px;min-height:32px;width:32px;padding:0;border-radius:8px;font-size:1.05rem;line-height:1}@media(max-width:520px){.cart-line-head.vac,.cart-line.vac{grid-template-columns:minmax(0,1.2fr) 4.1rem 3.3rem 4.6rem 3.9rem 1.7rem;gap:.22rem}}.qty-row{display:flex;align-items:center;gap:.4rem}.qty-row button{padding:0;min-width:var(--touch);min-height:var(--touch);border-radius:12px;font-size:1.15rem;font-weight:600}.totals{border-top:1px solid var(--border);padding-top:.85rem;margin:.85rem 0}.totals-row{display:flex;justify-content:space-between;margin-bottom:.4rem;color:var(--muted);font-size:.9rem}.totals-row.grand{color:var(--text);font-size:1.35rem;font-weight:700;margin-top:.55rem;letter-spacing:-.02em}.totals-row.grand span:last-child{color:var(--gold-soft)}.pay-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin-bottom:.75rem}.pay-grid.pay-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pay-grid button.active{border-color:var(--gold);background:#f5b8001f;color:var(--gold-soft);box-shadow:inset 0 0 0 1px #f5b80026}.error{color:#ffc9cc;background:#7f1d1d59;border:1px solid rgba(185,28,28,.5);border-radius:12px;padding:.7rem .9rem;font-size:.88rem}.success-box{color:#b8f5e0;background:#064e3b59;border:1px solid rgba(16,185,129,.35);border-radius:12px;padding:.75rem .9rem;font-size:.88rem}.empty{color:var(--muted);text-align:center;padding:2.5rem 1rem;font-size:.95rem}.meta{color:var(--muted);font-size:.85rem}.mobile-only{display:none}.mobile-hint{margin:-.35rem 0 .85rem;font-size:.8rem}.customer-box{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:.75rem}.customer-box label{display:flex;flex-direction:column;gap:.3rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.customer-suggest-wrap{position:relative}.customer-suggest{list-style:none;margin:.25rem 0 0;padding:.25rem;position:absolute;left:0;right:0;z-index:40;max-height:220px;overflow:auto;border-radius:10px;border:1px solid var(--border-strong);background:var(--panel, #1a1d24);box-shadow:var(--shadow-gold, 0 8px 24px rgba(0, 0, 0, .35))}.customer-suggest li button{width:100%;margin:0;text-align:left;background:transparent;border:none;padding:.45rem .55rem;border-radius:8px;color:var(--text);font-size:.88rem;text-transform:none;letter-spacing:0;font-weight:500;cursor:pointer}.customer-suggest li button:hover{background:#d4af371f}.cart-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.cart-panel-head h2{margin:0}.charge-btn{width:100%;padding:1rem;font-size:1.05rem;min-height:54px;letter-spacing:.02em}.stack{display:flex;flex-direction:column;gap:.85rem}.stack label{display:flex;flex-direction:column;gap:.4rem;color:var(--muted);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.z-report{margin-top:1rem;padding:1rem;background:#0006;border-radius:12px;border:1px solid var(--border);overflow:auto;max-height:50vh;font-size:.78rem;color:var(--muted);font-family:ui-monospace,SF Mono,Menlo,monospace}.z-report-card{margin-top:1.1rem;padding:1.1rem 1.15rem;background:linear-gradient(165deg,#f5b8000f,#00000059);border-radius:16px;border:1px solid var(--border-strong)}.z-report-card h3{margin:0 0 .85rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.z-rows{display:flex;flex-direction:column;gap:.45rem}.z-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--border);font-size:.92rem;color:var(--muted)}.z-row strong{color:var(--text);font-variant-numeric:tabular-nums}.z-row.highlight{color:var(--gold-soft)}.z-row.highlight strong{color:var(--gold-soft);font-size:1.1rem}.z-row.variance.ok strong{color:#7eefcb}.z-row.variance.over strong{color:var(--gold-soft)}.z-row.variance.short strong{color:#ffb4b8}.inv-form .inv-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.variant-builder{display:flex;flex-direction:column;gap:.55rem;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:#0003}.variant-opt-row{align-items:end}.variant-badge{display:inline-block;margin-left:.35rem;padding:.1rem .4rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gold, #d4af37);border:1px solid rgba(212,175,55,.45);border-radius:999px;vertical-align:middle}.variant-inv-list{margin-top:.55rem;display:flex;flex-direction:column;gap:.4rem}.variant-inv-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .55rem;border-radius:8px;background:#ffffff0a;border:1px solid var(--border);font-size:.9rem}.variant-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#000000a6;display:flex;align-items:flex-end;justify-content:center;padding:1rem}@media(min-width:720px){.variant-modal-backdrop{align-items:center}}.variant-modal{width:min(480px,100%);max-height:80vh;overflow:auto;margin:0}.variant-chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;margin-top:.75rem}.variant-chip{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.7rem .75rem;border-radius:12px;border:1px solid var(--border);background:#00000059;color:inherit;text-align:left;cursor:pointer;min-height:64px}.variant-chip.active{border-color:var(--gold);background:#f5b80024;box-shadow:inset 0 0 0 1px #f5b80033}.variant-chip:hover:not(:disabled){border-color:var(--gold, #d4af37)}.variant-chip.oos,.variant-chip:disabled{opacity:.45;cursor:not-allowed}.variant-chip .meta{font-size:.8rem;color:var(--muted)}.inv-form .check-label{flex-direction:row!important;align-items:center;gap:.5rem!important;text-transform:none!important;letter-spacing:0!important;font-size:.9rem!important;margin-top:1.5rem}.inv-form .check-label input{width:auto;min-height:auto}.inv-list{display:flex;flex-direction:column;gap:.5rem;max-height:60vh;overflow:auto}.inv-item{display:flex;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border:1px solid var(--border);border-radius:12px;background:#00000040;flex-wrap:wrap}.inv-item.inactive{opacity:.55}.inv-actions{display:flex;flex-direction:column;gap:.35rem;align-items:flex-end}.receive-row{display:flex;gap:.35rem;align-items:center}.gold-text{color:var(--gold-soft);font-weight:700}.ric-pill{margin:.4rem 0;font-size:.85rem;font-weight:600;color:var(--gold-soft)}.ric-pill.ok{color:#7eefcb}.ric-pill.fail{color:#ffb4b8}.ric-books-banner{margin:.85rem 0;padding:.85rem .95rem;border-radius:14px;border:1px solid var(--border);background:#f5b8000f}.ric-books-banner.ok{border-color:#2dd4a866;background:#2dd4a81a}.ric-books-banner.fail{border-color:#f0717873;background:#7f1d1d40}.ric-books-title{font-weight:700;font-size:1rem;margin-bottom:.25rem;color:var(--text)}.ric-books-banner.ok .ric-books-title{color:#7eefcb}.ric-books-banner.fail .ric-books-title{color:#ffb4b8}@media(max-width:960px){.inv-form .inv-row{grid-template-columns:1fr}}.receipt-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.receipt-logo{width:48px;height:48px;border-radius:50%;object-fit:contain}.receipt-logo.custom{border-radius:8px;object-fit:contain;background:#fff}.settings-vat-box,.settings-logo-box{padding:.75rem;border:1px solid var(--border);border-radius:12px;background:#0003;display:flex;flex-direction:column;gap:.5rem}.plan-usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:.75rem}.plan-usage-cell{padding:.65rem .75rem;border:1px solid var(--border);border-radius:12px;background:#00000038;display:flex;flex-direction:column;gap:.2rem}.plan-usage-cell.over{border-color:#c45c5c;background:#c45c5c1f}.plan-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-top:.85rem}.plan-card{padding:.85rem;border:1px solid var(--border);border-radius:14px;background:var(--panel-2);display:flex;flex-direction:column;gap:.45rem}.plan-card.active{border-color:var(--gold, #d4a017);box-shadow:0 0 0 1px #d4a01759}.plan-card.confirming{border-color:#6ea8fe}.plan-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.plan-card-head h3{margin:0;font-size:1.05rem}.plan-price{margin:0;font-size:.85rem;color:var(--gold, #d4a017);font-weight:600}.plan-highlights{margin:.15rem 0 .35rem;padding-left:1.1rem;color:var(--muted);font-size:.86rem;display:flex;flex-direction:column;gap:.25rem}.plan-confirm{display:flex;flex-direction:column;gap:.45rem;margin-top:.25rem}.platform-tenant-row{align-items:flex-start;gap:.75rem;flex-wrap:wrap}.platform-tenant-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.platform-tenant-actions select{width:auto;min-width:7rem}.platform-free-grant{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.platform-free-grant input{width:3.25rem;text-align:center;margin:0}.platform-free-grant button{width:auto;margin:0;white-space:nowrap}.learning-layout{grid-template-columns:1fr}.learning-panel{max-width:920px;margin:0 auto;width:100%}.learning-module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem}.learning-module-card{display:flex;flex-direction:column;text-align:left;padding:0;overflow:hidden;border-radius:16px;border:1px solid var(--border);background:#00000047;width:100%;margin:0;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.learning-module-card:hover{border-color:var(--gold, #d4af37);transform:translateY(-1px)}.learning-module-card.done{border-color:#50c87873}.learning-module-cover{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;background:#111}.learning-module-body{display:flex;flex-direction:column;gap:.35rem;padding:.75rem .85rem .9rem}.learning-module-body strong{color:var(--text);font-size:1rem}.learning-figure{margin:.75rem 0 1rem;border-radius:16px;overflow:hidden;border:1px solid var(--border);background:#00000059}.learning-img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}.learning-figure figcaption{padding:.45rem .75rem .55rem}.learning-body{line-height:1.55;margin:.35rem 0 .75rem;color:var(--text)}.learning-tip,.learning-practice{margin:.45rem 0;padding:.65rem .75rem;border-radius:12px;border:1px solid var(--border);background:#00000038;font-size:.92rem;line-height:1.45}.learning-practice{border-color:#d4af3759;background:#d4af3714}.learning-progress-bar{height:6px;border-radius:99px;background:#ffffff14;overflow:hidden;margin:.5rem 0 .25rem}.learning-progress-bar>div{height:100%;background:linear-gradient(90deg,#b8860b,var(--gold, #d4af37));border-radius:99px;transition:width .2s ease}.learning-step-dots{display:flex;flex-wrap:wrap;gap:.35rem;margin:1rem 0 .5rem}.learning-step-dots button{width:10px;height:10px;min-height:0;padding:0;margin:0;border-radius:50%;border:none;background:#fff3;cursor:pointer}.learning-step-dots button.active{background:var(--gold, #d4af37);transform:scale(1.25)}.learning-step-dots button.done{background:#50c878bf}.learning-nav{margin-top:.75rem}.learning-nav .primary{margin-left:auto}@media(max-width:640px){.plan-usage-grid{grid-template-columns:1fr}}.settings-logo-row{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.settings-logo-preview{width:72px;height:72px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid var(--border)}.settings-khqr-preview{width:112px;height:112px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid var(--border);padding:.25rem}.settings-khqr-placeholder{width:112px;height:112px;border-radius:12px;border:1px dashed var(--border);display:flex;align-items:center;justify-content:center;text-align:center;padding:.5rem;background:#00000026}.vat-rate-input{display:flex;align-items:center;gap:.35rem}.vat-rate-input input{flex:1;max-width:8rem}.vat-rate-suffix{font-weight:600;color:var(--muted);font-size:.95rem}.cart-panel-actions{display:flex;align-items:center;gap:.4rem}.hold-row{display:flex;gap:.45rem;margin-bottom:.65rem;align-items:stretch}.hold-row button{width:auto;min-width:4.5rem;margin-top:0;white-space:nowrap}.held-list{margin-bottom:.75rem;padding:.55rem .65rem;border:1px solid var(--border);border-radius:12px;background:#00000038;max-height:220px;overflow:auto;display:flex;flex-direction:column;gap:.45rem}.held-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .35rem;border-bottom:1px solid var(--border)}.held-row:last-child{border-bottom:none}.held-actions{display:flex;gap:.35rem;flex-shrink:0}.report-summary{margin:.75rem 0 1rem;padding:.75rem;border-radius:12px;border:1px solid var(--border);background:#00000038}.report-details-wrap{overflow-x:auto;max-height:min(70vh,640px);overflow-y:auto;margin-bottom:1rem}.report-details{min-width:960px}.report-details tfoot td{font-weight:600;border-bottom:none;padding-top:.65rem}.own-dash{display:flex;flex-direction:column;gap:1rem;padding:1rem}.own-dash-head{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;align-items:flex-start}.own-dash-head h2,.own-dash .panel h2{margin:0 0 .2rem}.own-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem;margin:.85rem 0 1rem}.own-kpis article{padding:.75rem .85rem;border-radius:14px;border:1px solid var(--border);background:#00000047;display:flex;flex-direction:column;gap:.2rem}.own-kpis article.warn{border-color:#f5b80073;background:#f5b80014}.own-kpis span{font-size:.72rem;color:var(--muted);letter-spacing:.02em}.own-kpis strong{font-size:1.35rem;letter-spacing:-.03em;color:var(--gold-soft)}.own-kpis em{font-style:normal;font-size:.75rem;color:var(--muted)}.own-bars{display:flex;align-items:flex-end;gap:3px;height:88px;padding:.2rem 0}.own-bar-col{flex:1;min-width:0;height:100%;display:flex;align-items:flex-end}.own-bar{width:100%;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--gold-soft),rgba(212,175,55,.35))}.own-bar-axis{display:flex;justify-content:space-between;font-size:.68rem;color:var(--muted);margin-bottom:.25rem}.own-table-wrap{overflow:auto;max-height:52vh}.own-table th,.own-table td{white-space:nowrap}.own-table td:first-child{white-space:normal}.own-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.own-mini{list-style:none;margin:.4rem 0 .85rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.own-mini li{display:flex;justify-content:space-between;gap:.75rem;font-size:.88rem;padding-bottom:.35rem;border-bottom:1px solid rgba(245,184,0,.08)}.own-mini em{font-style:normal;color:var(--muted);font-size:.78rem}.own-dash h3{margin:.85rem 0 .4rem;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.exp-year-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;margin:.75rem 0 .5rem}.exp-month{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;padding:.55rem .65rem;border-radius:12px;min-height:0;width:auto}.exp-month strong{font-size:.82rem;color:var(--gold-soft)}.exp-month span{font-size:1.05rem;font-weight:700}.exp-month em{font-style:normal;font-size:.68rem;color:var(--muted);line-height:1.3}.exp-month.on{border-color:var(--gold);background:#f5b8001a}.exp-month-list{display:flex;flex-direction:column;gap:.85rem;max-height:70vh;overflow:auto}.exp-month-block{border:1px solid var(--border);border-radius:14px;padding:.65rem .75rem;background:#00000038}.exp-month-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.35rem}.exp-month-head strong{color:var(--gold-soft)}.exp-month-actions{display:inline-flex;align-items:center;gap:.5rem}.exp-edit-btn{min-height:32px;width:auto;padding:.15rem .7rem;font-size:.78rem;color:var(--muted);background:transparent;border:1px dashed rgba(245,184,0,.28)}.exp-edit-btn.on{color:var(--gold-soft);border-style:solid;border-color:var(--gold);background:#f5b8001a}.exp-pdf-root{display:none}.exp-line{padding-left:.5rem;font-size:.82rem}.exp-line-amt{display:inline-flex;align-items:center;gap:.35rem}.exp-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.55rem .7rem}.date-dmy{position:relative;display:block;width:100%}.date-dmy input[type=text]{width:100%;padding-right:2.5rem}.date-dmy-cal{position:absolute;right:0;top:0;width:2.6rem!important;height:100%;min-height:var(--touch);opacity:0;cursor:pointer;padding:0;border:0;background:transparent}.date-dmy:after{content:"▾";position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--muted);font-size:.8rem}.toolbar .date-dmy{width:auto;min-width:8.6rem;flex:0 0 auto}.exp-pay-line{display:block;font-size:.78rem;color:var(--muted);margin-top:.15rem}.cf-paid{opacity:.72}.cf-pay{display:flex;justify-content:space-between;gap:.75rem;padding:.25rem 0 .35rem .5rem;font-size:.82rem;border-bottom:1px solid rgba(245,184,0,.08)}.partial-refund-box{margin:.75rem 0;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:#00000040}.partial-refund-box .qty{display:inline-flex;align-items:center;gap:.2rem}.partial-refund-box .qty button{min-height:2.2rem;min-width:2.2rem;padding:0}.check-label{display:flex;align-items:center;gap:.55rem;font-size:.9rem;margin:.35rem 0}.check-label input{width:auto;min-height:auto}.crypto-invoice-box{margin:1rem 0;padding:1rem;border:1px solid var(--gold, #d4af37);border-radius:14px;background:#d4af3714}.crypto-invoice-box h3{margin-top:0}.crypto-addr-row{display:flex;gap:.5rem;align-items:center;margin:.65rem 0;flex-wrap:wrap}.crypto-addr-row code{flex:1;min-width:0;word-break:break-all;font-size:.8rem;padding:.5rem .65rem;border-radius:8px;background:#00000059;border:1px solid var(--border)}.crypto-addr-row button{width:auto;margin:0}.invoice-edit-panel{margin-top:.35rem}.invoice-edit-table-wrap{overflow-x:auto;margin-bottom:.75rem;border:1px solid var(--border);border-radius:12px;background:#00000038}.invoice-edit-table{width:100%;border-collapse:collapse;font-size:.9rem}.invoice-edit-table th,.invoice-edit-table td{padding:.45rem .5rem;border-bottom:1px solid var(--border);vertical-align:middle}.invoice-edit-table th{text-align:left;color:var(--muted, #9aa3b2);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.invoice-edit-table th.num,.invoice-edit-table td.num{text-align:right}.invoice-edit-table input{width:100%;min-width:0;font-size:.9rem}.invoice-edit-table td.num input{width:4.5rem;text-align:right;margin-left:auto;display:block}.invoice-edit-table tr.removed td,.invoice-edit-table tr.removed input{opacity:.45;text-decoration:line-through}.invoice-edit-table .ghost{background:transparent;border:none;color:var(--muted, #9aa3b2);padding:.25rem .4rem;cursor:pointer;width:auto;margin:0}.invoice-edit-table .danger-text{color:#f07178}.invoice-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:.65rem .75rem;margin-bottom:.75rem}.invoice-edit-fields label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--muted, #9aa3b2)}.invoice-edit-fields label.full{grid-column:1 / -1}.invoice-edit-fields input,.invoice-edit-fields textarea{width:100%}.invoice-edit-preview{padding:.75rem;border-radius:12px;border:1px solid var(--border);background:#00000047}.invoice-edit-preview .totals-row{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0}.invoice-edit-preview .totals-row.grand{margin-top:.35rem;padding-top:.45rem;border-top:1px solid var(--border);font-weight:700;color:var(--gold, #d4af37)}@media(max-width:640px){.invoice-edit-fields{grid-template-columns:1fr}}h3{margin:1rem 0 .4rem;font-size:.95rem;color:var(--gold, #d4af37)}.branch-check-grid{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.temp-pass{font-size:1rem;color:var(--gold, #d4af37);letter-spacing:.04em;-webkit-user-select:all;user-select:all}.invite-box{margin-bottom:.75rem}.khqr-box{margin-bottom:.75rem;padding:.65rem;border:1px solid var(--border);border-radius:12px;background:#00000040;text-align:center}.khqr-image{width:min(220px,100%);height:auto;margin:.5rem auto;background:#fff;border-radius:8px;padding:.35rem}.khqr-status{padding:.65rem .75rem;border-radius:12px;border:1px solid var(--border);background:#00000038}.khqr-status.ok{border-color:#50c87873}.khqr-status.warn{border-color:#d4af3759}.restaurant-layout{grid-template-columns:1fr 1fr}@media(min-width:1100px){.restaurant-layout{grid-template-columns:1fr 1fr 1fr}}@media(max-width:800px){.restaurant-layout{grid-template-columns:1fr}}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.55rem}.table-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.75rem;min-height:88px;border-radius:14px;border:1px solid var(--border);background:#0000004d;color:inherit;cursor:pointer;text-align:left}.table-tile.selected{border-color:var(--gold, #d4af37);box-shadow:0 0 0 1px #d4af3766}.table-tile.status-free{border-color:#50c87859}.table-tile.status-occupied{border-color:#f5b80080;background:#f5b80014}.table-tile.status-dirty{border-color:#ff787866;opacity:.85}.table-status{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.menu-grid{max-height:50vh;overflow:auto}.kds-list{display:flex;flex-direction:column;gap:.5rem}.kds-card{text-align:left;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--border);background:#0000004d;color:inherit;cursor:pointer}.kds-card.status-queued{border-left:4px solid #f5b800}.kds-card.status-preparing{border-left:4px solid #5b9dff}.kds-card.status-ready{border-left:4px solid #50c878}.kds-board{padding:.75rem 1rem 2rem}.kds-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:.85rem}.kds-head h2{margin:0}.kds-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.kds-cols section{background:#0e1018b3;border:1px solid var(--border);border-radius:16px;padding:.7rem;min-height:50vh}.kds-cols h3{margin:0 0 .65rem;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between}.kds-cols h3 em{font-style:normal;color:var(--gold-soft)}.kds-card-top{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.kds-item{font-weight:650;font-size:1.02rem}.kds-age{font-variant-numeric:tabular-nums;font-size:.78rem;color:var(--muted)}.kds-age.late,.kds-card.late .kds-age{color:#ff8a90;font-weight:700}.kds-card.warn{border-color:#f5b80073}.kds-card.late{border-color:#f071788c;background:#f0717814}@media(max-width:900px){.kds-cols{grid-template-columns:1fr}}.receipt-store{font-weight:700;font-size:1.15rem;letter-spacing:-.02em;line-height:1.25}.receipt-merchant{min-width:0}.receipt-legal{font-size:.82rem;color:var(--muted);margin-top:.1rem}.receipt-branch,.receipt-address,.receipt-tax-mode{margin-top:.15rem;font-size:.8rem;line-height:1.35}.receipt-powered{margin-top:.35rem;font-size:.72rem;opacity:.75}.receipt-meta{margin-bottom:.85rem;line-height:1.45}.receipt-table{width:100%;border-collapse:collapse;margin:.5rem 0 1rem;font-size:.9rem}.receipt-table th{text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--border);padding:.35rem .25rem}.receipt-table td{padding:.45rem .25rem;border-bottom:1px solid var(--border);vertical-align:top}.receipt-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.receipt-totals{margin:.75rem 0;padding-top:.35rem}.receipt-pay{margin:.75rem 0;padding:.65rem .75rem;border-radius:12px;background:#00000040;border:1px solid var(--border)}.receipt-footer{text-align:center;margin-top:1rem;padding-top:.75rem;border-top:1px dashed var(--border)}.ric-books-banner.muted{border-color:var(--border);background:#ffffff08}.ric-books-banner.muted .ric-books-title{color:var(--muted);font-size:.85rem;font-weight:600}.doc-view-tabs{display:flex;gap:.35rem;margin-bottom:.65rem;flex-wrap:wrap}.doc-view-tabs button{width:auto;min-width:6.5rem;margin-top:0;padding:.45rem .85rem}.doc-view-tabs button.active{background:var(--gold, #d4a017);color:#111;border-color:var(--gold, #d4a017);font-weight:650}.invoice-a5{--inv-blue: #1a3f7a;--inv-gold: #c4a35a;--inv-page-w: 140mm;--inv-page-h: 205mm;--inv-pad-x: 4mm;--inv-pad-y: 3.5mm;--inv-sign-space: 18mm;--inv-fs: 10pt;--inv-fs-sm: 8pt;--inv-fs-title: 11pt;background:#fff;color:#1a1a1a;border-radius:4px;border:1px solid var(--border);padding:var(--inv-pad-y) var(--inv-pad-x);width:var(--inv-page-w);max-width:var(--inv-page-w);height:var(--inv-page-h);max-height:var(--inv-page-h);min-height:0;margin:0 auto;font-size:var(--inv-fs);line-height:1.28;font-family:Khmer OS Battambang,Khmer OS Battambong,Battambang,sans-serif;box-shadow:0 8px 28px #00000040;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column}.inv-a5-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.35rem;align-items:start;padding-bottom:.28rem;border-bottom:2.5px solid var(--inv-blue);box-shadow:0 2px 0 var(--inv-gold);margin-bottom:.32rem;flex-shrink:0}.inv-a5-header-spacer{min-width:0}.invoice-a5-blank .inv-a5-header{border-bottom-color:#c5cddc}.inv-a5-brand{display:flex;gap:.4rem;align-items:flex-start;min-width:0;flex:1}.inv-a5-logo{width:28px;height:28px;object-fit:contain;border-radius:3px;background:#fff;border:1px solid #e2e6ee;flex-shrink:0}.inv-a5-company{font-size:var(--inv-fs-title);font-weight:750;color:var(--inv-blue);line-height:1.15;overflow:hidden;text-overflow:ellipsis}.inv-a5-legal{font-size:var(--inv-fs-sm);color:#445}.inv-a5-muted{font-size:var(--inv-fs-sm);color:#667;line-height:1.25}.inv-a5-title-block{justify-self:center;text-align:center;max-width:none;padding-top:1cm;padding-bottom:1mm}.inv-a5-title{margin:0;font-size:var(--inv-fs-title);font-weight:800;color:var(--inv-blue);text-align:center;display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.1;letter-spacing:.04em;text-transform:uppercase}.inv-a5-title-km{font-size:var(--inv-fs);font-weight:650;color:#2a5aa8;letter-spacing:0;text-transform:none}.inv-a5-stamp{margin-top:.2rem;font-size:10pt;font-weight:800;letter-spacing:.04em;text-align:center}.inv-a5-stamp.void{color:#c62828}.inv-a5-stamp.ret{color:#b26a00}.inv-a5-stamp.credit{color:#8a5a00;border:1px solid #c4a35a;border-radius:4px;padding:.08rem .35rem;font-size:var(--inv-fs-sm);letter-spacing:.02em}.inv-bi-inline{display:inline-flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.2rem;line-height:1.15}.inv-bi-inline .inv-bi-km:before{content:"· ";opacity:.7}.inv-bi-inline .inv-bi-km{font-size:.9em;font-weight:500;opacity:.9}.inv-bi-stacked{display:inline-flex;flex-direction:column;gap:.05rem;line-height:1.2}.inv-bi-stacked .inv-bi-km{font-size:.92em;color:#445}.inv-a5-meta-row .inv-bi,.inv-a5-tot-row .inv-bi{flex:1;min-width:0}.inv-a5-parties{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.22rem;margin-bottom:.22rem;flex-shrink:0}.inv-a5-box{border:1px solid #d8dde8;border-radius:4px;padding:.18rem .28rem;background:#f7f9fc;min-height:0}.inv-a5-box-label{font-size:var(--inv-fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--inv-blue);margin-bottom:.08rem}.inv-a5-box-name{font-weight:650;color:#222;font-size:var(--inv-fs);line-height:1.25}.inv-a5-ship-addr{margin-top:.08rem;white-space:pre-wrap;color:#333;font-size:var(--inv-fs)}.inv-a5-meta-box{border:1px solid #d8dde8;border-radius:4px;padding:.2rem .35rem;background:#fff}.inv-a5-meta-row{display:flex;justify-content:space-between;gap:.3rem;font-size:var(--inv-fs);padding:.1rem 0;border-bottom:1px dotted #e4e8f0}.inv-a5-meta-row:last-child{border-bottom:none}.inv-a5-meta-row strong{color:#222;text-align:right}.inv-a5-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0 0 .22rem;font-size:var(--inv-fs);flex:0 0 auto}.inv-a5-table col.col-qty{width:12mm}.inv-a5-table col.col-price{width:22mm}.inv-a5-table col.col-disc{width:18mm}.inv-a5-table col.col-amt{width:24mm}.inv-a5-table th{background:var(--inv-blue);color:#fff;text-align:left;padding:.16rem .28rem;font-weight:650;font-size:var(--inv-fs-sm);text-transform:uppercase;letter-spacing:.03em;line-height:1.2}.inv-a5-table th .inv-bi-inline{flex-direction:column;align-items:inherit;gap:0}.inv-a5-table th .inv-bi-km:before{content:none}.inv-a5-table th .inv-bi-km{font-size:7.5pt;font-weight:500;text-transform:none;letter-spacing:0;opacity:.92}.inv-a5-table th.col-qty .inv-bi-inline,.inv-a5-table th.col-price .inv-bi-inline,.inv-a5-table th.col-disc .inv-bi-inline,.inv-a5-table th.col-amt .inv-bi-inline{align-items:flex-end}.inv-a5-table td{padding:1.5mm .28rem 1mm;border-bottom:1px solid #e8ecf3;color:#222;vertical-align:top;line-height:1.25}.inv-a5-table tbody tr:nth-child(2n) td{background:#f6f8fc}.inv-a5-table tbody tr:last-child td{border-bottom:1px solid #c5cddc}.inv-a5-table .col-qty,.inv-a5-table .col-price,.inv-a5-table .col-disc,.inv-a5-table .col-amt,.inv-a5-table th.col-qty,.inv-a5-table th.col-price,.inv-a5-table th.col-disc,.inv-a5-table th.col-amt{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.inv-a5-item-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.inv-a5-sku{margin:0;font-size:var(--inv-fs-sm);font-weight:500;color:#667}.inv-a5-bottom{display:grid;grid-template-columns:1.25fr 1fr;gap:.22rem;margin-bottom:0;align-items:start;flex-shrink:0}.inv-a5-notes{border:1px solid #d8dde8;border-radius:4px;padding:.28rem .4rem;background:#f7f9fc;font-size:var(--inv-fs);color:#333}.inv-a5-notes p{margin:.15rem 0 .25rem}.inv-a5-sale-note{margin:.12rem 0 .3rem;font-weight:650;color:#1a1a1a;white-space:pre-wrap;word-break:break-word}.inv-a5-terms{margin:.08rem 0 .12rem;padding:0;list-style:none;display:flex;flex-direction:column;gap:.1rem}.inv-a5-terms li{line-height:1.2}.inv-a5-pay-note{margin-top:.25rem;font-size:var(--inv-fs)}.inv-a5-side{display:flex;flex-direction:column;gap:.3rem}.inv-a5-totals{border:1px solid #d8dde8;border-radius:4px;padding:.25rem .4rem;background:#fff}.inv-a5-fill{flex:1 1 auto;min-height:0}.inv-a5-tot-row{display:flex;justify-content:space-between;align-items:baseline;gap:.35rem;padding:.1rem 0;font-size:var(--inv-fs);color:#333}.inv-a5-tot-row>span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;max-width:48%;overflow:hidden;text-overflow:ellipsis}.inv-a5-tot-row.grand{border-top:1.5px solid var(--inv-blue);margin-top:.1rem;padding-top:.18rem;font-size:var(--inv-fs);font-weight:800;color:var(--inv-blue)}.inv-a5-tot-row.inv-a5-tot-khr{border-top:1px solid #c5cddc;margin-top:.06rem;padding-top:.14rem;font-size:var(--inv-fs);color:#0d5c2e}.inv-a5-khqr{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.3rem;padding:.2rem;border:1px solid #d8dde8;border-radius:4px;background:#fafbfd}.inv-a5-khqr-label{text-align:left;color:var(--inv-blue);font-weight:700;font-size:var(--inv-fs-sm);line-height:1.25;max-width:4.6rem}.inv-a5-khqr-frame{padding:.15rem;background:#fff;border:1px solid #d0d7e6;border-radius:5px}.inv-a5-khqr-img{width:48px;height:48px;object-fit:contain;display:block;background:#fff}.inv-a5-signs{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto var(--inv-sign-space) auto;gap:.2rem;margin:.15rem 0 .1rem;flex-shrink:0;align-items:stretch}.inv-a5-sign-box{border:1px solid #c5cddc;border-radius:4px;padding:.15rem .12rem .12rem;background:#fafbfd;text-align:center;display:grid;grid-template-rows:subgrid;grid-row:span 3}.inv-a5-sign-role{font-weight:700;color:var(--inv-blue);font-size:var(--inv-fs);line-height:1.2;min-height:2.55em}.inv-a5-sign-role .inv-bi-stacked{display:flex;width:100%;align-items:center}.inv-a5-sign-space{height:auto;min-height:0;border-bottom:1px dotted #b8c0d0;margin:.12rem .15rem .15rem}.inv-a5-sign-hint{font-size:var(--inv-fs-sm);line-height:1.2;color:#667}.inv-a5-footer{text-align:center;padding-top:.18rem;border-top:1px solid #e4e8f0;font-size:var(--inv-fs-sm);color:#556;flex-shrink:0}.receipt-panel:has(.invoice-a5){overflow:auto}@media print{body.print-receipt *{visibility:hidden!important}body.print-receipt .printable-receipt,body.print-receipt .printable-receipt *{visibility:visible!important}body.print-receipt .printable-receipt{position:absolute;left:0;top:0;width:80mm;max-width:100%;padding:8px;background:#fff!important;color:#000!important;box-shadow:none!important;border:none!important}html:has(body.print-invoice),body.print-invoice{margin:0!important;padding:0!important;background:#fff!important;overflow:hidden!important;width:140mm!important;height:205mm!important;max-width:140mm!important;max-height:205mm!important;min-height:0!important}body.print-invoice .no-print,body.print-invoice .topbar,body.print-invoice .tabs,body.print-invoice .banner-row,body.print-invoice .more-sheet,body.print-invoice .more-backdrop,body.print-invoice .ric-books-banner,body.print-invoice .partial-refund-box,body.print-invoice .toolbar{display:none!important}body.print-invoice .terminal{display:block!important;padding:0!important;margin:0!important;min-height:0!important;height:auto!important;max-height:none!important;grid-template-rows:none!important;background:#fff!important;overflow:hidden!important}body.print-invoice .receipts-layout{display:block!important;padding:0!important;margin:0!important;gap:0!important;grid-template-columns:1fr!important;min-height:0!important;height:auto!important}body.print-invoice .receipts-layout>section.panel:first-child{display:none!important}body.print-invoice .receipt-panel{display:block!important;border:none!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;max-width:140mm!important}body.print-invoice .receipts-layout,body.print-invoice .receipt-panel{width:140mm!important;max-width:140mm!important;height:205mm!important;overflow:hidden!important}body.print-invoice .printable-invoice,body.print-invoice .invoice-a5.printable-invoice{position:relative!important;left:auto!important;top:auto!important;width:140mm!important;max-width:140mm!important;height:205mm!important;max-height:205mm!important;min-height:0!important;padding:3.5mm 4mm!important;margin:0!important;background:#fff!important;color:#000!important;box-shadow:none!important;border:none!important;border-radius:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important;font-size:10pt!important;font-family:Khmer OS Battambang,Khmer OS Battambong,Battambang,sans-serif!important;page-break-after:avoid!important;page-break-inside:avoid!important;break-after:avoid!important;break-inside:avoid!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.receipt-logo{width:36px;height:36px}.receipt-table th,.receipt-table td,.meta,.totals-row,.receipt-store,.receipt-legal,.receipt-branch,.receipt-address,.receipt-tax-mode,.receipt-footer,.receipt-powered{color:#000!important}.receipt-brand{border-bottom-color:#ccc!important}.receipt-pay{background:#f5f5f5!important;border-color:#ccc!important}.ric-books-banner{display:none!important}body.print-invoice .inv-a5-table th{background:#1e4a8c!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.print-invoice .inv-a5-company,body.print-invoice .inv-a5-title,body.print-invoice .inv-a5-title-km,body.print-invoice .inv-a5-box-label,body.print-invoice .inv-a5-tot-row.grand,body.print-invoice .inv-a5-sign-role,body.print-invoice .inv-a5-stamp.credit{color:#1e4a8c!important}body.print-invoice .inv-a5-signs{page-break-inside:avoid!important;break-inside:avoid!important;grid-template-rows:auto 18mm auto!important}body.print-invoice .inv-a5-khqr{page-break-inside:avoid!important;break-inside:avoid!important}body.print-invoice .inv-a5-khqr-frame{box-shadow:none!important;border-color:#999!important}body.print-invoice .inv-a5-sign-box{background:#fff!important;border-color:#999!important;display:grid!important;grid-template-rows:subgrid!important;grid-row:span 3!important}body.print-invoice .inv-a5-sign-space{flex:none!important;height:auto!important;min-height:0!important}body.print-invoice .inv-a5-fill{flex:1 1 auto!important;min-height:0!important}html:has(body.print-expenses),body.print-expenses{margin:0!important;padding:0!important;background:#fff!important;color:#111!important;overflow:visible!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important}body.print-expenses .no-print,body.print-expenses .topbar,body.print-expenses .tabs,body.print-expenses .banner-row,body.print-expenses .more-sheet,body.print-expenses .more-backdrop,body.print-expenses .own-dash>.panel,body.print-expenses .own-grid{display:none!important}body.print-expenses .terminal{display:block!important;padding:0!important;margin:0!important;background:#fff!important;min-height:0!important;height:auto!important;overflow:visible!important;grid-template-rows:none!important}body.print-expenses .own-dash{display:block!important;padding:0!important;margin:0!important;background:#fff!important}body.print-expenses .exp-pdf-root{display:block!important;color:#111;background:#fff;font-family:Khmer OS Battambang,Battambang,Noto Sans Khmer,Georgia,serif;font-size:11pt;line-height:1.35;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.print-expenses .exp-pdf-page{page-break-after:always;break-after:page}body.print-expenses .exp-pdf-page:last-child{page-break-after:auto;break-after:auto}}.exp-pdf-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-bottom:2px solid #1a3f7a;padding-bottom:.65rem;margin-bottom:.85rem}.exp-pdf-company{font-weight:700;color:#1a3f7a;font-size:13pt}.exp-pdf-head h1{margin:.15rem 0 .1rem;font-size:16pt;color:#111}.exp-pdf-head p{margin:0;color:#444;font-size:11pt}.exp-pdf-total{text-align:right}.exp-pdf-total span{display:block;font-size:9pt;color:#555;text-transform:uppercase;letter-spacing:.04em}.exp-pdf-total strong{font-size:16pt;color:#1a3f7a}.exp-pdf-sum{width:100%;border-collapse:collapse;margin:0 0 1rem}.exp-pdf-sum td{padding:.28rem 0;border-bottom:1px solid #ddd}.exp-pdf-sum td:last-child,.exp-pdf-cat td:last-child,.exp-pdf-cat th:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.exp-pdf-sum tr.grand td{font-weight:700;border-bottom:2px solid #1a3f7a;padding-top:.45rem}.exp-pdf-cat{margin:.85rem 0 .4rem}.exp-pdf-cat h2{display:flex;justify-content:space-between;font-size:11pt;margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.04em;color:#1a3f7a;border-bottom:1px solid #c5cddc;padding-bottom:.2rem}.exp-pdf-cat table{width:100%;border-collapse:collapse;font-size:9pt}.exp-pdf-cat th{text-align:left;font-size:8.5pt;color:#555;border-bottom:1px solid #ccc;padding:.2rem .35rem .2rem 0}.exp-pdf-cat td{padding:.22rem .35rem .22rem 0;border-bottom:1px solid #eee;vertical-align:top}.exp-pdf-empty{margin:.2rem 0 .5rem;color:#777;font-size:10pt}.exp-pdf-foot{margin-top:1.25rem;padding-top:.45rem;border-top:1px solid #ddd;font-size:8.5pt;color:#555}.perm-role-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0 .5rem}.perm-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;margin-top:.5rem}.perm-group{border:1px solid var(--border);border-radius:12px;padding:.75rem;background:#0000002e}.perm-group h3{margin:0 0 .55rem;font-size:.95rem;color:var(--gold, #d4a017)}.perm-checks{display:flex;flex-direction:column;gap:.4rem}.perm-check{align-items:flex-start!important;gap:.45rem}.perm-check.disabled{opacity:.65}.audit-layout{min-height:0}.audit-layout .audit-panel{grid-column:1 / -1;display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 7.5rem)}.audit-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.65rem;flex-wrap:wrap;flex-shrink:0}.audit-header h2{margin:0 0 .2rem}.audit-header .meta{margin:0}.audit-header-actions{display:flex;gap:.4rem;flex-wrap:wrap}.audit-header-actions button{width:auto;margin-top:0;min-height:2.35rem;padding:.45rem .85rem;font-size:.85rem}.audit-header-actions button.active{border-color:var(--gold, #d4a017);color:var(--gold-soft)}.audit-search-row{display:flex;gap:.45rem;margin-top:.65rem;flex-shrink:0}.audit-search-row input{flex:1;min-width:0;margin:0;min-height:2.5rem}.audit-search-row button{width:auto;margin-top:0;min-width:3.5rem;min-height:2.5rem;padding:.45rem .9rem}.audit-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.55rem;padding:.65rem;border:1px solid var(--border);border-radius:12px;background:#0003;flex-shrink:0}.audit-field{display:flex;flex-direction:column;gap:.2rem;margin:0;min-width:0}.audit-field>span{font-size:.7rem;color:var(--muted);font-weight:600}.audit-filters input,.audit-filters select{width:100%;margin:0;min-height:2.35rem;font-size:.9rem;padding:.4rem .55rem}.audit-filter-actions{display:flex;gap:.4rem;flex-wrap:wrap;grid-column:1 / -1}.audit-filter-actions button{width:auto;margin-top:0;min-height:2.35rem;flex:1}.audit-list{display:flex;flex-direction:column;gap:.5rem;flex:1 1 auto;min-height:12rem;overflow:auto;margin-top:.65rem;padding-right:.1rem;-webkit-overflow-scrolling:touch}.audit-card{border:1px solid var(--border);border-radius:14px;background:#00000038;overflow:hidden}.audit-card.open{border-color:#f5b80073;box-shadow:0 0 0 1px #f5b8001f}.audit-card-main{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;width:100%;margin:0;padding:.85rem .95rem;text-align:left;background:transparent;border:none;border-radius:0;min-height:0;box-shadow:none;transform:none}.audit-card-main:hover:not(:disabled){background:#ffffff08;border-color:transparent;transform:none}.audit-card-main:active:not(:disabled){transform:none}.audit-card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.audit-pill{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--gold-soft);background:#f5b8001f;border:1px solid rgba(245,184,0,.2)}.audit-when{font-size:.78rem;color:var(--muted);white-space:nowrap}.audit-card-title{font-size:1rem;font-weight:700;color:var(--text);line-height:1.25}.audit-card-summary{font-size:.86rem;color:var(--muted);line-height:1.35;word-break:break-word}.audit-card-foot{display:flex;justify-content:space-between;gap:.5rem;margin-top:.15rem;font-size:.8rem;color:var(--muted)}.audit-expand-hint{color:var(--gold-soft);font-weight:600}.audit-detail{padding:.75rem .95rem .95rem;border-top:1px solid var(--border);background:#00000029}.audit-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem;margin-bottom:.65rem}.audit-detail-meta>div{display:flex;flex-direction:column;gap:.2rem}.audit-detail code,.audit-id{font-size:.75rem;word-break:break-all}.audit-json-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.audit-json-block strong{font-size:.8rem;color:var(--gold-soft)}.audit-json-block pre{margin:.3rem 0 0;padding:.65rem;border-radius:10px;background:#0006;border:1px solid var(--border);font-size:.72rem;overflow:auto;max-height:200px;white-space:pre-wrap;word-break:break-word;color:#d7dbe7}.audit-empty{padding:1.5rem 1rem}.audit-pager{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.65rem;flex-wrap:wrap;flex-shrink:0}.audit-pager button{width:auto;margin-top:0;min-width:5.5rem;min-height:2.4rem}@media(min-width:720px){.audit-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.audit-filter-actions{grid-column:auto;align-self:end}.audit-filter-actions button{flex:0 0 auto}}@media(max-width:900px){.audit-json-grid{grid-template-columns:1fr}}@media(max-width:560px){.audit-layout .audit-panel{max-height:calc(100dvh - 6.25rem);padding:.85rem}.audit-card-top{flex-direction:column;align-items:flex-start}.audit-when{white-space:normal}.audit-card-main{padding:.75rem .8rem}}.recent-list{display:flex;flex-direction:column;gap:.65rem;max-height:55vh;overflow:auto}.recent-day{display:flex;flex-direction:column;gap:.3rem}.recent-day-head{position:sticky;top:0;z-index:1;padding:.25rem .2rem .2rem;font-size:.72rem;font-weight:750;letter-spacing:.04em;color:var(--gold-soft);background:var(--panel);border-bottom:1px solid var(--border)}.recent-row{display:grid;grid-template-columns:3.4rem 1fr auto;gap:.5rem;text-align:left;padding:.65rem .75rem;align-items:center}.recent-row strong{color:var(--gold-soft);font-weight:650}.recent-bill{display:flex;flex-direction:column;gap:.12rem;min-width:0;line-height:1.25}.receipt-head{display:flex;justify-content:space-between;margin-bottom:.5rem;align-items:baseline}.receipt-head strong{font-size:1.15rem;color:var(--gold-soft)}.receipt-lines{list-style:none;padding:0;margin:.75rem 0}.receipt-lines li{padding:.45rem 0;border-bottom:1px solid var(--border);font-size:.9rem}@media(max-width:960px){.mobile-only{display:inline-flex}.sell-layout{grid-template-columns:1fr!important;position:relative}.sell-layout .cart-panel{display:none;position:fixed;inset:auto 0 0 0;z-index:30;max-height:min(90dvh,760px);border-radius:20px 20px 0 0;box-shadow:0 -16px 48px #0000008c,0 0 0 1px #f5b8001f;padding-bottom:calc(1.1rem + var(--safe-bottom));overflow:auto;border:1px solid var(--border-strong);background:#0e1018f7}.sell-layout.cart-open .cart-panel,.sell-layout .cart-panel.visible{display:block;animation:slideUp .28s cubic-bezier(.22,1,.36,1)}@keyframes slideUp{0%{transform:translateY(12%);opacity:.6}to{transform:translateY(0);opacity:1}}.product-grid{max-height:none!important;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));padding-bottom:5rem}.customer-box{grid-template-columns:1fr}.topbar-meta .badge:not(.ok):not(.warn){display:none}.layout{padding:.75rem;gap:.75rem}.tabs{padding:.45rem .5rem;gap:.28rem}.tabs button{font-size:.8rem;min-height:2.7rem;padding:.4rem .5rem}.topbar{padding-left:.65rem;padding-right:.65rem}.topbar-meta button{min-height:2.4rem}}@media(min-width:961px){.tabs .cart-fab-tab{display:none}}.plat-shell{min-height:100dvh;display:flex;flex-direction:column;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);background:radial-gradient(ellipse 900px 420px at 8% -8%,rgba(245,184,0,.08),transparent 55%),radial-gradient(ellipse 640px 360px at 100% 0%,rgba(45,212,168,.04),transparent 50%),var(--bg)}.plat-shell .topbar button{min-height:2.4rem;padding:.4rem .85rem;font-size:.82rem}.plat-body{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:1.25rem 0 3.5rem;flex:1}.plat-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding:.75rem .9rem;border-radius:14px;font-size:.9rem;line-height:1.4}.plat-toast.is-error{background:#f071781a;border:1px solid rgba(240,113,120,.35);color:#ffc4c7}.plat-toast.is-ok{background:#2dd4a81a;border:1px solid rgba(45,212,168,.3);color:#b6f5e0}.plat-toast-x{min-height:1.8rem!important;width:1.8rem;padding:0!important;border:0;background:transparent;color:inherit;font-size:1.2rem;line-height:1;opacity:.7}.plat-tabs{display:inline-flex;padding:.22rem;gap:.22rem;border-radius:999px;background:#ffffff0a;border:1px solid var(--border);margin-bottom:1.35rem}.plat-tabs button{min-height:2.5rem;padding:.35rem 1rem;border:0;background:transparent;border-radius:999px;color:var(--muted);font-weight:600;display:inline-flex;align-items:center;gap:.45rem}.plat-tabs button em{font-style:normal;font-size:.7rem;font-weight:700;letter-spacing:.02em;padding:.12rem .45rem;border-radius:999px;background:#ffffff0f;color:var(--muted)}.plat-tabs button.on{background:linear-gradient(145deg,var(--gold-soft),var(--gold));color:#1a1200;box-shadow:0 6px 18px #f5b80038}.plat-tabs button.on em{background:#1a120029;color:#1a1200}.plat-section{display:flex;flex-direction:column;gap:1.1rem}.plat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.plat-head h1{margin:0;font-size:1.7rem;letter-spacing:-.03em;font-weight:720}.plat-head p{margin:.28rem 0 0;color:var(--muted);font-size:.92rem;max-width:42rem}.plat-head-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.plat-head-actions button{min-height:2.5rem;padding:.4rem .95rem;font-size:.85rem}.plat-search{display:flex;align-items:center;gap:.35rem;padding:.18rem .18rem .18rem .75rem;border-radius:999px;border:1px solid var(--border);background:#00000047}.plat-search input{min-height:2.1rem;width:16rem;max-width:42vw;border:0;background:transparent;color:var(--text);padding:0;outline:none}.plat-search button{min-height:2.15rem;padding:.3rem .8rem;border-radius:999px}.plat-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem}.plat-stats article{padding:.9rem 1rem;border-radius:16px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffff09,#0000002e)}.plat-stats span{display:block;font-size:.7rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.plat-stats strong{display:block;margin-top:.35rem;font-size:1.45rem;letter-spacing:-.03em;font-weight:720}.plat-stat-wide strong{font-size:1.05rem;margin-top:.5rem}.plat-table-wrap{border:1px solid var(--border);border-radius:18px;overflow:auto;background:#0e1018b8}.plat-table{width:100%;border-collapse:collapse;min-width:1040px}.plat-table th{text-align:left;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.8rem 1rem;border-bottom:1px solid var(--border);background:#ffffff05;white-space:nowrap}.plat-table td{padding:.9rem 1rem;border-bottom:1px solid rgba(245,184,0,.07);vertical-align:middle;font-size:.88rem}.plat-table tbody tr:last-child td{border-bottom:0}.plat-table tbody tr:hover td{background:#f5b80009}.plat-table tr.is-dim td{opacity:.62}.plat-entity{display:flex;flex-direction:column;gap:.15rem;min-width:12rem}.plat-entity strong{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:.95rem;letter-spacing:-.01em}.plat-pack-badge{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;font-size:.64rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase;background:#f5b80029;color:var(--gold-soft);border:1px solid rgba(245,184,0,.38)}.plat-pack{display:inline-flex;align-items:center;gap:.4rem;min-height:2.15rem!important;padding:.25rem .75rem!important;border-radius:999px!important;font-size:.78rem!important;font-weight:700;width:auto;margin:0;color:var(--muted)}.plat-pack-dot{width:.52rem;height:.52rem;border-radius:50%;background:#5c5b57}.plat-pack.on{background:#f5b80029;border-color:#f5b8007a;color:var(--gold-soft)}.plat-pack.on .plat-pack-dot{background:var(--gold);box-shadow:0 0 8px #f5b8008c}.plat-entity span,.plat-entity a{color:var(--muted);font-size:.78rem;text-decoration:none}.plat-entity a:hover{color:var(--gold-soft)}.plat-gaps{color:#f07178;font-size:.75rem;font-style:normal}.plat-select{min-height:2.2rem;padding:.25rem .55rem;width:auto;min-width:7.5rem;font-size:.82rem;border-radius:10px;background:var(--panel-2)}.plat-shell .plat-table input,.plat-shell .plat-table select,.plat-shell .plat-table button{min-height:2.2rem}.plat-pill{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:capitalize;border:1px solid var(--border);color:var(--muted)}.plat-pill.ok{color:#7eefcb;border-color:#2dd4a859;background:#2dd4a81a}.plat-pill.warn{color:var(--gold-soft);border-color:#f5b80066;background:#f5b8001a}.plat-pill.off{color:#b8b3a8;background:#ffffff0a}.plat-cov{display:flex;flex-direction:column;gap:.12rem}.plat-cov span.ok{color:#7eefcb}.plat-cov em{font-style:normal;color:var(--muted);font-size:.75rem}.plat-grant{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem;border-radius:12px;background:#00000047;border:1px solid var(--border);white-space:nowrap}.plat-grant input{width:2.6rem;min-height:2rem;text-align:center;border:0;background:transparent;color:var(--text);padding:0}.plat-btn-sm{min-height:2rem!important;padding:.25rem .65rem!important;font-size:.78rem!important;width:auto;margin:0;white-space:nowrap}.plat-danger{color:#ffb4b8;border-color:#f0717847;background:#f0717814}.plat-danger:hover:not(:disabled){border-color:#f0717880;background:#f0717829}.plat-td-actions{text-align:right;white-space:nowrap}.plat-token{font-weight:700;letter-spacing:.04em}.plat-prices{display:flex;flex-wrap:wrap;gap:.35rem}.plat-prices span{font-size:.75rem;padding:.15rem .45rem;border-radius:999px;background:#f5b80014;border:1px solid var(--border);color:var(--gold-soft);text-transform:capitalize}.plat-muted{color:var(--muted)}.plat-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.plat-empty{padding:2rem 1.25rem;text-align:center;color:var(--muted)}.plat-queue{border:1px solid rgba(245,184,0,.28);background:#f5b8000f;border-radius:18px;padding:1rem 1.1rem}.plat-queue-head h2{margin:0;font-size:.95rem}.plat-queue-head p{margin:.2rem 0 .75rem;color:var(--muted);font-size:.82rem}.plat-queue ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.plat-queue li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .8rem;border-radius:12px;background:#00000047;border:1px solid var(--border)}.plat-queue li div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.plat-queue li span{color:var(--muted);font-size:.8rem}.plat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#040508b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;animation:platFade .18s ease}.plat-overlay.is-drawer{align-items:stretch;justify-content:flex-end}.plat-modal{margin:auto;width:min(560px,calc(100% - 1.5rem));max-height:min(92dvh,820px);overflow:auto;background:var(--panel-solid);border:1px solid var(--border-strong);border-radius:22px;box-shadow:var(--shadow-gold);display:flex;flex-direction:column}.plat-drawer{width:min(460px,100%);height:100%;background:#0c0e14;border-left:1px solid var(--border-strong);box-shadow:-24px 0 64px #00000073;display:flex;flex-direction:column;animation:platSlide .22s cubic-bezier(.22,1,.36,1)}.plat-modal header,.plat-drawer header{padding:1.2rem 1.25rem .85rem;display:flex;justify-content:space-between;gap:.75rem}.plat-modal header h2,.plat-drawer header h2{margin:0;font-size:1.2rem;letter-spacing:-.02em}.plat-modal header p,.plat-drawer header p{margin:.3rem 0 0;color:var(--muted);font-size:.84rem}.plat-drawer-body{flex:1;overflow:auto;padding:0 1.25rem 1.25rem}.plat-modal footer,.plat-drawer footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.9rem 1.25rem 1.2rem;border-top:1px solid var(--border)}.plat-modal footer button,.plat-drawer footer button{min-height:2.6rem;width:auto}.plat-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem .7rem;padding:0 1.25rem .5rem}.plat-drawer .plat-form-grid{padding:0}.plat-field{display:flex;flex-direction:column;gap:.35rem}.plat-field.wide{grid-column:1 / -1}.plat-field span{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.plat-field input,.plat-field select{min-height:2.55rem;width:100%}.plat-legend{grid-column:1 / -1;margin:.55rem 0 0;font-size:.7rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.plat-switch,.plat-check{display:flex;align-items:center;gap:.65rem;font-size:.9rem;margin:.15rem 0 1rem}.plat-check.wide{grid-column:1 / -1;margin:0}.plat-switch input,.plat-check input{width:auto;min-height:auto}.plat-switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2.4rem;height:1.35rem;border-radius:999px;background:#2a2e3a;border:1px solid var(--border);position:relative;cursor:pointer}.plat-switch input:after{content:"";position:absolute;top:2px;left:2px;width:1rem;height:1rem;border-radius:50%;background:#cfc8ba;transition:transform .16s ease,background .16s ease}.plat-switch input:checked{background:var(--gold);border-color:var(--gold)}.plat-switch input:checked:after{transform:translate(1.05rem);background:#1a1200}.plat-advanced{width:100%;min-height:2.3rem;margin:.85rem 0 .9rem;background:transparent;color:var(--gold-soft);border-style:dashed}@keyframes platFade{0%{opacity:0}to{opacity:1}}@keyframes platSlide{0%{transform:translate(24px);opacity:.6}to{transform:translate(0);opacity:1}}@media(max-width:900px){.plat-body{width:calc(100% - 1.25rem);padding-top:1rem}.plat-stats{grid-template-columns:1fr 1fr}.plat-search input{width:9.5rem}.plat-table{min-width:0}.plat-table thead{display:none}.plat-table,.plat-table tbody,.plat-table tr,.plat-table td{display:block;width:100%}.plat-table-wrap{background:transparent;border:0;overflow:visible}.plat-table tbody{display:flex;flex-direction:column;gap:.7rem}.plat-table tr{border:1px solid var(--border);border-radius:16px;background:#0e1018d9;padding:.35rem .2rem .55rem}.plat-table td{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .85rem;border:0;min-width:0}.plat-table tbody tr:hover td{background:transparent}.plat-table td:before{content:attr(data-label);color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;flex:0 0 6.2rem}.plat-td-main{display:block!important}.plat-td-main:before{display:none}.plat-td-actions{justify-content:flex-end;padding-top:.15rem}.plat-td-actions:before{display:none}.plat-entity{min-width:0}.plat-queue li{flex-direction:column;align-items:flex-start}.plat-drawer{width:100%}.plat-form-grid{grid-template-columns:1fr}}@media(max-width:560px){.plat-head h1{font-size:1.4rem}.plat-tabs{width:100%}.plat-tabs button{flex:1;justify-content:center}.plat-head-actions{width:100%}.plat-search{flex:1}.plat-search input{width:100%;max-width:none}}
