
:root{
  --bg:#080d10;--bg2:#0c1317;--panel:#101a20;--panel2:#142128;--panel3:#17262e;
  --line:#26363f;--line2:#314650;--text:#f2f5f6;--muted:#93a4ad;--muted2:#667881;
  --teal:#57d9e6;--teal2:#2aaab8;--copper:#c78355;--amber:#e9ad66;--green:#79d49d;--red:#d57777;
  --shadow:0 16px 42px rgba(0,0,0,.32);--radius:20px;--radius-sm:14px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg)}
body{margin:0;background:
  radial-gradient(circle at 20% -10%,rgba(80,159,169,.09),transparent 32%),
  linear-gradient(180deg,#091014 0,#080d10 70%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh;padding-bottom:92px}
button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{max-width:780px;margin:0 auto;min-height:100vh}
.app-header{position:sticky;top:0;z-index:20;height:72px;display:flex;align-items:center;justify-content:space-between;padding:12px 17px;background:rgba(8,13,16,.88);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.04)}
.brand-lockup{display:flex;align-items:center;gap:10px}.brand-mark{font-family:Georgia,serif;font-size:25px;letter-spacing:.04em;color:#dfe7e9}.brand-mark span{color:var(--copper)}.brand-name{font-weight:800;letter-spacing:.25em;font-size:13px}.brand-sub{font-size:7px;color:var(--muted);letter-spacing:.28em;margin-top:3px}.icon-btn,.mini-icon{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:12px}.icon-btn{width:40px;height:40px;font-size:18px}.mini-icon{width:34px;height:34px;font-size:22px;display:grid;place-items:center}
main{padding:8px 14px 24px}.screen{display:none}.screen.active{display:block}.kicker{margin:0 0 3px;color:var(--teal);font-size:9px;letter-spacing:.22em;font-weight:800}.screen-heading{display:flex;align-items:center;justify-content:space-between;margin:4px 2px 12px}.screen-heading h1{margin:0;font-size:26px;letter-spacing:-.02em}.circle-add{width:44px;height:44px;border-radius:50%;border:1px solid rgba(199,131,85,.65);background:linear-gradient(145deg,#8c4d2d,#d08a59);color:white;font-size:25px;box-shadow:0 8px 22px rgba(199,131,85,.2)}
.profile-switcher{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 12px}.profile-card{min-width:0;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);background:linear-gradient(145deg,var(--panel),#0d161b);color:var(--text);border-radius:18px;padding:10px;transition:.2s}.profile-card.active{border-color:var(--teal2);box-shadow:inset 0 0 0 1px rgba(87,217,230,.12),0 0 24px rgba(42,170,184,.09)}.profile-card strong,.profile-card small{display:block}.profile-card strong{font-size:14px}.profile-card small{font-size:9px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:900;flex:0 0 auto;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,#315563,#16313a)}.avatar-alana{background:linear-gradient(145deg,#745447,#352826)}
.date-strip{height:52px;display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(16,26,32,.85);border-radius:16px;padding:6px 8px;margin-bottom:12px;text-align:center}.date-strip strong{font-size:13px}.date-strip small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.panel{background:linear-gradient(145deg,rgba(20,33,40,.98),rgba(13,22,27,.98));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.calorie-panel{position:relative;min-height:255px;display:grid;place-items:center;padding:18px;margin-bottom:10px;overflow:hidden}.calorie-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 44%,rgba(87,217,230,.06),transparent 44%);pointer-events:none}.cal-ring{--pct:0;position:relative;width:190px;height:190px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--teal) calc(var(--pct)*1%),#223039 0);box-shadow:0 0 32px rgba(87,217,230,.09)}.cal-ring:after{content:"";position:absolute;inset:13px;border-radius:50%;background:linear-gradient(145deg,#0d161b,#101b21);border:1px solid #233740}.cal-ring-inner{position:relative;z-index:2;text-align:center}.cal-ring-inner strong{display:block;font-size:38px;line-height:1;letter-spacing:-.04em}.cal-ring-inner span{display:block;font-size:10px;color:var(--muted);margin-top:7px}.cal-side{position:absolute;bottom:30px;text-align:center}.cal-side-left{left:24px}.cal-side-right{right:24px}.cal-side strong{display:block;font-size:18px}.cal-side span{font-size:9px;color:var(--muted)}
.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.macro-card{position:relative;background:linear-gradient(145deg,#111c22,#0d161b);border:1px solid var(--line);border-radius:16px;padding:12px 10px}.macro-head span,.macro-head strong{display:block}.macro-head span{font-size:10px;color:var(--muted)}.macro-head strong{font-size:12px;margin-top:3px}.macro-card small{position:absolute;right:10px;bottom:9px;font-size:9px;color:var(--muted)}.bar{height:5px;background:#24333b;border-radius:99px;overflow:hidden;margin-top:10px;width:72%}.bar i{display:block;height:100%;width:0;border-radius:99px;transition:width .35s}.protein .bar i{background:var(--teal)}.carbs .bar i{background:var(--copper)}.fat .bar i{background:var(--amber)}
.weight-panel{padding:16px;margin-bottom:10px}.section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.section-title-row h2{font-size:16px;margin:0}.section-title-row p,.panel-copy{font-size:10px;color:var(--muted);margin:4px 0 0;line-height:1.45}.weight-latest{text-align:right}.weight-latest strong{display:block;font-size:20px}.weight-latest small{font-size:9px;color:var(--muted)}canvas{display:block;width:100%;height:auto;margin-top:10px;border-radius:12px}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-card{display:grid;grid-template-columns:38px 1fr 15px;align-items:center;gap:9px;text-align:left;border:1px solid var(--line);background:linear-gradient(145deg,#111c22,#0d161b);color:var(--text);border-radius:17px;padding:13px}.quick-icon{width:38px;height:38px;border-radius:12px;background:#182830;border:1px solid #27404a;display:grid;place-items:center;font-size:17px;color:var(--teal)}.quick-card strong,.quick-card small{display:block}.quick-card strong{font-size:13px}.quick-card small{font-size:9px;color:var(--muted);margin-top:3px}.quick-card b{color:var(--muted2)}
.log-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.summary-pill{text-align:center;padding:10px 5px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.summary-pill strong,.summary-pill small{display:block}.summary-pill strong{font-size:12px}.summary-pill small{font-size:8px;color:var(--muted);margin-top:3px}.search-wrap{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:0 12px;margin-bottom:10px}.search-wrap span{color:var(--muted);font-size:20px}.search-wrap input{height:46px;flex:1;background:transparent;border:0;outline:0;color:var(--text)}.food-search-results{position:relative;border:1px solid var(--line);background:#0d161b;border-radius:14px;margin:-3px 0 10px;overflow:hidden}.food-search-results.hidden{display:none}.food-result{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px;border-bottom:1px solid var(--line)}.food-result:last-child{border:0}.food-result strong{font-size:12px}.food-result small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.food-result button,.meal-add{border:1px solid var(--line2);background:#17262e;color:var(--teal);border-radius:10px;padding:7px 9px;font-weight:800}.meal-sections{display:grid;gap:9px}.meal-block{border:1px solid var(--line);background:linear-gradient(145deg,#101a20,#0d161b);border-radius:18px;overflow:hidden}.meal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 13px;border-bottom:1px solid rgba(38,54,63,.75)}.meal-header-left{display:flex;align-items:center;gap:9px}.meal-icon{width:28px;height:28px;border-radius:9px;background:#172a32;display:grid;place-items:center;color:var(--teal)}.meal-header strong{font-size:13px}.meal-header small{font-size:9px;color:var(--muted);margin-left:6px}.meal-row{display:grid;grid-template-columns:1fr auto 28px;align-items:center;gap:10px;padding:11px 13px;border-top:1px solid rgba(38,54,63,.48)}.meal-row:first-of-type{border-top:0}.meal-row strong{display:block;font-size:11px}.meal-row small{display:block;color:var(--muted);font-size:8.5px;margin-top:2px}.meal-kcal{text-align:right}.meal-kcal strong{font-size:11px}.delete-food{border:0;background:transparent;color:var(--muted2);font-size:18px}.empty-meal{padding:12px 13px;color:var(--muted2);font-size:10px}.fab{position:fixed;right:max(20px,calc((100vw - 760px)/2 + 20px));bottom:95px;width:58px;height:58px;border-radius:50%;border:1px solid #e1a274;background:linear-gradient(145deg,#93512f,#cf8655);color:#fff;font-size:29px;box-shadow:0 12px 32px rgba(0,0,0,.38);z-index:8}
.scan-hero{height:155px;border:1px solid #31444d;border-radius:20px;display:grid;place-items:center;margin-bottom:10px;background:radial-gradient(circle at 50% 20%,rgba(199,131,85,.15),transparent 40%),linear-gradient(135deg,#182128,#0a1014 60%,#17130f);overflow:hidden;position:relative}.scan-hero:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 28px,rgba(255,255,255,.015) 29px 30px)}.scan-hero-copy{position:relative;z-index:1;text-align:center;border:1px solid rgba(220,230,233,.55);padding:15px 24px}.scan-hero-copy strong{font-size:17px;letter-spacing:.19em;line-height:1.5}.scan-hero-copy small{display:block;color:var(--muted);font-size:7px;letter-spacing:.18em;margin-top:8px}.scan-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px}.scan-action{border:1px solid var(--line);background:#111c22;color:var(--muted);border-radius:15px;padding:14px 7px}.scan-action span,.scan-action strong{display:block}.scan-action span{font-size:21px;color:#cbd5d9;margin-bottom:7px}.scan-action strong{font-size:10px}.scan-action.active{border-color:var(--teal);color:var(--text);box-shadow:inset 0 0 0 1px rgba(87,217,230,.15),0 0 20px rgba(87,217,230,.08)}.scan-action.active span{color:var(--teal)}.scan-pane{display:none}.scan-pane.active{display:block}.order-panel,.scanner-panel{padding:15px}.outline-action{width:100%;border:1px solid var(--teal2);background:rgba(42,170,184,.08);color:var(--teal);border-radius:13px;padding:12px;font-weight:800;margin:12px 0}.dark-input{width:100%;border:1px solid var(--line2);background:#0b1317;color:var(--text);border-radius:12px;padding:12px;outline:none}.dark-input:focus{border-color:var(--teal2);box-shadow:0 0 0 3px rgba(42,170,184,.08)}.textarea{resize:vertical;line-height:1.45}.split-actions{display:grid;grid-template-columns:1fr 1.45fr;gap:8px;margin-top:10px}.button-primary,.button-secondary{border-radius:12px;padding:11px 12px;font-weight:800;border:1px solid transparent}.button-primary{background:linear-gradient(145deg,#41b9c6,#238894);color:#031012}.button-secondary{background:#16242b;color:#c2cdd2;border-color:var(--line2)}.button-primary.full,.button-secondary.full{width:100%;margin-top:10px}.button-primary.compact{padding:8px 10px;font-size:10px}.image-preview img{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:12px;margin:8px 0}.recommendation-list{display:grid;gap:8px;margin-top:10px}.recommend-card{display:grid;grid-template-columns:34px 1fr 50px;gap:10px;align-items:start;background:linear-gradient(145deg,#111c22,#0d161b);border:1px solid var(--line);border-radius:17px;padding:11px}.recommend-card.best{border-color:#3abecb;box-shadow:inset 0 0 0 1px rgba(58,190,203,.12)}.rank{width:28px;height:28px;border-radius:9px;background:#20333b;display:grid;place-items:center;color:var(--teal);font-weight:900}.recommend-main .rec-label{display:block;color:var(--teal);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.recommend-main h3{font-size:12px;margin:4px 0}.recommend-main p{font-size:9px;color:var(--muted);margin:3px 0;line-height:1.35}.recommend-score{text-align:right}.recommend-score strong{display:block;border:1px solid var(--teal2);border-radius:8px;padding:4px;color:var(--green);font-size:11px}.recommend-score button{margin-top:8px;border:0;background:#1a2b32;color:var(--teal);border-radius:9px;padding:7px;font-size:9px;font-weight:800}.smart-swaps{display:flex;gap:13px;padding:14px;margin-top:10px}.swap-symbol{width:40px;height:40px;border-radius:50%;background:#173039;color:var(--teal);display:grid;place-items:center;font-size:20px;flex:0 0 auto}.smart-swaps h3{margin:0 0 5px;font-size:12px;color:var(--teal)}.smart-swaps ul{padding-left:16px;margin:0;color:var(--muted);font-size:9px;line-height:1.6}#barcodeVideo{width:100%;max-height:280px;background:#05090b;border-radius:14px;display:none;margin-bottom:10px}.scanner-panel p{font-size:10px;color:var(--muted);line-height:1.45}.info-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line2);color:var(--muted)}
.barcode-camera-shell{position:relative;overflow:hidden;border:1px solid #31525c;border-radius:16px;background:#05090b;min-height:0;margin:10px 0;box-shadow:inset 0 0 35px rgba(95,228,234,.04)}
.barcode-camera-shell.active{min-height:220px}
.barcode-camera-shell video,.barcode-camera-shell img{display:block;width:100%;max-height:330px;object-fit:cover;margin:0;border-radius:15px}
.barcode-guide{position:absolute;left:12%;right:12%;top:50%;height:86px;transform:translateY(-50%);border:2px solid rgba(95,228,234,.86);border-left-color:transparent;border-right-color:transparent;box-shadow:0 0 24px rgba(95,228,234,.12);pointer-events:none;display:none}
.barcode-camera-shell.active .barcode-guide{display:block}
.barcode-guide:before,.barcode-guide:after{content:"";position:absolute;inset:-2px;border-left:2px solid var(--copper);border-right:2px solid var(--copper);clip-path:polygon(0 0,20px 0,20px 2px,2px 2px,2px 20px,0 20px,0 0,100% 0,100% 20px,calc(100% - 2px) 20px,calc(100% - 2px) 2px,calc(100% - 20px) 2px,calc(100% - 20px) 0,100% 0,100% 100%,calc(100% - 20px) 100%,calc(100% - 20px) calc(100% - 2px),calc(100% - 2px) calc(100% - 2px),calc(100% - 2px) calc(100% - 20px),100% calc(100% - 20px),100% 100%,0 100%,0 calc(100% - 20px),2px calc(100% - 20px),2px calc(100% - 2px),20px calc(100% - 2px),20px 100%,0 100%)}
.barcode-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.barcode-status{padding:10px 11px;border-radius:12px;background:#0a1418;border:1px solid #27414a;color:var(--muted);font-size:10px;line-height:1.45;margin:10px 0}
.barcode-status.good{border-color:#386d58;background:rgba(127,221,165,.06);color:#a9e9c1}
.barcode-status.warn{border-color:#71503b;background:rgba(216,138,88,.06);color:#e5b18d}
.barcode-status.bad{border-color:#6c3f40;background:rgba(223,125,121,.06);color:#e4a09d}
.barcode-manual{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:8px}
.barcode-manual .button-primary{white-space:nowrap}
.barcode-result{display:none;margin-top:10px;padding:14px;border:1px solid #31505a;border-radius:16px;background:linear-gradient(145deg,#13242b,#0b1418)}
.barcode-result.show{display:block}
.barcode-result-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.barcode-result .store-tag{display:inline-flex;margin-top:6px;padding:4px 7px;border-radius:999px;background:rgba(216,138,88,.10);border:1px solid rgba(216,138,88,.35);color:#efad7f;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.barcode-result h3{font-size:14px;margin:0}.barcode-result p{font-size:9px;color:var(--muted);line-height:1.45;margin:5px 0}
.barcode-nutrition{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:11px 0}.barcode-nutrition div{text-align:center;padding:8px 4px;border:1px solid #29444d;background:#0c171b;border-radius:11px}.barcode-nutrition strong,.barcode-nutrition small{display:block}.barcode-nutrition strong{font-size:12px}.barcode-nutrition small{font-size:7px;color:var(--muted);margin-top:2px}
.barcode-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.barcode-help{margin-top:10px;font-size:8.5px!important;color:var(--muted2)!important}

.tab-switch{display:grid;grid-template-columns:1fr 1fr;background:#0d161b;border:1px solid var(--line);border-radius:14px;padding:4px;margin-bottom:13px}.tab-btn{border:0;background:transparent;color:var(--muted);border-radius:10px;padding:9px;font-weight:800}.tab-btn.active{background:#17262e;color:var(--teal);box-shadow:inset 0 -2px 0 var(--teal)}.recipe-pane{display:none}.recipe-pane.active{display:block}.recipe-list{display:grid;gap:9px}.recipe-card{border:1px solid var(--line);background:linear-gradient(145deg,#111c22,#0d161b);border-radius:18px;overflow:hidden}.recipe-visual{height:88px;background:radial-gradient(circle at 20% 30%,rgba(199,131,85,.25),transparent 24%),radial-gradient(circle at 70% 40%,rgba(87,217,230,.13),transparent 26%),linear-gradient(135deg,#24323a,#10171b);display:flex;align-items:flex-end;padding:12px}.recipe-visual strong{font-size:15px}.recipe-body{padding:12px}.recipe-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:9px}.recipe-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:10px}.recipe-actions button{border:1px solid var(--line2);background:#16242b;color:#ced9dd;border-radius:9px;padding:8px;font-size:9px;font-weight:800}.shared-banner{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:12px;margin-bottom:10px}.shared-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--teal2);color:var(--teal);font-size:11px;font-weight:900}.shared-banner strong,.shared-banner small{display:block}.shared-banner strong{font-size:12px}.shared-banner small,.sync-dot{font-size:8px;color:var(--muted)}.sync-dot{color:var(--green)}.shopping-add{display:grid;grid-template-columns:1fr auto;gap:7px;margin-bottom:10px}.shopping-list{display:grid;gap:8px}.shop-group{border:1px solid var(--line);background:#0f191e;border-radius:16px;overflow:hidden}.shop-group-title{padding:10px 12px;color:var(--teal);font-size:10px;font-weight:900;border-bottom:1px solid var(--line)}.shop-row{display:grid;grid-template-columns:24px 1fr 28px;align-items:center;padding:10px 12px;border-top:1px solid rgba(38,54,63,.5);font-size:10px}.shop-row:first-of-type{border-top:0}.shop-row input{accent-color:var(--teal)}.shop-row.done span{text-decoration:line-through;color:var(--muted2)}.shop-row button{border:0;background:transparent;color:var(--muted2);font-size:17px}.danger-link{width:100%;border:0;background:transparent;color:var(--red);padding:14px;font-size:10px;font-weight:800}
.more-menu{display:grid;gap:7px;margin-bottom:12px}.more-link{display:grid;grid-template-columns:38px 1fr 16px;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);background:#0f191e;color:var(--text);border-radius:15px;padding:11px}.more-link>span{width:38px;height:38px;border-radius:11px;background:#17272e;color:var(--teal);display:grid;place-items:center}.more-link strong,.more-link small{display:block}.more-link strong{font-size:12px}.more-link small{font-size:8.5px;color:var(--muted);margin-top:2px}.more-link b{color:var(--muted2)}.more-link.active{border-color:#34525d}.more-section{display:none}.more-section.active{display:block}.progress-card{padding:15px}.progress-number{margin:16px 0 0}.progress-number strong{font-size:34px}.progress-number span{font-size:10px;color:var(--muted);margin-left:5px}.target-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.target-grid label,.dialog-card>label{color:var(--muted);font-size:9px;font-weight:800}.target-grid input,.dialog-card label input,.dialog-card label select,.dialog-card label textarea{margin-top:5px}.big-profile-button{width:100%;display:grid;grid-template-columns:42px 1fr 16px;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);background:#0b1317;color:var(--text);border-radius:14px;padding:11px;margin-top:8px}.big-profile-button strong,.big-profile-button small{display:block}.big-profile-button strong{font-size:12px}.big-profile-button small{font-size:9px;color:var(--muted);margin-top:2px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.about-grid div{background:#0b1317;border:1px solid var(--line);border-radius:12px;padding:10px}.about-grid strong,.about-grid small{display:block}.about-grid strong{font-size:10px;color:var(--teal)}.about-grid small{font-size:8px;color:var(--muted);margin-top:4px;line-height:1.4}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);height:76px;padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));background:rgba(8,13,16,.96);border-top:1px solid var(--line);backdrop-filter:blur(18px)}.nav-item{border:0;background:transparent;color:#73858d;display:grid;place-items:center;align-content:center;gap:4px}.nav-item span{font-size:19px;line-height:1}.nav-item small{font-size:8px;font-weight:800}.nav-item.active{color:var(--teal)}.nav-scan span{width:42px;height:42px;border-radius:50%;background:#14252c;border:1px solid #32606a;display:grid;place-items:center;margin-top:-22px;color:var(--teal);box-shadow:0 6px 18px rgba(0,0,0,.3)}
dialog{border:1px solid var(--line2);padding:0;border-radius:22px;width:calc(100% - 28px);max-width:520px;background:#0e181d;color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.65)}dialog::backdrop{background:rgba(0,0,0,.74);backdrop-filter:blur(4px)}.dialog-card{padding:17px;display:grid;gap:11px}.dialog-title{display:flex;align-items:flex-start;justify-content:space-between}.dialog-title h2{margin:0;font-size:20px}.close-dialog{border:1px solid var(--line);background:#142128;color:var(--muted);width:34px;height:34px;border-radius:50%;font-size:20px}.dialog-card .split-actions{margin-top:2px}
@media(min-width:640px){main{padding-left:20px;padding-right:20px}.quick-grid{grid-template-columns:repeat(4,1fr)}.macro-grid{gap:10px}.recipe-list{grid-template-columns:1fr 1fr}.calorie-panel{min-height:285px}.cal-ring{width:210px;height:210px}.fab{right:max(28px,calc((100vw - 780px)/2 + 28px))}}
@media(max-width:390px){.cal-ring{width:170px;height:170px}.cal-side-left{left:15px}.cal-side-right{right:15px}.profile-card small{display:none}.macro-head strong{font-size:10px}.scan-action strong{font-size:9px}.shared-banner{grid-template-columns:40px 1fr}.sync-dot{display:none}}

/* === v2.2 HIGH-CONTRAST INDUSTRIAL PALETTE === */
:root{
  --bg:#05090c;
  --bg2:#091014;
  --panel:#101a20;
  --panel2:#15252d;
  --panel3:#1a3039;
  --line:#28414b;
  --line2:#3a5b66;
  --text:#f5f7f8;
  --muted:#9aabb3;
  --muted2:#667980;
  --teal:#5fe4ea;
  --teal2:#2bbac5;
  --copper:#d88a58;
  --copper2:#a95c34;
  --amber:#efb46b;
  --green:#7fdda5;
  --red:#df7d79;
  --shadow:0 18px 48px rgba(0,0,0,.40);
}
body{
  background:
    radial-gradient(circle at 12% -8%,rgba(95,228,234,.13),transparent 30%),
    radial-gradient(circle at 92% 6%,rgba(216,138,88,.11),transparent 26%),
    linear-gradient(180deg,#071014 0%,#05090c 72%);
}
.app-header{
  background:linear-gradient(180deg,rgba(7,15,19,.97),rgba(5,10,13,.94));
  border-bottom:1px solid rgba(95,228,234,.16);
  box-shadow:0 8px 28px rgba(0,0,0,.25);
}
.brand-mark{color:#dce5e8;text-shadow:0 0 18px rgba(95,228,234,.08)}
.brand-mark span{color:var(--copper);text-shadow:0 0 16px rgba(216,138,88,.22)}
.brand-sub{color:#81969f}.kicker{color:var(--copper);letter-spacing:.25em}
.panel,.meal-block,.recipe-card{
  background:
    linear-gradient(145deg,rgba(23,39,47,.99),rgba(10,17,21,.99));
  border-color:#2b4650;
}
.profile-card{
  background:linear-gradient(145deg,#122129,#0a1216);
  border-color:#28434d;
}
.profile-card.active{
  border-color:var(--teal);
  background:
    linear-gradient(135deg,rgba(95,228,234,.13),transparent 38%),
    linear-gradient(145deg,#14242c,#0b1419);
  box-shadow:inset 0 0 0 1px rgba(95,228,234,.19),0 0 28px rgba(43,186,197,.15);
}
.profile-card.active .avatar{border-color:var(--copper);box-shadow:0 0 0 2px rgba(216,138,88,.10)}
.date-strip{border-color:#2c4852;background:linear-gradient(180deg,#122129,#0d171c)}
.calorie-panel{
  border-color:#31515c;
  background:
    radial-gradient(circle at 50% 42%,rgba(95,228,234,.12),transparent 38%),
    linear-gradient(145deg,#13242c,#0a1216);
}
.calorie-panel:before{
  background:
    radial-gradient(circle at 50% 44%,rgba(95,228,234,.12),transparent 43%),
    linear-gradient(90deg,transparent 0 49.7%,rgba(216,138,88,.10) 49.8% 50.2%,transparent 50.3%);
}
.cal-ring{
  background:conic-gradient(var(--teal) calc(var(--pct)*1%),rgba(216,138,88,.34) 0 1.5%,#21343d 0);
  box-shadow:0 0 36px rgba(95,228,234,.18),inset 0 0 0 1px rgba(255,255,255,.03);
}
.cal-ring:after{background:linear-gradient(145deg,#0c171c,#101f25);border-color:#31515b}
.cal-ring-inner strong{color:#fff;text-shadow:0 0 24px rgba(95,228,234,.12)}
.cal-side-left strong{color:var(--teal)}
.cal-side-right strong{color:var(--copper)}
.macro-card{
  background:linear-gradient(145deg,#14242b,#0b1418);
  border-color:#2a4650;
}
.macro-card.protein{box-shadow:inset 0 2px 0 rgba(95,228,234,.55)}
.macro-card.carbs{box-shadow:inset 0 2px 0 rgba(216,138,88,.55)}
.macro-card.fat{box-shadow:inset 0 2px 0 rgba(239,180,107,.55)}
.bar{background:#20343d;height:6px}.protein .bar i{box-shadow:0 0 10px rgba(95,228,234,.35)}.carbs .bar i{box-shadow:0 0 10px rgba(216,138,88,.30)}.fat .bar i{box-shadow:0 0 10px rgba(239,180,107,.30)}
.quick-card{
  border-color:#2b4650;
  background:linear-gradient(145deg,#13242b,#0a1317);
}
.quick-card:nth-child(2),.quick-card:nth-child(4){box-shadow:inset 0 1px 0 rgba(95,228,234,.13)}
.quick-card:nth-child(1),.quick-card:nth-child(3){box-shadow:inset 0 1px 0 rgba(216,138,88,.11)}
.quick-icon{background:linear-gradient(145deg,#17343c,#10252c);border-color:#38707b;color:var(--teal)}
.quick-card:nth-child(1) .quick-icon,.quick-card:nth-child(3) .quick-icon{color:var(--copper);border-color:#6d4935;background:linear-gradient(145deg,#2b211b,#191411)}
.circle-add,.fab{
  background:linear-gradient(145deg,#eb9c68,#99502c);
  border-color:#efb083;
  box-shadow:0 10px 28px rgba(216,138,88,.28),inset 0 1px 0 rgba(255,255,255,.20);
}
.summary-pill{background:linear-gradient(145deg,#13242b,#0b1519);border-color:#2b4750}
.summary-pill:nth-child(1){box-shadow:inset 0 2px 0 rgba(216,138,88,.6)}
.summary-pill:nth-child(2){box-shadow:inset 0 2px 0 rgba(95,228,234,.6)}
.summary-pill:nth-child(3){box-shadow:inset 0 2px 0 rgba(216,138,88,.45)}
.summary-pill:nth-child(4){box-shadow:inset 0 2px 0 rgba(239,180,107,.5)}
.meal-icon{background:linear-gradient(145deg,#16323a,#0f242a);border:1px solid #315a65}
.meal-header-left .meal-icon{color:var(--teal)}
.meal-add,.food-result button{border-color:#3c707a;background:#122c33;color:var(--teal)}
.scan-hero{
  border-color:#5e4a3d;
  background:
    radial-gradient(circle at 50% 18%,rgba(216,138,88,.28),transparent 36%),
    radial-gradient(circle at 20% 76%,rgba(95,228,234,.12),transparent 30%),
    linear-gradient(135deg,#211813,#0a1115 56%,#17272d);
  box-shadow:inset 0 0 40px rgba(216,138,88,.06);
}
.scan-hero-copy{border-color:rgba(239,180,107,.72);box-shadow:0 0 25px rgba(216,138,88,.08)}
.scan-hero-copy strong{color:#f4f5f3}.scan-hero-copy small{color:#d3a77f}
.scan-action{background:linear-gradient(145deg,#14242b,#0c161a);border-color:#2c4851}
.scan-action.active{
  border-color:var(--teal);
  background:linear-gradient(145deg,rgba(42,186,197,.20),#0d1a1f);
  box-shadow:inset 0 0 0 1px rgba(95,228,234,.18),0 0 25px rgba(95,228,234,.12);
}
.scan-actions .scan-action:nth-child(1) span{color:var(--copper)}
.scan-actions .scan-action:nth-child(3) span{color:var(--amber)}
.outline-action{border-color:var(--copper);background:rgba(216,138,88,.09);color:#efad7f}
.button-primary{
  background:linear-gradient(145deg,#6be9ed,#269ca7);
  border-color:#78eef2;
  color:#041214;
  box-shadow:0 7px 18px rgba(43,186,197,.18);
}
.button-secondary{background:linear-gradient(145deg,#1f2d33,#121c20);border-color:#3b5360}
.recommend-card.best{border-color:var(--teal);background:linear-gradient(145deg,rgba(29,62,69,.98),#0c171b)}
.recommend-card:not(.best):nth-child(2){border-color:#41646d}.recommend-card:not(.best):nth-child(3){border-color:#445b50}.recommend-card:not(.best):nth-child(4){border-color:#6e4935}
.recommendation-list .recommend-card:nth-child(4) .rec-label,.recommendation-list .recommend-card:nth-child(4) .rank{color:var(--copper)}
.tab-switch{background:#0b1418;border-color:#2d4952}.tab-btn.active{background:linear-gradient(180deg,#18313a,#12242a);color:var(--teal);box-shadow:inset 0 -2px 0 var(--teal),0 0 18px rgba(95,228,234,.07)}
.recipe-visual{
  background:
    radial-gradient(circle at 18% 30%,rgba(216,138,88,.45),transparent 25%),
    radial-gradient(circle at 77% 38%,rgba(95,228,234,.22),transparent 28%),
    linear-gradient(135deg,#2a383e,#0f171a);
}
.shared-avatar{border-color:var(--copper);color:#efac7d;background:rgba(216,138,88,.07)}
.shop-group-title{color:var(--copper);background:rgba(216,138,88,.04)}
.shop-row input{accent-color:var(--teal)}
.more-link.active{border-color:var(--teal);background:linear-gradient(145deg,rgba(95,228,234,.08),#0d171b)}
.more-link>span{border:1px solid #315a64}.more-link:nth-child(2)>span,.more-link:nth-child(4)>span{color:var(--copper);border-color:#634532;background:#251c17}
.bottom-nav{
  background:linear-gradient(180deg,rgba(8,16,20,.98),rgba(4,8,10,.99));
  border-top:1px solid #2f4c56;
  box-shadow:0 -12px 28px rgba(0,0,0,.28);
}
.nav-item.active{color:var(--teal);text-shadow:0 0 16px rgba(95,228,234,.25)}
.nav-scan span{
  background:linear-gradient(145deg,#183941,#0e242a);
  border-color:var(--teal);
  box-shadow:0 7px 22px rgba(43,186,197,.22),inset 0 0 0 2px rgba(95,228,234,.08);
}
dialog{border-color:#365561;background:#0b1519}.dark-input{border-color:#34525d;background:#081115}.dark-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(95,228,234,.10)}


/* v2.4 hosted PWA additions */
#installApp { margin-top: 18px; }
#installStatus { margin: 10px 0 14px; }
#installApp[hidden] { display:none !important; }
.online-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(71,204,198,.25);border-radius:999px;background:rgba(71,204,198,.07);font-size:.78rem;color:var(--muted,#9aa8ad)}
.online-pill::before{content:'';width:7px;height:7px;border-radius:50%;background:#4bc9bd;box-shadow:0 0 10px rgba(75,201,189,.75)}
.online-pill.offline::before{background:#b77755;box-shadow:0 0 10px rgba(183,119,85,.6)}
\n\n/* v2.5 menu camera */\n.menu-camera-actions{display:grid;grid-template-columns:1.25fr .75fr;gap:10px;margin:12px 0}\n.menu-camera-actions .outline-action,.menu-camera-actions .button-secondary{margin:0}\n.menu-camera-shell{display:none;position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(57,216,208,.38);background:#05090b;margin:12px 0;box-shadow:0 0 0 1px rgba(57,216,208,.08) inset,0 14px 34px rgba(0,0,0,.32)}\n.menu-camera-shell.active{display:block}\n.menu-camera-shell video{display:block;width:100%;max-height:62vh;object-fit:cover;background:#000}\n.menu-camera-guide{pointer-events:none;position:absolute;inset:12% 8% 22%;border:2px solid rgba(57,216,208,.8);border-radius:14px;box-shadow:0 0 0 999px rgba(0,0,0,.12) inset}\n.menu-camera-guide span{position:absolute;top:-34px;left:50%;transform:translateX(-50%);white-space:nowrap;background:rgba(6,12,15,.86);padding:6px 10px;border-radius:999px;color:#d5ffff;font-size:.76rem}\n.menu-camera-controls{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;padding:12px;background:linear-gradient(180deg,rgba(13,22,27,.96),rgba(7,12,15,.98))}\n.menu-camera-controls button{margin:0}\n.camera-note{margin:8px 0 14px;color:var(--muted);font-size:.82rem;line-height:1.45}\n.camera-note.good{color:#91e7dc}.camera-note.warn{color:#f0b174}\n@media(max-width:520px){.menu-camera-actions{grid-template-columns:1fr 1fr}.menu-camera-guide{inset:13% 6% 24%}.menu-camera-controls{grid-template-columns:1fr 1fr}}\n\n\n/* === v2.7 compact menu camera + OCR === */\n.menu-camera-shell{max-width:100%;}\n.menu-camera-shell video{\n  width:100%;\n  height:clamp(210px,30vh,285px);\n  max-height:285px;\n  object-fit:cover;\n  object-position:center;\n}\n.menu-camera-guide{inset:9% 5% 25%;}\n.menu-camera-guide span{font-size:.68rem;top:-30px;}\n.menu-camera-controls{padding:9px;gap:8px;}\n.menu-camera-controls .button-primary,.menu-camera-controls .button-secondary{padding:10px 8px;}\n.image-preview img{max-height:210px;object-fit:contain;background:#05090b;border:1px solid var(--line);}\n.ocr-progress{margin-top:8px;height:5px;border-radius:99px;background:#1c2a31;overflow:hidden;}\n.ocr-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--teal2),var(--teal));transition:width .2s;}\n@media(max-height:760px){.menu-camera-shell video{height:220px;max-height:220px}.menu-camera-guide{inset:10% 5% 28%;}}\n@media(max-width:390px){.menu-camera-shell video{height:215px;max-height:215px}.menu-camera-actions{grid-template-columns:1fr 1fr}}\n
/* === v2.8.1 native menu camera + compact OCR preview === */
.compact-menu-preview{margin:10px 0 6px;display:flex;justify-content:center;align-items:center;min-height:0;}
.compact-menu-preview:empty{display:none;}
.compact-menu-preview img{display:block;width:auto;max-width:100%;height:auto;max-height:170px;object-fit:contain;border-radius:14px;background:#05090b;border:1px solid rgba(57,216,208,.22);box-shadow:0 8px 24px rgba(0,0,0,.24);}
.menu-camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;}
.menu-camera-actions button{min-height:48px;margin:0;}
#menuOcrProgress{margin:8px 0 12px;}
#menuOcrProgress[hidden]{display:none!important;}
@media(max-width:390px){.menu-camera-actions{grid-template-columns:1fr}.compact-menu-preview img{max-height:145px}}


/* === v2.9 AI meal photo estimator === */
.meal-ai-panel{border-color:#31515c;background:linear-gradient(145deg,#13242b,#0a1317)}
.ai-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--copper);background:rgba(216,138,88,.10);color:#f0ad80;font-weight:800;font-size:.72rem;letter-spacing:.08em}
.meal-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.meal-photo-actions button{margin:0;min-height:48px}
.meal-preview{display:flex;justify-content:center;align-items:center;margin:10px 0}.meal-preview:empty{display:none}.meal-preview img{display:block;width:auto;max-width:100%;max-height:260px;object-fit:contain;border-radius:16px;border:1px solid rgba(95,228,234,.22);background:#05090b;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.meal-ai-progress{height:5px;border-radius:99px;background:#1c2a31;overflow:hidden;margin:10px 0 14px}.meal-ai-progress[hidden]{display:none!important}.meal-ai-progress i{display:block;height:100%;width:45%;background:linear-gradient(90deg,var(--teal2),var(--teal),var(--copper));border-radius:99px;animation:mealAiSweep 1.15s ease-in-out infinite}@keyframes mealAiSweep{0%{transform:translateX(-110%)}100%{transform:translateX(250%)}}
.meal-ai-result{margin-top:14px}.meal-estimate-card{border:1px solid #335863;border-radius:18px;background:linear-gradient(145deg,#102129,#091216);padding:14px;box-shadow:inset 0 1px 0 rgba(95,228,234,.08)}
.meal-estimate-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.meal-estimate-head h3{margin:4px 0 4px;font-size:1.08rem}.meal-estimate-head p{margin:0;color:var(--muted);font-size:.78rem}.meal-estimate-kcal{text-align:right;min-width:78px}.meal-estimate-kcal strong{display:block;color:var(--teal);font-size:1.75rem;line-height:1}.meal-estimate-kcal small{color:var(--muted);font-size:.66rem;letter-spacing:.08em}
.meal-macros{margin:14px 0}.detected-foods,.estimate-assumptions{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.detected-foods>strong,.estimate-assumptions>strong{display:block;color:#edf4f5;margin-bottom:7px;font-size:.82rem}.detected-foods>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.82rem}.detected-foods small{color:var(--muted)}.detected-foods b{color:var(--copper);white-space:nowrap}.estimate-assumptions ul{margin:6px 0 0;padding-left:18px;color:var(--muted);font-size:.79rem;line-height:1.45}.estimate-note{color:var(--muted);font-size:.79rem;line-height:1.45;margin:12px 0}
.estimate-edit-grid{display:grid;grid-template-columns:1.5fr .75fr;gap:10px;margin:12px 0}.estimate-edit-grid label,.meal-edit-macros label{font-size:.74rem;color:var(--muted)}.estimate-edit-grid .dark-input,.meal-edit-macros .dark-input{margin-top:5px}.meal-edit-macros{margin-bottom:12px}.meal-ai-footer-actions{margin-top:10px}.privacy-note{margin:12px 0 0;color:#6f858d;font-size:.70rem;line-height:1.4}
@media(max-width:430px){.meal-photo-actions{grid-template-columns:1fr}.meal-preview img{max-height:220px}.estimate-edit-grid{grid-template-columns:1fr}.meal-estimate-head{align-items:center}.meal-estimate-kcal strong{font-size:1.55rem}}

/* === v2.9.2 packaged-product guardrails === */
.packaged-card{border-color:#52616a}.product-shield{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d88a58;color:#f0ad80;background:rgba(216,138,88,.10);border-radius:999px;padding:7px 10px;font-size:.68rem;font-weight:900;letter-spacing:.08em;white-space:nowrap}.product-shield.good{border-color:#4fcbd3;color:#72e4e8;background:rgba(79,203,211,.1)}.packaged-warning{margin:14px 0;padding:13px;border-radius:14px;border:1px solid rgba(216,138,88,.28);background:rgba(216,138,88,.07)}.packaged-warning strong{display:block;color:#f3d0b8;margin-bottom:5px}.packaged-warning p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.photo-barcode-alt{margin-top:9px}

/* === v2.9.2 food-photo recovery actions === */
.uncertain-actions{margin-top:14px}.uncertain-actions .button-primary,.uncertain-actions .button-secondary{min-height:48px;flex:1}.meal-estimate-card #retakeFoodPhoto{margin-top:10px}

/* === v3.0 weekly meal planning === */
.food-pane{display:none}.food-pane.active{display:block}
.week-plan-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;margin-bottom:10px}.week-plan-hero h2{margin:2px 0 4px}.week-plan-hero p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.week-plan-list{display:grid;gap:9px}.week-day-card{padding:0;overflow:hidden}.week-day-head{padding:11px 13px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(95,228,234,.05),transparent)}.week-day-head strong,.week-day-head small{display:block}.week-day-head strong{font-size:12px}.week-day-head small{font-size:8px;color:var(--muted);margin-top:2px}.week-meal-slots{display:grid}.week-meal-slot{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:9px;padding:10px 12px;border-top:1px solid rgba(38,54,63,.48)}.week-meal-slot:first-child{border-top:0}.week-meal-slot>span{font-size:9px;color:var(--copper);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.week-meal-slot strong,.week-meal-slot small{display:block}.week-meal-slot strong{font-size:11px}.week-meal-slot small{font-size:8.5px;color:var(--muted);margin-top:2px}.week-add,.week-slot-actions button{border:1px solid var(--line2);background:#14242a;color:var(--teal);border-radius:9px;padding:7px 9px;font-size:9px;font-weight:800}.week-slot-actions{display:flex;gap:5px}.week-slot-actions button:last-child{color:var(--muted2)}
.planned-meal{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 12px;background:linear-gradient(90deg,rgba(216,138,88,.08),rgba(95,228,234,.03));border-bottom:1px solid rgba(216,138,88,.2)}.planned-meal strong,.planned-meal small{display:block}.planned-meal strong{font-size:11px}.planned-meal small{font-size:8.5px;color:var(--muted);margin-top:2px}.planned-label{display:block;color:var(--copper);font-size:7px;font-weight:900;letter-spacing:.12em;margin-bottom:3px}.planned-meal.logged{opacity:.82}.planned-actions{display:flex;align-items:center;gap:5px}.planned-actions button{border:1px solid var(--line2);background:#17262e;color:var(--teal);border-radius:8px;padding:6px 7px;font-size:8px;font-weight:800}.planned-actions button:last-child{color:var(--muted2)}.planned-done{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(80,204,151,.1);color:var(--green);border:1px solid rgba(80,204,151,.25)}.dialog-help{font-size:9px;color:var(--muted);line-height:1.5}

/* === v3.0 meal photo context === */
.meal-description-label{display:block;margin:11px 0 2px;font-size:10px;font-weight:800;color:#c8d5da}.meal-description-label small{font-weight:600;color:var(--muted);margin-left:5px}.meal-description-label textarea{margin-top:7px;min-height:72px}

/* === v3.0 training === */
.training-profile{display:inline-flex;align-items:center;padding:7px 11px;border:1px solid var(--teal2);border-radius:999px;color:var(--teal);background:rgba(95,228,234,.05);font-size:10px;font-weight:900}.training-fixed-strip{display:grid;grid-template-columns:1fr auto 1.4fr auto 1fr;align-items:center;gap:6px;padding:10px;margin-bottom:10px;border:1px solid #31505a;border-radius:16px;background:linear-gradient(145deg,#101d22,#0b1418)}.training-fixed-strip div{text-align:center}.training-fixed-strip span,.training-fixed-strip strong{display:block}.training-fixed-strip span{font-size:6.5px;letter-spacing:.11em;color:var(--muted)}.training-fixed-strip strong{font-size:10px;margin-top:3px}.training-fixed-strip i{font-style:normal;color:var(--copper)}.training-pane{display:none}.training-pane.active{display:block}.training-coach-banner{padding:14px;margin-bottom:10px}.training-coach-banner>div{display:flex;gap:12px;align-items:flex-start}.coach-symbol{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#17363e,#0f2228);border:1px solid #2e6670;color:var(--teal);font-size:20px;flex:0 0 auto}.training-coach-banner h2{margin:0 0 4px;font-size:14px}.training-coach-banner p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.workout-template-list{display:grid;gap:10px}.workout-template{padding:14px}.workout-template-head{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.workout-template h2{font-size:15px;margin:2px 0 4px}.workout-template p{font-size:9px;color:var(--muted);margin:0}.template-machines{display:flex;flex-wrap:wrap;gap:5px;margin:11px 0 7px}.template-machines span{padding:6px 8px;border:1px solid #28434c;border-radius:999px;background:#0c171b;color:#b9c8cd;font-size:7.5px}.last-workout{display:block;color:var(--copper);font-size:8px;margin-top:7px}.active-workout.hidden,#trainingHome.hidden{display:none}.active-workout-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.active-workout-head h1{font-size:19px;margin:2px 0}.active-workout-head p{margin:0;color:var(--muted);font-size:9px}.cardio-log-card{padding:12px;margin-bottom:9px}.cardio-log-card>div:first-child{display:flex;gap:10px;align-items:center}.cardio-log-card h3{margin:1px 0 3px;font-size:13px}.cardio-log-card p{margin:0;color:var(--muted);font-size:9px}.cardio-log-card.completed{border-color:rgba(80,204,151,.28)}.cardio-log-card.disabled{opacity:.55}.cardio-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#162a31;color:var(--teal);font-size:18px}.done-check{color:var(--green);font-size:22px;float:right}.cardio-inputs{display:grid!important;grid-template-columns:repeat(3,1fr) auto;gap:6px!important;margin-top:10px}.cardio-inputs label{font-size:7px;color:var(--muted)}.cardio-inputs input{padding:8px;margin-top:3px;font-size:10px}.busy-gym-card{padding:11px 13px;margin-bottom:9px}.busy-gym-card label{display:flex;align-items:center;gap:10px}.busy-gym-card input{accent-color:var(--teal);width:18px;height:18px}.busy-gym-card strong,.busy-gym-card small{display:block}.busy-gym-card strong{font-size:11px}.busy-gym-card small{font-size:8px;color:var(--muted);margin-top:2px}.machine-queue{display:grid;gap:8px}.machine-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#111d22,#0d161b);padding:12px}.machine-card h3{font-size:12px;margin:4px 0 3px}.machine-card p{font-size:9px;color:#c3d0d4;margin:0 0 3px}.machine-card small{font-size:8px;color:var(--muted);line-height:1.35}.coach-pill{display:inline-flex;padding:4px 7px;border-radius:999px;border:1px solid #3b515a;background:#101a1e;color:#aab9be;font-size:7px;font-weight:900;letter-spacing:.06em}.coach-pill.ready{color:#83e5b4;border-color:rgba(80,204,151,.45);background:rgba(80,204,151,.06)}.coach-pill.build{color:#f2b27e;border-color:rgba(216,138,88,.45);background:rgba(216,138,88,.06)}.coach-pill.warn{color:#ef8d85;border-color:rgba(220,92,85,.45);background:rgba(220,92,85,.06)}.current-exercise{padding:14px;margin:10px 0;border-color:#3a6a75}.current-exercise-head{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:start}.current-exercise h2{font-size:16px;margin:2px 0 4px}.current-exercise-head p{font-size:8.5px;color:var(--muted);margin:0}.coach-reason{font-size:9px;color:#bfd0d4;line-height:1.45;margin:9px 0}.set-editor{display:grid;gap:6px}.set-row{display:grid;grid-template-columns:46px 1fr 1fr auto;gap:6px;align-items:end;padding:8px;border:1px solid #263e47;border-radius:12px;background:#0b1519}.set-row.done{border-color:rgba(80,204,151,.3);background:rgba(80,204,151,.035)}.set-row>span{font-size:9px;font-weight:900;align-self:center}.set-row label small{display:block;font-size:7px;color:var(--muted);margin-bottom:3px}.set-row input{padding:8px;font-size:10px}.set-done-btn{border:1px solid #315661;background:#172a31;color:var(--teal);border-radius:9px;padding:9px 8px;font-size:8px;font-weight:900}.set-row.done .set-done-btn{color:var(--green);border-color:rgba(80,204,151,.35)}.effort-label{display:block;margin-top:10px;font-size:9px;color:var(--muted)}.effort-label select{margin-top:5px}.rest-timer{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;margin:8px 0;padding:10px 12px;border-radius:12px;background:linear-gradient(90deg,rgba(95,228,234,.09),rgba(216,138,88,.06));border:1px solid #31505a}.rest-timer[hidden]{display:none!important}.rest-timer strong{font-size:20px;color:var(--teal)}.rest-timer span{font-size:8px;color:var(--muted);letter-spacing:.12em}.rest-timer button{border:0;background:transparent;color:var(--copper);font-size:9px;font-weight:900}.rest-timer.done strong{color:var(--green)}.done-machines{padding:12px;margin-top:9px}.done-machines h3{font-size:11px;margin:0 0 7px}.done-machines span{display:block;font-size:9px;color:var(--muted);padding:4px 0}.all-done-card{padding:13px;color:var(--green);font-size:10px;text-align:center}.finish-workout{margin:11px 0}.training-history-list{display:grid;gap:9px}.training-history-card{padding:13px}.training-history-card h2{font-size:14px;margin:0 0 2px}.training-history-card .section-title-row>strong{font-size:10px;color:var(--teal)}.history-exercises{display:grid;margin-top:9px}.history-exercises>div{display:grid;grid-template-columns:1fr auto;gap:8px;padding:7px 0;border-top:1px solid rgba(38,54,63,.45)}.history-exercises span{font-size:9px}.history-exercises b{font-size:8px;color:var(--muted);font-weight:700;text-align:right}.history-cardio{display:flex;justify-content:space-between;gap:8px;margin-top:9px;color:var(--copper);font-size:8px}

/* Six primary destinations in v3.0 */
.bottom-nav{grid-template-columns:repeat(6,1fr)}.nav-item small{font-size:7px}.nav-item span{font-size:18px}
@media(max-width:390px){.nav-item small{font-size:6.5px}.training-fixed-strip{grid-template-columns:1fr auto 1.25fr auto 1fr}.training-fixed-strip strong{font-size:9px}.cardio-inputs{grid-template-columns:1fr 1fr 1fr}.cardio-inputs button{grid-column:1/-1}.set-row{grid-template-columns:40px 1fr 1fr}.set-done-btn{grid-column:2/-1}.planned-meal{grid-template-columns:1fr}.planned-actions{justify-content:flex-start}}
