@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-50:#f0f9ff;--primary-100:#e0f2fe;--primary-200:#bae6fd;--primary-300:#7dd3fc;--primary-400:#38bdf8;--primary-500:#0ea5e9;--primary-600:#0284c7;--primary-700:#0369a1;--primary-800:#075985;--primary-900:#0c4a6e;--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#e5e5e5;--neutral-300:#d4d4d4;--neutral-400:#a3a3a3;--neutral-500:#737373;--neutral-600:#525252;--neutral-700:#404040;--neutral-800:#262626;--neutral-900:#171717;--accent-green:#10b981;--accent-green-light:#34d399;--accent-orange:#f59e0b;--accent-orange-light:#fbbf24;--accent-red:#ef4444;--accent-red-light:#f87171;--accent-purple:#8b5cf6;--accent-purple-light:#a78bfa;--success:var(--accent-green);--warning:var(--accent-orange);--error:var(--accent-red);--info:var(--primary-500);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--transition-fast:150ms ease-out;--transition-normal:250ms ease-out;--transition-slow:350ms ease-out}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafafa;background:var(--neutral-50);color:#171717;color:var(--neutral-900);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);line-height:1.6}.App{display:flex;min-height:100vh}.main-content{background:#fafafa;background:var(--neutral-50);flex:1 1;margin-left:280px;min-height:100vh;padding:2rem;padding:var(--space-8)}h1,h2,h3,h4,h5,h6{color:#171717;color:var(--neutral-900);font-weight:600;line-height:1.2}h1{font-size:2.25rem;font-size:var(--font-size-4xl)}h2{font-size:1.875rem;font-size:var(--font-size-3xl)}h3{font-size:1.5rem;font-size:var(--font-size-2xl)}h4{font-size:1.25rem;font-size:var(--font-size-xl)}h5{font-size:1.125rem;font-size:var(--font-size-lg)}h6{font-size:1rem;font-size:var(--font-size-base)}p{color:#404040;color:var(--neutral-700);margin-bottom:1rem;margin-bottom:var(--space-4)}.btn{align-items:center;border:none;border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;gap:.5rem;gap:var(--space-2);justify-content:center;padding:.75rem 1.5rem;padding:var(--space-3) var(--space-6);text-decoration:none;transition:all .25s ease-out;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#0284c7;background:var(--primary-600)}.btn-primary:hover:not(:disabled){background:#0369a1;background:var(--primary-700);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md)}.btn-secondary{background:#e5e5e5;background:var(--neutral-200);color:#404040;color:var(--neutral-700)}.btn-secondary:hover:not(:disabled){background:#d4d4d4;background:var(--neutral-300);transform:translateY(-1px)}.btn-outline{border:2px solid #bae6fd;border:2px solid var(--primary-200);color:#0284c7;color:var(--primary-600)}.btn-outline:hover:not(:disabled){background:#f0f9ff;background:var(--primary-50);border-color:#7dd3fc;border-color:var(--primary-300)}.btn-sm{font-size:.75rem;font-size:var(--font-size-xs);padding:.5rem 1rem;padding:var(--space-2) var(--space-4)}.btn-lg{font-size:1rem;font-size:var(--font-size-base);padding:1rem 2rem;padding:var(--space-4) var(--space-8)}.card{background:#fff;border:1px solid #e5e5e5;border:1px solid var(--neutral-200);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);transition:all .25s ease-out;transition:all var(--transition-normal)}.card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{border-bottom:1px solid #e5e5e5;border-bottom:1px solid var(--neutral-200)}.card-body,.card-footer,.card-header{padding:1.5rem;padding:var(--space-6)}.card-footer{background:#fafafa;background:var(--neutral-50);border-top:1px solid #e5e5e5;border-top:1px solid var(--neutral-200)}.form-group{margin-bottom:1.5rem;margin-bottom:var(--space-6)}.form-label{color:#404040;color:var(--neutral-700);display:block;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;margin-bottom:.5rem;margin-bottom:var(--space-2)}.form-input{background:#fff;border:2px solid #e5e5e5;border:2px solid var(--neutral-200);border-radius:12px;border-radius:var(--radius-md);font-family:inherit;font-size:1rem;font-size:var(--font-size-base);padding:.75rem 1rem;padding:var(--space-3) var(--space-4);transition:all .25s ease-out;transition:all var(--transition-normal);width:100%}.form-input:focus{border-color:#38bdf8;border-color:var(--primary-400);box-shadow:0 0 0 3px #e0f2fe;box-shadow:0 0 0 3px var(--primary-100);outline:none}.form-input:disabled{background:#f5f5f5;background:var(--neutral-100);cursor:not-allowed}.form-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;padding-right:var(--space-10)}.alert{border:1px solid #0000;border-radius:12px;border-radius:var(--radius-md);margin-bottom:1rem;margin-bottom:var(--space-4);padding:1rem;padding:var(--space-4)}.alert-success{background:#34d399;background:var(--accent-green-light);border-color:#10b981;border-color:var(--accent-green)}.alert-success,.alert-warning{color:#171717;color:var(--neutral-900)}.alert-warning{background:#fbbf24;background:var(--accent-orange-light);border-color:#f59e0b;border-color:var(--accent-orange)}.alert-error{background:#f87171;background:var(--accent-red-light);border-color:#ef4444;border-color:var(--accent-red);color:#171717;color:var(--neutral-900)}.alert-info{background:#e0f2fe;background:var(--primary-100);border-color:#7dd3fc;border-color:var(--primary-300);color:#0c4a6e;color:var(--primary-900)}.badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;letter-spacing:.05em;padding:.25rem .75rem;padding:var(--space-1) var(--space-3);text-transform:uppercase}.badge-primary{background:#e0f2fe;background:var(--primary-100);color:#0369a1;color:var(--primary-700)}.badge-success{background:#34d399;background:var(--accent-green-light)}.badge-success,.badge-warning{color:#171717;color:var(--neutral-900)}.badge-warning{background:#fbbf24;background:var(--accent-orange-light)}.badge-error{background:#f87171;background:var(--accent-red-light);color:#171717;color:var(--neutral-900)}.grid{grid-gap:1.5rem;grid-gap:var(--space-6);display:grid;gap:1.5rem;gap:var(--space-6)}.grid-cols-1{grid-template-columns:repeat(1,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)}.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-2{gap:.5rem;gap:var(--space-2)}.gap-4{gap:1rem;gap:var(--space-4)}.gap-6{gap:1.5rem;gap:var(--space-6)}.m-0{margin:0}.m-4{margin:1rem;margin:var(--space-4)}.m-6{margin:1.5rem;margin:var(--space-6)}.m-8{margin:2rem;margin:var(--space-8)}.mt-0{margin-top:0}.mt-4{margin-top:1rem;margin-top:var(--space-4)}.mt-6{margin-top:1.5rem;margin-top:var(--space-6)}.mt-8{margin-top:2rem;margin-top:var(--space-8)}.mb-0{margin-bottom:0}.mb-4{margin-bottom:1rem;margin-bottom:var(--space-4)}.mb-6{margin-bottom:1.5rem;margin-bottom:var(--space-6)}.mb-8{margin-bottom:2rem;margin-bottom:var(--space-8)}.p-0{padding:0}.p-4{padding:1rem;padding:var(--space-4)}.p-6{padding:1.5rem;padding:var(--space-6)}.p-8{padding:2rem;padding:var(--space-8)}.pt-0{padding-top:0}.pt-4,.pt-6{padding-top:1rem;padding-top:var(--space-4)}.pt-8{padding-top:2rem;padding-top:var(--space-8)}.pb-0{padding-bottom:0}.pb-4{padding-bottom:1rem;padding-bottom:var(--space-4)}.pb-6{padding-bottom:1.5rem;padding-bottom:var(--space-6)}.pb-8{padding-bottom:2rem;padding-bottom:var(--space-8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-xs{font-size:.75rem;font-size:var(--font-size-xs)}.text-sm{font-size:.875rem;font-size:var(--font-size-sm)}.text-base{font-size:1rem;font-size:var(--font-size-base)}.text-lg{font-size:1.125rem;font-size:var(--font-size-lg)}.text-xl{font-size:1.25rem;font-size:var(--font-size-xl)}.text-primary{color:#0284c7;color:var(--primary-600)}.text-success{color:#10b981;color:var(--accent-green)}.text-warning{color:#f59e0b;color:var(--accent-orange)}.text-error{color:#ef4444;color:var(--accent-red)}.text-muted{color:#737373;color:var(--neutral-500)}@media (max-width:768px){.main-content{margin-left:0;padding:1rem;padding:var(--space-4)}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.btn{width:100%}.card-body,.card-footer,.card-header{padding:1rem;padding:var(--space-4)}}@media (max-width:480px){.main-content{padding:.75rem;padding:var(--space-3)}}.sidebar{background:linear-gradient(135deg,var(--primary-600) 0,var(--primary-800) 100%);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;left:0;min-height:100vh;padding:var(--space-6) 0;position:fixed;top:0;transition:all var(--transition-normal);width:280px;z-index:100}.logo{align-items:center;border-bottom:1px solid #fff3;color:#fff;display:flex;font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--space-6);padding:0 var(--space-6) var(--space-6);text-decoration:none}.logo i{font-size:var(--font-size-3xl);margin-right:var(--space-3)}.nav-links{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-4)}.nav-btn{align-items:center;background:#ffffff1a;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:var(--space-3);margin:0 var(--space-1);padding:var(--space-4) var(--space-5);text-decoration:none;transition:all var(--transition-normal)}.nav-btn:hover{background:#fff3;box-shadow:var(--shadow-md);transform:translateX(4px)}.nav-btn.active{background:#ffffff4d;box-shadow:var(--shadow-md)}.nav-btn i{font-size:var(--font-size-lg)}@media (max-width:768px){.sidebar{transform:translateX(-100%)}}.home-page{margin:0 auto;max-width:1200px}.hero-section{background:#fff;border:1px solid var(--neutral-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:var(--space-8);padding:var(--space-12);text-align:center}.hero-title{color:var(--primary-600);font-size:var(--font-size-4xl);margin-bottom:var(--space-4)}.hero-subtitle{color:var(--neutral-600);font-size:var(--font-size-lg);margin:0 auto var(--space-8);max-width:600px}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center}.features-section{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:var(--space-8)}.feature-card{background:#fff;border:1px solid var(--neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-8);text-align:center;transition:all var(--transition-normal)}.feature-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.feature-icon{align-items:center;background:var(--primary-100);border-radius:var(--radius-full);color:var(--primary-600);display:flex;font-size:var(--font-size-3xl);height:80px;justify-content:center;margin:0 auto var(--space-6);width:80px}.feature-title{color:var(--neutral-900);font-size:var(--font-size-xl);margin-bottom:var(--space-4)}.feature-description{color:var(--neutral-600);line-height:1.6}.quick-actions{background:#fff;border:1px solid var(--neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-8)}.quick-actions-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.quick-action-card{background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:var(--radius-md);color:inherit;padding:var(--space-6);text-align:center;text-decoration:none;transition:all var(--transition-normal)}.quick-action-card:hover{background:#fff;border-color:var(--primary-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-action-card i{color:var(--primary-600);display:block;font-size:var(--font-size-3xl);margin-bottom:var(--space-4)}.quick-action-card h3{color:var(--neutral-900);font-size:var(--font-size-lg);margin-bottom:var(--space-2)}.quick-action-card p{color:var(--neutral-600);font-size:var(--font-size-sm);margin:0}@media (max-width:768px){.hero-actions{align-items:center;flex-direction:column}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.quick-actions-grid{grid-template-columns:1fr}}.search-page{margin:0 auto;max-width:1200px}.search-header{margin-bottom:var(--space-8);text-align:center}.search-header h1{color:var(--primary-600);margin-bottom:var(--space-4)}.search-section{background:#fff;border:1px solid var(--neutral-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin-bottom:var(--space-8);padding:var(--space-8)}.search-form,.search-input-group{margin-bottom:var(--space-6)}.search-input-group{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr auto}.search-input{font-size:var(--font-size-lg);padding:var(--space-4) var(--space-5)}.recent-searches{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.recent-label{color:#7f8c8d;font-size:.9rem;font-weight:500}.recent-search-tag{background:#ecf0f1;border:none;border-radius:20px;color:#34495e;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.recent-search-tag:hover{background:#3498db;box-shadow:0 2px 8px #3498db4d;color:#fff;transform:translateY(-1px)}.filters-toggle{display:flex;gap:1rem;justify-content:center;margin:1.5rem 0}.search-filters{background:#f8f9fa;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin:1.5rem 0;padding:2rem}.filters-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.results-header{flex-wrap:wrap;gap:1rem}.results-info h3{color:#2c3e50;margin:0 0 .5rem}.results-info .text-muted{color:#7f8c8d;margin:0}.results-controls{gap:1rem}.results-controls,.sort-label{align-items:center;display:flex}.sort-label{color:#2c3e50;font-weight:500;gap:.75rem}.sort-select{min-width:150px}.alert-error{background:#fadbd8;border:1px solid #f1948a;color:#e74c3c;margin-bottom:2rem;position:relative}.alert-close{background:none;border:none;border-radius:4px;color:#e74c3c;cursor:pointer;margin-left:auto;padding:.25rem;transition:background-color .2s ease}.alert-close:hover{background:#e74c3c1a}.no-results{color:#7f8c8d;padding:3rem 2rem;text-align:center}.no-results i{color:#bdc3c7;font-size:3rem;margin-bottom:1rem}.no-results h3{color:#34495e;margin:0 0 .5rem}.no-results p{font-size:1.1rem;margin:0 0 2rem}.no-results-suggestions{background:#f8f9fa;border-radius:8px;margin:0 auto;max-width:500px;padding:1.5rem;text-align:left}.no-results-suggestions h4{color:#2c3e50;font-size:1rem;margin:0 0 1rem}.no-results-suggestions ul{color:#7f8c8d;margin:0;padding-left:1.5rem}.no-results-suggestions li{line-height:1.4;margin-bottom:.5rem}.product-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.product-card{background:#fff;border:1px solid #ecf0f1;border-radius:12px;box-shadow:0 4px 15px #0000001a;overflow:hidden;padding:1.5rem;position:relative;transition:transform .2s ease,box-shadow .2s ease}.product-card:before{background:linear-gradient(90deg,#3498db,#27ae60);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.product-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.product-card:hover:before{opacity:1}.product-info{margin-bottom:1.5rem}.product-name{font-size:1.2rem;line-height:1.3;margin:0 0 .75rem}.product-description{color:#7f8c8d;font-size:.95rem;line-height:1.5;margin:0 0 1rem}.product-meta{display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem}.product-meta>span{align-items:center;color:#34495e;display:flex;font-weight:500;gap:.5rem}.product-meta i{color:#7f8c8d;text-align:center;width:14px}.product-category{border-radius:15px;padding:.25rem .75rem}.product-distance{color:#3498db}.product-actions{display:flex;gap:1rem}.product-actions .btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s ease}.btn-primary:hover{background:#2980b9;box-shadow:0 4px 12px #3498db4d;transform:translateY(-1px)}.loading i{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.search-page{padding:1rem}.filters-grid{gap:1rem;grid-template-columns:1fr}.product-grid{gap:1.5rem;grid-template-columns:1fr}.results-header{align-items:flex-start;flex-direction:column}.results-controls{justify-content:space-between;width:100%}.product-meta{gap:.75rem}.product-actions,.product-meta{flex-direction:column}}@media (max-width:480px){.search-page{padding:.5rem}.search-filters{padding:1.5rem}.product-card{padding:1rem}.recent-searches{align-items:flex-start;flex-direction:column;gap:.75rem}.filters-toggle{align-items:stretch;flex-direction:column}}.chat-page{margin:0 auto;max-width:1200px}.chat-header{margin-bottom:var(--space-8);text-align:center}.chat-header h1{color:var(--primary-600);margin-bottom:var(--space-4)}.chat-container{background:#fff;border:1px solid var(--neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-8);overflow:hidden}.chat-messages{background:var(--neutral-50);border-bottom:1px solid var(--neutral-200);max-height:500px;overflow-y:auto;padding:var(--space-6)}.message{word-wrap:break-word;border-radius:var(--radius-lg);margin-bottom:var(--space-4);max-width:80%;padding:var(--space-3) var(--space-4);position:relative}.user-message{background:var(--primary-500);border-bottom-right-radius:var(--radius-sm);color:#fff;margin-left:auto}.bot-message{background:#fff;border:1px solid var(--neutral-200);border-bottom-left-radius:var(--radius-sm);color:var(--neutral-700);margin-right:auto}.message-content{margin-bottom:var(--space-2)}.message-time{display:block;font-size:var(--font-size-xs);opacity:.7}.chat-input-container{display:flex;gap:var(--space-3);padding:var(--space-6)}.chat-input{border:2px solid var(--neutral-200);border-radius:var(--radius-full);flex:1 1;font-size:var(--font-size-sm);padding:var(--space-3) var(--space-4);transition:border-color var(--transition-normal)}.chat-input:focus{border-color:var(--primary-400);outline:none}.chat-input:disabled{background:var(--neutral-100);cursor:not-allowed}.chat-send-btn{background:var(--primary-500);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;min-width:50px;padding:var(--space-3) var(--space-5);transition:all var(--transition-normal)}.chat-send-btn:hover:not(:disabled){background:var(--primary-600);box-shadow:var(--shadow-md);transform:translateY(-2px)}.chat-send-btn:disabled{cursor:not-allowed;opacity:.5}.typing-indicator{align-items:center;display:flex;gap:.25rem;padding:.5rem 0}.typing-dot{animation:typing 1.4s ease-in-out infinite;background:#bdc3c7;border-radius:50%;height:8px;width:8px}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.quick-suggestions{background:#f8f9fa;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin:2rem 0;padding:1.5rem}.quick-suggestions h4{color:#2c3e50;font-size:1.1rem;margin:0 0 1rem;text-align:center}.suggestions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.suggestion-btn{background:#fff;border:2px solid #ecf0f1;border-radius:8px;color:#34495e;cursor:pointer;font-size:.9rem;line-height:1.4;padding:.75rem 1rem;text-align:left;transition:all .2s ease}.suggestion-btn:hover{background:#f8f9fa;border-color:#3498db;box-shadow:0 2px 8px #3498db33;transform:translateY(-1px)}.message-content h4{border-bottom:2px solid #ecf0f1;color:#2c3e50;font-size:1.2rem;margin:0 0 1rem;padding-bottom:.5rem}.product-suggestions{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.product-suggestion{background:#f8f9fa;border-left:3px solid #3498db;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.product-name{font-size:1rem}.product-price{color:#27ae60;font-size:.9rem;font-weight:600}.product-category{align-self:flex-start;background:#ecf0f1;border-radius:12px;color:#7f8c8d;font-size:.8rem;padding:.25rem .5rem}.recipe-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-top:1rem}.recipe-ingredients h5,.recipe-instructions h5{border-bottom:1px solid #ecf0f1;color:#2c3e50;font-size:1rem;margin:0 0 .75rem;padding-bottom:.5rem}.recipe-ingredients ul{color:#34495e;margin:0;padding-left:1.5rem}.recipe-ingredients li{line-height:1.4;margin-bottom:.5rem}.recipe-instructions ol{color:#34495e;margin:0;padding-left:1.5rem}.recipe-instructions li{line-height:1.5;margin-bottom:.75rem}.tip-content{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-top:1rem;padding:1rem}.tip-content h5{align-items:center;color:#856404;display:flex;font-size:1rem;gap:.5rem;margin:0 0 .75rem}.tip-content p{color:#856404;line-height:1.5;margin:0}.chat-tips{background:#f8f9fa;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-top:3rem;padding:2rem}.chat-tips h3{color:#2c3e50;font-size:1.5rem;margin:0 0 2rem;text-align:center}.tips-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.tip-card{background:#fff;border:1px solid #ecf0f1;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.tip-card:hover{box-shadow:0 4px 15px #00000026;transform:translateY(-2px)}.tip-card i{color:#3498db;display:block;font-size:2rem;margin-bottom:1rem}.tip-card h4{color:#2c3e50;font-size:1.1rem;margin:0 0 .75rem}.tip-card p{color:#7f8c8d;font-size:.9rem;font-style:italic;line-height:1.4;margin:0}@media (max-width:768px){.recipe-content{gap:1.5rem}.product-suggestions,.recipe-content,.suggestions-grid{grid-template-columns:1fr}.tips-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.quick-suggestions{padding:1rem}.chat-tips{padding:1.5rem}}@media (max-width:480px){.chat-tips,.quick-suggestions,.tip-card{padding:1rem}.tip-card i{font-size:1.5rem}.recipe-ingredients ul,.recipe-instructions ol{padding-left:1.25rem}}.shopping-list-page{margin:0 auto;max-width:1200px;padding:20px}.shopping-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.shopping-list-title{color:#333;font-size:24px;font-weight:700}.shopping-list-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.shopping-list-item{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:12px 0}.shopping-list-item:last-child{border-bottom:none}.item-name{color:#333;font-weight:500}.item-quantity{color:#666;font-size:14px}.item-actions{display:flex;gap:8px}.add-item-form{background:#f8f9fa;border-radius:8px;margin-top:20px;padding:20px}.form-group{margin-bottom:15px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:5px}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.add-item-button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px}.add-item-button:hover{background:#0056b3}.store-page{margin:0 auto;max-width:1200px;padding:2rem}.store-header{margin-bottom:3rem;text-align:center}.store-header h1{color:#2c3e50;font-size:2.5rem;margin-bottom:.5rem}.store-header .text-muted{color:#7f8c8d;font-size:1.1rem}.location-section{background:#f8f9fa;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:3rem;padding:2rem}.location-inputs{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:2fr 1fr auto;margin-bottom:1rem}.current-location{align-items:center;color:#27ae60;display:flex;font-size:.9rem;gap:.5rem}.current-location i{font-size:1.1rem}.stores-section{margin-bottom:3rem}.results-header{align-items:center;border-bottom:2px solid #ecf0f1;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.results-header h3{color:#2c3e50;margin:0}.results-header .text-muted{color:#7f8c8d;margin:0}.stores-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.store-card{background:#fff;border:1px solid #ecf0f1;border-radius:12px;box-shadow:0 4px 15px #0000001a;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.store-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.store-header-info{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.store-name-rating{flex:1 1}.store-name{color:#2c3e50;font-size:1.3rem;margin:0 0 .5rem}.store-rating{align-items:center;display:flex;gap:.5rem}.stars{color:#f39c12;font-size:.9rem}.rating-text{color:#7f8c8d;font-weight:600}.status-badge{border-radius:20px;font-size:.8rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.status-badge.open{background:#d5f4e6;color:#27ae60}.status-badge.closed{background:#fadbd8;color:#e74c3c}.store-details{margin-bottom:1.5rem}.store-details>div{align-items:center;color:#34495e;display:flex;gap:.75rem;margin-bottom:.75rem}.store-details i{color:#7f8c8d;text-align:center;width:16px}.store-services{margin-bottom:1.5rem}.store-services h4{color:#2c3e50;font-size:1rem;margin:0 0 .75rem}.services-tags{display:flex;flex-wrap:wrap;gap:.5rem}.service-tag{background:#ecf0f1;border-radius:15px;color:#34495e;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.store-actions{display:flex;gap:1rem}.store-actions .btn{flex:1 1;justify-content:center}.map-section{background:#f8f9fa;border-radius:12px;padding:2rem;text-align:center}.map-section h3{color:#2c3e50;margin-bottom:1rem}.map-placeholder{color:#7f8c8d;padding:3rem}.map-placeholder i{display:block;font-size:3rem;margin-bottom:1rem}.map-placeholder p{margin:.5rem 0}.loading{color:#7f8c8d;font-size:1.1rem;padding:3rem;text-align:center}.loading i{font-size:1.5rem;margin-right:.5rem}@media (max-width:768px){.store-page{padding:1rem}.location-inputs{gap:1rem;grid-template-columns:1fr}.stores-grid{gap:1.5rem;grid-template-columns:1fr}.store-header-info{gap:1rem}.results-header,.store-actions,.store-header-info{flex-direction:column}.results-header{align-items:flex-start;gap:1rem}}@media (max-width:480px){.store-page{padding:.5rem}.store-header h1{font-size:2rem}.location-section,.map-section{padding:1.5rem}.store-card{padding:1rem}}.floorplan-page{margin:0 auto;max-width:1400px;padding:2rem}.floorplan-header{margin-bottom:3rem;text-align:center}.floorplan-header h1{color:#2c3e50;font-size:2.5rem;margin-bottom:.5rem}.floorplan-header .text-muted{color:#7f8c8d;font-size:1.1rem}.floorplan-controls{background:#f8f9fa;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:3rem;padding:2rem}.search-section{margin-bottom:2rem}.view-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.view-toggle{display:flex;gap:.5rem}.zoom-controls{align-items:center;display:flex;gap:1rem}.zoom-level{color:#2c3e50;font-weight:600;min-width:50px;text-align:center}.search-results{background:#e8f5e8;border-left:4px solid #27ae60;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.search-results h3{color:#27ae60;margin:0 0 1rem}.results-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.product-result{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:.75rem;padding:1rem}.product-result i{color:#27ae60}.product-name{color:#2c3e50;font-weight:600}.product-aisle{color:#7f8c8d;font-size:.9rem}.floorplan-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin-bottom:3rem;overflow:hidden;padding:2rem}.floorplan-canvas{background:#f8f9fa;border:2px solid #ecf0f1;border-radius:8px;height:500px;position:relative;transform-origin:top left;width:100%}.checkout-area,.store-entrance{background:#2c3e50;border-radius:8px;box-shadow:0 2px 8px #0003;color:#fff;font-weight:600;padding:1rem;position:absolute;text-align:center}.store-entrance{left:20px;width:80px}.checkout-area,.store-entrance{align-items:center;display:flex;flex-direction:column;height:60px;justify-content:center;top:20px}.checkout-area{right:20px;width:100px}.checkout-area i,.store-entrance i{font-size:1.5rem;margin-bottom:.25rem}.checkout-area span,.store-entrance span{font-size:.8rem}.aisle{align-items:center;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-weight:600;justify-content:center;position:absolute;text-align:center;text-shadow:1px 1px 2px #0000004d;transition:all .3s ease}.aisle:hover{box-shadow:0 4px 15px #0000004d;transform:scale(1.05)}.aisle.selected{border:3px solid #f39c12;box-shadow:0 0 20px #f39c1280}.aisle-label{font-size:.8rem;line-height:1.2;margin-bottom:.25rem}.aisle-category{font-size:.7rem;opacity:.9}.product-marker{position:absolute;transform:translate(-50%,-50%);z-index:10}.product-marker i{animation:pulse 2s infinite;color:#e74c3c;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3));font-size:1.5rem}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.aisle-details{background:#fff;border-left:4px solid #3498db;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin-bottom:3rem;padding:2rem}.aisle-details-header{align-items:center;border-bottom:2px solid #ecf0f1;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.aisle-details-header h3{color:#2c3e50;margin:0}.close-btn{background:none;border:none;border-radius:50%;color:#7f8c8d;cursor:pointer;font-size:1.5rem;padding:.5rem;transition:background-color .2s ease}.close-btn:hover{background:#ecf0f1;color:#34495e}.aisle-products h4{color:#2c3e50;margin:0 0 1rem}.products-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.aisle-product{align-items:center;background:#f8f9fa;border-left:3px solid #3498db;border-radius:8px;display:flex;gap:.75rem;padding:1rem}.aisle-product i{color:#3498db}.floorplan-legend{background:#f8f9fa;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:2rem}.floorplan-legend h4{color:#2c3e50;margin:0 0 1.5rem;text-align:center}.legend-items{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.legend-item{align-items:center;display:flex;gap:.75rem}.legend-color{border:2px solid #ffffff80;border-radius:4px;height:20px;width:20px}.legend-item span{color:#34495e;font-weight:500}@media (max-width:768px){.floorplan-page{padding:1rem}.floorplan-controls{padding:1.5rem}.view-controls{align-items:stretch;flex-direction:column}.floorplan-canvas{height:400px}.aisle-label{font-size:.7rem}.aisle-category{font-size:.6rem}.checkout-area,.store-entrance{height:50px;padding:.5rem;width:60px}.checkout-area span,.store-entrance span{font-size:.7rem}}@media (max-width:480px){.floorplan-page{padding:.5rem}.floorplan-header h1{font-size:2rem}.aisle-details,.floorplan-container,.floorplan-controls,.floorplan-legend{padding:1rem}.floorplan-canvas{height:300px}.products-list,.results-grid{grid-template-columns:1fr}}.settings-page{margin:0 auto;max-width:1000px;padding:2rem}.settings-header{margin-bottom:3rem;text-align:center}.settings-header h1{color:#2c3e50;font-size:2.5rem;margin-bottom:.5rem}.settings-header .text-muted{color:#7f8c8d;font-size:1.1rem}.alert{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:.75rem;margin-bottom:2rem;padding:1rem 1.5rem}.alert-success{background:#d5f4e6;border:1px solid #a8e6cf;color:#27ae60}.alert-success i{font-size:1.2rem}.settings-nav{background:#f8f9fa;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;margin-bottom:3rem;overflow-x:auto;padding:.5rem}.nav-tab{align-items:center;background:none;border:none;border-radius:8px;color:#7f8c8d;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:1rem 1.5rem;transition:all .2s ease;white-space:nowrap}.nav-tab:hover{background:#e9ecef;color:#495057}.nav-tab.active{background:#3498db;box-shadow:0 2px 8px #3498db4d;color:#fff}.nav-tab i{font-size:1.1rem}.settings-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.settings-section{padding:2rem}.settings-section h3{color:#2c3e50;font-size:1.5rem;margin:0 0 .5rem}.settings-section .text-muted{color:#7f8c8d;margin-bottom:2rem}.settings-group{margin-bottom:2.5rem}.settings-group h4{border-bottom:2px solid #ecf0f1;color:#34495e;font-size:1.1rem;margin:0 0 1rem;padding-bottom:.5rem}.setting-item{background:#f8f9fa;border-left:3px solid #3498db;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.setting-label{align-items:center;color:#2c3e50;cursor:pointer;display:flex;font-weight:600;gap:.75rem;margin-bottom:.5rem}.setting-label input[type=checkbox]{accent-color:#3498db;height:18px;width:18px}.setting-description{color:#7f8c8d;font-size:.9rem;line-height:1.4;margin-left:2rem}.form-input,.form-select{background:#fff;border:2px solid #ecf0f1;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.form-input:focus,.form-select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-select{cursor:pointer}.categories-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.category-checkbox{align-items:center;background:#fff;border:2px solid #ecf0f1;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s ease}.category-checkbox:hover{background:#f8f9fa;border-color:#3498db}.category-checkbox input[type=checkbox]{accent-color:#3498db;height:16px;width:16px}.settings-actions{align-items:center;background:#f8f9fa;border-top:1px solid #ecf0f1;display:flex;gap:1rem;justify-content:space-between;padding:2rem}.settings-actions .btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover:not(:disabled){background:#2980b9;box-shadow:0 4px 12px #3498db4d;transform:translateY(-1px)}.btn-primary:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d;box-shadow:0 4px 12px #95a5a64d;transform:translateY(-1px)}.btn-outline{background:#0000;border:2px solid #3498db;color:#3498db}.btn-outline:hover{background:#3498db;color:#fff}.btn-small{font-size:.9rem;padding:.5rem 1rem}@media (max-width:768px){.settings-page{padding:1rem}.settings-nav{flex-direction:column;gap:.5rem}.nav-tab{justify-content:center}.settings-section{padding:1.5rem}.settings-actions{align-items:stretch;flex-direction:column}.categories-grid{grid-template-columns:1fr}.setting-item{margin-bottom:1rem;padding:.75rem}}@media (max-width:480px){.settings-page{padding:.5rem}.settings-header h1{font-size:2rem}.settings-section{padding:1rem}.settings-actions{padding:1.5rem}.nav-tab{font-size:.9rem;padding:.75rem 1rem}.nav-tab i{font-size:1rem}}
/*# sourceMappingURL=main.41eac80b.css.map*/