@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.login-page[data-v-bba04a0f]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden;background:linear-gradient(135deg,#f5f3ff,#fff1ee 35%,#fffbeb 65%,#eff6ff)}.login-page[data-v-bba04a0f]:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 15% 50%,rgba(240,82,60,.15) 0%,transparent 45%),radial-gradient(ellipse at 85% 20%,rgba(251,186,29,.18) 0%,transparent 45%),radial-gradient(ellipse at 60% 80%,rgba(139,92,246,.12) 0%,transparent 45%);pointer-events:none;z-index:0}.float-card[data-v-bba04a0f]{position:relative;z-index:10;width:100%;max-width:420px;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px #ffffff14,0 4px 6px #0000001a,0 12px 24px #0003,0 32px 64px #00000040,0 0 80px #f0523c14;animation:floatUp-bba04a0f .45s ease-out}@keyframes floatUp-bba04a0f{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.card-body[data-v-bba04a0f]{padding:36px 40px 32px}.logo[data-v-bba04a0f]{display:flex;align-items:center;gap:12px;margin-bottom:28px}.logo-icon[data-v-bba04a0f]{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#f0523c,#fbba1d);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;font-style:italic;color:#fff;flex-shrink:0;box-shadow:0 6px 16px #f0523c59}.logo-name[data-v-bba04a0f]{font-size:18px;font-weight:700;font-style:italic;background:linear-gradient(90deg,#f0523c,#fbba1d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.logo-sub[data-v-bba04a0f]{font-size:10px;color:#94a3b8;letter-spacing:1.5px;text-transform:uppercase}.card-header[data-v-bba04a0f]{margin-bottom:28px}.card-header h1[data-v-bba04a0f]{font-size:24px;font-weight:700;color:#0f172a;margin-bottom:4px;letter-spacing:-.3px}.card-header p[data-v-bba04a0f]{font-size:14px;color:#94a3b8}.field[data-v-bba04a0f]{margin-bottom:16px}.field-row[data-v-bba04a0f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.field label[data-v-bba04a0f]{display:block;font-size:13px;font-weight:500;color:#475569;margin-bottom:6px}.field-row label[data-v-bba04a0f]{margin-bottom:0}.toggle-pw[data-v-bba04a0f]{background:none;border:none;font-size:12px;font-weight:500;color:#94a3b8;cursor:pointer;padding:0;font-family:Inter,sans-serif;transition:color .15s}.toggle-pw[data-v-bba04a0f]:hover{color:#475569}.input-wrap[data-v-bba04a0f]{position:relative;display:flex;align-items:center}.ico[data-v-bba04a0f]{position:absolute;left:12px;color:#94a3b8;pointer-events:none}.input-wrap input[data-v-bba04a0f]{width:100%;padding:11px 14px 11px 36px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;color:#0f172a;font-size:14px;font-family:Inter,sans-serif;outline:none;transition:all .15s;box-sizing:border-box}.input-wrap input[data-v-bba04a0f]::placeholder{color:#cbd5e1}.input-wrap input[data-v-bba04a0f]:focus{border-color:#f0523c;background:#fff;box-shadow:0 0 0 3px #f0523c14}.err[data-v-bba04a0f]{display:flex;align-items:center;gap:6px;font-size:12px;color:#ef4444;padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:12px}.btn[data-v-bba04a0f]{width:100%;padding:13px;border:none;border-radius:10px;background:linear-gradient(135deg,#f0523c,#fbba1d);color:#fff;font-size:15px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;box-shadow:0 4px 14px #f0523c4d;transition:all .15s}.btn[data-v-bba04a0f]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #f0523c66}.btn[data-v-bba04a0f]:active{transform:translateY(0)}.btn[data-v-bba04a0f]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-bba04a0f]{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-bba04a0f .6s linear infinite;flex-shrink:0}@keyframes spin-bba04a0f{to{transform:rotate(360deg)}}.footer[data-v-bba04a0f]{margin-top:28px;font-size:11px;color:#cbd5e1;text-align:center}.md3-table-container[data-v-d9608d51]{background:#fffbfe;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014,0 4px 12px #0000000d}.md3-table[data-v-d9608d51]{width:100%;border-collapse:collapse;font-size:14px;font-family:Inter,sans-serif}.md3-table thead[data-v-d9608d51]{background:#f3edf7}.md3-table th[data-v-d9608d51]{padding:12px 16px;text-align:left;font-size:12px;font-weight:500;color:#49454f;letter-spacing:.1px}.md3-table th.center[data-v-d9608d51]{text-align:center}.md3-table th.right[data-v-d9608d51]{text-align:right}.md3-table th.action[data-v-d9608d51]{width:56px}.md3-table th.col-invoice[data-v-d9608d51]{width:200px;max-width:200px}.md3-table th.col-customer[data-v-d9608d51]{width:230px;max-width:230px}.md3-table th.col-ticket[data-v-d9608d51]{width:350px;min-width:250px}.md3-table tbody tr.data-row[data-v-d9608d51]{transition:background .2s ease;position:relative;background:#fff}.md3-table tbody tr.data-row[data-v-d9608d51]:hover{background:#f5f5f5}.md3-table tbody tr.data-row[data-v-d9608d51]:active{background:#f0f0f0}.md3-table tbody tr.data-row[data-v-d9608d51]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#f0f0f0}.md3-table td[data-v-d9608d51]{padding:10px 16px;vertical-align:middle;color:#1d1b20}.cell-invoice[data-v-d9608d51]{display:flex;flex-direction:column;gap:2px;overflow:hidden}.invoice-no[data-v-d9608d51]{font-family:Roboto Mono,monospace;font-size:12px;font-weight:500;color:#1d1b20;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-ref[data-v-d9608d51]{font-size:10px;color:#79747e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-customer[data-v-d9608d51]{display:flex;align-items:center;gap:12px}.avatar[data-v-d9608d51]{width:36px;height:36px;border-radius:18px;background:linear-gradient(135deg,#6750a4,#9a82db);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:#fff;flex-shrink:0}.info[data-v-d9608d51]{display:flex;flex-direction:column;gap:1px}.name[data-v-d9608d51]{font-weight:500;color:#1d1b20;font-size:13px}.meta[data-v-d9608d51]{font-size:11px;color:#79747e}.cell-ticket[data-v-d9608d51]{display:flex;flex-direction:column;gap:2px}.ticket-name[data-v-d9608d51]{font-weight:200;color:#1d1b20;font-size:13px;line-height:1.4}.ticket-cond[data-v-d9608d51]{font-size:11px;color:#79747e}.qty-chip[data-v-d9608d51]{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;font-weight:500;font-size:13px;border-radius:14px}.cell-payment[data-v-d9608d51]{display:flex;flex-direction:column;gap:3px}.payment-chip[data-v-d9608d51]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:500;width:fit-content}.pt-free[data-v-d9608d51]{background:#e3e3e3;color:#49454f}.pt-qr[data-v-d9608d51]{background:#c0f0c0;color:#000}.pt-card[data-v-d9608d51]{background:#bbdefb;color:#0d47a1}.pt-receipt[data-v-d9608d51]{background:#fff3e0;color:#e65100}.pt-other[data-v-d9608d51]{background:#e3e3e3;color:#49454f}.payment-sys[data-v-d9608d51]{font-size:10px;color:#79747e}.cell-amount[data-v-d9608d51]{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.amount[data-v-d9608d51]{font-weight:500;color:#1d1b20;font-size:13px}.onsite-chip[data-v-d9608d51]{display:inline-flex;padding:2px 6px;background:#bbdefb;color:#0d47a1;font-size:9px;font-weight:500;border-radius:6px}.status-chip[data-v-d9608d51]{display:inline-flex;align-items:center;padding:4px 12px;border-radius:6px;font-size:11px;font-weight:500;text-transform:capitalize}.st-pay[data-v-d9608d51]{background:#c8e6c9;color:#1b5e20}.st-wait[data-v-d9608d51],.st-wait-installment[data-v-d9608d51]{background:#fff3e0;color:#e65100}.st-used[data-v-d9608d51]{background:#bbdefb;color:#0d47a1}.st-expired[data-v-d9608d51]{background:#ffcdd2;color:#b71c1c}.st-cancel[data-v-d9608d51]{background:#e3e3e3;color:#49454f}.st-repay[data-v-d9608d51]{background:#c8e6c9;color:#1b5e20}.date-text[data-v-d9608d51]{font-size:12px;color:#79747e;white-space:nowrap}.md3-icon-btn[data-v-d9608d51]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff26;border:1px solid rgba(103,80,164,.2);border-radius:10px;cursor:pointer;color:#6750a4;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .25s ease;box-shadow:0 2px 6px #6750a414}.md3-icon-btn[data-v-d9608d51]:hover{background:#6750a41f;border-color:#6750a480;color:#6750a4;transform:translateY(-2px);box-shadow:0 6px 16px #6750a433,0 0 0 1px #6750a426}.md3-icon-btn[data-v-d9608d51]:active{background:#6750a433;transform:translateY(0);box-shadow:0 2px 6px #6750a41a}.state-row td[data-v-d9608d51]{border-bottom:none}.loading-state[data-v-d9608d51]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px;color:#49454f}.md3-spinner[data-v-d9608d51]{width:32px;height:32px;border:3px solid #e8def8;border-top-color:#6750a4;border-radius:50%;animation:spin-d9608d51 .8s linear infinite}@keyframes spin-d9608d51{to{transform:rotate(360deg)}}.empty-state[data-v-d9608d51]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center}.empty-icon[data-v-d9608d51]{font-size:48px;margin-bottom:16px}.empty-title[data-v-d9608d51]{font-size:16px;font-weight:500;color:#1d1b20;margin-bottom:8px}.empty-desc[data-v-d9608d51]{font-size:14px;color:#79747e}@media(max-width:1024px){.md3-table[data-v-d9608d51]{font-size:13px}.md3-table th[data-v-d9608d51],.md3-table td[data-v-d9608d51]{padding:8px 12px}.avatar[data-v-d9608d51]{width:32px;height:32px;font-size:12px}}.bs-backdrop[data-v-27d55c34]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f172a80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}.bs-modal[data-v-27d55c34]{width:min(420px,96vw);height:90vh;display:flex;flex-direction:column;animation:popIn-27d55c34 .28s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn-27d55c34{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.bs-actions[data-v-27d55c34]{display:flex;justify-content:flex-end;gap:8px;padding-bottom:10px;flex-shrink:0}.bs-act-btn[data-v-27d55c34]{width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .15s}.bs-act-btn[data-v-27d55c34]:hover{background:#fff3}.bs-act-btn[data-v-27d55c34]:disabled{opacity:.4;cursor:not-allowed}.bs-act-close[data-v-27d55c34]:hover{background:#ef444466;border-color:#ef444480}.bs-act-dl[data-v-27d55c34]:hover{background:#10b9814d;border-color:#10b98180}.bs-spin[data-v-27d55c34]{width:13px;height:13px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-27d55c34 .6s linear infinite}.bs-scroll[data-v-27d55c34]{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s}.bs-scroll[data-v-27d55c34]:hover{scrollbar-color:rgba(255,255,255,.3) transparent}.bs-scroll[data-v-27d55c34]::-webkit-scrollbar{width:4px}.bs-scroll[data-v-27d55c34]::-webkit-scrollbar-thumb{background:transparent;border-radius:4px;transition:background .3s}.bs-scroll[data-v-27d55c34]:hover::-webkit-scrollbar-thumb{background:#ffffff4d}.bs-scroll[data-v-27d55c34]::-webkit-scrollbar-track{background:transparent}.bs-state[data-v-27d55c34]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px;color:#fff;font-size:13px}.bs-err[data-v-27d55c34]{color:#fca5a5}.bs-spinner[data-v-27d55c34]{width:26px;height:26px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin-27d55c34 .7s linear infinite}@keyframes spin-27d55c34{to{transform:rotate(360deg)}}.bs-receipt[data-v-27d55c34]{background:#fff;border-radius:4px;box-shadow:0 4px 6px #00000012,0 20px 50px #00000040;overflow:hidden}.bs-header-band[data-v-27d55c34]{background:linear-gradient(135deg,#f0523c,#fbba1d);padding:0}.bs-header-inner[data-v-27d55c34]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}.bs-logo-wrap[data-v-27d55c34]{display:flex;align-items:center;gap:10px}.bs-logo[data-v-27d55c34]{width:36px;height:36px;border-radius:8px;background:#fff3;display:flex;align-items:center;justify-content:center;color:#fff}.bs-bank-name[data-v-27d55c34]{font-size:14px;font-weight:700;color:#fff}.bs-bank-sub[data-v-27d55c34]{font-size:10px;color:#fff9;letter-spacing:1px;text-transform:uppercase}.bs-status-badge[data-v-27d55c34]{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:capitalize}.bs-status-dot[data-v-27d55c34]{width:6px;height:6px;border-radius:50%;background:currentColor}.bst-pay[data-v-27d55c34],.bst-repay[data-v-27d55c34]{background:#dcfce7;color:#15803d}.bst-wait[data-v-27d55c34],.bst-wait-installment[data-v-27d55c34]{background:#fef3c7;color:#d97706}.bst-used[data-v-27d55c34]{background:#dbeafe;color:#2563eb}.bst-expired[data-v-27d55c34],.bst-cancel[data-v-27d55c34]{background:#f3f4f6;color:#6b7280}.bs-amount-block[data-v-27d55c34]{background:#eff6ff;border-bottom:2px solid #1a56db;padding:16px 16px 14px;text-align:center}.bs-amount-lbl[data-v-27d55c34]{font-size:10px;color:#6b7280;text-transform:uppercase;letter-spacing:2px;margin-bottom:4px}.bs-amount-val[data-v-27d55c34]{font-size:32px;font-weight:800;color:#1e3a8a;line-height:1}.bs-amount-date[data-v-27d55c34]{font-size:11px;color:#6b7280;margin-top:4px}.bs-ref-strip[data-v-27d55c34]{display:flex;align-items:stretch;background:#f8fafc;border-bottom:1px solid #e2e8f0}.bs-ref-item[data-v-27d55c34]{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 8px;gap:2px}.bs-ref-divider[data-v-27d55c34]{width:1px;background:#e2e8f0}.bs-ref-lbl[data-v-27d55c34]{font-size:9px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.bs-ref-val[data-v-27d55c34]{font-size:11px;font-weight:600;color:#0f172a;text-align:center}.bs-sep[data-v-27d55c34]{display:flex;align-items:center;gap:8px;padding:12px 16px 8px}.bs-sep-line[data-v-27d55c34]{flex:1;height:1px;background:#e2e8f0}.bs-sep-txt[data-v-27d55c34]{font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;display:flex;align-items:center;gap:5px}.bs-sep-badge[data-v-27d55c34]{font-size:9px;font-weight:600;padding:1px 6px;border-radius:20px;background:#64748b1a;color:#64748b}.bs-sep-badge-red[data-v-27d55c34]{background:#ef44441a;color:#dc2626}.bs-detail[data-v-27d55c34]{padding:0 16px 4px}.bs-row[data-v-27d55c34]{display:flex;justify-content:space-between;align-items:flex-start;padding:4px 0;gap:8px}.bs-row[data-v-27d55c34]:last-child{border-bottom:none}.bs-lbl[data-v-27d55c34]{font-size:11px;color:#94a3b8;flex-shrink:0}.bs-val[data-v-27d55c34]{font-size:11px;color:#0f172a;font-weight:500;text-align:right}.bs-break[data-v-27d55c34]{word-break:break-all}.bs-mono[data-v-27d55c34]{font-family:Roboto Mono,monospace;font-size:10px}.bs-green[data-v-27d55c34]{color:#16a34a}.bs-divider[data-v-27d55c34]{height:1px;background:#f1f5f9;margin:6px 0}.bs-grand-row[data-v-27d55c34]{display:flex;justify-content:space-between;align-items:center;margin:4px 16px 0;padding:10px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}.bs-grand-lbl[data-v-27d55c34]{font-size:12px;font-weight:700;color:#1e3a8a}.bs-grand-val[data-v-27d55c34]{font-size:20px;font-weight:800;color:#1e3a8a}.bs-empty[data-v-27d55c34]{font-size:11px;color:#94a3b8;padding:4px 16px 8px}.bs-toggle[data-v-27d55c34]{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;color:#64748b;cursor:pointer;font-size:11px;transition:all .15s}.bs-toggle[data-v-27d55c34]:hover{background:#f1f5f9;color:#0f172a}.bs-toggle-icon[data-v-27d55c34]{width:30px;height:30px;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .15s}.bs-toggle-icon[data-v-27d55c34]:hover{background:#eff6ff;border-color:#bfdbfe;color:#1a56db}.bs-ticket-list[data-v-27d55c34]{margin:0 16px 8px;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.bs-ticket-item[data-v-27d55c34]{border-bottom:1px solid #f1f5f9}.bs-ticket-item[data-v-27d55c34]:last-child{border-bottom:none}.bs-ticket-hd[data-v-27d55c34]{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s;gap:8px;background:#fafafa}.bs-ticket-hd[data-v-27d55c34]:hover{background:#f1f5f9}.bs-ticket-open .bs-ticket-hd[data-v-27d55c34]{background:#eff6ff;border-bottom:1px solid #bfdbfe}.bs-ticket-left[data-v-27d55c34]{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.bs-ticket-num[data-v-27d55c34]{font-size:10px;font-weight:700;color:#cbd5e1;flex-shrink:0;min-width:14px}.bs-ticket-info[data-v-27d55c34]{display:flex;flex-direction:column;gap:1px;min-width:0}.bs-ticket-serial[data-v-27d55c34]{font-family:Roboto Mono,monospace;font-size:11px;font-weight:700;color:#1a56db}.bs-ticket-cond[data-v-27d55c34]{font-size:10px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-ticket-right[data-v-27d55c34]{display:flex;align-items:center;gap:6px;flex-shrink:0}.bs-chev[data-v-27d55c34]{font-size:9px;color:#94a3b8}.bs-ticket-body[data-v-27d55c34]{padding:8px 12px;background:#fff}.bs-footer[data-v-27d55c34]{padding:16px 16px 20px;text-align:center;background:#fff;border-top:1px dashed #e2e8f0;margin-top:12px}.bs-barcode[data-v-27d55c34]{display:flex;align-items:flex-end;justify-content:center;height:36px;gap:1px;margin-bottom:6px}.bs-bar[data-v-27d55c34]{height:100%;border-radius:1px}.bs-footer-txt[data-v-27d55c34]{font-family:Roboto Mono,monospace;font-size:11px;color:#64748b;letter-spacing:2px;margin-bottom:4px}.bs-footer-sub[data-v-27d55c34]{font-size:9px;color:#cbd5e1;text-transform:uppercase;letter-spacing:1px}.hscroll-wrap[data-v-27d55c34]{display:flex;gap:8px;overflow-x:auto;padding:4px 16px 12px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}.hscroll-wrap[data-v-27d55c34]::-webkit-scrollbar{height:3px}.hscroll-wrap[data-v-27d55c34]::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}.hscroll-card[data-v-27d55c34]{flex-shrink:0;width:120px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid rgba(26,86,219,.2);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:5px}.hscroll-num[data-v-27d55c34]{font-size:9px;font-weight:700;color:#94a3b8}.hscroll-name[data-v-27d55c34]{font-size:10px;font-weight:600;color:#0f172a;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hscroll-stats[data-v-27d55c34]{display:flex;background:#fffc;border:1px solid rgba(26,86,219,.15);border-radius:6px;overflow:hidden}.hscroll-stat[data-v-27d55c34]{flex:1;display:flex;flex-direction:column;align-items:center;padding:4px}.hscroll-divider[data-v-27d55c34]{width:1px;background:#1a56db26}.hscroll-stat-val[data-v-27d55c34]{font-size:14px;font-weight:700;color:#1a56db;line-height:1}.hscroll-stat-lbl[data-v-27d55c34]{font-size:8px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-top:1px}.hscroll-promo[data-v-27d55c34]{background:#1a56db1a;color:#1e40af;padding:1px 6px;border-radius:20px;font-size:9px;font-weight:600;align-self:flex-start}.tag[data-v-27d55c34]{padding:2px 7px;border-radius:5px;font-size:10px;font-weight:500}.tp-free[data-v-27d55c34]{background:#f3f4f6;color:#6b7280}.tp-qr[data-v-27d55c34],.tp-other[data-v-27d55c34]{background:#10b9811f;color:#15803d}*{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:light;--bg: #f7fdf6;--surface: #ffffff;--surface-soft: #ecfdf5;--border: rgba(16, 185, 129, .14);--primary: #22c55e;--primary-strong: #15803d;--secondary: #0ea5e9;--muted: #4b5563;--muted-soft: #94a3b8;--text: #0f172a;--text-soft: #475569;--danger: #dc2626;--success: #16a34a;--warning: #f59e0b;--sidebar: 220px}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;min-height:100vh;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}#loginPage{display:flex;min-height:100vh;overflow:hidden}.left-panel{flex:1;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:50px;background:radial-gradient(circle at top left,rgba(16,185,129,.18),transparent 30%),linear-gradient(135deg,#ecfdf5,#d1fae5 55%,#86efac);border-right:1px solid rgba(16,185,129,.16);box-shadow:inset 0 0 120px #10b98114;overflow:hidden}.grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(16,185,129,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(16,185,129,.08) 1px,transparent 1px),radial-gradient(circle at 20% 20%,rgba(34,197,94,.08),transparent 35%);background-size:52px 52px}.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.32;animation:float 8s ease-in-out infinite}.blob-1{width:420px;height:420px;background:#0ea5e938;top:-120px;left:-120px;animation-delay:0s}.blob-2{width:320px;height:320px;background:#10b98133;bottom:-90px;right:-90px;animation-delay:1.5s}.blob-3{width:260px;height:260px;background:#3b82f62e;top:45%;left:50%;animation-delay:3s}@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-24px) scale(1.05)}}.left-content{position:relative;z-index:2;text-align:center}.brand-text{font-size:42px;font-style:italic;font-weight:800;background:linear-gradient(90deg,#f0523c 44.5%,#fbba1d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-1px;line-height:1;text-shadow:0 10px 40px rgba(240,82,60,.18)}.sub-text{font-size:14px;letter-spacing:6px;color:var(--muted);text-transform:uppercase;margin-top:4px}.left-tagline{color:var(--text);font-size:28px;font-weight:700;line-height:1.4;margin:24px 0 16px}.left-tagline span{background:linear-gradient(90deg,#22c55e,#4ade80);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.right-panel{width:480px;display:flex;flex-direction:column;justify-content:center;padding:60px 50px;background:#fffffff5;border:1px solid rgba(59,130,246,.14);box-shadow:0 28px 90px #0f172a1a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:28px;position:relative}.login-header{margin-bottom:40px}.login-header h1{font-size:28px;font-weight:700;color:var(--text);margin-bottom:8px}.login-header p{font-size:14px;color:var(--muted)}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap .ico{position:absolute;left:14px;font-size:16px;color:var(--muted);pointer-events:none}.input-wrap input{width:100%;padding:14px 16px 14px 44px;background:var(--surface-soft);border:1.5px solid rgba(59,130,246,.12);border-radius:16px;color:var(--text);font-size:14px;font-family:Inter,sans-serif;outline:none;transition:all .25s}.input-wrap input::placeholder{color:var(--muted)}.input-wrap input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 6px #10b98129}.toggle-pw{position:absolute;right:14px;cursor:pointer;color:var(--muted);transition:color .2s;display:flex;align-items:center}.toggle-pw:hover{color:var(--text)}.form-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.remember{display:flex;align-items:center;gap:8px;cursor:pointer}.remember input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.remember span{font-size:13px;color:var(--muted)}.forgot-link{font-size:13px;color:var(--primary);text-decoration:none;font-weight:500}.btn-login{width:100%;padding:14px;border:none;border-radius:16px;background:linear-gradient(90deg,#f0523c 44.5%,#fbba1d);color:#fff;font-size:15px;font-weight:700;letter-spacing:1px;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 18px 40px #f0523c42;transition:opacity .2s,transform .2s,box-shadow .2s}.btn-login:hover{transform:translateY(-2px);opacity:.98;box-shadow:0 24px 48px #f0523c47}.btn-login:active{transform:translateY(0)}.btn-login:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-inner{display:flex;align-items:center;justify-content:center;gap:8px}.spinner{width:16px;height:16px;border:2px solid rgba(16,185,129,.24);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.error-box{margin-top:16px;padding:12px 16px;background:#fecdd359;border:1px solid rgba(239,68,68,.25);border-radius:10px;color:#b91c1c;font-size:13px;display:flex;align-items:center;gap:8px}.divider{display:flex;align-items:center;gap:12px;margin:28px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.divider span{font-size:12px;color:var(--muted)}.support-link{text-align:center;font-size:13px;color:var(--muted)}.support-link a{color:var(--text);text-decoration:none;font-weight:500}.support-link a:hover{color:var(--primary)}.right-footer{position:absolute;bottom:24px;left:50px;right:50px;text-align:center;font-size:11px;color:var(--muted)}.dash-wrap{display:flex;min-height:100vh}.sidebar{width:var(--sidebar);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100}.sidebar-logo{padding:22px 20px;border-bottom:1px solid var(--border)}.sidebar-logo .brand{font-size:20px;font-style:italic;font-weight:800;background:linear-gradient(90deg,#f0523c 44.5%,#fbba1d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-logo .sub{font-size:10px;letter-spacing:3px;color:var(--muted);text-transform:uppercase}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto}.nav-label{font-size:10px;font-weight:600;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;padding:8px 8px 4px;margin-top:8px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:500;color:var(--text);transition:all .2s;margin-bottom:2px}.nav-item:hover{background:#0ea5e914}.nav-item.active{background:#0ea5e924;color:var(--primary)}.nav-item .ico{font-size:16px;width:20px;text-align:center}.sidebar-user{padding:14px 16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#4ade80);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;color:#fff}.user-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.user-role{font-size:10px;color:var(--primary);font-weight:600}.main{margin-left:var(--sidebar);flex:1;display:flex;flex-direction:column}.topbar{height:64px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 28px;gap:12px;position:sticky;top:0;z-index:50}.topbar-title h1{font-size:18px;font-weight:700;color:var(--text)}.topbar-title .bc{font-size:12px;color:var(--muted);margin-top:1px}.topbar-title .bc span{color:var(--primary)}.btn-icon{width:36px;height:36px;border-radius:10px;background:var(--surface-soft);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:background .2s}.btn-icon:hover{background:#eff6ff}.content{padding:24px 28px;flex:1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px}.stat-ico{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.ic-or,.ic-gr{background:#10b9811f}.ic-ye{background:#f59e0b1f}.ic-bl{background:#3b82f61f}.stat-num{font-size:22px;font-weight:700;color:var(--text)}.stat-lbl{font-size:12px;color:var(--muted);margin-top:2px}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search-wrap{flex:1;min-width:200px;position:relative}.search-wrap .s-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--muted)}.search-wrap input{width:100%;padding:9px 12px 9px 36px;background:var(--surface-soft);border:1.5px solid var(--border);border-radius:10px;color:var(--text);font-size:13px;outline:none}.search-wrap input::placeholder{color:var(--muted)}.search-wrap input:focus{border-color:var(--primary)}.f-select{padding:9px 14px;background:var(--surface-soft);border:1.5px solid var(--border);border-radius:10px;color:var(--text);font-size:13px;outline:none;cursor:pointer}.f-select option{background:var(--surface);color:var(--text)}.btn-reset{padding:9px 16px;background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;color:var(--text-soft);font-size:13px;cursor:pointer}.sec-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.result-count{font-size:12px;color:var(--muted);margin-left:8px}.view-toggle{display:flex;gap:4px;background:var(--surface-soft);border-radius:8px;padding:3px}.vt{padding:5px 10px;border-radius:6px;cursor:pointer;font-size:14px;border:none;background:transparent;color:var(--muted);transition:all .2s}.vt.active{background:var(--primary);color:#fff}.event-card{background:linear-gradient(180deg,#fff,#eff6ff);border:1px solid rgba(59,130,246,.18);border-radius:18px;overflow:hidden;cursor:pointer;box-shadow:0 26px 80px #0f172a1f,0 6px 20px #0f172a0a,0 0 0 1px #ffffff8c inset;transition:all .3s ease;position:relative}.event-card:hover{transform:translateY(-6px);border-color:#f0523c99;box-shadow:0 12px 28px #0f172a1f,0 6px 20px #f0523c40}.event-card:active{transform:translateY(-2px) scale(.98);transition:all .15s ease}.card-img{width:100%;height:120px;position:relative;background:linear-gradient(135deg,#ecfdf5,#d1fae5 45%,#22c55e);display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden;box-shadow:inset 0 16px 40px #ffffff38}.card-img img{width:100%;height:100%;object-fit:cover}.card-img .overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 35%,rgba(15,23,42,.08))}.card-body{padding:10px 12px}.card-name{font-size:12px;font-weight:600;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.card-date{font-size:10px;color:var(--muted);display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.card-footer{border-top:1px solid var(--border);padding-top:8px;display:flex;align-items:center;justify-content:space-between}.ticket-amount{font-size:11px;font-weight:700;color:var(--primary)}.ticket-amount small{font-size:10px;font-weight:400;color:var(--muted)}.tags{display:flex;gap:4px;flex-wrap:wrap}.tag{padding:3px 8px;border-radius:6px;font-size:10px;font-weight:600}.t-none{background:#f3f4f6;color:#6b7280}.t-seat{background:#3b82f61f;color:#2563eb}.t-table{background:#f59e0b1f;color:#b45309}.t-round{background:#10b9811f;color:#15803d}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{padding:8px 10px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:6px 10px;border-bottom:1px solid rgba(15,23,42,.06);vertical-align:middle;color:var(--text)}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover td{background:var(--surface-soft)}.ev-cell{display:flex;align-items:center;gap:12px}.ev-thumb{width:44px;height:44px;border-radius:10px;flex-shrink:0;background:linear-gradient(135deg,#ecfdf5,#bbf7d0);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:18px}.ev-thumb img{width:100%;height:100%;object-fit:cover}.ev-name{font-weight:600;font-size:13px;color:var(--text)}.ev-id{font-size:11px;color:var(--muted);margin-top:2px}.btn-view{padding:6px 14px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s}.btn-view:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.loading-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;gap:16px;grid-column:1 / -1}.spin{width:36px;height:36px;border:3px solid rgba(37,99,235,.18);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;padding:60px;color:var(--muted);grid-column:1 / -1}.empty .ei{font-size:48px;margin-bottom:12px}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.page-info{font-size:13px;color:var(--muted)}.page-btns{display:flex;gap:6px;align-items:center}.pg{min-width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--surface-soft);color:var(--text);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 8px;transition:all .2s}.pg:hover{background:#eff6ff;color:var(--text)}.pg.active{background:var(--primary);border-color:var(--primary);color:#fff}.pg:disabled{opacity:.45;cursor:not-allowed}.pg-dots{color:var(--muted);padding:0 4px}.ts-pay{background:#10b9811f;color:#15803d;border:1px solid rgba(16,185,129,.2)}.ts-wait,.ts-wait-installment{background:#f59e0b1f;color:#d97706;border:1px solid rgba(245,158,11,.18)}.ts-used{background:#3b82f61f;color:#2563eb;border:1px solid rgba(59,130,246,.2)}.ts-repay{background:#10b9811f;color:#15803d;border:1px solid rgba(16,185,129,.2)}.ts-overdue{background:#fecdd359;color:#b91c1c;border:1px solid rgba(239,68,68,.25)}.tp-free{background:#f3f4f6;color:#6b7280}.tp-qr{background:#10b9811f;color:#15803d}.tp-card{background:#3b82f61f;color:#2563eb}.tp-receipt{background:#f59e0b1f;color:#d97706}.tp-other{background:#10b9811f;color:#15803d}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f172a59;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:min(1200px,95%);max-height:calc(100vh - 48px);overflow:auto;background:var(--surface);border-radius:24px;box-shadow:0 30px 80px #0f172a1f}.modal-header{padding:24px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--surface-soft)}.modal-header h2{margin:0;font-size:18px;color:var(--text)}.modal-close{width:38px;height:38px;border-radius:12px;background:var(--surface-soft);border:1px solid var(--border);cursor:pointer;font-size:16px;display:grid;place-items:center;transition:all .2s}.modal-close:hover{background:#eff6ff;border-color:#2563eb33}.modal-body{padding:24px 28px 32px;display:grid;gap:24px}.modal-section{background:var(--surface-soft);border:1px solid var(--border);border-radius:18px;padding:18px}.modal-section-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:14px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.info-item{display:grid;gap:6px}.info-item .lbl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px}.info-item .val{font-size:14px;color:var(--text);font-weight:600}.ticket-use-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:auto}.ticket-use-table th,.ticket-use-table td{padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap;text-align:left}.ticket-use-table thead th{background:var(--surface-soft);color:var(--muted);font-weight:700;font-size:11px}.ticket-use-table td{color:var(--text)}.ticket-use-table tbody tr:hover td{background:var(--surface)}.serial-no{font-family:monospace;font-weight:600;color:var(--primary);font-size:11px}.table-scroll{overflow-x:auto;margin:0 -8px;padding:0 8px}.btn-expand{padding:4px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--primary);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s}.btn-expand:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.expanded-row td{background:var(--surface)!important;padding:0!important}.expanded-content{padding:16px 20px;border-top:1px dashed var(--border)}.expanded-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.expanded-item{display:flex;flex-direction:column;gap:4px}.exp-lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.exp-val{font-size:13px;color:var(--text);font-weight:600}.ticket-use-list{display:flex;flex-direction:column;gap:16px}.ticket-use-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.ticket-use-header{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.ticket-use-no{font-size:12px;font-weight:600;color:var(--muted)}.ticket-use-card .info-grid{grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.left-panel{display:none}.right-panel{width:100%;padding:40px 28px}.sidebar{display:none}.main{margin-left:0}.stats{grid-template-columns:repeat(2,1fr)}}
