body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#f8fafc;color:#1e293b;line-height:1.6}.App{min-height:100vh}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3a8a,#1e40af);padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;padding:3rem;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.logo{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem}.logo-icon{display:inline-flex;align-items:center;justify-content:center}.logo h1{font-size:1.5rem;font-weight:700;color:#1e3a8a;margin:0}.login-subtitle{color:#64748b;font-size:1rem;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-loading-row{display:flex;flex-direction:column;gap:.5rem}.login-progress-track{width:100%;height:4px;background:#e2e8f0;border-radius:999px;overflow:hidden}.login-progress-bar{height:100%;width:35%;border-radius:999px;background:linear-gradient(90deg,#1e40af,#60a5fa);animation:login-progress-slide 1.1s ease-in-out infinite}@keyframes login-progress-slide{0%{transform:translate(-100%)}to{transform:translate(400%)}}@media (prefers-reduced-motion: reduce){.login-progress-bar{animation:none;width:100%;opacity:.45}}.login-loading-text{margin:0;font-size:.875rem;color:#64748b;text-align:center}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#374151;font-size:.875rem}.form-input{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s ease;background:#fff}.form-input:focus{outline:none;border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1a}.form-input:disabled{background-color:#f8fafc;color:#94a3b8;cursor:not-allowed}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:1rem;border-radius:8px;font-size:.875rem;text-align:center}.btn{padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;min-width:fit-content}.btn-primary{background:#1e40af;color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #1e40af4d}.btn-secondary{background:#64748b;color:#fff}.btn-secondary:hover:not(:disabled){background:#475569;transform:translateY(-1px)}.btn-warning{background:#d97706;color:#fff}.btn-warning:hover:not(:disabled){background:#b45309;transform:translateY(-1px)}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px)}.btn-large{padding:1rem 2rem;font-size:1.125rem}.btn-small{padding:.5rem 1rem;font-size:.875rem}.login-help{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;text-align:center}.login-help p{color:#64748b;font-size:.875rem;margin:0 0 1rem;font-weight:500}.account-list{display:flex;flex-direction:column;gap:.5rem}.account-list .btn{font-size:.8rem;padding:.5rem .75rem;justify-content:flex-start}.card-lookup-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.card-lookup-form h3{font-size:1.25rem;font-weight:600;color:#1e3a8a;margin:0 0 1.5rem}.input-group{display:flex;gap:.75rem;align-items:flex-end}.input-group .form-input{flex:1}.card-info{margin-top:1.5rem;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.card-info-header{display:flex;align-items:center;gap:1rem}.card-info-header .card-icon{font-size:2rem}.card-info-header h4{font-size:1.125rem;font-weight:600;color:#1e3a8a;margin:0 0 .25rem}.card-status{color:#10b981;font-size:.875rem;font-weight:500;margin:0}.test-cards{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.test-cards p{color:#64748b;font-size:.875rem;margin:0 0 .75rem;font-weight:500}.test-card-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.test-card-buttons .btn{font-size:.8rem;padding:.5rem .75rem}.dashboard{display:flex;min-height:100vh;background:#f8fafc}.sidebar{width:280px;background:#1e3a8a;color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:1000}.sidebar-header{padding:2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.company-logo{display:flex;align-items:center;justify-content:center;width:100%;height:120px;padding:15px}.logo-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.logo-fallback{width:60px;height:60px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #3b82f64d;border:2px solid rgba(255,255,255,.2)}.logo-fallback .logo-icon{font-size:2rem;color:#fff}.logo-loading{width:60px;height:60px;background:#ffffff1a;border-radius:12px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.2)}.logo-loading .logo-icon{font-size:2rem;color:#ffffffb3;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.sidebar-nav{flex:1;padding:1rem 0}.nav-item{width:100%;padding:1rem 1.5rem;border:none;background:none;color:#fffc;text-align:left;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.75rem;font-size:1rem;font-weight:500}.nav-item:hover{background:#ffffff1a;color:#fff}.nav-item.active{background:#ffffff26;color:#fff;border-right:3px solid #60a5fa}.nav-icon{width:24px;display:inline-flex;align-items:center;justify-content:center}.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1)}.logout-btn{width:100%;padding:.75rem 1rem;border:none;background:#ffffff1a;color:#fffc;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500}.logout-btn:hover{background:#ffffff26;color:#fff}.main-content{flex:1;margin-left:280px;display:flex;flex-direction:column;min-height:100vh}.main-header{background:#fff;padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #0000001a}.header-left{display:flex;flex-direction:column;gap:.5rem}.main-header h1{font-size:1.5rem;font-weight:700;color:#1e3a8a;margin:0}.user-info{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#64748b}.user-icon{display:inline-flex;align-items:center;justify-content:center}.user-role{background:#f1f5f9;color:#475569;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.header-info{display:flex;align-items:center;gap:1rem;color:#64748b;font-size:.875rem}.current-card-info{display:flex;align-items:center;gap:.5rem;background:#f1f5f9;padding:.5rem .75rem;border-radius:6px;border:1px solid #e2e8f0}.current-card-info .card-icon{display:inline-flex;align-items:center;justify-content:center}.current-card-info .card-number{font-weight:600;color:#1e3a8a;font-family:monospace}.current-card-info .card-balance{color:#10b981;font-weight:600}.status-indicator{width:8px;height:8px;background:#10b981;border-radius:50%}.content-area{flex:1;padding:2rem;background:#f8fafc}.page-content{max-width:1280px;margin:0 auto}.page-header{margin-bottom:2rem}.page-header h2{font-size:1.875rem;font-weight:700;color:#1e3a8a;margin:0 0 .5rem}.page-header p{color:#64748b;font-size:1rem;margin:0}.balance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.balance-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.balance-card.principal{border-left:4px solid #3b82f6}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.card-icon{display:inline-flex;align-items:center;justify-content:center}.card-header h3{font-size:1rem;font-weight:600;color:#374151;margin:0}.card-amount{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.card-limit{color:#64748b;font-size:.875rem}.card-note{color:#f59e0b;font-size:.875rem;font-weight:500}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.info-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.info-card h3{font-size:1.125rem;font-weight:600;color:#1e3a8a;margin:0 0 1rem}.info-card ul{list-style:none;padding:0;margin:0}.info-card li{padding:.5rem 0;color:#64748b;font-size:.875rem;border-bottom:1px solid #f1f5f9}.info-card li:last-child{border-bottom:none}.status-list{display:flex;flex-direction:column;gap:.75rem}.status-item{display:flex;align-items:center;gap:.75rem;color:#64748b;font-size:.875rem}.status-dot{width:8px;height:8px;border-radius:50%;background:#10b981}.transaction-form{background:transparent;border-radius:0;padding:0;box-shadow:none;border:0;max-width:none;margin:0}.sale-grid{display:grid;grid-template-columns:minmax(360px,1fr) minmax(420px,1fr);gap:24px;align-items:start}.sale-summary,.sale-actions{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.balance-summary{background:#f8fafc;border-radius:8px;padding:12px}.card-lookup-form .input-group{display:flex;gap:8px}.card-lookup-form .input-group .form-input{flex:1 1 auto;min-width:0}.transaction-form .form-group{margin-bottom:1.5rem}.transaction-form .form-group label{font-size:1rem;font-weight:600;color:#374151;margin-bottom:.5rem}.transaction-form .form-input{font-size:1.125rem;text-align:left;font-weight:600}.transaction-form .form-select{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;background-color:#fff;transition:border-color .2s ease;cursor:pointer;text-align:left;font-weight:600}.transaction-form .form-select:focus{outline:none;border-color:#1e3a8a;box-shadow:0 0 0 3px #1e3a8a1a}.transaction-form .form-select:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.button-group{display:flex;gap:12px;margin-top:20px}.button-group-vertical{display:flex;flex-direction:column;gap:12px;margin-top:20px}.btn-full{width:100%}.activation-info{background-color:#f0f9ff;border:1px solid #bae6fd;padding:15px;border-radius:8px;margin-top:8px}.activation-info p{margin:0;color:#0369a1;font-weight:500}.transactions-placeholder{background:#fff;border-radius:12px;padding:3rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0;text-align:center}.transactions-table .tx-cancelled,.transactions-table tr.cancelled td{text-decoration:line-through;color:#9ca3af}.placeholder-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.placeholder-icon{font-size:3rem;opacity:.5}.placeholder-content h3{font-size:1.25rem;font-weight:600;color:#374151;margin:0}.placeholder-content p{color:#64748b;margin:0}.status-badge{display:inline-block;padding:8px 16px;border-radius:20px;font-weight:600;font-size:.9rem;text-align:center;min-width:120px}.status-badge.inventory{background-color:#e0f2fe;color:#0369a1;border:2px solid #93c5fd}.status-badge.sold{background-color:#fef3c7;color:#b45309;border:2px solid #fcd34d}.status-badge.active{background-color:#dcfce7;color:#16a34a;border:2px solid #86efac}.status-badge.suspended{background-color:#fee2e2;color:#dc2626;border:2px solid #fca5a5}.status-badge.expired{background-color:#f3f4f6;color:#6b7280;border:2px solid #d1d5db}.status-badge.lost{background-color:#fef2f2;color:#991b1b;border:2px solid #fecaca}.status-badge.none{background-color:#f9fafb;color:#9ca3af;border:2px solid #e5e7eb}.card-status-display{margin-top:8px}.success-message{background-color:#dcfce7;color:#16a34a;border:1px solid #86efac;padding:15px;border-radius:8px;margin-top:20px}.success-message p{margin:0;font-weight:500}.page-content .admin-dashboard,.page-content .user-management{padding:0;margin:0;max-width:none}@media (max-width: 768px){.sidebar{width:100%;position:relative;height:auto}.main-content{margin-left:0}.balance-cards,.info-cards{grid-template-columns:1fr}.content-area,.main-header{padding:1rem}.main-header h1{font-size:1.25rem}.sale-grid{grid-template-columns:1fr}}.card-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.card-info h3{margin:0 0 12px;color:#334155;font-size:1.1rem}.info-grid{display:grid;grid-template-columns:1fr;gap:8px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.info-label{font-weight:500;color:#64748b}.info-value{font-weight:600;color:#1e293b}.info-value.success{color:#059669}.info-value.warning{color:#d97706}.password-change-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.password-change-modal{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0003;width:90%;max-width:480px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.password-change-modal .modal-header{padding:2rem 2rem 1rem;border-bottom:1px solid #e2e8f0}.password-change-modal .modal-header h2{margin:0;font-size:1.5rem;color:#1e293b}.password-change-modal .modal-body{padding:1.5rem 2rem}.password-change-modal .modal-description{color:#64748b;margin-bottom:1.5rem;line-height:1.6}.password-change-modal .modal-footer{padding:1.5rem 2rem;background:#f8fafc;border-radius:0 0 16px 16px;display:flex;justify-content:flex-end}.password-change-modal .modal-footer .btn{min-width:120px}.notification{position:fixed;top:20px;right:20px;z-index:1000;min-width:300px;max-width:500px;border-radius:8px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out}.notification-content{display:flex;align-items:center;padding:1rem;gap:.75rem}.notification-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.notification-message{flex:1;font-size:.875rem;font-weight:500;line-height:1.4}.notification-close{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease}.notification-close:hover{background-color:#0000001a}.notification-success{background:#f0f9ff;border:1px solid #0ea5e9;color:#0c4a6e}.notification-error{background:#fef2f2;border:1px solid #ef4444;color:#991b1b}.notification-warning{background:#fffbeb;border:1px solid #f59e0b;color:#92400e}.notification-info{background:#f8fafc;border:1px solid #64748b;color:#334155}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.notification{top:10px;right:10px;left:10px;min-width:auto}}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:9998;animation:fadeIn .2s ease-in}.confirm-dialog{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #00000040;width:92%;max-width:440px;animation:slideUp .25s ease-out;overflow:hidden}.confirm-dialog-header{position:relative;padding:1.5rem 1.75rem 1rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid #e2e8f0}.confirm-dialog-title{margin:0;font-size:1.2rem;font-weight:700;color:#0f172a;padding-right:2.25rem}.confirm-dialog-close{position:absolute;top:1.25rem;right:1.25rem;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;border:1px solid transparent;background:transparent;color:#64748b;cursor:pointer}.confirm-dialog-close:hover{background:#f1f5f9;color:#0f172a}.confirm-dialog-close:focus-visible{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f640}.confirm-dialog-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#fef3c7;color:#b45309}.confirm-dialog-icon.danger{background:#fee2e2;color:#dc2626}.confirm-dialog-icon.info{background:#e0f2fe;color:#0284c7}.confirm-dialog-danger{border-top:4px solid #ef4444}.confirm-dialog-warning{border-top:4px solid #f59e0b}.confirm-dialog-info{border-top:4px solid #38bdf8}.confirm-dialog-body{padding:1rem 1.75rem 1.5rem}.confirm-dialog-message{margin:0;color:#475569;font-size:.95rem;line-height:1.6;white-space:pre-line}.confirm-dialog-footer{padding:1rem 1.75rem 1.5rem;background:#f8fafc;display:flex;justify-content:flex-end;gap:.75rem}@media (max-width: 768px){.confirm-dialog{width:calc(100% - 32px)}}.admin-dashboard{padding:2rem;max-width:1400px;margin:0 auto}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:#64748b}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.admin-header h2{font-size:1.875rem;font-weight:700;color:#1e3a8a;margin:0}.admin-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.admin-btn-unmask{background:#1e3a8a;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease,transform .15s ease}.admin-btn-unmask:hover:not(:disabled){background:#1e40af;transform:translateY(-1px)}.admin-btn-unmask:disabled{opacity:.6;cursor:not-allowed}.admin-btn-download{background:#2563eb;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease,transform .15s ease}.admin-btn-download:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.admin-actions .btn-secondary{background:#f8fafc;color:#1e40af;border:1px solid #93c5fd}.admin-actions .btn-secondary:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.btn-success{background:#10b981;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-success:hover{background:#059669}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0;display:flex;align-items:center;gap:1rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:12px}.stat-content h3{font-size:.875rem;font-weight:600;color:#64748b;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.stat-detail{font-size:.75rem;color:#64748b;font-weight:500}.transactions-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.transactions-section h3{font-size:1.25rem;font-weight:600;color:#1e3a8a;margin:0 0 1.5rem}.transactions-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e2e8f0}.transactions-table{width:100%;border-collapse:collapse;font-size:.875rem;table-layout:auto;min-width:1400px}.transactions-table th{background:#f8fafc;padding:1rem .75rem;text-align:center;font-weight:600;color:#374151;border-bottom:1px solid #e2e8f0;white-space:nowrap;vertical-align:middle;overflow:hidden;text-overflow:ellipsis}.transactions-table td{padding:1rem .75rem;border-bottom:1px solid #f1f5f9;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.transactions-table tbody tr:hover{background:#f8fafc}.transactions-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px}.pagination-info{color:#64748b;font-size:.875rem;font-weight:500}.pagination-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pagination-pages{display:inline-flex;align-items:center;gap:6px}.pagination-btn,.pagination-page{border:1px solid #e2e8f0;background:#fff;color:#334155;padding:.4rem .65rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.pagination-btn:hover,.pagination-page:hover{background:#f8fafc;border-color:#cbd5e1}.pagination-btn:disabled{cursor:not-allowed;opacity:.55}.pagination-page.active{background:#1e3a8a;color:#fff;border-color:#1e3a8a}.transactions-table th:nth-child(1),.transactions-table td:nth-child(1){width:12%}.transactions-table th:nth-child(2),.transactions-table td:nth-child(2){width:15%}.transactions-table th:nth-child(3),.transactions-table td:nth-child(3){width:12%}.transactions-table th:nth-child(4),.transactions-table td:nth-child(4){width:12%}.transactions-table th:nth-child(5),.transactions-table td:nth-child(5){width:15%}.transactions-table th:nth-child(6),.transactions-table td:nth-child(6){width:20%}.transactions-table th:nth-child(7),.transactions-table td:nth-child(7){width:14%}.txn-id{font-family:monospace;font-size:.75rem;color:#64748b}.card-id{font-family:monospace;font-weight:600;color:#1e3a8a}.user-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-badge.admin{background:#dbeafe;color:#1e40af}.user-badge.pos{background:#fef3c7;color:#92400e}.txn-type{font-weight:600;font-size:.875rem}.amount{font-weight:600;color:#1e293b}.timestamp{color:#64748b;font-size:.75rem}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center}.status-badge.completed{background:#d1fae5;color:#065f46}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.failed{background:#fee2e2;color:#991b1b}@media (max-width: 768px){.admin-dashboard{padding:1rem}.admin-header{flex-direction:column;gap:1rem;align-items:flex-start}.admin-actions{width:100%;justify-content:flex-end}.stats-grid{grid-template-columns:1fr}.stat-card{padding:1rem}.stat-icon{width:50px;height:50px;font-size:2rem}.transactions-section{padding:1rem}.transactions-table{font-size:.75rem}.transactions-table th,.transactions-table td{padding:.5rem .25rem}.transactions-pagination{flex-direction:column;align-items:flex-start}.pagination-controls{width:100%;justify-content:flex-start}}.user-management{padding:2rem;max-width:1400px;margin:0 auto}.user-management-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:#64748b}.loading-spinner{display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem;animation:pulse 1.5s ease-in-out infinite}.user-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.user-management-header h2{font-size:1.875rem;font-weight:700;color:#1e3a8a;margin:0}.user-actions{display:flex;gap:1rem}.user-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;padding:.75rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.user-id-filter-label{font-weight:600;color:#374151;font-size:.875rem}.user-id-filter-input{min-width:200px;max-width:320px;flex:1}.user-list-count{font-size:.8125rem;color:#64748b;margin-left:auto}.create-user-form{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.create-user-form h3{font-size:1.25rem;font-weight:600;color:#1e3a8a;margin:0 0 1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:.5rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-top:.5rem}.permission-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:6px;background:#f8fafc;border:1px solid #e2e8f0;cursor:pointer;transition:background-color .2s ease}.create-user-form .permission-checkbox{gap:.75rem}.create-user-form .permission-checkbox input[type=checkbox]{margin-right:.5rem}.permission-checkbox:hover{background:#f1f5f9}.permission-checkbox input[type=checkbox]{width:auto;margin:0}.permission-checkbox span{font-size:.875rem;font-weight:500;color:#374151}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.users-table-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0;overflow-x:auto}.users-table{width:100%;min-width:1180px;border-collapse:collapse;font-size:.875rem;table-layout:auto}.users-table th:nth-child(1),.users-table td:nth-child(1){min-width:7rem;white-space:nowrap}.users-table th:nth-child(2),.users-table td:nth-child(2){min-width:7.5rem;white-space:nowrap}.users-table th:nth-child(3),.users-table td:nth-child(3){min-width:10rem}.users-table th:nth-child(4),.users-table td:nth-child(4){min-width:11rem}.users-table th:nth-child(5),.users-table td:nth-child(5){min-width:5rem;white-space:nowrap}.users-table th:nth-child(6),.users-table td:nth-child(6){min-width:14rem;max-width:22rem;vertical-align:top;padding-top:.85rem;padding-bottom:.85rem}.users-table th:nth-child(7),.users-table td:nth-child(7){min-width:8.5rem;white-space:nowrap}.users-table th:nth-child(8),.users-table td:nth-child(8){min-width:8.5rem;white-space:nowrap}.users-table th:nth-child(9),.users-table td:nth-child(9){min-width:11rem;width:1%;white-space:nowrap}.users-table .table-select{width:100%;max-width:100%;min-width:0;font-size:.8125rem;padding:.35rem .5rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#334155}.users-table th{background:#f8fafc;padding:1rem .75rem;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e2e8f0;white-space:nowrap}.users-table td{padding:1rem .75rem;border-bottom:none;vertical-align:middle}.users-table tbody tr{border-bottom:1px solid #f1f5f9}.users-table tbody tr:hover{background:#f8fafc}.username{font-weight:600;color:#1e3a8a}.role{font-weight:500;color:#374151}.status-select{border:none;background:none;font-weight:600;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s ease}.status-select:hover{background:#0000000d}.permission-tags{display:flex;flex-wrap:wrap;gap:.35rem;align-items:flex-start;min-width:0}.permission-tag{flex:0 0 auto;display:inline-block;padding:.25rem .5rem;background:#dbeafe;color:#1e40af;border-radius:4px;font-size:.75rem;font-weight:500;white-space:nowrap;word-break:keep-all;line-height:1.35}.users-table td.permissions{word-break:normal;overflow-wrap:normal}.no-permissions{color:#94a3b8;font-size:.75rem;white-space:nowrap}.created-at,.last-login{color:#64748b;font-size:.75rem;font-variant-numeric:tabular-nums}.actions{display:flex;flex-wrap:nowrap;gap:.5rem;white-space:nowrap;align-items:center;justify-content:flex-start;height:100%;min-height:2.5rem}.actions .btn,.actions .btn-small,.actions .btn-danger,.actions .btn-secondary{display:inline-flex;align-items:center;justify-content:center;height:32px;min-width:96px;padding:0 12px;font-size:.75rem;line-height:1;white-space:nowrap}.btn-small{padding:.375rem .75rem;font-size:.75rem}.btn-danger{background:#ef4444;color:#fff;border:none;padding:.375rem .75rem;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-danger:hover{background:#dc2626}.permission-edit-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-content h3{font-size:1.25rem;font-weight:600;color:#1e3a8a;margin:0 0 1.5rem}@media (max-width: 768px){.user-management{padding:1rem}.user-management-header{flex-direction:column;gap:1rem;align-items:flex-start}.user-actions{width:100%;justify-content:flex-end}.form-row{grid-template-columns:1fr}.create-user-form,.users-table-container{padding:1rem}.users-table{font-size:.75rem}.users-table th,.users-table td{padding:.5rem .25rem}.users-table th:nth-child(9),.users-table td:nth-child(9){width:180px}.permissions-grid{grid-template-columns:1fr}.actions{flex-direction:column}}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #e2e8f0}.modal-actions .btn{min-width:80px}.btn-warning{background-color:#f59e0b;color:#fff;border:none}.btn-warning:hover{background-color:#d97706}.btn-warning:disabled{background-color:#fbbf24;opacity:.6;cursor:not-allowed}.bulk-topup{max-width:1200px;margin:0 auto;padding:20px}.bulk-topup-header{margin-bottom:30px}.bulk-topup-header h2{color:#1f2937;margin-bottom:10px;font-size:1.8rem}.description{color:#6b7280;line-height:1.6;margin:0}.user-info{margin-top:12px;padding:8px 12px;background-color:#f8f9fa;border-radius:6px;border-left:3px solid #007bff}.user-info small{color:#495057;font-size:.875rem}.bulk-topup-form{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px;margin-bottom:30px;box-shadow:0 1px 3px #0000001a}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#374151}.form-group label .required{color:#ef4444;margin-left:2px;font-size:.9em}.form-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-input select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;padding-right:32px}.form-help{display:block;margin-top:4px;font-size:12px;color:#6b7280}.form-actions{display:flex;gap:12px;margin-top:24px}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4b5563}.bulk-topup-result{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.bulk-topup-result h3{color:#1f2937;margin-bottom:20px;font-size:1.4rem}.result-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:16px;text-align:center}.summary-card.success{background:#f0fdf4;border-color:#bbf7d0}.summary-card.skipped{background:#fefce8;border-color:#fde68a}.summary-card.failed{background:#fef2f2;border-color:#fecaca}.summary-label{font-size:12px;color:#6b7280;margin-bottom:4px;font-weight:500}.summary-value{font-size:20px;font-weight:600;color:#1f2937}.result-details h4{color:#374151;margin-bottom:16px;font-size:1.1rem}.results-table-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:6px}.results-table{width:100%;border-collapse:collapse;font-size:14px}.results-table th{background-color:#f9fafb;padding:12px;text-align:left;font-weight:500;color:#374151;border-bottom:1px solid #e5e7eb}.results-table td{padding:12px;border-bottom:1px solid #f3f4f6}.results-table tr:last-child td{border-bottom:none}.card-id{font-family:Courier New,monospace;font-size:13px}.card-number{font-family:Courier New,monospace;font-size:13px;color:#6b7280}.transaction-id{font-family:Courier New,monospace;font-size:12px;color:#6b7280}.balance{font-weight:500;color:#059669}.reason{color:#6b7280;font-size:13px}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-success{background-color:#dcfce7;color:#166534}.status-skipped{background-color:#fef3c7;color:#92400e}.status-failed{background-color:#fee2e2;color:#991b1b}.status-unknown{background-color:#f3f4f6;color:#374151}.bulk-mode-tabs{display:flex;gap:0;margin-bottom:24px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.bulk-mode-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;border:none;background:#f9fafb;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.bulk-mode-tab+.bulk-mode-tab{border-left:1px solid #e5e7eb}.bulk-mode-tab:hover:not(:disabled){background:#f3f4f6}.bulk-mode-tab.active{background:#1e40af;color:#fff}.bulk-mode-tab:disabled{opacity:.6;cursor:not-allowed}.scan-input-area{margin-bottom:20px}.scan-input-area>label{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-weight:500;color:#374151}.scan-input-row{display:flex;align-items:center;gap:8px}.scan-input{flex:1;font-family:Courier New,monospace;font-size:15px!important;letter-spacing:.5px}.scan-validating{font-size:13px;color:#6b7280;white-space:nowrap;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.scanned-cards-section{margin-bottom:20px}.scanned-cards-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.scanned-cards-header h4{margin:0;font-size:14px;font-weight:600;color:#374151}.scanned-cards-list{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.scanned-card-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f0fdf4;border-bottom:1px solid #e5e7eb;transition:background .15s}.scanned-card-item:last-child{border-bottom:none}.scanned-card-item.card-warn{background:#fefce8}.scanned-card-index{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#1e40af;color:#fff;border-radius:50%;font-size:12px;font-weight:600;flex-shrink:0}.scanned-card-info{display:flex;flex-direction:column;flex:1;min-width:0}.scanned-card-id{font-family:Courier New,monospace;font-size:13px;font-weight:500;color:#1f2937}.scanned-card-number{font-family:Courier New,monospace;font-size:12px;color:#6b7280}.scanned-card-amount{font-size:13px;font-weight:500;color:#059669;white-space:nowrap}.scanned-card-remove{display:flex;align-items:center;justify-content:center;padding:2px;border:none;background:transparent;color:#9ca3af;cursor:pointer;border-radius:4px;transition:color .15s,background .15s}.scanned-card-remove:hover:not(:disabled){color:#dc2626;background:#fee2e2}.scanned-card-remove:disabled{opacity:.4;cursor:not-allowed}.btn-small{padding:6px 12px;font-size:12px}@media (max-width: 768px){.bulk-topup{padding:16px}.bulk-topup-form{padding:20px}.form-actions{flex-direction:column}.result-summary{grid-template-columns:repeat(2,1fr)}.results-table{font-size:12px}.results-table th,.results-table td{padding:8px}}.customer-landing{box-sizing:border-box;font-family:Noto Sans KR,sans-serif;margin:0;padding:0;color:#333;line-height:1.6;word-break:keep-all;min-height:100vh;background:#fff}.customer-landing *,.customer-landing *:before,.customer-landing *:after{box-sizing:border-box}.customer-landing img{max-width:100%;height:auto;display:block}.customer-landing .cl-container{max-width:1200px;margin:0 auto;padding:80px 20px}.customer-landing .cl-border-top{border-top:1px solid #eee}.customer-landing .cl-full-bleed{max-width:100%;padding-left:20px;padding-right:20px}.customer-landing .cl-inner-1200{max-width:1200px;margin:0 auto}.customer-landing .section-title{text-align:center;font-size:32px;font-weight:700;margin-bottom:50px}.customer-landing .key-visual{background-color:#2c1b12;background-size:cover;background-position:center;color:#fff;text-align:center;padding:100px 20px;position:relative}.customer-landing .key-visual:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#0006}.customer-landing .kv-content{position:relative;z-index:1}.customer-landing .kv-title{font-size:48px;font-weight:800;margin:0 0 20px;letter-spacing:2px}.customer-landing .kv-desc{font-size:18px;margin:0 0 50px;font-weight:300}.customer-landing .kv-cards{display:flex;justify-content:center;gap:30px}.customer-landing .card-img-vertical{width:200px;border-radius:12px;box-shadow:0 10px 30px #00000080}.customer-landing .balance-check-section{background-color:#f9f9f9;padding:60px 20px;text-align:center}.customer-landing .balance-title{font-size:24px;font-weight:900;margin-bottom:8px;color:#111;letter-spacing:.5px}.customer-landing .balance-subtitle{font-size:15px;color:#666;margin-bottom:30px;font-weight:400}.customer-landing .balance-form{display:flex;justify-content:center;max-width:500px;margin:0 auto;gap:10px}.customer-landing .balance-input{flex:1;padding:15px 25px;border:1px solid #ddd;border-radius:30px;font-size:15px;outline:none;transition:border .3s}.customer-landing .balance-input:focus{border-color:#333}.customer-landing .balance-btn{background:#333;color:#fff;border:none;width:64px;border-radius:30px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s;flex-shrink:0}.customer-landing .balance-btn:hover{background:#111}.customer-landing .balance-btn svg{width:22px;height:22px;fill:currentColor}.customer-landing .card-selection-wrap{display:flex;gap:40px;justify-content:center}.customer-landing .card-item{flex:1;max-width:550px;background:#fafafa;padding:40px;border-radius:16px;display:flex;align-items:center;gap:30px}.customer-landing .card-item .card-img-vertical{width:180px;box-shadow:0 5px 15px #0000001a;margin:0}.customer-landing .card-text{text-align:left;flex:1}.customer-landing .card-text h3{margin-top:0;font-size:24px}.customer-landing .price-del{color:#999;font-size:18px;text-decoration:line-through;text-decoration-color:#e50000}.customer-landing .price-now{font-size:24px;font-weight:700;color:#111;margin:5px 0 20px}.customer-landing .price-note{font-size:14px;font-weight:400}.customer-landing .card-divider{border:0;border-top:1px solid #ddd;margin:15px 0}.customer-landing .card-benefits{font-size:15px;color:#555;line-height:1.8}.customer-landing .where-to-use-wrap{display:flex;text-align:center;justify-content:center;gap:20px}.customer-landing .use-item{flex:1;min-width:0}.customer-landing .use-icon{width:80px;height:80px;margin:0 auto 20px;object-fit:contain}.customer-landing .use-item h4{font-size:18px;margin:0 0 10px}.customer-landing .use-item p{color:#666;font-size:14px;margin:0}.customer-landing .use-notice{text-align:center;font-size:13px;color:#888;margin-top:40px}.customer-landing .purchase-header{background-color:#f5f5f5;padding:40px 20px;border-radius:16px;text-align:center;margin-bottom:40px}.customer-landing .purchase-header h2{font-size:28px;font-weight:700;margin:0 0 10px;color:#222}.customer-landing .purchase-header p{font-size:15px;color:#555;margin:0}.customer-landing .hotel-list-wrap{display:flex;gap:24px;justify-content:center}.customer-landing .hotel-card{flex:1;background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000000d;display:flex;flex-direction:column}.customer-landing .hotel-image-area{position:relative;width:100%}.customer-landing .hotel-photo{width:100%;aspect-ratio:16 / 10;object-fit:cover}.customer-landing .logo-badge{position:absolute;bottom:-30px;left:20px;background:#fff;padding:10px 15px;border-radius:6px;box-shadow:0 4px 12px #00000014;display:flex;align-items:center;justify-content:center;min-width:130px;height:60px}.customer-landing .hotel-logo{width:100%;max-width:150px;max-height:50px;object-fit:contain}.customer-landing .hotel-info-area{padding:50px 20px 25px;display:flex;flex-direction:column;flex:1}.customer-landing .hotel-name{font-size:18px;font-weight:700;margin:0 0 15px;color:#111;text-align:left}.customer-landing .contact-list{display:flex;flex-direction:column;gap:8px}.customer-landing .contact-item{display:flex;justify-content:space-between;font-size:14px;color:#555;border-bottom:1px dashed #eee;padding-bottom:4px}.customer-landing .contact-item a{color:#333;text-decoration:none;font-weight:600}.customer-landing .guide-section{background-color:#f7f7f7;text-align:center}.customer-landing .radio-tabs{display:inline-flex;background:#eee;border-radius:30px;padding:5px;margin-bottom:40px;gap:0}.customer-landing .tab-pill{padding:12px 30px;border-radius:25px;cursor:pointer;font-weight:700;color:#666;transition:.3s;border:none;background:transparent;font-family:inherit;font-size:inherit}.customer-landing .tab-pill.is-active{background:#333;color:#fff}.customer-landing .guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.customer-landing .guide-box{background:#fff;border:1px solid #e0e0e0;border-radius:16px;padding:30px 15px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;transition:transform .3s ease}.customer-landing .guide-box:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000000d}.customer-landing .guide-icon{width:80px;height:80px;margin:0 auto 20px;object-fit:contain;transition:transform .3s ease}.customer-landing .guide-box:hover .guide-icon{transform:scale(1.1)}.customer-landing .guide-box h4{font-size:18px;margin:0 0 10px;word-break:keep-all}.customer-landing .guide-box p{font-size:14px;color:#666;margin:0;word-break:keep-all}.customer-landing .terms-strip{background-color:#f7f7f7;text-align:center;padding:0 20px 60px}.customer-landing .terms-btn{display:inline-block;padding:15px 40px;background:#222;color:#fff;border-radius:30px;border:none;font-weight:700;margin-bottom:15px;cursor:pointer;font-family:inherit;font-size:1rem;transition:background .3s}.customer-landing .terms-btn:hover{background:#111}.customer-landing .terms-notice{font-size:13px;color:#888;margin:0;word-break:keep-all}.customer-landing .membership-section{background-color:#fff;padding:80px 20px;text-align:center;border-top:1px solid #eee;border-bottom:1px solid #eee}.customer-landing .mem-title{font-size:32px;font-weight:800;margin:0 0 15px;color:#111;letter-spacing:1px}.customer-landing .mem-desc{font-size:18px;color:#333;margin:0 0 50px;line-height:1.6;word-break:keep-all;font-weight:500}.customer-landing .table-outer-wrapper{max-width:800px;margin:0 auto 40px}.customer-landing .mem-table-title{font-size:18px;font-weight:800;color:#111;margin:0 0 15px;text-align:left;padding-left:5px}.customer-landing .table-inner-positioner{position:relative}.customer-landing .discount-badge{position:absolute;top:-35px;right:-20px;background:#111;color:#fff;width:115px;height:115px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:0 8px 20px #0003;z-index:10;transform:rotate(12deg)}.customer-landing .badge-txt-1{font-size:12px;font-weight:400;margin-bottom:2px;opacity:.9}.customer-landing .badge-txt-2{font-size:26px;font-weight:800;line-height:1;margin-bottom:2px;color:#fff}.customer-landing .badge-txt-3{font-size:11px;font-weight:700;color:#fff;line-height:1.2}.customer-landing .mem-table-wrap{background:#fff;border:1px solid #ddd;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #00000008}.customer-landing .mem-table{width:100%;border-collapse:collapse;text-align:center}.customer-landing .mem-table th{background:#f5f5f5;padding:18px 15px;font-size:15px;border-bottom:1px solid #ddd;border-right:1px solid #eee;color:#333}.customer-landing .mem-table th:last-child{border-right:none}.customer-landing .mem-table td{padding:20px 15px;font-size:16px;font-weight:700;border-bottom:1px solid #eee;border-right:1px solid #eee;vertical-align:middle;color:#333}.customer-landing .mem-table td:last-child{border-right:none}.customer-landing .mem-table tr:last-child td{border-bottom:none}.customer-landing .hotel-text-name{font-weight:800;color:#111}.customer-landing .mem-join-btn{display:inline-flex;align-items:center;justify-content:center;padding:18px 50px;background:#111;color:#fff;text-decoration:none;border-radius:40px;font-size:18px;font-weight:700;transition:.3s;box-shadow:0 4px 15px #0003}.customer-landing .mem-join-btn:hover{background:#333;transform:translateY(-2px)}.customer-landing .floating-btn{position:fixed;bottom:30px;right:30px;background-color:#111;color:#fff;border-radius:50px;padding:12px 25px 12px 20px;display:flex;align-items:center;gap:12px;text-decoration:none;box-shadow:0 10px 30px #0003;z-index:100;transition:transform .3s ease,background-color .3s}.customer-landing .floating-btn:hover{transform:translateY(-5px);background-color:#333}.customer-landing .floating-icon{font-size:22px}.customer-landing .floating-text{display:flex;flex-direction:column;text-align:left}.customer-landing .float-txt-small{font-size:11px;color:#ccc;line-height:1.2;font-weight:400}.customer-landing .float-txt-big{font-size:14px;font-weight:800;color:#fff;line-height:1.3}@media (max-width: 768px){.customer-landing .key-visual{height:auto;padding:15vh 20px 80px;display:block;overflow:visible}.customer-landing .kv-content{display:block;height:auto;padding:0}.customer-landing .kv-title{font-size:34px;line-height:1.25;margin-bottom:15px}.customer-landing .kv-desc{font-size:15px;margin-bottom:40px}.customer-landing .kv-cards{gap:15px;align-items:center;justify-content:center;margin-bottom:0}.customer-landing .card-img-vertical{width:45%;max-width:160px;border-radius:12px;box-shadow:0 10px 25px #00000080}.customer-landing .balance-check-section{padding:40px 20px}.customer-landing .balance-title{font-size:20px;margin-bottom:5px}.customer-landing .balance-subtitle{font-size:13px;margin-bottom:20px}.customer-landing .balance-form{flex-direction:row;gap:8px;padding:0}.customer-landing .balance-input{padding:12px 20px;font-size:14px}.customer-landing .balance-btn{width:54px}.customer-landing .cl-container{padding:50px 20px}.customer-landing .section-title{font-size:26px;margin-bottom:30px}.customer-landing .card-selection-wrap{gap:20px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding:10px 0 30px;justify-content:flex-start}.customer-landing .card-selection-wrap::-webkit-scrollbar{display:none}.customer-landing .card-item{flex:0 0 85%;scroll-snap-align:center;max-width:none;flex-direction:column;text-align:center;padding:30px 20px}.customer-landing .card-text{text-align:center}.customer-landing .where-to-use-wrap{gap:10px}.customer-landing .use-icon{width:50px;height:50px;margin:0 auto 10px}.customer-landing .use-item h4{font-size:15px}.customer-landing .use-item p{font-size:12px}.customer-landing .purchase-header{padding:30px 15px;margin-bottom:20px}.customer-landing .purchase-header h2{font-size:22px}.customer-landing .hotel-list-wrap{flex-direction:column;gap:16px}.customer-landing .hotel-card{flex-direction:row;align-items:center;padding:12px}.customer-landing .hotel-image-area{width:100px;height:100px;flex-shrink:0}.customer-landing .hotel-photo{border-radius:8px;height:100%;aspect-ratio:1 / 1}.customer-landing .logo-badge{display:none}.customer-landing .hotel-info-area{padding:0 0 0 15px;flex:1}.customer-landing .hotel-name{font-size:15px;margin-bottom:8px}.customer-landing .contact-item{font-size:12px}.customer-landing .guide-grid{grid-template-columns:repeat(2,1fr);gap:12px}.customer-landing .guide-box{padding:25px 10px}.customer-landing .guide-icon{width:60px;height:60px;margin-bottom:15px}.customer-landing .guide-box h4{font-size:15px}.customer-landing .guide-box p{font-size:12px;line-height:1.4}.customer-landing .terms-strip{padding:0 20px 50px}.customer-landing .membership-section{padding:60px 15px}.customer-landing .mem-title{font-size:24px;margin-bottom:10px}.customer-landing .mem-desc{font-size:15px;margin-bottom:30px}.customer-landing .mem-table-title{font-size:15px;margin-bottom:10px;text-align:center}.customer-landing .discount-badge{width:90px;height:90px;top:-20px;right:-5px}.customer-landing .badge-txt-1{font-size:10px}.customer-landing .badge-txt-2{font-size:18px}.customer-landing .badge-txt-3{font-size:9px}.customer-landing .mem-table th{padding:12px 5px;font-size:13px}.customer-landing .mem-table td{padding:15px 5px;font-size:14px}.customer-landing .hotel-text-name{font-size:14px}.customer-landing .mem-join-btn{padding:15px 20px;font-size:16px;width:100%;border-radius:12px}.customer-landing .floating-btn{bottom:20px;right:20px;padding:10px 15px;gap:8px}.customer-landing .floating-icon{font-size:18px}.customer-landing .float-txt-small{font-size:10px}.customer-landing .float-txt-big{font-size:13px}}.customer-balance{min-height:100vh;background:#fff;padding:0 0 80px}.balance-container{max-width:1200px;margin:0 auto;background:transparent;border-radius:0;padding:0 20px}.balance-header{position:relative;padding:70px 0 40px;text-align:center}.back-btn{position:absolute;top:20px;left:0;background:#f5f5f5;border:0;padding:8px 16px;border-radius:20px;cursor:pointer;color:#555;font-size:14px;transition:background .2s ease}.back-btn:hover{background:#eaeaea}.balance-header h1{font-size:32px;font-weight:900;color:#111;margin:0}.card-search{background-color:#f9f9f9;border-radius:0;padding:60px 20px;text-align:center}.search-form{margin-bottom:16px}.input-group{display:flex;gap:8px;width:100%;max-width:100%}.card-input{flex:1;min-width:0;padding:15px 25px;font-size:15px;border:1px solid #ddd;border-radius:30px;outline:none;transition:border-color .3s;box-sizing:border-box}.card-input:focus{border-color:#333}.card-input:disabled{background:#f8f8f8;cursor:not-allowed}.search-btn{width:64px;padding:0;height:48px;background:#111;color:#fff;border:none;border-radius:30px;font-size:14px;cursor:pointer;transition:background .2s ease;white-space:nowrap;flex-shrink:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.search-btn:hover:not(:disabled){background:#333}.search-btn:disabled{background:#bdbdbd;cursor:not-allowed}.error-message{margin:0 auto;max-width:720px;padding:14px 16px;background:#fff;color:#b42318;border-radius:16px;border:1px solid #ffe3e3}.card-info{margin:40px 0}.info-card{background:#fff;border:1px solid #eee;border-radius:16px;padding:40px 20px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px dashed #eee}.info-row:last-child{border-bottom:none}.info-label{font-weight:700;color:#666;font-size:14px}.info-value{color:#111;font-size:16px;font-weight:600}.balance-amount{font-size:28px;font-weight:900;color:#111}.status-active,.status-sold,.status-suspended,.status-expired{color:#111;font-weight:900}.transactions{margin-top:40px}.transactions h2{font-size:28px;font-weight:900;color:#111;margin:0 0 24px;text-align:center}.transactions-table-container{overflow-x:auto;border:1px solid #eee;border-radius:16px;-webkit-overflow-scrolling:touch}.transactions-table{width:100%;min-width:600px;border-collapse:collapse;background:#fff}.transactions-table thead{background:#f5f5f5}.transactions-table th{padding:18px 15px;text-align:left;font-weight:600;color:#333;border-bottom:1px solid #ddd;white-space:nowrap}.transactions-table th:first-child{min-width:160px}.transactions-table td{padding:20px 15px;border-bottom:1px solid #eee;color:#555;font-size:15px}.transactions-table td:first-child{min-width:120px;white-space:normal;font-size:.9rem;line-height:1.4}.location-cell{min-width:150px;white-space:normal;line-height:1.5}.location-cell .branch-name{font-weight:600;color:#1e293b;font-size:.9rem;margin-bottom:4px}.location-cell .outlet-name{color:#64748b;font-size:.85rem}.transactions-table tbody tr:hover{background:#fafafa}.transactions-table tbody tr:last-child td{border-bottom:none}.tx-type{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:800;background:#f5f5f5;color:#111;border:1px solid #eee}.tx-topup,.tx-deduction,.tx-refund,.tx-activation{background:#f5f5f5;color:#111}.amount-positive{color:#2f855a;font-weight:800}.amount-negative{color:#c53030;font-weight:800}.pagination-info{text-align:center;margin-top:16px;color:#888;font-size:14px}.empty-state{text-align:center;padding:60px 20px;color:#888}.empty-state p{font-size:16px}@media (max-width: 768px){.balance-container{padding:0 15px}.balance-header h1{font-size:22px}.balance-header{padding:60px 0 28px}.back-btn{top:14px;left:15px}.search-form{width:100%;max-width:100%}.input-group{gap:6px}.card-input{padding:14px 12px;font-size:1rem}.search-btn{padding:14px 16px;font-size:.9rem}.transactions-table-container{font-size:.85rem;overflow-x:auto;-webkit-overflow-scrolling:touch;display:block;width:100%}.transactions-table{min-width:700px;font-size:.8rem;display:table}.transactions-table th,.transactions-table td{padding:10px 6px;white-space:nowrap}.transactions-table th:first-child,.transactions-table td:first-child{min-width:110px;font-size:.75rem;white-space:normal}.transactions-table th:nth-child(2),.transactions-table td:nth-child(2){min-width:60px}.transactions-table th:nth-child(3),.transactions-table td:nth-child(3){min-width:80px}.transactions-table th:nth-child(4),.transactions-table td:nth-child(4){min-width:120px;white-space:normal}.transactions-table th:nth-child(5),.transactions-table td:nth-child(5){min-width:90px}.transactions-table th:nth-child(6),.transactions-table td:nth-child(6){min-width:90px}.location-cell{min-width:100px;font-size:.75rem}.location-cell .branch-name{font-size:.8rem}.location-cell .outlet-name{font-size:.7rem}}.customer-terms{box-sizing:border-box;font-family:Noto Sans KR,sans-serif;margin:0;padding:60px 20px;background-color:#f7f7f7;color:#333;line-height:1.6;word-break:keep-all;min-height:100vh}.customer-terms *,.customer-terms *:before,.customer-terms *:after{box-sizing:border-box}.customer-terms .terms-shell{position:relative;max-width:800px;margin:0 auto;background:#fff;padding:80px 50px 60px;border-radius:16px;box-shadow:0 10px 30px #00000008}.customer-terms .back-btn-top{position:absolute;top:30px;left:30px;display:inline-flex;align-items:center;font-size:14px;font-weight:700;color:#555;text-decoration:none;padding:8px 16px;background:#f5f5f5;border:none;border-radius:20px;transition:all .3s;cursor:pointer;font-family:inherit}.customer-terms .back-btn-top:hover{background:#e0e0e0;color:#111}.customer-terms .back-btn-top svg{width:16px;height:16px;margin-right:6px;flex-shrink:0}.customer-terms .terms-title{text-align:center;font-size:28px;font-weight:900;margin:0 0 50px;color:#111;letter-spacing:1px}.customer-terms .article{margin-bottom:35px}.customer-terms .article:last-of-type{margin-bottom:0}.customer-terms .article-title{font-size:18px;font-weight:700;margin:0 0 12px;color:#222}.customer-terms .article-content{font-size:15px;color:#555;line-height:1.7}.customer-terms .article-content ul,.customer-terms .article-content ol{padding-left:20px;margin:8px 0}.customer-terms .article-content li{margin-bottom:6px}.customer-terms .contact-box{margin-top:60px;padding-top:40px;border-top:1px solid #eee}.customer-terms .contact-box h3{font-size:18px;margin:0 0 20px;color:#111}.customer-terms .hotel-list-wrap{display:flex;gap:20px;justify-content:center}.customer-terms .hotel-card{flex:1;background:#fff;border:1px solid #eee;border-radius:12px;padding:30px 20px;box-shadow:0 4px 15px #00000008;display:flex;flex-direction:column}.customer-terms .hotel-name{font-size:14px;font-weight:700;margin:0 0 20px;color:#111}.customer-terms .contact-list{display:flex;flex-direction:column;gap:12px}.customer-terms .contact-item{display:flex;justify-content:space-between;font-size:12px;color:#555;border-bottom:1px dashed #eee;padding-bottom:8px;gap:8px}.customer-terms .contact-item a{font-weight:600;color:#333;text-decoration:none}.customer-terms .contact-item a:hover{text-decoration:underline}@media (max-width: 768px){.customer-terms{padding:30px 15px}.customer-terms .terms-shell{padding:70px 20px 40px}.customer-terms .back-btn-top{top:20px;left:20px}.customer-terms .terms-title{font-size:24px;margin-bottom:40px}.customer-terms .article-title{font-size:16px}.customer-terms .article-content{font-size:14px}.customer-terms .hotel-list-wrap{flex-direction:column;gap:15px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.p-4{padding:1rem}.p-6{padding:1.5rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-3xl{font-size:1.875rem}.text-xs{font-size:.75rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-gray-900{color:#111827}.text-gray-700{color:#374151}.text-gray-600{color:#4b5563}.text-gray-500{color:#6b7280}.text-gray-400{color:#9ca3af}.text-green-600{color:#16a34a}.text-red-600{color:#dc2626}.text-yellow-600{color:#ca8a04}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-gray-200{background-color:#e5e7eb}.bg-blue-500{background-color:#3b82f6}.bg-green-500{background-color:#10b981}.bg-orange-500{background-color:#f97316}.bg-red-500{background-color:#ef4444}.bg-yellow-500{background-color:#eab308}.bg-green-100{background-color:#dcfce7}.bg-yellow-100{background-color:#fef3c7}.bg-red-100{background-color:#fee2e2}.bg-orange-100{background-color:#fed7aa}.bg-blue-50{background-color:#eff6ff}.bg-yellow-50{background-color:#fefce8}.bg-red-50{background-color:#fef2f2}.text-green-800{color:#166534}.text-yellow-800{color:#92400e}.text-red-800{color:#991b1b}.text-orange-600{color:#ea580c}.text-blue-600{color:#2563eb}.border{border-width:1px}.border-gray-100{border-color:#f3f4f6}.border-gray-200{border-color:#e5e7eb}.border-yellow-200{border-color:#fde68a}.border-red-200{border-color:#fecaca}.border-blue-200{border-color:#bfdbfe}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.rounded{border-radius:.25rem}.shadow-sm{box-shadow:0 1px 2px #0000000d}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.space-x-2>*+*{margin-left:.5rem}.space-x-4>*+*{margin-left:1rem}.space-y-2>*+*{margin-top:.5rem}.space-y-4>*+*{margin-top:1rem}.flex-1{flex:1 1 0%}.text-right{text-align:right}.text-center{text-center:center}.text-left{text-align:left}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.pt-4{padding-top:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.inline-flex{display:inline-flex}.w-full{width:100%}.h-1{height:.25rem}.h-2{height:.5rem}.h-3{height:.75rem}.overflow-hidden{overflow:hidden}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.grid{display:grid}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gap-4{gap:1rem}
