body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f4f7f6;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}main{padding:2rem}header{background-color:#fff;box-shadow:0 2px 4px #0000001a;padding:1rem 2rem}nav{align-items:center;display:flex;justify-content:space-between}nav .logo{color:#005a9c;font-size:1.5rem;font-weight:700;text-decoration:none}nav ul{align-items:center;display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}nav a{color:#333;font-weight:500;text-decoration:none;transition:color .3s}nav a:hover{color:#007bff}.page-container{margin:0 auto;max-width:1200px}.error-message{background-color:#ffd2d2;border:1px solid #d8000c;border-radius:5px;color:#d8000c;padding:1rem}.current-subscription{background-color:#e7f3fe;border-left:5px solid #007bff;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:2rem;padding:1.5rem}.current-subscription h3{margin-top:0}.pending-plan-info{background-color:#fff3cd;border:1px solid #ffecb5;border-radius:5px;color:#664d03;padding:.75rem 1rem}.subscription-actions{margin-top:1rem}.action-button.cancel{background-color:#dc3545;color:#fff}.action-button.cancel:hover{background-color:#c82333}.action-button.cancel:disabled{background-color:#8f2d37;cursor:not-allowed}.action-button.resume{background-color:#198754;color:#fff}.action-button.resume:hover{background-color:#157347}.action-button.resume:disabled{background-color:#2b5742;cursor:not-allowed}.current-subscription .status-active{color:#28a745;font-weight:700}.plans-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.plan-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 6px #0000000d;padding:1.5rem;text-align:center;transition:transform .2s,box-shadow .2s}.plan-card:hover{box-shadow:0 8px 12px #0000001a;transform:translateY(-5px)}.plan-card.subscribed{border-color:#28a745;opacity:.7}.plan-card h3{color:#005a9c;margin-top:0}.plan-card .price{font-size:2rem;font-weight:700;margin:1rem 0}.plan-card .features{color:#555;list-style:none;margin:1.5rem 0;padding:0;text-align:left}.plan-card .features li{border-bottom:1px solid #eee;padding:.5rem 0}.plan-card .features li:before{color:#28a745;content:"✓";font-weight:700;margin-right:10px}.trial-feature{color:#ff9800;font-weight:700}.pay-button,.subscribe-button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background-color .3s;width:100%}.pay-button:hover,.subscribe-button:hover{background-color:#0056b3}.subscribe-button:disabled{background-color:#6c757d;cursor:not-allowed}.payment-container{background:#fff;border-radius:8px;box-shadow:0 4px 15px #0000001a;margin:2rem auto;max-width:500px;padding:2rem}#ECPayPayment{margin-bottom:1rem;min-height:200px}.test-card-info{background-color:#f9f9f9;border:1px solid #ccc;border-radius:5px;margin:1.5rem 0;padding:1rem}.test-card-info h4{margin-top:0}.payment-status{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:3rem}.payment-status h2{margin-bottom:1.5rem}.payment-status p{color:#555;font-size:1.1rem}.status-actions{margin-top:2rem}.fallback-link-button,.manual-redirect-button{border:none;border-radius:5px;cursor:pointer;display:inline-block;font-size:1rem;font-weight:500;padding:12px 24px;text-decoration:none;transition:all .3s ease}.manual-redirect-button{background-color:#28a745;color:#fff}.manual-redirect-button:hover{background-color:#218838}.fallback-link-button{background-color:#6c757d;color:#fff}.fallback-link-button:hover{background-color:#5a6268}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;margin-top:1.5rem;width:40px}.auth-modal-overlay{align-items:center;background-color:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.auth-modal{background:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;max-width:450px;padding:2rem 3rem;text-align:center;width:90%}.auth-modal h2{color:#333;margin-top:0}.token-input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:1rem;margin:1rem 0;padding:12px;width:100%}.save-token-button{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background-color .3s;width:100%}.save-token-button:hover{background-color:#218838}.logout-button{background:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .3s}.logout-button:hover{background:#c82333}.cards-list-container{display:flex;flex-direction:column;gap:1rem;margin-top:2rem;max-width:700px}.card-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 5px #00000014;justify-content:space-between;padding:1rem 1.5rem}.card-info,.card-item{align-items:center;display:flex}.card-info{gap:1.5rem}.card-brand{color:#0d6efd;font-weight:700}.card-number{font-family:Courier New,Courier,monospace;font-size:1.1rem;letter-spacing:1px}.card-expiry{color:#6c757d}.default-badge{background-color:#198754;border-radius:10px;color:#fff;font-size:.8rem;font-weight:500;padding:.2rem .6rem}.card-actions{display:flex;gap:.5rem}.action-button{border:none;border-radius:5px;cursor:pointer;font-size:.9rem;padding:8px 12px;transition:background-color .2s}.action-button.default{background-color:#0dcaf0;color:#000}.action-button.default:hover{background-color:#3dd5f3}.action-button.delete{background-color:initial;border:1px solid #dc3545;color:#dc3545}.action-button.delete:hover{background-color:#dc3545;color:#fff}.action-button:disabled{cursor:not-allowed;opacity:.5}.divider{border:none;border-top:1px solid #eee;margin:2rem 0}.user-info-form h4{color:#333;margin-bottom:1.5rem;margin-top:0;text-align:center}.form-group{margin-bottom:1.25rem}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:.5rem}.form-group input{border:1px solid #ccc;border-radius:5px;box-sizing:border-box;font-size:1rem;padding:12px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.pay-button{margin-top:1rem}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.refresh-button{background-color:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .2s ease-in-out}.refresh-button:hover{background-color:#5a6268}.refresh-button:disabled{background-color:#adb5bd;cursor:not-allowed}.mkpu-header{align-items:flex-start;background-color:#fff;border-radius:8px;box-shadow:0 4px 10px #0000000d;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.balance-display h2{color:#6c757d;font-size:1.2rem;font-weight:500;margin:0 0 .5rem}.balance-display .balance-amount{color:#0d6efd;font-size:2.5rem;font-weight:700;margin:0}.balance-display .balance-amount span{color:#333;font-size:1.2rem;font-weight:500;margin-left:.5rem}.mkpu-section{margin-bottom:2.5rem}.mkpu-section h3{border-bottom:2px solid #eee;margin-bottom:1.5rem;padding-bottom:.5rem}.purchase-form{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:1.5rem}.unit-price{font-size:1.1rem;margin-bottom:1.5rem}.unit-price span{color:#0d6efd;font-weight:700;margin-left:.5rem}.purchase-controls{align-items:center;display:flex;gap:1rem}.purchase-controls label{font-weight:500}.purchase-input{border:1px solid #ccc;border-radius:5px;font-size:1rem;padding:10px;width:120px}.purchase-button{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .2s}.purchase-button:hover{background-color:#218838}.threshold-form{align-items:center;display:flex;gap:1rem;max-width:400px}.threshold-input{border:1px solid #ccc;border-radius:5px;flex-grow:1;font-size:1rem;padding:10px}.balance-display .expiry-date{color:#888;font-size:.9rem;margin:.5rem 0 0}.current-subscription-panel{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:2.5rem;padding:1.5rem 2rem}.panel-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.panel-header h3{margin:0}.subscription-details-list{grid-gap:.75rem 1.5rem;display:grid;gap:.75rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));list-style:none;margin:0;padding:0}.subscription-details-list li{color:#495057;font-size:.95rem}.subscription-details-list li strong{color:#212529;font-weight:600;margin-right:.5rem}.status-badge{border-radius:.25rem;color:#fff;font-size:.85em;font-weight:600;padding:.2em .6em}.status-badge.status-active{background-color:#198754}.status-badge.status-expired,.status-badge.status-failed{background-color:#dc3545}.status-badge.status-pending{background-color:#ffc107;color:#000}.status-badge.status-success{background-color:#198754}.input-error-message{color:#dc3545;font-size:.875rem;margin-bottom:0;margin-top:.5rem}.input-has-error{border-color:#dc3545!important}.input-has-error:focus{box-shadow:0 0 0 2px #dc354540!important}.table-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 10px #0000000d;overflow-x:auto}.history-table{border-collapse:collapse;text-align:left;width:100%}.history-table td,.history-table th{border-bottom:1px solid #dee2e6;padding:1rem}.history-table th{background-color:#f8f9fa;color:#495057;font-weight:600}.history-table tbody tr:last-child td{border-bottom:none}.history-table tbody tr:hover{background-color:#f1f3f5}.history-table td[colspan="6"]{color:#6c757d;padding:2rem;text-align:center}.history-table .copy-button{align-items:center;display:inline-flex;font-size:.8em;justify-content:center;margin-left:8px;padding:4px 8px;vertical-align:middle}.dev-tools-panel{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;padding:2rem}.warning-box{background-color:#fff3cd;border:1px solid #ffecb5;border-radius:5px;color:#664d03;margin-bottom:2rem;padding:1rem}.actions-container{grid-gap:1.5rem;display:grid;gap:1.5rem}.action-item{border:1px solid #e9ecef;border-radius:5px;padding:1.5rem}.action-item h4{margin-bottom:.5rem;margin-top:0}.action-item p{color:#6c757d;font-size:.95rem;margin-bottom:1rem;margin-top:0}.action-button.destructive{background-color:#dc3545;color:#fff}.action-button.destructive:hover{background-color:#c82333}.action-button.destructive:disabled{background-color:#a71d2a;cursor:not-allowed}.feedback-message{background-color:#e9ecef;border-radius:5px;font-weight:500;margin-top:1.5rem;padding:1rem;text-align:center}.redeem-container{align-items:stretch;display:flex;gap:2rem}.redeem-form-section{background:#fff;border-radius:8px;box-shadow:0 4px 15px #00000014;flex:1 1;min-width:300px;padding:2rem}.redeem-details-section h4,.redeem-form-section h4{color:#343a40;margin-bottom:1rem;margin-top:0}.redeem-form p{color:#6c757d;font-size:.95rem;line-height:1.5}.redeem-form .input-group{display:flex;gap:.5rem;margin-top:1.5rem}.redeem-form input{border:1px solid #ccc;border-radius:5px;flex-grow:1;font-size:1rem;padding:10px}.redeem-details-section{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex:1.5 1;flex-direction:column;padding:2rem}.placeholder-box{align-items:center;color:#adb5bd;display:flex;flex-grow:1;justify-content:center;min-height:200px}.plan-details-box h5{border-bottom:1px solid #dee2e6;color:#495057;font-size:1rem;font-weight:600;margin-bottom:1rem;margin-top:1.5rem;padding-bottom:.75rem}.metadata-list,.plan-info-list{list-style:none;margin:0;padding:0}.metadata-list li,.plan-info-list li{margin-bottom:.5rem}.metadata-list li strong,.plan-info-list li strong{color:#343a40;font-weight:600;margin-right:.5rem}.metadata-list{grid-gap:.5rem 1rem;color:#6c757d;display:grid;font-size:.9rem;gap:.5rem 1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.details-divider{border:none;border-top:1px solid #dee2e6;margin:1.5rem 0}@media (max-width:900px){.redeem-container{flex-direction:column}.redeem-details-section{margin-top:2rem}}
/*# sourceMappingURL=main.b27be9f1.css.map*/