*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}#root{min-height:100vh}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:40px;max-width:450px;width:100%}.auth-card h1{color:#667eea;margin-bottom:10px;font-size:32px;text-align:center}.auth-card p{color:#666;margin-bottom:30px;text-align:center}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.form-group input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:16px;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#667eea}.btn{width:100%;padding:14px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.btn-secondary{background:#f5f5f5;color:#333;margin-top:10px}.btn-secondary:hover{background:#e0e0e0}.btn-danger{background:#f44336;color:#fff}.btn-danger:hover{background:#d32f2f}.error-message{background:#ffebee;color:#c62828;padding:12px;border-radius:8px;margin-bottom:20px;text-align:center}.success-message{background:#e8f5e9;color:#2e7d32;padding:12px;border-radius:8px;margin-bottom:20px;text-align:center}.auth-link{text-align:center;margin-top:20px;color:#666}.auth-link a{color:#667eea;text-decoration:none;font-weight:600}.auth-link a:hover{text-decoration:underline}.dashboard{max-width:1200px;margin:0 auto;padding:40px 20px}.dashboard-header{background:#fff;border-radius:20px;padding:30px;margin-bottom:30px;box-shadow:0 10px 30px #0000001a;display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{color:#667eea;font-size:32px}.user-info{color:#666;font-size:14px}.dashboard-content{display:grid;grid-template-columns:1fr 1fr;gap:30px}@media (max-width: 768px){.dashboard-content{grid-template-columns:1fr}}.card{background:#fff;border-radius:20px;padding:30px;box-shadow:0 10px 30px #0000001a}.card h2{color:#333;margin-bottom:20px;font-size:24px}.data-table{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse}table th,table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}table th{background:#f5f5f5;color:#333;font-weight:600}table tr:hover{background:#f9f9f9}.empty-state{text-align:center;padding:40px;color:#999}.empty-state p{font-size:18px}.loading{text-align:center;padding:40px;color:#667eea;font-size:18px}.bolt-search{background:#fff;border-radius:20px;padding:30px;margin-bottom:30px;box-shadow:0 10px 30px #0000001a}.search-header{text-align:center;margin-bottom:25px}.search-header h2{color:#667eea;margin-bottom:8px;font-size:24px}.search-header p{color:#666;font-size:14px}.database-selector{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;justify-content:center}.database-btn{display:flex;flex-direction:column;align-items:center;padding:12px 16px;border:2px solid #e0e0e0;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s;min-width:100px}.database-btn:hover{border-color:#667eea;transform:translateY(-2px)}.database-btn.active{border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.db-icon{font-size:20px;margin-bottom:4px}.db-name{font-size:12px;font-weight:600}.search-form{margin-bottom:20px}.search-input-group{display:flex;gap:10px;max-width:600px;margin:0 auto}.search-input{flex:1;padding:14px 18px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;transition:border-color .3s}.search-input:focus{outline:none;border-color:#667eea}.search-btn{padding:14px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:18px;cursor:pointer;transition:all .3s}.search-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}.search-btn:disabled{opacity:.5;cursor:not-allowed}.active-database-info{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:20px;padding:10px;background:#f8f9ff;border-radius:8px;font-size:14px}.active-db-icon{font-size:16px}.search-loading,.search-error{text-align:center;padding:30px;margin:20px 0}.search-loading{color:#667eea}.loading-spinner{font-size:24px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bolt-search-section{margin:15px 0;text-align:center}.btn.btn-primary{transition:all .3s ease}.btn.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}.search-error{background:#ffebee;border-radius:12px;color:#c62828}.error-icon{font-size:20px;margin-right:8px}.search-results{margin-top:30px}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #f0f0f0}.results-header h3{color:#333;margin:0}.results-source{color:#666;font-size:14px;font-style:italic}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.food-card{background:#fafbff;border:1px solid #e8ebf7;border-radius:16px;padding:20px;transition:all .3s}.food-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #667eea26;border-color:#667eea}.food-header{margin-bottom:15px}.food-name{color:#333;margin:0 0 4px;font-size:18px;font-weight:600}.local-name{color:#666;margin:0;font-size:14px;font-style:italic}.nutrition-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.nutrition-item{display:flex;justify-content:space-between;padding:8px 12px;background:#fff;border-radius:8px;font-size:14px}.nutrition-label{color:#666;font-weight:500}.nutrition-value{color:#333;font-weight:600}.glycemic-info{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:15px;padding:10px;background:#fff;border-radius:8px;font-size:14px}.gi-label{color:#666;font-weight:500}.gi-value{font-weight:600;padding:2px 8px;border-radius:4px}.gi-value.low{background:#e8f5e8;color:#2e7d32}.gi-value.medium{background:#fff3e0;color:#f57c00}.gi-value.high{background:#ffebee;color:#c62828}.diabetic-friendly{font-size:12px;font-weight:600;padding:2px 6px;border-radius:4px}.diabetic-friendly.yes{background:#e8f5e8;color:#2e7d32}.diabetic-friendly.no{background:#fff3e0;color:#f57c00}.health-notes{margin-bottom:15px}.health-notes p{color:#555;font-size:13px;line-height:1.4;margin:0;background:#fff;padding:10px;border-radius:8px;border-left:3px solid #667eea}.food-footer{display:flex;justify-content:space-between;font-size:12px;color:#888;padding-top:10px;border-top:1px solid #eee}.data-source{font-weight:600}.country-context{font-style:italic}@media (max-width: 768px){.database-selector{flex-direction:column;align-items:center}.database-btn{width:100%;max-width:200px}.results-grid{grid-template-columns:1fr}.search-input-group{flex-direction:column}.results-header{flex-direction:column;gap:10px;text-align:center}.nutrition-info{grid-template-columns:1fr}}@media (max-width: 480px){.auth-card{padding:30px 20px}.dashboard-header{flex-direction:column;gap:20px;text-align:center}.bolt-search{padding:20px}.food-card{padding:15px}}
