.payment-modal{--payment-primary:#3B82F6;--payment-primary-hover:#2563EB;--payment-success:#10B981;--payment-warning:#F59E0B;--payment-error:#EF4444;--payment-border:#E5E7EB;--payment-bg-subtle:#F9FAFB}.payment-modal [data-state=open]{animation:payment-modal-in .2s ease-out}.payment-modal [data-state=closed]{animation:payment-modal-out .15s ease-in}@keyframes payment-modal-in{0%{opacity:0;transform:translate(-50%,-48%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes payment-modal-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-48%) scale(.95)}}.payment-modal .step-content{animation:step-fade-in .3s ease-out}@keyframes step-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.payment-modal .customer-type-button{transition:all .2s ease;border:2px solid transparent}.payment-modal .customer-type-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.payment-modal .customer-type-button[data-selected=true]{border-color:var(--payment-primary);background-color:var(--payment-primary);color:white}.price-calculating{position:relative;overflow:hidden}.price-calculating:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:price-shimmer 1.5s infinite}@keyframes price-shimmer{0%{left:-100%}to{left:100%}}.payment-modal .option-checkbox{transition:all .2s ease}.payment-modal .option-checkbox:checked+label{background-color:var(--payment-bg-subtle);border-color:var(--payment-primary)}.payment-processing{opacity:.7;position:relative}.payment-processing:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.8);z-index:1;pointer-events:none}.payment-processing .payment-form-content{pointer-events:none}.payment-success-pulse{animation:success-pulse 2s ease-in-out}@keyframes success-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (max-width:1024px){.payment-modal{max-width:95vw;margin:1rem}.payment-modal .grid-cols-3{grid-template-columns:1fr;gap:1rem}.payment-modal .lg\\:col-span-2{order:2}.payment-modal .price-sidebar{order:1;position:sticky;top:0;z-index:10;background:white;border-bottom:1px solid var(--payment-border);padding-bottom:1rem;margin-bottom:1rem}}@media (max-width:640px){.payment-modal .customer-type-grid{grid-template-columns:1fr}.payment-modal .price-breakdown{font-size:.875rem}.payment-modal .step-buttons{flex-direction:column;gap:.5rem}.payment-modal .step-buttons button{width:100%}}.payment-modal [role=button]:focus-visible,.payment-modal button:focus-visible{outline:2px solid var(--payment-primary);outline-offset:2px}.payment-modal .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.payment-modal .price-item{transition:background-color .2s ease;padding:.25rem 0;border-radius:.25rem}.payment-modal .price-item:hover{background-color:var(--payment-bg-subtle)}.payment-modal .total-price{background:linear-gradient(135deg,var(--payment-primary),var(--payment-primary-hover));background-clip:text;-webkit-background-clip:text;color:transparent;font-weight:700}.payment-modal .skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-color-scheme:dark){.payment-modal{--payment-border:#374151;--payment-bg-subtle:#1F2937}.payment-modal .skeleton{background:linear-gradient(90deg,#374151 25%,#4B5563 50%,#374151 75%);background-size:200% 100%}}