/* BPF Premium UI Wave 2 — major hubs + nutrition surfaces
   Presentation-only. No decision, generator, player, audio, record, or routing logic. */
:root{
  --bpf-w2-bg:#04101e;
  --bpf-w2-surface:#071a2d;
  --bpf-w2-surface-2:#0b2340;
  --bpf-w2-surface-3:#102d50;
  --bpf-w2-line:rgba(190,215,241,.14);
  --bpf-w2-line-strong:rgba(190,215,241,.25);
  --bpf-w2-text:#f7fbff;
  --bpf-w2-muted:#b8c9dc;
  --bpf-w2-muted-2:#88a1bb;
  --bpf-w2-blue:#3999ff;
  --bpf-w2-blue-2:#70bcff;
  --bpf-w2-teal:#59d6d1;
  --bpf-w2-warm:#d99a5b;
  --bpf-w2-success:#58c98b;
  --bpf-w2-danger:#ff6b78;
  --bpf-w2-r:22px;
  --bpf-w2-rs:15px;
  --bpf-w2-shadow:0 22px 64px rgba(0,0,0,.24);
}

/* Shared major-page rhythm */
body.bpf-wave2-programs,
body.bpf-wave2-training,
body.bpf-wave2-calculators,
body.bpf-wave2-calories,
body.bpf-wave2-macrotracker,
body.bpf-wave2-protein,
body.bpf-wave2-hydration,
body.bpf-wave2-dietbuilder,
body.bpf-wave2-programbuilder{
  background:
    radial-gradient(circle at 50% -160px,rgba(57,153,255,.09),transparent 420px),
    var(--bpf-w2-bg)!important;
  color:var(--bpf-w2-text)!important;
}
body[class*="bpf-wave2-"] :focus-visible{outline:3px solid rgba(89,214,209,.5)!important;outline-offset:3px!important}

/* PROGRAMS — turn a long legacy list into a premium browse hub without changing links. */
body.bpf-wave2-programs .wrap{max-width:1160px!important;padding:28px clamp(18px,3vw,34px) 110px!important}
body.bpf-wave2-programs .top{padding:8px 4px 18px!important}
body.bpf-wave2-programs .brand{font:900 14px/1 'Barlow',Arial,sans-serif!important;letter-spacing:.12em!important;color:var(--bpf-w2-blue-2)!important}
body.bpf-wave2-programs .hero{
  position:relative;overflow:hidden;padding:clamp(28px,4vw,48px)!important;margin-bottom:22px!important;
  border:1px solid rgba(75,160,255,.28)!important;border-radius:28px!important;
  background:linear-gradient(145deg,rgba(10,38,67,.98),rgba(5,18,33,.99))!important;box-shadow:var(--bpf-w2-shadow)!important;
}
body.bpf-wave2-programs .hero:after{content:"";position:absolute;right:-120px;bottom:-190px;width:360px;height:360px;border-radius:50%;border:1px solid rgba(89,214,209,.12);box-shadow:0 0 0 70px rgba(57,153,255,.035),0 0 0 140px rgba(89,214,209,.018);pointer-events:none}
body.bpf-wave2-programs .badge{background:rgba(89,214,209,.08)!important;border-color:rgba(89,214,209,.28)!important;color:var(--bpf-w2-teal)!important;padding:7px 11px!important}
body.bpf-wave2-programs h1{position:relative;z-index:1;font:900 clamp(44px,6vw,72px)/.9 'Barlow Condensed',Impact,sans-serif!important;text-transform:uppercase;letter-spacing:-.02em;margin:15px 0 12px!important}
body.bpf-wave2-programs .hero p{position:relative;z-index:1;max-width:760px;font-size:17px!important;line-height:1.6!important;color:var(--bpf-w2-muted)!important}
body.bpf-wave2-programs .bpf-w2-program-actions{position:relative;z-index:1;display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
body.bpf-wave2-programs .bpf-w2-program-actions a{min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:14px;text-decoration:none;font:900 13px/1 'Barlow',Arial,sans-serif;color:#fff!important}
body.bpf-wave2-programs .bpf-w2-program-actions .primary{background:linear-gradient(180deg,var(--bpf-w2-blue-2),var(--bpf-w2-blue));border:1px solid rgba(112,188,255,.56);box-shadow:0 12px 28px rgba(57,153,255,.18)}
body.bpf-wave2-programs .bpf-w2-program-actions .secondary{background:rgba(255,255,255,.035);border:1px solid var(--bpf-w2-line-strong)}
body.bpf-wave2-programs .seclbl{margin:26px 4px 11px!important;color:var(--bpf-w2-teal)!important;font:900 12px/1 'Barlow',Arial,sans-serif!important;letter-spacing:.14em!important}
body.bpf-wave2-programs .tile{min-height:96px;padding:17px!important;margin-bottom:10px!important;border:1px solid var(--bpf-w2-line)!important;border-left:1px solid var(--bpf-w2-line)!important;border-radius:18px!important;background:linear-gradient(150deg,rgba(10,35,61,.85),rgba(5,19,35,.94))!important;box-shadow:0 10px 28px rgba(0,0,0,.09);transition:transform .16s ease,border-color .16s ease,background .16s ease}
body.bpf-wave2-programs .tile:hover{transform:translateY(-1px);border-color:rgba(112,188,255,.34)!important;background:linear-gradient(150deg,rgba(12,43,75,.9),rgba(6,23,42,.96))!important}
body.bpf-wave2-programs .tile .ic{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:rgba(57,153,255,.08);font-size:24px!important}
body.bpf-wave2-programs .tile .tx b{font:900 22px/1 'Barlow Condensed',Impact,sans-serif!important;text-transform:uppercase;color:var(--bpf-w2-text)!important}
body.bpf-wave2-programs .tile .tx span{display:block;margin-top:5px;font-size:13px!important;line-height:1.45;color:var(--bpf-w2-muted)!important}
body.bpf-wave2-programs .tile .go{color:var(--bpf-w2-blue-2)!important}
body.bpf-wave2-programs .foot{color:var(--bpf-w2-muted-2)!important;border-color:var(--bpf-w2-line)!important}

/* TRAINING LIBRARY / WORKOUT SYSTEMS */
body.bpf-wave2-training .app{max-width:1240px!important;padding:24px clamp(16px,3vw,32px) 110px!important}
body.bpf-wave2-training .top{padding:8px 2px 18px!important}
body.bpf-wave2-training .hero{position:relative;overflow:hidden;padding:clamp(26px,4vw,44px)!important;border:1px solid rgba(75,160,255,.28)!important;border-radius:28px!important;background:linear-gradient(145deg,rgba(10,38,67,.98),rgba(5,18,33,.99))!important;box-shadow:var(--bpf-w2-shadow)!important}
body.bpf-wave2-training .hero h1{font:900 clamp(46px,6vw,74px)/.9 'Barlow Condensed',Impact,sans-serif!important;text-transform:uppercase!important;letter-spacing:-.02em!important;color:var(--bpf-w2-text)!important;margin:0 0 12px!important}
body.bpf-wave2-training .hero h1 span{color:var(--bpf-w2-blue-2)!important}
body.bpf-wave2-training .hero p{max-width:760px;font-size:16px!important;line-height:1.6!important;color:var(--bpf-w2-muted)!important}
body.bpf-wave2-training .hero-actions,body.bpf-wave2-training .small-grid{gap:9px!important}
body.bpf-wave2-training .hero .btn{min-height:50px!important;border-radius:14px!important;padding:13px 17px!important;box-shadow:none!important}
body.bpf-wave2-training .hero .btn.primary{background:linear-gradient(180deg,var(--bpf-w2-blue-2),var(--bpf-w2-blue))!important;border-color:rgba(112,188,255,.56)!important}
body.bpf-wave2-training .hero .btn.red,body.bpf-wave2-training .hero .btn.secondary{background:rgba(255,255,255,.035)!important;border-color:var(--bpf-w2-line-strong)!important;color:var(--bpf-w2-text)!important}
body.bpf-wave2-training .section-title{margin:26px 0 12px!important;align-items:end!important}
body.bpf-wave2-training .section-title h2{font:900 32px/1 'Barlow Condensed',Impact,sans-serif!important;text-transform:uppercase!important;color:var(--bpf-w2-text)!important}
body.bpf-wave2-training .filters{gap:7px!important;padding-bottom:6px}
body.bpf-wave2-training .filters button,body.bpf-wave2-training .filter{border-radius:999px!important;background:rgba(255,255,255,.035)!important;border:1px solid var(--bpf-w2-line)!important;color:var(--bpf-w2-muted)!important;box-shadow:none!important}
body.bpf-wave2-training .filters .active,body.bpf-wave2-training .filter.active{background:rgba(57,153,255,.15)!important;border-color:rgba(112,188,255,.42)!important;color:#fff!important}
body.bpf-wave2-training .grid{gap:12px!important}
body.bpf-wave2-training .card,body.bpf-wave2-training .workout-card{border-radius:20px!important;border:1px solid var(--bpf-w2-line)!important;background:linear-gradient(150deg,rgba(10,35,61,.84),rgba(5,19,35,.95))!important;box-shadow:0 10px 28px rgba(0,0,0,.10)!important}
body.bpf-wave2-training .card:hover,body.bpf-wave2-training .workout-card:hover{border-color:rgba(112,188,255,.34)!important}
body.bpf-wave2-training .coach-card,body.bpf-wave2-training .bpf-longevity-library-entry{border-radius:20px!important;border-color:var(--bpf-w2-line)!important;background:rgba(7,27,48,.82)!important}

/* INDEX: Nutrition Headquarters + compatibility Program page */
#page-macros{max-width:1180px!important}
#page-macros .bpf-w2-food-command{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;margin-bottom:16px;padding:clamp(22px,3vw,32px);border:1px solid rgba(75,160,255,.28);border-radius:26px;background:linear-gradient(145deg,rgba(10,38,67,.98),rgba(5,18,33,.99));box-shadow:var(--bpf-w2-shadow)}
#page-macros .bpf-w2-food-k{font:900 11px/1 'Barlow',sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--bpf-w2-teal)}
#page-macros .bpf-w2-food-command h1{margin:10px 0 10px;font:900 clamp(44px,6vw,70px)/.9 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;color:var(--bpf-w2-text);letter-spacing:-.02em}
#page-macros .bpf-w2-food-command p{max-width:690px;margin:0;color:var(--bpf-w2-muted);font-size:16px;line-height:1.58}
#page-macros .bpf-w2-food-doors{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:center}
#page-macros .bpf-w2-food-door{min-height:78px;padding:13px;border:1px solid var(--bpf-w2-line);border-radius:15px;background:rgba(255,255,255,.025);text-decoration:none!important;display:flex;flex-direction:column;justify-content:center;gap:5px;color:var(--bpf-w2-text)!important;cursor:pointer}
#page-macros .bpf-w2-food-door:hover{background:rgba(57,153,255,.07);border-color:rgba(112,188,255,.33)}
#page-macros .bpf-w2-food-door strong{font:900 18px/1 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase}
#page-macros .bpf-w2-food-door span{font-size:11px;line-height:1.35;color:var(--bpf-w2-muted-2)}
#page-macros .macro-hero{display:none!important}
#page-macros .gen-form-card,#page-macros .bpf-macro-tools-shell,#page-macros #nut-meal-form-wrap>div,#page-macros .bpf-diet-player-access{border:1px solid var(--bpf-w2-line)!important;border-radius:20px!important;background:linear-gradient(150deg,rgba(10,35,61,.78),rgba(5,19,35,.92))!important;box-shadow:none!important}
#page-macros .gen-form-card{padding:22px!important}
#page-macros .gen-form-title{font:900 23px/1 'Barlow Condensed',Impact,sans-serif!important;text-transform:uppercase!important;color:var(--bpf-w2-text)!important}
#page-macros .form-label{font-size:13px!important;color:var(--bpf-w2-muted)!important}
#page-macros .form-input{min-height:50px!important;border-radius:13px!important;border:1px solid var(--bpf-w2-line-strong)!important;background:rgba(8,32,57,.88)!important;color:var(--bpf-w2-text)!important;box-shadow:none!important}
#page-macros .btn-or{min-height:52px!important;border-radius:14px!important;background:linear-gradient(180deg,var(--bpf-w2-blue-2),var(--bpf-w2-blue))!important;border:1px solid rgba(112,188,255,.56)!important;box-shadow:0 12px 26px rgba(57,153,255,.17)!important;color:#fff!important}
#page-macros .bpf-nutrition-primary-actions a,#page-macros .bpf-nutrition-primary-actions button,#page-macros .bpf-macro-open-btn,#page-macros .bpf-macro-help-btn{border-radius:14px!important;background:rgba(255,255,255,.035)!important;border:1px solid var(--bpf-w2-line-strong)!important;color:var(--bpf-w2-text)!important;box-shadow:none!important}
#page-macros .bpf-nutrition-tabs{background:rgba(255,255,255,.025)!important;border-color:var(--bpf-w2-line)!important;border-radius:15px!important}
#page-macros .bpf-nutrition-tabs button{color:var(--bpf-w2-muted)!important;background:transparent!important}
#page-macros .bpf-nutrition-tabs button[style*="var(--s3)"],#page-macros .bpf-nutrition-tabs button[style*="rgba(201,255,0"]{background:rgba(57,153,255,.12)!important;color:#fff!important;box-shadow:none!important}
#page-macros .eyebrow{color:var(--bpf-w2-teal)!important}
#page-macros .page-title .hl,#page-macros .hl{color:var(--bpf-w2-blue-2)!important}
#page-macros [style*="color:var(--or)"]{color:var(--bpf-w2-teal)!important}

#page-gen .gen-hero,#page-gen .bpf-player-builder-card,#page-gen .gen-form-card,#page-gen .bpf-today-workout-builder-static{border-radius:20px!important;border-color:var(--bpf-w2-line)!important;background:linear-gradient(150deg,rgba(10,35,61,.78),rgba(5,19,35,.92))!important;box-shadow:none!important}
#page-gen .btn-or{background:linear-gradient(180deg,var(--bpf-w2-blue-2),var(--bpf-w2-blue))!important;border-color:rgba(112,188,255,.56)!important;box-shadow:none!important}
#page-gen .page-title .hl,#page-gen .hl{color:var(--bpf-w2-blue-2)!important}

/* CALCULATOR HUBS */
body.bpf-wave2-calculators .app,body.bpf-wave2-calories .app{max-width:1180px!important;padding:24px clamp(16px,3vw,32px) 110px!important}
body.bpf-wave2-calculators .hero,body.bpf-wave2-calories .hero{padding:clamp(26px,4vw,42px)!important;border-radius:26px!important;border:1px solid rgba(75,160,255,.28)!important;background:linear-gradient(145deg,rgba(10,38,67,.98),rgba(5,18,33,.99))!important;box-shadow:var(--bpf-w2-shadow)!important}
body.bpf-wave2-calculators .hero h1,body.bpf-wave2-calories .hero h1{font:900 clamp(42px,6vw,68px)/.9 'Barlow Condensed',Impact,sans-serif!important;text-transform:uppercase!important;color:var(--bpf-w2-text)!important}
body.bpf-wave2-calculators .hero p,body.bpf-wave2-calories .hero p{font-size:16px!important;line-height:1.6!important;color:var(--bpf-w2-muted)!important}
body.bpf-wave2-calculators .navgrid>a,body.bpf-wave2-calculators .calc-category,body.bpf-wave2-calculators .card,body.bpf-wave2-calories .group,body.bpf-wave2-calories .subcalc-card{border:1px solid var(--bpf-w2-line)!important;border-radius:19px!important;background:linear-gradient(150deg,rgba(10,35,61,.8),rgba(5,19,35,.94))!important;box-shadow:none!important}
body.bpf-wave2-calculators .calc-chip,body.bpf-wave2-calculators .calc-links a{border-radius:13px!important;background:rgba(255,255,255,.03)!important;border-color:var(--bpf-w2-line)!important;color:var(--bpf-w2-text)!important}
body.bpf-wave2-calories input,body.bpf-wave2-calories select{min-height:48px!important;border-radius:12px!important;background:rgba(8,32,57,.88)!important;border-color:var(--bpf-w2-line-strong)!important;color:var(--bpf-w2-text)!important}
body.bpf-wave2-calories button,body.bpf-wave2-calories .btn{border-radius:13px!important;box-shadow:none!important}

/* MACRO TRACKER — keep dense logging functionality, calm the shell. */
body.bpf-wave2-macrotracker #app-shell,body.bpf-wave2-macrotracker .shell{background:var(--bpf-w2-bg)!important}
body.bpf-wave2-macrotracker .topbar{background:rgba(4,16,30,.95)!important;border-color:var(--bpf-w2-line)!important;box-shadow:none!important}
body.bpf-wave2-macrotracker .main{max-width:1160px!important;margin:0 auto!important;padding-left:clamp(14px,3vw,26px)!important;padding-right:clamp(14px,3vw,26px)!important}
body.bpf-wave2-macrotracker .bpf-food-flow{border-radius:22px!important;border:1px solid rgba(75,160,255,.26)!important;background:linear-gradient(145deg,rgba(10,38,67,.96),rgba(5,18,33,.99))!important;box-shadow:none!important}
body.bpf-wave2-macrotracker .bpf-food-flow-title{color:var(--bpf-w2-text)!important}
body.bpf-wave2-macrotracker .bpf-food-flow-copy{color:var(--bpf-w2-muted)!important}
body.bpf-wave2-macrotracker .card,body.bpf-wave2-macrotracker [class*="card"],body.bpf-wave2-macrotracker .meal-section{border-color:var(--bpf-w2-line)!important;box-shadow:none!important}
body.bpf-wave2-macrotracker input,body.bpf-wave2-macrotracker select{border-radius:12px!important}

/* SMALL FOOD TOOLS */
body.bpf-wave2-protein .wrap,body.bpf-wave2-hydration .wrap{max-width:840px!important;padding:26px 20px 110px!important}
body.bpf-wave2-protein .top,body.bpf-wave2-hydration .top{margin-bottom:12px}
body.bpf-wave2-protein .card,body.bpf-wave2-hydration .card{padding:clamp(24px,4vw,38px)!important;border-radius:26px!important;border:1px solid rgba(75,160,255,.24)!important;background:linear-gradient(145deg,rgba(10,38,67,.95),rgba(5,18,33,.99))!important;box-shadow:var(--bpf-w2-shadow)!important}
body.bpf-wave2-protein h1,body.bpf-wave2-hydration h1{font:900 clamp(42px,7vw,66px)/.9 'Barlow Condensed',Impact,sans-serif!important;text-transform:uppercase!important;color:var(--bpf-w2-text)!important}
body.bpf-wave2-protein p,body.bpf-wave2-hydration p{color:var(--bpf-w2-muted)!important;line-height:1.55!important}
body.bpf-wave2-protein input,body.bpf-wave2-protein select,body.bpf-wave2-hydration input,body.bpf-wave2-hydration select{min-height:50px!important;border-radius:13px!important;background:rgba(8,32,57,.88)!important;border-color:var(--bpf-w2-line-strong)!important;color:var(--bpf-w2-text)!important}
body.bpf-wave2-protein button,body.bpf-wave2-hydration button{min-height:50px!important;border-radius:14px!important;background:linear-gradient(180deg,var(--bpf-w2-blue-2),var(--bpf-w2-blue))!important;border:1px solid rgba(112,188,255,.56)!important;box-shadow:none!important;color:#fff!important}
body.bpf-wave2-hydration .big{font:900 clamp(56px,10vw,86px)/.9 'Barlow Condensed',Impact,sans-serif!important;color:var(--bpf-w2-blue-2)!important}

/* GUIDED PROGRAM BUILDER alignment — generation logic untouched. */
body.bpf-wave2-programbuilder .page{max-width:1180px!important}
body.bpf-wave2-programbuilder .hero,body.bpf-wave2-programbuilder .section,body.bpf-wave2-programbuilder .legacy{border-color:var(--bpf-w2-line)!important;box-shadow:none!important}
body.bpf-wave2-programbuilder .hero{background:linear-gradient(145deg,rgba(10,38,67,.97),rgba(5,18,33,.99))!important}
body.bpf-wave2-programbuilder .entry-card,body.bpf-wave2-programbuilder .program-full,body.bpf-wave2-programbuilder .result{border-color:var(--bpf-w2-line)!important;background:rgba(7,27,48,.78)!important}
body.bpf-wave2-programbuilder .btn.primary{background:linear-gradient(180deg,var(--bpf-w2-blue-2),var(--bpf-w2-blue))!important;border-color:rgba(112,188,255,.56)!important;box-shadow:none!important}
body.bpf-wave2-programbuilder .guided-card{border-color:rgba(112,188,255,.28)!important;background:linear-gradient(150deg,#0b2847,#071a2f)!important}

/* Diet builder is coach-facing and dense: only align visual shell, no workflow changes. */
body.bpf-wave2-dietbuilder #app{background:var(--bpf-w2-bg)!important}
body.bpf-wave2-dietbuilder .header,body.bpf-wave2-dietbuilder .sidebar,body.bpf-wave2-dietbuilder .detail{border-color:var(--bpf-w2-line)!important}

@media (min-width:760px){
  body.bpf-wave2-programs .wrap{display:block}
  body.bpf-wave2-programs .seclbl+ .tile{margin-top:0}
}
@media(max-width:760px){
  body.bpf-wave2-programs .wrap,body.bpf-wave2-training .app,body.bpf-wave2-calculators .app,body.bpf-wave2-calories .app{padding-left:14px!important;padding-right:14px!important}
  body.bpf-wave2-programs .hero,body.bpf-wave2-training .hero{border-radius:22px!important;padding:24px 20px!important}
  body.bpf-wave2-programs .tile{align-items:flex-start!important;padding:15px!important}
  #page-macros .bpf-w2-food-command{grid-template-columns:1fr!important;padding:20px!important;border-radius:22px!important}
  #page-macros .bpf-w2-food-doors{grid-template-columns:1fr 1fr!important}
}
@media(max-width:520px){
  #page-macros .bpf-w2-food-doors{grid-template-columns:1fr!important}
  body.bpf-wave2-programs .bpf-w2-program-actions{display:grid;grid-template-columns:1fr;width:100%}
}

/* Generated 4-week program — make the result feel like a coaching schedule. */
body.bpf-wave2-programbuilder .gen-result-card{padding:clamp(20px,3vw,28px)!important;border:1px solid rgba(88,201,139,.26)!important;border-radius:22px!important;background:linear-gradient(150deg,rgba(9,37,61,.9),rgba(5,20,34,.97))!important}
body.bpf-wave2-programbuilder .gen-result-card>h3{color:var(--bpf-w2-text)!important}
body.bpf-wave2-programbuilder .prog-week{padding:18px!important;border:1px solid var(--bpf-w2-line)!important;border-radius:19px!important;background:rgba(255,255,255,.022)!important}
body.bpf-wave2-programbuilder .prog-week h4{color:var(--bpf-w2-blue-2)!important;letter-spacing:.02em}
body.bpf-wave2-programbuilder .prog-day{padding:16px 0!important;border-color:var(--bpf-w2-line)!important}
body.bpf-wave2-programbuilder .prog-day-name{font-size:18px!important;color:var(--bpf-w2-text)!important}
body.bpf-wave2-programbuilder .prog-meta{font-size:13px!important;color:var(--bpf-w2-muted)!important}
body.bpf-wave2-programbuilder .prog-exercise{background:rgba(255,255,255,.025)!important;border:1px solid rgba(190,215,241,.07)!important}
body.bpf-wave2-programbuilder .bpf-load-day-btn{min-height:42px!important;border-radius:13px!important;background:rgba(57,153,255,.14)!important;border-color:rgba(112,188,255,.42)!important;color:#fff!important}
