.subscription-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.subscription-modal-content{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;position:relative}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffffffa;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:15000;border-radius:0;padding:40px;text-align:center;pointer-events:all}.loading-spinner{width:60px;height:60px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:24px}@keyframes spin{to{transform:rotate(1turn)}}.loading-message{font-size:18px;font-weight:600;color:#111827;margin-bottom:8px;max-width:400px}.loading-submessage{font-size:14px;color:#6b7280}.subscription-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}.subscription-modal-header h2{margin:0;font-size:24px;color:#111827}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:4px 8px;border-radius:4px;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#111827}.subscription-modal-body{padding:24px}.subscription-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:16px;margin-bottom:24px}.subscription-info p{margin:8px 0;font-size:14px;color:#0c4a6e}.subscription-note{background:#fef3c7;border:1px solid #fde047;border-radius:6px;padding:12px;margin-top:12px!important;font-size:13px!important;color:#713f12!important}.payment-methods-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-top:20px}.payment-method-btn{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;text-align:center}.payment-method-btn:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.payment-method-icon{font-size:40px;margin-bottom:12px;display:flex;align-items:center;justify-content:center;height:60px}.payment-method-icon img{max-width:100%;max-height:100%;object-fit:contain}.payment-method-icon.card-logos{gap:8px}.payment-method-icon.card-logos img{max-width:30%;max-height:40px}.payment-method-name{font-weight:600;font-size:14px;color:#111827;margin-bottom:6px}.payment-method-desc{font-size:12px;color:#6b7280}.payment-form{margin-top:20px}.back-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:10px 16px;cursor:pointer;font-size:14px;color:#374151;margin-bottom:20px;transition:all .2s}.back-btn:hover{background:#e5e7eb}.bancolombia-form h3,.card-form h3,.daviplata-form h3,.nequi-form h3{margin:0 0 20px;font-size:18px;color:#111827}.method-info{background:#f0f9ff;border-left:4px solid #3b82f6;margin-bottom:20px;color:#0c4a6e}.method-info,.method-note{padding:12px 16px;font-size:14px;border-radius:4px}.method-note{background:#f0fdf4;border-left:4px solid #22c55e;margin-top:12px;color:#14532d}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s;box-sizing:border-box;color:#111827;background-color:#fff}.form-group input::placeholder{color:#9ca3af;opacity:1}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.form-actions{margin-top:24px}.submit-btn{width:100%;background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:14px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.submit-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.submit-btn:disabled{background:#9ca3af;cursor:not-allowed}.security-note{text-align:center;margin-top:16px;font-size:13px;color:#6b7280}@media (max-width:640px){.subscription-modal-content{max-width:100%;margin:0;border-radius:0;max-height:100vh}.form-row,.payment-methods-grid{grid-template-columns:1fr}}.custom-alert{margin:16px 24px;padding:16px;border-radius:8px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.custom-alert-info{background:#eff6ff;border:1px solid #3b82f6;color:#1e40af}.custom-alert-success{background:#f0fdf4;border:1px solid #22c55e;color:#166534}.custom-alert-error{background:#fef2f2;border:1px solid #ef4444;color:#991b1b}.alert-content{display:flex;justify-content:space-between;align-items:center;gap:12px}.alert-message{flex:1;font-size:14px;line-height:1.5}.alert-close{background:none;border:none;font-size:20px;cursor:pointer;color:inherit;opacity:.6;padding:4px 8px;border-radius:4px;transition:all .2s;flex-shrink:0}.alert-close:hover{opacity:1;background:#0000000d}.sandbox-otp-hint{margin-top:12px;padding:12px;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;font-size:14px;color:#92400e}.sandbox-otp-hint code{background:#fde68a;padding:2px 8px;border-radius:4px;font-family:Courier New,monospace;font-weight:700;font-size:16px;letter-spacing:2px}.three-ds-challenge-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:20000;padding:20px;animation:fadeIn .3s ease-in-out}.three-ds-challenge-modal{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 25px 80px #00000080;display:flex;flex-direction:column}.three-ds-header{padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;border-top-left-radius:12px;border-top-right-radius:12px}.three-ds-header h3{margin:0 0 8px;font-size:18px;font-weight:600}.three-ds-header p{margin:0;font-size:14px;opacity:.9}.mastercard-logo{display:block;margin:0 auto;max-width:200px;height:auto;filter:brightness(0) invert(1)}.three-ds-content{padding:20px;flex:1;overflow:auto}.three-ds-footer{padding:16px 20px;background:#f9fafb;text-align:center;border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:1px solid #e5e7eb}.three-ds-footer p{margin:0;font-size:13px;color:#6b7280}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}