*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{background:white;padding:40px;border-radius:16px;box-shadow:0 10px 40px #0003;width:100%;max-width:400px}.auth-card h2{margin-bottom:24px;color:#333;text-align:center}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-card input{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s}.auth-card input:focus{outline:none;border-color:#667eea}.error-message{background:#fee;color:#c33;padding:12px;border-radius:8px;margin-bottom:16px;text-align:center}.auth-toggle{text-align:center;margin-top:20px;color:#666}.auth-toggle a{color:#667eea;text-decoration:none;font-weight:600}.auth-toggle a:hover{text-decoration:underline}.btn-primary{background:#667eea;color:#fff;padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.btn-primary:hover{background:#5568d3}.btn-primary:disabled{background:#999;cursor:not-allowed}.btn-secondary{background:white;color:#667eea;padding:12px 24px;border:2px solid #667eea;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn-secondary:hover{background:#667eea;color:#fff}.btn-delete{background:#ff6b6b;color:#fff;border:none;width:32px;height:32px;border-radius:50%;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s}.btn-delete:hover{background:#ff5252}.dashboard{min-height:100vh;background:#f5f7fa}.dashboard-header{background:white;padding:20px 40px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{color:#667eea;font-size:28px}.header-actions{display:flex;gap:16px;align-items:center}.user-email{color:#666;font-size:14px}.dashboard-content{max-width:1200px;margin:0 auto;padding:40px 20px}.macro-summary{background:white;padding:30px;border-radius:16px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.macro-summary h2{margin-bottom:20px;color:#333}.macro-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.macro-card{background:#f8f9fa;padding:20px;border-radius:12px}.macro-header{display:flex;justify-content:space-between;margin-bottom:12px}.macro-label{font-weight:600;color:#333}.macro-values{color:#666;font-size:14px}.progress-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;transition:width .3s}.percentage{font-size:12px;color:#666}.actions-bar{display:flex;gap:16px;margin-bottom:30px}.food-log{background:white;padding:30px;border-radius:16px;box-shadow:0 2px 8px #0000001a}.food-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.food-log h2{color:#333}.empty-state{text-align:center;color:#999;padding:40px}.food-list{display:flex;flex-direction:column;gap:12px}.food-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8f9fa;border-radius:8px;transition:transform .2s}.food-item:hover{transform:translateY(-2px)}.food-info h3{color:#333;margin-bottom:8px;font-size:16px}.food-macros{display:flex;gap:16px;font-size:14px;color:#666}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal-content{background:white;padding:30px;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-content h2{margin-bottom:24px;color:#333}.modal-form{display:flex;flex-direction:column;gap:16px}.modal-content input{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px}.modal-content label{display:flex;flex-direction:column;gap:8px;font-weight:600;color:#333}.modal-actions{display:flex;gap:12px;margin-top:8px}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px}.search-container{margin-bottom:1rem}.searching-text{text-align:center;color:#666;font-size:.9rem;margin-top:.5rem}.search-results{max-height:400px;overflow-y:auto;margin:1rem 0;border:1px solid #e0e0e0;border-radius:8px}.search-result-item{display:flex;align-items:center;padding:.75rem;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .2s}.search-result-item:hover{background-color:#f5f5f5}.search-result-item:last-child{border-bottom:none}.search-result-item img{width:50px;height:50px;border-radius:8px;object-fit:cover;margin-right:1rem}.search-result-info h4{margin:0;font-size:1rem;color:#333}.brand-name{font-size:.85rem;color:#666;margin:.25rem 0}.category-name{font-size:.8rem;color:#999;margin:0}.serving-size{font-size:.85rem;color:#666;margin:.25rem 0 .5rem}.food-details{padding:1rem 0}.food-details h3{margin:0 0 .5rem}.serving-selection{margin:1.5rem 0;display:flex;flex-direction:column;gap:1rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-weight:500;font-size:.9rem;color:#333}.input-group input,.input-group select{padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem}.input-group input:focus,.input-group select:focus{outline:none;border-color:#4caf50}@media (max-width: 768px){.dashboard-header{flex-direction:column;gap:16px;text-align:center}.macro-cards{grid-template-columns:1fr}.actions-bar{flex-direction:column}.food-macros{flex-wrap:wrap}.food-log-header{flex-direction:column;gap:16px;align-items:stretch}}
