@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;padding:clamp(12px,3vw,40px);display:flex;justify-content:center;align-items:flex-start;background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);position:relative}.app:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.05) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,113,113,.05) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(120,213,250,.05) 0%,transparent 50%);pointer-events:none;z-index:0}.container{max-width:100%;width:100%;background:rgba(255,255,255,.95);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 32px 64px #00000014,0 16px 32px #0000000a,0 8px 16px #00000005,0 0 0 1px #ffffff80;overflow:hidden;position:relative;z-index:1;animation:containerFloat 6s ease-in-out infinite}@keyframes containerFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.logo-section{text-align:center;margin:20px 0 10px}.user-welcome-section{text-align:center;margin-bottom:15px}.app-logo{width:80px;height:80px;border-radius:50%;margin-bottom:15px;box-shadow:0 4px 12px #dc262633;object-fit:cover}h1{text-align:center;background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;letter-spacing:-.02em;position:relative}h1:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:40px;height:3px;background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);border-radius:2px}.welcome-section{text-align:center;margin:0 0 30px;padding:0 20px}.welcome-message{color:#666;font-size:1rem;margin:0 0 25px;font-style:italic}.instructions{background:#f8f9fa;border-radius:15px;padding:20px;text-align:left;max-width:500px;margin:20px auto}.instructions h3{color:#333;margin:0 0 15px;font-size:1.1rem;text-align:center}.instruction-steps{display:flex;flex-direction:column;gap:12px}.step{display:flex;align-items:center;gap:12px;padding:8px 0}.step-number{background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}.step-text{color:#555;font-size:.9rem;line-height:1.4}.user-welcome{color:#374151;font-size:.9rem;font-weight:500}.bottom-section{margin-top:40px;padding-top:20px;border-top:1px solid #e5e7eb;text-align:center}.sign-out-btn-bottom{background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.sign-out-btn-bottom:hover{background:linear-gradient(135deg,#4b5563 0%,#374151 100%);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.auth-loading{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%)}.loading-logo{width:80px;height:80px;border-radius:50%;margin-bottom:20px;box-shadow:0 4px 12px #dc262633;object-fit:cover}.auth-loading p{color:#666;font-size:1rem;margin:10px 0;text-align:center}.loading-hint{color:#888;font-size:.85rem;font-style:italic}.mode-toggle{display:flex;gap:8px;margin:0 auto 32px;padding:0 24px;justify-content:center;flex-wrap:wrap}.mode-btn{flex:1;min-width:140px;max-width:200px;padding:12px 24px;border:2px solid #e2e8f0;border-radius:12px;background:rgba(255,255,255,.8);color:#64748b;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px)}.mode-btn:hover{border-color:#dc2626;background:rgba(255,255,255,.95);transform:translateY(-1px)}.mode-btn.active{border-color:#dc2626;background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);color:#fff;box-shadow:0 4px 12px #dc262640}.photo-section{padding:0 clamp(20px,4vw,48px) clamp(20px,4vw,48px) clamp(20px,4vw,48px);position:relative}.photo-placeholder{border:2px dashed #cbd5e1;border-radius:20px;padding:48px 24px;text-align:center;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.photo-placeholder:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(59,130,246,.05) 0%,rgba(139,92,246,.05) 100%);opacity:0;transition:opacity .3s ease}.photo-placeholder:hover{border-color:#dc2626;transform:translateY(-2px);box-shadow:0 12px 24px #dc26261a}.photo-placeholder:hover:before{opacity:1}.take-photo-btn{background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);color:#fff;border:none;padding:16px 32px;border-radius:16px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 25px #3b82f640;position:relative;overflow:hidden;z-index:1}.take-photo-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s;z-index:-1}.take-photo-btn:hover{transform:translateY(-3px);box-shadow:0 12px 32px #3b82f659}.take-photo-btn:hover:before{left:100%}.take-photo-btn:active{transform:translateY(-1px)}.photo-hint{margin:20px 0 0;color:#64748b;font-size:.9rem;font-weight:400;opacity:.8}.camera-error{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:16px;margin-top:16px;text-align:center}.camera-error p{color:#dc2626;margin:0 0 12px;font-size:.9rem;font-weight:500}.retry-camera-btn{background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-camera-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #dc26264d}.photo-container{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 20px 40px #00000014,0 8px 16px #0000000a;animation:imageAppear .6s cubic-bezier(.4,0,.2,1)}@keyframes imageAppear{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.captured-image{width:100%;height:clamp(280px,35vw,440px);object-fit:cover;display:block;transition:transform .3s ease}.photo-container:hover .captured-image{transform:scale(1.02)}.clear-btn{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.95);border:none;border-radius:12px;padding:10px 14px;font-size:.9rem;font-weight:500;cursor:pointer;backdrop-filter:blur(20px);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000001a;color:#475569}.clear-btn:hover{background:rgba(255,255,255,1);transform:translateY(-1px);box-shadow:0 6px 16px #00000026}.analyze-btn{position:absolute;bottom:15px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#4CAF50 0%,#45a049 100%);color:#fff;border:none;border-radius:25px;padding:12px 24px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #4caf504d;transition:transform .2s ease,box-shadow .2s ease}.analyze-btn:hover{transform:translate(-50%) translateY(-2px);box-shadow:0 6px 20px #4caf5066}.menu-section{padding:clamp(20px,4vw,48px);position:relative}.menu-input-container{background:rgba(255,255,255,.8);backdrop-filter:blur(10px);border-radius:16px;padding:24px;border:1px solid rgba(226,232,240,.8)}.menu-label{display:block;color:#1e293b;font-size:1.1rem;font-weight:600;margin-bottom:16px}.menu-input{width:100%;padding:20px;border:2px solid #e2e8f0;border-radius:12px;font-family:inherit;font-size:.9rem;line-height:1.5;resize:vertical;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;background:rgba(255,255,255,.9);min-height:300px}.menu-input:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 4px #dc26261a,0 8px 16px #dc262614;background:rgba(255,255,255,1);transform:translateY(-1px)}.menu-input::placeholder{color:#94a3b8;font-weight:400;line-height:1.4}.menu-character-count{text-align:right;font-size:.8rem;color:#64748b;margin-top:8px;font-weight:500}.menu-input-toggle{display:flex;gap:8px;margin-bottom:24px;justify-content:center}.menu-input-btn{flex:1;max-width:180px;padding:10px 20px;border:2px solid #e2e8f0;border-radius:10px;background:rgba(255,255,255,.8);color:#64748b;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px)}.menu-input-btn:hover{border-color:#dc2626;background:rgba(255,255,255,.95);transform:translateY(-1px)}.menu-input-btn.active{border-color:#dc2626;background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);color:#fff;box-shadow:0 4px 12px #dc262640}.menu-upload-placeholder{text-align:center;padding:48px 24px;border:2px dashed #cbd5e1;border-radius:16px;background:rgba(248,250,252,.5);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.menu-upload-placeholder:hover{border-color:#dc2626;background:rgba(248,250,252,.8);transform:translateY(-2px)}.upload-icon{font-size:3rem;margin-bottom:16px;opacity:.8}.menu-upload-placeholder h3{color:#1e293b;margin:0 0 8px;font-size:1.2rem;font-weight:600}.menu-upload-placeholder p{color:#64748b;margin:0 0 20px;font-size:.95rem}.take-photo-btn.menu-photo{background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);margin-bottom:12px}.take-photo-btn.menu-photo:hover{box-shadow:0 6px 20px #dc262666}.menu-image-container{position:relative;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.8);backdrop-filter:blur(10px)}.menu-image{width:100%;height:auto;max-height:500px;object-fit:contain;border-radius:16px;box-shadow:0 8px 24px #0000001f}.clear-btn.menu-clear{position:absolute;top:16px;right:16px;background:rgba(239,68,68,.9);color:#fff;border:none;border-radius:20px;padding:8px 16px;font-size:.85rem;font-weight:600;cursor:pointer;backdrop-filter:blur(10px);transition:all .3s ease;box-shadow:0 4px 12px #ef44444d}.clear-btn.menu-clear:hover{background:rgba(220,38,38,.95);transform:translateY(-1px);box-shadow:0 6px 16px #ef444466}.stat-card{background:rgba(255,255,255,.8);backdrop-filter:blur(10px);border-radius:16px;padding:24px;text-align:center;border:1px solid rgba(226,232,240,.8);min-width:140px;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #00000014}.stat-number{display:block;font-size:1.8rem;font-weight:700;color:#10b981;margin-bottom:8px}.stat-label{display:block;font-size:.9rem;color:#64748b;font-weight:500;line-height:1.3}.meal-categories{margin-top:48px}.category-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:16px 0;border-bottom:2px solid rgba(16,185,129,.2);margin-bottom:32px;transition:all .3s ease;user-select:none}.category-header:hover{background:rgba(16,185,129,.05);border-radius:12px;padding:16px 20px;margin:0 -20px 32px}.category-title{color:#1e293b;font-size:1.8rem;font-weight:700;margin:0}.subcategory-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:12px 0;margin-bottom:24px;transition:all .3s ease;user-select:none}.subcategory-header:hover{background:rgba(5,150,105,.05);border-radius:8px;padding:12px 16px;margin:0 -16px 24px}.collapse-icon{font-size:1.2rem;color:#10b981;transition:transform .3s ease;font-weight:700}.collapse-icon.collapsed{transform:rotate(-90deg)}.subcategories{display:flex;flex-direction:column;gap:40px}.subcategory{background:rgba(255,255,255,.7);border-radius:16px;padding:28px;border:1px solid rgba(226,232,240,.6)}.subcategory h4{color:#059669;font-size:1.3rem;font-weight:600;margin:0}.meal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.meal-macros{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.meal-macros span{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);color:#0369a1;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;border:1px solid rgba(3,105,161,.2)}.meal-ingredients{list-style:none;padding:0;margin:0 0 16px}.meal-ingredients li{color:#374151;font-size:.9rem;line-height:1.5;padding:4px 0 4px 20px;position:relative}.meal-ingredients li:before{content:"\2022";color:#10b981;font-weight:700;position:absolute;left:0;top:4px}.insulin-tip{background:rgba(99,102,241,.05);border:1px solid rgba(99,102,241,.2);border-radius:8px;padding:12px;margin-top:16px}.insulin-tip strong{color:#6366f1;font-size:.85rem;font-weight:600}.insulin-tip{color:#4338ca;font-size:.85rem;line-height:1.4}.important-notes{background:rgba(239,68,68,.05);border:2px solid rgba(239,68,68,.2);border-radius:16px;padding:32px}.important-notes h3{color:#dc2626;font-size:1.3rem;font-weight:600;margin:0 0 20px}.important-notes ul{list-style:none;padding:0;margin:0}.important-notes li{color:#7f1d1d;font-size:.95rem;line-height:1.6;padding:8px 0 8px 24px;position:relative}.important-notes li:before{content:"\26a0\fe0f";position:absolute;left:0;top:8px}.important-notes strong{color:#991b1b;font-weight:600}.disclaimer{background:rgba(99,102,241,.05);border:2px solid rgba(99,102,241,.2);border-radius:16px;padding:24px;text-align:center}.disclaimer p{color:#4338ca;font-size:.9rem;line-height:1.6;margin:0}.disclaimer strong{color:#3730a3;font-weight:600}.food-tagging-section{padding:clamp(20px,4vw,32px) clamp(20px,4vw,48px);background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-top:1px solid rgba(226,232,240,.8);border-bottom:1px solid rgba(226,232,240,.8);position:relative;animation:sectionSlideIn .5s cubic-bezier(.4,0,.2,1)}.food-tagging-section h3{color:#1e293b;font-size:clamp(1.1rem,2.5vw,1.3rem);font-weight:600;margin:0 0 16px;text-align:center}.tagging-description{color:#64748b;font-size:.95rem;line-height:1.5;text-align:center;max-width:600px;margin:0 auto 20px}.food-tags-input{width:100%;padding:16px 20px;border:2px solid #cbd5e1;border-radius:12px;font-family:inherit;font-size:.95rem;line-height:1.5;resize:vertical;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;background:rgba(255,255,255,.9);backdrop-filter:blur(10px)}.food-tags-input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 4px #f59e0b1a,0 8px 16px #f59e0b14;background:rgba(255,255,255,1);transform:translateY(-1px)}.food-tags-input::placeholder{color:#94a3b8;font-weight:400;line-height:1.4}.tagging-tips{margin-top:12px;padding:12px 16px;background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.2);border-radius:8px;font-size:.9rem;color:#92400e;border-left:4px solid #f59e0b}.tagging-tips strong{color:#d97706;font-weight:600}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:16px}.results-header h2{margin:0;flex:1}.save-controls{display:flex;align-items:center;gap:12px}.auto-save-status{display:flex;justify-content:center;margin-top:12px}.saving-indicator{display:flex;align-items:center;gap:8px;color:#dc2626;font-size:.9rem;font-weight:500}.mini-spinner{width:16px;height:16px;border:2px solid #f3f3f3;border-top:2px solid #dc2626;border-radius:50%;animation:spin 1s linear infinite}.save-success{color:#059669;font-size:.9rem;font-weight:600;text-align:center;background:#ecfdf5;padding:8px 16px;border-radius:8px;border:1px solid #bbf7d0;animation:slideInFromRight .5s cubic-bezier(.4,0,.2,1)}.save-error{color:#dc2626;font-size:.9rem;font-weight:500;text-align:center;background:#fef2f2;padding:8px 16px;border-radius:8px;border:1px solid #fecaca}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.logbook-section{padding:clamp(24px,4vw,40px) clamp(20px,4vw,48px);background:linear-gradient(135deg,#fefefe 0%,#f8fafc 100%);border-radius:20px;margin:clamp(20px,4vw,32px) 0;box-shadow:0 8px 32px #00000014;border:1px solid rgba(226,232,240,.8);animation:sectionSlideIn .6s cubic-bezier(.4,0,.2,1)}.logbook-header{text-align:center;margin-bottom:40px}.logbook-header h2{color:#1e293b;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;margin:0 0 24px;background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logbook-stats{display:flex;justify-content:center;gap:clamp(20px,4vw,40px);flex-wrap:wrap}.logbook-stats .stat{display:flex;flex-direction:column;align-items:center;padding:16px 20px;background:rgba(255,255,255,.8);border-radius:12px;box-shadow:0 4px 12px #0000000d;border:1px solid rgba(226,232,240,.6);min-width:100px}.logbook-stats .stat-number{font-size:2rem;font-weight:700;color:#dc2626;margin-bottom:4px}.logbook-stats .stat-label{font-size:.9rem;color:#64748b;font-weight:500}.empty-log{text-align:center;padding:60px 20px;background:rgba(248,250,252,.8);border-radius:16px;border:2px dashed #cbd5e1}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.6}.empty-log h3{color:#1e293b;font-size:1.5rem;margin:0 0 12px}.empty-log p{color:#64748b;font-size:1rem;max-width:500px;margin:0 auto 24px;line-height:1.6}.start-analyzing-btn{padding:16px 32px;background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 6px 20px #3b82f64d}.start-analyzing-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f666}.log-filters{display:flex;gap:12px;margin-bottom:32px;flex-wrap:wrap;justify-content:center}.filter-btn{padding:10px 16px;background:rgba(255,255,255,.8);border:2px solid #e2e8f0;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:#64748b}.filter-btn:hover{border-color:#dc2626;color:#dc2626;background:rgba(220,38,38,.05)}.filter-btn.active{background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);color:#fff;border-color:transparent}.filter-btn{position:relative;white-space:nowrap}.log-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.log-entry{background:rgba(255,255,255,.9);border-radius:16px;overflow:hidden;box-shadow:0 6px 20px #00000014;border:1px solid rgba(226,232,240,.6);transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px)}.log-entry:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f}.log-image{position:relative;height:200px;overflow:hidden}.log-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s cubic-bezier(.4,0,.2,1)}.log-entry:hover .log-image img{transform:scale(1.05)}.log-rating{position:absolute;top:12px;left:12px}.rating-badge{padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;backdrop-filter:blur(10px)}.rating-badge.good{background:rgba(16,185,129,.9);color:#fff}.rating-badge.moderate{background:rgba(245,158,11,.9);color:#fff}.rating-badge.poor{background:rgba(239,68,68,.9);color:#fff}.favorite-btn{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.9);border:none;border-radius:50%;width:36px;height:36px;cursor:pointer;font-size:1.2rem;backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1)}.favorite-btn:hover{background:rgba(255,255,255,1);transform:scale(1.1)}.favorite-btn.favorited{background:rgba(245,158,11,.9);color:#fff}.log-content{padding:20px}.log-foods{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.log-food-tag{padding:4px 10px;background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);color:#fff;border-radius:16px;font-size:.8rem;font-weight:500}.more-foods{padding:4px 10px;background:rgba(100,116,139,.1);color:#64748b;border-radius:16px;font-size:.8rem;font-weight:500}.log-tags{margin-bottom:12px;font-size:.9rem;color:#64748b;line-height:1.4}.tag-label{font-weight:600;color:#475569}.log-meta{display:flex;justify-content:space-between;margin-bottom:16px;font-size:.85rem;color:#94a3b8}.log-actions{display:flex;gap:8px}.view-analysis-btn{flex:1;padding:8px 12px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.view-analysis-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.delete-btn{padding:8px 12px;background:rgba(239,68,68,.1);color:#dc2626;border:1px solid rgba(239,68,68,.2);border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.delete-btn:hover{background:rgba(239,68,68,.9);color:#fff;border-color:transparent}@media (max-width: 768px){.results-header{flex-direction:column;align-items:stretch;text-align:center}.logbook-stats{gap:16px}.logbook-stats .stat{min-width:80px;padding:12px 16px}.logbook-stats .stat-number{font-size:1.6rem}.log-grid{grid-template-columns:1fr;gap:20px}.log-filters{flex-direction:column;align-items:center}.filter-btn{width:100%;max-width:200px}}@media (max-width: 480px){.save-to-log-btn{padding:10px 16px;font-size:.9rem;min-width:120px}.logbook-stats{flex-direction:column;align-items:center}.logbook-stats .stat{width:100%;max-width:120px}.log-entry{border-radius:12px}.log-image{height:160px}.log-content{padding:16px}}.question-section{padding:clamp(24px,4vw,40px) clamp(20px,4vw,48px);background:linear-gradient(135deg,#fefefe 0%,#f8fafc 100%);border-top:1px solid rgba(226,232,240,.8);position:relative;animation:sectionSlideIn .5s cubic-bezier(.4,0,.2,1)}@keyframes sectionSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.question-section:before{content:"";position:absolute;top:0;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent)}.question-section h3{margin:0 0 20px;color:#1e293b;font-size:1.15rem;font-weight:600;position:relative;padding-left:20px}.question-section h3:before{content:"\1f4ac";position:absolute;left:0;font-size:1rem}.question-input{width:100%;padding:20px;border:2px solid #e2e8f0;border-radius:16px;font-family:inherit;font-size:.95rem;line-height:1.5;resize:vertical;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;background:rgba(255,255,255,.8);backdrop-filter:blur(10px)}.question-input:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 4px #dc26261a,0 8px 16px #dc262614;background:rgba(255,255,255,1);transform:translateY(-1px)}.question-input::placeholder{color:#94a3b8;font-weight:400}.character-count{text-align:right;font-size:.8rem;color:#64748b;margin:8px 0 20px;font-weight:500}.analyze-btn-main{width:100%;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:16px;padding:18px 24px;font-size:1.1rem;font-weight:600;cursor:pointer;box-shadow:0 8px 25px #10b98140;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.analyze-btn-main:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.analyze-btn-main:hover{transform:translateY(-3px);box-shadow:0 12px 32px #10b98159}.analyze-btn-main:hover:before{left:100%}.analyze-btn-main:active{transform:translateY(-1px)}.error-section{padding:20px;text-align:center;border-top:1px solid #eee}.error-message{color:#d32f2f;background:#ffebee;padding:15px;border-radius:10px;margin:0;font-weight:500;border-left:4px solid #d32f2f}.loading-section{padding:48px 24px;text-align:center;background:linear-gradient(135deg,#fefefe 0%,#f8fafc 100%);border-top:1px solid rgba(226,232,240,.8);position:relative;overflow:hidden}.loading-section:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.05),transparent);animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.spinner{width:60px;height:60px;margin:0 auto 24px;position:relative}.spinner:before,.spinner:after{content:"";position:absolute;border-radius:50%;animation:spinnerPulse 2s ease-in-out infinite}.spinner:before{width:60px;height:60px;border:3px solid rgba(59,130,246,.2);animation:spinnerRotate 2s linear infinite}.spinner:after{width:40px;height:40px;top:10px;left:10px;border:3px solid transparent;border-top-color:#3b82f6;border-right-color:#8b5cf6;animation:spinnerRotate 1s linear infinite reverse}@keyframes spinnerRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinnerPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}}.loading-section p{color:#475569;font-weight:600;margin:0;font-size:1.1rem;background:linear-gradient(135deg,#1e293b 0%,#475569 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loading-detail{font-size:.9rem;color:#64748b;margin-top:12px!important;font-weight:400;opacity:.8;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:.4}}.recommendations-section{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);padding:clamp(28px,5vw,48px) clamp(20px,4vw,48px);border-top:1px solid rgba(226,232,240,.8);animation:resultsAppear .6s cubic-bezier(.4,0,.2,1)}@keyframes resultsAppear{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.recommendations-section h2{background:linear-gradient(135deg,#1e293b 0%,#475569 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 32px;font-size:1.5rem;text-align:center;font-weight:700;position:relative}.recommendations-section h2:after{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:2px}.recommendations-section h3{color:#1e293b;margin:0 0 16px;font-size:1.15rem;font-weight:600;position:relative;padding-left:24px}.food-items h3:before{content:"\1f37d\fe0f";position:absolute;left:0;font-size:1rem}.diabetic-rating h3:before{content:"\1f4ca";position:absolute;left:0;font-size:1rem}.recommendations h3:before{content:"\1f4a1";position:absolute;left:0;font-size:1rem}.glucose-impact h3:before{content:"\1f4ca";position:absolute;left:0;font-size:1rem}.nutritional-info h3:before{content:"\1f52c";position:absolute;left:0;font-size:1rem}.user-question-response h3:before{content:"\1f4ac";position:absolute;left:0;font-size:1rem}.explanation h3:before{content:"\1f9e0";position:absolute;left:0;font-size:1rem}.food-items{margin-bottom:28px;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);padding:20px;border-radius:16px;border:1px solid rgba(255,255,255,.8)}.food-list{display:flex;flex-wrap:wrap;gap:10px}.food-tag{background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);color:#fff;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:500;box-shadow:0 4px 12px #dc262633;transition:transform .2s ease}.food-tag:hover{transform:translateY(-1px)}.diabetic-rating{margin-bottom:28px;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);padding:20px;border-radius:16px;border:1px solid rgba(255,255,255,.8)}.rating-display{text-align:center}.rating-score{display:inline-block;padding:12px 24px;border-radius:20px;font-size:1.3rem;font-weight:700;color:#fff;box-shadow:0 8px 20px #00000026;position:relative;overflow:hidden}.rating-score:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.rating-score:hover:before{left:100%}.rating-score.good{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.rating-score.moderate{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.rating-score.poor{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.rating-breakdown{margin-top:24px;padding:20px;background:rgba(255,255,255,.5);border-radius:12px;border:1px solid rgba(255,255,255,.8)}.rating-breakdown h4{margin:0 0 20px;color:#1e293b;font-size:1rem;font-weight:600}.breakdown-grid{display:grid;gap:16px}.breakdown-item{background:rgba(255,255,255,.8);padding:16px;border-radius:10px;border:1px solid rgba(226,232,240,.5);transition:all .3s ease}.breakdown-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.breakdown-label{font-weight:600;color:#374151;font-size:.9rem}.breakdown-score{font-weight:700;color:#1f2937;font-size:.9rem}.breakdown-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;position:relative}.breakdown-fill{height:100%;border-radius:4px;transition:width .6s ease;position:relative}.breakdown-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s ease-in-out infinite}.breakdown-fill.carbs{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.breakdown-fill.sugar{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.breakdown-fill.fiber{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.breakdown-fill.protein{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.breakdown-fill.processing{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%)}.breakdown-fill.portion{background:linear-gradient(135deg,#06b6d4 0%,#0891b2 100%)}.breakdown-explanation{margin-top:16px;padding:16px;background:rgba(59,130,246,.05);border-radius:8px;border-left:3px solid #3b82f6}.breakdown-explanation h5{margin:0 0 8px;color:#1e293b;font-size:.95rem;font-weight:600}.breakdown-explanation p{margin:0;color:#374151;font-size:.9rem;line-height:1.5;font-style:italic}.breakdown-explanation-text{margin-top:12px;padding:12px;background:rgba(248,250,252,.8);border-radius:8px;border-left:3px solid currentColor;font-size:.85rem;line-height:1.4;color:#475569}.recommendations{margin-bottom:28px;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);padding:20px;border-radius:16px;border:1px solid rgba(255,255,255,.8)}.recommendations ul{margin:0;padding:0;list-style:none}.recommendations li{margin-bottom:12px;color:#374151;line-height:1.6;padding:12px 16px;background:rgba(16,185,129,.05);border-radius:12px;border-left:4px solid #10b981;font-weight:500;position:relative;transition:transform .2s ease}.recommendations li:hover{transform:translate(4px)}.recommendations li:before{content:"\2713";position:absolute;left:-12px;top:50%;transform:translateY(-50%);background:#10b981;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.explanation{background:rgba(255,255,255,.7);backdrop-filter:blur(10px);padding:24px;border-radius:16px;border:1px solid rgba(255,255,255,.8);border-left:4px solid #3b82f6;margin-bottom:28px}.explanation p{margin:0;color:#374151;line-height:1.7;font-weight:400}.glucose-impact{margin-bottom:28px;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);padding:24px;border-radius:16px;border:1px solid rgba(255,255,255,.8);border-left:4px solid #dc2626}.glucose-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.glucose-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:rgba(255,255,255,.8);border-radius:12px;border:1px solid rgba(220,38,38,.2);transition:all .3s ease;position:relative;overflow:hidden}.glucose-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%)}.glucose-item.spike:before{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%)}.glucose-item.peak:before{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.glucose-item.duration:before{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.glucose-item.pattern:before{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%)}.glucose-item:hover{transform:translateY(-2px);box-shadow:0 8px 16px #dc262626}.glucose-label{font-weight:600;color:#374151;font-size:.9rem}.glucose-value{font-weight:600;color:#1f2937;font-size:.9rem;background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nutritional-info{margin-bottom:28px;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);padding:24px;border-radius:16px;border:1px solid rgba(255,255,255,.8);border-left:4px solid #f59e0b}.nutrition-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.nutrition-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:rgba(255,255,255,.8);border-radius:12px;border:1px solid rgba(249,168,37,.2);transition:all .3s ease;position:relative;overflow:hidden}.nutrition-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.nutrition-item:hover{transform:translateY(-2px);box-shadow:0 8px 16px #f59e0b26}.nutrition-label{font-weight:600;color:#374151;font-size:.9rem}.nutrition-value{font-weight:600;color:#1f2937;font-size:.9rem;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.menu-recommendations{margin-bottom:28px;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);padding:24px;border-radius:16px;border:1px solid rgba(255,255,255,.8);border-left:4px solid #059669}.menu-recommendations h4{color:#1e293b;margin:0 0 20px;font-size:1.1rem;font-weight:600}.menu-items-grid{display:grid;gap:16px;margin-bottom:24px}.menu-item{background:rgba(255,255,255,.8);padding:20px;border-radius:12px;border:1px solid rgba(226,232,240,.8);transition:all .3s ease;position:relative}.menu-item.best{border-left:4px solid #10b981}.menu-item.avoid{border-left:4px solid #ef4444}.menu-item:hover{transform:translateY(-2px);box-shadow:0 8px 16px #00000014}.menu-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.menu-item h5{margin:0;color:#1e293b;font-size:1rem;font-weight:600}.menu-rating{padding:4px 8px;border-radius:8px;font-size:.8rem;font-weight:700;color:#fff}.menu-rating.good{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.menu-rating.moderate{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.menu-rating.poor{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.menu-reason{color:#374151;font-size:.9rem;line-height:1.5;margin:0 0 12px}.glucose-impact-text{color:#6366f1;font-size:.85rem;margin:0 0 12px;padding:8px 12px;background:rgba(99,102,241,.05);border-radius:8px;border-left:3px solid #6366f1}.modifications{margin-top:12px}.modifications strong{color:#1e293b;font-size:.9rem}.modifications ul{margin:8px 0 0;padding-left:16px}.modifications li{color:#374151;font-size:.85rem;line-height:1.4;margin-bottom:4px}.general-modifications{margin-top:24px}.modifications-list{list-style:none;padding:0;margin:0}.modifications-list li{padding:12px 16px;margin-bottom:8px;background:rgba(16,185,129,.05);border-radius:8px;border-left:3px solid #10b981;color:#374151;font-size:.9rem;line-height:1.5;position:relative}.modifications-list li:before{content:"\1f527";position:absolute;left:-12px;top:50%;transform:translateY(-50%);background:#10b981;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem}.user-question-response{margin-bottom:28px;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);padding:24px;border-radius:16px;border:1px solid rgba(255,255,255,.8);border-left:4px solid #3b82f6}.question-display{margin-top:20px}.user-question{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);padding:16px 20px;border-radius:12px;margin:0 0 20px;font-style:italic;color:#1e40af;border-left:4px solid #3b82f6;font-weight:500;position:relative;box-shadow:0 4px 8px #3b82f61a}.user-question:before{content:'"';position:absolute;left:8px;top:4px;font-size:1.5rem;color:#3b82f6;font-weight:700}.user-question:after{content:'"';position:absolute;right:8px;bottom:4px;font-size:1.5rem;color:#3b82f6;font-weight:700}.ai-response{margin:0;color:#374151;line-height:1.7;font-weight:400;padding:16px;background:rgba(255,255,255,.5);border-radius:12px;border-left:4px solid #10b981}.disclaimer{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px solid rgba(245,158,11,.3);border-radius:16px;padding:20px;margin-top:24px;position:relative;box-shadow:0 4px 12px #f59e0b1a}.disclaimer:before{content:"\26a0\fe0f";position:absolute;top:16px;left:16px;font-size:1.2rem}.disclaimer p{margin:0;color:#92400e;font-size:.9rem;line-height:1.6;font-weight:500;padding-left:32px}.error-section{padding:24px;text-align:center;background:linear-gradient(135deg,#fefefe 0%,#f8fafc 100%);border-top:1px solid rgba(226,232,240,.8)}.error-message{color:#dc2626;background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);padding:20px;border-radius:16px;margin:0;font-weight:500;border:1px solid rgba(220,38,38,.2);border-left:4px solid #dc2626;box-shadow:0 4px 12px #dc26261a}@media (min-width: 1440px){.container{max-width:1000px}.photo-section{padding:0 48px 48px}.captured-image{height:440px}.question-section{padding:40px 48px}.recommendations-section{padding:48px}.breakdown-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.glucose-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.nutrition-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}}@media (min-width: 1024px) and (max-width: 1439px){.container{max-width:800px}.photo-section{padding:0 40px 40px}.captured-image{height:400px}.question-section{padding:36px 40px}.recommendations-section{padding:40px}.breakdown-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.glucose-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.nutrition-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}}@media (min-width: 769px) and (max-width: 1023px){.container{max-width:680px}.photo-section{padding:0 32px 32px}.captured-image{height:360px}.question-section{padding:32px}.recommendations-section{padding:36px 32px}.breakdown-grid{grid-template-columns:1fr;gap:16px}.glucose-grid,.nutrition-grid{grid-template-columns:1fr 1fr;gap:18px}}@media (max-width: 768px){.container{max-width:100%;border-radius:20px;margin-top:8px}.breakdown-grid{grid-template-columns:1fr;gap:14px}.glucose-grid,.nutrition-grid{grid-template-columns:1fr;gap:12px}.instructions{padding:16px;margin:16px 0}.step{gap:10px;padding:6px 0}.step-number{width:20px;height:20px;font-size:.7rem}.step-text{font-size:.85rem}.app-header{flex-direction:column;gap:16px;text-align:center}.user-section{align-items:center}.user-info{text-align:center}.recommendations li:before{display:none}.recommendations li{padding-left:12px}}@media (max-width: 768px){.stat-card{min-width:200px}.meal-grid{grid-template-columns:1fr}.meal-macros{justify-content:center}.subcategory{padding:20px}.important-notes{padding:24px}.important-notes li{font-size:.9rem}.category-title{font-size:1.5rem}.subcategory h4{font-size:1.2rem}}@media (max-width: 480px){.container{border-radius:16px}.meal-macros span{font-size:.75rem;padding:4px 8px}.stat-card{min-width:160px;padding:20px}.stat-number{font-size:1.5rem}}.analyze-btn-photo{width:100%;background:linear-gradient(135deg,#4CAF50 0%,#45a049 100%);color:#fff;border:none;padding:16px 24px;border-radius:15px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #4caf504d;margin-top:15px}.analyze-btn-photo:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.blood-sugar-ratings{margin-bottom:25px;background:#f8f9fa;border-radius:15px;padding:20px;border-left:4px solid #dc2626}.blood-sugar-ratings h3{margin:0 0 20px;color:#333;text-align:center}.sugar-rating-section,.macro-rating-section,.overall-rating-section{background:white;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.sugar-rating-section h4{color:#e91e63;margin:0 0 12px;font-size:1rem;font-weight:600}.macro-rating-section h4{color:#4caf50;margin:0 0 12px;font-size:1rem;font-weight:600}.overall-rating-section h4{color:#2196f3;margin:0 0 12px;font-size:1rem;font-weight:600}.rating-explanation{margin-top:12px;padding:12px;background:#f5f5f5;border-radius:8px;font-size:.9rem;line-height:1.5;color:#555}.rating-score.excellent{background:linear-gradient(135deg,#4CAF50 0%,#8BC34A 100%)}.rating-score.good{background:linear-gradient(135deg,#8BC34A 0%,#CDDC39 100%)}.rating-score.moderate{background:linear-gradient(135deg,#FF9800 0%,#FFC107 100%)}.rating-score.poor{background:linear-gradient(135deg,#F44336 0%,#FF5722 100%)}.nutrition-item.sweeteners{background:#e8f5e8;border:1px solid #4caf50;border-radius:8px;padding:12px;margin-bottom:8px}.nutrition-item.sweeteners .nutrition-label{color:#2e7d32;font-weight:600}.nutrition-value.good{color:#4caf50;font-weight:600}.empty-filter{text-align:center;padding:60px 20px;color:#64748b}.empty-filter .empty-icon{font-size:4rem;margin-bottom:20px;opacity:.6}.empty-filter h3{color:#374151;margin:0 0 12px;font-size:1.2rem}.empty-filter p{margin:0 0 24px;font-size:.95rem}.clear-filter-btn{background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.clear-filter-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}
