:root{--primary-blue:#4a5d7a;--secondary-amber:#d97706;--accent-gray:#c8d1d3;--deep-slate:#1a202c;--soft-bg:#f7fafc;--card-bg:#ffffffd9;--glass-border:#fff6;--text-primary:#1a202c;--text-secondary:#4a5d7a;--shadow-sm:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--radius:24px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--soft-bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0 0,#4a5d7a0d 0,#0000 50%),radial-gradient(at 100% 100%,#f8d0820d 0,#0000 50%);min-height:100vh;font-family:Outfit,sans-serif}#root{flex-direction:column;align-items:center;padding:2rem 1rem;display:flex}.container{flex-direction:column;gap:2rem;width:100%;max-width:1000px;display:flex}.glass-card{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:2rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.glass-card:hover{transform:translateY(-4px)}.profile-header{align-items:center;gap:2rem;padding:1rem;display:flex}.profile-img-container{width:180px;height:180px;box-shadow:var(--shadow-lg);border:6px solid #fff;border-radius:50%;flex-shrink:0;overflow:hidden}.profile-img-container img{object-fit:cover;width:100%;height:100%}.profile-info h1{color:var(--primary-blue);font-size:3.5rem;font-weight:800;line-height:1}.profile-info p{color:var(--text-secondary);margin-top:.5rem;font-size:1.25rem;font-weight:500}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.stat-card{flex-direction:column;gap:.5rem;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);opacity:.8;font-size:.9rem;font-weight:700}.stat-value{color:var(--primary-blue);font-size:2.5rem;font-weight:800}.stat-unit{color:var(--text-secondary);font-size:1rem;font-weight:500}.form-group{flex-direction:column;gap:1rem;display:flex}.input-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}input{border:2px solid var(--accent-gray);background:#ffffff80;border-radius:12px;padding:.8rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}input:focus{border-color:var(--primary-blue);background:#fff;outline:none}.btn-primary{background:var(--primary-blue);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:1rem;font-size:1rem;font-weight:700;transition:all .3s;box-shadow:0 4px 12px #4a5d7a4d}.btn-primary:hover{background:var(--deep-slate);transform:scale(1.02)}.status-pill{border-radius:100px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:700;display:inline-flex}.status-optimal{color:#1b7a32;background:#e1f5e6}.status-heavy{color:#b76200;background:#fff4e5}.status-under{color:#00689b;background:#ebf8ff}.streak-pill{color:#92400e;background:linear-gradient(135deg,#fff3cd,#ffe082);border:1px solid #f59e0b33;font-weight:800;box-shadow:0 2px 8px #f59e0b26}.grid-span-all{grid-column:1/-1}.schedule-grid{flex-direction:column;gap:1.5rem;display:flex}.time-block{border:1px solid #4a5d7a14;border-left:4px solid var(--primary-blue);background:linear-gradient(135deg,#fff 0%,#f0f4ff 100%);border-radius:18px;grid-template-columns:100px 1fr;align-items:center;gap:2rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:grid;box-shadow:0 4px 15px #00000008}.time-block:hover{transform:translate(4px);box-shadow:0 8px 25px #0000000f}.time-tag{color:var(--primary-blue);font-size:1.1rem;font-weight:800}.meal-inputs-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.history-list{flex-direction:column;gap:1.2rem;display:flex}.history-row{background:#fff;border:1px solid #4a5d7a0f;border-radius:20px;align-items:center;gap:1.5rem;padding:1.2rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 12px #00000005}.history-row:hover{border-color:#4a5d7a1f;transform:translateY(-2px)scale(1.01);box-shadow:0 12px 30px #0000000f}.history-date-badge{min-width:64px;height:64px;color:var(--primary-blue);background:#f0f4ff;border:1px solid #3b82f614;border-radius:14px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex}.history-date-day{font-size:1.4rem;font-weight:800;line-height:1}.history-date-month{text-transform:uppercase;opacity:.8;margin-top:4px;font-size:.7rem;font-weight:700}.history-main-info{flex:1}.history-kcal-summary{flex-direction:column;gap:.2rem;display:flex}.history-kcal-text{color:var(--primary-blue);font-size:1rem;font-weight:800}.history-kcal-bar-bg{background:#00000008;border-radius:3px;width:100%;max-width:200px;height:5px;margin:4px 0;overflow:hidden}.history-kcal-bar-fill{border-radius:3px;height:100%;transition:width 1s ease-out}.history-breakdown{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.history-tag{color:var(--text-secondary);background:#00000008;border:1px solid #00000005;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:.7rem;font-weight:700;display:flex}.history-stats{align-items:center;gap:2rem;display:flex}.history-stat{text-align:right}.history-weight-value{color:var(--primary-blue);font-size:1.25rem;font-weight:800;display:block}.history-weight-label{text-transform:uppercase;color:var(--text-secondary);opacity:.5;letter-spacing:.05em;font-size:.65rem;font-weight:700}.btn-delete{color:#ef4444;cursor:pointer;background:#ef44441a;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.btn-delete:hover{color:#fff;background:#ef4444;transform:scale(1.1);box-shadow:0 4px 12px #ef444433}.btn-copy-yesterday{color:var(--primary-blue);cursor:pointer;background:linear-gradient(135deg,#f0f4ff,#e8eeff);border:1.5px dashed #4a5d7a4d;border-radius:12px;align-items:center;gap:.5rem;padding:.65rem 1.2rem;font-family:inherit;font-size:.85rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-copy-yesterday:hover{background:var(--primary-blue);color:#fff;border-color:#0000;transform:translateY(-2px);box-shadow:0 6px 16px #4a5d7a40}.notes-textarea{border:2px solid var(--accent-gray);resize:vertical;color:var(--text-primary);box-sizing:border-box;background:#ffffff80;border-radius:12px;width:100%;min-height:60px;padding:.8rem 1rem;font-family:inherit;font-size:.9rem;transition:all .2s}.notes-textarea:focus{border-color:var(--primary-blue);background:#fff;outline:none}.water-notes-block{background:linear-gradient(135deg,#fff 0%,#eff6ff 100%)!important;border-left-color:#60a5fa!important}.history-notes{color:var(--text-secondary);background:#00000006;border-left:3px solid #4a5d7a33;border-radius:8px;margin-top:8px;padding:6px 10px;font-size:.78rem;font-style:italic;line-height:1.4}.weekly-summary-card{background:linear-gradient(135deg,#fff 0%,#f5f3ff 100%)!important}.weekly-summary-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-top:1rem;display:grid}.weekly-stat{text-align:center;background:#fff;border:1px solid #4a5d7a0f;border-radius:16px;flex-direction:column;align-items:center;gap:.4rem;padding:1rem;transition:transform .25s;display:flex;box-shadow:0 2px 8px #0000000a}.weekly-stat:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000012}.weekly-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);opacity:.7;font-size:.65rem;font-weight:700}.weekly-stat-value{color:var(--primary-blue);font-size:1.5rem;font-weight:800;line-height:1}.weekly-stat-value small{opacity:.7;margin:0;font-size:.7rem;font-weight:500;display:inline}@keyframes milestoneIn{0%{opacity:0;transform:translateY(-30px)scale(.9)}60%{transform:translateY(4px)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes milestoneOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-20px)scale(.95)}}.milestone-banner{color:#92400e;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid #f59e0b4d;border-radius:20px;align-items:center;gap:1rem;padding:1rem 1.5rem;font-size:1rem;font-weight:700;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards milestoneIn;display:flex;box-shadow:0 8px 30px #f59e0b33}.milestone-emoji{font-size:2rem;animation:1.5s ease-in-out infinite spinPulse}small{opacity:.6;margin-bottom:2px;font-weight:400;display:block}select{cursor:pointer;background:#ffffff80;font-family:inherit;font-size:1rem}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.6s cubic-bezier(.23,1,.32,1) forwards fadeInSlide}@keyframes spinPulse{0%{opacity:.8;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(180deg)}to{opacity:.8;transform:scale(1)rotate(360deg)}}.loader-container{background-color:var(--soft-bg);z-index:9999;background-image:radial-gradient(at 0 0,#4a5d7a0d 0,#0000 50%),radial-gradient(at 100% 100%,#d977060d 0,#0000 50%);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.loader-icon{font-size:4rem;animation:1.5s cubic-bezier(.4,0,.2,1) infinite spinPulse}.loader-text{color:var(--primary-blue);letter-spacing:2px;text-transform:uppercase;font-size:1.5rem;font-weight:800;animation:1.5s ease-in-out infinite pulseOpacity}@keyframes pulseOpacity{0%,to{opacity:.5}50%{opacity:1}}.snack-counter{background:#ffffff80;border:1px solid #ffffff80;border-radius:20px;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;transition:all .3s;display:flex}.snack-counter:hover{box-shadow:var(--shadow-sm);background:#fff;transform:translateY(-2px)}.snack-counter .stat-label{opacity:.9;font-size:.8rem}.stepper{background:#0000000a;border-radius:100px;align-items:center;gap:.25rem;padding:4px;display:flex}.stepper button{width:36px;height:36px;color:var(--primary-blue);cursor:pointer;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;line-height:1;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 5px #0000001a}.stepper button:hover{background:var(--primary-blue);color:#fff;transform:scale(1.1)}.stepper button:active{transform:scale(.95)}.stepper span{text-align:center;min-width:44px;color:var(--primary-blue);-webkit-user-select:none;user-select:none;font-size:1.25rem;font-weight:800}.snack-background{border-left-color:var(--secondary-amber)!important;background:linear-gradient(135deg,#fff 0%,#fff8e7 100%)!important}.snack-grid-layout{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.next-step-card{border:1px solid #4a5d7a14;border-left:5px solid var(--primary-blue);background:#fff;border-radius:18px;align-items:center;gap:1rem;width:100%;margin-top:1.2rem;padding:1rem 1.2rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 20px #0000000a}.next-step-card:hover{background:linear-gradient(90deg,#fff,#fcfdff);transform:translateY(-2px);box-shadow:0 8px 25px #00000012}.next-step-icon-badge{background:#f0f4ff;border:1px solid #3b82f61a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.4rem;display:flex;box-shadow:inset 0 2px 4px #00000008}.next-step-content{flex:1}.next-step-title{color:var(--primary-blue);align-items:center;gap:.5rem;margin-bottom:.15rem;font-size:.85rem;font-weight:800;display:flex}.next-step-subtitle{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.next-step-value{color:var(--primary-blue);background:#3b82f60d;border-radius:4px;padding:.1rem .4rem;font-weight:700}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}}@media (width<=768px){#root{padding:1rem .5rem}.container{gap:1.5rem}.dashboard-grid{grid-template-columns:1fr;gap:1rem}.nutrition-chart{margin:1rem auto 0}.glass-card{padding:1.5rem}.profile-header{text-align:center;flex-direction:column;gap:1.5rem;padding:2rem 1rem}.profile-img-container{width:140px;height:140px}.profile-info h1{font-size:2.5rem}.status-container{justify-content:center}.stat-value{font-size:2rem}.time-block{grid-template-columns:1fr;gap:1rem;padding:1rem}.time-tag{text-align:center;border-bottom:1px solid #0000000d;padding-bottom:.5rem}.meal-inputs-grid{grid-template-columns:1fr}.history-row{flex-direction:column;align-items:stretch;gap:1.2rem;padding:1rem}.history-date-badge{align-self:flex-start}.history-kcal-bar-bg{max-width:100%}.history-stats{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;width:100%;margin-top:.5rem}.history-stat{background:#00000008;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:.6rem 1rem}.history-actions{align-items:center;gap:8px;display:flex}.btn-delete{margin-left:0}.input-row{grid-template-columns:1fr}.form-header-stats{text-align:left;width:100%}.weekly-summary-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=480px){.profile-info h1{font-size:2rem}.stat-value{font-size:1.75rem}.glass-card{padding:1rem}.status-pill{padding:.4rem .8rem;font-size:.8rem}}.user-bar{background:#ffffffbf;border:1px solid #fff9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:-.75rem;padding:.85rem 1.5rem;display:flex}.user-bar-left{align-items:center;gap:.75rem;display:flex}.user-status-logged-in{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.user-avatar-badge{background:#4a5d7a1f;border-radius:50%;padding:.35rem .6rem;font-size:1.1rem}.user-avatar-badge-guest{background:#d977061f;border-radius:50%;padding:.35rem .6rem;font-size:1.1rem}.user-email-text{color:var(--primary-blue);font-size:.95rem;font-weight:700}.user-badge-d1{color:#059669;letter-spacing:.02em;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:20px;align-items:center;gap:6px;padding:.25rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.status-dot-pulse{background-color:#10b981;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-green;box-shadow:0 0 #10b98166}@keyframes pulse-green{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}.user-status-guest{flex-direction:column;gap:2px;display:flex}.user-guest-text{color:var(--text-primary);font-size:.9rem;font-weight:700}.user-guest-subtext{color:var(--text-secondary);font-size:.75rem}.user-bar-right{align-items:center;gap:.75rem;display:flex}.user-sync-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;padding:.45rem .9rem;font-size:.8rem;font-weight:700;transition:all .2s;box-shadow:0 2px 6px #10b9814d}.user-sync-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px #10b98166}.user-auth-action-btn{cursor:pointer;border-radius:14px;padding:.5rem 1.1rem;font-family:inherit;font-size:.85rem;font-weight:700;transition:all .2s}.user-auth-action-btn.login{background:linear-gradient(135deg, var(--primary-blue), #324158);color:#fff;border:none;box-shadow:0 3px 8px #4a5d7a40}.user-auth-action-btn.login:hover{transform:translateY(-2px);box-shadow:0 5px 12px #4a5d7a59}.user-auth-action-btn.logout{color:#dc2626;background:#ef444414;border:1px solid #ef444433}.user-auth-action-btn.logout:hover{color:#b91c1c;background:#fee2e2}.auth-gate-container{justify-content:center;align-items:center;width:100%;min-height:80vh;display:flex}.auth-modal-overlay{-webkit-backdrop-filter:blur(10px);z-index:9999;background:#0f172aa6;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;top:0;left:0}.auth-modal-overlay.auth-gate-mode{background:radial-gradient(circle at 50% 30%,#4a5d7a26,#0f172abf)}.auth-modal-card{background:#fffffff2;border:1px solid #fffc;border-radius:24px;width:100%;max-width:440px;padding:2.2rem;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;position:relative;box-shadow:0 20px 40px #0003}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-close-btn{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);background:#0000000d;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;transition:all .2s;display:flex;position:absolute;top:1.2rem;right:1.2rem}.auth-close-btn:hover{color:var(--text-primary);background:#0000001a}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-icon-badge{margin-bottom:.5rem;font-size:2.2rem}.auth-title{color:var(--primary-blue);margin-bottom:.4rem;font-size:1.5rem;font-weight:800}.auth-subtitle{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.auth-tab-buttons{background:#0000000d;border-radius:14px;grid-template-columns:1fr 1fr;margin-bottom:1.5rem;padding:4px;display:grid}.auth-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:.6rem;font-family:inherit;font-size:.9rem;font-weight:700;transition:all .2s}.auth-tab-btn.active{color:var(--primary-blue);background:#fff;box-shadow:0 2px 6px #00000014}.auth-error-banner{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-bottom:1.2rem;padding:.75rem 1rem;font-size:.85rem;font-weight:600}.auth-form{flex-direction:column;gap:1.1rem;display:flex}.auth-form-group{text-align:left;flex-direction:column;gap:.4rem;display:flex}.auth-form-group label{color:var(--text-primary);font-size:.85rem;font-weight:700}.auth-input{width:100%;color:var(--text-primary);background:#fff;border:1.5px solid #4a5d7a33;border-radius:12px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.auth-input:focus{border-color:var(--primary-blue);outline:none;box-shadow:0 0 0 3px #4a5d7a26}.auth-submit-btn{background:linear-gradient(135deg, var(--primary-blue), #324158);color:#fff;cursor:pointer;border:none;border-radius:14px;margin-top:.5rem;padding:.85rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:800;transition:all .2s;box-shadow:0 4px 12px #4a5d7a4d}.auth-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #4a5d7a66}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-footer-note{text-align:center;color:var(--text-secondary);opacity:.85;margin-top:1.4rem;font-size:.75rem}.live-coach-card{background:linear-gradient(135deg,#fffffff2,#f0f9ffe6);border:1.5px solid #4a5d7a26;flex-direction:column;gap:1rem;padding:1.4rem 1.8rem;display:flex;box-shadow:0 10px 25px #4a5d7a14}.coach-card-header{align-items:center;gap:1.2rem;display:flex}.coach-avatar-wrapper{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:54px;display:flex;position:relative;box-shadow:0 4px 12px #6366f133}.coach-avatar-icon{font-size:1.8rem}.coach-live-dot{background:#10b981;border:2px solid #fff;border-radius:50%;width:12px;height:12px;animation:2s infinite pulse-green;position:absolute;bottom:-2px;right:-2px}.coach-header-text{flex:1}.coach-badge-row{align-items:center;gap:.6rem;margin-bottom:.3rem;display:flex}.coach-title{color:var(--primary-blue);font-size:1.1rem;font-weight:800}.coach-status-pill{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:20px;padding:.2rem .6rem;font-size:.72rem;font-weight:700}.coach-insight-text{color:var(--text-primary);margin:0;font-size:.95rem;line-height:1.4}.coach-card-footer{border-top:1px solid #4a5d7a14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.75rem;display:flex}.coach-feeding-mode{color:var(--text-secondary);font-size:.85rem}.coach-open-chat-btn{background:linear-gradient(135deg, var(--primary-blue), #324158);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:.55rem 1.2rem;font-family:inherit;font-size:.85rem;font-weight:700;transition:all .2s;box-shadow:0 3px 8px #4a5d7a40}.coach-open-chat-btn:hover{transform:translateY(-2px);box-shadow:0 6px 14px #4a5d7a59}.floating-coach-trigger{background:linear-gradient(135deg, var(--primary-blue), #1e293b);color:#fff;cursor:pointer;z-index:8000;border:2px solid #fffc;border-radius:30px;align-items:center;gap:.6rem;padding:.75rem 1.3rem;font-family:inherit;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 8px 24px #0f172a4d}.floating-coach-trigger:hover{transform:translateY(-4px)scale(1.03);box-shadow:0 12px 30px #0f172a66}.floating-coach-icon{font-size:1.3rem}.floating-coach-label{font-size:.9rem;font-weight:800}.floating-coach-pulse{background:#10b981;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-green;box-shadow:0 0 #10b98199}.coach-chat-overlay{-webkit-backdrop-filter:blur(6px);z-index:9000;background:#0f172a80;justify-content:flex-end;align-items:flex-end;width:100vw;height:100vh;padding:1.5rem;animation:.2s fadeIn;display:flex;position:fixed;top:0;left:0}.coach-chat-modal{background:#fffffff5;border:1px solid #fffc;border-radius:24px;flex-direction:column;width:100%;max-width:440px;height:600px;max-height:85vh;padding:0;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000040}.coach-chat-header{background:linear-gradient(135deg, var(--primary-blue), #324158);color:#fff;justify-content:space-between;align-items:center;padding:1.2rem 1.4rem;display:flex}.coach-chat-header-info{align-items:center;gap:.75rem;display:flex}.coach-chat-avatar{background:#fff3;border-radius:12px;padding:.3rem .5rem;font-size:1.8rem}.coach-chat-name{margin:0;font-size:1.1rem;font-weight:800}.coach-chat-sub{opacity:.85;font-size:.75rem}.coach-chat-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;transition:all .2s;display:flex}.coach-chat-close:hover{background:#ffffff4d}.coach-quick-questions{scrollbar-width:thin;background:#00000005;border-bottom:1px solid #0000000f;gap:.4rem;padding:.75rem 1rem;display:flex;overflow-x:auto}.coach-quick-btn{color:var(--primary-blue);white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #4a5d7a2e;border-radius:16px;padding:.35rem .75rem;font-size:.75rem;font-weight:700;transition:all .15s}.coach-quick-btn:hover{background:var(--primary-blue);color:#fff}.coach-messages-container{flex-direction:column;flex:1;gap:.75rem;padding:1rem 1.2rem;display:flex;overflow-y:auto}.coach-message-bubble{border-radius:16px;max-width:82%;padding:.75rem 1rem;font-size:.9rem;line-height:1.4;animation:.2s fadeIn;position:relative}.coach-message-bubble.coach-msg{color:var(--text-primary);background:#f1f5f9;border-bottom-left-radius:4px;align-self:flex-start}.coach-message-bubble.user-msg{background:linear-gradient(135deg, var(--primary-blue), #3b4d68);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.coach-msg-time{opacity:.6;text-align:right;margin-top:4px;font-size:.65rem;display:block}.coach-message-bubble.typing{padding:.6rem .9rem}.typing-dots{gap:4px;display:flex}.typing-dots span{background:var(--primary-blue);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both bounce}.typing-dots span:first-child{animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.coach-chat-input-bar{background:#fff;border-top:1px solid #00000014;align-items:center;gap:.5rem;padding:.85rem 1rem;display:flex}.coach-input{border:1.5px solid #4a5d7a33;border-radius:12px;flex:1;padding:.65rem 1rem;font-family:inherit;font-size:.9rem}.coach-input:focus{border-color:var(--primary-blue);outline:none}.coach-send-btn{background:var(--primary-blue);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;transition:all .2s;display:flex}.coach-send-btn:hover:not(:disabled){background:#324158}.coach-send-btn:disabled{opacity:.5;cursor:not-allowed}.kibble-free-feeding-pill{color:#166534;background:#f0fdf4;border:1.5px solid #86efac;border-radius:14px;justify-content:space-between;align-items:center;padding:.75rem 1.2rem;font-size:.9rem;font-weight:700;display:flex}.kibble-refilled-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}@media (width<=480px){.floating-coach-trigger{padding:.6rem 1rem;bottom:1rem;right:1rem}.coach-chat-modal{height:90vh;max-height:90vh}}
