.auth-container{height:100vh;display:flex;align-items:flex-start;justify-content:center;background:var(--dark-bg);padding:0;padding-top:2rem;overflow:hidden}body:has(.auth-container){overflow:hidden}.auth-container-active,.auth-container-active body{overflow:hidden}.auth-card{background:var(--gradient-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-soft);width:100%;max-width:720px;animation:fadeInUp .6s ease-out;margin:.5rem;max-height:calc(100vh - 2rem);overflow-y:auto}.auth-card:hover{border-color:var(--primary-green);box-shadow:var(--shadow-glow)}.auth-header{text-align:center;margin-bottom:1rem}.auth-logo{display:inline-block;margin-bottom:.75rem}.auth-logo .logo-image{height:48px;width:auto;transition:transform .3s ease}.auth-logo:hover .logo-image{transform:scale(1.05)}.auth-header h2{color:var(--text-primary);font-size:1.75rem;font-weight:600;margin-bottom:.5rem;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary-green) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-header p{color:var(--text-secondary);font-size:1rem;margin:0}.auth-form{width:100%}.form-group{margin-bottom:.75rem}.form-group label{display:block;color:var(--text-secondary);font-weight:500;margin-bottom:.5rem;font-size:.9rem}.form-input{width:100%;padding:.875rem 1rem;background:var(--dark-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;transition:all .3s ease;font-family:inherit}.form-input:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px var(--primary-green-soft);background:var(--dark-surface)}.form-input:invalid{border-color:var(--error-color)}.btn-large{padding:1rem 2rem;font-size:1.1rem;font-weight:600;width:100%;margin-top:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden}.btn-large:disabled{opacity:.7;cursor:not-allowed}.btn-text{transition:opacity .3s ease}.btn-loader{display:none;align-items:center;gap:.5rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner{width:18px;height:18px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.auth-error{background:#ff47571a;border:1px solid var(--error-color);color:var(--error-color);padding:1rem;border-radius:var(--radius-md);margin-top:.75rem;font-size:.9rem;text-align:center;display:none;animation:shake .5s ease-in-out}.auth-footer{text-align:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.auth-footer p{margin:.25rem 0;color:var(--text-secondary);font-size:.9rem}.auth-footer a{color:var(--primary-green);text-decoration:none;font-weight:500;transition:color .3s ease}.auth-footer a:hover{color:var(--primary-green-bright);text-decoration:underline}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;font-size:.9rem;line-height:1.4;margin-bottom:.75rem}.checkbox-label input[type=checkbox]{margin:0;flex-shrink:0;margin-top:.1rem}.checkbox-label span{color:var(--text-secondary)}.checkbox-label a{color:var(--primary-green);text-decoration:none;font-weight:500}.checkbox-label a:hover{color:var(--primary-green-bright);text-decoration:underline}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0b0ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;display:flex;align-items:center;justify-content:center}.loading-content{text-align:center;color:var(--text-primary)}.loading-content h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.loading-content p{color:var(--text-secondary);font-size:1rem}.loading-spinner-large{margin-bottom:1rem}.spinner-ring{width:48px;height:48px;border:4px solid var(--border-subtle);border-top:4px solid var(--primary-green);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.plan-selection-section{margin-bottom:1rem}.plan-selection{background:var(--dark-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem;text-align:center}.selected-plan{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.75rem}.plan-icon{font-size:1.5rem}.plan-name{font-weight:600;color:var(--text-primary);font-size:1.1rem}.plan-price{color:var(--primary-green);font-weight:700;font-size:1.2rem}.plan-selector{margin-top:.75rem}.plan-selector-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.75rem}.plan-selector-btn{background:var(--dark-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.75rem .5rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:.25rem}.plan-selector-btn:hover{border-color:var(--primary-green);background:var(--dark-surface)}.plan-selector-btn.active{border-color:var(--primary-green);background:var(--primary-green-soft)}.plan-btn-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.plan-btn-price{color:var(--text-secondary);font-size:.8rem}.plan-selector-btn.active .plan-btn-name,.plan-selector-btn.active .plan-btn-price{color:var(--primary-green)}.plan-details-container{background:var(--dark-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem;margin-top:.75rem;text-align:left;max-height:300px;overflow-y:auto}.plan-details-container:has(.plan-detail-card.featured){border-color:var(--primary-green);background:var(--primary-green-soft)}.plan-details-container.has-featured{border-color:var(--primary-green);background:var(--primary-green-soft)}.plan-detail-card:not(.featured){opacity:.8}.plan-detail-card{background:var(--dark-surface-elevated);border-radius:var(--radius-md);padding:1rem}.plan-detail-card.featured{background:var(--primary-green-soft);border:2px solid var(--primary-green);position:relative}.plan-header{text-align:center;margin-bottom:.75rem;position:relative}.popular-badge{position:absolute;top:-.5rem;left:50%;transform:translate(-50%);background:var(--primary-green);color:var(--dark-bg);padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.plan-header h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.plan-pricing{display:flex;justify-content:center;align-items:baseline;gap:.5rem;margin-bottom:.75rem}.plan-features-list{list-style:none;padding:0;margin:0}.plan-features-list li{color:var(--text-secondary);font-size:.9rem;padding:.25rem 0;display:flex;align-items:center;gap:.5rem}.plan-features-list li:last-child{margin-bottom:0}.additional-cameras{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.camera-note{color:var(--text-muted);font-size:.8rem;font-style:italic;margin:0}.change-plan-link{display:inline-block;color:var(--primary-green);text-decoration:none;font-size:.9rem;font-weight:500;margin-top:.5rem}.change-plan-link:hover{color:var(--primary-green-bright);text-decoration:underline}.password-requirements{margin-top:.5rem}.password-requirements small{color:var(--text-muted);font-size:.8rem;font-style:italic}.success-message{background:#00ff891a;border:1px solid var(--primary-green);color:var(--primary-green);padding:1rem;border-radius:var(--radius-md);margin-top:1rem;font-size:.9rem;text-align:center;animation:fadeIn .5s ease-out}.sso-divider{text-align:center;margin:1rem 0;position:relative;color:var(--text-muted);font-size:.9rem}.sso-divider span{background:var(--gradient-card);padding:0 1rem;position:relative;z-index:1}.sso-divider span:before,.sso-divider span:after{content:"";position:absolute;top:50%;width:100px;height:1px;background:var(--border-subtle)}.sso-divider span:before{right:100%}.sso-divider span:after{left:100%}.sso-buttons{display:flex;flex-direction:column;gap:.75rem}.sso-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1rem;background:var(--dark-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);text-decoration:none;font-weight:500;transition:all .3s ease;cursor:pointer}.sso-btn img{width:20px;height:20px;flex-shrink:0}.sso-btn.google{background:#fff;color:#333;border-color:#dadce0}.sso-btn.google:hover{background:#f8f9fa;border-color:#dadce0;transform:translateY(-1px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media (max-width: 768px){.auth-container{padding:1rem}.auth-card{padding:1rem;margin:0;max-height:calc(100vh - 2rem)}.auth-header h2{font-size:1.5rem}.selected-plan{flex-direction:column;gap:.25rem}.form-input{padding:.75rem .875rem}.btn-large{padding:.875rem 1.5rem;font-size:1rem}}@media (max-width: 480px){.auth-card{padding:.875rem;border-radius:var(--radius-lg)}.auth-header{margin-bottom:.75rem}.auth-header h2{font-size:1.375rem}.auth-logo .logo-image{height:40px}.plan-selection{padding:.75rem}.checkbox-label{font-size:.85rem}.loading-content h3{font-size:1.25rem}.spinner-ring{width:40px;height:40px}}@media (max-height: 800px){.auth-container{padding-top:1rem}.auth-card{padding:1rem;max-height:calc(100vh - 2rem)}}@media (max-height: 600px){.auth-container{padding-top:.5rem}.auth-card{padding:.75rem;max-height:calc(100vh - 1rem)}}@media (min-height: 900px){.auth-container{padding-top:3rem}.auth-card{padding:1.5rem}}@media (prefers-color-scheme: dark){.form-input{background:var(--dark-surface-elevated)}.checkbox-label input[type=checkbox]{background:var(--dark-surface-elevated);border-color:var(--border-subtle)}}.form-input:focus-visible,.btn:focus-visible,.sso-btn:focus-visible{outline:2px solid var(--primary-green);outline-offset:2px}@media (prefers-contrast: high){.auth-card,.form-input,.btn{border:2px solid var(--text-primary)}}.modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;background:var(--dark-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:2rem;max-width:420px;width:100%;box-shadow:0 20px 60px #00000080;animation:modalFadeIn .3s ease;transform-origin:center center}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{text-align:center;margin-bottom:2rem}.modal-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.modal-header p{color:var(--text-secondary);font-size:.875rem}.modal-body{margin-bottom:1.5rem}.mfa-input-container{display:flex;justify-content:center;margin-bottom:1rem}.mfa-code-input{width:100%;max-width:240px;padding:1rem;font-size:2rem;text-align:center;letter-spacing:.5rem;background:var(--dark-surface-elevated);border:2px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-family:Courier New,monospace;transition:all .3s ease}.mfa-code-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.mfa-code-input::placeholder{letter-spacing:.5rem;opacity:.3}.modal-footer{display:flex;gap:1rem;justify-content:center}.modal-footer .btn{flex:1;max-width:150px}.modal-help{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.modal-help a{color:var(--primary);text-decoration:none;font-size:.875rem;transition:opacity .2s ease}.modal-help a:hover{opacity:.8;text-decoration:underline}#recaptcha-container{position:fixed;bottom:-100px;right:-100px;z-index:10000;visibility:hidden;pointer-events:none}.grecaptcha-badge{visibility:hidden!important;opacity:0!important;transform:scale(0)!important}.payment-gate-container{min-height:100vh;background:var(--dark-bg);display:flex;flex-direction:column;position:absolute;top:0;left:0;right:0;width:100%}.payment-gate-container .gate-header{background:#0a0b0ff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);padding:1rem 0;position:sticky;top:0;z-index:100}.payment-gate-container .gate-header .container{max-width:1200px;margin:0 auto;padding:0 1rem}.payment-gate-container .gate-header .header-content{display:flex;justify-content:space-between;align-items:center}.payment-gate-container .gate-header .user-info{display:flex;align-items:center;gap:1rem}.payment-gate-container .gate-header .user-email{color:var(--text-secondary);font-size:.9rem}.payment-gate-container .gate-main{flex:1;padding:2rem 0 4rem;display:flex;align-items:flex-start;justify-content:center;min-height:calc(100vh - 80px)}.payment-gate-container .gate-content{max-width:800px;width:100%;margin:0 auto;padding:0 1rem;text-align:center}.subscription-activation{margin-bottom:2rem}.activation-card{background:var(--gradient-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-soft);max-width:650px;margin:0 auto;transition:all .3s ease}.activation-card:hover{border-color:var(--primary-green);box-shadow:var(--shadow-glow)}.activation-card h2{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.selected-plan-display{background:var(--primary-green-soft);border:2px solid var(--primary-green);border-radius:6px;padding:.75rem;margin-bottom:0;text-align:left}.plan-pricing{text-align:center;padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--border-subtle)}.plan-info h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:.5rem;text-align:center}.plan-features{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem 1rem;margin-bottom:0}.plan-features .feature{color:var(--text-secondary);font-size:.85rem;display:flex;align-items:center;justify-content:flex-start;gap:.375rem;padding:.125rem 0;text-align:left}.plan-features .feature:empty{visibility:hidden}.price-display{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-bottom:.5rem}.old-price{color:var(--text-muted);text-decoration:line-through;font-size:.9rem}.current-price{color:var(--primary-green);font-size:1.5rem;font-weight:700}.price-period{color:var(--text-secondary);font-size:.9rem}.promo-text{margin-top:.25rem}.promo-badge{background:var(--primary-green);color:var(--dark-bg);padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;display:inline-block}.payment-action{text-align:center;margin-bottom:1rem}.payment-action .btn{margin-bottom:1rem;padding:1rem 2rem;font-size:1rem;box-shadow:var(--shadow-glow);transform:scale(1.02);border-radius:8px}.payment-action .btn:hover{transform:scale(1.05)}.btn-icon{margin-right:.75rem;font-size:1.25rem}.payment-security{border-top:1px solid var(--border-subtle);padding-top:1rem}.security-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;justify-items:center}.security-item{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.85rem}.security-icon{font-size:1.1rem;color:var(--primary-green)}.change-plan-section{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-subtle)}.change-plan-section p{color:var(--text-secondary);font-size:1rem;margin:0}.change-plan-link{color:var(--primary-green);text-decoration:none;font-weight:500;transition:color .3s ease}.change-plan-link:hover{color:var(--primary-green-hover);text-decoration:underline}.testimonials-section{display:none!important}.plan-comparison-section{margin-top:2rem;padding:2rem;background:var(--dark-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.plan-comparison-section h3{text-align:center;margin-bottom:1.5rem;color:var(--text-primary);font-size:1.25rem}.plan-comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.plan-option{background:var(--dark-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.25rem;text-align:center;position:relative;transition:all .3s ease}.plan-option:hover{border-color:var(--primary-green);transform:translateY(-2px);box-shadow:var(--shadow-soft)}.plan-option.recommended{border-color:var(--primary-green);background:linear-gradient(to bottom,var(--primary-green-soft),var(--dark-surface-elevated))}.plan-option.selected{border-color:var(--primary-green);border-width:2px;box-shadow:0 0 0 3px var(--primary-green-soft)}.recommended-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--primary-green);color:var(--dark-bg);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.plan-header{margin-bottom:1rem}.plan-header h4{color:var(--text-primary);margin-bottom:.5rem;font-size:1.125rem}.plan-price{display:flex;align-items:baseline;justify-content:center;gap:.25rem;margin-bottom:.25rem}.plan-price .old-price{color:var(--text-muted);text-decoration:line-through;font-size:.875rem}.plan-price .price-amount{color:var(--primary-green);font-size:1.75rem;font-weight:700}.plan-price .price-period{color:var(--text-secondary);font-size:.875rem}.plan-option .promo-text{color:var(--accent-orange);font-size:.75rem;font-weight:600;margin-top:.25rem}.plan-features-compact{list-style:none;padding:0;margin:0 0 1rem;text-align:left}.plan-features-compact li{color:var(--text-secondary);font-size:.875rem;padding:.5rem 0;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center}.plan-features-compact li:last-child{border-bottom:none}.plan-features-compact li:before{content:"✓";color:var(--primary-green);margin-right:.5rem;font-weight:600}.select-plan-btn{width:100%;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:all .3s ease}.select-plan-btn:hover{transform:translateY(-1px)}.btn-loader{display:flex;align-items:center;gap:.75rem}.btn-loader .spinner{width:18px;height:18px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width: 768px){.gate-main{padding:.25rem 0;min-height:calc(100vh - 70px)}.gate-content{padding:0 .5rem}.activation-card{padding:.5rem;margin:0 .25rem}.activation-card h2{font-size:1rem}.plan-features{grid-template-columns:repeat(2,1fr);gap:.25rem .5rem}.price-display{flex-direction:column;gap:.25rem}.current-price{font-size:1.75rem}.security-items{grid-template-columns:1fr;gap:1rem}.gate-header .user-info{flex-direction:column;gap:.5rem;align-items:flex-end}.payment-action .btn{padding:1rem 2rem;font-size:1rem}}@media (max-width: 480px){.activation-card{padding:.25rem}.activation-card h2{font-size:.9rem}.selected-plan-display{padding:.5rem}.plan-info h3{font-size:1rem}.current-price{font-size:1.25rem}.promo-badge{padding:.25rem .5rem;font-size:.7rem}.plan-comparison-grid{grid-template-columns:1fr;gap:1rem}.plan-option{padding:1rem}.plan-comparison-section{padding:1rem;max-height:60vh;overflow-y:auto}.recommended-badge{position:static;transform:none;display:inline-block;margin-bottom:.5rem}}.checkout-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0b0ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:all .3s ease}.checkout-overlay.active{opacity:1;visibility:visible}.checkout-modal{background:var(--gradient-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:0;max-width:1100px;width:95%;max-height:95vh;overflow:hidden;box-shadow:var(--shadow-soft);transform:translateY(20px) scale(.95);transition:all var(--transition-normal);display:flex;flex-direction:column}.checkout-overlay.active .checkout-modal{transform:translateY(0) scale(1)}.checkout-header{padding:1rem 2rem .75rem;border-bottom:1px solid var(--border-subtle);text-align:center;position:relative}.checkout-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .3s ease}.checkout-close:hover{color:var(--text-primary);background:var(--dark-surface-elevated)}.checkout-header h2{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.checkout-header p{color:var(--text-secondary);font-size:.95rem}.checkout-form{padding:1rem 2rem 1.5rem;flex:1;overflow-y:auto}.checkout-two-column{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;padding:.75rem 2rem}.checkout-left{display:flex;flex-direction:column;gap:.5rem}.checkout-right{background:var(--gradient-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem;height:fit-content;position:sticky;top:1rem;transition:all var(--transition-normal)}.checkout-right:hover{border-color:var(--primary-green);box-shadow:var(--shadow-soft)}.checkout-subtitle{color:var(--text-secondary);font-size:.875rem;text-align:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.checkout-modal .form-section,.checkout-form .form-section{background:var(--dark-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.5rem;margin-bottom:0;transition:all var(--transition-normal)}.checkout-modal .form-section:hover,.checkout-form .form-section:hover{border-color:var(--primary-green);box-shadow:0 0 0 1px var(--primary-green-soft)}.checkout-modal .form-section h4,.checkout-form .form-section h4{color:var(--text-primary);font-size:.875rem;font-weight:600;margin-bottom:.375rem;display:flex;align-items:center;gap:.5rem}.checkout-modal .form-group,.checkout-form .form-group{margin-bottom:.5rem!important}.checkout-modal .form-group:last-child,.checkout-form .form-group:last-child{margin-bottom:0}.checkout-modal .form-row .form-group,.checkout-form .form-row .form-group{margin-bottom:0}.checkout-modal .form-group label,.checkout-form .form-group label{display:block;color:var(--text-secondary);font-weight:500;margin-bottom:.25rem;font-size:.8rem}.form-input{width:100%;padding:.375rem .5rem;background:var(--dark-surface-elevated);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:.85rem;transition:all .3s ease;height:32px}select.form-input{height:32px;padding-top:.25rem;padding-bottom:.25rem}.form-input:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px var(--primary-green-soft)}.form-input::placeholder{color:var(--text-muted)}.form-help-text{font-size:.75rem;color:var(--text-muted);margin-top:.25rem;margin-bottom:.25rem}.form-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.5rem;margin-bottom:.5rem}.checkbox-group{display:flex;align-items:flex-start;margin-bottom:.1rem}.checkbox-label{display:flex;align-items:flex-start;gap:.25rem;cursor:pointer;color:var(--text-secondary);font-size:.8rem;line-height:1.4}.checkbox-label span{padding-left:.25rem}.checkbox-label:hover{color:var(--text-primary)}.form-checkbox{width:18px;height:18px;min-width:18px;margin-top:2px;accent-color:var(--primary-green);cursor:pointer}.checkbox-label a{color:var(--primary-green);text-decoration:none}.checkbox-label a:hover{text-decoration:underline}.terms-section{background:var(--primary-green-soft);border-color:var(--primary-green)}.terms-section:hover{box-shadow:0 0 0 2px var(--primary-green)}.camera-config{background:var(--dark-surface);border-radius:8px;padding:.75rem;border:1px solid var(--border-subtle)}.included-cameras{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-subtle);margin-bottom:.75rem}.config-label{color:var(--text-secondary);font-weight:500}.config-value{color:var(--text-primary);font-weight:600}.additional-cameras-config label{display:block;color:var(--text-secondary);font-weight:500;margin-bottom:.5rem}.camera-quantity-controls{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.quantity-btn{width:36px;height:36px;background:var(--dark-surface-elevated);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:1.25rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.quantity-btn:hover{background:var(--dark-surface);border-color:var(--primary-green)}.quantity-btn:disabled{opacity:.5;cursor:not-allowed}.quantity-input{width:60px;text-align:center;padding:.5rem;background:var(--dark-surface-elevated);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:1rem;font-weight:600}.camera-pricing-info{margin-top:.5rem}.camera-price{color:var(--primary-green);font-weight:600;font-size:.9rem}.summary-row.additional-cameras-row{border-top:1px solid var(--border-subtle);padding-top:.75rem}.stripe-element{background:var(--dark-surface-elevated);border:1px solid var(--border-subtle);border-radius:6px;padding:.4rem .6rem;transition:all .3s ease}.stripe-element:focus-within{border-color:var(--primary-green);box-shadow:0 0 0 3px var(--primary-green-soft)}.stripe-element.StripeElement--invalid{border-color:var(--error-color)}#card-element{min-height:42px;display:block;margin-bottom:1rem;position:relative}.error-message{color:var(--error-color);font-size:.9rem;margin-top:.5rem;padding:.5rem;background:#ff47571a;border:1px solid var(--error-color);border-radius:6px;display:none}.error-message.visible{display:block}.security-info{margin-top:1rem;padding:1rem;background:var(--dark-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.security-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-top:.75rem}.security-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.85rem}.security-icon{color:var(--primary-green);font-size:1rem}.submit-button{margin-top:.5rem;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem!important;font-size:.95rem!important}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.button-spinner{width:18px;height:18px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;display:none}.submit-button.loading .button-spinner{display:block}.submit-button.loading .button-text{opacity:0}.order-summary{margin-bottom:1.5rem}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.summary-row:not(:last-child){border-bottom:1px solid var(--border-subtle)}.summary-row.total{font-weight:700;font-size:1.1rem;color:var(--text-primary);border-top:2px solid var(--border-subtle);margin-top:.5rem;padding-top:.75rem}.summary-label{color:var(--text-secondary)}.summary-value{color:var(--text-primary);font-weight:600}.summary-discount{color:var(--primary-green);font-weight:600}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 900px){.checkout-modal{max-width:95vw;max-height:95vh}.checkout-two-column{grid-template-columns:1fr;gap:1.5rem;padding:1rem}.checkout-right{position:relative;top:0;order:-1}.checkout-header{padding:1rem}.checkout-header h2{font-size:1.25rem}.form-row{grid-template-columns:1fr;gap:.75rem}.form-section{padding:.75rem}.security-items{grid-template-columns:1fr;gap:.5rem}.submit-button{padding:.875rem 1.5rem;font-size:.95rem;width:100%}}@media (max-width: 480px){.checkout-modal{max-width:100vw;border-radius:0;max-height:100vh}.checkout-header h2{font-size:1.25rem}.submit-button{padding:.75rem 1rem;font-size:.9rem}}
