@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&display=swap);*,:after,:before{box-sizing:border-box}html{color:#111827;color:var(--gray-900);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5;scroll-behavior:smooth}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;background-color:var(--gray-50)}body{margin:0;min-height:100vh;overflow-x:hidden}:root{--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-300:#a5b4fc;--primary-400:#818cf8;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--primary-800:#3730a3;--primary-900:#312e81;--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;--success-50:#ecfdf5;--success-500:#10b981;--warning-50:#fffbeb;--warning-500:#f59e0b;--error-50:#fef2f2;--error-500:#ef4444;--font-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:"JetBrains Mono","Fira Code",monospace;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:1rem;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #00000026;--shadow-xl:0 20px 25px #0003;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-default:300ms cubic-bezier(0.4,0,0.2,1)}h1,h2,h3,h4,h5,h6{color:#111827;color:var(--gray-900);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-family:var(--font-sans);font-weight:700;letter-spacing:-.02em;line-height:1.25;margin-bottom:1rem;margin-bottom:var(--space-md)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{color:#374151;color:var(--gray-700);font-weight:400;line-height:1.6;margin-bottom:1rem;margin-bottom:var(--space-md)}a{color:#4f46e5;color:var(--primary-600);font-weight:600;text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}a:focus,a:hover{color:#4338ca;color:var(--primary-700);outline:none}.text-center{text-align:center}.text-muted{color:#6b7280;color:var(--gray-500)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.btn{border-radius:var(--radius-md);padding:.5rem 1.5rem;padding:var(--space-sm) var(--space-lg);transition:background-color .3s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-default),transform var(--transition-fast);-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.6}.btn-primary{background-color:#4f46e5;background-color:var(--primary-600);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm)}.btn-primary:focus-visible:not(:disabled),.btn-primary:hover:not(:disabled){background-color:#4338ca;background-color:var(--primary-700);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);outline-color:#818cf8;outline-color:var(--primary-400);outline-offset:4px;outline-style:solid;outline-width:2px;transform:translateY(-2px)}.btn-secondary{border:2px solid #d1d5db;border:2px solid var(--gray-300);box-shadow:var(--shadow-sm);color:#374151;color:var(--gray-700)}.btn-secondary:focus-visible:not(:disabled),.btn-secondary:hover:not(:disabled){background-color:#f9fafb;background-color:var(--gray-50);border-color:#9ca3af;border-color:var(--gray-400);outline:none;transform:translateY(-1px)}.btn-success{background-color:#10b981;background-color:var(--success-500);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);color:#fff}.btn-success:focus-visible:not(:disabled),.btn-success:hover:not(:disabled){background-color:#059669;box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-sm{font-size:.875rem;padding:.25rem 1rem;padding:var(--space-xs) var(--space-md)}.btn-lg{font-size:1.125rem;min-height:52px;padding:1rem 3rem;padding:var(--space-md) var(--space-2xl)}.form-group{margin-bottom:1.5rem;margin-bottom:var(--space-lg)}.form-label{color:#374151;color:var(--gray-700);display:block;font-size:.9rem;font-weight:600;margin-bottom:.25rem;margin-bottom:var(--space-xs)}.form-input,.form-select,.form-textarea{-webkit-text-fill-color:#000!important;background-color:#fff;border:1.5px solid #d1d5db;border:1.5px solid var(--gray-300);border-radius:.5rem;border-radius:var(--radius-md);box-shadow:none;color:#000!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-family:var(--font-sans);font-size:1rem;min-height:44px;padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#6366f1;border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f14d;outline:none}.form-textarea{min-height:100px}.form-input::placeholder,.form-textarea::placeholder{color:#9ca3af;color:var(--gray-400);font-style:italic}.form-input[disabled],.form-select[disabled],.form-textarea[disabled]{background-color:#f3f4f6;background-color:var(--gray-100);cursor:not-allowed}.card{background-color:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:1rem;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--transition-default),transform var(--transition-default);will-change:transform}.card:focus-within,.card:hover{box-shadow:0 10px 15px #00000026;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-body,.card-footer,.card-header{padding:1.5rem;padding:var(--space-lg)}.card-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700}.card-footer{background-color:#f9fafb;background-color:var(--gray-50);border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);color:#4b5563;color:var(--gray-600);font-size:.9rem}.alert{align-items:center;border:1.5px solid #0000;border-radius:.5rem;border-radius:var(--radius-md);display:flex;font-weight:600;gap:.5rem;gap:var(--space-sm);padding:1rem;padding:var(--space-md)}.alert svg{height:24px;width:24px}.alert-success{background-color:#ecfdf5;background-color:var(--success-50);border-color:#10b981;border-color:var(--success-500);color:#10b981;color:var(--success-500)}.alert-warning{background-color:#fffbeb;background-color:var(--warning-50);border-color:#f59e0b;border-color:var(--warning-500);color:#f59e0b;color:var(--warning-500)}.alert-error{background-color:#fef2f2;background-color:var(--error-50);border-color:#ef4444;border-color:var(--error-500);color:#ef4444;color:var(--error-500)}.spinner{border:3px solid #e5e7eb;border-top:3px solid #6366f1;border:3px solid var(--gray-200);border-top-color:var(--primary-500);height:24px;width:24px}.grid{grid-gap:1.5rem;grid-gap:var(--space-lg);display:grid;gap:1.5rem;gap:var(--space-lg)}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width:1024px){.grid-cols-4{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.grid-cols-2{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.container{margin-left:auto;margin-right:auto;max-width:1200px;width:90%}a.underline-link{border-bottom:2px solid #0000;color:#4f46e5;color:var(--primary-600);cursor:pointer;font-weight:600;text-decoration:none;transition:border-color .15s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition-fast)}a.underline-link:focus,a.underline-link:hover{border-color:#4f46e5;border-color:var(--primary-600);outline:none}.toast{align-items:center;animation:slideInRight .3s ease-in-out;background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:1rem;border-radius:var(--radius-lg);box-shadow:0 20px 25px #0003;box-shadow:var(--shadow-xl);display:flex;gap:1rem;min-width:320px;padding:1rem 1.5rem;padding:var(--space-md) var(--space-lg);position:fixed;right:1.5rem;right:var(--space-lg);top:1.5rem;top:var(--space-lg);z-index:9999}.toast-success{border-color:#10b981;border-color:var(--success-500)}.toast-error{border-color:#ef4444;border-color:var(--error-500)}.toast-icon{color:#6366f1;color:var(--primary-500);font-size:24px}.toast-message{flex:1 1;font-weight:600}:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--primary-500);outline-offset:2px}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}@media (max-width:768px){.btn{min-height:48px}.form-input,.form-select,.form-textarea{min-height:48px;padding:1rem;padding:var(--space-md)}}@media (prefers-color-scheme:dark){:root{--gray-50:#121212;--gray-100:#1e1e1e;--gray-200:#2a2a2a;--gray-300:#3a3a3a;--gray-400:#555;--gray-500:#999;--gray-600:#ccc;--gray-700:#e1e1e1;--gray-900:#fff;--primary-600:#818cf8;--primary-700:#a5b4fc;--background:#121212;color-scheme:dark}body{background-color:#f3f4f6;background-color:var(--gray-100);color:#111827;color:var(--gray-900)}a{color:#4338ca;color:var(--primary-700)}.card{background-color:#e5e7eb;background-color:var(--gray-200);border-color:#d1d5db;border-color:var(--gray-300)}}a,button,input,select,textarea{transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}input,select,textarea{background-color:#fff!important;-webkit-opacity:1!important}input,input:focus,select,select:focus,textarea,textarea:focus{-webkit-text-fill-color:#000!important;color:#000!important}input::placeholder,textarea::placeholder{-webkit-text-fill-color:#666!important;color:#666!important;opacity:1!important}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{-webkit-text-fill-color:#666!important;color:#666!important}input::-moz-placeholder,textarea::-moz-placeholder{color:#666!important;opacity:1!important}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#666!important}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-text-fill-color:#000!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}.logo{align-items:center;color:inherit;display:flex;font-weight:700;gap:8px;text-decoration:none;transition:all .3s ease}.logo-button{background:none;border:none;color:inherit;cursor:pointer;font:inherit;padding:0}.logo-button:hover{transform:scale(1.05)}.logo-icon{background:#ffffff1a;border-radius:8px;flex-shrink:0;padding:4px}.logo-img{border-radius:6px;display:block;filter:brightness(1.1) contrast(1.1);height:100%;object-fit:contain;transition:all .3s ease;width:100%}.logo-text{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;letter-spacing:-.01em;text-shadow:0 1px 2px #0000001a;white-space:nowrap}.logo-small .logo-img{height:20px;width:20px}.logo-small .logo-text{font-size:14px}.logo-medium .logo-img{height:32px;width:32px}.logo-medium .logo-text{font-size:18px}.logo-large .logo-img{height:40px;width:40px}.logo-large .logo-text{font-size:22px}.logo-xlarge .logo-img{height:52px;width:52px}.logo-xlarge .logo-text{font-size:26px}.logo-default .logo-text{color:#1f2937;font-weight:800}.logo-white .logo-text{color:#fff;font-weight:800;text-shadow:0 2px 4px #00000080}.logo-dark .logo-text{color:#111827;font-weight:800}@media (max-width:768px){.logo-large .logo-img{height:36px;width:36px}.logo-large .logo-text{font-size:20px}.logo-xlarge .logo-img{height:44px;width:44px}.logo-xlarge .logo-text{font-size:22px}}.logo:hover .logo-img{transform:scale(1.05)}.logo:not(.navbar .logo):hover .logo-text{color:#6366f1}@keyframes logoPulse{0%,to{opacity:1}50%{opacity:.7}}.logo.loading{animation:logoPulse 1.5s ease-in-out infinite}.navbar .logo{gap:6px}.footer .logo{gap:10px}.hero .logo{gap:12px}.logo-button:focus,.logo:focus{border-radius:4px;outline:2px solid #6366f1;outline-offset:2px}.navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;z-index:50}.navbar-container{height:5rem;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1rem}.navbar-container,.navbar-logo{align-items:center;display:flex}.navbar-logo{color:#1e293b;font-size:1.5rem;font-weight:700;gap:.75rem;padding:.5rem 0;text-decoration:none;transition:all .3s ease}.navbar-logo:hover{color:#6366f1;transform:scale(1.02)}.navbar-logo .logo{gap:.5rem}.navbar-logo .logo-img{border:2px solid #6366f133;box-shadow:0 2px 8px #6366f126}.navbar-logo .logo-text{color:#6366f1;font-size:1.4rem;font-weight:800;text-shadow:0 1px 2px #0000001a}.navbar-logo:hover .logo-text{color:#4f46e5}.logo-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:1.5rem}.navbar-menu{gap:1.5rem}.navbar-link,.navbar-menu{align-items:center;display:flex}.navbar-link{border-radius:.5rem;color:#64748b;font-size:.875rem;font-weight:500;gap:.5rem;min-height:44px;padding:.75rem 1rem;position:relative;text-decoration:none;transition:all .3s ease}.navbar-link:hover{background-color:#f1f5f9;color:#6366f1;transform:translateY(-1px)}.navbar-link.active{background-color:#eff6ff;box-shadow:0 1px 3px #6366f133;color:#6366f1}.navbar-link.active:after{background:#6366f1;border-radius:1px;bottom:-1px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:20px}.link-icon{font-size:1rem}.cart-link{position:relative}.cart-badge{animation:bounce .5s ease;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:9999px;box-shadow:0 2px 4px #ef44444d;color:#fff;font-size:.75rem;font-weight:600;height:1.25rem;justify-content:center;min-width:1.25rem;padding:.125rem .375rem;position:absolute;right:-.25rem;top:-.25rem}.cart-badge,.navbar-user,.user-menu{align-items:center;display:flex}.user-menu{gap:1rem}.user-info{display:flex;gap:.75rem}.user-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:50%;box-shadow:0 2px 4px #6366f14d;color:#fff;display:flex;font-size:.875rem;font-weight:600;height:2.5rem;justify-content:center;transition:all .3s ease;width:2.5rem}.user-avatar:hover{box-shadow:0 4px 8px #6366f166;transform:scale(1.05)}.user-details{align-items:flex-start;display:flex;flex-direction:column}.user-name{color:#1e293b;font-size:.875rem;font-weight:600;margin:0}.user-email{color:#64748b;font-size:.75rem;margin:0}.auth-buttons{align-items:center;display:flex;gap:.75rem}.mobile-menu-btn{background:none;border:none;border-radius:.5rem;cursor:pointer;display:none;min-height:44px;min-width:44px;padding:.5rem;transition:all .3s ease}.mobile-menu-btn:hover{background-color:#f1f5f9}.hamburger{display:flex;flex-direction:column;height:1.125rem;justify-content:space-between;width:1.5rem}.hamburger span{background-color:#64748b;border-radius:1px;display:block;height:2px;transform-origin:center;transition:all .3s ease;width:100%}.hamburger.open span:first-child{transform:rotate(45deg) translate(.375rem,.375rem)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(.375rem,-.375rem)}.mobile-menu{background-color:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;display:none;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:100%;transform:translateY(-100%);transition:all .3s ease}.mobile-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-menu-content{display:flex;flex-direction:column;gap:.5rem;padding:1rem}.mobile-link{align-items:center;border-radius:.5rem;color:#64748b;display:flex;font-weight:500;gap:.75rem;min-height:48px;padding:.75rem 1rem;position:relative;text-decoration:none;transition:all .3s ease}.mobile-link.active,.mobile-link:hover{background-color:#eff6ff;color:#6366f1}.mobile-user-info{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;display:flex;gap:.75rem;margin:.5rem 0;padding:1rem}.mobile-auth-buttons{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.mobile-logout-btn{margin-top:1rem;width:100%}.btn{border:1px solid #0000;border-radius:.5rem;font-size:.875rem;font-weight:500;min-height:44px}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.btn-primary{box-shadow:0 1px 3px #6366f14d}.btn-primary:hover:not(:disabled){box-shadow:0 4px 6px #6366f166;transform:translateY(-1px)}.btn-secondary{background-color:#fff;border-color:#e2e8f0;box-shadow:0 1px 2px #0000000d;color:#64748b}.btn-secondary:hover:not(:disabled){background-color:#f8fafc;border-color:#cbd5e0;transform:translateY(-1px)}.btn-sm{font-size:.75rem;min-height:36px;padding:.5rem 1rem}@media (max-width:768px){.auth-buttons,.navbar-menu,.user-info{display:none}.mobile-menu,.mobile-menu-btn{display:block}.user-details{align-items:flex-start}.navbar-container{padding:0 .75rem}}@media (max-width:480px){.logo-text{display:none}.mobile-menu-content{padding:.75rem}.navbar-container{height:3.5rem}.navbar-logo{font-size:1.125rem}}.btn:focus,.mobile-link:focus,.mobile-menu-btn:focus,.navbar-link:focus{outline:2px solid #6366f1;outline-offset:2px}@media (prefers-contrast:high){.navbar{border-bottom:2px solid #000}.mobile-link,.navbar-link{border:1px solid #0000}.mobile-link.active,.mobile-link:hover,.navbar-link.active,.navbar-link:hover{border-color:#6366f1}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme:dark){.navbar{background-color:#1e293b;border-bottom-color:#334155}.navbar-logo{color:#f1f5f9}.mobile-link,.navbar-link{color:#94a3b8}.mobile-link:hover,.navbar-link:hover{background-color:#334155}.mobile-link.active,.navbar-link.active{background-color:#1e40af}.user-name{color:#f1f5f9}.user-email{color:#94a3b8}.mobile-menu{background-color:#1e293b;border-bottom-color:#334155}.mobile-user-info{background-color:#334155;border-color:#475569}.hamburger span{background-color:#94a3b8}}.notification-center{position:fixed;right:20px;top:20px;z-index:1000}.connection-status{align-items:center;background:#ffffffe6;border-radius:15px;box-shadow:0 2px 10px #0000001a;display:flex;font-size:12px;margin-bottom:10px;padding:5px 10px}.status-dot{margin-right:5px}.notification-bell{align-items:center;background:#4caf50;border:none;border-radius:50%;box-shadow:0 4px 15px #4caf504d;color:#fff;cursor:pointer;display:flex;font-size:20px;height:50px;justify-content:center;position:relative;transition:all .3s ease;width:50px}.notification-bell:hover{box-shadow:0 6px 20px #4caf5066;transform:scale(1.1)}.notification-badge{align-items:center;animation:bounce .5s ease;background:#f44336;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-5px;top:-5px;width:20px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.notification-panel{animation:slideIn .3s ease;background:#fff;border-radius:10px;box-shadow:0 10px 30px #0003;max-height:500px;overflow:hidden;position:absolute;right:0;top:60px;width:350px}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.notification-header{align-items:center;background:#f5f5f5;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:15px 20px}.notification-header h3{color:#333;font-size:16px;margin:0}.notification-actions{display:flex;gap:10px}.clear-btn,.close-btn,.permission-btn{background:none;border:none;border-radius:5px;cursor:pointer;font-size:12px;padding:5px;transition:background-color .2s}.permission-btn:hover{background:#e8f5e8}.clear-btn:hover{background:#ffe8e8}.close-btn:hover{background:#f0f0f0}.notification-list{max-height:400px;overflow-y:auto}.no-notifications{color:#666;padding:40px 20px;text-align:center}.no-notifications p{font-size:16px;margin:0 0 5px}.no-notifications small{color:#999}.notification-item{border-bottom:1px solid #f0f0f0;display:flex;padding:15px 20px;position:relative;transition:background-color .2s}.notification-item:hover{background:#f9f9f9}.notification-item:last-child{border-bottom:none}.notification-content{flex:1 1}.notification-title{color:#333;font-size:14px;font-weight:700;margin-bottom:5px}.notification-message{color:#666;font-size:13px;line-height:1.4;margin-bottom:5px}.notification-time{color:#999;font-size:11px}.remove-notification{background:none;border:none;color:#ccc;cursor:pointer;font-size:12px;padding:5px;transition:color .2s}.remove-notification:hover{color:#f44336}.notification-item.status_update{border-left:4px solid #2196f3}.notification-item.shopper_response{border-left:4px solid #4caf50}.notification-item.shopping_completed{border-left:4px solid #2196f3}.notification-item.rehearsal_update{border-left:4px solid #ff9800}.notification-item.final_update{border-left:4px solid #9c27b0}.notification-item.shopping_completed{background:linear-gradient(135deg,#f3fff3,#e8ffe8);border-left:4px solid #4caf50}.notification-item.clickable{cursor:pointer;transition:all .3s ease}.notification-item.clickable:hover{box-shadow:0 2px 10px #4caf5033;transform:translateX(5px)}.notification-item.shopping_completed.clickable:hover{background:linear-gradient(135deg,#e8f5e8,#d4edd4)!important}.notification-item.order_revised.clickable:hover{background:linear-gradient(135deg,#fff3e0,#ffe0b2)!important;box-shadow:0 2px 10px #ff980033}.notification-action{align-items:center;color:#ff6b6b;display:flex;font-size:12px;font-weight:600;gap:5px;margin-top:5px}@media (max-width:480px){.notification-center{right:10px;top:10px}.notification-panel{right:-10px;width:calc(100vw - 40px)}}.socket-debug-panel{bottom:20px;left:20px;position:fixed;z-index:9999}.debug-toggle{background:#333;border:none;border-radius:50%;box-shadow:0 2px 10px #0000004d;color:#fff;cursor:pointer;font-size:16px;height:40px;transition:all .3s ease;width:40px}.debug-toggle:hover{background:#555;transform:scale(1.1)}.debug-panel{animation:slideUp .3s ease;background:#fff;border-radius:10px;bottom:50px;box-shadow:0 10px 30px #0000004d;left:0;overflow:hidden;position:absolute;width:350px}.debug-header{align-items:center;background:#333;color:#fff;display:flex;justify-content:space-between;padding:15px 20px}.debug-header h4{font-size:14px;margin:0}.debug-header button{background:none;border:none;color:#fff;cursor:pointer;font-size:14px}.debug-status{background:#f5f5f5;border-bottom:1px solid #e0e0e0;padding:15px 20px}.status-item{align-items:center;display:flex;font-size:12px;margin-bottom:8px}.status-item:last-child{margin-bottom:0}.status-dot{margin-right:8px}.status-item.connected .status-dot{animation:pulse 2s infinite;background:#4caf50}.status-item.disconnected .status-dot{background:#f44336}.debug-actions{display:flex;flex-wrap:wrap;gap:8px;padding:15px 20px}.clear-btn,.test-btn{border:none;border-radius:5px;cursor:pointer;font-size:11px;padding:6px 12px;transition:all .2s}.test-btn{background:#2196f3;color:#fff}.test-btn:hover{background:#1976d2;transform:translateY(-1px)}.clear-btn{background:#f44336;color:#fff}.clear-btn:hover{background:#d32f2f}.test-results{border-top:1px solid #e0e0e0;max-height:200px;overflow-y:auto;padding:15px 20px}.test-results h5{color:#666;font-size:12px;margin:0 0 10px}.no-results{color:#999;font-size:11px;margin:0;text-align:center}.test-result{align-items:center;border-radius:5px;display:flex;font-size:11px;margin-bottom:5px;padding:8px}.test-result.success{background:#e8f5e8;border-left:3px solid #4caf50}.test-result.failure{background:#ffe8e8;border-left:3px solid #f44336}.result-icon{margin-right:8px}.result-message{flex:1 1}.result-time{color:#666;font-size:10px}@media (max-width:480px){.debug-panel{left:-10px;width:calc(100vw - 40px)}.debug-actions{flex-direction:column}.clear-btn,.test-btn{width:100%}}.home-container{background:#f8fafc;min-height:100vh}.home-header{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;overflow:hidden;padding:2rem;position:relative}.home-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='25' cy='25' r='1' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='75' cy='75' r='1' fill='rgba(255,255,255,0.1)'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.header-content{margin:0 auto;max-width:1200px;position:relative;z-index:2}.home-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#fff,#f0f0f0);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.home-header p{font-size:1.25rem;margin:0 0 2rem;opacity:.9}.header-logo{display:flex;justify-content:center;margin-bottom:1rem}.header-logo .logo{color:#fff}.header-logo .logo-img{border:2px solid #ffffff4d;box-shadow:0 4px 8px #0003}.error-banner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ef44441a;border:1px solid #ef444433;color:#ffffffe6;margin:2rem auto 0;max-width:600px;padding:1rem 1.5rem}.search-section{background:#fff;box-shadow:0 4px 6px #0000000d;padding:3rem 2rem}.search-content{margin:0 auto;max-width:1200px}.search-form{background:#f8fafc;border-radius:16px;box-shadow:0 4px 20px #0000001a;display:flex;gap:1rem;margin-bottom:2rem;padding:.5rem}.search-input{background:#0000;border:none;outline:none;padding:1rem 1.5rem 1rem 3rem}.search-input::placeholder{color:#6b7280}.search-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;min-width:120px;padding:1rem 2rem;transition:all .3s ease}.search-btn:hover{box-shadow:0 8px 25px #6366f166;transform:translateY(-2px)}.category-filters{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:1rem}.category-btn{background:#f1f5f9;border:2px solid #0000;border-radius:25px;color:#475569;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;text-transform:capitalize;transition:all .3s ease}.category-btn:hover{background:#e2e8f0;transform:translateY(-2px)}.category-btn.active{background:linear-gradient(135deg,#6366f1,#4f46e5);border-color:#6366f1;box-shadow:0 4px 15px #6366f14d;color:#fff;transform:translateY(-2px)}.clear-filters-btn{padding:.5rem 1rem}.shops-section{background:#f8fafc;padding:4rem 2rem}.shops-content{margin:0 auto;max-width:1400px}.section-header{margin-bottom:3rem;text-align:center}.section-header h2{color:#374151;font-size:2.5rem;font-weight:700;margin:0 0 1rem}.shops-count{background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:20px;color:#fff;font-size:1rem;font-weight:600;padding:.5rem 1rem}.no-shops{background:#fff;border-radius:20px;box-shadow:0 10px 25px #0000001a;margin:0 auto;max-width:600px;padding:4rem 2rem;text-align:center}.no-shops-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.5}.no-shops h3{color:#374151;font-size:2rem;margin:0 0 1rem}.no-shops p{color:#6b7280;font-size:1.1rem;margin:0 0 2rem}.no-shops-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.shops-grid{grid-gap:2rem;animation:fadeInUp .6s ease-out;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.shop-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 4px 6px #0000000d;cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.shop-card:before{background:linear-gradient(135deg,#6366f1,#4f46e5);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.shop-card:hover{border-color:#6366f1;box-shadow:0 20px 25px #0000001a;transform:translateY(-8px)}.shop-card:hover:before{transform:scaleX(1)}.shop-image{background:#f3f4f6;height:200px;overflow:hidden;position:relative}.shop-image img{height:100%;object-fit:cover;transition:var(--transition);width:100%}.shop-card:hover .shop-image img{transform:scale(1.05)}.shop-placeholder{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);display:flex;height:100%;justify-content:center}.shop-icon{color:#fff;font-size:4rem}.shop-content{padding:1.5rem}.shop-header-info{align-items:flex-start;margin-bottom:1rem}.shop-name{color:#374151;font-size:1.5rem;font-weight:700;margin:0}.shop-category{background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:15px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.shop-description{color:#6b7280;font-size:.95rem}.shop-details{display:flex;flex-direction:column;gap:.75rem}.shop-rating{align-items:center;color:#6b7280;display:flex;font-size:.9rem;gap:.5rem}.rating-stars{color:#fbbf24}.rating-text{font-weight:500}.delivery-fee{color:#059669!important;font-weight:600}.shop-status{align-items:center;border-radius:15px;display:flex;font-weight:600;gap:.5rem;padding:.25rem .75rem;width:-webkit-fit-content;width:fit-content}.shop-status.open{background:#dcfce7;color:#166534}.shop-status.closed{background:#fee2e2;color:#991b1b}.btn-secondary{background:#f3f4f6;border:2px solid #e5e7eb;color:#6b7280}.btn-secondary:hover{background:#e5e7eb;color:#374151}@media (max-width:1200px){.shops-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.home-header{padding:1.5rem 1rem}.home-header h1{font-size:2rem}.search-section{padding:2rem 1rem}.search-form{border-radius:16px;flex-direction:column;padding:1rem}.search-container{max-width:none}.search-input{background:#fff;border:1px solid #e5e7eb;border-radius:12px}.search-btn{border-radius:12px}.category-filters{gap:.5rem}.category-btn{font-size:.9rem;padding:.5rem 1rem}.shops-section{padding:2rem 1rem}.section-header h2{font-size:2rem}.shops-grid{gap:1.5rem;grid-template-columns:1fr}}@media (max-width:480px){.home-header h1{font-size:1.75rem}.home-header p{font-size:1rem}.section-header h2{font-size:1.75rem}.shop-content{padding:1rem}.shop-name{font-size:1.25rem}.no-shops-actions{align-items:center;flex-direction:column}}.modern-login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.login-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-radius:24px;box-shadow:0 25px 50px #00000026;display:grid;grid-template-columns:1fr 1fr;max-width:1200px;overflow:hidden;position:relative;width:100%;z-index:2}.branding-section:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='50' cy='50' r='1' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.feature-item span{font-size:16px;font-weight:500}.form-container{max-width:400px}.form-header{margin-bottom:40px}.welcome-text{margin:0 0 10px}.login-subtitle{color:#666;font-size:16px;font-weight:400;margin:0}.error-banner{margin-bottom:25px;padding:16px 20px}.error-icon{font-size:18px}.modern-login-form{margin-bottom:30px}.input-group{margin-bottom:25px}.modern-input{padding:18px 20px 18px 50px}.form-actions{margin-bottom:30px;text-align:right}.forgot-link{color:#667eea;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s ease}.forgot-link:hover{color:#5a67d8;text-decoration:underline}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;overflow:hidden;padding:18px 24px;position:relative;transition:all .3s ease;width:100%}.login-button:hover:not(:disabled){box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-button.loading{background:linear-gradient(135deg,#9ca3af,#6b7280)}.divider{margin:30px 0;position:relative;text-align:center}.divider:before{background:#e1e5e9;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider span{background:#fff;color:#9ca3af;font-size:14px;font-weight:500;padding:0 20px}.social-login{margin-bottom:30px}.signup-prompt{color:#666;font-size:14px;text-align:center}.signup-link{color:#667eea;font-weight:600;margin-left:5px;text-decoration:none;transition:color .2s ease}.signup-link:hover{color:#5a67d8;text-decoration:underline}@media (max-width:1024px){.login-content{grid-template-columns:1fr;max-width:500px}.branding-section{display:none}.form-section{padding:40px 30px}}@media (max-width:480px){.modern-login-container{padding:20px}.login-content{border-radius:16px}.form-section{padding:30px 20px}.welcome-text{font-size:28px}.modern-input{font-size:15px;padding:16px 18px 16px 45px}.input-icon{font-size:16px;left:14px}}@media (prefers-color-scheme:dark){.form-section{background:#1a1a1a}.welcome-text{color:#fff}.login-subtitle{color:#a0a0a0}.modern-input{border-color:#404040;color:#fff}.modern-input,.modern-input:focus{background:#2a2a2a}.modern-input::placeholder{color:grey}.divider span{background:#1a1a1a}}.modern-signup-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.floating-shapes{height:100%;overflow:hidden;pointer-events:none;position:absolute;width:100%;z-index:1}.shape{animation:float 6s ease-in-out infinite;background:#ffffff1a;border-radius:50%;position:absolute}.shape-1{animation-delay:0s;height:80px;left:10%;top:20%;width:80px}.shape-2{animation-delay:2s;height:120px;right:15%;top:60%;width:120px}.shape-3{animation-delay:4s;bottom:20%;height:60px;left:20%;width:60px}.shape-4{animation-delay:1s;height:100px;right:40%;top:30%;width:100px}.signup-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-radius:24px;box-shadow:0 25px 50px #00000026;display:grid;grid-template-columns:1fr 1fr;max-width:1200px;overflow:hidden;position:relative;width:100%;z-index:2}.branding-section{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:center;overflow:hidden;padding:60px 40px;position:relative}.brand-content{position:relative;text-align:center;z-index:2}.logo-container{margin-bottom:30px}.logo-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:20px;display:flex;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.logo-text{color:#fff;font-size:32px;font-weight:800;letter-spacing:-1px}.brand-title{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#fff,#f0f0f0);-webkit-background-clip:text;background-clip:text;font-size:42px;font-weight:800;margin:0 0 15px}.brand-subtitle{font-size:18px;font-weight:400;margin:0 0 40px;opacity:.9}.brand-features{display:flex;flex-direction:column;gap:20px}.feature-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;display:flex;gap:15px;padding:15px 20px;transition:all .3s ease}.feature-item:hover{background:#fff3;transform:translateX(5px)}.feature-icon{background:#fff3;border-radius:10px;font-size:24px;height:40px;width:40px}.feature-icon,.form-section{align-items:center;display:flex;justify-content:center}.form-section{background:#fff;padding:60px 50px}.form-container{max-width:460px;width:100%}.form-header{margin-bottom:24px;text-align:center}.welcome-text{color:#1a1a1a;font-size:32px;font-weight:700;margin:0 0 8px}.signup-subtitle{color:#666;font-size:16px;font-weight:400;margin:0}.success-banner{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 15px #10b9814d}.error-banner,.success-banner{align-items:center;border-radius:12px;color:#fff;display:flex;gap:12px;margin:16px 0;padding:14px 18px}.error-banner{background:linear-gradient(135deg,#ff6b6b,#ee5a52);box-shadow:0 4px 15px #ff6b6b4d}.input-group{margin-bottom:18px}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#667eea;font-size:18px;left:16px;pointer-events:none;position:absolute;z-index:2}.modern-input{background:#f8fafc;border:2px solid #e1e5e9;border-radius:12px;color:#1a1a1a;font-size:16px;font-weight:500;outline:none;padding:16px 18px 16px 50px;transition:all .3s ease;width:100%}.modern-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.modern-input.error{background:#fff;border-color:#dc2626}.modern-input::placeholder{color:#9ca3af;font-weight:400}.password-toggle{background:none;border:none;border-radius:6px;color:#667eea;cursor:pointer;font-size:18px;padding:5px;position:absolute;right:16px;transition:all .2s ease}.password-toggle:hover{background:#667eea1a}.error-text{color:#dc2626;display:block;font-size:12px;margin-top:6px}.password-strength{align-items:center;display:flex;gap:12px;margin-top:10px}.strength-bars{display:flex;gap:6px}.strength-bar{background:#e1e5e9;border-radius:4px;height:6px;width:36px}.strength-bar.active{background:#10b981}.strength-label{font-size:12px;font-weight:600}.password-requirements{margin-top:12px}.password-requirements h4{color:#374151;font-size:13px;margin:0 0 8px}.password-requirements ul{margin:0;padding-left:18px}.password-requirements li{font-size:12px;margin-bottom:4px}.password-requirements .met{color:#059669}.password-requirements .unmet{color:#9ca3af}.signup-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;overflow:hidden;padding:16px 24px;position:relative;transition:all .3s ease;width:100%}.signup-button:hover:not(:disabled){box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.signup-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.signup-button.loading{background:linear-gradient(135deg,#9ca3af,#6b7280)}.button-loader{align-items:center;display:flex;gap:12px;justify-content:center}.login-prompt{color:#666;font-size:14px;margin-top:16px;text-align:center}.login-link{color:#667eea;font-weight:600;margin-left:5px;text-decoration:none}.login-link:hover{color:#5a67d8;text-decoration:underline}@media (max-width:1024px){.signup-content{grid-template-columns:1fr;max-width:520px}.branding-section{display:none}.form-section{padding:40px 30px}}@media (max-width:480px){.modern-signup-container{padding:20px}.signup-content{border-radius:16px}.form-section{padding:30px 20px}.welcome-text{font-size:28px}.modern-input{font-size:15px;padding:16px 18px 16px 45px}.input-icon{font-size:16px;left:14px}}.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:2rem}.loading-state h3{color:#374151;font-size:1.5rem;margin:0 0 .5rem}.loading-state p{color:#6b7280}.error-icon{opacity:.6}.error-state h2{color:#374151;margin:0 0 1rem}.error-state p{color:#6b7280;margin:0 0 2rem;max-width:400px}.shop-header{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;padding:2rem}.shop-header-content{margin:0 auto;max-width:1200px}.back-button{border-radius:12px;transition:all .3s ease}.shop-info{align-items:center;display:flex;gap:2rem}.shop-avatar{height:100px;width:100px}.shop-avatar img{height:100%;object-fit:cover;width:100%}.shop-emoji,.shop-name{font-size:2.5rem}.shop-description{font-size:1.1rem;line-height:1.5;margin:0 0 1.5rem}.meta-item{font-size:.9rem;font-weight:500;padding:.5rem 1rem}.shop-controls{border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.search-section{align-items:center;display:flex;flex:1 1;gap:1rem}.search-input{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;transition:all .3s ease}.search-icon{color:#6b7280}.clear-filters-btn{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1rem;transition:all .3s ease}.clear-filters-btn:hover{background:#dc2626;transform:translateY(-1px)}.filters-section{align-items:center;display:flex;gap:1rem}.filter-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.9rem;padding:.75rem 1rem;transition:all .3s ease}.filter-select:focus{border-color:#6366f1;outline:none}.view-toggle{background:#f3f4f6;border-radius:8px;display:flex;padding:.25rem}.view-btn{background:#0000;border:none;border-radius:6px;font-size:1.1rem;padding:.5rem .75rem;transition:all .3s ease}.products-section{margin:0 auto;padding:2rem}.products-header h2{color:#374151;font-size:1.75rem;font-weight:700;margin:0}.products-count{background:#f3f4f6;border-radius:8px;color:#6b7280;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.no-products{border-radius:16px;box-shadow:0 4px 6px #0000000d}.no-products-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.5}.no-products h3{color:#374151;font-size:1.5rem}.no-products p{color:#6b7280;font-size:1.1rem}.products-grid{grid-gap:1.5rem;display:grid;gap:1.5rem}.products-grid.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.products-grid.list{grid-template-columns:1fr}.product-card{border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 6px #0000000d;transition:all .3s ease}.product-card:hover{border-color:#6366f1;box-shadow:0 10px 25px #0000001a}.products-grid.list .product-card{grid-gap:0;display:grid;gap:0;grid-template-columns:200px 1fr}.product-image{background:#f9fafb;height:200px;overflow:hidden;position:relative}.products-grid.list .product-image{height:150px}.product-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.product-card:hover .product-image img{transform:scale(1.05)}.product-placeholder{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.product-icon{font-size:2.5rem}.category-badge{background:#6366f1;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;left:.75rem;padding:.25rem .75rem;position:absolute;text-transform:capitalize;top:.75rem}.product-info{padding:1.5rem}.products-grid.list .product-info{display:flex;flex-direction:column;justify-content:space-between}.product-name{color:#374151;font-size:1.25rem;font-weight:700;line-height:1.3}.product-description{color:#6b7280;font-size:.9rem;line-height:1.5}.price-section{display:flex;flex-direction:column;gap:.25rem}.current-price{color:#059669;font-size:1.25rem;font-weight:700}.original-price{color:#9ca3af;font-size:.9rem}.add-to-cart-btn{background:#10b981;border-radius:12px;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.add-to-cart-btn:hover:not(:disabled){background:#059669;box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.add-to-cart-btn:disabled{background:#9ca3af}.btn{padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.btn-primary{background:#6366f1}.btn-primary:hover{background:#4f46e5;box-shadow:0 4px 12px #6366f166}@media (max-width:1024px){.shop-info{text-align:center}.controls-content,.shop-info{flex-direction:column;gap:1.5rem}.controls-content{align-items:stretch}.search-section{flex-direction:column;gap:1rem}.filters-section{flex-wrap:wrap;justify-content:center}}@media (max-width:768px){.shop-header{padding:1.5rem 1rem}.shop-name{font-size:2rem}.shop-avatar{height:80px;width:80px}.shop-controls{padding:1rem}.products-section{padding:1.5rem 1rem}.products-grid.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.products-grid.list .product-card{grid-template-columns:1fr}.products-grid.list .product-image{height:200px}.search-container{max-width:none}}@media (max-width:480px){.shop-header{padding:1rem}.shop-name{font-size:1.75rem}.shop-meta{flex-direction:column;gap:.75rem}.products-grid.grid{grid-template-columns:1fr}.product-footer{align-items:stretch;flex-direction:column;gap:1rem}.add-to-cart-btn{justify-content:center}}:root{--primary-color:#6366f1;--primary-dark:#4f46e5;--primary-light:#a5b4fc;--secondary-color:#10b981;--secondary-dark:#059669;--accent-color:#f59e0b;--accent-dark:#d97706;--success-color:#22c55e;--danger-color:#ef4444;--warning-color:#f59e0b;--info-color:#3b82f6;--background-primary:#fff;--background-secondary:#f8fafc;--background-tertiary:#f1f5f9;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#64748b;--text-light:#94a3b8;--border-color:#e2e8f0;--border-light:#f1f5f9;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--border-radius:16px;--border-radius-sm:8px;--border-radius-lg:24px;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--transition-fast:all 0.15s cubic-bezier(0.4,0,0.2,1)}@media (prefers-color-scheme:dark){:root{--background-primary:#0f172a;--background-secondary:#1e293b;--background-tertiary:#334155;--text-primary:#f8fafc;--text-secondary:#e2e8f0;--text-muted:#cbd5e1;--text-light:#94a3b8;--border-color:#334155;--border-light:#475569}}.modern-shop-container{background:linear-gradient(135deg,#fff,#f8fafc);background:linear-gradient(135deg,var(--background-primary) 0,var(--background-secondary) 100%);min-height:100vh}.error-banner{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;font-weight:500;margin-bottom:1rem;padding:1rem;text-align:center}.error-banner p{font-size:1rem;margin:0}.error-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.error-icon{font-size:4rem;margin-bottom:1rem}.error-state h2{color:#1e293b;color:var(--text-primary);margin-bottom:1rem}.error-state p{color:#64748b;color:var(--text-muted);margin-bottom:2rem;max-width:500px}.loading-state{padding:3rem}.loading-spinner{border:4px solid #f3f3f3;margin-bottom:1rem}.loading-state h3{color:#1e293b;color:var(--text-primary);margin-bottom:.5rem}.loading-state p{color:#64748b;color:var(--text-muted)}.back-btn{align-items:center;background:#6366f1;background:var(--primary-color);border:none;border-radius:16px;border-radius:var(--border-radius);color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.back-btn:hover{background:#4f46e5;background:var(--primary-dark);transform:translateY(-2px)}.back-arrow{font-size:1.1rem;font-weight:700}.toast-content{align-items:center;background:var(--background-primary);border:1px solid #f1f5f9;border:1px solid var(--border-light);border-radius:16px;border-radius:var(--border-radius);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl);color:#1e293b;color:var(--text-primary);display:flex;gap:.75rem;min-width:300px}.toast-icon{color:#f59e0b;color:var(--accent-color);font-size:1.25rem}.toast-message{font-weight:500}.shop-hero{background:linear-gradient(135deg,#6366f1,#4f46e5);background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;overflow:hidden;padding:3rem 2rem;position:relative}.shop-hero:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='25' cy='25' r='1' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='75' cy='75' r='1' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='50' cy='10' r='.5' fill='rgba(255,255,255,0.1)'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.shop-hero-content{margin:0 auto;max-width:1200px;position:relative;z-index:2}.back-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;border-radius:var(--border-radius);color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:.5rem;margin-bottom:2rem;padding:.75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.back-button:hover{background:#fff3;transform:translateY(-2px)}.shop-main-info{align-items:flex-start;display:flex;gap:2rem}.shop-avatar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:3px solid #fff3;flex-shrink:0;height:120px;overflow:hidden;width:120px}.shop-emoji{color:#fff;font-size:3rem}.shop-details{flex:1 1}.shop-name{color:#fff;font-size:3rem;font-weight:800;line-height:1.2;text-shadow:2px 2px 4px #0000004d}.shop-description{font-size:1.25rem;line-height:1.6;margin:0 0 2rem;max-width:600px;opacity:.9}.shop-meta{display:flex;flex-wrap:wrap;gap:1.5rem}.meta-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;border-radius:var(--border-radius-sm);display:flex;gap:.5rem;padding:.75rem 1rem}.meta-icon{font-size:1.1rem}.meta-text{font-size:.95rem;font-weight:500}.shop-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;background:var(--background-primary);border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);padding:1.5rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}@media (max-width:768px){.category-filter,.sort-filter,.view-btn{min-height:44px;touch-action:manipulation}.search-input{font-size:16px;min-height:44px}}.controls-content{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1200px}.search-and-filters{align-items:center;display:flex;flex:1 1;gap:1.5rem}.search-container{flex:1 1;max-width:400px;position:relative}.search-icon{color:#64748b;color:var(--text-muted);font-size:1.1rem;left:1rem;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.search-input{background:#f8fafc;background:var(--background-secondary);border:2px solid #f1f5f9;border:2px solid var(--border-light);border-radius:16px;border-radius:var(--border-radius);color:#1e293b;color:var(--text-primary);font-size:1rem;padding:.75rem 1rem .75rem 3rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:100%}.search-input:focus{background:#fff;background:var(--background-primary);border-color:#6366f1;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a;outline:none}.filters-container{display:flex;gap:1rem}.category-filter,.sort-filter{background:#f8fafc;background:var(--background-secondary);border:2px solid #f1f5f9;border:2px solid var(--border-light);border-radius:8px;border-radius:var(--border-radius-sm);color:#1e293b;color:var(--text-primary);cursor:pointer;font-size:.9rem;padding:.75rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.category-filter:focus,.sort-filter:focus{border-color:#6366f1;border-color:var(--primary-color);outline:none}.view-btn,.view-controls{display:flex;gap:.5rem}.view-btn{align-items:center;background:#f8fafc;background:var(--background-secondary);border:2px solid #f1f5f9;border:2px solid var(--border-light);border-radius:8px;border-radius:var(--border-radius-sm);color:#64748b;color:var(--text-muted);cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.view-btn:hover{color:#6366f1;color:var(--primary-color)}.view-btn.active,.view-btn:hover{border-color:#6366f1;border-color:var(--primary-color)}.view-btn.active{background:#6366f1;background:var(--primary-color);color:#fff}.view-icon{font-size:1.1rem}.products-section{background:#f8fafc;background:var(--background-secondary);border-radius:24px;border-radius:var(--border-radius-lg);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl);margin:2rem auto;max-width:1200px;padding:3rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.products-section:hover{box-shadow:0 25px 50px #6366f140;box-shadow:var(--shadow-2xl,0 25px 50px #6366f140)}.products-header{align-items:center;border-bottom:2px solid #f1f5f9;border-bottom:2px solid var(--border-light);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:.5rem}.products-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#6366f1,#10b981);background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));background-clip:text;-webkit-background-clip:text;font-size:2.25rem;font-weight:800;letter-spacing:1.5px;margin:0}.products-count,.products-title{color:#4f46e5;color:var(--primary-dark)}.products-count{background:#fff;background:var(--background-primary);border:1px solid #a5b4fc;border:1px solid var(--primary-light);border-radius:9999px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);font-size:1rem;font-weight:600;padding:.5rem 1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.products-count:hover{background:#a5b4fc;background:var(--primary-light);border-color:#6366f1;border-color:var(--primary-color);color:#fff}.no-products,.products-count:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}.no-products{background:#fff;background:var(--background-primary);border-radius:24px;border-radius:var(--border-radius-lg);color:#64748b;color:var(--text-muted);margin:4rem auto;max-width:600px;padding:4rem 2rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.no-products:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl)}.no-products-icon{color:#f59e0b;color:var(--accent-color);font-size:5rem;margin-bottom:2rem;opacity:.6}.no-products h3{color:#4f46e5;color:var(--primary-dark);font-size:1.75rem;font-weight:700;margin:0 0 1rem}.no-products p{font-size:1.15rem;line-height:1.6;margin:0 0 2rem}.clear-search-btn{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);background:linear-gradient(135deg,var(--accent-color),var(--accent-dark));border:none;border-radius:24px;border-radius:var(--border-radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:700;gap:.5rem;padding:.85rem 2rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:var(--transition-fast);-webkit-user-select:none;user-select:none}.clear-search-btn:hover{background:linear-gradient(135deg,#d97706,#f59e0b);background:linear-gradient(135deg,var(--accent-dark),var(--accent-color));box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl);transform:translateY(-3px)}.products-container{grid-gap:2.5rem;display:grid;gap:2.5rem;transition:gap .3s ease}.products-container.grid-view{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.products-container.list-view{gap:1.75rem;grid-template-columns:1fr}.product-card{background:#fff;background:var(--background-primary);border:1px solid #ffffff1a;border-radius:24px;border-radius:var(--border-radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);display:flex;flex-direction:column;min-height:320px;overflow:hidden;position:relative;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.product-card:before{background:linear-gradient(135deg,#6366f105,#10b98105);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:1}.product-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl);transform:translateY(-4px)}.product-card:hover:before{opacity:1}.product-image-section{align-items:center;background:#f8fafc;background:var(--background-secondary);border-top-left-radius:24px;border-top-left-radius:var(--border-radius-lg);border-top-right-radius:24px;border-top-right-radius:var(--border-radius-lg);display:flex;height:220px;justify-content:center;overflow:hidden;position:relative}.product-image{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.product-card:hover .product-image{transform:scale(1.1)}.product-placeholder{align-items:center;background:linear-gradient(135deg,#6366f1,#10b981);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));display:flex;height:100%;justify-content:center;width:100%}.product-icon{color:#fff;font-size:3.5rem}.product-content{display:flex;flex-direction:column;flex-grow:1;padding:2rem 1.75rem;position:relative;z-index:2}.product-header{margin-bottom:1.75rem}.product-name{font-size:1.5rem;font-weight:800;margin:0 0 .75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-name,.product-name-main{color:#1e293b;color:var(--text-primary);position:relative}.product-name-main{display:block;font-weight:900;letter-spacing:.5px;text-shadow:0 2px 4px #0000001a;text-transform:capitalize;z-index:2}@media (prefers-color-scheme:dark){.product-name-main{color:#1e293b;color:var(--text-primary);text-shadow:0 2px 8px #0000004d}}.product-description{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border-left:3px solid #6366f1;border-left:3px solid var(--primary-color);border-radius:8px;border-radius:var(--border-radius-sm);color:#475569;color:var(--text-secondary);flex-grow:1;font-size:1.05rem;font-weight:500;line-height:1.7;margin:0 0 1.5rem;padding:.75rem 1rem}.product-description.no-description{background:#ffffff05;border-left-color:#64748b;border-left-color:var(--text-muted);color:#64748b;color:var(--text-muted);font-style:italic}.product-details{background:#f8fafc;background:var(--background-secondary);border:1px solid #f1f5f9;border:1px solid var(--border-light);border-radius:24px;border-radius:var(--border-radius-lg);color:#475569;color:var(--text-secondary);font-size:.95rem;margin:1rem 0;padding:1.25rem}.stock-info{align-items:center;background:linear-gradient(135deg,#10b9811a,#0596691a);border:1px solid #10b98133;border-radius:8px;border-radius:var(--border-radius-sm);color:#059669;color:var(--secondary-dark);display:flex;font-size:1.1rem;font-weight:700;gap:.75rem;margin-bottom:1rem;padding:.5rem 1rem;text-shadow:0 1px 2px #0000001a}.product-tags{display:flex;flex-wrap:wrap;gap:.75rem}.tag{background:linear-gradient(135deg,#6366f1,#4f46e5);background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border:none;border-radius:20px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#fff;font-size:.85rem;font-weight:700;padding:.35rem .9rem;-webkit-user-select:none;user-select:none}.product-footer{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-top:auto}.product-price-section{display:flex;flex-direction:column;gap:.3rem}.product-price{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#4f46e5);background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));background-clip:text;-webkit-background-clip:text;color:#6366f1;font-size:1.8rem;font-weight:900;letter-spacing:.5px;text-shadow:0 2px 4px #6366f133}.original-price{color:#64748b;color:var(--text-muted);font-size:1.1rem;opacity:.7;text-decoration:line-through}.add-to-cart-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--secondary-color),var(--secondary-dark));border:none;border-radius:24px;border-radius:var(--border-radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:.75rem;padding:.85rem 2rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:var(--transition-fast);white-space:nowrap}.add-to-cart-btn:hover:not(:disabled){box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl);transform:translateY(-3px)}.add-to-cart-btn:disabled{background:#64748b;background:var(--text-muted);box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.cart-icon{font-size:1.25rem}.product-category-badge{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#000000d9,#000000a6);border:1.5px solid #ffffff4d;border-radius:25px;color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.7px;padding:.5rem 1.25rem;position:absolute;right:1rem;text-transform:uppercase;top:1rem;-webkit-user-select:none;user-select:none}.products-container.list-view .product-card{grid-gap:1.75rem;border-radius:24px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);display:grid;gap:1.75rem;grid-template-columns:auto 1fr auto}.products-container.list-view .product-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl)}.products-container.list-view .product-image-section{border-radius:24px 0 0 24px;border-radius:var(--border-radius-lg) 0 0 var(--border-radius-lg);height:140px;width:140px}.products-container.list-view .product-content{display:flex;flex-direction:column;justify-content:center;padding:1.75rem 1rem}.products-container.list-view .product-footer{align-items:flex-start;flex-direction:column;gap:1.25rem}@media (max-width:1024px){.products-container.grid-view{gap:2rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (max-width:768px){.shop-hero{padding:2rem 1rem}.shop-main-info{flex-direction:column;gap:1.5rem;text-align:center}.shop-name{font-size:2rem}.shop-description{font-size:1.1rem}.shop-controls{padding:1rem}.controls-content,.search-and-filters{flex-direction:column;gap:1rem}.search-and-filters{width:100%}.search-container{max-width:100%}.filters-container{flex-wrap:wrap;justify-content:center}.products-section{border-radius:16px;border-radius:var(--border-radius);margin:1rem;padding:1.5rem 1rem}.products-header{flex-direction:column;gap:1rem;text-align:center}.products-title{font-size:1.75rem}.products-container.grid-view{gap:1.5rem;grid-template-columns:1fr}.product-card{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);min-height:auto}.product-image-section{height:180px}.product-content{padding:1.5rem 1.25rem}.product-name{font-size:1.3rem;white-space:normal}.product-name-main{font-size:1.3rem;letter-spacing:.3px}.product-footer{align-items:stretch;flex-direction:column;gap:1rem}.add-to-cart-btn{font-size:1rem;justify-content:center;padding:1rem;width:100%}.products-container.list-view .product-card{grid-template-columns:1fr}.products-container.list-view .product-image-section{border-radius:16px 16px 0 0;border-radius:var(--border-radius) var(--border-radius) 0 0;height:180px;width:100%}}@media (max-width:480px){.shop-hero{padding:1.5rem .75rem}.shop-name{font-size:1.75rem}.shop-avatar{height:80px;width:80px}.shop-emoji{font-size:2rem}.products-section{margin:.5rem;padding:1rem .75rem}.products-title{font-size:1.5rem}.product-content{padding:1.25rem 1rem}.product-name{font-size:1.2rem}.product-name-main{font-size:1.2rem;letter-spacing:.2px}.product-price{font-size:1.4rem}.add-to-cart-btn{font-size:.95rem;padding:.875rem}.no-products{margin:2rem .5rem;padding:2rem 1rem}.no-products-icon{font-size:3rem}.clear-search-btn{font-size:1rem;padding:.75rem 1.5rem}}.cart-page-container{background:#f8fafc;min-height:100vh}.loading-state{flex-direction:column;min-height:60vh}.loading-spinner{border-top-color:#6366f1;height:50px;margin-bottom:1.5rem;width:50px}.toast-notification{animation:slideInRight .3s ease-out;position:fixed;right:2rem;top:2rem;z-index:1000}.toast-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 25px #00000026;color:#374151;font-weight:500;padding:1rem 1.5rem}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.cart-header{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;padding:3rem 2rem}.cart-header-content{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1200px}.cart-title-section{flex:1 1}.cart-title{align-items:center;display:flex;font-weight:800;gap:1rem;line-height:1.2;margin:0 0 1rem}.cart-icon,.cart-title{font-size:2.5rem}.cart-subtitle{font-size:1.1rem;margin:0;opacity:.9}.cart-summary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;min-width:200px;padding:1.5rem}.summary-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.summary-item:last-child{margin-bottom:0}.summary-item.total{border-top:1px solid #fff3;font-size:1.1rem;font-weight:700;padding-top:.75rem}.cart-content{margin:0 auto;max-width:1200px;padding:2rem}.empty-cart{background:#fff;border-radius:20px;box-shadow:0 4px 6px #0000000d;padding:4rem 2rem;text-align:center}.empty-cart-icon{animation:float 3s ease-in-out infinite;font-size:6rem;margin-bottom:2rem;opacity:.5}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-cart h2{color:#374151;font-size:2rem;font-weight:700;margin:0 0 1rem}.empty-cart p{color:#6b7280;font-size:1.1rem;margin:0 0 2rem}.shop-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 6px #0000000d;margin-bottom:2rem;padding:1.5rem 2rem}.shop-header-info{justify-content:space-between}.shop-avatar,.shop-header-info{align-items:center;display:flex}.shop-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;color:#fff;font-size:1.5rem;height:50px;justify-content:center;margin-right:1rem;width:50px}.shop-details h3{color:#374151;font-size:1.25rem;font-weight:700;margin:0 0 .25rem}.shop-details p{color:#6b7280;font-size:.9rem;margin:0}.shop-total{color:#059669;font-size:1.2rem;font-weight:700}.cart-items{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 6px #0000000d;margin-bottom:2rem;overflow:hidden}.cart-item{grid-gap:1.5rem;border-bottom:1px solid #f3f4f6;display:grid;gap:1.5rem;grid-template-columns:auto 1fr auto;padding:1.5rem 2rem;transition:all .3s ease}.cart-item:last-child{border-bottom:none}.cart-item:hover{background:#f9fafb}.cart-item.removing{opacity:.5;transform:scale(.98)}.item-image{background:#f3f4f6;border-radius:12px;height:80px;overflow:hidden;position:relative;width:80px}.item-image img{height:100%;object-fit:cover;width:100%}.item-placeholder{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;font-size:1.5rem;height:100%;justify-content:center;width:100%}.item-details{flex-direction:column}.item-name{color:#374151;font-size:1.2rem;font-weight:700;margin:0}.item-description{color:#6b7280;font-size:.9rem;line-height:1.4;margin:0}.item-price{color:#059669;font-size:.95rem;font-weight:600}.item-controls{gap:1rem;min-width:150px}.item-controls,.quantity-controls{align-items:flex-end;display:flex;flex-direction:column}.quantity-controls{gap:.5rem}.quantity-controls label{color:#6b7280;font-size:.85rem;font-weight:500}.quantity-input{border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;padding:.5rem;text-align:center;transition:all .3s ease;width:80px}.quantity-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.item-total{color:#059669;font-size:1.1rem;font-weight:700}.remove-btn{align-items:center;background:#0000;border:2px solid #ef4444;border-radius:8px;color:#ef4444;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.remove-btn:hover:not(:disabled){background:#ef4444;color:#fff}.remove-btn:disabled{cursor:not-allowed;opacity:.5}.order-summary{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #0000000d;margin-top:2rem;padding:2rem}.order-summary h3{border-bottom:2px solid #f3f4f6;color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem;padding-bottom:1rem}.summary-breakdown{margin-bottom:1.5rem}.summary-row{align-items:center;color:#4b5563;display:flex;font-size:.95rem;justify-content:space-between;padding:.5rem 0;transition:all .2s ease}.summary-row:hover{color:#1f2937}.summary-row.total-row{border-top:2px solid #f3f4f6;color:#1f2937;font-size:1.2rem;font-weight:700;margin-top:1rem;padding:1.25rem 0 0}@keyframes highlight{0%{background-color:#f0fdf4}to{background-color:initial}}.summary-row.delivery-fee{animation:highlight 2s ease-out;border-radius:4px;margin:0 -.5rem;padding:.5rem}.checkout-actions{border-top:1px solid #f3f4f6;display:flex;gap:1rem;justify-content:space-between;margin-top:2rem;padding-top:1.5rem}.btn{align-items:center;border:none;border-radius:12px;box-shadow:0 2px 4px #0000000d;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.875rem 1.75rem;transition:all .2s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);font-weight:600;letter-spacing:.3px}.btn-primary:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 4px 12px #4f46e540}.btn-secondary{background:#f9fafb;border:1px solid #e5e7eb;color:#4b5563}.btn-secondary:hover{background:#f3f4f6;border-color:#d1d5db}.checkout-btn{font-size:1.1rem;padding:1.25rem 2rem}@media (max-width:1024px){.cart-header-content{flex-direction:column;gap:1.5rem;text-align:center}.cart-summary{align-self:center;min-width:250px}}@media (max-width:768px){.cart-header{padding:2rem 1rem}.cart-title{flex-direction:column;font-size:2rem;gap:.5rem}.cart-content{padding:1rem}.shop-header-info{flex-direction:column;gap:1rem;text-align:center}.cart-item{gap:1rem;grid-template-columns:1fr;text-align:center}.item-controls{align-items:center}.checkout-actions{flex-direction:column}}@media (max-width:480px){.cart-header{padding:1.5rem 1rem}.cart-title{font-size:1.75rem}.cart-summary{min-width:auto;width:100%}.cart-item{padding:1rem}.item-image{height:60px;width:60px}}.loading-state{color:#4a5568;padding:4rem 2rem;text-align:center}.loading-spinner{border:4px solid #e2e8f0;border-top-color:#4caf50;margin:0 auto 1rem}.loading-state p{color:#718096;font-size:1.1rem;margin:0}.order-success-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;padding:2rem 1rem}.order-success-card{animation:slideUp .6s ease-out;background:#fff;border-radius:20px;box-shadow:0 25px 50px #00000026;max-width:600px;overflow:hidden;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.success-animation{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:3rem 2rem 2rem;text-align:center}.success-checkmark{stroke-width:3;stroke:#fff;stroke-miterlimit:10;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;border-radius:50%;box-shadow:inset 0 0 0 #4caf50;display:block;height:80px;margin:0 auto 1rem;position:relative;width:80px}.success-checkmark .icon-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:3;stroke-miterlimit:10;stroke:#fff;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.success-checkmark .check-icon{border:3px solid #fff;border-radius:50%;box-sizing:border-box;height:80px;position:relative;width:80px}.success-checkmark .icon-line{background-color:#fff;border-radius:2px;display:block;height:3px;position:absolute;z-index:10}.success-checkmark .icon-line.line-tip{animation:icon-line-tip .75s;left:14px;top:46px;transform:rotate(45deg);width:25px}.success-checkmark .icon-line.line-long{animation:icon-line-long .75s;right:8px;top:38px;transform:rotate(-45deg);width:47px}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #4caf50}}@keyframes icon-line-tip{0%{left:1px;top:19px;width:0}54%{left:1px;top:19px;width:0}70%{left:-8px;top:37px;width:50px}84%{left:21px;top:48px;width:17px}to{left:14px;top:45px;width:25px}}@keyframes icon-line-long{0%{right:46px;top:54px;width:0}65%{right:46px;top:54px;width:0}84%{right:0;top:35px;width:55px}to{right:8px;top:38px;width:47px}}.success-content{padding:2rem;text-align:center}.success-title{color:#2d3748;font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:1rem}.success-subtitle{color:#718096;font-size:1.1rem;line-height:1.6;margin-bottom:0}.order-details-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:0 2rem 2rem;padding:1.5rem}.order-header{border-bottom:1px solid #e2e8f0;margin-bottom:1.5rem}.order-header h3{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0}.order-id{background:#4caf50;border-radius:20px;color:#fff;font-size:.875rem;font-weight:600;padding:.25rem .75rem}.order-info{display:flex;flex-direction:column;gap:1rem}.info-row{justify-content:space-between}.info-label,.info-row{align-items:center;display:flex}.info-label{color:#4a5568;font-weight:500;gap:.5rem}.info-label .icon{font-size:1.1rem}.info-value{color:#2d3748}.success-status{align-items:center;color:#4caf50!important;display:flex;gap:.5rem}.status-dot{animation:pulse 2s infinite;background:#4caf50;border-radius:50%;height:8px;width:8px}@keyframes pulse{0%{box-shadow:0 0 0 0 #4caf50b3}70%{box-shadow:0 0 0 10px #4caf5000}to{box-shadow:0 0 0 0 #4caf5000}}.next-steps{margin:0 2rem 2rem}.next-steps h4{color:#2d3748;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.steps-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.step{padding:1rem .5rem;text-align:center}.step-number{background:linear-gradient(135deg,#4caf50,#45a049);font-size:1.1rem;font-weight:700;height:40px;margin:0 auto .75rem;width:40px}.step-content h5{color:#2d3748;font-size:.9rem;font-weight:600;margin:0 0 .25rem}.step-content p{color:#718096;font-size:.8rem}.action-buttons{display:flex;justify-content:center;padding:0 2rem 2rem}.btn-outline,.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 1.5rem;text-decoration:none;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 4px 15px #4caf504d;color:#fff;min-width:200px}.btn-primary:hover{box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d;color:#fff}.btn-secondary:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-outline{background:#0000;border:2px solid #e2e8f0;color:#4a5568}.btn-outline:hover{background:#f8fafc;border-color:#cbd5e0;transform:translateY(-1px)}.btn-icon{font-size:1.1rem}.support-info{background:#f8fafc;border-top:1px solid #e2e8f0;padding:1.5rem 2rem;text-align:center}.support-info p{color:#718096;font-size:.9rem;line-height:1.5;margin:0}.support-info strong{color:#4a5568}@media (max-width:768px){.order-success-container{padding:1rem}.success-title{font-size:2rem}.success-subtitle{font-size:1rem}.action-buttons,.next-steps,.order-details-card{margin-left:1rem;margin-right:1rem}.steps-list{grid-template-columns:repeat(2,1fr)}.info-row{align-items:flex-start;flex-direction:column;gap:.25rem}.info-value{font-size:.9rem}}@media (max-width:480px){.success-animation{padding:2rem 1rem 1.5rem}.success-content{padding:1.5rem 1rem}.success-title{font-size:1.75rem}.steps-list{gap:.75rem;grid-template-columns:1fr}.step{padding:.75rem .5rem}.step-number{font-size:1rem;height:35px;width:35px}}.checkout-container{margin:2rem auto;max-width:1200px;padding:0 1rem}.checkout-wrapper{background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000000d;overflow:hidden}.checkout-header{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;padding:2rem}.checkout-header h1{font-size:2rem;margin:0 0 1rem}.checkout-content{grid-gap:2rem;display:grid;padding:2rem}.order-summary-section,.payment-section,.shipping-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:1.5rem}.section-title{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.75rem}.form-group{margin-bottom:1.25rem}.form-group label{font-weight:500}.form-control{-webkit-text-fill-color:#000!important;background-color:#fff!important;border:1px solid #d1d5db;border-radius:8px;color:#000!important;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-control:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.form-control::placeholder{-webkit-text-fill-color:#666!important;color:#666!important;opacity:1!important}.form-control::-webkit-input-placeholder{-webkit-text-fill-color:#666!important;color:#666!important}.form-control::-moz-placeholder{color:#666!important;opacity:1!important}.form-control:-ms-input-placeholder{color:#666!important}.shop-order-section{border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem;padding-bottom:1.5rem}.shop-name{color:#1f2937;font-size:1.1rem;margin:0 0 1rem}.order-item{border-bottom:1px solid #f3f4f6;padding:.75rem 0}.order-item-details{flex-direction:column}.product-name{color:#1f2937;font-weight:500;margin-bottom:.25rem}.product-quantity{color:#6b7280;font-size:.875rem}.product-price{color:#1f2937;font-weight:600}.total-row{color:#4b5563;font-size:.95rem}.total-row.total-grand{border-top:2px solid #f3f4f6;color:#1f2937;font-size:1.2rem;font-weight:700;margin-top:1rem;padding:1.25rem 0 0}.summary-divider{background:#f3f4f6;height:1px;margin:.5rem 0}.place-order-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);font-size:1.1rem;font-weight:600;margin-top:1.5rem;padding:1rem;transition:all .2s ease}.place-order-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 4px 12px #4f46e540;transform:translateY(-2px)}.place-order-btn:disabled{opacity:.7}@media (max-width:768px){.checkout-content{grid-template-columns:1fr}.checkout-header h1{font-size:1.75rem}.section-title{font-size:1.1rem}.order-item{align-items:flex-start;flex-direction:column;gap:.5rem}.product-price{margin-left:auto}}.loading-state{align-items:center;display:flex;justify-content:center;min-height:300px}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#ef4444;margin-bottom:1.5rem;padding:1rem}.phone-input-group{align-items:center;display:flex;gap:8px}.country-code-select{-webkit-text-fill-color:#000!important;background-color:#fff;border:1px solid #ddd;border-radius:8px;color:#000!important;cursor:pointer;font-size:.9rem;min-width:100px;padding:12px}.country-code-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.phone-input{-webkit-text-fill-color:#000!important;background-color:#fff!important;color:#000!important;flex:1 1}.phone-input::placeholder{-webkit-text-fill-color:#666!important;color:#666!important;opacity:1!important}input[type=email],input[type=number],input[type=tel],input[type=text],select,textarea{-webkit-text-fill-color:#000!important;background-color:#fff!important;color:#000!important;-webkit-opacity:1!important}input[type=email]:focus,input[type=number]:focus,input[type=tel]:focus,input[type=text]:focus,select:focus,textarea:focus{-webkit-text-fill-color:#000!important;color:#000!important}input[type=email]::placeholder,input[type=number]::placeholder,input[type=tel]::placeholder,input[type=text]::placeholder,textarea::placeholder{-webkit-text-fill-color:#666!important;color:#666!important;opacity:1!important}input[type=email]::-webkit-input-placeholder,input[type=number]::-webkit-input-placeholder,input[type=tel]::-webkit-input-placeholder,input[type=text]::-webkit-input-placeholder,textarea::-webkit-input-placeholder{-webkit-text-fill-color:#666!important;color:#666!important}input[type=email]::-moz-placeholder,input[type=number]::-moz-placeholder,input[type=tel]::-moz-placeholder,input[type=text]::-moz-placeholder,textarea::-moz-placeholder{color:#666!important;opacity:1!important}input[type=email]:-ms-input-placeholder,input[type=number]:-ms-input-placeholder,input[type=tel]:-ms-input-placeholder,input[type=text]:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#666!important}.form-group label{color:#333!important}.form-group label:after{content:""}.form-group label[for*=required]:after,label:contains("*"):after,label:has(+input[required]):after{color:#e74c3c;content:"";margin-left:4px}:root{--card-shadow:#00000014;--border-radius:12px;--font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif}body,html{background-color:#f4f6f9;background-color:var(--background-color);color:#2c3e50;color:var(--text-color);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-family:var(--font-family);margin:0;padding:0}.checkout-container{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:3rem 1rem 5rem}.checkout-container h1,.checkout-container h2,.checkout-container h3,.checkout-container h4,.checkout-container h5,.checkout-container h6{color:#2c3e50!important;text-shadow:none!important}.checkout-container div,.checkout-container p,.checkout-container span{color:#2c3e50!important}.checkout-container .items-section h3,.checkout-container .next-section h3,.checkout-container .order-section h3,.checkout-container .section-header,.checkout-container .section-title{color:#2c3e50!important;font-weight:700!important;text-shadow:none!important}.checkout-wrapper{background-color:#fff;background-color:var(--card-background);border-radius:12px;border-radius:var(--border-radius);box-shadow:0 12px 40px #00000014;box-shadow:0 12px 40px var(--card-shadow);display:flex;flex-direction:column;gap:2.5rem;max-width:900px;padding:3rem;transition:box-shadow .3s ease;width:100%}.checkout-wrapper:hover{box-shadow:0 18px 55px #0000001f}.checkout-header{margin-bottom:1rem;text-align:center}.checkout-header h2{color:#4a90e2;color:var(--primary-color);font-size:2.8rem;font-weight:700;letter-spacing:.04em;margin-bottom:.2rem}.checkout-header p{background:#ffffffe6;border-radius:8px;color:#2c3e50;font-size:1.15rem;font-weight:600;margin:10px 0;padding:10px 20px;text-shadow:0 1px 2px #0000001a}.checkout-content{display:flex;flex-direction:column;gap:2rem}.checkout-address,.checkout-order-summary,.checkout-user-details{background-color:#fafafa;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 20px #0000000a;padding:2rem 2.5rem}.checkout-address h3,.checkout-order-summary h3,.checkout-user-details h3{border-bottom:2px solid #2ecc71;border-bottom:2px solid var(--secondary-color);color:#4a90e2;color:var(--primary-color);font-size:1.6rem;font-weight:700;margin-bottom:1rem;margin-top:0;padding-bottom:.3rem}.user-info{grid-gap:1rem 1.5rem;align-items:center;display:grid;gap:1rem 1.5rem;grid-template-columns:-webkit-max-content 1fr;grid-template-columns:max-content 1fr}.user-info p{color:#333;font-size:1.1rem;margin:0}.info-label{color:#2c3e50;color:var(--text-color);font-weight:700}.address-input{border:2px solid #ddd;border-radius:12px;border-radius:var(--border-radius);box-shadow:inset 0 2px 4px #0000000f;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-family:var(--font-family);font-size:1.1rem;line-height:1.6;min-height:120px;padding:1.2rem 1rem;resize:vertical;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.address-input:focus{border-color:#4a90e2;border-color:var(--primary-color);box-shadow:0 0 0 4px #4a90e233;outline:none}.address-input::placeholder{color:#999;font-style:italic}.shop-order-section{background-color:#fff;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 18px #00000012;margin-bottom:1.4rem;padding:1.5rem 2rem}.shop-name{border-bottom:2px solid #eee;font-size:1.3rem;font-weight:600;padding-bottom:.6rem}.order-item{border-bottom:1px solid #f2f2f2;padding:.7rem 0;transition:background .15s ease}.order-item:hover{background-color:#f5faff;border-radius:8px}.order-item-details{align-items:center;display:flex;gap:1rem}.product-name{color:#2c3e50;color:var(--text-color);font-size:1.1rem;font-weight:600}.product-quantity{color:#7a7a7a;font-size:.95rem;font-weight:500}.product-price{color:#4a90e2;color:var(--primary-color);font-size:1.1rem;font-weight:700}.order-total-breakdown{border-top:1.5px solid #e6e6e6;color:#444;font-size:1.15rem;margin-top:1.5rem;padding-top:1rem;width:100%}.total-row{border-bottom:1px solid #efefef;font-weight:500;letter-spacing:.02em;padding:.7rem 0}.total-row:last-child{border-bottom:none}.total-row.grand-total{color:#2ecc71;color:var(--secondary-color);font-size:1.4rem;font-weight:700}.place-order-btn{background:linear-gradient(135deg,#2ecc71,#27ae60);background:linear-gradient(135deg,var(--secondary-color) 0,#27ae60 100%);border:none;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 6px 16px #2ecc7166;color:#fff;cursor:pointer;font-size:1.3rem;font-weight:700;margin-top:2rem;padding:1.4rem 0;transition:background .3s ease,box-shadow .3s ease;width:100%}.place-order-btn:hover:not(:disabled){background:linear-gradient(135deg,#27ae60,#2ecc71);background:linear-gradient(135deg,#27ae60 0,var(--secondary-color) 100%);box-shadow:0 10px 24px #2ecc7199}.place-order-btn:disabled{background-color:#b0b0b0;box-shadow:none;color:#eee;cursor:not-allowed}@media (max-width:900px){.checkout-wrapper{padding:2rem 1.5rem}.checkout-header h2{font-size:2.3rem}.checkout-address,.checkout-order-summary,.checkout-user-details{padding:1.5rem 1.8rem}.order-total-breakdown{font-size:1.05rem}}@media (max-width:600px){.checkout-wrapper{padding:1.5rem 1rem}.checkout-header h2{font-size:1.9rem}.checkout-content{gap:1.6rem}.user-info{gap:.6rem;grid-template-columns:1fr}.order-item-details{align-items:flex-start;flex-direction:column;gap:.1rem}.product-price{align-self:flex-end}}.address-form{display:flex;flex-direction:column;gap:20px}.form-row{display:flex;flex-wrap:wrap;gap:15px}.form-group{flex:1 1;min-width:200px}.form-group label{color:#2c3e50;color:var(--text-color);display:block;margin-bottom:8px}.form-input,.form-textarea{background:#fff;border:2px solid #e9ecef;border-radius:10px;box-sizing:border-box;font-size:1rem;padding:12px 15px;transition:all .3s ease;width:100%}.form-input:focus,.form-textarea:focus{border-color:#4a90e2;border-color:var(--primary-color);box-shadow:0 0 0 3px #4a90e21a;outline:none}.form-textarea{min-height:80px;resize:vertical}.success-icon{font-size:3rem;margin-bottom:15px}.order-confirmation-details{display:flex;flex-direction:column;gap:30px}.confirmation-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:15px;margin-bottom:30px;padding:20px}.confirmation-section h3{border-bottom:2px solid #007bff;color:#2c3e50!important;font-size:1.4rem;font-weight:700;margin-bottom:1rem;margin-top:0;padding-bottom:.3rem;text-shadow:none}.confirmation-section{color:#2c3e50!important}.confirmation-section *{color:inherit}.confirmation-section .info-label{color:#495057!important;font-weight:600}.confirmation-section .info-value{color:#2c3e50!important;font-weight:600}.order-items-section h3,.whats-next-section h3{border-bottom:2px solid #007bff;color:#2c3e50!important;font-size:1.4rem;font-weight:700;margin-bottom:1rem;margin-top:0;padding-bottom:.3rem;text-shadow:none}.order-items-section,.whats-next-section{color:#2c3e50!important}.order-items-section *,.whats-next-section *{color:inherit}.order-items-section .item-name,.order-items-section .item-price,.order-items-section .item-quantity,.whats-next-section .step-description,.whats-next-section .step-title{color:#2c3e50!important;font-weight:600}.order-items-section .item-details,.whats-next-section .step-details{color:#495057!important}.info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:10px;display:flex;justify-content:space-between;padding:12px}.info-value{color:#2c3e50;color:var(--text-color);font-weight:600}.status-badge{background:#17a2b8;border-radius:20px;color:#fff;font-size:.9rem;padding:4px 12px}.address-display{background:#fff;border:1px solid #e9ecef;border-radius:10px;padding:15px}.address-display p{color:#495057;margin:5px 0}.instructions{border-top:1px solid #e9ecef;font-style:italic;margin-top:10px;padding-top:10px}.next-steps{display:flex;flex-direction:column;gap:20px}.step{align-items:flex-start;background:#fff;border:1px solid #e9ecef;border-radius:10px;display:flex;gap:15px;padding:15px}.step-number{align-items:center;background:linear-gradient(135deg,#4a90e2,#00f2fe);background:linear-gradient(135deg,var(--primary-color) 0,#00f2fe 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:600;height:30px;justify-content:center;width:30px}.step-content h4{color:#2c3e50;color:var(--text-color);font-size:1rem;margin:0 0 5px}.step-content p{color:#6c757d;font-size:.9rem;line-height:1.4;margin:0}.confirmation-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:30px}.error-state,.loading-state{padding:40px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e9ecef;border-radius:50%;border-top-color:#4a90e2;border-top:4px solid var(--primary-color);height:40px;margin:0 auto 20px;width:40px}.error-state h2{color:#dc3545;margin-bottom:15px}.revision-icon{font-size:3rem;margin-bottom:15px}.items-comparison{display:flex;flex-direction:column;gap:20px}.item-comparison{background:#fff;border:1px solid #e9ecef;border-radius:10px;overflow:hidden}.item-comparison.has-changes{border-color:#ffc107;box-shadow:0 2px 8px #ffc10733}.item-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:15px}.item-header h4{color:#2c3e50;color:var(--text-color);font-size:1.1rem;margin:0}.unavailable-badge{background:#dc3545;color:#fff}.changed-badge,.unavailable-badge{border-radius:15px;font-size:.8rem;font-weight:600;padding:4px 12px}.changed-badge{background:#ffc107;color:#212529}.unchanged-badge{background:#28a745;border-radius:15px;color:#fff;font-size:.8rem;font-weight:600;padding:4px 12px}.item-details{padding:15px}.detail-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.detail-label{color:#2c3e50;color:var(--text-color);font-weight:600}.detail-comparison{align-items:center;display:flex;gap:10px}.original-value{color:#6c757d}.original-value.crossed{opacity:.7;text-decoration:line-through}.revised-value{color:#28a745;font-weight:600}.shopper-notes{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;font-size:.9rem;margin-top:15px;padding:12px}.revised-total{color:#28a745;font-weight:700}.savings-info{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;font-weight:600;justify-content:space-between;margin-top:15px;padding:12px}.savings-amount.positive{color:#28a745}.savings-amount.negative{color:#dc3545}@media (max-width:768px){.form-row{flex-direction:column}.form-group{min-width:0;min-width:auto}.info-grid{grid-template-columns:1fr}.confirmation-actions,.detail-row{flex-direction:column}.detail-row{align-items:flex-start;gap:5px}.detail-comparison{align-self:flex-end}}:root{--primary-color:#4a90e2;--secondary-color:#2ecc71;--background-color:#f4f6f9;--text-color:#2c3e50;--card-background:#fff;--card-shadow:#0000001a}.order-history-container{background-color:#f4f6f9;background-color:var(--background-color);margin:0 auto;max-width:1200px;padding:2rem}.order-history-title{color:#2c3e50;color:var(--text-color);margin-bottom:2rem;text-align:center}.bill-actions{display:flex;gap:10px;margin-top:10px}.approve-bill-btn,.view-bill-btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .3s ease}.view-bill-btn{background-color:#007bff;color:#fff}.view-bill-btn:hover{background-color:#0056b3}.approve-bill-btn{background-color:#28a745;color:#fff}.approve-bill-btn:hover{background-color:#1e7e34}.order-history-loading{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center}.spinner{border:4px solid #f3f3f3;border-top-color:#4a90e2;border-top:4px solid var(--primary-color);height:50px;width:50px}.order-history-error{background-color:#e74c3c1a;color:#e74c3c;padding:2rem;text-align:center}.empty-order-history{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.empty-orders-icon{margin-bottom:1rem;width:200px}.start-shopping-btn{background-color:#4a90e2;background-color:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.75rem 1.5rem;transition:background-color .3s ease}.start-shopping-btn:hover{background-color:#3a7bd5}.orders-list{display:flex;flex-direction:column;gap:1.5rem}.order-card{background-color:#fff;background-color:var(--card-background);border-radius:12px;box-shadow:0 4px 15px #0000001a;box-shadow:0 4px 15px var(--card-shadow);padding:1.5rem}.order-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.order-date{color:#6c757d}.order-status{border-radius:20px;font-size:.875rem;font-weight:700;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.status-pending{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-confirmed{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.status-preparing{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-ready{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-picked-up{background-color:#cce5ff;border:1px solid #b3d7ff;color:#004085}.status-delivered{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-cancelled{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.order-details{display:flex;flex-direction:column;gap:1rem}.order-address{color:#7f8c8d;margin-bottom:1rem}.order-shop-group{background-color:#f9f9f9;border-radius:8px;padding:1rem}.shop-name{border-bottom:1px solid #eee;color:#4a90e2;color:var(--primary-color);margin-bottom:1rem;padding-bottom:.5rem}.shop-items{display:flex;flex-direction:column;gap:.5rem}.order-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.5rem 0}.order-item:last-child{border-bottom:none}.item-details{align-items:center;display:flex;gap:.5rem}.item-name{font-weight:500}.item-quantity{color:#6c757d;font-size:.9rem}.item-price{color:#4a90e2;color:var(--primary-color);font-weight:700}.order-total-breakdown{margin-top:1rem}.total-row{border-bottom:1px solid #eee}.total-row.grand-total{border-bottom:none;font-size:1.2rem}@media (max-width:768px){.order-history-container{padding:1rem}.order-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.r evision-actions{display:flex;gap:10px;margin-top:10px}.review-revision-btn{background-color:#ff6b35;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .3s ease}.review-revision-btn:hover{background-color:#e55a2b}.orde r-total-breakdown{border-top:1px solid #eee;margin-top:1rem;padding-top:1rem}.total-row{align-items:center;display:flex;font-size:14px;justify-content:space-between;padding:.5rem 0}.total-row.grand-total{border-top:1px solid #ddd;color:#2c3e50;font-size:16px;margin-top:.5rem;padding-top:.75rem}.total-row.grand-total strong{color:#27ae60}.contact-page{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh}.contact-hero{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;padding:4rem 2rem;text-align:center}.contact-hero-content h1{font-size:3rem;font-weight:800;margin:0 0 1rem}.contact-hero-content p{font-size:1.25rem;margin:0 auto;max-width:600px;opacity:.9}.contact-container{margin:-2rem auto 0;max-width:1200px;padding:0 2rem 4rem}.contact-content{grid-gap:3rem;background:#fff;border-radius:24px;box-shadow:0 20px 25px -5px #0000001a;display:grid;gap:3rem;grid-template-columns:1fr 1fr;overflow:hidden}.contact-info{background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:3rem}.contact-info h2{color:#1e293b;font-size:2rem;font-weight:700;margin:0 0 1rem}.contact-info>p{color:#64748b;font-size:1.1rem;margin:0 0 2rem}.contact-methods{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.contact-method{align-items:flex-start;background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;display:flex;gap:1rem;padding:1.5rem}.method-icon{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:50%;display:flex;flex-shrink:0;font-size:2rem;height:60px;justify-content:center;width:60px}.method-details h3{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.method-details p{color:#475569;font-size:1rem;font-weight:500;margin:0 0 .25rem}.method-details span{color:#64748b;font-size:.9rem}.faq-section{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem}.faq-section h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.faq-items{display:flex;flex-direction:column;gap:.75rem}.faq-item{color:#475569;font-size:.9rem;line-height:1.5}.faq-item strong{color:#6366f1}.contact-form-section{padding:3rem}.contact-form h2{color:#1e293b;font-size:2rem;font-weight:700;margin:0 0 2rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{color:#374151;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.form-group textarea{min-height:120px;resize:vertical}.submit-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:1rem;padding:1rem 2rem;transition:all .3s ease;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 10px 15px -3px #6366f14d;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.contact-hero{padding:2rem 1rem}.contact-hero-content h1{font-size:2rem}.contact-container{padding:0 1rem 2rem}.contact-content{gap:0;grid-template-columns:1fr}.contact-form-section,.contact-info{padding:2rem 1.5rem}.form-row{gap:1.5rem;grid-template-columns:1fr}.contact-method{padding:1rem}.method-icon{font-size:1.5rem;height:50px;width:50px}}@media (max-width:480px){.contact-hero{padding:1.5rem .75rem}.contact-hero-content h1{font-size:1.75rem}.contact-form-section,.contact-info{padding:1.5rem 1rem}.contact-form h2,.contact-info h2{font-size:1.5rem}}.verify-email-container{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);box-sizing:border-box;display:flex;font-family:Inter,sans-serif;justify-content:center;min-height:100vh;padding:20px}.verify-email-card{background:#fff;border-radius:16px;box-shadow:0 10px 25px #0000001a;max-width:500px;padding:40px;position:relative;text-align:center;transition:all .3s ease;width:100%}.verify-email-card.success{border-top:5px solid #4caf50}.verify-email-card.error{border-top:5px solid #f44336}.verify-email-icon{color:#4caf50;height:100px;margin:0 auto 20px;width:100px}.verify-email-card.error .verify-email-icon{color:#f44336}.verify-email-icon svg{stroke:currentColor;height:100%;width:100%}.verify-email-card h2{color:#333;margin-bottom:15px}.verify-email-message{color:#666;margin-bottom:20px}.redirect-countdown{background-color:#f0f0f0;border-radius:8px;color:#333;margin-top:20px;padding:10px}.verify-email-actions{display:flex;justify-content:space-between;margin-top:20px}.btn-back-to-login,.btn-resend-verification{border:none;border-radius:8px;cursor:pointer;flex:1 1;margin:0 5px;padding:12px;transition:all .3s ease}.btn-back-to-login{background-color:#4caf50;color:#fff}.btn-resend-verification{background-color:#f0f0f0;color:#333}.btn-back-to-login:hover{background-color:#45a049}.btn-resend-verification:hover{background-color:#e0e0e0}@media (max-width:600px){.verify-email-card{margin:0 10px;padding:20px}.verify-email-actions{flex-direction:column}.btn-back-to-login,.btn-resend-verification{margin:5px 0}}
/*# sourceMappingURL=main.fc96b2e2.css.map*/