*{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,#764ba2);min-height:100vh;padding:20px}.container{max-width:900px;margin:0 auto}h1{text-align:center;color:#fff;font-size:2.5rem;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.app-header{display:flex;justify-content:space-between;align-items:center}.user-actions{display:flex;gap:10px;align-items:center}.user-email{color:#fff;font-weight:600}.auth-container{max-width:500px;margin:40px auto}.auth-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000001a}.auth-card h2{margin-bottom:10px}.auth-hint{color:#666;margin-bottom:16px}#auth-form{display:grid;gap:10px}#auth-form input{padding:12px;border:2px solid #e0e0e0;border-radius:8px}.auth-actions .secondary{background:#e0e7ff;color:#283593}.auth-error{color:#b00020;font-weight:600}h2{color:#333;font-size:1.5rem;margin-bottom:15px}.api-setup-section{background:#fff;border-radius:12px;padding:25px;margin-bottom:20px;box-shadow:0 4px 6px #0000001a}.api-hint{color:#666;margin-bottom:15px}.api-hint a{color:#667eea;text-decoration:none;font-weight:600}.api-hint a:hover{text-decoration:underline}.api-input-group{display:flex;gap:10px}.api-input-group input{flex:1;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.api-input-group input:focus{outline:none;border-color:#667eea}.api-btn{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .3s}.api-btn:hover{background:#5568d3}.api-status{margin-top:10px;font-weight:600}.week-nav{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:12px;padding:15px 20px;margin-bottom:20px;box-shadow:0 4px 6px #0000001a}.nav-btn{background:#667eea;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:background .3s}.nav-btn:hover{background:#5568d3}.current-week{font-weight:600;font-size:1.1rem;color:#333}.weekly-summary{background:#fff;border-radius:12px;padding:25px;margin-bottom:20px;box-shadow:0 4px 6px #0000001a}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.day-card{background:#f8f9fa;border-radius:8px;padding:12px;text-align:center;transition:transform .2s,box-shadow .2s}.day-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.day-card.today{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.day-name{font-weight:600;font-size:.85rem;margin-bottom:5px;text-transform:uppercase}.day-num{font-size:1.5rem;font-weight:700;margin-bottom:8px}.day-calories{font-weight:600;margin-bottom:5px}.day-macros{font-size:.75rem;opacity:.8;display:flex;justify-content:space-around}.ai-chat-section{background:#fff;border-radius:12px;padding:25px;margin-bottom:20px;box-shadow:0 4px 6px #0000001a}.ai-hint{color:#666;font-size:.9rem;margin-bottom:15px;font-style:italic}.chat-container{max-height:300px;overflow-y:auto;margin-bottom:15px;padding:15px;background:#f8f9fa;border-radius:8px}.chat-message{margin-bottom:15px;display:flex}.user-message{justify-content:flex-end}.ai-message{justify-content:flex-start}.message-bubble{max-width:70%;padding:12px 16px;border-radius:16px;line-height:1.4}.user-message .message-bubble{background:#667eea;color:#fff}.ai-message .message-bubble{background:#e9ecef;color:#333}.chat-input-form{display:flex;gap:10px}.chat-input-form input{flex:1;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}.chat-input-form input:focus{outline:none;border-color:#667eea}.chat-input-form button{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s;min-width:100px}.chat-input-form button:hover:not(:disabled){background:#5568d3}.chat-input-form button:disabled{opacity:.6;cursor:not-allowed}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.manual-entry-section,.summary-section,.food-list-section{background:#fff;border-radius:12px;padding:25px;margin-bottom:20px;box-shadow:0 4px 6px #0000001a}#food-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px}#food-form input{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}#food-form input:focus{outline:none;border-color:#667eea}#food-form button{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s}#food-form button:hover{background:#5568d3}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.summary-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:12px;text-align:center;box-shadow:0 2px 4px #0000001a}.card-value{font-size:2.5rem;font-weight:700;margin-bottom:5px}.card-label{font-size:.9rem;opacity:.9}.food-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f8f9fa;border-radius:8px;margin-bottom:10px;transition:transform .2s}.food-item:hover{transform:translate(5px)}.food-info h3{color:#333;font-size:1.1rem;margin-bottom:8px}.food-details{display:flex;gap:15px;color:#666;font-size:.9rem}.delete-btn{background:#ff4757;color:#fff;border:none;width:35px;height:35px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:background .3s;line-height:1}.delete-btn:hover{background:#ee5a6f}.empty-message{text-align:center;color:#999;padding:30px;font-style:italic}.actions{text-align:center}.clear-btn{padding:12px 30px;background:#ff4757;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s}.clear-btn:hover{background:#ee5a6f}@media (max-width: 768px){.week-days{grid-template-columns:repeat(4,1fr)}.day-card:nth-child(n+5){display:none}#food-form,.summary-cards{grid-template-columns:1fr}h1{font-size:2rem}}.auth-container{max-width:520px;margin:6vh auto}.auth-card{background:#fffffff2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:16px;padding:28px;box-shadow:0 20px 40px #00000026}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}.auth-brand .logo{font-size:2rem;display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#ffecb3,#ffd180);box-shadow:inset 0 1px #fff9,0 6px 14px #00000014}.brand-text h2{margin:0 0 2px}.auth-actions{display:flex;gap:10px}.auth-actions.single{justify-content:center}.google-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #dadce0;background:#fff;color:#3c4043;border-radius:10px;padding:12px 16px;font-weight:600;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 1px 2px #0000000f;transition:transform .06s ease,box-shadow .2s ease,background .2s ease;cursor:pointer}.google-btn:hover{box-shadow:0 4px 16px #0000001f}.google-btn:active{transform:translateY(1px)}.google-icon{width:18px;height:18px}.auth-divider{position:relative;display:flex;align-items:center;justify-content:center;margin:16px 0;color:#6b7280}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#0000001f;flex:1}.auth-divider span{padding:0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.input-group{display:grid}#auth-form input{padding:14px 12px;border:2px solid #e5e7eb;border-radius:10px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}#auth-form input:focus{border-color:#6366f1;box-shadow:0 0 0 4px #6366f126}#login-btn.primary,#signup-btn.secondary,#auth-form button.primary,#auth-form button.secondary{border:0;border-radius:10px;padding:12px 16px;font-weight:700;cursor:pointer}#auth-form button.primary{background:#6366f1;color:#fff;box-shadow:0 6px 16px #6366f159}#auth-form button.primary:hover{filter:brightness(1.05)}#auth-form button.secondary{background:#e0e7ff;color:#283593}.auth-error{margin-top:6px;color:#b00020;font-weight:600;min-height:20px}.auth-footnote{margin-top:8px;color:#6b7280;font-size:12px;text-align:center}@media (max-width: 560px){body{padding:16px}.auth-card{padding:22px}}
