:root{color:#15211f;background:#edf4f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.login-screen{background:linear-gradient(180deg,#edf4f126,#edf4f1 76%),url(https://images.unsplash.com/photo-1498837167922-ddd27525d352?auto=format&fit=crop&w=1600&q=80);background-position:center;background-size:cover;display:grid;grid-template-columns:minmax(320px,.92fr) minmax(360px,1fr);min-height:100vh;padding:24px}.login-panel{align-content:center;display:grid;gap:24px;max-width:720px;padding:36px}.login-panel h1{color:#0c1f1b;font-size:clamp(2.7rem,7vw,5.8rem);line-height:.94;margin:0}.login-panel p{color:#344944;font-size:1.08rem;line-height:1.6;margin:0;max-width:560px}.login-preview{align-items:center;display:flex;justify-content:center;min-height:480px;padding:28px}.phone-preview{background:#ffffffdb;border:1px solid rgba(255,255,255,.78);border-radius:34px;box-shadow:0 32px 90px #0d1f1b3d;display:grid;gap:12px;max-width:390px;padding:18px;width:100%}.phone-status{background:linear-gradient(135deg,#0f766e,#14b8a6);border-radius:26px;color:#fff;display:grid;gap:8px;min-height:128px;padding:22px}.phone-status span,.preview-meal span{color:#ffffffc7}.phone-status strong{font-size:2.3rem}.preview-meal{align-items:center;background:#fff;border-radius:20px;display:grid;gap:10px;grid-template-columns:1fr auto auto;min-height:58px;padding:10px 14px}.preview-meal span{color:#40524e;font-weight:800}.preview-meal strong{background:#dcfce7;border-radius:999px;color:#166534;font-size:.78rem;padding:6px 10px}.brand{align-items:center;display:flex;gap:12px}.brand.large{margin-bottom:8px}.brand-mark,.brand-logo{align-items:center;border-radius:14px;display:inline-flex;height:44px;justify-content:center;object-fit:contain;width:44px}.brand.large .brand-mark,.brand-logo.large{border-radius:18px;height:56px;width:56px}.brand strong,.user-tile strong{display:block}.brand span,.user-tile span{color:#63736f;display:block;font-size:.84rem}.primary-button,.secondary-button,.nav-button,.icon-button,.notice button,.segmented button{align-items:center;border:0;display:inline-flex;justify-content:center}.primary-button{background:#0f766e;border-radius:16px;box-shadow:0 14px 26px #0f766e38;color:#fff;font-weight:900;gap:10px;min-height:52px;padding:0 20px}.login-error{background:#fff1f2;border:1px solid #fecdd3;border-radius:18px;color:#9f1239;font-weight:800;line-height:1.45;margin:0;max-width:620px;padding:12px 14px}.app-shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}.sidebar{background:#ffffffc2;border-right:1px solid rgba(203,218,213,.8);display:flex;flex-direction:column;gap:28px;padding:24px}.nav-list{display:grid;gap:8px}.nav-button{background:transparent;border-radius:16px;color:#4b5c58;gap:10px;justify-content:flex-start;min-height:48px;padding:0 14px;text-align:left}.nav-button.active{background:#fff;box-shadow:0 12px 30px #11241f14;color:#0f766e;font-weight:900}.user-tile{align-items:center;background:#fff;border:1px solid #dfe9e5;border-radius:22px;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;margin-top:auto;padding:12px}.user-tile img{border-radius:50%;height:36px;width:36px}.user-tile span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{background:#eef5f2;border-radius:13px;color:#22342f;flex:0 0 auto;height:38px;width:38px}.icon-button.danger{background:#fff1f2;color:#be123c}.main{background:radial-gradient(circle at 8% 0%,rgba(20,184,166,.13),transparent 32%),linear-gradient(180deg,#f8fbfa,#edf4f1);min-width:0;padding:32px}.notice{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;color:#7c2d12;display:flex;gap:10px;margin:0 auto 22px;max-width:980px;padding:12px 14px}.notice button{background:#9a3412;border-radius:12px;color:#fff;font-weight:800;margin-left:auto;min-height:36px;padding:0 12px}.install-banner{align-items:center;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:22px;color:#14532d;display:flex;gap:14px;justify-content:space-between;margin:0 auto 22px;max-width:980px;padding:14px}.install-banner strong,.install-banner span{display:block}.install-banner span{color:#166534;font-size:.9rem;margin-top:2px}.view-stack{display:grid;gap:18px;margin:0 auto;max-width:1080px}.view-header{align-items:end;display:flex;justify-content:space-between;gap:16px}.eyebrow{color:#0f766e;font-size:.76rem;font-weight:900;text-transform:uppercase}h1,h2{letter-spacing:0}.view-header h1{color:#10211d;font-size:clamp(2.2rem,4vw,3.7rem);line-height:1;margin:4px 0 0}.dashboard-title-header{align-items:start}.dashboard-title-row{align-items:center;display:flex;gap:12px}.cat-coach{align-items:center;display:flex;justify-content:flex-end;min-width:82px}.cat-mascot{animation:cat-float 2.8s ease-in-out infinite;background:transparent;border:0;cursor:pointer;height:74px;padding:0;position:relative;touch-action:manipulation;width:82px}.cat-mascot:focus-visible{border-radius:24px;box-shadow:0 0 0 4px #14b8a62e;outline:none}.cat-coach.petting .cat-mascot{animation:cat-pet-bounce .52s ease both}.cat-coach.petting .cat-head{animation:cat-head-nuzzle .52s ease both}.cat-coach.petting .cat-tail{animation:cat-tail-happy .42s ease-in-out 2}.cat-coach.petting .cat-paw.left{animation:cat-wave-left .52s ease both}.cat-body{background:linear-gradient(135deg,#f9a85d,#f59e0b);border-radius:26px 30px 24px 24px;bottom:4px;height:44px;left:24px;position:absolute;width:48px}.cat-head{background:#fbbf24;border-radius:22px;height:42px;left:14px;position:absolute;top:8px;width:46px;z-index:2}.cat-ear{background:#f59e0b;height:18px;position:absolute;top:-8px;transform:rotate(45deg);width:18px}.cat-ear.left{left:4px}.cat-ear.right{right:4px}.cat-eye{animation:cat-blink 4.2s ease-in-out infinite;background:#10211d;border-radius:999px;height:5px;position:absolute;top:18px;width:5px}.cat-eye.left{left:14px}.cat-eye.right{right:14px}.cat-nose{background:#ef6f7a;border-radius:999px 999px 8px 8px;height:6px;left:20px;position:absolute;top:26px;width:7px}.cat-tail{animation:cat-tail-sway 1.6s ease-in-out infinite;border:8px solid #f59e0b;border-left:0;border-radius:0 28px 28px 0;bottom:16px;height:34px;position:absolute;right:2px;transform-origin:4px 28px;width:28px}.cat-paw{background:#fef3c7;border-radius:999px;bottom:2px;height:12px;position:absolute;width:18px;z-index:3}.cat-paw.left{left:32px}.cat-paw.right{left:54px}.cat-heart{color:#fb7185;font-size:1rem;font-weight:900;opacity:0;pointer-events:none;position:absolute;text-shadow:0 4px 12px rgba(251,113,133,.35);z-index:5}.cat-heart.one{left:8px;top:0}.cat-heart.two{right:5px;top:10px}.cat-coach.petting .cat-heart.one{animation:heart-pop .9s ease-out both}.cat-coach.petting .cat-heart.two{animation:heart-pop .9s 90ms ease-out both}@keyframes cat-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes cat-tail-sway{0%,to{transform:rotate(-9deg)}50%{transform:rotate(13deg)}}@keyframes cat-blink{0%,88%,to{transform:scaleY(1)}92%{transform:scaleY(.18)}}@keyframes cat-pet-bounce{0%{transform:translateY(0) rotate(0)}40%{transform:translateY(-8px) rotate(-4deg)}to{transform:translateY(0) rotate(0)}}@keyframes cat-head-nuzzle{0%,to{transform:rotate(0)}45%{transform:rotate(-8deg) translate(-2px)}}@keyframes cat-tail-happy{0%,to{transform:rotate(-12deg)}50%{transform:rotate(24deg)}}@keyframes cat-wave-left{0%,to{transform:translateY(0) rotate(0)}45%{transform:translateY(-6px) rotate(-16deg)}}@keyframes heart-pop{0%{opacity:0;transform:translateY(8px) scale(.5)}25%{opacity:1}to{opacity:0;transform:translateY(-24px) scale(1.2)}}.date-input,input,select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid #d9e5e0;border-radius:15px;color:#172622;min-height:46px;outline:none;padding:11px 13px;width:100%}input:focus,select:focus,textarea:focus{border-color:#14b8a6;box-shadow:0 0 0 4px #14b8a621}textarea{min-height:86px;resize:vertical}.date-input{max-width:190px}.date-picker-shell{align-items:center;display:flex;gap:10px}.date-nav-shell{align-items:center;display:grid;gap:8px;grid-template-columns:38px minmax(0,1fr) 38px;max-width:310px;width:100%}.today-jump-button{background:#e4f7f3;border:0;border-radius:999px;color:#0f766e;font-size:.78rem;font-weight:900;grid-column:1 / -1;min-height:34px;padding:0 12px}.date-nav-shell .icon-button{height:38px;min-height:38px;width:38px}.date-picker-shell span{background:#fff;border:1px solid #d9e5e0;border-radius:999px;color:#0f766e;font-size:.86rem;font-weight:900;padding:10px 12px;white-space:nowrap}.date-nav-shell .date-picker-shell{min-width:0;position:relative}.date-nav-shell .date-input{top:0;right:0;bottom:0;left:0;opacity:0;position:absolute}.date-nav-shell .date-picker-shell span{display:block;overflow:hidden;text-align:center;text-overflow:ellipsis;width:100%}.header-action{min-width:130px}.stat-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(150px,1fr))}.stat-card{background:#ffffffe6;border:1px solid #e0ebe7;border-radius:24px;box-shadow:0 16px 34px #0e221e0f;display:grid;gap:8px;min-height:128px;padding:16px}.stat-icon{align-items:center;background:#e4f7f3;border-radius:14px;color:#0f766e;display:flex;height:40px;justify-content:center;width:40px}.stat-card span{color:#667773;font-size:.86rem}.stat-card strong{color:#10211d;font-size:1.45rem}.stat-card em{color:#52645f;font-style:normal}.meal-card-list{display:grid;gap:14px}.add-meal-panel{align-items:end;background:#ffffffe6;border:1px solid #e0ebe7;border-radius:26px;box-shadow:0 18px 42px #0e221e0f;display:grid;gap:12px;grid-template-columns:minmax(180px,1fr) auto;padding:16px}.compact-add-panel{display:block}.compact-add-panel .add-meal-button{width:100%}.meal-card{background:#fffffff0;border:1px solid #dde9e5;border-radius:20px;box-shadow:0 12px 28px #0e221e0f;display:grid;gap:14px;padding:14px}.meal-card.complete{border-color:#14b8a66b}.meal-card-header{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;justify-content:space-between}.meal-summary-button{align-items:flex-start;background:transparent;border:0;color:inherit;display:flex;flex:1;gap:8px;min-width:0;padding:0;text-align:left}.meal-summary-main{display:grid;gap:5px;min-width:0}.chevron{color:#7b8b86;flex:0 0 auto;transition:transform .16s ease}.chevron.expanded{transform:rotate(180deg)}.meal-status-icon{align-items:center;background:#eef5f2;border-radius:14px;display:flex;flex:0 0 auto;height:34px;font-size:1.05rem;justify-content:center;width:34px}.meal-status-icon.taken{background:#bbf7d0}.meal-card h2{color:#10211d;font-size:.95rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-title-input{background:transparent;border:0;border-radius:0;color:#10211d;font-size:1rem;font-weight:900;min-height:0;padding:0}.meal-title-input:focus{box-shadow:none}.meal-meta-row{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px 38px;align-items:center}.meal-meta-row span{align-items:center;background:#eef5f2;border-radius:14px;color:#52635f;display:inline-flex;font-size:.82rem;font-weight:900;gap:6px;justify-content:center;min-height:36px;padding:6px 10px;text-align:center}.meal-row-action{height:36px;min-height:36px;width:38px}.meal-date-time{align-items:center;background:#eef5f2;border-radius:999px;color:#52635f;display:inline-flex;flex:0 0 auto;font-size:.7rem;font-weight:900;gap:4px;min-height:26px;padding:0 7px;white-space:nowrap}.meal-thumb{border-radius:12px;color:#0f766e;display:inline-flex;flex:0 0 auto;height:34px;justify-content:center;align-items:center;background:#e4f7f3;overflow:hidden;width:34px}.meal-thumb img{height:100%;object-fit:cover;width:100%}.meal-detail-panel{display:grid;gap:16px}.action-menu{position:relative}.action-menu-panel{background:#fff;border:1px solid #dce8e4;border-radius:16px;box-shadow:0 18px 38px #0e221e29;display:grid;min-width:176px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:6}.action-menu-panel button{background:transparent;border:0;color:#22332f;font-weight:800;min-height:42px;padding:0 14px;text-align:left}.action-menu-panel button:hover{background:#f2f8f5}.action-menu-panel .danger-text{color:#be123c}.meal-input-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.meal-date-time-field{grid-column:1 / -1}.input-shell,.food-field,.field{display:grid;gap:8px}.input-shell>span,.food-field>span,.field span{color:#566965;font-size:.82rem;font-weight:900}.input-shell>div{align-items:center;background:#f5f9f7;border:1px solid #dce8e4;border-radius:18px;color:#0f766e;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto;min-height:52px;padding:0 12px}.input-shell input{background:transparent;border:0;border-radius:0;min-height:0;padding:0}.input-shell input:focus{box-shadow:none}.input-shell em{color:#75837f;font-size:.82rem;font-style:normal;font-weight:800}.food-field textarea{background:#f8fbfa;border-radius:20px}.meal-detail-preview{align-items:center;background:#f4fbf8;border:1px solid #d7ebe5;border-radius:18px;color:#0f766e;display:grid;font-weight:900;gap:10px;grid-template-columns:54px minmax(0,1fr);min-height:66px;padding:6px 10px 6px 6px;text-align:left}.meal-detail-preview img{aspect-ratio:1;border-radius:14px;height:54px;object-fit:cover;width:54px}.image-lightbox{background:transparent;border:0;max-height:min(78vh,720px);max-width:min(92vw,720px);padding:0}.image-lightbox img{background:#fff;border-radius:22px;box-shadow:0 24px 70px #05141157;display:block;max-height:min(78vh,720px);max-width:min(92vw,720px);object-fit:contain;width:auto}.meal-actions{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.meal-modal-grid{display:grid;gap:12px;grid-template-columns:1fr}.meal-modal-row,.photo-action-row{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.meal-modal-status-row{grid-template-columns:minmax(94px,.72fr) minmax(0,1.28fr)}.photo-action-row .secondary-button{width:100%}.meal-save-row{display:grid}.meal-modal>.secondary-button{width:100%}.meal-modal .food-field{min-width:0}.meal-modal-preview{background:#edf7f3;border:1px solid #cfe6de;border-radius:20px;height:140px;overflow:hidden}.meal-modal-preview img{height:100%;object-fit:contain;width:100%}.toggle-button{align-items:center;background:#eef5f2;border:0;border-radius:16px;color:#52635f;display:inline-flex;font-weight:900;gap:8px;min-height:48px;padding:0 10px;width:100%}.toggle-button.active{background:#dcfce7;color:#047857}.add-meal-button{align-items:center;background:#ffffffb8;border:1px dashed #8bcfc6;border-radius:24px;color:#0f766e;display:flex;font-weight:900;gap:10px;justify-content:center;min-height:58px;padding:0 18px}.secondary-button{background:#eef5f2;border-radius:16px;color:#1e3731;font-weight:900;gap:8px;min-height:46px;min-width:0;padding:0 12px}.secondary-button input{display:none}.secondary-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-message{background:#eff6ff;border:1px solid #bfdbfe;border-radius:18px;color:#1e3a8a;margin:0;padding:12px 14px}.profile-form{background:#ffffffe6;border:1px solid #e0ebe7;border-radius:28px;box-shadow:0 18px 42px #0e221e0f;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(240px,1fr));padding:18px}.account-card{align-items:center;background:#ffffffeb;border:1px solid #e0ebe7;border-radius:28px;box-shadow:0 18px 42px #0e221e0f;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;padding:16px}.account-identity{align-items:center;display:flex;flex:1 1 auto;gap:12px;min-width:0}.account-identity-text{flex:1 1 auto;min-width:0;overflow:hidden}.account-identity img{flex:0 0 auto;border-radius:50%;height:42px;width:42px}.account-identity strong,.account-identity span,.account-identity em{display:block}.account-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-identity span{color:#63736f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-identity em{color:#0f766e;font-size:.8rem;font-style:normal;font-weight:900;margin-top:2px}.signout-button{flex:0 0 auto}.account-actions{display:flex;flex:0 0 auto;gap:10px;justify-self:end}.login-install-button{max-width:260px}.field.wide,.form-action{grid-column:1 / -1}.segmented{background:#edf3f1;border-radius:17px;display:grid;gap:3px;grid-template-columns:repeat(3,1fr);padding:3px}.segmented button{background:transparent;border-radius:14px;color:#52645f;min-height:42px;text-transform:capitalize}.segmented button.selected{background:#fff;box-shadow:0 6px 16px #0e221e14;color:#0f766e;font-weight:900}.inline-form{background:#ffffffe0;border:1px solid #e0ebe7;border-radius:24px;display:grid;gap:12px;grid-template-columns:minmax(150px,210px) minmax(110px,150px) minmax(120px,1fr) minmax(120px,1fr) auto;padding:14px}.scale-photo-button input{display:none}.scale-photo-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weight-log-panel{background:#ffffffe6;border:1px solid #e0ebe7;border-radius:24px;box-shadow:0 14px 32px #0e221e0d;display:grid;gap:12px;padding:16px}.weight-log-list{display:grid;gap:10px}.weight-log-item{align-items:center;background:#f8fbfa;border:1px solid #dfeae6;border-radius:18px;display:flex;gap:12px;justify-content:space-between;padding:12px}.weight-log-main{flex:1 1 auto;min-width:0}.weight-log-item strong,.weight-log-item span{display:block}.weight-log-item span{color:#64756f;font-size:.84rem}.weight-log-main em{align-items:center;color:#0f766e;display:block;font-size:.8rem;font-style:normal;font-weight:800;margin-top:3px;min-width:0}.weight-photo-thumb{align-items:center;background:#dff5ef;border:1px solid #b8e5da;border-radius:14px;color:#0f766e;display:flex;flex:0 0 auto;height:54px;justify-content:center;overflow:hidden;padding:0;width:54px}.weight-photo-thumb.clickable{cursor:pointer}.weight-photo-thumb.clickable:focus-visible{box-shadow:0 0 0 4px #14b8a62e}.weight-photo-thumb img{height:100%;object-fit:cover;width:100%}.weight-row-actions{display:flex;flex:0 0 auto;gap:8px}.weight-edit-form{display:grid;gap:10px;grid-template-columns:minmax(140px,1fr) minmax(100px,.75fr) minmax(110px,.85fr) minmax(110px,.85fr) auto auto;width:100%}.modal-backdrop{align-items:center;background:#0612106b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:18px;position:fixed;z-index:50}.weight-modal{background:#fff;border:1px solid #d7e7e1;border-radius:28px;box-shadow:0 28px 80px #0612103d;display:grid;gap:16px;max-width:520px;padding:18px;width:min(100%,520px)}.confirm-dialog{background:#fff;border:1px solid #f5c2c7;border-radius:24px;box-shadow:0 26px 70px #50142033;display:grid;gap:18px;max-width:420px;padding:18px;width:min(100%,420px)}.confirm-dialog h2{color:#10211d;font-size:1.12rem;margin:0 0 6px}.confirm-dialog p{color:#52635f;font-weight:700;line-height:1.45;margin:0}.confirm-actions{display:grid;gap:10px;grid-template-columns:1fr 1fr}.danger-button{align-items:center;background:#be123c;border:0;border-radius:16px;color:#fff;display:inline-flex;font-weight:900;justify-content:center;min-height:46px;padding:0 16px}.weight-modal-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}.weight-modal-grid .secondary-button{width:100%}.weight-modal-preview{background:#edf7f3;border:1px solid #cfe6de;border-radius:20px;height:170px;overflow:hidden}.weight-modal-preview img{height:100%;object-fit:contain;width:100%}.weight-hero{display:grid;gap:16px;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr)}.weight-hero-main,.weight-goal-card{background:#ffffffeb;border:1px solid #e0ebe7;border-radius:30px;box-shadow:0 20px 44px #0e221e14;padding:22px}.weight-hero-main{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;display:grid;gap:10px}.weight-hero-main span,.weight-hero-main em{color:#ffffffc7}.weight-hero-main strong{font-size:clamp(3.2rem,8vw,5.4rem);line-height:.96}.weight-hero-main em{font-style:normal}.weight-goal-card{display:grid;gap:18px}.goal-progress-bar{background:#e6eeeb;border-radius:999px;height:14px;overflow:hidden}.goal-progress-bar span{background:linear-gradient(90deg,#0f766e,#22c55e);border-radius:inherit;display:block;height:100%}.weight-goal-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.weight-goal-grid div{background:#f8fbfa;border:1px solid #dfeae6;border-radius:18px;padding:12px}.weight-goal-grid span{color:#64756f;display:block;font-size:.82rem;font-weight:800}.weight-goal-grid strong{color:#10211d;display:block;font-size:1.25rem;margin-top:4px}.diet-plan-panel,.protein-guide{background:#ffffffe6;border:1px solid #e0ebe7;border-radius:28px;box-shadow:0 18px 42px #0e221e0f;display:grid;gap:16px;padding:18px}.plan-target-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.plan-section-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.plan-section-header h2{color:#10211d;font-size:1rem;margin:0}.plan-section-header span{color:#64756f;font-size:.86rem;font-weight:800}.compact-button{min-height:38px}.plan-item-list{display:grid;gap:10px}.plan-item{align-items:center;background:#f8fbfa;border:1px solid #dfeae6;border-radius:20px;display:grid;gap:10px;grid-template-columns:minmax(120px,.85fr) minmax(180px,1.4fr) minmax(120px,.9fr) 92px auto;padding:10px}.protein-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.protein-chip{background:#f0f9f6;border:1px solid #cceee6;border-radius:18px;color:#1d4f46;font-weight:800;min-height:48px;padding:12px}.dashboard-progress-panel{background:#ffffffe6;border:1px solid #e0ebe7;border-radius:28px;box-shadow:0 18px 42px #0e221e0f;display:grid;gap:16px;padding:18px}.dashboard-hero-grid{display:grid;gap:14px;grid-template-columns:minmax(260px,1.05fr) minmax(180px,.55fr) minmax(280px,1fr)}.dashboard-focus-card,.dashboard-bmi-card,.dashboard-goal-card{background:#fff;border:1px solid #dfeae6;border-radius:26px;box-shadow:0 18px 42px #0e221e0f;display:grid;gap:16px;min-width:0;padding:18px}.dashboard-focus-card{align-items:center;background:linear-gradient(135deg,#064e3b,#0f766e 58%,#14b8a6);color:#fff;grid-template-columns:minmax(0,1fr) 112px}.dashboard-card-kicker{color:inherit;display:block;font-size:.78rem;font-weight:900;opacity:.72;text-transform:uppercase}.dashboard-focus-card strong,.dashboard-bmi-card strong{display:block;font-size:clamp(2.4rem,7vw,4.2rem);line-height:.95;margin-top:8px}.dashboard-focus-card em,.dashboard-bmi-card em{color:inherit;display:block;font-style:normal;font-weight:800;margin-top:8px;opacity:.78}.dashboard-ring{align-items:center;aspect-ratio:1;background:conic-gradient(#bbf7d0 var(--progress),rgba(255,255,255,.22) 0);border-radius:999px;display:grid;justify-items:center;padding:10px}.dashboard-ring:before{background:#064e3be0;border-radius:inherit;content:"";grid-area:1 / 1;height:100%;width:100%}.dashboard-ring span,.dashboard-ring em{color:#fff;grid-area:1 / 1;position:relative}.dashboard-ring span{align-self:center;font-size:1.25rem;font-weight:900;margin-top:-14px}.dashboard-ring em{align-self:center;font-size:.72rem;font-style:normal;font-weight:900;margin-top:26px;opacity:.72;text-transform:uppercase}.dashboard-bmi-card{background:#fbf8ff;border-color:#e9d5ff}.dashboard-bmi-card .dashboard-card-kicker,.dashboard-bmi-card strong{color:#5b21b6}.dashboard-bmi-card em{color:#6d587d}.bmi-scale{background:linear-gradient(90deg,#60a5fa,#22c55e 38%,#f59e0b 68%,#ef4444);border-radius:999px;height:10px;margin-top:4px;position:relative}.bmi-scale span{background:#fff;border:3px solid #5b21b6;border-radius:999px;box-shadow:0 4px 12px #5b21b63d;height:22px;position:absolute;top:50%;transform:translate(-50%,-50%);width:22px}.dashboard-goal-card{background:#f8fbfa}.dashboard-mini-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-forecast-panel{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(260px,1fr))}.forecast-lead-card,.forecast-goal-card,.forecast-timeline{background:#fff;border:1px solid #dfeae6;border-radius:26px;box-shadow:0 18px 42px #0e221e0f;min-width:0;padding:16px}.forecast-lead-card,.forecast-goal-card{align-items:center;display:grid;gap:14px;grid-template-columns:54px minmax(0,1fr)}.forecast-lead-card{background:#fff7ed;border-color:#fed7aa}.forecast-goal-card{background:#f0fdfa;border-color:#99f6e4}.forecast-emoji{align-items:center;background:#ffffffb8;border-radius:18px;display:flex;font-size:1.55rem;height:54px;justify-content:center;width:54px}.forecast-lead-card strong,.forecast-goal-card strong{color:#10211d;display:block;font-size:1.18rem;margin-top:4px}.forecast-lead-card em,.forecast-goal-card em{color:#52635f;display:block;font-size:.86rem;font-style:normal;font-weight:800;line-height:1.4;margin-top:4px}.forecast-timeline{display:grid;gap:10px;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr))}.forecast-timeline article{background:#f8fbfa;border:1px solid #dfeae6;border-radius:18px;display:grid;gap:4px;min-width:0;padding:12px}.forecast-timeline article.capped{background:#ecfdf5;border-color:#86efac}.forecast-timeline span{color:#0f766e;font-size:.76rem;font-weight:900;text-transform:uppercase}.forecast-timeline strong{color:#10211d;font-size:1.22rem}.forecast-timeline em{color:#64756f;font-size:.78rem;font-style:normal;font-weight:800}.progress-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.progress-card{background:#f8fbfa;border:1px solid #dfeae6;border-radius:22px;display:grid;gap:14px;padding:14px}.progress-card-header{align-items:center;display:flex;gap:10px}.progress-icon{align-items:center;border-radius:14px;display:flex;height:38px;justify-content:center;width:38px}.progress-card strong{color:#10211d;display:block}.progress-card em,.progress-values em{color:#6a7b76;font-size:.8rem;font-style:normal}.progress-bar{background:#e6eeeb;border-radius:999px;height:10px;overflow:hidden}.progress-bar span{border-radius:inherit;display:block;height:100%}.progress-values{display:grid;gap:3px}.progress-values span{color:#273b35;font-weight:900}.progress-card.blue .progress-icon{background:#dbeafe;color:#2563eb}.progress-card.blue .progress-bar span{background:#2563eb}.progress-card.orange .progress-icon{background:#ffedd5;color:#f97316}.progress-card.orange .progress-bar span{background:#f97316}.progress-card.green .progress-icon{background:#dcfce7;color:#16a34a}.progress-card.green .progress-bar span{background:#16a34a}.progress-card.teal .progress-icon{background:#ccfbf1;color:#0f766e}.progress-card.teal .progress-bar span{background:#0f766e}.note-composer{background:#ffffffe6;border:1px solid #e0ebe7;border-radius:28px;box-shadow:0 18px 42px #0e221e0f;display:grid;gap:12px;grid-template-columns:minmax(160px,220px) 1fr auto;padding:16px}.note-composer textarea{grid-column:1 / -1}.notes-list{display:grid;gap:12px}.note-card,.empty-state{background:#ffffffe6;border:1px solid #e0ebe7;border-radius:24px;box-shadow:0 14px 32px #0e221e0d;padding:16px}.empty-state.compact{min-height:150px}.note-card{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto}.note-card span{color:#0f766e;font-size:.78rem;font-weight:900}.note-card h2{color:#10211d;font-size:1.08rem;margin:4px 0 0}.note-card p{color:#52645f;line-height:1.55;margin:8px 0 0;white-space:pre-wrap}.empty-state{align-items:center;color:#52645f;display:grid;gap:8px;justify-items:center;min-height:180px;text-align:center}.empty-state strong{color:#10211d}.chart-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(280px,1fr))}.chart-panel{background:#ffffffe6;border:1px solid #e0ebe7;border-radius:26px;box-shadow:0 18px 42px #0e221e0f;min-height:340px;padding:18px}.chart-panel h2{color:#10211d;font-size:1rem;margin:0 0 16px}@media(max-width:980px){.login-screen,.app-shell{grid-template-columns:1fr}.login-screen{padding:0}.sidebar{align-items:center;border-bottom:1px solid rgba(203,218,213,.8);border-right:0;flex-direction:row;gap:18px;position:sticky;top:0;z-index:5}.nav-list{display:flex;flex:1;justify-content:center}.nav-button{justify-content:center}.user-tile{margin-top:0;max-width:260px}.stat-grid,.weight-hero,.dashboard-hero-grid,.dashboard-forecast-panel,.chart-grid,.profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-focus-card{grid-column:1 / -1}}@media(max-width:760px){.account-card{align-items:stretch;grid-template-columns:1fr}.account-actions{justify-self:stretch}.account-actions,.account-actions .secondary-button,.signout-button{width:100%}}@media(max-width:680px){body{background:#f8fbfa}.login-panel,.login-preview,.main{padding:20px}.login-screen{background-position:center top}.login-panel{min-height:52vh}.login-preview{min-height:auto}.phone-preview{border-radius:28px}.sidebar{background:#fff;border-top:1px solid #dce8e4;bottom:0;box-shadow:0 -14px 36px #0e221e1f;padding:8px 10px calc(8px + env(safe-area-inset-bottom));position:fixed;top:auto;width:100%}.sidebar .brand,.user-tile{display:none}.nav-list{display:grid;gap:5px;grid-template-columns:repeat(6,minmax(0,1fr));width:100%}.nav-button{border-radius:18px;flex-direction:column;font-size:.68rem;gap:4px;min-height:58px;padding:6px 2px}.main{padding-bottom:calc(94px + env(safe-area-inset-bottom))}.view-header,.notice,.install-banner{align-items:stretch;flex-direction:column}.cat-coach{justify-content:flex-start;min-width:0}.cat-mascot{height:62px;width:70px}.date-input{max-width:none}.date-picker-shell{align-items:stretch;flex-direction:column}.date-nav-shell{max-width:none}.date-nav-shell .date-picker-shell{align-items:center;flex-direction:row}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{border-radius:20px;min-height:112px;padding:12px}.stat-card strong{font-size:1.08rem}.stat-icon{height:34px;width:34px}.meal-card{border-radius:24px;padding:14px}.meal-card-header{gap:8px;grid-template-columns:minmax(0,1fr) auto}.meal-date-time{font-size:.66rem;max-width:100%}.meal-input-grid,.meal-modal-grid,.add-meal-panel,.weight-hero,.dashboard-hero-grid,.dashboard-forecast-panel,.dashboard-mini-grid,.forecast-timeline,.weight-goal-grid,.weight-edit-form,.weight-modal-grid,.chart-grid,.profile-form,.inline-form,.note-composer,.plan-target-grid,.plan-item,.protein-grid,.progress-grid{grid-template-columns:1fr}.photo-action-row,.meal-modal-row{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-modal-status-row{grid-template-columns:minmax(96px,.75fr) minmax(0,1.25fr)}.profile-form,.inline-form,.note-composer,.diet-plan-panel,.protein-guide,.dashboard-focus-card,.dashboard-bmi-card,.dashboard-goal-card,.forecast-lead-card,.forecast-goal-card,.forecast-timeline,.dashboard-progress-panel,.chart-panel{border-radius:24px}.dashboard-focus-card{grid-column:auto;grid-template-columns:minmax(0,1fr) 92px}.dashboard-hero-grid{gap:10px}.dashboard-bmi-card{align-items:center;gap:8px;grid-template-columns:minmax(98px,.58fr) minmax(0,1fr);padding:14px 16px}.bmi-card-copy{min-width:0}.dashboard-bmi-card strong{font-size:2.15rem;margin-top:4px}.dashboard-bmi-card em{font-size:.88rem;margin-top:4px}.dashboard-bmi-card .bmi-scale{align-self:end;height:8px;margin-top:0}.dashboard-bmi-card .bmi-scale span{height:19px;width:19px}.dashboard-goal-card{gap:12px;padding:14px 16px}.dashboard-goal-card .weight-goal-grid{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-goal-card .weight-goal-grid div{border-radius:14px;min-width:0;padding:9px 8px}.dashboard-goal-card .weight-goal-grid span{font-size:.7rem}.dashboard-goal-card .weight-goal-grid strong{font-size:1rem}.dashboard-forecast-panel{gap:10px;grid-template-columns:1fr}.forecast-lead-card,.forecast-goal-card{gap:10px;grid-template-columns:42px minmax(0,1fr);padding:12px}.forecast-emoji{border-radius:14px;font-size:1.18rem;height:42px;width:42px}.forecast-lead-card .dashboard-card-kicker,.forecast-goal-card .dashboard-card-kicker{font-size:.66rem}.forecast-lead-card strong,.forecast-goal-card strong{font-size:.98rem;line-height:1.2}.forecast-lead-card em,.forecast-goal-card em{font-size:.74rem;line-height:1.3}.forecast-timeline{gap:6px;grid-template-columns:repeat(4,minmax(0,1fr));padding:10px}.forecast-timeline article{border-radius:14px;gap:2px;padding:8px 6px}.forecast-timeline span{font-size:.62rem}.forecast-timeline strong{font-size:.96rem}.forecast-timeline em{font-size:.66rem;white-space:nowrap}.account-identity,.notice button,.install-banner .primary-button,.form-action,.header-action,.login-panel .primary-button,.login-install-button,.account-actions,.account-actions .secondary-button,.signout-button{width:100%}.weight-log-item{align-items:flex-start}.weight-row-actions{margin-left:auto}.modal-backdrop{align-items:flex-end;padding:12px}.weight-modal{border-radius:24px;max-height:calc(100vh - 24px);overflow-y:auto}.account-actions{flex-direction:column}}@media(prefers-reduced-motion:reduce){.cat-mascot,.cat-tail,.cat-eye{animation:none}}
