.payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,0,0,.4),rgba(0,0,0,.6));backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.payment-modal-content{background:linear-gradient(145deg,#fff,#fafbfc);border-radius:20px;max-width:650px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px rgba(0,0,0,.15),0 0 0 1px hsla(0,0%,100%,.8),inset 0 1px 0 hsla(0,0%,100%,.9);animation:modal-appear .4s cubic-bezier(.16,1,.3,1);position:relative}.payment-modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.8),transparent)}@keyframes modal-appear{0%{opacity:0;transform:scale(.95) translateY(-30px)}to{opacity:1;transform:scale(1) translateY(0)}}.payment-modal-header{display:flex;justify-content:space-between;align-items:center;padding:28px 32px 24px;border-bottom:1px solid rgba(0,0,0,.06);background:linear-gradient(135deg,hsla(0,0%,100%,.9),rgba(248,250,252,.8));border-radius:20px 20px 0 0;position:relative}.payment-modal-header:after{content:"";position:absolute;bottom:0;left:32px;right:32px;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}.header-controls{display:flex;align-items:center;gap:16px}.payment-modal-header h2{margin:0;color:#1a202c;font-size:26px;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#1a202c,#4a5568);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.payment-modal-close{background:linear-gradient(145deg,#f8fafc,#e2e8f0);border:1px solid rgba(0,0,0,.06);font-size:20px;color:#64748b;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 4px rgba(0,0,0,.04),inset 0 1px 0 hsla(0,0%,100%,.8)}.payment-modal-close:hover{background:linear-gradient(145deg,#e2e8f0,#cbd5e0);color:#374151;transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.9)}.payment-modal-close:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.06),inset 0 1px 0 hsla(0,0%,100%,.8)}.payment-modal-body{padding:32px}.family-info{margin-bottom:32px;padding:24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;border:1px solid rgba(0,0,0,.04);border-left:4px solid #3b82f6;position:relative;box-shadow:0 4px 6px rgba(0,0,0,.02),inset 0 1px 0 hsla(0,0%,100%,.8)}.family-info:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.3),transparent);border-radius:16px 16px 0 0}.family-info h3{margin:0 0 12px;color:#1e293b;font-size:20px;font-weight:700;letter-spacing:-.01em}.family-info p{margin:0;color:#64748b;font-size:15px;font-weight:500}.active-payment-info{margin-bottom:24px;padding:20px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:16px;position:relative;box-shadow:0 8px 16px rgba(245,158,11,.1),inset 0 1px 0 hsla(0,0%,100%,.8)}.active-payment-info:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(245,158,11,.3),transparent);border-radius:16px 16px 0 0}.active-payment-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.payment-status-icon{font-size:32px;flex-shrink:0;margin-top:4px}.payment-status-content h4{margin:0 0 8px;color:#92400e;font-size:18px;font-weight:700;letter-spacing:-.01em}.payment-status-content p{margin:0 0 12px;color:#a16207;font-size:15px;font-weight:600}.payment-timer{display:flex;align-items:center;gap:8px;padding:8px 12px;background:hsla(0,0%,100%,.6);border-radius:8px;font-size:14px;font-weight:600;color:#92400e}.timer-icon{font-size:16px}.active-payment-actions{display:flex;gap:12px;flex-wrap:wrap}.return-to-payment-button{flex:1;padding:12px 20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);letter-spacing:-.01em;box-shadow:0 4px 8px rgba(16,185,129,.2),inset 0 1px 0 hsla(0,0%,100%,.2);min-width:160px}.return-to-payment-button:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 8px 16px rgba(16,185,129,.3),inset 0 1px 0 hsla(0,0%,100%,.3)}.return-to-payment-button:active{transform:translateY(0);box-shadow:0 2px 4px rgba(16,185,129,.2),inset 0 1px 0 hsla(0,0%,100%,.2)}.reset-payment-button{flex:1;padding:12px 20px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);letter-spacing:-.01em;box-shadow:0 4px 8px rgba(239,68,68,.2),inset 0 1px 0 hsla(0,0%,100%,.2);min-width:140px}.reset-payment-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 8px 16px rgba(239,68,68,.3),inset 0 1px 0 hsla(0,0%,100%,.3)}.reset-payment-button:active{transform:translateY(0);box-shadow:0 2px 4px rgba(239,68,68,.2),inset 0 1px 0 hsla(0,0%,100%,.2)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px}.spinner{width:48px;height:48px;border-radius:50%;border-color:#3b82f6 #3b82f6 #f1f5f9 #f1f5f9;border-style:solid;border-width:3px;animation:spin 1.2s cubic-bezier(.68,-.55,.265,1.55) infinite;margin-bottom:20px;position:relative}.spinner:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;border:2px solid transparent;border-top-color:#60a5fa;border-radius:50%;transform:translate(-50%,-50%);animation:spin .8s linear infinite reverse}@keyframes spin{to{transform:rotate(1turn)}}.error-message{text-align:center;padding:24px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-radius:16px;color:#dc2626;margin-bottom:24px;border:1px solid rgba(220,38,38,.1);box-shadow:0 4px 6px rgba(220,38,38,.05),inset 0 1px 0 hsla(0,0%,100%,.8);position:relative}.error-message:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(220,38,38,.2),transparent);border-radius:16px 16px 0 0}.retry-button{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;padding:12px 24px;border-radius:12px;cursor:pointer;margin-top:16px;font-size:15px;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 6px rgba(220,38,38,.2),inset 0 1px 0 hsla(0,0%,100%,.2)}.retry-button:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-2px);box-shadow:0 8px 12px rgba(220,38,38,.3),inset 0 1px 0 hsla(0,0%,100%,.3)}.retry-button:active{transform:translateY(0);box-shadow:0 2px 4px rgba(220,38,38,.2),inset 0 1px 0 hsla(0,0%,100%,.2)}.price-details h4{margin:0 0 24px;color:#1e293b;font-size:20px;font-weight:700;letter-spacing:-.01em;position:relative}.price-details h4:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:2px}.price-items{margin-bottom:24px}.price-item{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;margin-bottom:12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;border:1px solid rgba(0,0,0,.04);box-shadow:0 2px 4px rgba(0,0,0,.02),inset 0 1px 0 hsla(0,0%,100%,.8);transition:all .2s ease;position:relative}.price-item:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.04),inset 0 1px 0 hsla(0,0%,100%,.9)}.price-item:before{content:"";position:absolute;left:0;top:50%;width:3px;height:20px;background:linear-gradient(180deg,#3b82f6,#60a5fa);border-radius:0 2px 2px 0;transform:translateY(-50%);opacity:0;transition:opacity .2s ease}.price-item:hover:before{opacity:1}.item-name{font-weight:600;color:#1e293b;flex:1;font-size:15px;letter-spacing:-.01em}.quantity{color:#64748b;font-weight:500;margin-left:6px;font-size:14px}.item-price{font-weight:700;color:#1e293b;margin-left:20px;font-size:15px;letter-spacing:-.01em}.total-cost{padding:24px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #10b981;border-radius:16px;text-align:center;font-size:22px;color:#065f46;margin-bottom:24px;font-weight:800;letter-spacing:-.02em;position:relative;box-shadow:0 8px 16px rgba(16,185,129,.1),inset 0 1px 0 hsla(0,0%,100%,.8)}.total-cost:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(16,185,129,.3),transparent);border-radius:16px 16px 0 0}.total-cost strong{background:linear-gradient(135deg,#065f46,#047857);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.payment-provider-selection{margin-top:24px}.payment-provider-selection h4{margin:0 0 20px;color:#1e293b;font-size:18px;font-weight:700;letter-spacing:-.01em;position:relative}.payment-provider-selection h4:after{content:"";position:absolute;bottom:-6px;left:0;width:30px;height:2px;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:1px}.provider-options{display:flex;flex-direction:column;gap:16px}.provider-option{display:flex;align-items:center;padding:16px 20px;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);background:linear-gradient(135deg,#fff,#fafbfc);position:relative;box-shadow:0 2px 4px rgba(0,0,0,.02),inset 0 1px 0 hsla(0,0%,100%,.8)}.provider-option:hover{border-color:#3b82f6;background:linear-gradient(135deg,#f8fafc,#f1f5f9);transform:translateY(-2px);box-shadow:0 8px 16px rgba(59,130,246,.1),inset 0 1px 0 hsla(0,0%,100%,.9)}.provider-option input[type=radio]{margin-right:16px;transform:scale(1.3);accent-color:#3b82f6;cursor:pointer}.provider-option input[type=radio]:checked+.provider-name{color:#1e293b;font-weight:700}.provider-option:has(input[type=radio]:checked){border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe);box-shadow:0 8px 16px rgba(59,130,246,.15),inset 0 1px 0 hsla(0,0%,100%,.9)}.provider-option:has(input[type=radio]:checked):before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#3b82f6,#60a5fa);border-radius:0 2px 2px 0}.provider-name{color:#64748b;font-size:16px;font-weight:600;letter-spacing:-.01em}.offer-agreement{margin-top:32px;padding:20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;border:1px solid rgba(0,0,0,.04);border-left:4px solid #3b82f6;position:relative;box-shadow:0 4px 6px rgba(0,0,0,.02),inset 0 1px 0 hsla(0,0%,100%,.8)}.offer-agreement:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.3),transparent);border-radius:16px 16px 0 0}.agreement-checkbox{display:flex;align-items:flex-start;cursor:pointer;user-select:none;gap:16px;padding:8px;border-radius:12px;transition:all .2s ease}.agreement-checkbox:hover{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.agreement-checkbox input[type=checkbox]{width:22px;height:22px;min-width:22px;transform:scale(1.2);accent-color:#3b82f6;cursor:pointer;margin:2px 0 0}.agreement-text{color:#1e293b;font-size:15px;line-height:1.6;font-weight:600;letter-spacing:-.01em}.agreement-link{color:#3b82f6;text-decoration:none;font-weight:700;transition:all .2s ease;position:relative}.agreement-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:1px;transition:width .3s ease}.agreement-link:hover{color:#1d4ed8}.agreement-link:hover:after{width:100%}.test-mode-toggle,.toggle-label{display:flex;align-items:center}.toggle-label{cursor:pointer;gap:8px;font-size:14px;color:#4a5568;user-select:none}.toggle-input{display:none}.toggle-slider{width:44px;height:24px;background-color:#cbd5e0;border-radius:12px;position:relative;transition:background-color .3s}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background-color:#fff;top:2px;left:2px;transition:transform .3s;box-shadow:0 2px 4px rgba(0,0,0,.2)}.toggle-input:checked+.toggle-slider{background-color:#f56565}.toggle-input:checked+.toggle-slider:before{transform:translateX(20px)}.toggle-text{font-weight:500}.test-mode-warning{background:linear-gradient(135deg,#fed7d7,#fbb6ce);border:2px solid #f56565;border-radius:10px;padding:16px;margin-bottom:20px;animation:pulse-warning 2s infinite}@keyframes pulse-warning{0%,to{box-shadow:0 0 0 0 hsla(0,88%,68%,.4)}50%{box-shadow:0 0 0 8px hsla(0,88%,68%,0)}}.warning-content{display:flex;align-items:flex-start;gap:12px}.warning-icon{font-size:24px;flex-shrink:0}.test-mode-warning strong{color:#742a2a;font-size:16px;display:block;margin-bottom:4px}.test-mode-warning p{color:#9c4221;margin:0;font-size:14px;line-height:1.4}.payment-modal-footer{display:flex;justify-content:space-between;gap:16px;padding:28px 32px;border-top:1px solid rgba(0,0,0,.06);background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:0 0 20px 20px;position:relative}.payment-modal-footer:before{content:"";position:absolute;top:0;left:32px;right:32px;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}.cancel-button{flex:1;padding:16px 28px;border:2px solid #e2e8f0;background:linear-gradient(135deg,#fff,#fafbfc);color:#64748b;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);letter-spacing:-.01em;box-shadow:0 2px 4px rgba(0,0,0,.02),inset 0 1px 0 hsla(0,0%,100%,.8)}.cancel-button:hover:not(:disabled){border-color:#cbd5e0;background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#475569;transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.9)}.cancel-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.02),inset 0 1px 0 hsla(0,0%,100%,.8)}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.pay-button{flex:2;padding:16px 28px;border:none;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;letter-spacing:-.01em;box-shadow:0 8px 16px rgba(16,185,129,.2),inset 0 1px 0 hsla(0,0%,100%,.2)}.pay-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,hsla(0,0%,100%,.1),transparent);border-radius:12px;opacity:0;transition:opacity .2s ease}.pay-button:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-3px);box-shadow:0 12px 24px rgba(16,185,129,.3),inset 0 1px 0 hsla(0,0%,100%,.3)}.pay-button:hover:not(:disabled):before{opacity:1}.pay-button:active:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 12px rgba(16,185,129,.25),inset 0 1px 0 hsla(0,0%,100%,.2)}.pay-button:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;transform:none;box-shadow:0 2px 4px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.1)}@media (max-width:768px){.payment-modal-overlay{padding:10px}.payment-modal-content{max-height:95vh;border-radius:16px}.payment-modal-header{padding:20px 24px 16px;border-radius:16px 16px 0 0}.payment-modal-header h2{font-size:22px}.payment-modal-body{padding:24px}.family-info{padding:20px;margin-bottom:24px}.family-info h3{font-size:18px}.price-item{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.item-price{margin-left:0;align-self:flex-end;font-size:16px}.total-cost{padding:20px;font-size:20px}.payment-modal-footer{flex-direction:column;gap:16px;padding:24px;border-radius:0 0 16px 16px}.cancel-button,.pay-button{flex:none;padding:18px 24px;font-size:17px}.offer-agreement{margin-top:24px;padding:16px}.agreement-text{font-size:14px}.agreement-checkbox{gap:12px;padding:12px}.agreement-checkbox input[type=checkbox]{width:20px;height:20px;min-width:20px;transform:scale(1.1)}.provider-option{padding:14px 16px}.error-message{padding:20px}.retry-button{padding:14px 20px;font-size:16px}.active-payment-info{padding:16px;margin-bottom:20px}.active-payment-header{flex-direction:column;gap:12px;text-align:center}.payment-status-icon{font-size:28px;margin-top:0}.payment-status-content h4{font-size:16px}.payment-status-content p{font-size:14px}.payment-timer{justify-content:center;font-size:13px}.active-payment-actions{flex-direction:column;gap:10px}.reset-payment-button,.return-to-payment-button{flex:none;width:100%;padding:14px 20px;font-size:16px}}@media (max-width:480px){.payment-modal-overlay{padding:5px}.payment-modal-content{max-height:98vh;border-radius:12px}.payment-modal-header{padding:16px 20px 12px;border-radius:12px 12px 0 0}.payment-modal-header h2{font-size:20px}.payment-modal-body{padding:20px}.family-info,.total-cost{padding:16px}.total-cost{font-size:18px}.payment-modal-footer{padding:20px;border-radius:0 0 12px 12px}.cancel-button,.pay-button{padding:16px 20px;font-size:16px}.active-payment-info{padding:14px}.payment-status-icon{font-size:24px}.payment-status-content h4{font-size:15px}.payment-status-content p{font-size:13px}.payment-timer{font-size:12px;padding:6px 10px}.reset-payment-button,.return-to-payment-button{padding:12px 16px;font-size:15px}}