:root{--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--success-50: #ecfdf5;--success-100: #d1fae5;--success-200: #a7f3d0;--success-300: #6ee7b7;--success-400: #34d399;--success-500: #10b981;--success-600: #059669;--success-700: #047857;--success-800: #065f46;--success-900: #064e3b;--danger-50: #fef2f2;--danger-100: #fee2e2;--danger-200: #fecaca;--danger-300: #fca5a5;--danger-400: #f87171;--danger-500: #ef4444;--danger-600: #dc2626;--danger-700: #b91c1c;--danger-800: #991b1b;--danger-900: #7f1d1d;--warning-50: #fffbeb;--warning-100: #fef3c7;--warning-200: #fde68a;--warning-300: #fcd34d;--warning-400: #fbbf24;--warning-500: #f59e0b;--warning-600: #d97706;--warning-700: #b45309;--warning-800: #92400e;--warning-900: #78350f;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--primary: var(--primary-500);--primary-hover: var(--primary-600);--success: var(--success-500);--success-hover: var(--success-600);--danger: var(--danger-500);--danger-hover: var(--danger-600);--warning: var(--warning-500);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-tertiary: var(--gray-500);--border-light: var(--gray-200);--border-medium: var(--gray-300);--bg-light: var(--gray-50);--bg-card: #ffffff;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-focus: 0 0 0 3px rgba(59, 130, 246, .45);--space-xxs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xxl: 3rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--transition-none: 0s;--transition-fast: .1s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-delay: .4s ease-out;--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal: 1050;--z-index-popover: 1070;--z-index-tooltip: 1080}.address-step-container{max-width:800px;margin:0 auto;padding:var(--space-xl);background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.step-title{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xl);text-align:center;position:relative;line-height:1.3}.step-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(90deg,var(--primary),var(--success));border-radius:var(--radius-full);opacity:.8}.address-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xxl)}.address-card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-lg);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;animation:fadeInUp var(--transition-delay) forwards;opacity:0;will-change:transform,box-shadow}.address-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary-300)}.address-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background-color:var(--border-light);transition:background-color var(--transition-normal)}.address-card:hover:before{background-color:var(--primary)}.address-card-content{cursor:pointer;display:grid;gap:var(--space-xs)}.text-base{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);line-height:1.5}.text-sm{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.text-muted{color:var(--text-tertiary)}.address-form{background-color:var(--bg-light);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-xl);margin-top:var(--space-xl);box-shadow:var(--shadow-xs)}.address-form h3{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-lg);line-height:1.4}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.form-group{position:relative;display:flex;flex-direction:column;gap:var(--space-xs)}.form-label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.form-label.required:after{content:"*";color:var(--danger);margin-left:var(--space-xxs)}.form-input{width:100%;padding:var(--space-sm);border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-primary);background-color:var(--bg-card);transition:all var(--transition-fast);line-height:1.5}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.form-input::placeholder{color:var(--text-tertiary);opacity:.6}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);gap:var(--space-xs);line-height:1.5;border:1px solid transparent;white-space:nowrap}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-outline{background-color:transparent;border-color:var(--border-medium);color:var(--text-secondary)}.btn-outline:hover{background-color:var(--gray-50);color:var(--text-primary);border-color:var(--gray-300)}.btn-danger{background-color:var(--danger-100);color:var(--danger-600)}.btn-danger:hover{background-color:var(--danger-200);color:var(--danger-700)}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover{background-color:var(--success-hover);box-shadow:var(--shadow-sm)}.btn-location{background-color:var(--primary-100);color:var(--primary-700)}.btn-location:hover{background-color:var(--primary-200);color:var(--primary-800)}.btn:disabled{opacity:.7;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}.btn-lg{padding:var(--space-md) var(--space-lg);font-size:var(--text-base)}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-md);margin-top:var(--space-lg)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.address-card{animation:fadeInUp var(--transition-delay) forwards}.address-card:nth-child(1){animation-delay:.1s}.address-card:nth-child(2){animation-delay:.2s}.address-card:nth-child(3){animation-delay:.3s}.address-card:nth-child(4){animation-delay:.4s}@media (max-width: 768px){.address-step-container{padding:var(--space-lg)}.address-list{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:var(--space-sm)}.btn{width:100%}}@media (max-width: 480px){.address-step-container{padding:var(--space-md);border-radius:0}.form-grid{grid-template-columns:1fr}.step-title{font-size:var(--text-xl)}.address-form h3{font-size:var(--text-lg)}.address-form{padding:var(--space-lg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.focus-visible:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-full);border-top-color:currentColor;animation:spin 1s ease-in-out infinite}.has-error .form-input{border-color:var(--danger)}.has-error .form-input:focus{box-shadow:0 0 0 3px var(--danger-100)}.error-message{font-size:var(--text-xs);color:var(--danger);margin-top:var(--space-xxs)}.has-success .form-input{border-color:var(--success)}[aria-busy=true]{cursor:progress}[aria-disabled=true]{cursor:not-allowed;opacity:.7}
