:root{
  --bg:#f6f7f5;
  --panel:#ffffff;
  --text:#141816;
  --muted:#707772;
  --line:#e6e9e5;
  --accent:#8fd438;
  --accent-2:#b8e56a;
  --dark:#111614;
  --shadow:0 18px 60px rgba(22,28,24,.08);
  --radius:26px;
}

/* ===== FitAI v203 — photo cards and direct ready-workout plans ===== */
.fai105-ready-card.fai203-ready-card{
  padding:0!important;
  overflow:hidden;
  cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.fai105-ready-card.fai203-ready-card:hover,
.fai105-ready-card.fai203-ready-card:focus-visible{
  transform:translateY(-3px);
  border-color:#5f9b42!important;
  box-shadow:0 18px 38px rgba(0,0,0,.28);
  outline:none;
}
.fai203-ready-photo{position:relative;height:172px;overflow:hidden;background:#071009}
.fai203-ready-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(2,5,3,.86) 100%)}
.fai203-ready-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;filter:saturate(.9) contrast(1.04)}
.fai203-ready-card:hover .fai203-ready-photo img{transform:scale(1.045)}
.fai203-ready-photo>span{position:absolute;z-index:2;left:15px;bottom:13px;color:#c8ff9c;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.fai203-ready-body{padding:17px 19px 19px}
.fai203-ready-body>small{color:#788378}.fai203-ready-body h3{margin:6px 45px 8px 0}
.fai203-ready-card>.fai105-heart{top:14px;right:14px;z-index:4;background:rgba(4,9,5,.82)!important;backdrop-filter:blur(8px)}
.fai203-ready-card .fai105-details{width:100%;margin-top:14px}
.fai203-plan-modal{overflow:auto!important}
.fai203-plan-photo{position:relative;flex:0 0 230px;min-height:230px;overflow:hidden;background:#071009}
.fai203-plan-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,5,3,.05),rgba(2,5,3,.88))}
.fai203-plan-photo img{width:100%;height:100%;object-fit:cover;display:block}
.fai203-plan-photo span{position:absolute;z-index:2;left:22px;bottom:18px;color:#c8ff9c;font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.fai203-plan-actions{padding:0 22px 22px}.fai203-plan-actions .btn{width:100%}
@media(max-width:650px){.fai203-ready-photo{height:190px}.fai203-plan-photo{flex-basis:190px;min-height:190px}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}
button,input{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.topbar{position:sticky;top:0;z-index:20;background:rgba(246,247,245,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.04)}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.03em;font-size:20px}
.logo{width:32px;height:32px;border-radius:10px;background:var(--accent);display:grid;place-items:center;font-weight:900;transform:rotate(-8deg)}
.navlinks{display:flex;gap:28px;color:#4b514d;font-size:14px}
.actions{display:flex;gap:10px}
.btn{border:0;border-radius:14px;padding:13px 18px;font-weight:700;background:#fff;color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}
.btn.primary{background:var(--dark);color:white;box-shadow:none}
.btn.accent{background:var(--accent);color:#10130f;box-shadow:none}
.btn.wide{width:100%;padding:16px 20px}
.hero{padding:76px 0 44px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:56px}
.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:9px 12px;background:white;border:1px solid var(--line);font-size:12px;font-weight:700;color:#515851}
h1{font-size:64px;line-height:.98;letter-spacing:-.06em;margin:18px 0 22px;max-width:760px}
.green{color:#7bc52f}
.lead{font-size:18px;line-height:1.6;color:#59605b;max-width:630px}
.hero-actions{display:flex;gap:12px;margin:30px 0}
.subnote{font-size:13px;color:#858b87}
.phone{width:min(420px,100%);margin:auto;background:#101412;border-radius:38px;padding:10px;box-shadow:0 30px 100px rgba(0,0,0,.18);transform:rotate(2deg)}
.phone-screen{background:#f8f9f7;border-radius:30px;min-height:680px;padding:20px;overflow:hidden}
.status{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:#4e554f;margin-bottom:30px}
.today-card{background:linear-gradient(145deg,#171d1a,#2a322e);color:white;border-radius:24px;padding:24px;position:relative;overflow:hidden}
.today-card:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-80px;top:-80px;background:radial-gradient(circle,var(--accent) 0 12%,transparent 13% 100%);opacity:.24}
.eyebrow{font-size:12px;color:#aeb7b0;text-transform:uppercase;letter-spacing:.06em}
.today-card h3{font-size:34px;margin:8px 0 14px;letter-spacing:-.04em}
.meta{color:#cad0cc;font-size:13px;margin-bottom:22px}
.streak,.coach-card,.mini-card{background:white;border:1px solid var(--line);border-radius:20px;padding:18px;margin-top:14px}
.streak strong,.coach-card strong{display:block;margin-bottom:8px}
.week-dots{display:flex;gap:8px;margin-top:10px}.dot{width:9px;height:9px;border-radius:50%;background:#e1e4e0}.dot.on{background:var(--accent)}
.section{padding:74px 0}
.section h2{font-size:42px;letter-spacing:-.045em;margin:0 0 12px}
.section-copy{color:var(--muted);max-width:700px;line-height:1.6;margin-bottom:32px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature{background:white;border:1px solid var(--line);border-radius:24px;padding:24px;min-height:210px}
.icon{width:46px;height:46px;border-radius:14px;background:#162112;display:grid;place-items:center;font-size:22px;margin-bottom:32px}
.feature h3{margin:0 0 10px;font-size:20px}.feature p{margin:0;color:var(--muted);line-height:1.55}
.demo-shell{display:grid;grid-template-columns:250px 1fr;min-height:720px;background:white;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}
.sidebar{padding:24px;border-right:1px solid var(--line);background:#fbfcfa;display:flex;flex-direction:column}
.sidebrand{margin-bottom:34px}.menu{display:flex;flex-direction:column;gap:8px}.menu button{border:0;background:transparent;text-align:left;padding:12px 14px;border-radius:12px;color:#5b625d;font-weight:600}.menu button.active{background:#edf4e1;color:#111;font-weight:800}.profile-mini{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;font-size:13px;color:#68706a}
.main{padding:32px;background:#f7f8f6;overflow:auto}.screen{display:none}.screen.active{display:block}.screen-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.screen h3{font-size:32px;letter-spacing:-.04em;margin:0}.muted{color:var(--muted)}
.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.card{background:white;border:1px solid var(--line);border-radius:22px;padding:22px}.workout-card{background:linear-gradient(145deg,#151a17,#262f2a);color:white;min-height:260px;display:flex;flex-direction:column;justify-content:space-between}.workout-card h4{font-size:36px;margin:6px 0 12px}.workout-card p{color:#c7cec9}.progress-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.metric{background:white;border:1px solid var(--line);border-radius:18px;padding:18px}.metric b{display:block;font-size:26px;margin-top:4px}.metric span{font-size:12px;color:var(--muted)}
.exercise{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.exercise:last-child{border-bottom:0}.exercise-title{font-weight:800}.exercise-meta{font-size:13px;color:var(--muted);margin-top:5px}.sets{font-weight:800}
.workout-top{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.exercise-visual{height:250px;border-radius:22px;background:linear-gradient(135deg,#d9dfda,#f1f3ef);display:grid;place-items:center;font-size:78px}.set-row{display:grid;grid-template-columns:40px 1fr 1fr 44px;gap:10px;align-items:center;margin:10px 0}.set-row input{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfcfa}.check{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:white}.check.done{background:var(--accent);border-color:var(--accent)}
.chat{display:flex;flex-direction:column;gap:12px}.bubble{max-width:76%;padding:14px 16px;border-radius:18px;line-height:1.45;font-size:14px}.bubble.user{align-self:flex-end;background:var(--accent)}.bubble.ai{align-self:flex-start;background:white;border:1px solid var(--line)}.quick{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.chip{border:1px solid var(--line);background:white;border-radius:999px;padding:9px 12px;font-size:12px}.chat-input{display:flex;gap:8px;margin-top:16px}.chat-input input{flex:1;border:1px solid var(--line);border-radius:14px;padding:14px;background:white}
.pricing{display:grid;grid-template-columns:1fr 1fr;gap:18px}.price{background:white;border:1px solid var(--line);border-radius:24px;padding:26px}.price.pro{background:#171d1a;color:white}.price h4{font-size:22px;margin:0 0 10px}.amount{font-size:44px;font-weight:800;letter-spacing:-.04em}.amount small{font-size:14px;color:var(--muted)}.price.pro small,.price.pro li{color:#cbd1cd}.price ul{padding-left:18px;line-height:1.9;color:#5f6661}
.onboard{max-width:650px;margin:0 auto}.stepbar{height:8px;background:#e6e9e5;border-radius:999px;overflow:hidden;margin-bottom:30px}.stepbar span{display:block;height:100%;background:var(--accent);width:20%;transition:.3s}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}.choice{border:1px solid var(--line);background:white;border-radius:18px;padding:20px;text-align:left;font-weight:700}.choice.selected{border-color:#7bc52f;box-shadow:0 0 0 3px rgba(143,212,56,.25)}
.toast{position:fixed;right:24px;bottom:24px;background:#141816;color:white;padding:14px 16px;border-radius:14px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:none}
footer{padding:44px 0 64px;color:#787f7a;font-size:13px}
@media(max-width:900px){.navlinks{display:none}.hero{grid-template-columns:1fr;padding-top:44px}h1{font-size:46px}.grid3{grid-template-columns:1fr}.demo-shell{grid-template-columns:1fr}.sidebar{display:none}.dashboard-grid,.workout-top,.pricing{grid-template-columns:1fr}.main{padding:18px}.progress-row{grid-template-columns:1fr}.choices{grid-template-columns:1fr}.phone{transform:none}.section{padding:52px 0}}

/* Theme switch */
:root[data-theme="dark"]{
  --bg:#0f1311;
  --panel:#171c19;
  --text:#f3f6f2;
  --muted:#9ca69f;
  --line:#2a312d;
  --dark:#f2f5f1;
  --shadow:0 18px 60px rgba(0,0,0,.28);
}
:root[data-theme="dark"] body{background:var(--bg);color:var(--text)}
:root[data-theme="dark"] .topbar{background:rgba(15,19,17,.9);border-bottom-color:rgba(255,255,255,.06)}
:root[data-theme="dark"] .navlinks{color:#b8c0bb}
:root[data-theme="dark"] .btn{background:#1b211e;color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}
:root[data-theme="dark"] .btn.primary{background:#f0f4ef;color:#10130f;box-shadow:none}
:root[data-theme="dark"] .btn.accent{background:var(--accent);color:#10130f;box-shadow:none}
:root[data-theme="dark"] .pill,
:root[data-theme="dark"] .streak,
:root[data-theme="dark"] .coach-card,
:root[data-theme="dark"] .mini-card,
:root[data-theme="dark"] .feature,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .metric,
:root[data-theme="dark"] .price,
:root[data-theme="dark"] .choice,
:root[data-theme="dark"] .chip,
:root[data-theme="dark"] .bubble.ai,
:root[data-theme="dark"] .check{background:#171c19;color:var(--text);border-color:var(--line)}
:root[data-theme="dark"] .phone{background:#050706;box-shadow:0 30px 100px rgba(0,0,0,.45)}
:root[data-theme="dark"] .phone-screen{background:#111613}
:root[data-theme="dark"] .status{color:#aeb8b1}
:root[data-theme="dark"] .demo-shell{background:#151a17;border-color:var(--line)}
:root[data-theme="dark"] .sidebar{background:#121714;border-right-color:var(--line)}
:root[data-theme="dark"] .menu button{color:#aab3ad}
:root[data-theme="dark"] .menu button.active{background:#27331e;color:#eff8df}
:root[data-theme="dark"] .main{background:#101512}
:root[data-theme="dark"] .set-row input,
:root[data-theme="dark"] .chat-input input{background:#111613;color:var(--text);border-color:var(--line)}
:root[data-theme="dark"] .exercise-visual{background:linear-gradient(135deg,#1e2621,#111613)}
:root[data-theme="dark"] .price.pro{background:#0a0e0c}
:root[data-theme="dark"] .choice.selected{border-color:#aee500;box-shadow:0 0 0 3px rgba(143,212,56,.18)}
:root[data-theme="dark"] .lead{color:#aab3ad}
:root[data-theme="dark"] .subnote{color:#818b84}
:root[data-theme="dark"] .green{color:#8fd438}
:root[data-theme="dark"] .theme-toggle{min-width:112px}

@media(max-width:700px){.theme-toggle{padding-left:12px;padding-right:12px}.actions .btn:not(.theme-toggle):first-of-type{display:none}}

/* Registration & extended onboarding */
.form-stack{display:grid;gap:14px;margin:22px 0}
.form-stack label,.body-fields label{font-size:13px;font-weight:700;color:var(--muted)}
.form-stack input,.body-fields input{width:100%;margin-top:8px;border:1px solid var(--line);border-radius:14px;padding:14px 15px;background:white;color:var(--text);font:inherit;outline:none}
.form-stack input:focus,.body-fields input:focus{border-color:#7bc52f;box-shadow:0 0 0 3px rgba(143,212,56,.18)}
.privacy-note,.health-note{font-size:12px;line-height:1.55;color:var(--muted);margin-top:14px}
.health-note{background:rgba(185,242,11,.09);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.body-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.onboard-actions{display:flex;gap:10px;margin-top:24px}.onboard-actions .grow{flex:1}
:root[data-theme="dark"] .form-stack input,:root[data-theme="dark"] .body-fields input{background:#111613;color:var(--text);border-color:var(--line)}
@media(max-width:700px){.body-fields{grid-template-columns:1fr}.actions .btn:nth-of-type(3){display:none}}


/* Programs catalog */
.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.program-tile{border:1px solid var(--line);background:white;color:var(--text);border-radius:20px;padding:19px;text-align:left;display:grid;grid-template-columns:42px 1fr;gap:4px 12px;align-items:center;cursor:pointer;font:inherit;transition:.18s}
.program-tile:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(30,40,32,.08);border-color:#b6db41}
.program-tile.selected{border-color:#7bc52f;box-shadow:0 0 0 3px rgba(143,212,56,.18)}
.program-icon{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#162112;font-size:21px}
.program-tile strong{font-size:15px}.program-tile>span:last-child{font-size:11px;color:var(--muted)}
.custom-workout{background:#7657ff!important;color:white!important;box-shadow:none!important;border:0;margin-top:8px}
.selection-panel{max-width:720px}.selection-panel h4,.program-summary h4{font-size:26px;margin:20px 0 8px;letter-spacing:-.03em}
.selection-back{font-size:13px;color:var(--muted);cursor:pointer;display:inline-block;margin-bottom:4px}
.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.place-card{min-height:150px;border:1px solid var(--line);background:white;color:var(--text);border-radius:22px;padding:24px;cursor:pointer;font:inherit;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:13px}
.place-card span{font-size:40px}.place-card strong{font-size:18px}.place-card:hover,.place-card.selected{border-color:#7bc52f;box-shadow:0 0 0 3px rgba(143,212,56,.16)}
.level-list{display:grid;gap:10px;margin-top:22px}.level-card{border:1px solid var(--line);background:white;color:var(--text);border-radius:17px;padding:16px 18px;text-align:left;display:flex;justify-content:space-between;gap:18px;cursor:pointer;font:inherit}.level-card strong{font-size:15px}.level-card span{font-size:12px;color:var(--muted);text-align:right}.level-card:hover,.level-card.selected{border-color:#7bc52f;background:#f8ffe3}
.program-summary{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.program-summary p{margin:0;color:var(--muted)}.small-pill{font-size:10px;padding:6px 9px}.program-start{margin-top:14px}
.body-fields.three{grid-template-columns:repeat(3,1fr)}
:root[data-theme="dark"] .program-tile,:root[data-theme="dark"] .place-card,:root[data-theme="dark"] .level-card{background:#171c19;color:var(--text);border-color:var(--line)}
:root[data-theme="dark"] .program-icon{background:#27331e}
:root[data-theme="dark"] .level-card:hover,:root[data-theme="dark"] .level-card.selected{background:#202a1b;border-color:#7bc52f}
@media(max-width:700px){.program-grid,.place-grid{grid-template-columns:1fr}.body-fields.three{grid-template-columns:1fr}.level-card{flex-direction:column;gap:5px}.level-card span{text-align:left}.program-summary{align-items:flex-start;flex-direction:column}}

/* Workout calendar strip */
.workout-calendar-wrap{margin:0 0 22px;padding:16px;border:1px solid var(--line);border-radius:20px;background:white}
.calendar-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.calendar-head>div{display:flex;gap:10px;align-items:baseline}.calendar-head strong{font-size:15px}.calendar-head span{font-size:11px;color:var(--muted)}.calendar-legend{white-space:nowrap}
.workout-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{min-height:82px;border:1px solid var(--line);background:#f8faf7;color:var(--text);border-radius:15px;padding:9px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:inherit;position:relative}.calendar-day:disabled{opacity:.55;cursor:default}.calendar-day.training-day{background:#f7ffe1;cursor:pointer}.calendar-day.training-day:hover{border-color:#7bc52f;transform:translateY(-1px)}.calendar-day.selected{border-color:#7bc52f;box-shadow:0 0 0 3px rgba(143,212,56,.18);background:#162112}.calendar-date{font-size:17px;font-weight:800}.calendar-weekday{font-size:10px;color:var(--muted);font-weight:700}.calendar-mark{font-size:17px;height:20px;line-height:20px}
:root[data-theme="dark"] .workout-calendar-wrap{background:#171c19;border-color:var(--line)}
:root[data-theme="dark"] .calendar-day{background:#111613;color:var(--text);border-color:var(--line)}
:root[data-theme="dark"] .calendar-day.training-day{background:#202a1b}
:root[data-theme="dark"] .calendar-day.selected{background:#27331e;border-color:#7bc52f}
@media(max-width:700px){.workout-calendar-wrap{padding:12px}.calendar-head{align-items:flex-start}.calendar-head>div{flex-direction:column;gap:2px}.calendar-legend{font-size:10px!important}.workout-calendar{gap:5px}.calendar-day{min-height:72px;padding:7px 3px;border-radius:12px}.calendar-date{font-size:14px}.calendar-mark{font-size:14px}}

/* Exercise details, motion demo and workout flow */
.exercise-list-card{padding:0;overflow:hidden}
.exercise-button{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;text-align:left;font:inherit}
.exercise-button:last-child{border-bottom:0}.exercise-button:hover{background:rgba(185,242,11,.08)}
.exercise-open{font-size:12px;font-weight:800;color:#7da000}
.workout-actions-row{display:flex;gap:8px;margin-top:10px}.exercise-nav-actions{display:grid;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.danger-soft{background:#fff4f2!important;color:#b33b2f!important;box-shadow:inset 0 0 0 1px #f0c7c1!important}.danger{background:#c84a3d!important;color:white!important;box-shadow:none!important}
.details-btn{margin-top:10px}.technique-panel{margin-top:12px;padding:18px;border:1px solid var(--line);border-radius:20px;background:white}.technique-panel h4{font-size:20px;margin:0 0 14px}.technique-panel ol{margin:18px 0 0;padding-left:22px;display:grid;gap:12px}.technique-panel li{padding-left:5px;line-height:1.5}.technique-note{margin-top:16px;padding:12px 14px;border-radius:13px;background:#f6f9f4;color:var(--muted);font-size:12px;line-height:1.5}
.exercise-visual.animated{padding:18px;display:block;min-height:265px}
.motion-demo{height:230px;position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#edf1ed,#dfe5e0);display:flex;align-items:center;justify-content:center}.motion-demo.large{height:260px}.motion-label{position:absolute;left:14px;bottom:12px;font-size:9px;font-weight:800;letter-spacing:.12em;color:#6f7771}.bench{position:absolute;width:170px;height:13px;background:#7e8982;border-radius:8px;top:61%;left:50%;transform:translateX(-50%)}.bench:after{content:"";position:absolute;width:9px;height:58px;background:#7e8982;left:50%;top:8px;transform:translateX(-50%)}.athlete{position:absolute;width:160px;height:115px;left:50%;top:47%;transform:translate(-50%,-50%)}.athlete .head{position:absolute;width:30px;height:30px;border-radius:50%;background:#202623;left:17px;top:52px}.athlete .torso{position:absolute;width:92px;height:22px;border-radius:18px;background:#202623;left:38px;top:61px;transform:rotate(-6deg)}.athlete .arm{position:absolute;width:62px;height:10px;border-radius:10px;background:#202623;top:54px;transform-origin:8px 5px;animation:pressArms 2.1s ease-in-out infinite}.athlete .arm.left{left:58px;transform:rotate(-63deg)}.athlete .arm.right{left:88px;transform:rotate(-117deg)}.barbell{position:absolute;width:180px;height:7px;background:#181d1a;border-radius:6px;left:50%;top:25%;transform:translateX(-50%);animation:barPress 2.1s ease-in-out infinite}.barbell:before,.barbell:after{content:"";position:absolute;width:12px;height:48px;background:#181d1a;top:50%;transform:translateY(-50%);border-radius:4px}.barbell:before{left:8px}.barbell:after{right:8px}.barbell span:before,.barbell span:after{content:"";position:absolute;width:8px;height:38px;background:#58615b;top:50%;transform:translateY(-50%);border-radius:3px}.barbell span:before{left:22px}.barbell span:after{right:22px}@keyframes barPress{0%,100%{top:43%}50%{top:22%}}@keyframes pressArms{0%,100%{filter:none}50%{filter:brightness(1.3)}}
.confirm-backdrop{position:fixed;inset:0;background:rgba(7,10,8,.55);z-index:99;display:grid;place-items:center;padding:20px;backdrop-filter:blur(5px)}.confirm-modal{width:min(460px,100%);background:white;color:#151916;border-radius:24px;padding:28px;box-shadow:0 30px 100px rgba(0,0,0,.25);text-align:center}.confirm-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:#fff0ed;color:#c84a3d;font-size:24px;font-weight:900}.confirm-modal h4{font-size:22px;margin:0 0 10px}.confirm-modal p{color:#6f7771;line-height:1.55}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
:root[data-theme="dark"] .technique-panel{background:#171c19;border-color:var(--line)}:root[data-theme="dark"] .technique-note{background:#111613}:root[data-theme="dark"] .motion-demo{background:linear-gradient(180deg,#222a25,#151a17)}:root[data-theme="dark"] .danger-soft{background:#281b19!important;color:#ff9e93!important;box-shadow:inset 0 0 0 1px #55302b!important}
@media(max-width:700px){.workout-actions-row,.confirm-actions{grid-template-columns:1fr;display:grid}.motion-demo{height:200px}.exercise-visual.animated{min-height:230px}.confirm-modal{padding:22px}}

/* Saved workout progress + exercise replacement picker */
.exercise-button.exercise-completed{background:rgba(185,242,11,.10)}
.exercise-open.done-mark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent,#8fd438);color:#121612;font-size:18px;font-weight:900}
.replaced-tag{display:inline-block;margin-left:7px;padding:3px 7px;border-radius:999px;background:#eee9ff;color:#6747de;font-size:9px;line-height:1;text-transform:uppercase;vertical-align:middle}
.replacement-modal{text-align:left;width:min(560px,100%)}
.replace-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.replace-head h4{text-align:left;margin:4px 0 0}.replace-copy{text-align:left!important;margin:10px 0 18px!important}.modal-close{width:36px;height:36px;border-radius:50%;border:1px solid #e2e6e1;background:white;font-size:24px;line-height:1;cursor:pointer}.replacement-list{display:grid;gap:10px;margin-bottom:16px}.replacement-card{width:100%;border:1px solid #e2e6e1;background:#f8faf7;border-radius:16px;padding:15px 16px;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;cursor:pointer;font:inherit;color:#151916}.replacement-card:hover{border-color:#7bc52f;background:#f5ffda}.replacement-card div{display:grid;gap:5px}.replacement-card strong{font-size:15px}.replacement-card span{font-size:12px;color:#6f7771}.replacement-card>b{font-size:12px;white-space:nowrap}
:root[data-theme="dark"] .exercise-button.exercise-completed{background:rgba(185,242,11,.08)}
:root[data-theme="dark"] .replaced-tag{background:#1f2b17;color:#d9efb3}
:root[data-theme="dark"] .modal-close{background:#171c19;color:var(--text);border-color:var(--line)}
:root[data-theme="dark"] .replacement-card{background:#111613;color:var(--text);border-color:var(--line)}
:root[data-theme="dark"] .replacement-card:hover{background:#202a1b;border-color:#7bc52f}

/* Interactive progress: body weight + richer strength history */
.progress-section{margin-top:18px}.progress-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px}.progress-section-head h4{font-size:20px;margin:0 0 5px}.progress-section-head p{margin:0}.weight-entry{min-width:285px}.weight-entry>label{display:block;font-size:11px;color:var(--muted);margin-bottom:6px;font-weight:700}.weight-entry>div{display:grid;grid-template-columns:1fr auto;gap:8px}.weight-entry input{min-width:0;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:var(--bg);color:var(--text);font:inherit;font-weight:800}.progress-chart{width:100%;height:220px;margin-top:18px;overflow:visible}.chart-line{fill:none;stroke:#7bc52f;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:#8fd438;stroke:var(--card);stroke-width:3}.chart-grid{stroke:var(--line);stroke-width:1}.chart-label{fill:var(--muted);font-size:11px}.history-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.history-chips span{padding:9px 11px;border:1px solid var(--line);border-radius:12px;display:grid;gap:2px;background:var(--bg)}.history-chips b{font-size:12px}.history-chips small{font-size:9px;color:var(--muted)}.strength-tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.strength-tabs button{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:999px;padding:8px 11px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.strength-tabs button.active{background:#8fd438;color:#111;border-color:#8fd438}.strength-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.strength-stats>div{border:1px solid var(--line);border-radius:15px;padding:13px;background:var(--bg);display:grid;gap:4px}.strength-stats span,.strength-stats small{font-size:10px;color:var(--muted)}.strength-stats b{font-size:18px}.strength-detail{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.strength-detail b{color:var(--text)}
:root[data-theme="dark"] .weight-entry input,:root[data-theme="dark"] .history-chips span,:root[data-theme="dark"] .strength-tabs button,:root[data-theme="dark"] .strength-stats>div{background:#111613}
@media(max-width:800px){.progress-section-head{flex-direction:column}.weight-entry{min-width:0;width:100%}.strength-tabs{justify-content:flex-start}.strength-stats{grid-template-columns:repeat(2,1fr)}}




/* v11: integrated third progress chart */
.editable-strength-stat{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.editable-strength-stat:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.combined-strength-chart .chart-line{transition:opacity .2s ease,stroke-width .2s ease}
.combined-strength-chart .combined-dot{transition:opacity .2s ease}
.combined-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.combined-legend button{border:0;background:transparent;color:var(--muted);font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;padding:0;opacity:.5}
.combined-legend button.active{color:var(--text);opacity:1}
.legend-line{width:28px;height:4px;border-radius:999px;background:currentColor;opacity:.45}
.legend-line.strong{height:5px;opacity:1}

/* v13 substantial feature content */
.feature-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.filter-chip{border:1px solid var(--line);background:var(--card);color:var(--text);padding:9px 13px;border-radius:999px;font-weight:700;cursor:pointer}.filter-chip.active{background:var(--accent);color:#111;border-color:var(--accent)}
.exercise-library-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.exercise-library-card{display:grid;grid-template-columns:88px 1fr;gap:14px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.exercise-visual{display:grid;place-items:center;border-radius:14px;background:var(--soft);font-size:32px}.exercise-library-card small,.exercise-library-card p{color:var(--muted)}.exercise-library-card h4{margin:4px 0}.exercise-actions{display:flex;gap:8px}.exercise-actions button,.quick-tools button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:8px 10px;font-weight:700;cursor:pointer}
.history-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.history-summary>div{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:14px}.history-summary span,.history-workout small{display:block;color:var(--muted);font-size:12px}.history-summary b{display:block;font-size:20px;margin-top:5px}.history-workout{display:grid;grid-template-columns:70px 1fr 1.2fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.history-workout:last-child{border:0}.history-workout button{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:10px;padding:8px 10px}.history-date{font-weight:800}
.recovery-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:14px}.body-map{text-align:center}.body-silhouette{font-size:100px;padding:20px}.recovery-item{display:grid;grid-template-columns:150px 1fr 45px;gap:12px;align-items:center;padding:9px 0}.recovery-item span{display:block;color:var(--muted);font-size:11px}.recovery-bar{height:9px;background:var(--soft);border-radius:999px;overflow:hidden}.recovery-bar i{display:block;height:100%;background:var(--accent);border-radius:999px}.ai-recommendation{display:flex;gap:14px;margin-top:14px}.ai-dot{width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:var(--accent);color:#111;display:grid;place-items:center;font-weight:900}.ai-recommendation p{margin-bottom:0;color:var(--muted)}
.advanced-workout-tools{margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--soft)}.advanced-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.advanced-title span{font-size:11px;color:var(--muted)}.advanced-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.advanced-grid label{font-size:11px;color:var(--muted);font-weight:700}.advanced-grid select{width:100%;margin-top:5px;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--text)}.quick-tools{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}
@media(max-width:760px){.exercise-library-grid,.history-summary,.recovery-layout{grid-template-columns:1fr}.history-workout{grid-template-columns:60px 1fr}.history-workout strong,.history-workout button{grid-column:2}.advanced-grid{grid-template-columns:1fr 1fr}}

/* v14 interaction layer */
.fp14-overlay{position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:9999;display:grid;place-items:center;padding:20px}.fp14-modal{width:min(620px,96vw);max-height:88vh;overflow:auto;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.fp14-modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.fp14-modal-head h3{margin:0}.fp14-modal-head button{border:0;background:transparent;color:inherit;font-size:28px;cursor:pointer}.fp14-modal-body{padding:20px}.fp14-modal-actions{padding:0 20px 20px;display:flex;justify-content:flex-end}.fp14-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fp14-form label{font-size:12px;font-weight:700;color:var(--muted)}.fp14-form input,.fp14-form select{width:100%;box-sizing:border-box;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text)}.plate-stack{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.plate-stack span{padding:8px 10px;border-radius:10px;background:var(--accent);color:#111;font-weight:800}.warm-list{display:grid;gap:8px;margin-top:15px}.warm-list div,.past-sets>div{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;background:var(--soft)}.past-sets{display:grid;gap:8px}.fp14-demo{height:150px;display:grid;place-items:center;background:var(--soft);border-radius:16px;font-size:60px}.readiness-form{display:grid;gap:15px}.readiness-form label{display:grid;grid-template-columns:1fr auto;gap:7px}.readiness-form input{grid-column:1/-1;width:100%}.readiness-score{margin-top:18px;padding:16px;border-radius:15px;background:var(--soft);display:flex;gap:15px;align-items:center}.readiness-score b{font-size:28px}.generated-workout{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.generated-workout>div{padding:12px;border-radius:12px;background:var(--soft)}.generated-workout span{display:block;color:var(--muted);font-size:11px}.generated-workout b{display:block;margin-top:4px}.recovery-actions14{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:650px){.fp14-form,.generated-workout{grid-template-columns:1fr}}

/* v15 exercise muscle categories */
.muscle-category-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:12px;
}
.muscle-category-card{
 display:grid;
 grid-template-columns:54px 1fr;
 gap:13px;
 align-items:center;
 padding:16px;
 border:1px solid var(--line);
 border-radius:18px;
 background:var(--card);
 color:var(--text);
 text-align:left;
 cursor:pointer;
 transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.muscle-category-card:hover{
 transform:translateY(-2px);
 box-shadow:0 8px 24px rgba(0,0,0,.06);
 border-color:var(--accent);
}
.muscle-category-icon{
 width:54px;height:54px;border-radius:15px;
 display:grid;place-items:center;
 background:var(--soft);
 font-size:25px;font-weight:900;
}
.muscle-category-card h4{margin:0 0 4px;font-size:16px}
.muscle-category-card p{margin:0 0 7px;color:var(--muted);font-size:12px;line-height:1.35}
.muscle-category-card span{font-size:12px;font-weight:800}
.muscle-exercise-panel{margin-top:18px}
.muscle-exercise-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.muscle-exercise-head small{color:var(--muted)}
.muscle-exercise-head h3{margin:3px 0 0}
@media(max-width:980px){.muscle-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.muscle-category-grid{grid-template-columns:1fr}}

/* v17 bench press exercise animation */
.exercise-visual-video{overflow:hidden;padding:0;background:#111}
.exercise-visual-video video{width:100%;height:100%;object-fit:cover;display:block}
.exercise-video-wrap{
 width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;
 background:#111;margin-bottom:16px;
}
.exercise-video{width:100%;height:100%;display:block;object-fit:contain;background:#111}

/* v18: full video, vertical exercise list, readable technique modal */

/* Exercise lists are now one card per row */
.exercise-library-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
}
.exercise-library-card{
  width:100%;
  box-sizing:border-box;
  grid-template-columns:180px minmax(0,1fr) !important;
  align-items:center;
}

/* Do not crop the bench press video anywhere */
.exercise-visual-video{
  width:180px !important;
  height:auto !important;
  aspect-ratio:16/9;
  overflow:hidden;
  padding:0 !important;
  background:#111;
}
.exercise-visual-video video{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block;
  background:#111;
}

/* Technique view: show the complete frame, preserving original proportions */
.exercise-video-wrap{
  width:100% !important;
  height:auto !important;
  aspect-ratio:16/9;
  border-radius:16px;
  overflow:hidden;
  background:#111;
  margin-bottom:18px;
}
.exercise-video{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center;
  display:block;
  background:#111;
}

/* Technique modal contrast.
   Default/light theme: white panel + black text. */
.fp14-modal{
  background:#ffffff !important;
  color:#111111 !important;
}
.fp14-modal-head{
  background:#ffffff !important;
  color:#111111 !important;
}
.fp14-modal-head button{color:#111111 !important}
.technique-content,
.technique-content h4,
.technique-content p,
.technique-content li,
.technique-content b,
.technique-content strong{
  color:#111111 !important;
}
.technique-content .extra-hint{
  color:#111111 !important;
  background:#f1f3ef !important;
}

/* Dark theme variants used by the demo */
html.dark .fp14-modal,
body.dark .fp14-modal,
[data-theme="dark"] .fp14-modal,
.dark-theme .fp14-modal{
  background:#171918 !important;
  color:#ffffff !important;
}
html.dark .fp14-modal-head,
body.dark .fp14-modal-head,
[data-theme="dark"] .fp14-modal-head,
.dark-theme .fp14-modal-head{
  background:#171918 !important;
  color:#ffffff !important;
  border-color:#343735 !important;
}
html.dark .fp14-modal-head button,
body.dark .fp14-modal-head button,
[data-theme="dark"] .fp14-modal-head button,
.dark-theme .fp14-modal-head button{
  color:#ffffff !important;
}
html.dark .technique-content,
html.dark .technique-content h4,
html.dark .technique-content p,
html.dark .technique-content li,
html.dark .technique-content b,
body.dark .technique-content,
body.dark .technique-content h4,
body.dark .technique-content p,
body.dark .technique-content li,
body.dark .technique-content b,
[data-theme="dark"] .technique-content,
[data-theme="dark"] .technique-content h4,
[data-theme="dark"] .technique-content p,
[data-theme="dark"] .technique-content li,
[data-theme="dark"] .technique-content b,
.dark-theme .technique-content,
.dark-theme .technique-content h4,
.dark-theme .technique-content p,
.dark-theme .technique-content li,
.dark-theme .technique-content b{
  color:#ffffff !important;
}
html.dark .technique-content .extra-hint,
body.dark .technique-content .extra-hint,
[data-theme="dark"] .technique-content .extra-hint,
.dark-theme .technique-content .extra-hint{
  color:#ffffff !important;
  background:#262927 !important;
}

@media(max-width:700px){
  .exercise-library-card{
    grid-template-columns:120px minmax(0,1fr) !important;
  }
  .exercise-visual-video{
    width:120px !important;
  }
}

/* ===== FitAI v205 — technique links inside ready-workout plans ===== */
.fai105-full-list>.fai205-tech-exercise{
  cursor:pointer;
  border-radius:11px;
  padding:11px 9px!important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.fai105-full-list>.fai205-tech-exercise:hover,
.fai105-full-list>.fai205-tech-exercise:focus-visible{
  background:rgba(143,212,56,.09);
  border-color:rgba(143,212,56,.42);
  transform:translateX(2px);
  outline:none;
}
.fai205-tech-exercise span{display:grid;gap:4px;font-size:12px!important}
.fai205-tech-exercise span i{color:#9dff4d;font-size:9px;font-style:normal;font-weight:850;letter-spacing:.04em}

/* ===== FitAI v206 — exercise media is a primary part of technique dialog ===== */
.fai137-tech-body>.fai159-course-photo{
  width:100%!important;
  min-height:280px!important;
  aspect-ratio:16/10!important;
  margin:0!important;
  border-radius:17px!important;
  overflow:hidden!important;
  border:1px solid rgba(157,255,77,.22)!important;
  background:#070b08!important;
}
.fai137-tech-body>.fai159-course-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:#070b08!important;
}
@media(max-width:650px){.fai137-tech-body>.fai159-course-photo{min-height:210px!important}}

/* ===== FitAI v208 — serious workout builder, gold VIP, paid meal plans ===== */
.fp-accent-icon{
  width:44px!important;height:44px!important;display:grid!important;place-items:center!important;
  border:1px solid #355035!important;border-radius:12px!important;
  background:linear-gradient(180deg,#132016,#0b120d)!important;
  color:#a8ea75!important;font:900 12px/1 Inter,system-ui,sans-serif!important;
  letter-spacing:.08em!important;box-shadow:inset 0 1px rgba(255,255,255,.035)!important;
}
.fp-accent-card{align-items:flex-start!important;text-align:left!important}

.fp-vip-btn-v54,.fai82-price-grid article.vip .fai82-gold,.fai82-gold{
  background:linear-gradient(180deg,#f2ca61,#c8901f)!important;
  color:#211500!important;
  border:1px solid #ffd978!important;
  box-shadow:0 10px 30px rgba(211,158,38,.25),inset 0 1px rgba(255,255,255,.45)!important;
}
.fp-vip-btn-v54:hover,.fai82-price-grid article.vip .fai82-gold:hover,.fai82-gold:hover{
  background:linear-gradient(180deg,#ffdc79,#d9a12b)!important;
  box-shadow:0 14px 38px rgba(224,173,48,.38),inset 0 1px rgba(255,255,255,.5)!important;
}

.fai208-plan-price{margin-top:13px;color:#f0c95d;font-size:20px;font-weight:950;letter-spacing:-.03em}
.fai208-buy-overlay{position:fixed;inset:0;z-index:800000;display:grid;place-items:center;padding:18px;background:rgba(2,5,3,.86);backdrop-filter:blur(12px)}
.fai208-buy-modal{position:relative;width:min(590px,96vw);max-height:92vh;overflow:auto;padding:30px;border:1px solid #49583f;border-radius:24px;background:linear-gradient(155deg,#121a13,#080d09);color:#edf2ea;box-shadow:0 42px 130px rgba(0,0,0,.72)}
.fai208-buy-modal>small{color:#9dff4d;font-size:9px;font-weight:950;letter-spacing:.13em}
.fai208-buy-modal h2{margin:9px 45px 10px 0;font-size:29px;line-height:1.08;letter-spacing:-.035em}
.fai208-buy-modal>p{margin:0 0 20px;color:#a6b0a3;font-size:13px;line-height:1.55}
.fai208-buy-includes{padding:18px;border:1px solid #2a382b;border-radius:16px;background:#0d140e}
.fai208-buy-includes>b{font-size:14px}
.fai208-buy-includes ul{margin:13px 0 0;padding-left:20px;display:grid;gap:10px;color:#c8d0c5;font-size:12px;line-height:1.5}
.fai208-buy-includes li::marker{color:#8fd438}
.fai208-buy-price{display:flex;align-items:end;justify-content:space-between;margin:20px 0 14px;padding:0 3px}
.fai208-buy-price span{color:#899487;font-size:11px}.fai208-buy-price b{color:#f2ca61;font-size:31px;letter-spacing:-.04em}
.fai208-buy-button,.fai208-buy-cancel{width:100%;border-radius:13px;padding:15px;font-weight:900;cursor:pointer}
.fai208-buy-button{border:1px solid #ffd978;background:linear-gradient(180deg,#f2ca61,#c8901f);color:#211500;box-shadow:0 12px 32px rgba(211,158,38,.2)}
.fai208-buy-cancel{margin-top:9px;border:1px solid #344235;background:#111812;color:#d3dbd0}
.fai208-buy-close{position:absolute;right:18px;top:18px;width:38px;height:38px;border:1px solid #364337;border-radius:11px;background:#111812;color:#fff;font-size:24px;cursor:pointer}
@media(max-width:560px){.fai208-buy-modal{padding:24px 18px}.fai208-buy-modal h2{font-size:24px}}

/* v19 favorites */
.exercise-library-card{position:relative}
.exercise-heart{
 position:absolute;
 top:12px;
 right:12px;
 z-index:4;
 width:38px;
 height:38px;
 display:grid;
 place-items:center;
 border:1px solid var(--line);
 border-radius:50%;
 background:var(--card);
 color:var(--text);
 font-size:23px;
 line-height:1;
 cursor:pointer;
 transition:transform .15s ease,background .15s ease;
}
.exercise-heart:hover{transform:scale(1.07)}
.exercise-heart.active{
 background:var(--accent);
 color:#111;
 border-color:var(--accent);
}
.exercise-library-card>div:last-child{padding-right:44px}
.favorites-empty{text-align:center;padding:48px 20px}
.favorites-empty>div{font-size:52px;margin-bottom:8px}
.favorites-empty h4{margin:0 0 6px}
.favorite-exercise-card .exercise-actions button{
 min-width:110px;
}

/* v20 chest library + detailed bench technique */
.bench-technique h4{font-size:18px;margin:18px 0 12px}
.bench-technique ol{padding-left:22px;margin:0}
.bench-technique li{margin-bottom:12px;line-height:1.55}


/* ===== v27 iPhone / mobile adaptation ===== */
.fitpath-mobile-nav{display:none}

@media (max-width: 760px){
  html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    -webkit-text-size-adjust:100%;
  }

  body{
    padding-bottom:calc(78px + env(safe-area-inset-bottom));
  }

  /* Desktop sidebar is hidden only on mobile */
  .sidebar,
  aside,
  [class*="sidebar"]{
    display:none !important;
  }

  /* Main application takes whole viewport */
  main,
  .main,
  .content,
  [class*="content"]{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    padding-left:14px !important;
    padding-right:14px !important;
    box-sizing:border-box !important;
  }

  .screen{
    width:100% !important;
    max-width:100% !important;
    padding:14px 0 24px !important;
    box-sizing:border-box;
  }

  .screen-head{
    align-items:flex-start !important;
    gap:12px !important;
    flex-direction:column !important;
  }

  .screen-head h3{
    font-size:26px !important;
    line-height:1.1;
  }

  .screen-head > button,
  .screen-head .btn{
    width:100%;
  }

  .card{
    border-radius:18px !important;
    padding:16px !important;
  }

  /* Common grids become single-column */
  .progress-row,
  .strength-stats,
  .strength-summary-v10,
  .research-metrics,
  .macro-grid,
  .nutrition-summary-grid,
  .nutrition-grid,
  .history-summary,
  .recovery-layout,
  .generated-workout,
  .exercise-library-grid{
    grid-template-columns:1fr !important;
  }

  /* Muscle categories stay compact 2-across */
  .muscle-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .muscle-category-card{
    grid-template-columns:42px 1fr !important;
    padding:12px !important;
    border-radius:15px !important;
  }
  .muscle-category-icon{
    width:42px !important;
    height:42px !important;
    font-size:20px !important;
  }
  .muscle-category-card h4{font-size:14px !important}
  .muscle-category-card p{font-size:11px !important}
  .muscle-category-card span{font-size:11px !important}

  /* Exercise cards vertical and video fully visible */
  .exercise-library-card{
    grid-template-columns:1fr !important;
    padding:14px !important;
  }
  .exercise-library-card>div:last-child{
    padding-right:0 !important;
  }
  .exercise-visual,
  .exercise-visual-video{
    width:100% !important;
    height:auto !important;
    min-height:150px;
    aspect-ratio:16/9;
  }
  .exercise-visual-video video{
    object-fit:contain !important;
  }
  .exercise-heart{
    top:10px !important;
    right:10px !important;
  }
  .exercise-actions{
    width:100%;
  }
  .exercise-actions button{
    width:100%;
    min-height:46px;
  }

  /* Calendar ribbon scrolls horizontally rather than squeezing */
  .calendar-strip,
  [class*="calendar"]{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .calendar-strip::-webkit-scrollbar,
  [class*="calendar"]::-webkit-scrollbar{display:none}

  /* Workout controls are easy to tap */
  .btn,
  button{
    min-height:44px;
    touch-action:manipulation;
  }

  .set-row{
    grid-template-columns:minmax(52px,.7fr) 1fr 1fr 48px !important;
    gap:7px !important;
  }
  .set-row input{
    min-width:0 !important;
    width:100% !important;
    font-size:16px !important;
  }

  /* iOS prevents zoom-on-focus when inputs are >= 16px */
  input, select, textarea{
    font-size:16px !important;
  }

  /* Charts remain readable */
  .progress-chart,
  .combined-strength-chart,
  svg.progress-chart{
    min-width:600px;
  }
  .progress-section{
    overflow:hidden;
  }
  .progress-section .progress-chart,
  .progress-section svg{
    width:100% !important;
    min-width:0 !important;
  }

  .strength-tabs,
  .strength-tabs-v10,
  .feature-filter-row{
    flex-wrap:nowrap !important;
    overflow-x:auto;
    padding-bottom:4px;
    -webkit-overflow-scrolling:touch;
  }
  .strength-tabs button,
  .strength-tabs-v10 button,
  .feature-filter-row button{
    flex:0 0 auto;
  }

  /* Modal / technique: almost full screen, readable, safe area aware */
  .fp14-overlay{
    padding:10px !important;
    align-items:flex-end !important;
  }
  .fp14-modal{
    width:100% !important;
    max-width:none !important;
    max-height:92dvh !important;
    border-radius:22px 22px 0 0 !important;
    margin-bottom:env(safe-area-inset-bottom);
  }
  .fp14-modal-head{
    position:sticky;
    top:0;
    z-index:3;
  }
  .fp14-modal-body{
    padding:16px !important;
  }
  .fp14-modal-actions{
    position:sticky;
    bottom:0;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
    background:inherit;
  }

  .exercise-video-wrap{
    aspect-ratio:auto !important;
    height:auto !important;
    background:#111;
  }
  .exercise-video{
    width:100% !important;
    height:auto !important;
    max-height:52vh;
    object-fit:contain !important;
  }

  .bench-technique ol{
    padding-left:20px !important;
  }
  .bench-technique li{
    font-size:15px;
    line-height:1.55;
  }

  /* History / recovery adapt */
  .history-workout{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .history-workout strong,
  .history-workout button{
    grid-column:auto !important;
  }
  .recovery-item{
    grid-template-columns:90px 1fr 42px !important;
  }

  /* Bottom nav */
  .fitpath-mobile-nav{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9000;
    padding:7px 6px calc(7px + env(safe-area-inset-bottom));
    background:color-mix(in srgb, var(--card,#fff) 94%, transparent);
    border-top:1px solid var(--line,#ddd);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

  .fitpath-mobile-nav button{
    border:0;
    background:transparent;
    color:var(--muted,#777);
    min-height:52px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    padding:4px 1px;
    border-radius:12px;
  }
  .fitpath-mobile-nav button span{
    font-size:20px;
    line-height:1;
  }
  .fitpath-mobile-nav button small{
    font-size:10px;
    white-space:nowrap;
  }
  .fitpath-mobile-nav button.active{
    color:var(--text,#111);
    background:var(--soft,#f1f3ef);
  }

  /* Respect iPhone notch / Dynamic Island */
  body{
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
  }
}

@media (max-width: 390px){
  .muscle-category-grid{
    grid-template-columns:1fr !important;
  }
  .fitpath-mobile-nav button small{
    font-size:9px;
  }
}


/* ===== v35 workout builder ===== */
.fp-builder-overlay{
  position:fixed;inset:0;z-index:12000;
  background:rgba(0,0,0,.52);
  display:flex;align-items:stretch;justify-content:center;
  padding:24px;
}
.fp-builder-shell{
  width:min(1320px,100%);
  height:calc(100vh - 48px);
  background:var(--bg,#f7f8f5);
  color:var(--text,#111);
  border:1px solid var(--line,#e2e5df);
  border-radius:24px;
  overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:0 26px 90px rgba(0,0,0,.28);
}
.fp-builder-top{
  display:flex;justify-content:space-between;align-items:center;
  padding:20px 24px;border-bottom:1px solid var(--line);
  background:var(--card,#fff);
}
.fp-builder-top small,.fp-builder-group-head small,.fp-builder-intro p,.fp-builder-exercise-info small,.fp-summary-item small,.fp-summary-time small{color:var(--muted,#6e746f)}
.fp-builder-top h2{margin:4px 0 0;font-size:25px}
.fp-builder-close{
  width:42px;height:42px;border:1px solid var(--line);border-radius:12px;
  background:var(--card);color:var(--text);font-size:28px;cursor:pointer;
}
#fpBuilderContent{flex:1;min-height:0;overflow:auto}
.fp-builder-step{padding:26px}
.fp-builder-step.compact{padding:0 0 18px}
.fp-builder-intro{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.fp-builder-intro h3{margin:2px 0 6px;font-size:22px}
.fp-builder-intro p{margin:0}
.fp-step-number{
  width:40px;height:40px;border-radius:12px;background:var(--accent,#b8ff25);color:#111;
  display:grid;place-items:center;font-weight:900;flex:0 0 40px;
}
.fp-builder-back{
  width:40px;height:40px;border-radius:12px;border:1px solid var(--line);
  background:var(--card);color:var(--text);cursor:pointer;font-size:19px;
}
.fp-accent-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;
}
.fp-accent-card{
  min-height:145px;padding:18px;border:1px solid var(--line);border-radius:18px;
  background:var(--card);color:var(--text);cursor:pointer;text-align:left;
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.fp-accent-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 24px rgba(0,0,0,.06)}
.fp-accent-icon{font-size:27px}
.fp-accent-card b{font-size:15px}
.fp-accent-card small{color:var(--muted);line-height:1.35}
.fp-builder-main{
  display:grid;grid-template-columns:minmax(0,1fr) 330px;
  gap:18px;padding:22px;height:100%;box-sizing:border-box;
}
.fp-builder-exercises{min-width:0}
.fp-group-tabs{
  display:flex;gap:7px;overflow-x:auto;padding:0 0 12px;
  position:sticky;top:0;z-index:3;background:var(--bg);
}
.fp-group-tabs button{
  flex:0 0 auto;border:1px solid var(--line);background:var(--card);color:var(--text);
  border-radius:999px;padding:8px 11px;font-weight:700;cursor:pointer;
}
.fp-group-tabs button.active{background:var(--accent);color:#111;border-color:var(--accent)}
.fp-builder-groups{display:grid;gap:16px;padding-bottom:30px}
.fp-builder-group{
  scroll-margin-top:60px;border:1px solid var(--line);background:var(--card);
  border-radius:18px;padding:16px;
}
.fp-builder-group.primary{border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}
.fp-builder-group-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.fp-builder-group-head h3{margin:3px 0 0}
.fp-builder-group-head>span{font-size:12px;color:var(--muted)}
.fp-builder-exercise-list{display:grid;gap:8px}
.fp-builder-exercise-row{
  display:grid;grid-template-columns:minmax(0,1fr) 90px 112px;gap:10px;align-items:center;
  padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--bg);
}
.fp-builder-exercise-row.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--bg))}
.fp-builder-exercise-info b{display:block;margin-bottom:4px}
.fp-builder-exercise-info small{font-size:11px}
.fp-sets-control span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}
.fp-sets-control select{
  width:100%;padding:8px;border:1px solid var(--line);border-radius:9px;
  background:var(--card);color:var(--text);font:inherit;
}
.fp-add-exercise{
  border:1px solid var(--line);background:var(--card);color:var(--text);
  border-radius:10px;padding:9px;cursor:pointer;font-weight:800;
}
.fp-add-exercise.added{background:var(--accent);border-color:var(--accent);color:#111}
.fp-builder-summary{
  position:sticky;top:0;align-self:start;
  border:1px solid var(--line);border-radius:18px;background:var(--card);
  padding:16px;max-height:calc(100vh - 140px);overflow:auto;
}
.fp-summary-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--line)}
.fp-summary-head h3{margin:3px 0 0}
.fp-summary-count{font-size:11px;font-weight:800;background:var(--soft);padding:7px 9px;border-radius:999px;white-space:nowrap}
.fp-summary-list{display:grid;gap:8px;padding:12px 0}
.fp-summary-item{display:grid;grid-template-columns:25px 1fr 24px;gap:8px;align-items:center}
.fp-summary-item>span{width:24px;height:24px;border-radius:8px;background:var(--soft);display:grid;place-items:center;font-size:11px;font-weight:800}
.fp-summary-item b{font-size:12px;display:block}
.fp-summary-item small{font-size:10px}
.fp-summary-item button{border:0;background:transparent;color:var(--muted);font-size:19px;cursor:pointer;padding:0}
.fp-summary-empty{padding:18px 8px;text-align:center;color:var(--muted);font-size:12px}
.fp-summary-time{border-top:1px solid var(--line);padding-top:13px;display:grid;gap:4px}
.fp-summary-time span{font-size:11px;color:var(--muted)}
.fp-summary-time b{font-size:24px}
.fp-summary-time small{font-size:10px;line-height:1.4}
.fp-save-workout{width:100%;margin-top:14px}
.fp-save-workout:disabled{opacity:.4;cursor:not-allowed}

@media(max-width:1000px){
  .fp-accent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fp-builder-main{grid-template-columns:1fr}
  .fp-builder-summary{position:sticky;bottom:0;top:auto;max-height:none;z-index:5}
  .fp-summary-list{max-height:190px;overflow:auto}
}
@media(max-width:760px){
  .fp-builder-overlay{padding:0}
  .fp-builder-shell{height:100dvh;border-radius:0;border:0}
  .fp-builder-top{padding:14px 15px;padding-top:calc(14px + env(safe-area-inset-top))}
  .fp-builder-top h2{font-size:20px}
  .fp-builder-step{padding:16px}
  .fp-accent-grid{grid-template-columns:1fr 1fr;gap:9px}
  .fp-accent-card{min-height:118px;padding:13px}
  .fp-builder-main{padding:13px;gap:12px}
  .fp-builder-exercise-row{grid-template-columns:1fr 70px;gap:8px}
  .fp-add-exercise{grid-column:1/-1;width:100%;min-height:43px}
  .fp-builder-summary{border-radius:16px;margin-bottom:calc(72px + env(safe-area-inset-bottom))}
  .fp-summary-list{max-height:130px}
}


/* v36: builder header follows the active theme instead of staying white */
.fp-builder-top{
  background:var(--card,#fff)!important;
  color:var(--text,#111)!important;
}
.fp-builder-top h2,.fp-builder-top small{color:var(--text,#111)!important}
.fp-builder-close{background:var(--bg,#f7f8f5)!important;color:var(--text,#111)!important}

/* My workouts */
.fp-my-workouts-overlay{position:fixed;inset:0;z-index:12500;background:rgba(0,0,0,.52);padding:24px;display:flex;justify-content:center}
.fp-my-workouts-shell{width:min(1100px,100%);height:calc(100vh - 48px);overflow:hidden;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:24px;display:flex;flex-direction:column}
.fp-my-workouts-head{padding:20px 24px;background:var(--card);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.fp-my-workouts-head small{color:var(--muted)} .fp-my-workouts-head h2{margin:4px 0 0}
.fp-my-workouts-head button{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:26px}
.fp-my-workouts-body{padding:20px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start}
.fp-workout-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:17px}
.fp-workout-card-top,.fp-workout-stats,.fp-workout-card-actions{display:flex;justify-content:space-between;gap:12px;align-items:center}
.fp-workout-card-top small,.fp-workout-ex-list small{color:var(--muted)} .fp-workout-card-top h3{margin:4px 0 0}
.fp-workout-card-top>span{background:var(--soft);padding:7px 9px;border-radius:999px;font-size:11px;font-weight:800}
.fp-workout-stats{padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}
.fp-workout-ex-list{display:grid;gap:8px;padding:13px 0}
.fp-workout-ex-list>div{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center}
.fp-workout-ex-list>div>span{width:24px;height:24px;border-radius:8px;background:var(--soft);display:grid;place-items:center;font-size:10px;font-weight:800}
.fp-workout-ex-list b{font-size:12px}.fp-workout-ex-list small{font-size:10px}
.fp-delete-workout{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:10px;padding:10px 12px}
.fp-no-workouts{grid-column:1/-1;text-align:center;padding:70px 20px;background:var(--card);border:1px solid var(--line);border-radius:18px}.fp-no-workouts p{color:var(--muted)}
@media(max-width:760px){
 .fp-my-workouts-overlay{padding:0}.fp-my-workouts-shell{height:100dvh;border-radius:0;border:0}
 .fp-my-workouts-head{padding-top:calc(14px + env(safe-area-inset-top))}
 .fp-my-workouts-body{grid-template-columns:1fr;padding:13px;padding-bottom:calc(90px + env(safe-area-inset-bottom))}
}


.fp-my-workouts-head-actions{display:flex;align-items:center;gap:10px}
.fp-my-workouts-head .fp-create-workout-top{
  width:auto;height:42px;padding:0 18px;border:0;border-radius:12px;
  background:#1677ff!important;color:#fff!important;font-size:13px;font-weight:800;
  white-space:nowrap;
}
.fp-my-workouts-head .fp-create-workout-top:hover{filter:brightness(.95)}
.fp-my-workouts-head .fp-my-workouts-close{width:42px;height:42px;padding:0}
@media(max-width:600px){
  .fp-my-workouts-head{align-items:flex-start}
  .fp-my-workouts-head-actions{gap:7px}
  .fp-my-workouts-head .fp-create-workout-top{height:40px;padding:0 12px;font-size:11px}
  .fp-my-workouts-head .fp-my-workouts-close{width:40px;height:40px}
}

.fp-change-plan-btn{margin-left:12px;padding:9px 13px;border-radius:11px}
@media(max-width:760px){.fp-change-plan-btn{margin:10px 0 0 0}}

/* v40 builder always above any parent overlay */
.fp-builder-overlay{z-index:14000!important}

/* clean program screen */
.program-calendar-only{padding:20px}
.program-calendar-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}
.program-calendar-head h4{margin:4px 0 0;font-size:20px;text-transform:capitalize}
.program-calendar-actions{display:flex;gap:7px}
.dynamic-program-calendar{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:9px;
}
.dynamic-calendar-day{
  min-height:92px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--card);
  color:var(--text);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
  position:relative;
}
.dynamic-calendar-day:hover{border-color:var(--accent)}
.dynamic-calendar-day.today{box-shadow:inset 0 0 0 2px var(--accent)}
.dynamic-calendar-day.selected{background:var(--accent);color:#111;border-color:var(--accent)}
.dynamic-calendar-date{font-size:22px;font-weight:900}
.dynamic-calendar-day small{text-transform:uppercase;font-size:10px;opacity:.65}
.dynamic-calendar-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.25}
.program-calendar-note{
  margin-top:18px;
  padding:18px;
  border-radius:15px;
  background:var(--soft);
}
.program-calendar-note p{margin:5px 0 0}

@media(max-width:760px){
  .program-calendar-head{align-items:flex-start;flex-direction:column}
  .dynamic-program-calendar{
    display:flex;
    overflow-x:auto;
    gap:8px;
    padding-bottom:5px;
    -webkit-overflow-scrolling:touch;
  }
  .dynamic-calendar-day{
    min-width:70px;
    min-height:82px;
    flex:0 0 70px;
  }
  .program-calendar-actions{width:100%}
  .program-calendar-actions .btn{flex:1}
}

/* v43 Today workout logic */
.today-workout-actions{display:grid;gap:9px}
.today-secondary-workout{
  background:transparent!important;
  color:inherit!important;
  border:1px solid rgba(255,255,255,.25)!important;
}
.workout-card .today-secondary-workout{color:#fff!important}
.fp-active-workout-overlay-v43{
  position:fixed;inset:0;z-index:15000;background:rgba(0,0,0,.55);
  display:flex;justify-content:center;padding:24px;
}
.fp-active-workout-shell-v43{
  width:min(850px,100%);height:calc(100vh - 48px);
  background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:24px;
  display:flex;flex-direction:column;overflow:hidden;
}
.fp-active-workout-head-v43{
  padding:20px 22px;border-bottom:1px solid var(--line);background:var(--card);
  display:flex;justify-content:space-between;gap:14px;align-items:flex-start;
}
.fp-active-workout-head-v43 small,.fp-active-workout-head-v43 p{color:var(--muted)}
.fp-active-workout-head-v43 h2{margin:4px 0}.fp-active-workout-head-v43 p{margin:4px 0 0}
.fp-active-workout-head-v43>button{
  width:42px;height:42px;border:1px solid var(--line);border-radius:12px;
  background:var(--bg);color:var(--text);font-size:25px;
}
.fp-active-workout-list-v43{padding:18px;overflow:auto;display:grid;gap:9px}
.fp-active-row-v43{
  display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;
  padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--card)
}
.fp-active-row-v43.done{opacity:.62}.fp-active-num-v43{width:34px;height:34px;border-radius:10px;background:var(--soft);display:grid;place-items:center;font-weight:900}
.fp-active-row-v43 b,.fp-active-row-v43 small{display:block}.fp-active-row-v43 small{color:var(--muted);margin-top:3px;font-size:11px}
.fp-active-row-v43 button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:9px 11px;font-weight:700}
.fp-active-workout-footer-v43{
  margin-top:auto;padding:16px 20px;border-top:1px solid var(--line);background:var(--card);
  display:flex;align-items:center;justify-content:space-between;gap:14px
}
.fp-active-workout-footer-v43 span{display:block;color:var(--muted);font-size:11px}
.fp-active-workout-footer-v43 b{font-size:18px}.fp-active-workout-footer-v43 .btn:disabled{opacity:.35}
@media(max-width:760px){
 .fp-active-workout-overlay-v43{padding:0}.fp-active-workout-shell-v43{height:100dvh;border-radius:0;border:0}
 .fp-active-workout-head-v43{padding-top:calc(14px + env(safe-area-inset-top))}
 .fp-active-row-v43{grid-template-columns:34px 1fr}.fp-active-row-v43 button{grid-column:2;width:100%}
 .fp-active-workout-footer-v43{padding-bottom:calc(16px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch}
}

/* v44 ready workout */
.ready-programs-wrap{margin-top:20px}
.ready-programs-head{margin-bottom:12px}
.ready-programs-head h4{margin:4px 0 0}
.ready-workout-card{
  position:relative;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--card);
  padding:18px;
}
.ready-workout-heart{
  position:absolute;top:14px;right:14px;
  width:40px;height:40px;border-radius:50%;
  border:1px solid var(--line);
  background:var(--card);color:var(--text);
  font-size:24px;display:grid;place-items:center;cursor:pointer;
}
.ready-workout-heart.active{background:var(--accent);border-color:var(--accent);color:#111}
.ready-workout-title{padding-right:54px}
.ready-workout-title small{color:var(--muted)}
.ready-workout-title h3{margin:4px 0 6px}
.ready-workout-title p{margin:0;color:var(--muted)}
.ready-workout-exercises{display:grid;gap:8px;margin-top:16px}
.ready-workout-exercises>div{
  display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;
  padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);
}
.ready-workout-exercises>div>span{
  width:28px;height:28px;border-radius:9px;background:var(--soft);
  display:grid;place-items:center;font-size:11px;font-weight:900;
}
.ready-workout-exercises b,.ready-workout-exercises small{display:block}
.ready-workout-exercises small{color:var(--muted);font-size:11px;margin-top:3px}
.ready-workout-footer{margin-top:15px;display:flex;justify-content:flex-end}
.ready-workout-footer .btn{min-width:190px}
@media(max-width:760px){
  .ready-workout-card{padding:14px}
  .ready-workout-footer .btn{width:100%}
}

/* v46 compact ready workout */
.ready-workout-details-v46{display:block;margin-top:14px}
.ready-workout-card.collapsed .ready-workout-details-v46{display:none}
.ready-workout-collapsed-actions{display:flex;justify-content:flex-end;margin-top:14px}
.ready-details-btn{min-width:130px}
.ready-workout-card.collapsed{padding-bottom:16px}
@media(max-width:760px){
  .ready-workout-collapsed-actions{justify-content:stretch}
  .ready-details-btn{width:100%}
}

/* v47 workout runner */
.fp-runner-overlay-v47{position:fixed;inset:0;z-index:16000;background:rgba(0,0,0,.58);padding:22px;display:flex;justify-content:center}
.fp-runner-shell-v47{width:min(1180px,100%);height:calc(100vh - 44px);background:var(--bg);color:var(--text);border-radius:24px;border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.fp-runner-head-v47{padding:18px 22px;background:var(--card);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.fp-runner-head-v47 small,.fp-runner-head-v47 p{color:var(--muted)}.fp-runner-head-v47 h2{margin:4px 0}.fp-runner-head-v47 p{margin:4px 0 0}.fp-runner-head-v47>button{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:25px}
.fp-runner-main-v47{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:18px;padding:18px;overflow:auto}
.fp-runner-visual-v47{min-width:0}.fp-runner-animation-v47{height:320px;border-radius:18px;background:var(--soft);display:grid;place-items:center;font-size:78px;margin-bottom:12px}.fp-runner-visual-v47>.btn{width:100%}
.fp-runner-ex-nav-v47{display:grid;gap:7px;margin-top:14px}.fp-runner-ex-nav-v47 button{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:center;text-align:left;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:11px;padding:9px}.fp-runner-ex-nav-v47 button span{width:28px;height:28px;border-radius:8px;background:var(--soft);display:grid;place-items:center}.fp-runner-ex-nav-v47 button.active{border-color:var(--accent)}.fp-runner-ex-nav-v47 button.done{opacity:.55}
.fp-runner-log-v47{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;align-self:start}.fp-runner-log-head-v47{display:flex;justify-content:space-between;align-items:flex-start}.fp-runner-log-head-v47 small,.fp-runner-log-head-v47 span{color:var(--muted)}.fp-runner-log-head-v47 h3{margin:3px 0 0}.fp-runner-log-head-v47>span{font-size:11px}
.fp-runner-set-labels-v47,.fp-runner-set-v47{display:grid;grid-template-columns:58px 1fr 1fr 48px;gap:8px;align-items:center}.fp-runner-set-labels-v47{padding:13px 0 6px;color:var(--muted);font-size:10px}.fp-runner-sets-v47{display:grid;gap:8px}.fp-runner-set-v47{padding:8px;border-radius:12px;background:var(--bg);border:1px solid var(--line)}.fp-runner-set-v47 input{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font-size:16px}.fp-runner-set-v47.done{border-color:var(--accent)}.fp-set-check-v47{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--card);font-size:20px}.fp-set-check-v47.active{background:var(--accent);border-color:var(--accent);color:#111}
.fp-rep-guidance-v47{margin-top:13px;padding:13px;border-radius:12px;background:var(--soft);display:grid;gap:5px}.fp-rep-guidance-v47 span{font-size:12px;color:var(--muted);line-height:1.45}.fp-runner-actions-v47{display:grid;gap:8px;margin-top:14px}.fp-runner-actions-v47 .btn{width:100%}.fp-runner-actions-v47 .btn:disabled{opacity:.35}.fp-finish-early-v47{background:transparent!important}
.fp-runner-progress-v47{margin-top:auto;padding:12px 20px;border-top:1px solid var(--line);background:var(--card);display:flex;justify-content:space-between;gap:12px}.fp-runner-progress-v47 span{color:var(--muted)}
/* exercise progress chart */
.fp-ex-progress-v47{margin-top:18px}.fp-ex-progress-head-v47{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.fp-ex-progress-head-v47 small{color:var(--muted)}.fp-ex-progress-head-v47 h3{margin:4px 0 0}.fp-ex-progress-head-v47 select{min-width:260px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text)}
.fp-ex-progress-stats-v47{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}.fp-ex-progress-stats-v47>div{padding:12px;border-radius:12px;background:var(--soft)}.fp-ex-progress-stats-v47 span{display:block;color:var(--muted);font-size:10px}.fp-ex-progress-stats-v47 b{font-size:18px}.fp-chart-v47{height:250px}.fp-chart-v47 svg{width:100%;height:100%;overflow:visible}.fp-axis-v47{stroke:currentColor;opacity:.15;stroke-width:1}.fp-line-v47{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.fp-point-v47{fill:var(--accent);stroke:var(--card);stroke-width:2}.fp-empty-chart-v47{height:220px;display:grid;place-items:center;background:var(--soft);border-radius:14px;color:var(--muted)}
@media(max-width:800px){
 .fp-runner-overlay-v47{padding:0}.fp-runner-shell-v47{height:100dvh;border-radius:0;border:0}.fp-runner-head-v47{padding-top:calc(14px + env(safe-area-inset-top))}
 .fp-runner-main-v47{grid-template-columns:1fr;padding:13px}.fp-runner-animation-v47{height:220px}.fp-runner-set-labels-v47,.fp-runner-set-v47{grid-template-columns:42px 1fr 1fr 46px}
 .fp-runner-progress-v47{padding-bottom:calc(12px + env(safe-area-inset-bottom));font-size:12px}.fp-ex-progress-head-v47{flex-direction:column}.fp-ex-progress-head-v47 select{width:100%;min-width:0}.fp-ex-progress-stats-v47{grid-template-columns:1fr 1fr}
}

/* v48: finish confirmation must sit ABOVE workout runner */
.fp-finish-modal-overlay-v48{
  position:fixed;inset:0;z-index:30000;
  background:rgba(0,0,0,.58);
  display:grid;place-items:center;padding:20px;
}
.fp-finish-modal-v48{
  width:min(560px,calc(100vw - 32px));
  background:var(--card);color:var(--text);
  border:1px solid var(--line);border-radius:20px;
  box-shadow:0 24px 80px rgba(0,0,0,.28);overflow:hidden;
}
.fp-finish-modal-head-v48{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 22px;border-bottom:1px solid var(--line);
}
.fp-finish-modal-head-v48 h3{margin:0;font-size:22px}
.fp-finish-modal-head-v48 button{
  width:38px;height:38px;border:0;background:transparent;
  color:var(--text);font-size:28px;line-height:1;cursor:pointer;
}
.fp-finish-modal-body-v48{padding:22px}
.fp-finish-modal-body-v48 p{margin:0;line-height:1.5;color:var(--text)}
.fp-finish-modal-actions-v48{
  display:flex;justify-content:flex-end;gap:10px;padding:0 22px 22px;
}
.fp-finish-modal-actions-v48 .btn{min-height:48px}

/* v48: compact repetition guidance */
.fp-rep-guidance-v47{
  margin-top:14px;padding:14px 15px;border-radius:14px;
  background:var(--soft);display:block;
}
.fp-rep-guide-title-v48{font-size:14px;margin-bottom:6px}
.fp-rep-guidance-v47 p{
  margin:0 0 10px;font-size:12px;line-height:1.45;color:var(--muted);
}
.fp-rep-guide-note-v48{
  font-size:11px;line-height:1.4;padding:8px 10px;margin-top:6px;
  border-radius:9px;background:var(--card);border:1px solid var(--line);
}
@media(max-width:600px){
  .fp-finish-modal-actions-v48{display:grid}
  .fp-finish-modal-actions-v48 .btn{width:100%}
  .fp-finish-modal-head-v48{padding:16px}
  .fp-finish-modal-body-v48{padding:18px 16px}
  .fp-finish-modal-actions-v48{padding:0 16px 16px}
}

/* v49: start button beside details */
.ready-workout-collapsed-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
.ready-workout-collapsed-actions .ready-details-btn,
.ready-workout-collapsed-actions .ready-start-btn-v49{
  min-width:130px;
}
.ready-start-btn-v49{
  background:var(--accent,#b8ff00)!important;
  color:#111!important;
  border-color:var(--accent,#b8ff00)!important;
  font-weight:900!important;
}

/* Technique modal must be above workout runner */
#fp14modal.fp-technique-over-runner-v49,
.fp-technique-over-runner-v49{
  z-index:32000!important;
}
#fp14modal.fp-technique-over-runner-v49 .fp14-modal{
  box-shadow:0 30px 100px rgba(0,0,0,.45)!important;
}

/* Finish modal: stronger contrast and visibility */
.fp-finish-modal-overlay-v48{
  z-index:33000!important;
  background:rgba(0,0,0,.74)!important;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.fp-finish-modal-v48{
  background:#fff!important;
  color:#111!important;
  border:2px solid #111!important;
  box-shadow:0 32px 120px rgba(0,0,0,.55)!important;
}
.fp-finish-modal-head-v48{
  background:#fff!important;
  color:#111!important;
  border-bottom:1px solid #d9d9d9!important;
}
.fp-finish-modal-head-v48 h3,
.fp-finish-modal-body-v48 p,
.fp-finish-modal-head-v48 button{
  color:#111!important;
}
.fp-finish-modal-body-v48{
  background:#fff!important;
}
.fp-finish-modal-actions-v48{
  background:#fff!important;
}
.fp-finish-modal-actions-v48 .btn:not(.accent){
  background:#fff!important;
  color:#111!important;
  border:1px solid #bfc3bf!important;
}
.fp-finish-modal-actions-v48 .btn.accent{
  background:var(--accent,#b8ff00)!important;
  color:#111!important;
  border-color:var(--accent,#b8ff00)!important;
  font-weight:900!important;
}

/* Dark theme: still high contrast */
html.dark .fp-finish-modal-v48,
body.dark .fp-finish-modal-v48,
[data-theme="dark"] .fp-finish-modal-v48,
.dark-theme .fp-finish-modal-v48{
  background:#121412!important;
  color:#fff!important;
  border-color:#fff!important;
}
html.dark .fp-finish-modal-head-v48,
html.dark .fp-finish-modal-body-v48,
html.dark .fp-finish-modal-actions-v48,
body.dark .fp-finish-modal-head-v48,
body.dark .fp-finish-modal-body-v48,
body.dark .fp-finish-modal-actions-v48,
[data-theme="dark"] .fp-finish-modal-head-v48,
[data-theme="dark"] .fp-finish-modal-body-v48,
[data-theme="dark"] .fp-finish-modal-actions-v48,
.dark-theme .fp-finish-modal-head-v48,
.dark-theme .fp-finish-modal-body-v48,
.dark-theme .fp-finish-modal-actions-v48{
  background:#121412!important;
}
html.dark .fp-finish-modal-head-v48 h3,
html.dark .fp-finish-modal-body-v48 p,
html.dark .fp-finish-modal-head-v48 button,
body.dark .fp-finish-modal-head-v48 h3,
body.dark .fp-finish-modal-body-v48 p,
body.dark .fp-finish-modal-head-v48 button,
[data-theme="dark"] .fp-finish-modal-head-v48 h3,
[data-theme="dark"] .fp-finish-modal-body-v48 p,
[data-theme="dark"] .fp-finish-modal-head-v48 button,
.dark-theme .fp-finish-modal-head-v48 h3,
.dark-theme .fp-finish-modal-body-v48 p,
.dark-theme .fp-finish-modal-head-v48 button{
  color:#fff!important;
}

@media(max-width:760px){
  .ready-workout-collapsed-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
  .ready-workout-collapsed-actions .ready-details-btn,
  .ready-workout-collapsed-actions .ready-start-btn-v49{
    width:100%!important;
    min-width:0!important;
  }
}

/* v50 collapsible My Workouts cards */
.fp-workout-card-v50 .fp-workout-details-v50{
  display:block;
}
.fp-workout-card-v50.collapsed .fp-workout-details-v50{
  display:none;
}
.fp-workout-collapsed-actions-v50{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:14px;
}
.fp-workout-collapsed-actions-v50 .btn{
  min-width:120px;
}
.fp-workout-card-v50.collapsed{
  padding-bottom:16px;
}

/* workout naming dialog */
.fp-name-modal-overlay-v50{
  position:fixed;
  inset:0;
  z-index:35000;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  display:grid;
  place-items:center;
  padding:20px;
}
.fp-name-modal-v50{
  width:min(520px,calc(100vw - 32px));
  background:var(--card,#fff);
  color:var(--text,#111);
  border:1px solid var(--line,#ddd);
  border-radius:20px;
  box-shadow:0 30px 110px rgba(0,0,0,.4);
  overflow:hidden;
}
.fp-name-modal-head-v50{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:20px 22px;
  border-bottom:1px solid var(--line);
}
.fp-name-modal-head-v50 small{
  color:var(--muted);
}
.fp-name-modal-head-v50 h3{
  margin:4px 0 0;
  font-size:22px;
}
.fp-name-modal-head-v50 button{
  width:38px;
  height:38px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--bg);
  color:var(--text);
  font-size:24px;
}
.fp-name-modal-body-v50{
  padding:22px;
}
.fp-name-modal-body-v50 label span{
  display:block;
  margin-bottom:7px;
  font-size:12px;
  font-weight:800;
}
.fp-name-modal-body-v50 input{
  width:100%;
  box-sizing:border-box;
  padding:14px 15px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--bg);
  color:var(--text);
  font-size:16px;
  outline:none;
}
.fp-name-modal-body-v50 input:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);
}
.fp-name-modal-summary-v50{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:13px;
}
.fp-name-modal-summary-v50 span{
  padding:7px 9px;
  border-radius:999px;
  background:var(--soft);
  color:var(--muted);
  font-size:11px;
  font-weight:700;
}
.fp-name-modal-actions-v50{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  padding:0 22px 22px;
}
.fp-name-modal-actions-v50 .btn{
  min-height:46px;
}

@media(max-width:760px){
  .fp-workout-collapsed-actions-v50{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .fp-workout-collapsed-actions-v50 .btn{
    width:100%;
    min-width:0;
  }
  .fp-name-modal-actions-v50{
    display:grid;
  }
  .fp-name-modal-actions-v50 .btn{
    width:100%;
  }
}

.fp-workout-card-actions-v52{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
}
.fp-delete-workout-v52{
  order:0;
  background:transparent!important;
  color:#d33434!important;
  border:1px solid rgba(211,52,52,.35)!important;
  border-radius:10px!important;
  padding:10px 14px!important;
  font-weight:800!important;
  cursor:pointer!important;
}
.fp-delete-workout-v52:hover{
  background:rgba(211,52,52,.07)!important;
  border-color:#d33434!important;
}

.fp-delete-modal-overlay-v52{
  position:fixed;
  inset:0;
  z-index:36000;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  display:grid;
  place-items:center;
  padding:20px;
}
.fp-delete-modal-v52{
  width:min(520px,calc(100vw - 32px));
  background:var(--card,#fff);
  color:var(--text,#111);
  border:1px solid var(--line,#ddd);
  border-radius:20px;
  box-shadow:0 32px 120px rgba(0,0,0,.48);
  overflow:hidden;
}
.fp-delete-modal-head-v52{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding:20px 22px;
  border-bottom:1px solid var(--line);
}
.fp-delete-modal-head-v52 small{color:var(--muted)}
.fp-delete-modal-head-v52 h3{margin:4px 0 0;font-size:22px}
.fp-delete-modal-head-v52 button{
  width:38px;height:38px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--bg);
  color:var(--text);
  font-size:24px;
}
.fp-delete-modal-body-v52{padding:22px}
.fp-delete-modal-body-v52 p{margin:0;line-height:1.5}
.fp-delete-warning-v52{
  margin-top:10px!important;
  color:#d33434!important;
  font-size:12px;
  font-weight:800;
}
.fp-delete-modal-actions-v52{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  padding:0 22px 22px;
}
.fp-delete-confirm-v52{
  background:#d33434!important;
  color:#fff!important;
  border:1px solid #d33434!important;
  font-weight:900!important;
}
@media(max-width:760px){
  .fp-workout-card-actions-v52{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
  .fp-workout-card-actions-v52 button{width:100%!important}
  .fp-delete-modal-actions-v52{display:grid}
}

/* v54 subscriptions */
.fp-pricing-v54{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch}
.fp-plan-v54{position:relative;display:flex;flex-direction:column}
.fp-plan-v54 .amount{margin-bottom:14px}
.fp-feature-list-v54{display:grid!important;gap:10px!important;margin:4px 0 20px!important;padding:0!important}
.fp-feature-list-v54 li{list-style:none!important;display:grid;grid-template-columns:22px 1fr;align-items:start;gap:8px;line-height:1.35}
.fp-feature-list-v54 li span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:950}
.fp-feature-list-v54 .yes{font-weight:800}
.fp-feature-list-v54 .yes span{background:#dff7e7;color:#15803d}
.fp-feature-list-v54 .no{color:var(--muted);opacity:.5;font-size:13px}
.fp-feature-list-v54 .no span{background:var(--soft);color:var(--muted)}
.fp-plan-v54>.btn{margin-top:auto}
.fp-plan-badge-v54,.fp-vip-badge-v54{position:absolute;right:16px;top:14px;font-size:9px;font-weight:950;letter-spacing:.08em;border-radius:999px;padding:6px 9px}
.fp-plan-badge-v54{background:var(--accent);color:#111}
.fp-vip-v54{border:2px solid #c9a227!important;box-shadow:0 16px 50px rgba(201,162,39,.15)!important;position:relative}
.fp-vip-v54:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,rgba(255,215,0,.08),transparent 40%)}
.fp-vip-badge-v54{background:linear-gradient(135deg,#f4d66c,#b68b16);color:#241b00}
.fp-vip-coach-v54{display:flex;gap:11px;align-items:flex-start;padding:14px;border:1px solid #c9a227;border-radius:14px;background:rgba(201,162,39,.10);margin:2px 0 18px}
.fp-vip-coach-v54>span{font-size:20px;color:#c9a227}
.fp-vip-coach-v54 strong{display:block;font-size:12px;line-height:1.4}
.fp-vip-coach-v54 small{display:block;margin-top:5px;color:var(--muted)}
.fp-vip-btn-v54{background:linear-gradient(135deg,#f4d66c,#b68b16)!important;color:#211900!important;border:0!important;font-weight:950!important}
.fp-pricing-landing-v54{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:900px){.fp-pricing-v54,.fp-pricing-landing-v54{grid-template-columns:1fr!important}}

/* v55: visible crosses for unavailable Basic features */
.fp-feature-list-v54 .no{
  color:var(--muted)!important;
  opacity:.62!important;
  font-weight:600!important;
}
.fp-feature-list-v54 .no span{
  background:#fde8e8!important;
  color:#c62828!important;
  border:1px solid rgba(198,40,40,.18)!important;
  font-size:14px!important;
  font-weight:950!important;
}
.fp-feature-list-v54 .no span::before{
  content:"×";
}
.fp-feature-list-v54 .no span{
  font-size:0!important;
}
.fp-feature-list-v54 .no span::before{
  font-size:14px!important;
}

/* v56 PP recipes */
.recipe-toolbar-v56{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.recipe-search-v56{flex:1;max-width:620px;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:0 12px}
.recipe-search-v56 input{width:100%;border:0;outline:0;background:transparent;color:var(--text);padding:12px 0;font-size:14px}
.recipe-count-v56{font-size:12px;color:var(--muted);font-weight:700}
.recipe-filter-v56{display:flex;gap:7px;overflow-x:auto;padding-bottom:10px}
.recipe-filter-v56 button{flex:0 0 auto;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:8px 11px;font-weight:800}
.recipe-filter-v56 button.active{background:var(--accent);color:#111;border-color:var(--accent)}
.recipe-free-note-v56{margin-bottom:14px;padding:11px 13px;border-radius:12px;background:var(--soft);font-size:12px;color:var(--muted)}
.recipe-grid-v56{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.recipe-card-v56{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:15px;display:flex;flex-direction:column;min-height:220px}
.recipe-card-v56.free{border-color:var(--accent)}
.recipe-card-top-v56{display:flex;justify-content:space-between;gap:8px;align-items:center}.recipe-card-top-v56>span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}
.recipe-free-badge-v56,.recipe-pro-badge-v56{font-size:8px;padding:5px 7px;border-radius:999px;letter-spacing:.06em}.recipe-free-badge-v56{background:var(--accent);color:#111}.recipe-pro-badge-v56{background:var(--soft);color:var(--muted)}
.recipe-card-v56 h4{margin:12px 0 14px;font-size:16px;line-height:1.35;min-height:44px}
.recipe-macros-v56{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:14px}.recipe-macros-v56>div{background:var(--soft);padding:8px 5px;border-radius:9px;text-align:center}.recipe-macros-v56 b,.recipe-macros-v56 small{display:block}.recipe-macros-v56 b{font-size:13px}.recipe-macros-v56 small{font-size:8px;color:var(--muted)}
.recipe-card-v56>.btn{margin-top:auto}
.recipe-modal-overlay-v56{position:fixed;inset:0;z-index:37000;background:rgba(0,0,0,.7);display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px)}
.recipe-modal-v56{width:min(900px,calc(100vw - 30px));max-height:90vh;overflow:auto;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 120px rgba(0,0,0,.45)}
.recipe-modal-head-v56{position:sticky;top:0;z-index:2;background:var(--card);padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.recipe-modal-head-v56 small{color:var(--muted)}.recipe-modal-head-v56 h2{margin:4px 0 0}.recipe-modal-head-v56 button{width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:24px}
.recipe-modal-body-v56{padding:20px 22px}
.recipe-modal-macros-v56{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:22px}.recipe-modal-macros-v56>div{background:var(--soft);padding:12px;border-radius:12px}.recipe-modal-macros-v56 span,.recipe-modal-macros-v56 b{display:block}.recipe-modal-macros-v56 span{font-size:10px;color:var(--muted)}.recipe-modal-macros-v56 b{font-size:17px;margin-top:3px}
.recipe-modal-cols-v56{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px}.recipe-modal-cols-v56 h3{margin:0 0 12px}
.recipe-ingredients-v56{display:grid;gap:7px}.recipe-ingredients-v56>div{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:9px;background:var(--bg);font-size:12px}
.recipe-steps-v56{margin:0;padding-left:22px}.recipe-steps-v56 li{margin-bottom:12px;line-height:1.5;font-size:13px}
.recipe-disclaimer-v56{margin-top:20px;padding:11px 13px;background:var(--soft);border-radius:11px;color:var(--muted);font-size:10px;line-height:1.45}
@media(max-width:1050px){.recipe-grid-v56{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .recipe-grid-v56{grid-template-columns:1fr}.recipe-toolbar-v56{align-items:stretch;flex-direction:column}.recipe-search-v56{max-width:none}
 .recipe-modal-overlay-v56{padding:0}.recipe-modal-v56{width:100%;height:100dvh;max-height:none;border-radius:0;border:0}.recipe-modal-head-v56{padding-top:calc(14px + env(safe-area-inset-top))}
 .recipe-modal-cols-v56{grid-template-columns:1fr}.recipe-modal-macros-v56{grid-template-columns:1fr 1fr}.recipe-modal-body-v56{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
}

/* v58 recipe improvements */
.recipe-card-v56{position:relative}
.recipe-heart-v58{
  position:absolute;right:12px;top:11px;z-index:2;
  width:36px;height:36px;border-radius:50%;border:1px solid var(--line);
  background:var(--card);color:var(--text);font-size:21px;display:grid;place-items:center;cursor:pointer;
}
.recipe-heart-v58.active{background:var(--accent);border-color:var(--accent);color:#111}
.recipe-card-top-v56{padding-right:44px}

/* more contrast in opened recipe */
.recipe-modal-v56{background:#fff!important;color:#111!important}
.recipe-modal-head-v56{background:#fff!important;border-bottom:2px solid #d7d7d7!important}
.recipe-modal-head-v56 h2,.recipe-modal-head-v56 h3,.recipe-modal-body-v56 h3{color:#111!important}
.recipe-modal-head-v56 small{color:#616761!important}
.recipe-modal-body-v56{background:#fff!important;color:#111!important}
.recipe-modal-macros-v56>div{background:#f2f4f1!important;border:1px solid #dfe3de!important}
.recipe-modal-macros-v56 span{color:#676d68!important}
.recipe-ingredients-v56>div{background:#f5f6f4!important;border:1px solid #e0e3df!important;color:#111!important}
.recipe-steps-v56 li{color:#111!important;font-size:14px!important;line-height:1.6!important}
.recipe-disclaimer-v56{background:#f1f6e8!important;color:#4a514b!important;border:1px solid #d8e6c1!important}
.recipe-modal-head-actions-v58{display:flex;align-items:center;gap:8px}
.recipe-modal-head-actions-v58 .recipe-heart-v58{position:static}
.recipe-modal-head-actions-v58>button:last-child{position:static}

/* upgrade */
.recipe-upgrade-overlay-v58{
  position:fixed;inset:0;z-index:39000;background:rgba(0,0,0,.72);
  display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px)
}
.recipe-upgrade-v58{
  width:min(500px,calc(100vw - 30px));background:var(--card);color:var(--text);
  border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 30px 110px rgba(0,0,0,.5);
  text-align:center
}
.recipe-upgrade-icon-v58{font-size:38px;margin-bottom:10px}
.recipe-upgrade-v58 h3{margin:0 0 10px;font-size:22px}
.recipe-upgrade-v58 p{margin:0;color:var(--muted);line-height:1.55}
.recipe-upgrade-actions-v58{display:flex;gap:9px;justify-content:center;margin-top:20px}

/* dark mode contrast */
html[data-theme="dark"] .recipe-modal-v56,
html[data-theme="dark"] .recipe-modal-head-v56,
html[data-theme="dark"] .recipe-modal-body-v56{
  background:#121412!important;color:#fff!important
}
html[data-theme="dark"] .recipe-modal-head-v56 h2,
html[data-theme="dark"] .recipe-modal-body-v56 h3,
html[data-theme="dark"] .recipe-steps-v56 li,
html[data-theme="dark"] .recipe-ingredients-v56>div{
  color:#fff!important
}
html[data-theme="dark"] .recipe-ingredients-v56>div,
html[data-theme="dark"] .recipe-modal-macros-v56>div{
  background:#1b1e1b!important;border-color:#303430!important
}
html[data-theme="dark"] .recipe-disclaimer-v56{
  background:#1b2514!important;color:#d9e8cc!important;border-color:#35472b!important
}
@media(max-width:600px){
  .recipe-upgrade-actions-v58{display:grid}
  .recipe-upgrade-actions-v58 .btn{width:100%}
}

/* v59 recipe photos + ingredient filters */
.recipe-filter-v56{
  flex-wrap:wrap!important;
  overflow:visible!important;
  padding-bottom:12px!important;
}
.recipe-filter-v56 button:nth-child(n+9){
  border-style:dashed;
}
.recipe-card-v56{
  overflow:hidden;
  padding-top:0!important;
}
.recipe-photo-wrap-v59{
  height:155px;
  margin:0 -15px 12px;
  background:var(--soft);
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.recipe-photo-v59{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .2s ease;
}
.recipe-card-v56:hover .recipe-photo-v59{
  transform:scale(1.025);
}
.recipe-card-v56 .recipe-heart-v58{
  top:12px!important;
  background:rgba(255,255,255,.92)!important;
  color:#111!important;
  backdrop-filter:blur(5px);
}
.recipe-card-v56 .recipe-heart-v58.active{
  background:var(--accent)!important;
}
.recipe-modal-photo-wrap-v59{
  width:100%;
  height:330px;
  border-radius:16px;
  overflow:hidden;
  margin-bottom:18px;
  background:#ecefeb;
  border:1px solid #dfe3de;
}
.recipe-modal-photo-v59{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@media(max-width:760px){
  .recipe-filter-v56{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
  }
  .recipe-photo-wrap-v59{height:190px}
  .recipe-modal-photo-wrap-v59{height:240px;border-radius:13px}
}

/* v60 detailed recipe steps */
.recipe-steps-v56{
  counter-reset:recipe-step;
  list-style:none!important;
  padding-left:0!important;
  display:grid;
  gap:10px;
}
.recipe-steps-v56 li{
  counter-increment:recipe-step;
  position:relative;
  padding:12px 12px 12px 48px;
  margin:0!important;
  border:1px solid #e0e3df;
  border-radius:12px;
  background:#f7f8f6;
  color:#111;
  line-height:1.55!important;
}
.recipe-steps-v56 li::before{
  content:counter(recipe-step);
  position:absolute;
  left:12px;
  top:11px;
  width:25px;
  height:25px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:var(--accent);
  color:#111;
  font-size:11px;
  font-weight:900;
}
html[data-theme="dark"] .recipe-steps-v56 li{
  background:#1a1d1a!important;
  border-color:#303430!important;
  color:#fff!important;
}

/* v61 */
.recipe-macros-label-v61{
  margin:2px 0 6px;
  color:var(--muted);
  font-size:9px;
  font-weight:700;
  letter-spacing:.02em;
}
.recipe-macros-label-v61.modal{
  margin:0 0 7px;
  color:#6a706b;
}
.recipe-photo-credit-v61{
  display:block;
  margin-top:6px;
  font-size:9px;
  opacity:.8;
}
.fp-pricing-v54{align-items:stretch!important}
#pricing .fp-plan-v54{min-height:100%}

/* v62 BASIC access and favorite ordering */
.recipe-open-badge-v62{
  font-size:8px;
  padding:5px 7px;
  border-radius:999px;
  letter-spacing:.05em;
  background:#eef6e3;
  color:#55703b;
}
.recipe-card-v56.locked-v62 .recipe-photo-v59{
  filter:saturate(.45) brightness(.72);
}
.recipe-lock-photo-v62{
  position:absolute;
  inset:0;
  display:grid;
  place-content:center;
  gap:4px;
  text-align:center;
  background:rgba(10,12,10,.28);
  color:#fff;
  backdrop-filter:blur(1.5px);
}
.recipe-lock-photo-v62 span{font-size:24px}
.recipe-lock-photo-v62 b{
  font-size:9px;
  letter-spacing:.08em;
  background:rgba(0,0,0,.55);
  padding:4px 7px;
  border-radius:999px;
}
.recipe-photo-wrap-v59{position:relative}
.recipe-card-v56.locked-v62 h4{opacity:.72}
.recipe-card-v56.locked-v62 .recipe-macros-v56{opacity:.55}

/* v63 personal recipes */
.fp-add-recipe-top-v63{white-space:nowrap}
.fp-my-recipes-grid-v63{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fp-my-recipes-empty-v63{grid-column:1/-1;min-height:260px;border:1px dashed var(--line);border-radius:18px;display:grid;place-items:center;text-align:center;padding:30px}
.fp-my-recipes-empty-v63 b{font-size:18px}.fp-my-recipes-empty-v63 p{color:var(--muted);margin:6px 0 14px}
.fp-my-recipe-actions-v63{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:auto}
.fp-my-recipe-card-v63{min-height:230px}

.fp-add-recipe-overlay-v63{position:fixed;inset:0;z-index:40000;background:rgba(0,0,0,.7);display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px)}
.fp-add-recipe-modal-v63{width:min(1050px,calc(100vw - 30px));max-height:92vh;overflow:auto;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 120px rgba(0,0,0,.45)}
.fp-add-recipe-head-v63{position:sticky;top:0;z-index:3;background:var(--card);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}
.fp-add-recipe-head-v63 small{color:var(--muted)}.fp-add-recipe-head-v63 h2{margin:4px 0 0}
.fp-add-recipe-head-v63>button{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:var(--bg);color:var(--text);font-size:24px}
.fp-add-recipe-body-v63{padding:20px}
.fp-recipe-name-field-v63 span,.fp-recipe-description-field-v63 span{display:block;font-size:11px;font-weight:800;margin-bottom:7px}
.fp-recipe-name-field-v63 input,.fp-recipe-description-field-v63 textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);padding:12px 13px;font-size:14px}
.fp-recipe-description-field-v63 textarea{resize:vertical}
.fp-add-recipe-table-head-v63{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 0 9px}
.fp-ingredient-labels-v63,.fp-ingredient-row-v63{display:grid;grid-template-columns:2fr .75fr .75fr .75fr .9fr .8fr 42px;gap:7px;align-items:center}
.fp-ingredient-labels-v63{font-size:9px;color:var(--muted);padding:0 4px 5px}
.fp-ingredient-rows-v63{display:grid;gap:8px}
.fp-ingredient-row-v63{padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.fp-ingredient-row-v63 input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--text);padding:9px 8px;min-width:0}
.fp-ingredient-row-v63>button{width:36px;height:36px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:18px}
.fp-recipe-total-v63{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.fp-recipe-total-v63>div{background:var(--soft);border-radius:11px;padding:10px}.fp-recipe-total-v63 span,.fp-recipe-total-v63 b{display:block}.fp-recipe-total-v63 span{font-size:9px;color:var(--muted)}.fp-recipe-total-v63 b{font-size:16px;margin-top:3px}
.fp-recipe-description-field-v63{display:block;margin-top:18px}
.fp-add-recipe-actions-v63{position:sticky;bottom:0;background:var(--card);border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px;padding:14px 20px}
.fp-my-recipe-nutrition-list-v63{display:grid;gap:7px}.fp-my-recipe-nutrition-list-v63>div{padding:10px;border:1px solid #e0e3df;border-radius:10px;background:#f5f6f4}.fp-my-recipe-nutrition-list-v63 b,.fp-my-recipe-nutrition-list-v63 span{display:block}.fp-my-recipe-nutrition-list-v63 span{font-size:11px;color:#606660;margin-top:3px}
.fp-my-recipe-description-v63{margin-top:22px}.fp-my-recipe-description-v63 h3{margin:0 0 8px}.fp-my-recipe-description-v63 p{line-height:1.6;margin:0}

@media(max-width:900px){
  .fp-my-recipes-grid-v63{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fp-ingredient-labels-v63{display:none}
  .fp-ingredient-row-v63{grid-template-columns:1.5fr 1fr 1fr}
  .fp-ingredient-row-v63>button{grid-column:3}
  .fp-recipe-total-v63{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .fp-my-recipes-grid-v63{grid-template-columns:1fr}
  .fp-add-recipe-overlay-v63{padding:0}
  .fp-add-recipe-modal-v63{width:100%;height:100dvh;max-height:none;border-radius:0;border:0}
  .fp-add-recipe-head-v63{padding-top:calc(14px + env(safe-area-inset-top))}
  .fp-ingredient-row-v63{grid-template-columns:1fr 1fr}
  .fp-ingredient-row-v63 .fp-ing-name-v63{grid-column:1/-1}
  .fp-ingredient-row-v63>button{grid-column:auto}
  .fp-add-recipe-actions-v63{display:grid;padding-bottom:calc(14px + env(safe-area-inset-bottom))}
}

/* v64 VIP extra benefits */
.fp-vip-extra-v64{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(201,162,39,.28);
  font-size:11px;
  line-height:1.4;
  font-weight:850;
}

/* v65 — expanded Features section */
#features .grid3{align-items:stretch}
#features .feature{height:100%}

/* v67 appetizing recipe photo cards */
.recipe-photo-wrap-v59{
  position:relative;
  overflow:hidden!important;
  background:#ecefea;
}
.recipe-photo-v59{
  transform:scale(1);
  transition:transform .38s cubic-bezier(.2,.7,.2,1), filter .38s ease!important;
  will-change:transform;
}
.recipe-card-v56:hover .recipe-photo-v59{
  transform:scale(1.075)!important;
}
.recipe-photo-gradient-v67{
  position:absolute;
  left:0;right:0;bottom:0;
  height:48%;
  pointer-events:none;
  background:linear-gradient(to top,rgba(7,10,8,.78) 0%,rgba(7,10,8,.38) 48%,rgba(7,10,8,0) 100%);
}
.recipe-photo-title-v67{
  position:absolute;
  left:13px;right:52px;bottom:12px;
  z-index:2;
  color:#fff;
  font-size:14px;
  line-height:1.22;
  font-weight:900;
  text-shadow:0 1px 8px rgba(0,0,0,.35);
  pointer-events:none;
}
.recipe-card-v56.locked-v62 .recipe-photo-gradient-v67{
  opacity:.7;
}
@media(max-width:760px){
  .recipe-photo-title-v67{font-size:15px}
}

/* v71 safe changes */
.sidebar{display:flex!important;flex-direction:column!important}.sidebar .menu{flex:1}
.fp-sidebar-upgrade-v71{margin:12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.fp-sidebar-upgrade-icon-v71{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--accent);color:#111;margin-bottom:9px;font-weight:900}
.fp-sidebar-upgrade-v71 strong{display:block;font-size:13px}.fp-sidebar-upgrade-v71 p{font-size:11px;line-height:1.45;color:var(--muted);margin:6px 0 11px}
.fp-settings-grid-v71{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fp-setting-row-v71{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line);font-size:12px}
.fp-add-recipe-overlay-v63{background:rgba(0,0,0,.8)!important}.fp-add-recipe-modal-v63{background:#f1f3ef!important;border:2px solid #cbd1ca!important}.fp-add-recipe-head-v63,.fp-add-recipe-actions-v63{background:#fff!important}.fp-add-recipe-body-v63>label,.fp-add-recipe-table-head-v63,.fp-ingredient-rows-v63,.fp-recipe-total-v63,.fp-recipe-description-field-v63{background:#fff;border:1px solid #d6dcd5;border-radius:14px;padding:14px;margin-bottom:14px}.fp-ingredient-row-v63{background:#f5f7f4!important;border-color:#d4dad3!important}.fp-ingredient-row-v63 input{background:#fff!important;border-color:#cbd2cb!important}.fp-recipe-total-v63{border:2px solid #6d4bb8!important}.fp-recipe-total-v63>div{background:#eef7dc!important}
@media(max-width:760px){.fp-settings-grid-v71{grid-template-columns:1fr}}

/* ==========================================================
   FitAI v72 — full dark redesign
   ========================================================== */

:root{
  --bg:#070909!important;
  --card:#0e1110!important;
  --soft:#111512!important;
  --text:#f3f5f2!important;
  --muted:#929a93!important;
  --line:#222822!important;
  --accent:#8fd438!important;
  --accent-2:#7c3aed!important;
  --danger:#ff5c5c!important;
}

html,body{
  background:#070909!important;
  color:var(--text)!important;
}
body{
  background:
    radial-gradient(circle at 74% -10%,rgba(135,220,0,.08),transparent 29%),
    radial-gradient(circle at -10% 30%,rgba(105,199,0,.04),transparent 25%),
    #070909!important;
}

*{box-sizing:border-box}
button,input,textarea,select{font-family:inherit}

header,.topbar,.nav,.site-header{
  background:rgba(7,9,9,.92)!important;
  border-color:#202520!important;
  backdrop-filter:blur(16px);
}

.container{max-width:1280px!important}

.demo,.app-shell,.dashboard-shell{
  background:#070909!important;
  border:1px solid #1e241f!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:0 30px 90px rgba(0,0,0,.42)!important;
}

/* Brand */
.fp-brand-v72{
  height:74px!important;
  display:flex!important;
  align-items:center!important;
  padding:10px 15px!important;
}
.fp-brand-v72 img{
  display:block!important;
  width:190px!important;
  height:58px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.fp-inline-logo-v72{
  width:128px!important;
  height:42px!important;
  object-fit:contain!important;
}
.sidebrand{
  border-bottom:1px solid #202520!important;
  margin-bottom:8px!important;
}

/* Sidebar */
.sidebar{
  width:265px!important;
  min-width:265px!important;
  background:#080a09!important;
  border-right:1px solid #1d231e!important;
  padding:0 13px 14px!important;
  display:flex!important;
  flex-direction:column!important;
}
.sidebar .menu{
  display:grid!important;
  gap:6px!important;
  padding:8px 3px!important;
  overflow:auto!important;
}
.sidebar .menu button{
  min-height:48px!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#d8ded9!important;
  border:1px solid transparent!important;
  font-size:14px!important;
  font-weight:650!important;
  text-align:left!important;
  padding:0 14px!important;
  transition:.2s ease!important;
}
.sidebar .menu button:hover{
  background:#111611!important;
  color:#fff!important;
  border-color:#1f281f!important;
}
.sidebar .menu button.active{
  background:linear-gradient(90deg,rgba(156,238,0,.19),rgba(156,238,0,.07))!important;
  color:#fff!important;
  border-color:#293a1c!important;
  box-shadow:inset 3px 0 0 #8fd438!important;
}
.profile-mini{
  color:#c8cec8!important;
  border-top:1px solid #202520!important;
}
.profile-mini span{color:#858e86!important}

/* Upgrade card */
.fp-sidebar-upgrade-v69,
.fp-sidebar-upgrade-v68{
  background:
    linear-gradient(145deg,rgba(157,240,0,.075),transparent 55%),
    #0d110e!important;
  border:1px solid #263323!important;
  border-radius:16px!important;
  color:#fff!important;
  box-shadow:0 14px 36px rgba(0,0,0,.18)!important;
}
.fp-sidebar-upgrade-v69 strong,
.fp-sidebar-upgrade-v68 strong{
  color:#a7f31c!important;
}
.fp-sidebar-upgrade-v69 .btn,
.fp-sidebar-upgrade-v68 .btn{
  background:#8fd438!important;
  color:#081007!important;
  border:none!important;
}

/* Main screens */
.main,.content,.screen{
  background:transparent!important;
}
.screen{
  padding:26px 30px 34px!important;
}
.screen-head{
  align-items:center!important;
  margin-bottom:20px!important;
}
.screen-head h3{
  color:#f4f6f4!important;
  font-size:30px!important;
  letter-spacing:-.035em!important;
}
.muted{color:#8e978f!important}

/* Cards */
.card,.price,.workout-card,.recipe-card-v56,
[class*="card-v"],[class*="panel"],[class*="widget"]{
  background:
    linear-gradient(145deg,rgba(255,255,255,.016),rgba(255,255,255,0)),
    #0d100e!important;
  border-color:#232923!important;
  color:#f0f3f0!important;
  box-shadow:0 10px 26px rgba(0,0,0,.14)!important;
}
.card:hover,.recipe-card-v56:hover{
  border-color:#303a2d!important;
}

/* Buttons */
.btn{
  border-radius:11px!important;
  border:1px solid #2a312b!important;
  background:#111512!important;
  color:#f0f4f0!important;
  font-weight:750!important;
}
.btn:hover{
  border-color:#47543f!important;
  background:#161c17!important;
}
.btn.accent,.btn.primary,.accent{
  background:linear-gradient(180deg,#a8f30a,#86d500)!important;
  border-color:#a5ee12!important;
  color:#0c1407!important;
  box-shadow:0 8px 24px rgba(146,224,0,.13)!important;
}
.btn.accent:hover,.btn.primary:hover{
  filter:brightness(1.06);
}

/* Inputs */
input,textarea,select{
  background:#0a0d0b!important;
  color:#eef2ee!important;
  border-color:#293029!important;
}
input::placeholder,textarea::placeholder{color:#697169!important}
input:focus,textarea:focus,select:focus{
  outline:none!important;
  border-color:#88cb11!important;
  box-shadow:0 0 0 3px rgba(159,240,0,.08)!important;
}

/* Dashboard-looking typography */
h1,h2,h3,h4,b,strong{color:#f7f8f7}
.section-copy,p{color:#9ba29b}
.amount{color:#fff!important}

/* Today / hero workout card */
.hero,.today-card,.main-workout,.workout-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.15),rgba(157,240,0,.035)),
    #0c100d!important;
  border:1px solid #252d25!important;
  border-radius:17px!important;
}
.hero h2,.today-card h2,.main-workout h2{
  color:#fff!important;
}

/* Stat cards */
.stats,.metrics,.quick,.quick-grid{
  gap:12px!important;
}
.stat,.metric{
  background:#0d100e!important;
  border:1px solid #242a24!important;
  border-radius:15px!important;
}
.stat b,.metric b{
  color:#fff!important;
}
.stat small,.metric small{color:#8e968e!important}

/* Quick access */
.quick button,.chip{
  background:#0d110e!important;
  color:#dfe5df!important;
  border-color:#252d25!important;
}
.quick button:hover,.chip:hover{
  border-color:#668e35!important;
  color:#a8ef30!important;
}

/* Program calendar */
.calendar-strip button,.calendar-day,.day{
  background:#0d100e!important;
  color:#dfe5df!important;
  border-color:#242a24!important;
}
.calendar-strip button.active,.calendar-day.active,.day.active{
  border-color:#8fd438!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(159,240,0,.18)!important;
}

/* Recipe library */
.recipe-card-v56{
  background:#0c0f0d!important;
  border:1px solid #242a24!important;
  overflow:hidden!important;
}
.recipe-card-v56 h4{color:#fff!important}
.recipe-card-top-v56 span{color:#a5aea6!important}
.recipe-photo-wrap-v59{
  background:#0b0d0b!important;
  border-bottom:1px solid #202620!important;
}
.recipe-macros-v56>div{
  background:#101410!important;
  border:1px solid #252c25!important;
}
.recipe-macros-v56 small{color:#7f887f!important}
.recipe-macros-v56 b{color:#fff!important}
.recipe-free-badge-v56,
.recipe-open-badge-v62{
  background:#8fd438!important;
  color:#10180a!important;
}
.recipe-pro-badge-v56{
  background:#252a25!important;
  color:#cbd1cb!important;
}

/* Recipe modal */
.recipe-modal-overlay-v56,
.fp-add-recipe-overlay-v63{
  background:rgba(0,0,0,.78)!important;
  backdrop-filter:blur(8px)!important;
}
.recipe-modal-v56,
.fp-add-recipe-modal-v63{
  background:#0c0f0d!important;
  color:#f4f6f4!important;
  border:1px solid #2a312b!important;
  box-shadow:0 32px 110px rgba(0,0,0,.62)!important;
}
.recipe-modal-head-v56,
.fp-add-recipe-head-v63,
.fp-add-recipe-actions-v63{
  background:#0c0f0d!important;
  border-color:#272e27!important;
}
.recipe-modal-body-v56{background:#0c0f0d!important}
.recipe-ingredients-v56>div,
.recipe-steps-v56 li,
.fp-my-recipe-nutrition-list-v63>div,
.fp-ingredient-row-v63{
  background:#111512!important;
  border-color:#282f28!important;
  color:#eef2ee!important;
}

/* Progress */
.progress-card,.chart-card{
  background:#0d100e!important;
  border-color:#242b24!important;
}
canvas,svg{max-width:100%}

/* Coach */
.chat,.coach-chat{
  background:#0a0d0b!important;
}
.bubble{
  border-radius:14px!important;
}
.bubble.user{
  background:#1d2717!important;
  color:#eaf8db!important;
}
.bubble.ai{
  background:#111512!important;
  color:#eef2ee!important;
  border:1px solid #262e26!important;
}
.chat-input{
  background:#0b0e0c!important;
  border-top:1px solid #242b24!important;
}

/* Pricing */
.fp-pricing-v54 .price{
  border:1px solid #292f29!important;
}
.fp-pricing-v54 .price.pro{
  background:#111610!important;
  border-color:#5e7d34!important;
}
.fp-vip-v54{
  background:
    linear-gradient(145deg,rgba(208,162,43,.08),transparent 48%),
    #0e100e!important;
  border:1px solid #c49b33!important;
}
.fp-feature-list-v54 li.no{color:#5f675f!important}
.fp-feature-list-v54 li.yes{color:#eef2ee!important}
.fp-vip-coach-v54{
  background:#17140c!important;
  border-color:#8c722d!important;
}

/* Settings */
.fp-settings-grid-v69 .card{
  background:#0d100e!important;
}
.fp-setting-row-v69{border-color:#252c25!important}

/* Mobile */
@media(max-width:900px){
  .sidebar{
    width:220px!important;
    min-width:220px!important;
  }
  .screen{padding:22px!important}
}
@media(max-width:760px){
  .sidebar{
    width:100%!important;
    min-width:0!important;
    border-right:none!important;
    border-bottom:1px solid #202520!important;
  }
  .sidebar .menu{
    display:flex!important;
    overflow-x:auto!important;
  }
  .sidebar .menu button{
    min-width:max-content!important;
  }
  .fp-sidebar-upgrade-v69,.fp-sidebar-upgrade-v68,.profile-mini{display:none!important}
  .screen{padding:18px 14px!important}
  .screen-head h3{font-size:24px!important}
}


/* ==========================================================
   FitAI v73 — real light / dark theme switching
   ========================================================== */

html[data-theme="light"]{
  --bg:#f4f6f3!important;
  --card:#ffffff!important;
  --soft:#eef2ed!important;
  --text:#111611!important;
  --muted:#687168!important;
  --line:#dce2db!important;
  --accent:#8fd438!important;
  --accent-2:#75c900!important;
}

html[data-theme="light"] body{
  background:
    radial-gradient(circle at 76% -10%,rgba(159,240,0,.10),transparent 28%),
    #f4f6f3!important;
  color:#111611!important;
}

html[data-theme="light"] header,
html[data-theme="light"] .topbar,
html[data-theme="light"] .nav,
html[data-theme="light"] .site-header{
  background:rgba(255,255,255,.94)!important;
  border-color:#dce2db!important;
}

html[data-theme="light"] .demo,
html[data-theme="light"] .app-shell,
html[data-theme="light"] .dashboard-shell{
  background:#f7f9f6!important;
  border-color:#dce2db!important;
  box-shadow:0 26px 70px rgba(30,45,30,.10)!important;
}

html[data-theme="light"] .sidebar{
  background:#ffffff!important;
  border-color:#dce2db!important;
}

html[data-theme="light"] .sidebrand{
  border-color:#e2e7e1!important;
}

html[data-theme="light"] .sidebar .menu button{
  color:#374037!important;
}
html[data-theme="light"] .sidebar .menu button:hover{
  background:#f2f6ef!important;
  color:#111611!important;
  border-color:#e0e6de!important;
}
html[data-theme="light"] .sidebar .menu button.active{
  background:linear-gradient(90deg,rgba(159,240,0,.20),rgba(159,240,0,.08))!important;
  color:#111611!important;
  border-color:#c9dfa7!important;
}

html[data-theme="light"] .screen-head h3,
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] b,
html[data-theme="light"] strong{
  color:#111611!important;
}

html[data-theme="light"] .muted,
html[data-theme="light"] .section-copy,
html[data-theme="light"] p{
  color:#687168!important;
}

html[data-theme="light"] .card,
html[data-theme="light"] .price,
html[data-theme="light"] .workout-card,
html[data-theme="light"] .recipe-card-v56,
html[data-theme="light"] [class*="card-v"],
html[data-theme="light"] [class*="panel"],
html[data-theme="light"] [class*="widget"]{
  background:#ffffff!important;
  border-color:#dce2db!important;
  color:#111611!important;
  box-shadow:0 9px 24px rgba(30,45,30,.06)!important;
}

html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select{
  background:#ffffff!important;
  color:#111611!important;
  border-color:#d6ddd5!important;
}

html[data-theme="light"] .btn{
  background:#ffffff!important;
  color:#111611!important;
  border-color:#d6ddd5!important;
}
html[data-theme="light"] .btn:hover{
  background:#f2f5f1!important;
}
html[data-theme="light"] .btn.accent,
html[data-theme="light"] .btn.primary{
  background:linear-gradient(180deg,#a8f30a,#86d500)!important;
  color:#0c1407!important;
  border-color:#a5ee12!important;
}

html[data-theme="light"] .recipe-macros-v56>div,
html[data-theme="light"] .recipe-ingredients-v56>div,
html[data-theme="light"] .recipe-steps-v56 li,
html[data-theme="light"] .fp-my-recipe-nutrition-list-v63>div,
html[data-theme="light"] .fp-ingredient-row-v63{
  background:#f5f7f4!important;
  border-color:#dce2db!important;
  color:#111611!important;
}

html[data-theme="light"] .recipe-modal-v56,
html[data-theme="light"] .fp-add-recipe-modal-v63,
html[data-theme="light"] .recipe-modal-head-v56,
html[data-theme="light"] .fp-add-recipe-head-v63,
html[data-theme="light"] .fp-add-recipe-actions-v63,
html[data-theme="light"] .recipe-modal-body-v56{
  background:#ffffff!important;
  color:#111611!important;
  border-color:#dce2db!important;
}

html[data-theme="light"] .bubble.user{
  background:#e8f5d5!important;
  color:#1c2a14!important;
}
html[data-theme="light"] .bubble.ai{
  background:#ffffff!important;
  color:#111611!important;
  border-color:#dce2db!important;
}

/* Keep logo transparent and visually clean in both themes */
.fp-brand-v72,
.fp-inline-logo-v72{
  background:transparent!important;
}
.fp-brand-v72 img,
.fp-inline-logo-v72{
  background:transparent!important;
}

/* v73 pricing buttons */
.fp-pricing-v54 .price.pro .btn,
.fp-pricing-v54 .price.pro .btn.accent{
  background:linear-gradient(180deg,#a8f30a,#86d500)!important;
  color:#0b1307!important;
  border-color:#9eea0a!important;
}

.fp-vip-btn-v54,
.fp-vip-v54 .btn{
  background:linear-gradient(180deg,#f1c75b,#c99522)!important;
  color:#1b1404!important;
  border-color:#e0b94c!important;
  box-shadow:0 8px 24px rgba(201,149,34,.18)!important;
}

.fp-vip-btn-v54:hover,
.fp-vip-v54 .btn:hover{
  filter:brightness(1.05);
}

/* Theme toggle should remain readable */
html[data-theme="light"] .theme-toggle,
html[data-theme="light"] [onclick*="toggleTheme"]{
  background:#ffffff!important;
  color:#111611!important;
  border-color:#d6ddd5!important;
}

/* ==========================================================
   FitAI v74 — LIGHT THEME OPTIMIZATION ONLY
   Dark theme is intentionally untouched.
   ========================================================== */

/* Main light canvas */
html[data-theme="light"] body{
  background:#f5f7f3!important;
  color:#121712!important;
}

/* Hero must become genuinely light instead of retaining dark v72 surfaces */
html[data-theme="light"] .hero,
html[data-theme="light"] .fp-hero-v72,
html[data-theme="light"] [class*="hero-v"]{
  background:
    radial-gradient(circle at 82% 20%, rgba(159,240,0,.12), transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#f4f8ef 100%)!important;
  border-color:#dce4d8!important;
  color:#121712!important;
}

html[data-theme="light"] .hero h1,
html[data-theme="light"] .hero h2,
html[data-theme="light"] .fp-hero-v72 h1,
html[data-theme="light"] .fp-hero-v72 h2,
html[data-theme="light"] [class*="hero-v"] h1,
html[data-theme="light"] [class*="hero-v"] h2{
  color:#111611!important;
  text-shadow:none!important;
}

html[data-theme="light"] .hero p,
html[data-theme="light"] .fp-hero-v72 p,
html[data-theme="light"] [class*="hero-v"] p{
  color:#5e695e!important;
}

html[data-theme="light"] .hero .eyebrow,
html[data-theme="light"] .fp-hero-v72 .eyebrow,
html[data-theme="light"] [class*="hero-v"] .eyebrow{
  background:#ffffff!important;
  color:#263026!important;
  border-color:#d7dfd4!important;
}

/* Phone mockup: light shell + readable dark cards */
html[data-theme="light"] .phone,
html[data-theme="light"] .phone-mockup,
html[data-theme="light"] [class*="phone"]{
  background:#ffffff!important;
  border-color:#d8dfd6!important;
  color:#111611!important;
  box-shadow:0 24px 55px rgba(28,45,26,.14)!important;
}

html[data-theme="light"] .phone h2,
html[data-theme="light"] .phone h3,
html[data-theme="light"] .phone-mockup h2,
html[data-theme="light"] .phone-mockup h3,
html[data-theme="light"] [class*="phone"] h2,
html[data-theme="light"] [class*="phone"] h3{
  color:#111611!important;
}

/* Preserve dark workout card inside light phone, but make its typography readable */
html[data-theme="light"] .phone .workout-card,
html[data-theme="light"] .phone [class*="workout"],
html[data-theme="light"] [class*="phone"] .workout-card{
  background:#111711!important;
  border-color:#253025!important;
  color:#ffffff!important;
}

html[data-theme="light"] .phone .workout-card h2,
html[data-theme="light"] .phone .workout-card h3,
html[data-theme="light"] .phone .workout-card strong,
html[data-theme="light"] .phone [class*="workout"] h2,
html[data-theme="light"] .phone [class*="workout"] h3,
html[data-theme="light"] [class*="phone"] .workout-card h2,
html[data-theme="light"] [class*="phone"] .workout-card h3{
  color:#ffffff!important;
}

html[data-theme="light"] .phone .workout-card p,
html[data-theme="light"] .phone .workout-card .muted,
html[data-theme="light"] .phone [class*="workout"] p{
  color:#c5cdc5!important;
}

/* White phone widgets */
html[data-theme="light"] .phone .card:not(.workout-card),
html[data-theme="light"] .phone [class*="streak"],
html[data-theme="light"] .phone [class*="coach"],
html[data-theme="light"] [class*="phone"] .card:not(.workout-card){
  background:#ffffff!important;
  color:#111611!important;
  border-color:#dce2db!important;
}

html[data-theme="light"] .phone .card:not(.workout-card) h3,
html[data-theme="light"] .phone .card:not(.workout-card) strong,
html[data-theme="light"] .phone [class*="streak"] h3,
html[data-theme="light"] .phone [class*="coach"] h3{
  color:#111611!important;
}

html[data-theme="light"] .phone .card:not(.workout-card) p,
html[data-theme="light"] .phone [class*="streak"] p,
html[data-theme="light"] .phone [class*="coach"] p{
  color:#687168!important;
}

/* Secondary hero button */
html[data-theme="light"] .hero .btn:not(.accent):not(.primary),
html[data-theme="light"] .fp-hero-v72 .btn:not(.accent):not(.primary){
  background:#ffffff!important;
  color:#111611!important;
  border-color:#ccd5ca!important;
}

/* Header logo: the supplied mark contains white artwork, so give it a subtle
   neutral badge in light mode without restoring the old black rectangular background. */
html[data-theme="light"] .fp-brand-v72 img,
html[data-theme="light"] .fp-inline-logo-v72{
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.10));
}

/* Improve section separation on light theme */
html[data-theme="light"] section{
  border-color:#e1e6df!important;
}
html[data-theme="light"] .section,
html[data-theme="light"] [class*="section-v"]{
  color:#111611!important;
}

/* Keep neon accent strong but not fluorescent on large light surfaces */
html[data-theme="light"] .accent-text,
html[data-theme="light"] .lime,
html[data-theme="light"] [class*="accent-text"]{
  color:#76c900!important;
}

/* Navigation readability */
html[data-theme="light"] header a,
html[data-theme="light"] nav a{
  color:#343c34!important;
}
html[data-theme="light"] header a:hover,
html[data-theme="light"] nav a:hover{
  color:#111611!important;
}

/* Light theme pricing readability while preserving PRO green / VIP gold buttons */
html[data-theme="light"] .fp-pricing-v54 .price:not(.pro){
  background:#ffffff!important;
  color:#111611!important;
  border-color:#dce2db!important;
}
html[data-theme="light"] .fp-pricing-v54 .price.pro{
  background:#151b15!important;
  color:#ffffff!important;
  border-color:#263126!important;
}
html[data-theme="light"] .fp-pricing-v54 .price.pro h3,
html[data-theme="light"] .fp-pricing-v54 .price.pro strong,
html[data-theme="light"] .fp-pricing-v54 .price.pro b{
  color:#ffffff!important;
}
html[data-theme="light"] .fp-vip-v54{
  border-color:#d5a72f!important;
  box-shadow:0 12px 34px rgba(181,135,25,.10)!important;
}

/* ==========================================================
   FitAI v75 — LIGHT THEME pricing + phone contrast fixes only
   ========================================================== */

/* ---------- PHONE WORKOUT CARD ---------- */
/* Keep the workout card dark in light mode, but force every nested text element
   to remain legible instead of inheriting dark text from the light theme. */
html[data-theme="light"] .phone .workout-card,
html[data-theme="light"] .phone [class*="workout-card"],
html[data-theme="light"] [class*="phone"] .workout-card,
html[data-theme="light"] [class*="phone"] [class*="workout-card"]{
  background:#101510!important;
  color:#ffffff!important;
  border-color:#283128!important;
}

html[data-theme="light"] .phone .workout-card *,
html[data-theme="light"] .phone [class*="workout-card"] *,
html[data-theme="light"] [class*="phone"] .workout-card *,
html[data-theme="light"] [class*="phone"] [class*="workout-card"] *{
  color:#ffffff!important;
}

html[data-theme="light"] .phone .workout-card p,
html[data-theme="light"] .phone .workout-card small,
html[data-theme="light"] .phone .workout-card .muted,
html[data-theme="light"] .phone [class*="workout-card"] p,
html[data-theme="light"] .phone [class*="workout-card"] small{
  color:#c8d0c8!important;
}

/* Keep neon button readable inside dark workout card */
html[data-theme="light"] .phone .workout-card .btn,
html[data-theme="light"] .phone [class*="workout-card"] .btn{
  background:linear-gradient(180deg,#a8f30a,#86d500)!important;
  color:#0c1407!important;
  border-color:#9eea0a!important;
  font-weight:850!important;
}

/* ---------- PRICING CARDS ---------- */
html[data-theme="light"] .fp-pricing-v54 .price{
  color:#111611!important;
}
html[data-theme="light"] .fp-pricing-v54 .price h4,
html[data-theme="light"] .fp-pricing-v54 .price .amount,
html[data-theme="light"] .fp-pricing-v54 .price .amount small{
  color:#111611!important;
}

/* PRO stays deliberately dark/green and must retain white typography */
html[data-theme="light"] .fp-pricing-v54 .price.pro{
  background:#151b15!important;
  color:#ffffff!important;
  border-color:#263126!important;
}
html[data-theme="light"] .fp-pricing-v54 .price.pro *,
html[data-theme="light"] .fp-pricing-v54 .price.pro h4,
html[data-theme="light"] .fp-pricing-v54 .price.pro .amount,
html[data-theme="light"] .fp-pricing-v54 .price.pro .amount small,
html[data-theme="light"] .fp-pricing-v54 .price.pro li,
html[data-theme="light"] .fp-pricing-v54 .price.pro b,
html[data-theme="light"] .fp-pricing-v54 .price.pro strong{
  color:#ffffff!important;
}
html[data-theme="light"] .fp-pricing-v54 .price.pro .fp-plan-badge-v54{
  color:#10170a!important;
}

/* BASIC muted locked benefits */
html[data-theme="light"] .fp-pricing-v54 .price:not(.pro):not(.fp-vip-v54) .no{
  color:#9ca49c!important;
}
html[data-theme="light"] .fp-pricing-v54 .price:not(.pro):not(.fp-vip-v54) .yes{
  color:#161b16!important;
}

/* ---------- VIP ---------- */
/* White premium card with gold border in light theme */
html[data-theme="light"] .fp-vip-v54{
  background:
    linear-gradient(145deg,rgba(214,167,47,.07),rgba(255,255,255,0) 46%),
    #fffdf8!important;
  border:1px solid #d3a62f!important;
  color:#17140b!important;
  box-shadow:0 14px 38px rgba(177,132,24,.11)!important;
}
html[data-theme="light"] .fp-vip-v54 h4,
html[data-theme="light"] .fp-vip-v54 .amount,
html[data-theme="light"] .fp-vip-v54 .amount small,
html[data-theme="light"] .fp-vip-v54 li,
html[data-theme="light"] .fp-vip-v54 li b,
html[data-theme="light"] .fp-vip-v54 strong{
  color:#19160d!important;
}

/* GOLD VIP accompaniment panel: keep it dark, but make every text line visible */
html[data-theme="light"] .fp-vip-v54 .fp-vip-coach-v54{
  background:
    linear-gradient(145deg,rgba(215,172,53,.09),transparent 55%),
    #17130b!important;
  border:1px solid #b88d27!important;
  color:#fff7de!important;
}
html[data-theme="light"] .fp-vip-v54 .fp-vip-coach-v54 *,
html[data-theme="light"] .fp-vip-v54 .fp-vip-coach-v54 strong,
html[data-theme="light"] .fp-vip-v54 .fp-vip-coach-v54 b{
  color:#fff6d8!important;
}
html[data-theme="light"] .fp-vip-v54 .fp-vip-coach-v54 small,
html[data-theme="light"] .fp-vip-v54 .fp-vip-coach-v54 p{
  color:#cfc6ad!important;
}
html[data-theme="light"] .fp-vip-v54 .fp-vip-extra-v64{
  color:#f3df9d!important;
  border-top-color:rgba(214,172,53,.28)!important;
}

/* VIP badge */
html[data-theme="light"] .fp-vip-badge-v54{
  background:#efc75c!important;
  color:#211804!important;
}

/* VIP choose button must ALWAYS remain gold in light theme */
html[data-theme="light"] .fp-vip-v54 .fp-vip-btn-v54,
html[data-theme="light"] .fp-vip-v54 > .btn,
html[data-theme="light"] .fp-vip-v54 .btn{
  background:linear-gradient(180deg,#f2cc68 0%,#d6a52e 100%)!important;
  color:#201704!important;
  border-color:#c99926!important;
  box-shadow:0 8px 22px rgba(191,143,31,.18)!important;
}
html[data-theme="light"] .fp-vip-v54 .fp-vip-btn-v54:hover,
html[data-theme="light"] .fp-vip-v54 .btn:hover{
  background:linear-gradient(180deg,#f7d575 0%,#dfb13a 100%)!important;
  color:#201704!important;
}

/* BASIC/PRO/VIP card heights and bottom-button alignment */
html[data-theme="light"] .fp-pricing-v54{
  align-items:stretch!important;
}
html[data-theme="light"] .fp-pricing-v54 .price{
  display:flex!important;
  flex-direction:column!important;
}
html[data-theme="light"] .fp-pricing-v54 .price > .btn,
html[data-theme="light"] .fp-pricing-v54 .price > button:last-child{
  margin-top:auto!important;
}

/* ==========================================================
   FitAI v76 — startup loader
   ========================================================== */

.fitai-loader-v76{
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  background:#070909;
  opacity:0;
  pointer-events:all;
  transition:opacity .35s ease;
}
.fitai-loader-v76.show-v76{opacity:1}
.fitai-loader-v76.hide-v76{
  opacity:0;
  pointer-events:none;
}

.fitai-loader-inner-v76{
  width:min(430px,calc(100vw - 40px));
  display:grid;
  justify-items:center;
  gap:24px;
  text-align:center;
}

.fitai-loader-logo-wrap-v76{
  position:relative;
  width:220px;
  display:grid;
  justify-items:center;
}

.fitai-loader-logo-v76{
  width:170px;
  max-height:110px;
  object-fit:contain;
  background:transparent!important;
  animation:fitaiRunnerV76 .95s cubic-bezier(.3,.7,.3,1) infinite alternate;
  filter:drop-shadow(0 8px 20px rgba(159,240,0,.12));
}

.fitai-loader-track-v76{
  position:relative;
  width:185px;
  height:3px;
  margin-top:4px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.10);
}

.fitai-loader-track-v76::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,#8fd438,transparent);
  transform:translateX(-100%);
  animation:fitaiTrackV76 1.05s ease-in-out infinite;
}

.fitai-loader-dot-v76{
  position:absolute;
  top:50%;
  left:0;
  width:7px;
  height:7px;
  margin-top:-3.5px;
  border-radius:50%;
  background:#8fd438;
  box-shadow:0 0 14px rgba(159,240,0,.85);
  animation:fitaiDotV76 1.05s ease-in-out infinite;
}

.fitai-loader-phrase-v76{
  max-width:390px;
  min-height:52px;
  color:#f4f6f4;
  font-size:18px;
  line-height:1.4;
  font-weight:800;
  letter-spacing:-.02em;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .38s ease, transform .38s ease;
}

.fitai-loader-v76.phrase-v76 .fitai-loader-phrase-v76{
  opacity:1;
  transform:translateY(0);
}

@keyframes fitaiRunnerV76{
  from{transform:translate3d(-8px,1px,0) scale(.985)}
  to{transform:translate3d(8px,-2px,0) scale(1.015)}
}
@keyframes fitaiTrackV76{
  0%{transform:translateX(-100%)}
  100%{transform:translateX(100%)}
}
@keyframes fitaiDotV76{
  0%{left:0;opacity:.25}
  50%{opacity:1}
  100%{left:calc(100% - 7px);opacity:.25}
}

/* Light theme startup loader */
html[data-theme="light"] .fitai-loader-v76{
  background:#f5f7f3;
}
html[data-theme="light"] .fitai-loader-track-v76{
  background:#dfe6dc;
}
html[data-theme="light"] .fitai-loader-phrase-v76{
  color:#121712;
}
html[data-theme="light"] .fitai-loader-logo-v76{
  filter:drop-shadow(0 8px 18px rgba(78,115,22,.12));
}

@media(max-width:600px){
  .fitai-loader-logo-wrap-v76{width:180px}
  .fitai-loader-logo-v76{width:145px}
  .fitai-loader-track-v76{width:155px}
  .fitai-loader-phrase-v76{
    font-size:16px;
    max-width:310px;
  }
}

@media(prefers-reduced-motion:reduce){
  .fitai-loader-logo-v76,
  .fitai-loader-track-v76::after,
  .fitai-loader-dot-v76{
    animation:none!important;
  }
}


/* ==========================================================
   FitAI v77 — more expressive 4-second runner animation
   ========================================================== */
.fitai-loader-logo-wrap-v76{
  overflow:visible;
  perspective:700px;
}

.fitai-loader-logo-v76{
  transform-origin:50% 72%;
  animation:fitaiRunnerV77 .62s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
  will-change:transform,filter;
}

.fitai-loader-logo-wrap-v76::before,
.fitai-loader-logo-wrap-v76::after{
  content:'';
  position:absolute;
  left:50%;
  bottom:7px;
  height:2px;
  border-radius:999px;
  background:#8fd438;
  opacity:0;
  transform:translateX(-65px);
  pointer-events:none;
}

.fitai-loader-logo-wrap-v76::before{
  width:42px;
  animation:fitaiSpeedLineV77 1.05s .2s ease-in-out infinite;
}
.fitai-loader-logo-wrap-v76::after{
  width:25px;
  bottom:15px;
  animation:fitaiSpeedLineV77 1.05s .48s ease-in-out infinite;
}

.fitai-loader-v76.finish-run-v77 .fitai-loader-logo-v76{
  animation:fitaiFinishV77 .62s cubic-bezier(.2,.75,.25,1) forwards !important;
}
.fitai-loader-v76.finish-run-v77 .fitai-loader-logo-wrap-v76::before,
.fitai-loader-v76.finish-run-v77 .fitai-loader-logo-wrap-v76::after{
  animation-duration:.42s;
}

@keyframes fitaiRunnerV77{
  0%{
    transform:translate3d(-10px,2px,0) rotate(-1deg) scale(.985);
    filter:drop-shadow(0 7px 16px rgba(159,240,0,.10));
  }
  45%{
    transform:translate3d(0,-4px,0) rotate(.7deg) scale(1.01);
  }
  100%{
    transform:translate3d(11px,1px,0) rotate(-.5deg) scale(1.02);
    filter:drop-shadow(0 10px 25px rgba(159,240,0,.24));
  }
}

@keyframes fitaiSpeedLineV77{
  0%{
    opacity:0;
    transform:translateX(-72px) scaleX(.35);
  }
  35%{opacity:.65}
  100%{
    opacity:0;
    transform:translateX(30px) scaleX(1.25);
  }
}

@keyframes fitaiFinishV77{
  0%{transform:translate3d(0,0,0) scale(1)}
  45%{transform:translate3d(18px,-5px,0) rotate(1deg) scale(1.035)}
  100%{transform:translate3d(52px,-2px,0) rotate(-1deg) scale(.98)}
}

html[data-theme="light"] .fitai-loader-logo-wrap-v76::before,
html[data-theme="light"] .fitai-loader-logo-wrap-v76::after{
  background:#7fc900;
}

@media(prefers-reduced-motion:reduce){
  .fitai-loader-logo-wrap-v76::before,
  .fitai-loader-logo-wrap-v76::after{
    display:none!important;
  }
}

/* FitAI v78 advanced features */
.fai78-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}
.fai78-dashboard .card{padding:17px;border-radius:16px}
.fai78-dashboard small,.fai78-modal small{font-size:9px;font-weight:900;letter-spacing:.12em;color:#8fd438}
.fai78-dashboard h3{margin:4px 0 10px}.fai78-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.fai78-title>b{font-size:24px;color:#8fd438!important}
.fai78-readiness label{display:grid;grid-template-columns:80px 1fr 34px;gap:8px;align-items:center;margin:9px 0;font-size:11px}.fai78-readiness input{accent-color:#8fd438}.fai78-readiness p,.fai78-duration p,.fai78-week p,.fai78-gym p,.fai78-trainer p{font-size:11px;line-height:1.55;color:var(--muted)}
.fai78-duration>div:nth-child(2){display:flex;gap:7px}.fai78-duration button,.fai78-nutrition button{background:#151a15;border:1px solid #293029;color:#dfe5df;border-radius:9px;padding:8px 11px;font-weight:800}.fai78-duration button.active{background:#8fd438;color:#10170a;border-color:#8fd438}
.fai78-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fai78-kpis>div{padding:10px;border-radius:11px;background:#111512;border:1px solid #242b24}.fai78-kpis span{display:block;font-size:9px;color:var(--muted)}.fai78-kpis b{display:block;margin-top:4px;font-size:15px}
.fai78-photo-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.fai78-photo-row button{min-height:58px;border:1px dashed #384038;background:#101310;color:#8f988f;border-radius:11px}
.fai78-gym>div,.fai78-nutrition>div{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.fai78-gym label{padding:7px 9px;border:1px solid #293029;border-radius:9px;font-size:10px}.fai78-gym input{accent-color:#8fd438}
.fai78-trainer{border-color:#8e7128!important;background:linear-gradient(145deg,rgba(205,162,48,.07),transparent),#0d100e!important}.fai78-trainer .fai78-title>span{background:#d3a62f;color:#1d1504;border-radius:8px;padding:5px 8px;font-size:9px;font-weight:950}
.fai78-rest{position:fixed;z-index:99999;right:18px;bottom:18px;width:190px;padding:14px;border-radius:16px;background:#111611;border:1px solid #40532c;box-shadow:0 18px 55px rgba(0,0,0,.4);display:grid;gap:3px}.fai78-rest b{font-size:10px;color:#8fd438}.fai78-rest strong{font-size:28px}.fai78-rest span{font-size:9px;color:#929a93}.fai78-rest div{display:flex;gap:5px;margin-top:6px}.fai78-rest button{flex:1;background:#1b211b;color:#fff;border:1px solid #303830;border-radius:7px;padding:5px}
.fai78-toast{position:fixed;z-index:100000;top:18px;left:50%;transform:translate(-50%,-20px);opacity:0;min-width:280px;padding:13px 16px;border-radius:14px;background:#111611;border:1px solid #4c652f;box-shadow:0 18px 60px rgba(0,0,0,.45);transition:.25s}.fai78-toast.on{opacity:1;transform:translate(-50%,0)}.fai78-toast b,.fai78-toast span{display:block}.fai78-toast b{color:#8fd438;font-size:12px}.fai78-toast span{margin-top:3px;font-size:10px;color:#cbd2cb}
.fai78-modal{position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,.78);backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px}.fai78-modal-card{width:min(760px,96vw);max-height:88vh;overflow:auto;background:#0d100e;border:1px solid #293029;border-radius:19px;padding:20px}.fai78-ex-head{display:flex;justify-content:space-between}.fai78-ex-head h2{margin:5px 0 15px}.fai78-ex-head button{background:none;border:0;color:#fff;font-size:24px}.fai78-tech,.fai78-history{margin-top:15px;padding:14px;border:1px solid #242b24;border-radius:13px}.fai78-tech p{color:var(--muted);font-size:11px}.fai78-history>div{display:grid;grid-template-columns:1fr 1fr 1fr;padding:8px 0;border-top:1px solid #202620;font-size:10px}.fai78-history em{color:#8fd438;font-style:normal}
html[data-theme="light"] .fai78-duration button,html[data-theme="light"] .fai78-nutrition button,html[data-theme="light"] .fai78-kpis>div{background:#f4f7f2;color:#151a15;border-color:#dce2db}html[data-theme="light"] .fai78-duration button.active{background:#8fd438;color:#10170a}html[data-theme="light"] .fai78-photo-row button{background:#f6f8f5;color:#687168;border-color:#cfd7cd}html[data-theme="light"] .fai78-trainer{background:#fffdf8!important}.fai78-modal-card{color:#fff}html[data-theme="light"] .fai78-modal-card{background:#fff;color:#111;border-color:#dce2db}html[data-theme="light"] .fai78-tech,html[data-theme="light"] .fai78-history{border-color:#dce2db}html[data-theme="light"] .fai78-ex-head button{color:#111}
@media(max-width:850px){.fai78-dashboard{grid-template-columns:1fr}.fai78-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:480px){.fai78-kpis{grid-template-columns:1fr}.fai78-rest{left:12px;right:12px;bottom:12px;width:auto}}

/* ==========================================================
   FitAI v79 — clear Progress tools
   ========================================================== */
.fai79-strength-entry{
  display:grid;
  grid-template-columns:1fr minmax(280px,380px);
  gap:16px;
  align-items:end;
  margin:16px 0 4px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--soft);
}
.fai79-strength-entry span,.fai79-strength-entry small{display:block}
.fai79-strength-entry span{font-size:12px}
.fai79-strength-entry small{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.4}
.fai79-strength-entry>div:last-child{display:grid;grid-template-columns:1fr auto;gap:8px}
.fai79-strength-entry input{
  min-width:0;padding:11px 12px;border-radius:11px;border:1px solid var(--line);
  background:var(--card);color:var(--text);font-weight:850;
}
.fai79-body-kpis{
  display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:16px 0;
}
.fai79-body-kpis>div{
  padding:12px;border:1px solid var(--line);background:var(--soft);border-radius:13px;
}
.fai79-body-kpis span,.fai79-body-kpis b{display:block}
.fai79-body-kpis span{font-size:9px;color:var(--muted)}
.fai79-body-kpis b{font-size:15px;margin-top:4px}
.fai79-measure-history{display:grid;gap:7px}
.fai79-measure-history>div{
  display:grid;grid-template-columns:90px 90px 1fr;gap:10px;align-items:center;
  padding:10px 0;border-top:1px solid var(--line);
}
.fai79-measure-history span,.fai79-measure-history small{font-size:10px;color:var(--muted)}
.fai79-measure-history b{font-size:12px}
.fai79-empty{padding:20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:13px}
.fai79-overlay{
  position:fixed;inset:0;z-index:100001;background:rgba(0,0,0,.72);backdrop-filter:blur(7px);
  display:grid;place-items:center;padding:18px;
}
.fai79-modal{
  width:min(700px,96vw);max-height:90vh;overflow:auto;background:var(--card);color:var(--text);
  border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 110px rgba(0,0,0,.5);
}
.fai79-modal-head{display:flex;justify-content:space-between;gap:15px;padding:18px 20px;border-bottom:1px solid var(--line)}
.fai79-modal-head small{color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.12em}
.fai79-modal-head h3{margin:4px 0 0}
.fai79-modal-head button{border:0;background:transparent;color:var(--text);font-size:26px}
.fai79-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:20px}
.fai79-form label{font-size:11px;color:var(--muted);font-weight:750}
.fai79-form label>div{display:grid;grid-template-columns:1fr 34px;align-items:center;gap:6px;margin-top:6px}
.fai79-form input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--text)}
.fai79-form label b{text-align:center;font-size:10px;color:var(--muted)}
.fai79-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line)}
.fai79-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.fai79-photo-item{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.fai79-photo-item img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.fai79-photo-item>div{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px}
.fai79-photo-item span{font-size:9px;color:var(--muted)}
.fai79-photo-item button{border:0;background:transparent;color:#d05c51;font-size:9px;font-weight:850}
.fai79-empty-photo{min-height:140px;margin-top:15px;display:grid;place-items:center;text-align:center;padding:22px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}
.fai79-empty-photo b,.fai79-empty-photo span{display:block}.fai79-empty-photo b{color:var(--text);font-size:14px}.fai79-empty-photo span{font-size:10px;margin-top:4px;max-width:360px}

@media(max-width:850px){
  .fai79-strength-entry{grid-template-columns:1fr}
  .fai79-body-kpis{grid-template-columns:repeat(3,1fr)}
  .fai79-photo-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .fai79-form{grid-template-columns:1fr}
  .fai79-body-kpis{grid-template-columns:repeat(2,1fr)}
  .fai79-measure-history>div{grid-template-columns:70px 70px 1fr}
  .fai79-photo-grid{grid-template-columns:1fr 1fr}
  .fai79-strength-entry>div:last-child{grid-template-columns:1fr}
}


/* ===== FitAI v82 presentation layer ===== */
.fai82-public{background:#090c09;color:#f7faf6;min-height:100vh;font-family:inherit}
.fai82-public *{box-sizing:border-box}.fai82-nav{height:86px;position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:42px;padding:0 max(32px,calc((100vw - 1260px)/2));background:rgba(8,11,8,.92);backdrop-filter:blur(18px);border-bottom:1px solid #1d271d}.fai82-logo{display:flex;align-items:center;gap:9px;font-size:22px;letter-spacing:-.5px}.fai82-logo b span{color:#9cff00}.fai82-runner{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid #2c3b2a;border-radius:12px;filter:saturate(0) brightness(2)}.fai82-nav nav{display:flex;gap:34px;margin-left:auto}.fai82-nav a{color:#aeb7ad;text-decoration:none;font-weight:700}.fai82-nav-actions{display:flex;gap:10px}.fai82-primary,.fai82-ghost,.fai82-gold{border:0;border-radius:12px;padding:15px 22px;font:800 16px inherit;cursor:pointer}.fai82-primary{background:#7bc52f;color:#071000;box-shadow:0 10px 35px rgba(145,245,0,.15)}.fai82-primary.small{padding:12px 18px}.fai82-ghost{background:#111711;color:#fff;border:1px solid #31402f}.fai82-hero{max-width:1260px;margin:auto;min-height:720px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;padding:70px 0 85px}.fai82-kicker{display:inline-flex;border:1px solid #2d3b2c;background:#111711;border-radius:999px;padding:9px 13px;color:#d8ded6;font-size:12px;font-weight:900;letter-spacing:.06em}.fai82-hero h1{font-size:68px;line-height:.98;letter-spacing:-4px;margin:24px 0}.fai82-hero h1 em{font-style:normal;color:#7bc52f}.fai82-hero-copy>p{max-width:620px;color:#9ca69a;font-size:20px;line-height:1.55}.fai82-hero-actions{display:flex;gap:12px;margin-top:30px}.fai82-ghost.link{text-decoration:none;display:inline-flex;align-items:center}.fai82-proof{margin-top:30px;color:#778276;font-size:13px}.fai82-proof b{color:#dce3da}.fai82-proof span{margin:0 10px}.fai82-phone-wrap{display:grid;place-items:center;perspective:1200px}.fai82-phone{width:420px;min-height:610px;padding:25px;border:12px solid #050705;border-radius:46px;background:#f8faf7;color:#0b100b;transform:rotate(2deg);box-shadow:0 45px 90px rgba(0,0,0,.45),0 0 80px rgba(145,245,0,.08)}.fai82-phone-top{display:flex;justify-content:space-between;font-size:12px}.fai82-phone>h2{font-size:32px;margin:28px 0 20px}.fai82-phone-workout{background:#0b100b;color:white;border-radius:22px;padding:24px}.fai82-phone-workout small{color:#899287}.fai82-phone-workout h3{font-size:30px;margin:8px 0}.fai82-phone-workout button{width:100%;margin-top:15px;background:#7bc52f;border:0;border-radius:12px;padding:15px;font-weight:900}.fai82-phone-card{margin-top:14px;border:1px solid #dbe1d8;border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:7px}.fai82-phone-card span{color:#687066;font-size:13px}.fai82-dots{color:#7bc52f}.fai82-benefits,.fai82-pricing{max-width:1260px;margin:auto;padding:110px 0}.fai82-section-head{max-width:680px;margin-bottom:42px}.fai82-section-head h2{font-size:46px;letter-spacing:-2px;margin:17px 0 10px}.fai82-section-head p{color:#8f998d;font-size:18px;line-height:1.5}.fai82-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.fai82-grid article{position:relative;min-height:240px;padding:28px;background:#101510;border:1px solid #253024;border-radius:24px;overflow:hidden}.fai82-grid article>i{position:absolute;right:20px;top:15px;font-style:normal;color:#293428;font-size:46px;font-weight:900}.fai82-grid article>span{font-size:30px}.fai82-grid h3{font-size:21px;margin:28px 0 10px}.fai82-grid p{color:#8e988c;line-height:1.55;margin:0}.fai82-pricing{border-top:1px solid #1d271d}.fai82-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}.fai82-price-grid article{position:relative;padding:30px;border-radius:26px;background:#101510;border:1px solid #2b362a;display:flex;flex-direction:column;min-height:560px}.fai82-price-grid .pro{background:#121a12;border-color:#496b34;box-shadow:0 20px 60px rgba(145,245,0,.07)}.fai82-price-grid .vip{border-color:#c99b2b;box-shadow:0 20px 60px rgba(201,155,43,.08)}.fai82-price-grid h3{font-size:25px}.fai82-price-grid .price{font-size:46px;font-weight:900;margin:15px 0 24px}.fai82-price-grid .price small{font-size:14px;color:#818a80}.fai82-price-grid ul{list-style:none;padding:0;margin:0 0 25px;display:grid;gap:14px;line-height:1.35;font-weight:700}.fai82-price-grid li{color:#e7ece5}.fai82-price-grid li.off{color:#5f685e}.fai82-price-grid article>button{margin-top:auto;width:100%}.fai82-price-grid .badge{position:absolute;right:20px;top:20px;background:#7bc52f;color:#0a1008;border-radius:999px;padding:7px 10px;font-size:10px;letter-spacing:.08em}.fai82-price-grid .badge.gold{background:#d7ad3f}.fai82-vipbox{display:flex;flex-direction:column;gap:8px;background:#18130a;border:1px solid #8d6a1b;padding:17px;border-radius:15px;margin-top:10px}.fai82-vipbox b{color:#e3b83f}.fai82-vipbox span{color:#a79d84;font-size:13px;line-height:1.4}.fai82-gold{background:#d8ad3c;color:#171005}.fai82-public footer{max-width:1260px;margin:50px auto 0;padding:40px 0 70px;border-top:1px solid #1d271d;display:flex;justify-content:space-between;color:#7f897e}
.fai82-loader,.fai82-auth{position:fixed;inset:0;z-index:99999;background:rgba(5,8,5,.96);display:grid;place-items:center;color:white;backdrop-filter:blur(12px)}.fai82-loader-inner{text-align:center;width:min(520px,90vw)}.fai82-track{height:80px;position:relative;overflow:hidden;border-bottom:1px solid #30402e}.fai82-running{position:absolute;left:-140px;bottom:10px;animation:fai82run 1.15s linear infinite}.fai82-running .fai82-logo b{display:none}@keyframes fai82run{to{left:100%}}.fai82-loader h2{font-size:30px;margin:25px 0 8px}.fai82-loader p{color:#8d978b}.fai82-progress{height:4px;background:#1b241a;border-radius:9px;overflow:hidden;margin-top:26px}.fai82-progress i{display:block;height:100%;background:#7bc52f;animation:fai82load 2.15s ease forwards}@keyframes fai82load{from{width:0}to{width:100%}}.fai82-auth{padding:25px}.fai82-auth-card{position:relative;width:min(470px,100%);background:#101510;border:1px solid #31402f;border-radius:26px;padding:32px;box-shadow:0 35px 90px rgba(0,0,0,.55)}.fai82-x{position:absolute;right:18px;top:16px;background:transparent;border:0;color:#fff;font-size:30px;cursor:pointer}.fai82-auth-copy{margin:30px 0 24px}.fai82-auth-copy h2{font-size:34px;margin:12px 0 8px}.fai82-auth-copy p{color:#929c90}.fai82-auth-card label{display:grid;gap:8px;color:#bfc6bd;font-size:13px;font-weight:700;margin:14px 0}.fai82-auth-card input{background:#090d09;border:1px solid #344233;border-radius:12px;padding:15px;color:#fff;font:inherit;outline:none}.fai82-auth-card input:focus{border-color:#7bc52f}.fai82-auth-card>.fai82-primary{width:100%;margin-top:10px}.fai82-switch{text-align:center;color:#818b80;margin-top:20px;font-size:13px}.fai82-switch button{background:none;border:0;color:#7bc52f;font-weight:800;cursor:pointer}
@media(max-width:900px){.fai82-nav{padding:0 18px}.fai82-nav nav{display:none}.fai82-hero{grid-template-columns:1fr;padding:55px 20px}.fai82-hero h1{font-size:48px}.fai82-phone{width:min(390px,92vw)}.fai82-benefits,.fai82-pricing{padding:80px 20px}.fai82-grid,.fai82-price-grid{grid-template-columns:1fr}.fai82-public footer{margin:20px;padding:30px 0}.fai82-nav-actions .fai82-ghost{display:none}}

/* ===== FitAI v83 logged-in application shell ===== */
.fai83-app-page{
  min-height:100vh;
  background:#080b08;
}
.fai83-app-main{
  width:min(1260px,calc(100% - 28px));
  margin:0 auto;
  padding:0 0 36px;
}
.fai83-shell{
  min-height:calc(100vh - 86px)!important;
  border-radius:0 0 22px 22px!important;
  border-top:0!important;
}
.fai83-app-page .topbar{
  position:sticky;
  top:0;
  z-index:100;
}
html[data-theme="light"] .fai83-app-page{
  background:#f4f7f2;
}
@media(max-width:760px){
  .fai83-app-main{
    width:100%;
    padding:0;
  }
  .fai83-shell{
    border-radius:0!important;
    border-left:0!important;
    border-right:0!important;
  }
}

/* FitAI v85 loader subtitle */
.fai82-loader .fai85-loader-sub{
  margin:8px auto 0;
  font-size:13px;
  line-height:1.45;
  font-weight:600;
  color:#7f897d;
  letter-spacing:.01em;
}

/* ===== FitAI v86 auth + loader reliability ===== */
.fai82-loader .fai85-loader-sub{
  display:block!important;
  max-width:430px;
  margin:10px auto 0!important;
  color:#aeb7ad!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.45!important;
  opacity:1!important;
  visibility:visible!important;
}
.fai82-loader .fai85-loader-sub b{
  color:#9cff00!important;
  font-weight:900!important;
}
.fai82-loader .fai86-main-phrase{
  max-width:520px;
  margin:25px auto 0!important;
  font-size:29px!important;
  line-height:1.16!important;
}
.fai82-loader{
  opacity:1;
  transition:opacity .26s ease;
}
.fai82-loader.fai86-loader-out{opacity:0}
.fai86-logout{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9500;
  border:1px solid #31402f;
  background:#111711;
  color:#dfe6dc;
  border-radius:12px;
  padding:10px 14px;
  font:800 12px inherit;
  cursor:pointer;
  box-shadow:0 12px 35px rgba(0,0,0,.22);
}
html[data-theme="light"] .fai86-logout{
  background:#fff;
  color:#182018;
  border-color:#d5ddd2;
}
@media(max-width:760px){
  .fai82-loader .fai86-main-phrase{font-size:23px!important}
  .fai82-loader .fai85-loader-sub{font-size:12px!important;padding:0 14px}
  .fai86-logout{right:12px;bottom:82px}
}

/* ===== FitAI v87 loader + demo auth fix ===== */
.fai87-loader-sub{
  display:block !important;
  max-width:460px;
  margin:10px auto 0 !important;
  padding:0 16px;
  color:#aeb7ad !important;
  font-size:14px !important;
  line-height:1.5 !important;
  font-weight:600 !important;
  text-align:center;
  opacity:1 !important;
  visibility:visible !important;
}
.fai87-loader-sub b{
  color:#9cff00 !important;
  font-weight:900 !important;
}
.fai87-auth-error{
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid rgba(255,105,90,.35);
  background:rgba(255,80,65,.08);
  color:#ffaba2;
  border-radius:10px;
  font-size:12px;
  font-weight:750;
}
.fai82-auth-card .fai82-primary{
  position:relative;
  z-index:2;
  pointer-events:auto!important;
}
.fai82-loader{
  z-index:200000!important;
}
.fai82-auth{
  z-index:190000!important;
}
@media(max-width:600px){
  .fai87-loader-sub{font-size:12px!important}
}

/* ===== FitAI v88 progress UX ===== */
.fai82-running img{
  width:118px;
  height:auto;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 7px 18px rgba(159,240,0,.18));
}
.fai82-track{height:105px!important}
.fai82-running{bottom:8px!important;left:-150px!important}
@keyframes fai82run{to{left:100%!important}}

.fai88-exercise-select{
  min-width:240px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid #7bc52f!important;
  background:#111711!important;
  color:#fff!important;
  border-radius:14px!important;
  padding:12px 16px!important;
  font-size:13px!important;
  font-weight:850!important;
  box-shadow:0 0 0 1px rgba(145,245,0,.12),0 8px 24px rgba(0,0,0,.16)!important;
}
.fai88-exercise-select b{color:#7bc52f!important;font-size:18px}
html[data-theme="light"] .fai88-exercise-select{
  background:#fff!important;
  color:#121712!important;
  border-color:#79c900!important;
}

.fai88-overlay{
  position:fixed;inset:0;z-index:150000;
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(8px);
  display:grid;place-items:center;padding:18px;
}
.fai88-picker{
  width:min(650px,96vw);
  max-height:84vh;
  display:flex;
  flex-direction:column;
  background:#0d110e;
  color:#fff;
  border:1px solid #2d372d;
  border-radius:22px;
  box-shadow:0 30px 100px rgba(0,0,0,.55);
  overflow:hidden;
}
.fai88-picker-head{
  padding:18px 20px 12px;
  display:flex;justify-content:space-between;gap:15px;align-items:flex-start;
}
.fai88-picker-head small{color:#7bc52f;font-size:9px;font-weight:900;letter-spacing:.1em}
.fai88-picker-head h3{margin:4px 0 0}
.fai88-picker-head button{border:0;background:transparent;color:#fff;font-size:28px}
.fai88-picker>input{
  margin:0 20px 12px;
  border:1px solid #2d372d;
  border-radius:12px;
  background:#090c09;
  color:#fff;
  padding:13px 14px;
}
.fai88-ex-list{
  overflow:auto;padding:0 12px 16px;
  display:grid;gap:5px;
}
.fai88-ex-list button{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  width:100%;border:1px solid transparent;border-radius:11px;
  background:#111611;color:#e7ece6;padding:11px 13px;text-align:left;
}
.fai88-ex-list button:hover,.fai88-ex-list button.active{
  border-color:#6fa82d;background:#172015;
}
.fai88-ex-list button b{font-size:9px;color:#7e897d;font-weight:700}
html[data-theme="light"] .fai88-picker{background:#fff;color:#111;border-color:#d8dfd5}
html[data-theme="light"] .fai88-picker-head button{color:#111}
html[data-theme="light"] .fai88-picker>input{background:#f7f9f6;color:#111;border-color:#d8dfd5}
html[data-theme="light"] .fai88-ex-list button{background:#f7f9f6;color:#111}
html[data-theme="light"] .fai88-ex-list button:hover,
html[data-theme="light"] .fai88-ex-list button.active{background:#edf7df;border-color:#8fc933}

.fai88-no-strength{
  min-height:180px;
  display:grid;place-items:center;
  text-align:center;padding:25px;
  color:var(--muted);
  border:1px dashed var(--line);
  border-radius:14px;
  margin-top:15px;
}
.fai88-arrow{
  display:inline-flex;
  margin-left:3px;
  padding:2px 5px;
  border-radius:999px;
  font-size:9px!important;
  font-style:normal;
  font-weight:900;
  vertical-align:1px;
}
.fai88-arrow.down{color:#54d879;background:rgba(84,216,121,.10)}
.fai88-arrow.up{color:#ff7265;background:rgba(255,114,101,.10)}
.fai79-measure-history small{line-height:1.8}

@media(max-width:700px){
  .fai88-exercise-select{width:100%;min-width:0}
  .fai88-picker{max-height:90vh}
}

/* ===== FitAI v89 — Add recipe modal refined dark UI ===== */
html[data-theme="dark"] .fp-add-recipe-overlay-v63{
  background:rgba(0,0,0,.78)!important;
  backdrop-filter:blur(9px)!important;
}
html[data-theme="dark"] .fp-add-recipe-modal-v63{
  background:#0d110e!important;
  border:1px solid #283228!important;
  box-shadow:0 28px 90px rgba(0,0,0,.58)!important;
}
html[data-theme="dark"] .fp-add-recipe-head-v63,
html[data-theme="dark"] .fp-add-recipe-actions-v63{
  background:#0f140f!important;
  border-color:#273027!important;
}
html[data-theme="dark"] .fp-add-recipe-modal-v63 input,
html[data-theme="dark"] .fp-add-recipe-modal-v63 textarea,
html[data-theme="dark"] .fp-add-recipe-modal-v63 select{
  background:#0a0e0b!important;
  color:#eef3ed!important;
  border:1px solid #303a30!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .fp-add-recipe-modal-v63 input:focus,
html[data-theme="dark"] .fp-add-recipe-modal-v63 textarea:focus{
  border-color:#82c93a!important;
  box-shadow:0 0 0 3px rgba(145,245,0,.07)!important;
}
html[data-theme="dark"] .fp-ingredient-row-v63,
html[data-theme="dark"] .fp-add-recipe-summary-v63,
html[data-theme="dark"] .fp-add-recipe-section-v63{
  background:#111611!important;
  border-color:#283128!important;
}
html[data-theme="dark"] .fp-add-recipe-modal-v63 label,
html[data-theme="dark"] .fp-add-recipe-modal-v63 small{
  color:#9aa49a!important;
}

/* ===== FitAI v89 — restore v77 loader copy layout ===== */
.fitai-loader-phrase-v76.fai89-loader-copy{
  display:grid;
  gap:8px;
  opacity:0;
  transform:translateY(8px);
}
.fitai-loader-v76.phrase-v76 .fai89-loader-copy{
  opacity:1;
  transform:translateY(0);
}
.fai89-loader-copy>b{
  color:#f4f6f4!important;
  font-size:18px!important;
  line-height:1.35!important;
}
.fai89-loader-copy>small{
  display:block;
  color:#8e988e!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:600!important;
}
html[data-theme="light"] .fai89-loader-copy>b{color:#121712!important}
html[data-theme="light"] .fai89-loader-copy>small{color:#687168!important}

/* ===== FitAI v90 — landing advantages vertical list ===== */
.fai82-benefits .fai82-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  max-width:980px;
}
.fai82-benefits .fai82-grid article{
  min-height:0!important;
  padding:26px 30px!important;
  display:grid!important;
  grid-template-columns:58px 1fr!important;
  grid-template-areas:
    "icon title"
    "icon text"!important;
  column-gap:20px!important;
  align-items:start!important;
}
.fai82-benefits .fai82-grid article>i{
  position:absolute!important;
  right:22px!important;
  top:16px!important;
  font-size:34px!important;
}
.fai82-benefits .fai82-grid article>span{
  grid-area:icon!important;
  font-size:30px!important;
  margin-top:2px!important;
}
.fai82-benefits .fai82-grid article h3{
  grid-area:title!important;
  margin:0 0 7px!important;
  font-size:22px!important;
}
.fai82-benefits .fai82-grid article p{
  grid-area:text!important;
  max-width:760px!important;
  margin:0!important;
}
@media(max-width:640px){
  .fai82-benefits .fai82-grid article{
    grid-template-columns:42px 1fr!important;
    padding:22px!important;
  }
  .fai82-benefits .fai82-grid article>i{
    font-size:25px!important;
  }
}

/* ===== FitAI v92 — footer/privacy ===== */
.footer-nav,
.demo-footer,
.legacy-footer,
.demo-bottom-links{
  display:none!important;
}

.fai92-app-footer{
  width:min(1260px,calc(100% - 28px));
  margin:0 auto;
  padding:22px 28px 30px;
  border-top:1px solid #202a20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:#788378;
  font-size:11px;
}
.fai92-app-footer button{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  color:#9aa59a;
  font:700 11px inherit;
  cursor:pointer;
}
.fai92-app-footer button:hover{color:#9cff00}
.fai92-app-footer a{
  color:#9aa59a;
  text-decoration:none;
}
.fai92-app-footer a:hover{color:#9cff00}

.fai92-privacy-overlay{
  position:fixed;
  inset:0;
  z-index:210000;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(0,0,0,.80);
  backdrop-filter:blur(9px);
}
.fai92-privacy-modal{
  width:min(820px,96vw);
  max-height:88vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #2a342a;
  border-radius:22px;
  background:#0d110e;
  color:#eef3ed;
  box-shadow:0 35px 120px rgba(0,0,0,.65);
}
.fai92-privacy-head{
  padding:22px 24px 18px;
  border-bottom:1px solid #253025;
  display:flex;
  justify-content:space-between;
  gap:18px;
}
.fai92-privacy-head small{
  color:#9cff00;
  font-size:9px;
  font-weight:950;
  letter-spacing:.14em;
}
.fai92-privacy-head h2{
  margin:5px 0 4px;
  font-size:28px;
}
.fai92-privacy-head p{
  margin:0;
  color:#778177;
  font-size:11px;
}
.fai92-privacy-head button{
  width:42px;height:42px;
  flex:0 0 42px;
  border:1px solid #2a342a;
  border-radius:11px;
  background:#101510;
  color:#fff;
  font-size:26px;
}
.fai92-privacy-body{
  overflow:auto;
  padding:20px 24px 26px;
}
.fai92-privacy-body section{
  padding:15px 0;
  border-bottom:1px solid #202820;
}
.fai92-privacy-body section:last-child{border-bottom:0}
.fai92-privacy-body h3{
  margin:0 0 7px;
  font-size:15px;
}
.fai92-privacy-body p{
  margin:0;
  color:#a0aaa0;
  font-size:12px;
  line-height:1.65;
}
.fai92-privacy-body a{color:#9cff00}
.fai92-privacy-note{
  display:grid;
  gap:5px;
  margin-bottom:10px;
  padding:14px 15px;
  border:1px solid #536b36;
  border-radius:13px;
  background:rgba(145,245,0,.055);
}
.fai92-privacy-note b{color:#baff54}
.fai92-privacy-note span{
  color:#aeb7ad;
  font-size:11px;
  line-height:1.5;
}
.fai92-privacy-actions{
  padding:14px 24px;
  border-top:1px solid #253025;
  display:flex;
  justify-content:flex-end;
}
html[data-theme="light"] .fai92-app-footer{border-color:#dbe2d8}
html[data-theme="light"] .fai92-privacy-modal{
  background:#fff;
  color:#111611;
  border-color:#d7ded5;
}
html[data-theme="light"] .fai92-privacy-head,
html[data-theme="light"] .fai92-privacy-actions,
html[data-theme="light"] .fai92-privacy-body section{border-color:#dce2da}
html[data-theme="light"] .fai92-privacy-head button{
  background:#f6f8f5;color:#111;border-color:#d7ded5;
}
html[data-theme="light"] .fai92-privacy-body p{color:#5f695f}
@media(max-width:650px){
  .fai92-app-footer{
    align-items:flex-start;
    flex-direction:column;
    padding:18px;
  }
  .fai92-privacy-head h2{font-size:22px}
}

/* ===== FitAI v94 — remove old demo bottom controls ===== */
.quick-nav,
.demo-quick-nav,
.demo-switcher,
.screen-switcher,
.preview-nav,
.preview-switcher,
.fp-demo-nav,
.fp-screen-nav,
body > .quick-nav,
body > .demo-nav,
body > .preview-nav{
  display:none!important;
}

/* old white buttons shown at the very bottom of the legacy demo */
body > div > button[onclick*="scrollDemo"],
body > div > button[onclick*="setScreen"][class=""],
body > nav:not(.navlinks):not(.fai82-nav){
  display:none!important;
}

/* ===== FitAI v94 — global footer ===== */
.fai92-app-footer{display:none!important}

.fai94-global-footer{
  width:min(1260px,calc(100% - 28px));
  margin:0 auto;
  padding:22px 28px 30px;
  border-top:1px solid #202a20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  color:#7e897e;
  font-size:11px;
}
.fai82-public .fai94-global-footer{
  margin-top:50px;
}
.fai94-footer-left,
.fai94-footer-right{
  display:flex;
  align-items:center;
  gap:18px;
}
.fai94-global-footer button{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  color:#9aa59a;
  font:700 11px inherit;
  cursor:pointer;
}
.fai94-global-footer button:hover{color:#9cff00}
.fai94-global-footer a{
  color:#9aa59a;
  text-decoration:none;
}
.fai94-global-footer a:hover{color:#9cff00}

.fai94-tg-mini{
  width:32px!important;
  height:32px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #2f3a2f!important;
  border-radius:50%!important;
  background:#101510!important;
  transition:.2s ease!important;
}
.fai94-tg-mini span{
  display:block;
  transform:rotate(-38deg) translate(1px,-1px);
  font-size:15px;
  color:#9cff00;
}
.fai94-tg-mini:hover{
  transform:translateY(-1px);
  border-color:#6f9d3c!important;
  box-shadow:0 7px 22px rgba(145,245,0,.08);
}

/* ===== FitAI v94 — About modal ===== */
.fai94-about-overlay{
  position:fixed;
  inset:0;
  z-index:220000;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(0,0,0,.82);
  backdrop-filter:blur(10px);
}
.fai94-about-modal{
  width:min(920px,96vw);
  max-height:90vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #2b352b;
  border-radius:24px;
  background:#0c100d;
  color:#f1f5f0;
  box-shadow:0 38px 130px rgba(0,0,0,.68);
}
.fai94-about-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  padding:22px 24px 20px;
  border-bottom:1px solid #242d24;
}
.fai94-about-brand{
  display:flex;
  gap:16px;
  align-items:center;
}
.fai94-about-brand img{
  width:64px;
  height:64px;
  object-fit:contain;
}
.fai94-about-brand small,
.fai94-about-body small{
  color:#9cff00;
  font-size:9px;
  font-weight:950;
  letter-spacing:.14em;
}
.fai94-about-brand h2{
  margin:3px 0;
  font-size:31px;
}
.fai94-about-brand p{
  margin:0;
  color:#8e988e;
  font-size:12px;
}
.fai94-about-x{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:1px solid #2b352b;
  border-radius:12px;
  background:#111611;
  color:#fff;
  font-size:27px;
}
.fai94-about-body{
  overflow:auto;
  padding:22px 24px 28px;
}
.fai94-about-intro{
  padding:24px;
  border:1px solid #34452d;
  border-radius:18px;
  background:
    linear-gradient(135deg,rgba(145,245,0,.06),transparent 65%),
    #101510;
}
.fai94-about-intro>span{
  color:#9cff00;
  font-size:9px;
  font-weight:950;
  letter-spacing:.14em;
}
.fai94-about-intro h3{
  max-width:700px;
  margin:10px 0;
  font-size:27px;
  line-height:1.18;
}
.fai94-about-intro p{
  max-width:760px;
  margin:0;
  color:#a1aaa0;
  font-size:12px;
  line-height:1.65;
}

.fai94-about-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  margin-top:14px;
}
.fai94-about-grid article{
  position:relative;
  min-height:150px;
  padding:20px;
  border:1px solid #242d24;
  border-radius:16px;
  background:#101410;
}
.fai94-about-grid article>b{
  position:absolute;
  right:16px;
  top:14px;
  color:#263126;
  font-size:30px;
}
.fai94-about-grid h4{
  margin:0 0 7px;
  font-size:16px;
}
.fai94-about-grid p{
  margin:0;
  color:#8f998f;
  font-size:11px;
  line-height:1.55;
}

.fai94-about-status{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:22px;
  margin-top:14px;
  padding:20px;
  border:1px solid #2c372b;
  border-radius:16px;
}
.fai94-about-status h4{
  margin:5px 0 0;
  font-size:16px;
}
.fai94-about-status p{
  margin:0;
  color:#8f998f;
  font-size:11px;
  line-height:1.6;
}

.fai94-about-contact{
  margin-top:14px;
  padding:18px 20px;
  border:1px solid #3c472a;
  border-radius:16px;
  background:#11160f;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.fai94-about-contact a{
  display:block;
  margin-top:5px;
  color:#dce4da;
  font-size:15px;
  font-weight:850;
  text-decoration:none;
}
.fai94-telegram-button{
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid #38542c;
  border-radius:12px;
  background:#182016;
  color:#eef5ec;
  padding:10px 14px;
  font-weight:850;
}
.fai94-tg-icon{
  color:#9cff00;
  font-size:17px;
  transform:rotate(-38deg);
}
.fai94-about-actions{
  padding:14px 24px;
  border-top:1px solid #242d24;
  display:flex;
  justify-content:flex-end;
}

/* light theme */
html[data-theme="light"] .fai94-global-footer{
  border-color:#dce3d9;
}
html[data-theme="light"] .fai94-tg-mini{
  background:#fff!important;
  border-color:#d6ddd3!important;
}
html[data-theme="light"] .fai94-about-modal{
  background:#fff;
  color:#111611;
  border-color:#d6ddd3;
}
html[data-theme="light"] .fai94-about-head,
html[data-theme="light"] .fai94-about-actions{
  border-color:#dce2d9;
}
html[data-theme="light"] .fai94-about-x{
  background:#f5f8f4;
  color:#111;
  border-color:#d6ddd3;
}
html[data-theme="light"] .fai94-about-intro,
html[data-theme="light"] .fai94-about-grid article,
html[data-theme="light"] .fai94-about-contact{
  background:#f7faf6;
  border-color:#d8e1d5;
}
html[data-theme="light"] .fai94-about-status{
  border-color:#d8e1d5;
}
html[data-theme="light"] .fai94-about-intro p,
html[data-theme="light"] .fai94-about-grid p,
html[data-theme="light"] .fai94-about-status p{
  color:#606a60;
}
html[data-theme="light"] .fai94-about-contact a{
  color:#172017;
}

@media(max-width:700px){
  .fai94-global-footer{
    align-items:flex-start;
    flex-direction:column;
    padding:20px 18px 26px;
  }
  .fai94-footer-left,
  .fai94-footer-right{
    width:100%;
    justify-content:space-between;
    flex-wrap:wrap;
  }
  .fai94-about-grid{
    grid-template-columns:1fr;
  }
  .fai94-about-status{
    grid-template-columns:1fr;
  }
  .fai94-about-contact{
    align-items:flex-start;
    flex-direction:column;
  }
  .fai94-about-intro h3{
    font-size:22px;
  }
}

/* ===== FitAI v95 Telegram ===== */
.fai95-tg-svg{width:18px;height:18px;display:block;fill:#fff}
.fai94-tg-mini{
  background:#229ED9!important;border-color:#229ED9!important;
  box-shadow:0 7px 22px rgba(34,158,217,.18)!important
}
.fai94-tg-mini:hover{background:#1d8fc5!important;border-color:#1d8fc5!important}
.fai94-tg-mini .fai95-tg-svg{width:16px;height:16px}
.fai95-telegram-button{
  background:#229ED9!important;border-color:#229ED9!important;color:#fff!important
}
.fai95-telegram-button:hover{background:#1d8fc5!important}
.fai95-telegram-button .fai95-tg-svg{width:20px;height:20px}

/* ===== FitAI v95 expanded About ===== */
.fai95-about-modal{width:min(1040px,96vw)}
.fai95-about-body{padding-bottom:36px}
.fai95-about-hero h3{max-width:850px;font-size:30px}
.fai95-section{
  margin-top:14px;padding:24px;border:1px solid #242d24;border-radius:18px;background:#0f140f
}
.fai95-section>p{margin:12px 0 0;color:#98a298;font-size:12px;line-height:1.7;max-width:900px}
.fai95-section-title{display:flex;gap:15px;align-items:center}
.fai95-section-title>span{
  width:44px;height:44px;display:grid;place-items:center;border-radius:12px;
  background:#172014;border:1px solid #33442b;color:#9cff00;font-size:12px;font-weight:950
}
.fai95-section-title small{color:#7d887d;font-size:9px;font-weight:900;letter-spacing:.14em}
.fai95-section-title h3{margin:3px 0 0;font-size:21px}
.fai95-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.fai95-pill-row b{padding:8px 11px;border:1px solid #2d382d;border-radius:999px;background:#111811;font-size:10px}
.fai95-feature-grid{margin-top:18px}
.fai95-feature-grid article{min-height:160px}
.fai95-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:18px}
.fai95-steps>div{padding:15px;border:1px solid #293329;border-radius:14px;background:#0c110d}
.fai95-steps i{
  width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#9cff00;
  color:#0b100a;font-style:normal;font-weight:950;font-size:10px
}
.fai95-steps h4{margin:12px 0 5px;font-size:12px}
.fai95-steps p{margin:0;color:#859085;font-size:10px;line-height:1.5}
.fai95-ai{background:linear-gradient(135deg,rgba(145,245,0,.05),transparent 70%),#0f140f}
.fai95-ai-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}
.fai95-ai-cards>div{padding:14px;border:1px solid #30402b;border-radius:13px;background:#111811}
.fai95-ai-cards strong{display:block;color:#dfe8dc;font-size:11px;margin-bottom:5px}
.fai95-ai-cards span{color:#879187;font-size:9px;line-height:1.45}
.fai95-goals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.fai95-goals>div{padding:15px;border:1px solid #293329;border-radius:14px}
.fai95-goals strong{font-size:12px;color:#e9eee7}
.fai95-goals p{margin:6px 0 0;color:#879187;font-size:10px;line-height:1.5}
.fai95-status{margin-top:14px}
.fai95-vision{
  background:linear-gradient(135deg,rgba(156,255,0,.08),transparent 60%),#111710;
  border-color:#405533
}
.fai95-vision blockquote{margin:12px 0;font-size:23px;line-height:1.25;font-weight:900;max-width:850px}
.fai95-vision>p{margin-top:0}

html[data-theme="light"] .fai95-section{background:#fff;border-color:#dce3d9}
html[data-theme="light"] .fai95-section-title>span{background:#eff8e9;border-color:#cfe0c5}
html[data-theme="light"] .fai95-section>p{color:#606a60}
html[data-theme="light"] .fai95-pill-row b,
html[data-theme="light"] .fai95-steps>div,
html[data-theme="light"] .fai95-ai-cards>div{background:#f7faf6;border-color:#d8e1d5}
html[data-theme="light"] .fai95-goals>div{border-color:#d8e1d5}
html[data-theme="light"] .fai95-ai-cards strong,
html[data-theme="light"] .fai95-goals strong{color:#182018}
html[data-theme="light"] .fai95-vision{background:#f3faef;border-color:#cdddca}

@media(max-width:850px){
  .fai95-steps{grid-template-columns:1fr 1fr}
  .fai95-ai-cards{grid-template-columns:1fr 1fr}
  .fai95-goals{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .fai95-steps,.fai95-ai-cards,.fai95-goals{grid-template-columns:1fr}
  .fai95-section{padding:18px}
  .fai95-about-hero h3{font-size:23px}
  .fai95-vision blockquote{font-size:19px}
}

/* ===== FitAI v96 — premium gold VIP ===== */
/* VIP pricing card: warmer gold border + restrained perimeter glow */
.pricing-grid > .price-card:nth-child(3),
.pricing-cards > .price-card:nth-child(3),
.price-card.vip,
.pricing-card.vip,
[data-plan="vip"]{
  border-color:#d8ad3b !important;
  box-shadow:
    0 0 0 1px rgba(216,173,59,.24),
    0 0 16px rgba(216,173,59,.13),
    0 0 34px rgba(216,173,59,.07) !important;
  position:relative;
}

/* subtle golden wash without making the card yellow */
.pricing-grid > .price-card:nth-child(3)::before,
.pricing-cards > .price-card:nth-child(3)::before,
.price-card.vip::before,
.pricing-card.vip::before,
[data-plan="vip"]::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(238,194,75,.055),transparent 35%,transparent 68%,rgba(218,168,47,.035));
}

/* VIP badge */
.pricing-grid > .price-card:nth-child(3) .badge,
.pricing-cards > .price-card:nth-child(3) .badge,
.price-card.vip .badge,
.pricing-card.vip .badge,
[data-plan="vip"] .badge{
  background:linear-gradient(135deg,#f1cf69,#c99522) !important;
  border-color:#e5bd4e !important;
  color:#181207 !important;
  box-shadow:0 0 12px rgba(224,178,54,.18);
}

/* VIP CTA remains gold */
.pricing-grid > .price-card:nth-child(3) .btn,
.pricing-cards > .price-card:nth-child(3) .btn,
.price-card.vip .btn,
.pricing-card.vip .btn,
[data-plan="vip"] .btn{
  border-color:#d8ad3b !important;
}

/* Dark theme gets the most premium effect */
html:not([data-theme="light"]) .pricing-grid > .price-card:nth-child(3),
html:not([data-theme="light"]) .pricing-cards > .price-card:nth-child(3),
html:not([data-theme="light"]) .price-card.vip,
html:not([data-theme="light"]) .pricing-card.vip,
html:not([data-theme="light"]) [data-plan="vip"]{
  background:
    radial-gradient(circle at 88% 8%,rgba(224,178,54,.08),transparent 27%),
    linear-gradient(145deg,#15140f,#0e110e 58%,#121109) !important;
}

/* Light theme: gold stays visible, glow remains soft */
html[data-theme="light"] .pricing-grid > .price-card:nth-child(3),
html[data-theme="light"] .pricing-cards > .price-card:nth-child(3),
html[data-theme="light"] .price-card.vip,
html[data-theme="light"] .pricing-card.vip,
html[data-theme="light"] [data-plan="vip"]{
  border-color:#d2a52d !important;
  box-shadow:
    0 0 0 1px rgba(210,165,45,.18),
    0 0 16px rgba(210,165,45,.11),
    0 10px 30px rgba(87,70,23,.05) !important;
}

/* ===== FitAI v97 — stronger VIP neon + pricing hover ===== */

/* Smooth hover for every tariff card */
.fai82-price-grid article,
.pricing-grid > .price-card,
.pricing-cards > .price-card,
.price-card,
.pricing-card,
[data-plan]{
  transition:
    transform .24s ease,
    filter .24s ease,
    box-shadow .24s ease,
    border-color .24s ease,
    background .24s ease !important;
  transform-origin:center center;
  will-change:transform,filter;
}

.fai82-price-grid article:hover,
.pricing-grid > .price-card:hover,
.pricing-cards > .price-card:hover,
.price-card:hover,
.pricing-card:hover,
[data-plan]:hover{
  transform:translateY(-5px) scale(1.018) !important;
  filter:brightness(1.08) !important;
  z-index:5;
}

/* PRO gets a restrained green response */
.fai82-price-grid article.pro:hover,
.price-card.pro:hover,
.pricing-card.pro:hover,
[data-plan="pro"]:hover{
  box-shadow:
    0 16px 40px rgba(0,0,0,.32),
    0 0 22px rgba(145,245,0,.10) !important;
}

/* VIP — clearly visible golden neon at rest */
.fai82-price-grid article.vip,
.pricing-grid > .price-card:nth-child(3),
.pricing-cards > .price-card:nth-child(3),
.price-card.vip,
.pricing-card.vip,
[data-plan="vip"]{
  position:relative !important;
  border:1.5px solid #e0b236 !important;
  background:
    radial-gradient(circle at 88% 10%,rgba(255,205,66,.10),transparent 26%),
    linear-gradient(145deg,#17150d 0%,#10120f 58%,#151108 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,214,78,.26),
    0 0 12px rgba(255,190,25,.28),
    0 0 28px rgba(255,178,0,.18),
    0 0 54px rgba(255,170,0,.09),
    inset 0 0 22px rgba(255,198,46,.035) !important;
  overflow:visible !important;
}

/* Neon aura just outside the VIP perimeter */
.fai82-price-grid article.vip::after,
.pricing-grid > .price-card:nth-child(3)::after,
.pricing-cards > .price-card:nth-child(3)::after,
.price-card.vip::after,
.pricing-card.vip::after,
[data-plan="vip"]::after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:inherit;
  pointer-events:none;
  border:1px solid rgba(255,206,63,.18);
  box-shadow:
    0 0 16px rgba(255,196,33,.20),
    0 0 34px rgba(255,181,0,.14);
  opacity:.85;
  z-index:-1;
}

/* VIP hover: slightly larger, brighter and noticeably more luminous */
.fai82-price-grid article.vip:hover,
.pricing-grid > .price-card:nth-child(3):hover,
.pricing-cards > .price-card:nth-child(3):hover,
.price-card.vip:hover,
.pricing-card.vip:hover,
[data-plan="vip"]:hover{
  transform:translateY(-7px) scale(1.026) !important;
  filter:brightness(1.14) saturate(1.08) !important;
  border-color:#ffd34f !important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.38),
    0 0 0 1px rgba(255,226,112,.42),
    0 0 16px rgba(255,204,55,.46),
    0 0 36px rgba(255,187,0,.30),
    0 0 72px rgba(255,171,0,.18),
    inset 0 0 28px rgba(255,207,75,.055) !important;
}

.fai82-price-grid article.vip:hover::after,
.pricing-grid > .price-card:nth-child(3):hover::after,
.pricing-cards > .price-card:nth-child(3):hover::after,
.price-card.vip:hover::after,
.pricing-card.vip:hover::after,
[data-plan="vip"]:hover::after{
  opacity:1;
  border-color:rgba(255,218,92,.32);
  box-shadow:
    0 0 18px rgba(255,210,75,.34),
    0 0 44px rgba(255,190,17,.25),
    0 0 82px rgba(255,174,0,.13);
}

/* Gold title / price / CTA feel richer */
.fai82-price-grid article.vip h3,
.fai82-price-grid article.vip .price,
.price-card.vip h3,
.price-card.vip .price,
.pricing-card.vip h3,
.pricing-card.vip .price,
[data-plan="vip"] h3,
[data-plan="vip"] .price{
  color:#f2c84b !important;
  text-shadow:0 0 12px rgba(242,200,75,.14);
}

.fai82-price-grid article.vip .fai82-gold,
.price-card.vip .btn,
.pricing-card.vip .btn,
[data-plan="vip"] .btn{
  background:linear-gradient(135deg,#efc64d 0%,#d5a72e 100%) !important;
  color:#171006 !important;
  border-color:#efc64d !important;
  box-shadow:0 7px 24px rgba(218,170,42,.16);
}

.fai82-price-grid article.vip .fai82-gold:hover,
.price-card.vip .btn:hover,
.pricing-card.vip .btn:hover,
[data-plan="vip"] .btn:hover{
  filter:brightness(1.08);
  box-shadow:0 9px 30px rgba(236,190,57,.25);
}

/* Light theme keeps gold premium without looking blown out */
html[data-theme="light"] .fai82-price-grid article.vip,
html[data-theme="light"] .price-card.vip,
html[data-theme="light"] .pricing-card.vip,
html[data-theme="light"] [data-plan="vip"]{
  background:
    radial-gradient(circle at 88% 10%,rgba(224,176,46,.09),transparent 26%),
    linear-gradient(145deg,#fffef9,#fff 62%,#fffbef) !important;
  box-shadow:
    0 0 0 1px rgba(212,164,37,.18),
    0 0 18px rgba(214,166,42,.15),
    0 14px 36px rgba(72,58,19,.08) !important;
}

@media (prefers-reduced-motion: reduce){
  .fai82-price-grid article,
  .price-card,
  .pricing-card,
  [data-plan]{
    transition:none !important;
  }
}

/* ===== FitAI v98 — pricing trust bar ===== */
.fai98-trustbar{
  margin-top:28px;
  padding:18px 20px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  border:1px solid #2a352a;
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(145,245,0,.018),transparent),
    #0c110d;
  box-shadow:0 14px 38px rgba(0,0,0,.18);
}
.fai98-trustitem{
  min-width:0;
  display:grid;
  grid-template-columns:40px 1fr;
  gap:12px;
  align-items:start;
  padding:3px 18px;
  border-right:1px solid #263026;
}
.fai98-trustitem:first-child{padding-left:4px}
.fai98-trustitem:last-child{
  border-right:0;
  padding-right:4px;
}
.fai98-trusticon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:2px solid #8cef00;
  border-radius:11px;
  color:#9cff00;
  font-size:18px;
  line-height:1;
  font-weight:950;
  box-shadow:0 0 16px rgba(145,245,0,.06);
}
.fai98-trusticon.rotate{
  border-radius:50%;
  font-size:22px;
}
.fai98-trustitem b,
.fai98-trustitem small{
  display:block;
}
.fai98-trustitem b{
  margin:1px 0 5px;
  color:#f0f4ef;
  font-size:12px;
  line-height:1.25;
}
.fai98-trustitem small{
  color:#7f897f;
  font-size:9px;
  line-height:1.48;
}
html[data-theme="light"] .fai98-trustbar{
  background:#fff;
  border-color:#d9e0d6;
  box-shadow:0 10px 30px rgba(39,50,37,.05);
}
html[data-theme="light"] .fai98-trustitem{
  border-color:#e1e6df;
}
html[data-theme="light"] .fai98-trustitem b{
  color:#182018;
}
html[data-theme="light"] .fai98-trustitem small{
  color:#697269;
}
html[data-theme="light"] .fai98-trusticon{
  border-color:#76c800;
  color:#70bf00;
}
@media(max-width:1050px){
  .fai98-trustbar{
    grid-template-columns:repeat(2,1fr);
    gap:16px;
  }
  .fai98-trustitem,
  .fai98-trustitem:first-child,
  .fai98-trustitem:last-child{
    padding:0;
    border-right:0;
  }
}
@media(max-width:620px){
  .fai98-trustbar{
    grid-template-columns:1fr;
  }
}

/* ===== FitAI v99 — compact pricing assurances ===== */
.fai98-trustbar{
  grid-template-columns:repeat(4,1fr);
  padding:20px 22px;
}
.fai98-trustitem{
  grid-template-columns:46px 1fr;
  align-items:center;
  min-height:48px;
}
.fai98-trustitem b{
  margin:0;
  font-size:13px;
  line-height:1.25;
}
.fai98-trustitem small{display:none!important}
.fai98-trusticon{
  width:38px;
  height:38px;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.fai98-trusticon svg{
  width:36px;
  height:36px;
  fill:none;
  stroke:#8ff000;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(143,240,0,.15));
}
html[data-theme="light"] .fai98-trusticon{
  border:0;
}
html[data-theme="light"] .fai98-trusticon svg{
  stroke:#6fbd00;
}
@media(max-width:1050px){
  .fai98-trustbar{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .fai98-trustbar{grid-template-columns:1fr}
}

/* ===== FitAI v100 — restore established site logo ===== */
/* Trust-bar icon styling must never affect FitAI branding/logo SVGs. */
.fai98-trustbar .fai98-trusticon svg{
  width:36px !important;
  height:36px !important;
  fill:none !important;
  stroke:#8ff000 !important;
}

/* Keep the existing FitAI logo artwork exactly as supplied by the site. */
header img[src*="logo"],
.brand img[src*="logo"],
.sidebar img[src*="logo"],
.fai82-brand img,
.fai94-brand img{
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
}

/* ===== FitAI v101 — same logo before and after login ===== */
.fai82-logo.fai101-logo{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
}
.fai82-logo.fai101-logo img{
  width:78px!important;
  height:48px!important;
  object-fit:contain!important;
  display:block!important;
  filter:none!important;
  opacity:1!important;
}
.fai82-running .fai82-logo.fai101-logo img{
  width:92px!important;
  height:58px!important;
}

.fai102-phone-top{position:relative!important;display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;height:24px!important;color:#0b100b!important}.fai102-phone-top>b{justify-self:start;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif;font-size:13px!important;font-weight:800!important}.fai102-island{justify-self:center;width:76px;height:22px;border-radius:20px;background:#050605}.fai102-statusicons{justify-self:end;display:flex;align-items:center;gap:6px}.fai102-cell{width:17px;height:13px;fill:currentColor}.fai102-wifi{width:17px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.fai102-battery{position:relative;width:22px;height:11px;border:1.5px solid currentColor;border-radius:3px;box-sizing:border-box}.fai102-battery:after{content:"";position:absolute;right:-3.5px;top:2.4px;width:2px;height:4px;border-radius:0 1px 1px 0;background:currentColor}.fai102-battery i{position:absolute;inset:1.5px;border-radius:1px;background:currentColor}.fai82-grid article>i{color:#7bc52f!important;text-shadow:0 0 18px rgba(145,245,0,.12)}

/* ===== FitAI v103 — full presentation landing ===== */
.fai103-public{overflow:hidden}
.fai103-hero{min-height:760px}
.fai103-hero-proof{display:flex;gap:24px;margin-top:34px;padding-top:24px;border-top:1px solid #1f291f}
.fai103-hero-proof>div{display:grid;gap:3px}
.fai103-hero-proof b{font-size:22px;color:#9cff00}
.fai103-hero-proof span{font-size:10px;color:#7f897d}
.fai103-phone{box-shadow:0 48px 100px rgba(0,0,0,.55),0 0 95px rgba(145,245,0,.10)!important}

.fai103-strip{
  max-width:1260px;margin:0 auto;padding:20px;
  display:grid;grid-template-columns:repeat(4,1fr);
  border:1px solid #253025;border-radius:20px;background:#0e130f
}
.fai103-strip>div{padding:8px 22px;border-right:1px solid #263026;display:grid;gap:4px}
.fai103-strip>div:last-child{border-right:0}
.fai103-strip span{font-size:10px;color:#7bc52f;font-weight:950}
.fai103-strip b{font-size:14px}
.fai103-strip small{color:#778277;font-size:9px;line-height:1.45}

.fai103-benefits{padding-bottom:80px}
.fai103-showcase{
  max-width:1260px;margin:0 auto;padding:80px 0;
  display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;
  border-top:1px solid #1d271d
}
.fai103-showcase.reverse{grid-template-columns:1fr 1fr}
.fai103-showcase-copy h2{font-size:42px;line-height:1.05;letter-spacing:-1.8px;margin:18px 0}
.fai103-showcase-copy>p{color:#8f998e;font-size:17px;line-height:1.6}
.fai103-showcase-copy ul{list-style:none;padding:0;margin:25px 0 0;display:grid;gap:12px}
.fai103-showcase-copy li{font-weight:750;color:#dfe5dd}
.fai103-demo-card,.fai103-progress-card{
  padding:28px;border:1px solid #2a3629;border-radius:24px;background:#0f140f;
  box-shadow:0 25px 70px rgba(0,0,0,.25)
}
.fai103-demo-card>small{color:#7b867a;font-weight:900}
.fai103-demo-card h3{font-size:27px;margin:8px 0 22px}
.fai103-set{
  display:grid;grid-template-columns:42px 1fr 1fr 36px;align-items:center;
  padding:14px 12px;border-top:1px solid #273027
}
.fai103-set b{font-size:17px}.fai103-set span{color:#a7b0a5}.fai103-set i{font-style:normal;color:#7bc52f;font-size:18px}
.fai103-demo-card>button{width:100%;margin-top:18px;padding:15px;border:0;border-radius:12px;background:#7bc52f;font-weight:900}

.fai103-chart-head{display:flex;justify-content:space-between;align-items:center}
.fai103-chart-head span{color:#7f897d}.fai103-chart-head b{color:#9cff00}
.fai103-chart-line{position:relative;height:240px;margin:20px 0;border-bottom:1px solid #263126;background:linear-gradient(180deg,rgba(145,245,0,.025),transparent)}
.fai103-chart-line svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fai103-chart-line polyline{fill:none;stroke:#7bc52f;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(145,245,0,.2))}
.fai103-chart-line i{position:absolute;width:10px;height:10px;border-radius:50%;background:#7bc52f;transform:translate(-50%,50%);z-index:2;box-shadow:0 0 14px rgba(145,245,0,.22)}
.fai103-progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fai103-progress-stats>div{padding:13px;border:1px solid #263126;border-radius:12px}
.fai103-progress-stats small,.fai103-progress-stats b{display:block}
.fai103-progress-stats small{color:#758075}.fai103-progress-stats b{margin-top:3px;font-size:17px}

.fai103-how{max-width:1260px;margin:0 auto;padding:100px 0;border-top:1px solid #1d271d}
.fai103-how-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.fai103-how-grid article{padding:22px;border:1px solid #263126;border-radius:18px;background:#0f140f}
.fai103-how-grid article>b{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#7bc52f;color:#091008}
.fai103-how-grid h3{font-size:16px;margin:18px 0 7px}
.fai103-how-grid p{margin:0;color:#7f897e;font-size:11px;line-height:1.5}

.fai103-ai-section{
  max-width:1260px;margin:0 auto;padding:80px;
  display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;
  border:1px solid #2c3a2a;border-radius:28px;
  background:radial-gradient(circle at 90% 20%,rgba(145,245,0,.07),transparent 25%),#0e130f
}
.fai103-ai-section h2{font-size:39px;line-height:1.08;letter-spacing:-1.5px;margin:18px 0}
.fai103-ai-section p{color:#8f998e;line-height:1.6}
.fai103-chat{display:grid;gap:12px}
.fai103-chat .user{justify-self:end;max-width:78%;padding:14px 16px;border-radius:16px 16px 4px 16px;background:#202b1e}
.fai103-chat .ai{max-width:90%;display:grid;gap:6px;padding:17px;border:1px solid #33432f;border-radius:4px 16px 16px 16px;background:#101610}
.fai103-chat .ai b{color:#7bc52f}.fai103-chat .ai span{color:#a1aaa0;line-height:1.5}

.fai103-about{
  max-width:1260px;margin:100px auto 0;padding:75px;
  display:grid;grid-template-columns:1.05fr .95fr;gap:60px;
  border-top:1px solid #1d271d;border-bottom:1px solid #1d271d
}
.fai103-about-main h2{font-size:45px;margin:18px 0}.fai103-about-main p{color:#909a8f;font-size:17px;line-height:1.6}
.fai103-about-points{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fai103-about-points>div{padding:18px;border:1px solid #273227;border-radius:16px;background:#0f140f}
.fai103-about-points b,.fai103-about-points span{display:block}.fai103-about-points b{color:#e8ede6}.fai103-about-points span{margin-top:5px;color:#788278;font-size:10px;line-height:1.45}

.fai103-final-cta{
  max-width:1260px;margin:30px auto 80px;padding:44px 50px;
  display:flex;align-items:center;justify-content:space-between;gap:30px;
  border:1px solid #405432;border-radius:24px;
  background:linear-gradient(135deg,rgba(145,245,0,.07),transparent 55%),#101510
}
.fai103-final-cta h2{font-size:36px;margin:15px 0 7px}.fai103-final-cta p{margin:0;color:#8c968b}
.fai103-final-cta>button{min-width:210px}

html[data-theme="light"] .fai103-strip,
html[data-theme="light"] .fai103-demo-card,
html[data-theme="light"] .fai103-progress-card,
html[data-theme="light"] .fai103-how-grid article,
html[data-theme="light"] .fai103-about-points>div{background:#fff;border-color:#dce3d9}
html[data-theme="light"] .fai103-ai-section,
html[data-theme="light"] .fai103-final-cta{background:#f7fbf4;border-color:#d5e2cd}
html[data-theme="light"] .fai103-showcase-copy li{color:#182018}

@media(max-width:950px){
  .fai103-strip{grid-template-columns:1fr 1fr}
  .fai103-strip>div{border-right:0;border-bottom:1px solid #263026}
  .fai103-showcase,.fai103-showcase.reverse,.fai103-ai-section,.fai103-about{grid-template-columns:1fr;padding-left:22px;padding-right:22px}
  .fai103-how{padding-left:22px;padding-right:22px}
  .fai103-how-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .fai103-hero-proof{flex-direction:column;gap:12px}
  .fai103-strip{grid-template-columns:1fr;margin:0 18px}
  .fai103-how-grid,.fai103-about-points{grid-template-columns:1fr}
  .fai103-ai-section{margin:0 18px;padding:28px 22px}
  .fai103-showcase{padding-top:60px;padding-bottom:60px}
  .fai103-showcase-copy h2,.fai103-ai-section h2,.fai103-about-main h2{font-size:31px}
  .fai103-final-cta{margin:30px 18px 60px;padding:28px;align-items:flex-start;flex-direction:column}
}

/* ===== FitAI v104 — presentation interactions & richer strength chart ===== */

/* Demo-only control: looks like UI, but is intentionally non-interactive */
.fai104-demo-disabled{
  width:100%;
  margin-top:18px;
  padding:15px;
  border-radius:12px;
  background:#7bc52f;
  color:#0b1008;
  text-align:center;
  font-weight:900;
  cursor:default;
  user-select:none;
  pointer-events:none;
  box-shadow:0 7px 24px rgba(145,245,0,.08);
}

/* Strength chart summary */
.fai104-chart-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:18px 0 8px;
}
.fai104-chart-summary>div{
  padding:12px 13px;
  border:1px solid #293329;
  border-radius:12px;
  background:#0c110d;
}
.fai104-chart-summary small,
.fai104-chart-summary b{
  display:block;
}
.fai104-chart-summary small{
  color:#737e73;
  font-size:9px;
}
.fai104-chart-summary b{
  margin-top:5px;
  color:#edf2eb;
  font-size:16px;
}
.fai104-chart-summary b i{
  display:block;
  margin-top:3px;
  font-size:9px;
  font-style:normal;
}
.fai104-up,.fai104-positive{
  color:#82f36d!important;
}

/* Chart */
.fai104-chart-line{
  height:285px!important;
  margin-top:14px!important;
  overflow:visible;
}
.fai104-chart-line svg{
  z-index:1;
}
.fai104-chart-line polyline{
  stroke-width:2.3!important;
}
.fai104-point{
  position:absolute;
  z-index:3;
  transform:translate(-50%,50%);
}
.fai104-point .dot{
  display:block;
  width:11px;
  height:11px;
  border-radius:50%;
  background:#7bc52f;
  border:2px solid #0d120d;
  box-shadow:0 0 0 2px rgba(145,245,0,.15),0 0 14px rgba(145,245,0,.22);
}
.fai104-point .tip{
  position:absolute;
  left:50%;
  bottom:18px;
  min-width:78px;
  padding:7px 8px;
  transform:translateX(-50%);
  display:grid;
  gap:1px;
  border:1px solid #2c382b;
  border-radius:9px;
  background:rgba(10,14,11,.94);
  text-align:center;
  box-shadow:0 8px 22px rgba(0,0,0,.24);
}
.fai104-point .tip b{
  font-size:10px;
  color:#eef3ec;
}
.fai104-point .tip small{
  font-size:8px;
  color:#748074;
}
.fai104-point .tip em{
  margin-top:2px;
  font-size:8px;
  font-style:normal;
  font-weight:900;
  color:#788378;
}
.fai104-point .tip em.up{
  color:#62dc78;
}
.fai104-point .tip em.down{
  color:#ff6c62;
}

.fai104-point.p1{left:5%;bottom:16.7%}
.fai104-point.p2{left:28%;bottom:35%}
.fai104-point.p3{left:52%;bottom:30%}
.fai104-point.p4{left:74%;bottom:55%}
.fai104-point.p5{left:94%;bottom:76.7%}

/* Compact date history underneath */
.fai104-chart-history{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:6px;
}
.fai104-chart-history>div{
  min-width:0;
  padding:9px 7px;
  border:1px solid #273127;
  border-radius:10px;
  display:grid;
  gap:3px;
  background:#0c110d;
}
.fai104-chart-history span{
  color:#717c71;
  font-size:8px;
}
.fai104-chart-history b{
  color:#eef2ec;
  font-size:10px;
}
.fai104-chart-history em{
  font-size:8px;
  font-style:normal;
  font-weight:900;
  color:#788278;
}
.fai104-chart-history em.up{
  color:#62dc78;
}
.fai104-chart-history em.down{
  color:#ff6c62;
}

/* light theme */
html[data-theme="light"] .fai104-chart-summary>div,
html[data-theme="light"] .fai104-chart-history>div{
  background:#f8faf7;
  border-color:#dbe2d8;
}
html[data-theme="light"] .fai104-chart-summary b,
html[data-theme="light"] .fai104-chart-history b{
  color:#192019;
}
html[data-theme="light"] .fai104-point .tip{
  background:rgba(255,255,255,.96);
  border-color:#d9e1d6;
}
html[data-theme="light"] .fai104-point .tip b{
  color:#182018;
}
html[data-theme="light"] .fai104-point .dot{
  border-color:#fff;
}

/* Responsive */
@media(max-width:700px){
  .fai104-chart-summary{
    grid-template-columns:1fr 1fr 1fr;
  }
  .fai104-chart-history{
    grid-template-columns:1fr 1fr;
  }
  .fai104-point .tip{
    min-width:66px;
    padding:6px;
  }
}

/* FitAI v105 — stable sidebar */
.fai83-shell{display:grid!important;grid-template-columns:280px minmax(0,1fr)!important;align-items:start!important}
.fai83-shell>.sidebar{position:sticky!important;top:86px!important;align-self:start!important;width:280px!important;min-width:280px!important;max-width:280px!important;height:calc(100vh - 86px)!important;overflow-y:auto!important;overflow-x:hidden!important;z-index:30!important}
.fai83-shell>.main{min-width:0!important;width:100%!important}
.fai83-shell .sidebar .menu,.fai83-shell .sidebar .menu button{width:100%!important;box-sizing:border-box!important}

/* FitAI v105 ready workout catalog */
.fai105-head-actions{display:flex!important;gap:9px!important;align-items:center!important}
.fai105-add-ready{border:1px solid #3b512f;background:#141b13;color:#e7ede5;border-radius:11px;padding:11px 14px;font-weight:850}
.fai105-add-ready:hover{color:#7bc52f;border-color:#73bd3c}
.fai105-overlay{position:fixed;inset:0;z-index:200000;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.78);backdrop-filter:blur(9px)}
.fai105-modal{width:min(1040px,96vw);max-height:88vh;overflow:hidden;display:flex;flex-direction:column;background:#0d110e;border:1px solid #2b362b;border-radius:22px;color:#eef3ed;box-shadow:0 35px 110px rgba(0,0,0,.6)}
.fai105-modal.small{width:min(680px,96vw)}
.fai105-head{display:flex;justify-content:space-between;gap:20px;padding:22px;border-bottom:1px solid #253025}
.fai105-head small{color:#7bc52f;font-size:9px;font-weight:950}.fai105-head h2{margin:5px 0;font-size:27px}.fai105-head p{margin:0;color:#849084;font-size:11px}
.fai105-head>button{width:42px;height:42px;border:1px solid #2b362b;border-radius:11px;background:#111611;color:#fff;font-size:25px}
.fai105-grid{overflow:auto;padding:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fai105-ready-card{position:relative;padding:19px;border:1px solid #293429;border-radius:16px;background:#101510}
.fai105-ready-card>small{color:#788378}.fai105-ready-card h3{margin:6px 45px 8px 0}.fai105-meta{color:#7b867b;font-size:9px;margin-bottom:13px}
.fai105-heart{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid #344134;background:#151b15;color:#b5bdb3;font-size:21px}
.fai105-heart.active{background:#7bc52f;color:#0b1009;border-color:#7bc52f}
.fai105-list,.fai105-full-list{display:grid}.fai105-list>div,.fai105-full-list>div{display:grid;grid-template-columns:28px 1fr auto;gap:8px;padding:9px 0;border-top:1px solid #242d24;align-items:center}
.fai105-list span,.fai105-full-list span{font-size:10px;font-weight:750}.fai105-list small,.fai105-full-list small{font-size:8px;color:#788378}
.fai105-details{width:100%;margin-top:12px;padding:9px;border:1px solid #334033;border-radius:9px;background:#121812;color:#e6ece3;font-weight:800}
.fai105-full-list{overflow:auto;padding:8px 22px 22px}
@media(max-width:950px){.fai105-grid{grid-template-columns:1fr 1fr}.fai105-head-actions{flex-wrap:wrap!important}}
@media(max-width:650px){.fai105-grid{grid-template-columns:1fr}.fai105-head-actions{align-items:stretch!important;flex-direction:column!important}}

/* ===== FitAI v106 — My Workouts header fix ===== */
.fp-my-workouts-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
}
.fai105-head-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  min-width:max-content!important;
}
.fai105-add-ready{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:225px!important;
  max-width:none!important;
  height:46px!important;
  padding:0 18px!important;
  white-space:nowrap!important;
  line-height:1!important;
  font-size:13px!important;
  font-weight:850!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
}
.fp-create-workout-top{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:190px!important;
  height:46px!important;
  padding:0 18px!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.fp-my-workouts-close{
  flex:0 0 46px!important;
  width:46px!important;
  height:46px!important;
}
@media(max-width:900px){
  .fp-my-workouts-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .fai105-head-actions{
    width:100%!important;
    min-width:0!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
  }
}

/* FitAI v106 — presentation phone status alignment */
.fai102-phone-top{
  grid-template-columns:1fr auto 1fr!important;
}
.fai102-phone-top>b{
  justify-self:start!important;
  text-align:left!important;
  min-width:44px!important;
}

/* ===== FitAI v107 — scroll-driven chart animation ===== */
.fai107-scroll-chart{--fai107-progress:0}
.fai107-scroll-chart .fai107-progress-line{stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset .08s linear;will-change:stroke-dashoffset}
.fai107-scroll-chart .fai104-point{opacity:var(--fai107-point,0);transform:translate(-50%,50%) translateY(calc((1 - var(--fai107-point,0))*14px)) scale(calc(.75 + var(--fai107-point,0)*.25));transition:opacity .08s linear,transform .08s linear;will-change:opacity,transform}
.fai107-scroll-chart .fai104-point .tip{opacity:var(--fai107-point,0);transform:translateX(-50%) translateY(calc((1 - var(--fai107-point,0))*8px));transition:opacity .08s linear,transform .08s linear}
.fai107-scroll-chart .fai104-chart-summary>div{opacity:var(--fai107-summary,0);transform:translateY(calc((1 - var(--fai107-summary,0))*12px));transition:opacity .08s linear,transform .08s linear}
.fai107-scroll-chart .fai104-chart-history>div{opacity:var(--fai107-history,0);transform:translateY(calc((1 - var(--fai107-history,0))*10px));transition:opacity .08s linear,transform .08s linear}
@media (prefers-reduced-motion: reduce){.fai107-scroll-chart .fai107-progress-line{stroke-dashoffset:0!important;transition:none!important}.fai107-scroll-chart .fai104-point,.fai107-scroll-chart .fai104-point .tip,.fai107-scroll-chart .fai104-chart-summary>div,.fai107-scroll-chart .fai104-chart-history>div{opacity:1!important;transform:none!important;transition:none!important}}

/* ===== FitAI v108 fixes ===== */

/* Slower visual response while scroll drives the chart */
.fai107-scroll-chart .fai107-progress-line{
  transition:stroke-dashoffset .16s linear!important;
}
.fai107-scroll-chart .fai104-point,
.fai107-scroll-chart .fai104-point .tip,
.fai107-scroll-chart .fai104-chart-summary>div,
.fai107-scroll-chart .fai104-chart-history>div{
  transition:opacity .16s linear,transform .16s linear!important;
}

/* Guaranteed iPhone clock */
.fai103-phone{
  position:relative!important;
}
.fai108-phone-clock{
  position:absolute!important;
  left:24px!important;
  top:18px!important;
  z-index:80!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:#0a0d0a!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter",sans-serif!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:-.25px!important;
  text-shadow:none!important;
  pointer-events:none!important;
}
.fai103-phone .fai108-status-old-time{
  opacity:0!important;
}

/* Clear heart feedback */
.fai105-heart{
  transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease!important;
}
.fai105-heart:hover{transform:scale(1.08)}
.fai105-heart.active{
  box-shadow:0 0 0 3px rgba(145,245,0,.08),0 0 18px rgba(145,245,0,.18)!important;
}

/* ===== FitAI v109 — clean logged-in application shell ===== */
.fai109-app-only{
  min-height:100vh!important;
  background:#101812!important;
}
.fai109-app-main{
  padding-top:0!important;
  margin-top:0!important;
}
.fai109-app-only .fai83-shell{
  min-height:100vh!important;
}
.fai109-app-only .sidebar{
  top:0!important;
  height:100vh!important;
}
.fai109-app-only .main{
  padding-top:28px!important;
}

/* ===== FitAI v109 — contextual repetition hint ===== */
.fai109-rep-hint{
  grid-column:1/-1;
  max-height:0;
  overflow:hidden;
  opacity:0;
  margin:0 8px;
  padding:0 10px;
  border-radius:9px;
  font-size:10px;
  line-height:1.35;
  color:#9aa49a;
  transition:max-height .2s ease,opacity .2s ease,padding .2s ease,margin .2s ease;
}
.fai109-rep-hint.show{
  max-height:48px;
  opacity:1;
  margin-top:5px;
  margin-bottom:2px;
  padding:7px 10px;
}
.fai109-rep-hint span{
  display:inline-block;
  margin-right:5px;
  font-size:12px;
  font-weight:950;
}
.fai109-rep-hint b{
  margin-right:3px;
  color:#dfe5dd;
}
.fai109-rep-hint.low{
  background:rgba(255,111,97,.055);
  border:1px solid rgba(255,111,97,.16);
}
.fai109-rep-hint.low span{color:#ff7167}
.fai109-rep-hint.high{
  background:rgba(145,245,0,.045);
  border:1px solid rgba(145,245,0,.14);
}
.fai109-rep-hint.high span{color:#7bc52f}

/* Old always-visible advice boxes become secondary/hidden in active workout.
   The contextual hint above replaces them. */
.fp-active-workout-modal .range-advice,
.fp-active-workout-modal .reps-advice,
.fp-active-workout-modal .fp-rep-tip,
.fp-active-workout-modal .fp-workout-range-tip{
  display:none!important;
}

/* ===== FitAI v110 — sidebar upgrade card cleanup ===== */
.fai109-app-only .sidebar{
  display:flex!important;
  flex-direction:column!important;
  padding-bottom:18px!important;
}
.fai109-app-only .sidebar .menu{
  flex:0 0 auto!important;
}
.fp-sidebar-upgrade-v71{
  position:relative!important;
  inset:auto!important;
  width:calc(100% - 28px)!important;
  margin:28px 14px 10px!important;
  padding:18px!important;
  box-sizing:border-box!important;
  border:1px solid #273227!important;
  border-radius:17px!important;
  background:
    linear-gradient(145deg,rgba(145,245,0,.035),transparent 50%),
    #0e130f!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.fp-sidebar-upgrade-v71 .fp-sidebar-upgrade-icon-v71{
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  margin-bottom:13px!important;
  border-radius:10px!important;
  background:#7bc52f!important;
  color:#0a1008!important;
  font-size:16px!important;
}
.fp-sidebar-upgrade-v71>b{
  display:block!important;
  margin:0 0 6px!important;
  color:#edf2eb!important;
  font-size:16px!important;
  line-height:1.25!important;
}
.fp-sidebar-upgrade-v71>p{
  margin:0 0 15px!important;
  color:#7f8a7f!important;
  font-size:10px!important;
  line-height:1.45!important;
}
.fp-sidebar-upgrade-v71>button{
  appearance:none!important;
  width:100%!important;
  height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  border:1px solid #354434!important;
  border-radius:10px!important;
  background:#121812!important;
  color:#dfe6dd!important;
  font-family:inherit!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:none!important;
  transition:.2s ease!important;
}
.fp-sidebar-upgrade-v71>button:hover{
  border-color:#6ca838!important;
  color:#7bc52f!important;
  background:#151e13!important;
}

/* Remove any accidental default white control styling in the sidebar */
.fai109-app-only .sidebar button{
  -webkit-appearance:none;
}

/* ===== FitAI v110 — Courses ===== */
.fai110-courses{
  padding:8px 0 50px;
}
.fai110-courses-head span{
  color:#7bc52f;
  font-size:9px;
  font-weight:950;
  letter-spacing:.13em;
}
.fai110-courses-head h2{
  margin:6px 0 7px;
  font-size:34px;
}
.fai110-courses-head p{
  margin:0;
  color:#879187;
  font-size:12px;
}
.fai110-course-intro{
  margin-top:24px;
  padding:24px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  border:1px solid #2a3728;
  border-radius:19px;
  background:
    radial-gradient(circle at 90% 20%,rgba(145,245,0,.06),transparent 30%),
    #0f140f;
}
.fai110-course-intro small{
  color:#7bc52f;
  font-size:9px;
  font-weight:950;
}
.fai110-course-intro h3{
  margin:6px 0 7px;
  font-size:22px;
}
.fai110-course-intro p{
  margin:0;
  max-width:650px;
  color:#8a958a;
  font-size:11px;
  line-height:1.55;
}
.fai110-course-badges{
  max-width:360px;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}
.fai110-course-badges span{
  padding:7px 10px;
  border:1px solid #30402c;
  border-radius:999px;
  background:#131a12;
  color:#bac4b7;
  font-size:9px;
  font-weight:750;
}
.fai110-course-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.fai110-course-grid article{
  position:relative;
  min-height:220px;
  padding:20px;
  display:flex;
  flex-direction:column;
  border:1px solid #283328;
  border-radius:17px;
  background:#0f140f;
}
.fai110-course-grid article>i{
  position:absolute;
  right:16px;
  top:14px;
  color:#283428;
  font-size:30px;
  font-style:normal;
  font-weight:950;
}
.fai110-course-grid article>small{
  color:#718071;
  font-size:8px;
  font-weight:900;
}
.fai110-course-grid h3{
  margin:10px 0 7px;
  font-size:18px;
}
.fai110-course-grid p{
  margin:0 0 20px;
  color:#818c81;
  font-size:10px;
  line-height:1.5;
}
.fai110-course-grid button{
  margin-top:auto;
  width:100%;
  padding:10px;
  border:1px solid #293529;
  border-radius:9px;
  background:#111611;
  color:#6e786e;
  font-weight:850;
}
@media(max-width:950px){
  .fai110-course-intro{grid-template-columns:1fr}
  .fai110-course-badges{justify-content:flex-start;max-width:none}
  .fai110-course-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .fai110-course-grid{grid-template-columns:1fr}
}

/* ===== FitAI v110 — pricing trust bar responsive fix ===== */
.fai109-app-only .fai98-trustbar{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.fai109-app-only .fai98-trustitem{
  min-width:0!important;
  grid-template-columns:42px minmax(0,1fr)!important;
}
.fai109-app-only .fai98-trustitem b{
  white-space:normal!important;
  word-break:normal!important;
}
@media(max-width:1100px){
  .fai109-app-only .fai98-trustbar{
    grid-template-columns:1fr 1fr!important;
    gap:14px!important;
  }
  .fai109-app-only .fai98-trustitem{
    border-right:0!important;
    padding:4px!important;
  }
}

/* ===== FitAI v111 — restore full sidebar upgrade card ===== */
.fai109-app-only .sidebar .fp-sidebar-upgrade-v71{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:176px!important;
  height:auto!important;
  padding:18px!important;
  margin:26px 14px 12px!important;
  overflow:visible!important;
}
.fai109-app-only .sidebar .fp-sidebar-upgrade-v71 > *{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.fai109-app-only .sidebar .fp-sidebar-upgrade-v71 .fp-sidebar-upgrade-icon-v71{
  display:grid!important;
}
.fai109-app-only .sidebar .fp-sidebar-upgrade-v71 > button{
  display:flex!important;
}

/* keep sidebar content from clipping at bottom */
.fai109-app-only .sidebar{
  overflow-y:auto!important;
  scrollbar-width:thin;
  scrollbar-color:#1e281e transparent;
}

/* ===== FitAI v111 — security badges below pricing ===== */
.fai98-trustbar{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:100%!important;
  max-width:1180px!important;
  margin:24px auto 10px!important;
  padding:18px 20px!important;
  box-sizing:border-box!important;
  border:1px solid #273227!important;
  border-radius:18px!important;
  background:#0f140f!important;
  overflow:visible!important;
}
.fai98-trustitem{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  align-items:center!important;
  gap:11px!important;
  padding:0 16px!important;
  border-right:1px solid #263126!important;
}
.fai98-trustitem:last-child{border-right:0!important}
.fai98-trustitem svg,
.fai98-trustitem .icon,
.fai98-trustitem>span:first-child{
  color:#7bc52f!important;
}
.fai98-trustitem b{
  display:block!important;
  color:#e7ede5!important;
  font-size:11px!important;
  line-height:1.25!important;
  white-space:normal!important;
}
@media(max-width:900px){
 .fai98-trustbar{grid-template-columns:1fr 1fr!important}
 .fai98-trustitem{border-right:0!important;padding:8px!important}
}

/* ===== FitAI v111 — slimmer, taller iPhone mockup ===== */
.fai103-phone,
.fai-phone,
.hero-phone,
[class*="phone-mockup"],
[class*="phoneMockup"]{
  width:min(360px,30vw)!important;
  aspect-ratio:9 / 19.5!important;
  min-height:650px!important;
  max-height:760px!important;
  border-radius:52px!important;
}
.fai103-phone-screen,
.fai-phone-screen,
[class*="phone-screen"]{
  border-radius:43px!important;
}
@media(max-width:1100px){
  .fai103-phone,
  .fai-phone,
  .hero-phone,
  [class*="phone-mockup"],
  [class*="phoneMockup"]{
    width:min(330px,36vw)!important;
    min-height:620px!important;
  }
}

/* ===== FitAI v112 — clickable upgrade card ===== */
.fai112-upgrade-card,
.fp-sidebar-upgrade-v71.fai112-upgrade-card{
  cursor:pointer!important;
  transition:
    transform .2s ease,
    border-color .2s ease,
    background .2s ease,
    box-shadow .2s ease!important;
}
.fai112-upgrade-card:hover,
.fp-sidebar-upgrade-v71.fai112-upgrade-card:hover{
  transform:translateY(-2px)!important;
  border-color:#496538!important;
  background:
    linear-gradient(145deg,rgba(145,245,0,.055),transparent 55%),
    #101610!important;
  box-shadow:0 12px 30px rgba(0,0,0,.18)!important;
}
.fai112-upgrade-card:focus-visible{
  outline:2px solid #7bc52f!important;
  outline-offset:2px!important;
}
.fai112-upgrade-card > button{
  display:none!important;
}
.fai112-upgrade-link{
  display:inline-flex!important;
  align-items:center!important;
  margin-top:10px!important;
  color:#7bc52f!important;
  font-size:10px!important;
  font-weight:850!important;
}

/* ===== FitAI v112 — registration password validation ===== */
.fai112-auth-error{
  display:none;
  margin:0 0 10px;
  padding:10px 12px;
  border:1px solid rgba(255,105,95,.24);
  border-radius:10px;
  background:rgba(255,105,95,.06);
  color:#ff8b82;
  font-size:10px;
  font-weight:750;
  line-height:1.4;
}
.fai112-auth-error.show{
  display:block;
}
.fai112-input-error{
  border-color:#ff766d!important;
  box-shadow:0 0 0 2px rgba(255,118,109,.07)!important;
}

/* ===== FitAI v113 Courses ===== */
.fai113-courses-page{min-height:100vh;background:#101711;color:#f4f6f2;display:flex}
.fai113-courses-main{margin-left:280px;width:calc(100% - 280px);padding:52px 54px 80px;box-sizing:border-box}
.fai113-head{max-width:900px;margin-bottom:26px}.fai113-kicker{color:#7bc52f;font-size:11px;font-weight:900;letter-spacing:.14em}
.fai113-head h1{font-size:38px;line-height:1.05;margin:10px 0 12px}.fai113-head p{color:#929b92;font-size:15px;line-height:1.55;max-width:760px}
.fai113-filters{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.fai113-filters span{border:1px solid #293329;background:#111611;padding:9px 13px;border-radius:999px;font-size:12px;font-weight:750}.fai113-filters .active{background:#7bc52f;color:#0b100b;border-color:#7bc52f}
.fai113-monetization{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 22px}.fai113-monetization>div{border:1px solid #293629;background:#111711;border-radius:14px;padding:15px 17px;display:flex;flex-direction:column;gap:5px}.fai113-monetization b{color:#7bc52f;font-size:12px}.fai113-monetization span{font-size:12px;color:#9aa39a}.fai113-monetization .vip{border-color:#705b19;box-shadow:inset 0 0 20px rgba(213,170,44,.04)}.fai113-monetization .vip b{color:#e3b83f}
.fai113-courses-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.fai113-course-card{min-height:210px;background:#111711;border:1px solid #293429;border-radius:17px;padding:20px;cursor:pointer;transition:.2s ease;display:flex;flex-direction:column}.fai113-course-card:hover{transform:translateY(-3px);border-color:#49693a;background:#131b13}.fai113-course-card.fai113-featured{background:linear-gradient(145deg,rgba(145,245,0,.055),transparent 55%),#111711}.fai113-course-top{display:flex;justify-content:space-between;align-items:center}.fai113-tier{font-size:9px;font-weight:950;letter-spacing:.1em;padding:5px 7px;border-radius:999px;background:#263026;color:#cbd2cb}.fai113-tier.basic{background:#7bc52f;color:#0a1009}.fai113-tier.pro{background:#1f3018;color:#7bc52f}.fai113-duration{font-size:11px;color:#899289}.fai113-course-card h3{font-size:20px;margin:18px 0 8px}.fai113-course-card p{font-size:12px;line-height:1.5;color:#929a92;margin:0}.fai113-course-meta{font-size:11px;color:#697269;margin-top:auto;padding-top:18px}.fai113-course-card button{margin-top:12px;text-align:left;padding:0;border:0;background:none;color:#e7ebe6;font-weight:800;cursor:pointer}
.fai113-modal{position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(7px);z-index:99999;display:grid;place-items:center;padding:25px}.fai113-dialog{position:relative;width:min(760px,92vw);max-height:88vh;overflow:auto;background:#111711;border:1px solid #344334;border-radius:22px;padding:30px}.fai113-close{position:absolute;right:18px;top:18px;width:38px;height:38px;border-radius:11px;border:1px solid #334033;background:#121812;color:#fff;font-size:24px;cursor:pointer}.fai113-dialog h2{font-size:31px;margin:15px 0 8px}.fai113-dialog>p{color:#929b92}.fai113-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:24px 0}.fai113-stats>div,.fai113-goal{border:1px solid #293529;background:#0e130e;border-radius:13px;padding:14px}.fai113-stats small,.fai113-goal small{display:block;color:#778077;margin-bottom:5px}.fai113-weeks{display:grid;gap:8px;margin:18px 0}.fai113-weeks div{display:flex;justify-content:space-between;border:1px solid #293529;border-radius:12px;padding:13px 15px}.fai113-weeks span{color:#9aa39a}.fai113-start{width:100%;margin-top:18px;padding:14px;border:0;border-radius:12px;background:#7bc52f;color:#0a1009;font-weight:900;cursor:pointer}
@media(max-width:1100px){.fai113-courses-grid{grid-template-columns:repeat(2,1fr)}.fai113-monetization{grid-template-columns:1fr}.fai113-courses-main{margin-left:240px;width:calc(100% - 240px);padding:35px 25px}}

/* ===== FitAI v114: tariff assurances fixed ===== */
.fai98-trustbar{
  width:100%!important;max-width:none!important;
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;margin:28px 0 0!important;padding:18px 12px!important;
  box-sizing:border-box!important;overflow:hidden!important;
}
.fai98-trustitem{
  width:auto!important;min-width:0!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  gap:10px!important;padding:6px 16px!important;box-sizing:border-box!important;
}
.fai98-trustitem .fai98-trusticon{flex:0 0 36px!important}
.fai98-trustitem b{font-size:11px!important;line-height:1.25!important;white-space:normal!important;max-width:150px!important}
@media(max-width:1050px){.fai98-trustbar{grid-template-columns:repeat(2,1fr)!important}}

/* ===== FitAI v114 Courses: integrated + vertical ===== */
.fai114-courses{padding:8px 0 60px}
.fai114-head span{color:#7bc52f;font-size:9px;font-weight:950;letter-spacing:.14em}
.fai114-head h2{font-size:34px;margin:7px 0}.fai114-head p{margin:0 0 24px;color:#899389;font-size:12px;max-width:760px}
.fai114-course-list{display:grid;grid-template-columns:1fr;gap:10px;max-width:980px}
.fai114-course-row{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) 44px;gap:16px;align-items:center;min-height:128px;padding:18px 20px;border:1px solid #293429;border-radius:16px;background:#101510;cursor:pointer;transition:.2s ease}
.fai114-course-row:hover{transform:translateX(3px);border-color:#465d38;background:#121912}
.fai114-course-number{font-size:23px;font-weight:950;color:#344334}
.fai114-course-titleline{display:flex;justify-content:space-between;gap:20px;align-items:center}.fai114-course-titleline h3{margin:0;font-size:19px}.fai114-course-titleline>span{color:#879087;font-size:10px}
.fai114-course-copy>p{margin:6px 0;color:#929b92;font-size:11px}
.fai114-course-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.fai114-course-tags span{font-size:9px;color:#707a70;border:1px solid #293329;border-radius:999px;padding:5px 8px}
.fai114-heart{width:38px;height:38px;border:1px solid #354335;border-radius:50%;background:#141a14;color:#aeb6ac;font-size:21px;cursor:pointer;transition:.18s}.fai114-heart.active{background:#7bc52f;color:#0b1009;border-color:#7bc52f;box-shadow:0 0 18px rgba(145,245,0,.12)}
.fai114-more{position:absolute;right:78px;bottom:17px;color:#dfe5dd;font-size:10px;font-weight:800}
.fai114-modal{position:fixed;inset:0;z-index:220000;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.78);backdrop-filter:blur(9px)}
.fai114-dialog{position:relative;width:min(850px,94vw);max-height:88vh;overflow:auto;padding:28px;border:1px solid #304030;border-radius:22px;background:#0f140f;color:#eef2ec}.fai114-close{position:absolute;right:18px;top:18px;width:40px;height:40px;border:1px solid #334033;border-radius:11px;background:#121812;color:#fff;font-size:24px}.fai114-modal-heart{position:absolute;right:68px;top:18px;width:40px;height:40px;border:1px solid #334033;border-radius:50%;background:#151b15;color:#acb5aa;font-size:21px}.fai114-modal-heart.active{background:#7bc52f;color:#0a1008;border-color:#7bc52f}
.fai114-dialog>small{color:#7bc52f;font-weight:900}.fai114-dialog h2{font-size:30px;margin:8px 0}.fai114-dialog .lead{color:#a0aaa0;margin:0 0 20px}
.fai114-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fai114-detail-grid>div{padding:16px;border:1px solid #293429;border-radius:13px;background:#0c110d}.fai114-detail-grid small{color:#778277;font-size:8px;font-weight:900}.fai114-detail-grid p{margin:7px 0 0;color:#d4dbd2;font-size:11px;line-height:1.5}
.fai114-basic-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.fai114-basic-stats>div{padding:13px;border:1px solid #293429;border-radius:12px}.fai114-basic-stats small,.fai114-basic-stats b{display:block}.fai114-basic-stats small{color:#768076}.fai114-basic-stats b{margin-top:5px;font-size:11px}
.fai114-weeks{display:grid;gap:7px;margin-top:12px}.fai114-weeks>div{display:flex;justify-content:space-between;padding:12px 14px;border:1px solid #293429;border-radius:11px}.fai114-weeks span{color:#7bc52f}
@media(max-width:700px){.fai114-course-row{grid-template-columns:40px 1fr 40px}.fai114-detail-grid,.fai114-basic-stats{grid-template-columns:1fr}.fai114-course-titleline{align-items:flex-start;flex-direction:column;gap:4px}}

.fai113-courses-page,.fai113-courses-main{display:contents!important}
.fai113-monetization,.fai113-filters,.fai113-courses-grid{display:none!important}

/* ===== FitAI v115 — final tariff assurance strip ===== */
.fai98-trustbar{display:none!important}

.fai115-trustbar{
  width:100%!important;
  max-width:100%!important;
  margin:30px 0 4px!important;
  padding:16px 20px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:space-between!important;
  gap:0!important;
  border:1px solid #293529!important;
  border-radius:17px!important;
  background:#0e130f!important;
  overflow:hidden!important;
}
.fai115-trustitem{
  flex:1 1 25%!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  padding:8px 18px!important;
  box-sizing:border-box!important;
  border-right:1px solid #253025!important;
}
.fai115-trustitem:last-child{
  border-right:0!important;
}
.fai115-trusticon{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
}
.fai115-trusticon svg{
  display:block!important;
  width:32px!important;
  height:32px!important;
  fill:none!important;
  stroke:#7bc52f!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.fai115-trustitem b{
  display:block!important;
  min-width:0!important;
  max-width:150px!important;
  margin:0!important;
  color:#eef2ec!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:850!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-align:left!important;
}
@media(max-width:1050px){
  .fai115-trustbar{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0!important;
  }
  .fai115-trustitem{
    border-right:0!important;
    border-bottom:1px solid #253025!important;
    justify-content:flex-start!important;
  }
  .fai115-trustitem:nth-last-child(-n+2){border-bottom:0!important}
}
@media(max-width:620px){
  .fai115-trustbar{grid-template-columns:1fr!important}
  .fai115-trustitem{border-bottom:1px solid #253025!important}
  .fai115-trustitem:last-child{border-bottom:0!important}
}

/* Courses must occupy the authenticated content column, not disappear */
#courses.fai114-courses{
  display:none;
  width:100%;
  box-sizing:border-box;
}
#courses.fai114-courses.active{
  display:block!important;
}

/* ===== FitAI v116 — course prices ===== */
.fai116-course-side{display:flex;align-items:center;gap:14px}
.fai116-course-side>span{color:#879087;font-size:10px}
.fai116-course-side>b{color:#7bc52f;font-size:13px;white-space:nowrap}
.fai116-modal-price{display:inline-flex;margin:4px 0 10px;padding:7px 10px;border-radius:999px;background:#192416;color:#7bc52f;font-size:12px;font-weight:900}

/* ===== FitAI v116 — unified favorites ===== */
.fai116-favorites{padding:8px 0 60px}
.fai116-fav-head>span{color:#7bc52f;font-size:9px;font-weight:950;letter-spacing:.13em}
.fai116-fav-head h2{font-size:34px;margin:7px 0}.fai116-fav-head p{margin:0 0 24px;color:#899389;font-size:12px}
.fai116-fav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fai116-fav-card{min-height:190px;padding:18px;border:1px solid #293429;border-radius:16px;background:#101510;display:flex;flex-direction:column}
.fai116-fav-kind{font-size:8px;color:#7bc52f;font-weight:950;letter-spacing:.12em}.fai116-fav-card h3{font-size:18px;margin:10px 0 4px}.fai116-fav-sub{color:#798379;font-size:10px}.fai116-fav-card p{color:#909990;font-size:11px;line-height:1.45}
.fai116-fav-actions{margin-top:auto;display:flex;gap:8px}.fai116-fav-actions button{border:1px solid #334033;border-radius:9px;background:#121812;color:#e5ebe3;padding:9px 11px;font-weight:800;cursor:pointer}.fai116-fav-actions .remove{margin-left:auto;color:#7bc52f;font-size:17px;padding:7px 12px}
.fai116-fav-empty{padding:70px 20px;border:1px solid #293429;border-radius:18px;background:#101510;text-align:center}.fai116-fav-empty>div{font-size:34px;color:#7bc52f}.fai116-fav-empty h3{margin:10px 0 6px}.fai116-fav-empty p{color:#7f897f;font-size:11px}
@media(max-width:1050px){.fai116-fav-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.fai116-fav-grid{grid-template-columns:1fr}.fai116-course-side{align-items:flex-end;flex-direction:column;gap:2px}}

/* ===== FitAI v117 — restored screens + wide tariff trust bar ===== */
.fai98-trustbar,.fai115-trustbar{display:none!important}

.fai117-trustbar{
  width:100%!important;
  max-width:none!important;
  margin:36px 0 6px!important;
  padding:22px 30px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:0!important;
  border:1px solid #2b382b!important;
  border-radius:20px!important;
  background:#0d120e!important;
  overflow:visible!important;
}
.fai117-trustitem{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  padding:10px 28px!important;
  box-sizing:border-box!important;
  border-right:1px solid #2a352a!important;
}
.fai117-trustitem:first-child{padding-left:8px!important}
.fai117-trustitem:last-child{
  border-right:0!important;
  padding-right:8px!important;
}
.fai117-trusticon{
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
}
.fai117-trusticon svg{
  width:38px!important;
  height:38px!important;
  fill:none!important;
  stroke:#7bc52f!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.fai117-trustitem b{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  color:#eef3ec!important;
  font-size:12px!important;
  line-height:1.25!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
@media(max-width:1150px){
  .fai117-trustbar{grid-template-columns:1fr 1fr!important}
  .fai117-trustitem{
    border-right:0!important;
    border-bottom:1px solid #2a352a!important;
    padding:15px 20px!important;
  }
  .fai117-trustitem:nth-last-child(-n+2){border-bottom:0!important}
}
@media(max-width:650px){
  .fai117-trustbar{grid-template-columns:1fr!important}
  .fai117-trustitem{border-bottom:1px solid #2a352a!important}
  .fai117-trustitem:last-child{border-bottom:0!important}
}

/* ===== FitAI v118 — calm Add Recipe modal ===== */
.fp-my-recipe-modal,
.fp-add-recipe-modal,
.fp-recipe-create-modal,
[class*="recipe"][class*="modal"]{
  background:#0d120e!important;
  border:1px solid #2b372b!important;
  box-shadow:0 34px 110px rgba(0,0,0,.55)!important;
}
.fp-my-recipe-modal input,.fp-my-recipe-modal textarea,.fp-my-recipe-modal select,
.fp-add-recipe-modal input,.fp-add-recipe-modal textarea,.fp-add-recipe-modal select,
.fp-recipe-create-modal input,.fp-recipe-create-modal textarea,.fp-recipe-create-modal select,
[class*="recipe"][class*="modal"] input,
[class*="recipe"][class*="modal"] textarea,
[class*="recipe"][class*="modal"] select{
  background:#111611!important;
  color:#edf2eb!important;
  border:1px solid #2d392d!important;
  box-shadow:none!important;
}
.fp-my-recipe-modal input:focus,.fp-my-recipe-modal textarea:focus,.fp-my-recipe-modal select:focus,
.fp-add-recipe-modal input:focus,.fp-add-recipe-modal textarea:focus,.fp-add-recipe-modal select:focus,
[class*="recipe"][class*="modal"] input:focus,[class*="recipe"][class*="modal"] textarea:focus{
  border-color:#62833e!important;
  outline:none!important;
  box-shadow:0 0 0 2px rgba(145,245,0,.055)!important;
}
.fp-my-recipe-modal label,.fp-add-recipe-modal label,.fp-recipe-create-modal label,
[class*="recipe"][class*="modal"] label{color:#8f998f!important}
.fp-my-recipe-modal .card,.fp-add-recipe-modal .card,.fp-recipe-create-modal .card,
[class*="recipe"][class*="modal"] .card{
  background:#0f140f!important;
  border:1px solid #293429!important;
  box-shadow:none!important;
}

.fai118-recipe-modal-soft{background:#0d120e!important;color:#edf2eb!important}
.fai118-recipe-input-soft{background:#111611!important;color:#edf2eb!important;border-color:#2d392d!important}
.fai118-white-block-fix{background:#101510!important;border-color:#293429!important;color:#edf2eb!important}

/* ===== FitAI v118 — course pricing ===== */
.fai118-course-side{display:flex!important;align-items:center!important;gap:18px!important}
.fai118-duration-badge{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:8px 11px!important;border:1px solid #465546!important;border-radius:999px!important;
  background:#151c15!important;color:#edf2eb!important;font-size:11px!important;font-weight:900!important;
  white-space:nowrap!important;
}
.fai118-price-stack{min-width:148px!important;text-align:right!important}
.fai118-price-stack b{display:block!important;color:#7bc52f!important;font-size:15px!important;line-height:1.1!important;white-space:nowrap!important}
.fai118-price-stack small{display:block!important;margin-top:4px!important;color:#8a948a!important;font-size:9px!important;white-space:nowrap!important}
.fai118-modal-price{display:inline-grid!important;gap:4px!important;margin:5px 0 14px!important;padding:11px 14px!important;border:1px solid #354534!important;border-radius:12px!important;background:#111811!important}
.fai118-modal-price b{color:#7bc52f!important;font-size:17px!important}
.fai118-modal-price span{color:#929b92!important;font-size:10px!important}
@media(max-width:760px){.fai118-course-side{align-items:flex-end!important;flex-direction:column!important;gap:7px!important}}

/* ===== FitAI v119 ===== */
.fai119-forgot{
  appearance:none;border:0;background:transparent;color:#899489;
  margin:10px auto 2px;padding:4px 8px;font:inherit;font-size:10px;font-weight:750;cursor:pointer;
}
.fai119-forgot:hover{color:#7bc52f}
.fai119-recovery-overlay{position:fixed;inset:0;z-index:260000;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.8);backdrop-filter:blur(9px)}
.fai119-recovery-card{position:relative;width:min(460px,92vw);padding:25px;border:1px solid #304030;border-radius:20px;background:#0e130f;color:#eef3ec;box-shadow:0 30px 90px rgba(0,0,0,.55)}
.fai119-recovery-card>span{color:#7bc52f;font-size:8px;font-weight:950;letter-spacing:.13em}.fai119-recovery-card h3{font-size:25px;margin:7px 0}.fai119-recovery-card p{color:#899389;font-size:11px;line-height:1.55}.fai119-recovery-card label{display:grid;gap:6px;margin:18px 0;color:#899389;font-size:10px}.fai119-recovery-card input{padding:13px;border:1px solid #2f3b2f;border-radius:11px;background:#111611;color:#edf2eb}.fai119-recovery-x{position:absolute;right:15px;top:15px;width:38px;height:38px;border:1px solid #334033;border-radius:10px;background:#121812;color:#fff;font-size:22px}

.fai119-weekly-price{margin:-3px 0 12px;color:#7bc52f;font-size:10px;font-weight:850;letter-spacing:.01em}.fai119-weekly-price.vip{color:#e8bc43}

/* Each presentation block opens as it enters the viewport and closes on reverse scroll. */
.fai119-reveal-section{
  --fai119-open:0;
  opacity:calc(.18 + var(--fai119-open)*.82);
  transform-origin:50% 0%;
  transform:translateY(calc((1 - var(--fai119-open))*42px)) scaleY(calc(.82 + var(--fai119-open)*.18)) scaleX(calc(.96 + var(--fai119-open)*.04));
  clip-path:inset(0 0 calc((1 - var(--fai119-open))*22%) 0 round 18px);
  filter:blur(calc((1 - var(--fai119-open))*3px));
  transition:opacity .10s linear,transform .10s linear,clip-path .10s linear,filter .10s linear;
  will-change:opacity,transform,clip-path,filter;
}
@media(prefers-reduced-motion:reduce){.fai119-reveal-section{opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important}}

/* ===== FitAI v121 — tariff assurance bar like reference ===== */

/* Critical fix: in the logged-in pricing screen this block was becoming
   the 4th item of the 3-column pricing grid. Force it across ALL columns. */
.fp-pricing-v54 > .fai117-trustbar,
.pricing.fp-pricing-v54 > .fai117-trustbar{
  grid-column:1 / -1!important;
  grid-row:auto!important;
}

/* Same visual treatment on the public presentation pricing section. */
.fai82-pricing > .fai117-trustbar{
  width:100%!important;
  max-width:none!important;
}

/* One long horizontal panel, matching the reference image. */
.fai117-trustbar{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:36px 0 4px!important;
  padding:26px 34px!important;
  box-sizing:border-box!important;

  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:center!important;
  gap:0!important;

  border:1px solid #30402f!important;
  border-radius:24px!important;
  background:#0d120e!important;
  overflow:hidden!important;
  box-shadow:none!important;
}

/* Four equal, spacious cells. */
.fai117-trustitem{
  min-width:0!important;
  width:100%!important;
  height:78px!important;
  padding:0 34px!important;
  box-sizing:border-box!important;

  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:22px!important;

  border-right:1px solid #334133!important;
  border-bottom:0!important;
}
.fai117-trustitem:first-child{
  padding-left:16px!important;
}
.fai117-trustitem:last-child{
  border-right:0!important;
  padding-right:16px!important;
}

/* Large clean green outline icons. */
.fai117-trusticon{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  display:grid!important;
  place-items:center!important;
  flex:none!important;
}
.fai117-trusticon svg{
  display:block!important;
  width:42px!important;
  height:42px!important;
  fill:none!important;
  stroke:#7bc52f!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  overflow:visible!important;
}

/* Text stays on its own side of the cell and cannot overlap icons. */
.fai117-trustitem b{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;

  margin:0!important;
  padding:0!important;

  color:#f1f4ef!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:850!important;

  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-align:left!important;
}

/* Important: neutralise previous old trustbar layout rules. */
.fp-pricing-v54 .fai117-trustbar .fai117-trustitem,
.fai82-pricing .fai117-trustbar .fai117-trustitem{
  transform:none!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
}

/* Responsive, but desktop stays one horizontal line. */
@media(max-width:1050px){
  .fai117-trustbar{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:18px 22px!important;
  }
  .fai117-trustitem{
    height:70px!important;
    padding:0 22px!important;
    border-right:0!important;
    border-bottom:1px solid #334133!important;
  }
  .fai117-trustitem:nth-child(odd){
    border-right:1px solid #334133!important;
  }
  .fai117-trustitem:nth-last-child(-n+2){
    border-bottom:0!important;
  }
}
@media(max-width:620px){
  .fai117-trustbar{
    grid-template-columns:1fr!important;
  }
  .fai117-trustitem,
  .fai117-trustitem:nth-child(odd){
    border-right:0!important;
    border-bottom:1px solid #334133!important;
  }
  .fai117-trustitem:last-child{
    border-bottom:0!important;
  }
}


/* ===== FitAI v122 settings ===== */
.fai122-legacy-hide{display:none!important}
.fai122-settings{width:min(980px,calc(100% - 64px));margin:0 auto;padding:54px 0 90px;color:#f4f6f2}
.fai122-title{margin-bottom:28px}.fai122-title small{color:#8df400;font-weight:900;letter-spacing:.12em}
.fai122-title h1{font-size:38px;line-height:1;margin:10px 0 10px}.fai122-title p{color:#8d958d;margin:0}
.fai122-card{background:#0d120e;border:1px solid #263226;border-radius:22px;margin:16px 0;overflow:hidden}
.fai122-cardhead{padding:24px 26px 18px;border-bottom:1px solid #202b20}.fai122-cardhead h3{margin:0;font-size:21px}.fai122-cardhead p{margin:6px 0 0;color:#7f887f;font-size:13px}
.fai122-row{min-height:70px;padding:14px 26px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #1b251c}
.fai122-row:last-child{border-bottom:0}.fai122-row>div:first-child{display:flex;flex-direction:column;gap:5px}.fai122-row b{font-size:14px}.fai122-row span{font-size:12px;color:#7f887f}
.fai122-input,.fai122-select{width:250px;box-sizing:border-box;background:#0a0e0b;color:#eef2ec;border:1px solid #2a372b;border-radius:11px;padding:11px 13px;outline:none}
.fai122-input:focus,.fai122-select:focus{border-color:#78c900}
.fai122-toggle{width:48px;height:27px;border:1px solid #334034;border-radius:999px;background:#151b16;padding:3px;cursor:pointer}.fai122-toggle i{display:block;width:19px;height:19px;border-radius:50%;background:#667066;transition:.2s}.fai122-toggle.on{background:#8df400;border-color:#8df400}.fai122-toggle.on i{background:#0a0d0a;transform:translateX(19px)}
.fai122-btn,.fai122-linkbtn{background:#111712;color:#edf1eb;border:1px solid #314032;border-radius:11px;padding:10px 14px;font-weight:800;cursor:pointer}.fai122-btn.danger{color:#e99b98;border-color:#5a302f}.fai122-linkbtn{border:0;background:transparent;color:#8df400}.fai122-version{font-weight:800!important;color:#9ba39b!important}
.fai122-coachstyle{padding:24px 26px;border-bottom:1px solid #1b251c}.fai122-coachstyle>div:first-child{display:flex;flex-direction:column;gap:6px}.fai122-coachstyle span{color:#7f887f;font-size:12px}
.fai122-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.fai122-segments button{padding:12px;border-radius:12px;border:1px solid #2c392d;background:#0a0e0b;color:#a6ada6;font-weight:800;cursor:pointer}.fai122-segments button.active{background:#17260d;border-color:#78c900;color:#9bf80c}
.fai122-coachnote{background:#111812;border:1px solid #263426;border-radius:13px;padding:15px;display:flex;flex-direction:column;gap:5px}
.fai122-permissions h4{padding:20px 26px 6px;margin:0;color:#8df400;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.fai122-equipment{padding:24px 26px;display:flex;flex-wrap:wrap;gap:9px}.fai122-equipment button{border:1px solid #2d3a2e;background:#0a0f0b;color:#a6ada6;border-radius:999px;padding:10px 14px;font-weight:750;cursor:pointer}.fai122-equipment button span{display:none}.fai122-equipment button.active{background:#17270d;border-color:#79cc00;color:#9bf80c}.fai122-equipment button.active span{display:inline;margin-right:6px}
.fai122-saved{text-align:center;color:#667066;font-size:12px;margin-top:20px}
@media(max-width:720px){.fai122-settings{width:calc(100% - 28px);padding-top:30px}.fai122-row{align-items:flex-start;flex-direction:column;gap:10px}.fai122-input,.fai122-select{width:100%}.fai122-segments{grid-template-columns:1fr}.fai122-title h1{font-size:31px}}

/* FitAI v123 — real multi-week course programs */
.fai114-dialog{max-height:90vh;overflow:auto}
.fai123-program{margin-top:24px;border-top:1px solid #263126;padding-top:22px}
.fai123-program-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.fai123-program-head small{color:#8df400;font-weight:900;letter-spacing:.1em}.fai123-program-head h3{margin:5px 0 0;font-size:24px}.fai123-program-head>span{color:#899189;font-size:12px}
.fai123-safety{display:flex;gap:12px;background:#141810;border:1px solid #3b4728;border-radius:13px;padding:13px 15px;margin-bottom:12px}.fai123-safety b{color:#d7ee9e}.fai123-safety span{color:#9aa29a;font-size:12px;line-height:1.5}
.fai123-week-list{display:flex;flex-direction:column;gap:9px}.fai123-week{background:#0b100c;border:1px solid #253126;border-radius:15px;overflow:hidden}.fai123-week[open]{border-color:#4a6527;background:#0e140e}
.fai123-week summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:13px;padding:15px 16px}.fai123-week summary::-webkit-details-marker{display:none}.fai123-week summary>div{display:flex;flex-direction:column;gap:4px;flex:1}.fai123-week summary b{font-size:14px}.fai123-week summary small{color:#7f897f;font-size:11px}.fai123-week summary i{font-style:normal;color:#8df400;font-size:18px}.fai123-week-num{font-size:20px;font-weight:950;color:#51614d;min-width:28px}
.fai123-sessions{padding:0 14px 14px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.fai123-session{background:#111712;border:1px solid #202b21;border-radius:12px;padding:12px}.fai123-session-title{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #222c23;padding-bottom:9px;margin-bottom:7px}.fai123-session-title span{font-weight:900;font-size:12px}.fai123-session-title small{font-size:9px;color:#78964d}.fai123-session ol{padding:0;margin:0;list-style:none}.fai123-session li{padding:7px 0;border-bottom:1px solid #1d251e;display:flex;flex-direction:column;gap:2px}.fai123-session li:last-child{border-bottom:0}.fai123-session li span{font-size:11px;font-weight:800}.fai123-session li small{font-size:9px;color:#737d74;line-height:1.35}
@media(max-width:900px){.fai123-sessions{grid-template-columns:1fr}.fai123-program-head{align-items:flex-start}.fai123-week summary{align-items:flex-start}}

/* ===== FitAI v124 — real settings UI ===== */
.fai124-settings{padding-bottom:70px}.fai124-title{margin-bottom:22px}.fai124-title h3{font-size:34px;margin:5px 0 6px}.fai124-title p{margin:0;color:#818b81}
.fai124-section{margin:14px 0;border:1px solid #293529;border-radius:18px;background:#0e130f;overflow:hidden}.fai124-section-head{padding:20px 22px 15px;border-bottom:1px solid #222d22}.fai124-section-head h4{margin:0;font-size:18px}.fai124-section-head p{margin:5px 0 0;color:#7d877d;font-size:11px}
.fai124-row{min-height:62px;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid #1c261c}.fai124-row:last-child{border-bottom:0}.fai124-row>div:first-child{display:flex;flex-direction:column;gap:4px}.fai124-row b{font-size:12px}.fai124-row span{color:#7e887e;font-size:10px}
.fai124-control{width:235px;background:#0a0f0b;color:#edf2eb;border:1px solid #2e3a2e;border-radius:10px;padding:10px 12px;box-sizing:border-box}.fai124-control:focus{outline:none;border-color:#77c900}
.fai124-switch{width:46px;height:26px;padding:3px;border:1px solid #344034;border-radius:999px;background:#151b16}.fai124-switch i{display:block;width:18px;height:18px;border-radius:50%;background:#687168;transition:.2s}.fai124-switch.on{background:#7bc52f;border-color:#7bc52f}.fai124-switch.on i{background:#091008;transform:translateX(18px)}
.fai124-btn{border:1px solid #334033;border-radius:10px;background:#121812;color:#e5ebe3;padding:9px 13px;font-weight:800}.fai124-btn.danger{color:#ef9a94;border-color:#54302d}.fai124-link{border:0;background:none;color:#7bc52f;font-weight:800}.fai124-version{font-weight:900!important;color:#a7afa7!important}
.fai124-coach{padding:20px 22px;border-bottom:1px solid #1c261c}.fai124-coach>div:first-child{display:flex;flex-direction:column;gap:4px}.fai124-coach span{color:#7f887f;font-size:10px}.fai124-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.fai124-segments button{padding:10px;border:1px solid #2d392d;border-radius:10px;background:#0a0f0b;color:#a4aca4;font-weight:800}.fai124-segments button.active{background:#17250e;border-color:#79cb00;color:#9bf70d}.fai124-note{padding:13px;border:1px solid #283628;border-radius:11px;background:#111711;display:flex;flex-direction:column;gap:4px}
.fai124-permissions h5{margin:0;padding:17px 22px 5px;color:#7bc52f;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.fai124-equipment{padding:20px 22px;display:flex;flex-wrap:wrap;gap:8px}.fai124-equipment button{padding:9px 12px;border:1px solid #2d392d;border-radius:999px;background:#0a0f0b;color:#a5ada5;font-weight:750}.fai124-equipment button.active{background:#17260e;border-color:#79cb00;color:#9bf70d}.fai124-autosave{text-align:center;color:#697269;font-size:10px;margin-top:14px}
@media(max-width:720px){.fai124-row{align-items:flex-start;flex-direction:column;gap:8px}.fai124-control{width:100%}.fai124-segments{grid-template-columns:1fr}}

/* FitAI v125 */
.fai125-weekly-target{padding:18px 20px!important;display:flex!important;flex-direction:column!important;gap:5px!important}
.fai125-weekly-target>span{color:#7f897f;font-size:10px}.fai125-weekly-target>b{font-size:20px;color:#edf2eb}.fai125-weekly-target>small{color:#687268;font-size:9px}

/* ===== FitAI v126 — real light theme ===== */
html[data-theme="light"] body,
body[data-theme="light"]{
  background:#f3f6f1!important;color:#182018!important;
}
html[data-theme="light"] .fai83-shell,
html[data-theme="light"] .main,
html[data-theme="light"] .screen,
html[data-theme="light"] .fai124-settings{
  background:#f3f6f1!important;color:#182018!important;
}
html[data-theme="light"] .sidebar{
  background:#ffffff!important;border-color:#d9e2d6!important;
}
html[data-theme="light"] .card,
html[data-theme="light"] .fai124-section,
html[data-theme="light"] .metric,
html[data-theme="light"] .coach-card{
  background:#ffffff!important;border-color:#d9e2d6!important;color:#182018!important;
}
html[data-theme="light"] .muted,
html[data-theme="light"] .fai124-section-head p,
html[data-theme="light"] .fai124-row span{color:#697568!important}
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] .fai124-control{
  background:#f8faf7!important;color:#182018!important;border-color:#cdd8ca!important;
}

/* FitAI v128 — remove theme controls */
button[onclick*="theme" i],
button[onclick*="Theme" i],
.theme-btn,
[class*="theme-toggle" i]{
  display:none!important;
}
.fai128-static-value{color:#eef3ec!important;font-size:12px!important;font-weight:850!important}

#fai125WeeklyTarget{display:none!important}
.fai128-dots{display:flex!important;align-items:center!important;gap:9px!important;margin-top:14px!important}
.fai128-dot{display:block!important;width:10px!important;height:10px!important;border-radius:50%!important;background:#d9ded8!important}
.fai128-dot.done{background:#7bc52f!important}

/* ===== FitAI v129 — anatomical exercise folder cards ===== */
.muscle-category-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.muscle-category-card.fai129-muscle-card{
  position:relative!important;
  isolation:isolate!important;
  display:block!important;
  min-height:190px!important;
  overflow:hidden!important;
  padding:22px!important;
  border:1px solid #2b352d!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 78% 44%,rgba(145,245,0,.035),transparent 35%),
    linear-gradient(145deg,#101511 0%,#0b100c 100%)!important;
  color:#f4f6f2!important;
  text-align:left!important;
  cursor:pointer!important;
  transform:none!important;
  box-shadow:none!important;
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease, background .22s ease!important;
}
.muscle-category-card.fai129-muscle-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(9,14,10,.98) 0%,rgba(9,14,10,.91) 39%,rgba(9,14,10,.42) 66%,rgba(9,14,10,.08) 100%);
}
.muscle-category-card.fai129-muscle-card:hover{
  transform:translateY(-3px)!important;
  border-color:#7bc52f!important;
  box-shadow:
    0 0 0 1px rgba(145,245,0,.28),
    0 0 18px rgba(145,245,0,.12),
    0 18px 34px rgba(0,0,0,.26)!important;
}
.fai129-muscle-copy{
  position:relative!important;
  z-index:3!important;
  width:62%!important;
  min-height:146px!important;
  display:flex!important;
  flex-direction:column!important;
}
.muscle-category-card.fai129-muscle-card h4{
  margin:0 0 8px!important;
  color:#f4f6f2!important;
  font-size:21px!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
}
.muscle-category-card.fai129-muscle-card p{
  margin:0!important;
  color:#9aa39b!important;
  font-size:12px!important;
  line-height:1.4!important;
}
.muscle-category-card.fai129-muscle-card span{
  margin-top:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#e6ebe4!important;
  font-size:11px!important;
  font-weight:800!important;
}
.muscle-category-card.fai129-muscle-card span b{
  color:#7bc52f!important;
  font-size:18px!important;
  line-height:1!important;
}
.fai129-muscle-art{
  position:absolute!important;
  z-index:1!important;
  top:5px!important;
  right:0!important;
  bottom:5px!important;
  width:58%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.fai129-muscle-art img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:.92!important;
  filter:saturate(.92) brightness(.92) contrast(1.06)!important;
  transform:scale(1.02)!important;
  transition:filter .24s ease, transform .24s ease, opacity .24s ease!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.52) 14%,#000 40%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.52) 14%,#000 40%,#000 100%);
}
.muscle-category-card.fai129-muscle-card:hover .fai129-muscle-art img{
  opacity:1!important;
  transform:scale(1.045)!important;
  filter:
    saturate(1.16)
    brightness(1.07)
    contrast(1.08)
    drop-shadow(0 0 7px rgba(145,245,0,.38))
    drop-shadow(0 0 15px rgba(145,245,0,.18))!important;
}
/* Old category-symbol circles are intentionally removed in v129. */
.muscle-category-card.fai129-muscle-card .muscle-category-icon{display:none!important}
@media(max-width:1100px){
  .muscle-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .muscle-category-grid{grid-template-columns:1fr!important}
  .muscle-category-card.fai129-muscle-card{min-height:180px!important}
}


/* ===== FitAI v130 — EXACT approved course-card design ===== */
#courses.fai114-courses{
  padding:10px 0 72px!important;
}
#courses .fai114-head{
  max-width:1040px!important;
  margin-bottom:22px!important;
}
#courses .fai114-head span{
  color:#92a879!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.12em!important;
}
#courses .fai114-head h2{
  margin:7px 0 8px!important;
  font-size:34px!important;
  line-height:1.05!important;
  color:#f2f4ef!important;
}
#courses .fai114-head p{
  max-width:760px!important;
  margin:0!important;
  color:#919990!important;
  font-size:12px!important;
  line-height:1.5!important;
}
#courses .fai114-course-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  width:100%!important;
  max-width:1040px!important;
}
#courses .fai130-course-row{
  position:relative!important;
  display:grid!important;
  grid-template-columns:54px 166px minmax(0,1fr) 190px!important;
  gap:0!important;
  align-items:stretch!important;
  min-height:108px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #293329!important;
  border-radius:15px!important;
  background:linear-gradient(90deg,#111611 0%,#121712 56%,#101510 100%)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.10)!important;
  cursor:pointer!important;
  transform:none!important;
  transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
#courses .fai130-course-row:hover{
  transform:translateY(-1px)!important;
  border-color:#42523d!important;
  background:linear-gradient(90deg,#121812 0%,#141a14 56%,#111711 100%)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.16)!important;
}
#courses .fai130-course-number{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  padding:0 4px!important;
  color:#43503f!important;
  font-size:25px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.04em!important;
}
#courses .fai130-course-photo-wrap{
  position:relative!important;
  min-width:0!important;
  overflow:hidden!important;
  background:#151a15!important;
}
#courses .fai130-course-photo-wrap:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(12,16,12,.02) 45%,rgba(16,21,16,.34) 100%)!important;
}
#courses .fai130-course-photo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:108px!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:saturate(.88) brightness(.82) contrast(1.02)!important;
  transform:scale(1.01)!important;
  transition:filter .22s ease,transform .25s ease!important;
}
#courses .fai130-course-row:hover .fai130-course-photo{
  filter:saturate(.92) brightness(.88) contrast(1.03)!important;
  transform:scale(1.025)!important;
}
#courses .fai130-course-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:15px 22px!important;
  border-right:1px solid #273127!important;
}
#courses .fai130-course-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}
#courses .fai130-course-heading h3{
  margin:0!important;
  color:#eef1ec!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
}
#courses .fai130-course-copy>p{
  margin:6px 0 11px!important;
  color:#919991!important;
  font-size:11px!important;
  line-height:1.35!important;
}
#courses .fai130-course-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}
#courses .fai130-duration{
  display:inline-flex!important;
  align-items:center!important;
  min-height:24px!important;
  padding:0 9px!important;
  border:1px solid #303c30!important;
  border-radius:8px!important;
  color:#a3aba2!important;
  background:#101510!important;
  font-size:9px!important;
  font-weight:750!important;
  white-space:nowrap!important;
}
#courses .fai130-more{
  margin-left:auto!important;
  color:#bac9a8!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
#courses .fai130-course-price{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  min-width:0!important;
  padding:16px 20px!important;
}
#courses .fai130-course-price b{
  color:#7bc52f!important;
  font-size:16px!important;
  line-height:1.15!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
#courses .fai130-course-price small{
  display:block!important;
  margin-top:6px!important;
  color:#858e85!important;
  font-size:9px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}
#courses .fai130-course-heart{
  flex:0 0 auto!important;
  width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#9a9f82!important;
  font-size:20px!important;
  line-height:1!important;
  box-shadow:none!important;
  transition:color .16s ease,background .16s ease!important;
}
#courses .fai130-course-heart:hover{
  color:#b8c690!important;
  background:#182018!important;
}
#courses .fai130-course-heart.active{
  color:#7bc52f!important;
  background:#182318!important;
  border:0!important;
  box-shadow:none!important;
}
/* Kill old row decorations that belonged to the previous course design. */
#courses .fai130-course-row>.fai114-course-number,
#courses .fai130-course-row>.fai114-course-copy,
#courses .fai130-course-row>.fai114-more{
  display:none!important;
}
@media(max-width:980px){
  #courses .fai130-course-row{
    grid-template-columns:46px 135px minmax(0,1fr) 155px!important;
  }
  #courses .fai130-course-copy{padding:13px 15px!important}
  #courses .fai130-course-price{padding:13px 14px!important}
}
@media(max-width:760px){
  #courses .fai114-course-list{gap:10px!important}
  #courses .fai130-course-row{
    grid-template-columns:42px 105px minmax(0,1fr)!important;
    min-height:126px!important;
  }
  #courses .fai130-course-photo{min-height:126px!important}
  #courses .fai130-course-copy{border-right:0!important;padding:12px 12px!important}
  #courses .fai130-course-price{
    grid-column:2 / -1!important;
    padding:0 12px 11px!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:10px!important;
  }
  #courses .fai130-course-price small{margin:0!important}
  #courses .fai130-course-heading h3{font-size:15px!important}
  #courses .fai130-course-copy>p{font-size:10px!important}
  #courses .fai130-more{display:none!important}
}


/* ===== FitAI v131 — HQ course catalog inspired by premium fitness-plan libraries ===== */
#courses .fai114-head{max-width:1120px!important;margin-bottom:24px!important}
#courses .fai114-course-list{
  display:grid!important;grid-template-columns:1fr!important;gap:10px!important;
  width:100%!important;max-width:1120px!important;
}
#courses .fai131-course-row{
  display:grid!important;
  grid-template-columns:60px 244px minmax(0,1fr) 220px!important;
  align-items:stretch!important;
  min-height:142px!important;
  padding:0!important;
  border:1px solid #29352b!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:linear-gradient(100deg,#101510 0%,#121812 55%,#0f140f 100%)!important;
  box-shadow:0 10px 34px rgba(0,0,0,.12)!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
#courses .fai131-course-row:hover{
  transform:translateY(-2px)!important;
  border-color:#43553f!important;
  box-shadow:0 16px 42px rgba(0,0,0,.20)!important;
}
#courses .fai131-course-row .fai130-course-number{
  display:flex!important;align-items:center!important;justify-content:center!important;
  color:#52634d!important;font-size:27px!important;font-weight:900!important;letter-spacing:-.045em!important;
  background:linear-gradient(90deg,#0e130e,#111611)!important;
}
#courses .fai131-course-row .fai130-course-photo-wrap{
  position:relative!important;height:100%!important;min-height:142px!important;overflow:hidden!important;
  background:#151b16!important;border-radius:14px!important;margin:7px 0!important;
}
#courses .fai131-course-row .fai130-course-photo-wrap:after{
  content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;
  background:linear-gradient(90deg,rgba(6,10,7,0) 68%,rgba(12,17,13,.18) 100%)!important;
}
#courses .fai131-course-row .fai130-course-photo{
  display:block!important;width:100%!important;height:100%!important;min-height:128px!important;
  object-fit:cover!important;object-position:center!important;
  filter:saturate(.94) contrast(1.025)!important;
  transform:none!important;image-rendering:auto!important;backface-visibility:hidden!important;
  transition:transform .28s ease,filter .22s ease!important;
}
#courses .fai131-course-row:hover .fai130-course-photo{
  transform:scale(1.012)!important;filter:saturate(.99) contrast(1.03)!important;
}
#courses .fai131-course-row .fai130-course-copy{
  display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;
  min-width:0!important;padding:20px 26px!important;border-right:1px solid #273328!important;
}
#courses .fai131-course-row .fai130-course-copy h3{
  margin:0!important;color:#f2f5ef!important;font-size:20px!important;line-height:1.15!important;
  font-weight:850!important;letter-spacing:-.025em!important;
}
#courses .fai131-course-row .fai130-course-copy>p{
  margin:8px 0 15px!important;max-width:500px!important;color:#929b92!important;font-size:12px!important;line-height:1.45!important;
}
#courses .fai131-course-row .fai130-duration{
  display:inline-flex!important;align-items:center!important;min-height:27px!important;padding:0 11px!important;
  border:1px solid #334234!important;border-radius:999px!important;background:#0e140f!important;
  color:#c1c9bf!important;font-size:10px!important;font-weight:800!important;
}
#courses .fai131-course-side{
  display:flex!important;flex-direction:column!important;justify-content:center!important;gap:20px!important;
  min-width:0!important;padding:18px 20px!important;
}
#courses .fai131-course-side .fai130-course-price{padding:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important}
#courses .fai131-course-side .fai130-course-price b{
  color:#7bc52f!important;font-size:18px!important;line-height:1.12!important;font-weight:900!important;letter-spacing:-.02em!important;
}
#courses .fai131-course-side .fai130-course-price small{
  margin-top:6px!important;color:#8a9489!important;font-size:10px!important;line-height:1.3!important;
}
#courses .fai131-course-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
#courses .fai131-course-actions .fai130-more{margin:0!important;color:#ecf1e9!important;font-size:10px!important;font-weight:850!important}
#courses .fai131-course-actions .fai130-course-heart{
  width:36px!important;height:36px!important;flex:0 0 36px!important;border:1px solid #354437!important;border-radius:50%!important;
  background:#101611!important;color:#a5ae9f!important;font-size:21px!important;display:grid!important;place-items:center!important;
}
#courses .fai131-course-actions .fai130-course-heart:hover{border-color:#657c5b!important;color:#d7e0d2!important;background:#151d16!important}
#courses .fai131-course-actions .fai130-course-heart.active{border-color:#77aa47!important;color:#7bc52f!important;background:#172019!important}
@media(max-width:980px){
 #courses .fai131-course-row{grid-template-columns:48px 190px minmax(0,1fr) 175px!important;min-height:128px!important}
 #courses .fai131-course-row .fai130-course-photo-wrap{min-height:128px!important}
 #courses .fai131-course-row .fai130-course-copy{padding:16px 18px!important}
 #courses .fai131-course-row .fai130-course-copy h3{font-size:17px!important}
 #courses .fai131-course-side{padding:15px 14px!important}
 #courses .fai131-course-side .fai130-course-price b{font-size:15px!important}
}
@media(max-width:760px){
 #courses .fai114-course-list{gap:12px!important}
 #courses .fai131-course-row{grid-template-columns:44px 126px minmax(0,1fr)!important;min-height:138px!important;border-radius:16px!important}
 #courses .fai131-course-row .fai130-course-photo-wrap{min-height:124px!important;margin:7px 0!important}
 #courses .fai131-course-row .fai130-course-copy{padding:13px 12px!important;border-right:0!important}
 #courses .fai131-course-row .fai130-course-copy h3{font-size:15px!important}
 #courses .fai131-course-row .fai130-course-copy>p{font-size:10px!important;margin:6px 0 10px!important}
 #courses .fai131-course-side{grid-column:2 / -1!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;padding:0 12px 12px!important;gap:12px!important}
 #courses .fai131-course-side .fai130-course-price{flex-direction:row!important;align-items:baseline!important;gap:9px!important}
 #courses .fai131-course-side .fai130-course-price small{margin:0!important}
 #courses .fai131-course-actions .fai130-more{display:none!important}
}

/* ===== FitAI v134 — clickable course exercises ===== */
.fai123-session ol li.fai134-course-exercise{position:relative;cursor:pointer;border-radius:12px;padding-right:92px!important;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.fai123-session ol li.fai134-course-exercise:hover{background:#151d16!important;border-color:#3f543e!important;transform:translateX(2px)}
.fai134-exercise-open{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;font-size:10px;font-weight:850;color:#8df000;white-space:nowrap;opacity:.86}
.fai134-course-exercise:focus-visible{outline:2px solid #8df000;outline-offset:2px}
.fai134-exercise-detail{display:grid;gap:18px;color:#e8eee5}
.fai134-exercise-badge{width:max-content;padding:6px 9px;border:1px solid #395038;border-radius:999px;color:#7bc52f;font-size:10px;font-weight:900;letter-spacing:.08em}
.fai134-exercise-desc{margin:0;color:#aab3a8;line-height:1.65;font-size:14px}
.fai134-muscles{display:grid;gap:5px;padding:14px 16px;border:1px solid #2b382c;background:#101611;border-radius:14px}
.fai134-muscles small{color:#738073;font-size:9px;font-weight:900;letter-spacing:.1em}.fai134-muscles b{font-size:14px}
.fai134-tech-steps h4,.fai134-exercise-detail .bench-technique h4{margin:0 0 12px;font-size:16px}.fai134-tech-steps ol,.fai134-exercise-detail .bench-technique ol{display:grid;gap:9px;margin:0;padding-left:22px}.fai134-tech-steps li,.fai134-exercise-detail .bench-technique li{color:#c8d0c6;line-height:1.55;padding-left:4px}
.fai134-tech-note{display:grid;gap:5px;padding:14px 16px;border-left:3px solid #8df000;background:#111811;border-radius:0 12px 12px 0}.fai134-tech-note b{font-size:12px}.fai134-tech-note span{color:#929c90;font-size:12px;line-height:1.5}

/* ===== FitAI v134 — My meal plan ===== */
#mealplan.fai134-mealplan{max-width:1120px;margin:0 auto;padding:36px 34px 60px}
.fai134-meal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.fai134-meal-head>div{max-width:760px}.fai134-meal-head span{display:block;color:#7bc52f;font-size:10px;font-weight:900;letter-spacing:.14em;margin-bottom:8px}.fai134-meal-head h2{margin:0 0 8px;font-size:34px;letter-spacing:-.035em}.fai134-meal-head p{margin:0;color:#909a8f;line-height:1.55}
.fai134-meal-summary{display:grid;grid-template-columns:1.45fr repeat(4,1fr);gap:10px;margin-bottom:18px}.fai134-meal-summary>div{padding:16px 17px;border:1px solid #2a362b;border-radius:15px;background:#101510}.fai134-meal-summary small{display:block;color:#798478;font-size:10px;margin-bottom:7px}.fai134-meal-summary b{font-size:17px;color:#eef2ec}
.fai134-meal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fai134-meal-grid article{padding:20px;border:1px solid #29352b;border-radius:18px;background:linear-gradient(135deg,#101510,#121812);min-height:174px}.fai134-meal-time{display:flex;justify-content:space-between;align-items:center;color:#7bc52f;font-size:12px;font-weight:900}.fai134-meal-time span{color:#7e897e;font-weight:700}.fai134-meal-grid h3{margin:18px 0 7px;font-size:18px}.fai134-meal-grid p{margin:0;color:#8e988d;font-size:12px;line-height:1.5}.fai134-meal-macros{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:13px;border-top:1px solid #263127}.fai134-meal-macros b{font-size:14px}.fai134-meal-macros span{color:#7f8a7e;font-size:11px}.fai134-meal-note{margin-top:14px;padding:18px 20px;border:1px solid #324432;border-radius:16px;background:#101710}.fai134-meal-note b{font-size:13px}.fai134-meal-note p{margin:6px 0 0;color:#8f998e;font-size:12px;line-height:1.55}
@media(max-width:900px){.fai134-meal-summary{grid-template-columns:1fr 1fr}.fai134-meal-summary>div:first-child{grid-column:1/-1}.fai134-meal-grid{grid-template-columns:1fr}.fai134-meal-head{flex-direction:column}}
@media(max-width:620px){#mealplan.fai134-mealplan{padding:24px 16px 44px}.fai134-meal-head h2{font-size:28px}.fai134-meal-summary{grid-template-columns:1fr 1fr}.fai123-session ol li.fai134-course-exercise{padding-right:18px!important;padding-bottom:34px!important}.fai134-exercise-open{left:16px;right:auto;top:auto;bottom:10px;transform:none}}


/* ===== FitAI v135 — empty meal plan linked to Settings goal ===== */
#mealplan .fai135-meal-head{margin-bottom:18px}
#mealplan .fai135-meal-goal{
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  padding:18px 20px;margin-bottom:14px;border:1px solid #2c392d;border-radius:16px;
  background:linear-gradient(135deg,#101510,#111812);
}
#mealplan .fai135-meal-goal small{color:#7f8a7f;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
#mealplan .fai135-meal-goal b{color:#7bc52f;font-size:22px;line-height:1.15;letter-spacing:-.02em}
#mealplan .fai135-meal-goal span{color:#899389;font-size:11px}
#mealplan .fai135-meal-empty{
  min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:34px;border:1px solid #29352b;border-radius:20px;background:#101510;
}
#mealplan .fai135-meal-empty-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#172017;color:#7bc52f;font-size:23px;margin-bottom:16px}
#mealplan .fai135-meal-empty h3{margin:0 0 8px;color:#eef2ec;font-size:19px}
#mealplan .fai135-meal-empty p{margin:0;color:#818b81;font-size:12px}

/* ===== FitAI v136 — meal plan gender switch ===== */
#mealplan.fai136-mealplan{max-width:1120px!important}
#mealplan .fai136-meal-head{align-items:flex-end!important}
#mealplan .fai136-sex-switch{
  display:flex;align-items:center;gap:6px;padding:5px;border:1px solid #2d392f;border-radius:14px;background:#0d120e;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);flex:0 0 auto;
}
#mealplan .fai136-sex-switch button{
  appearance:none;border:1px solid transparent;background:transparent;color:#8f998f;border-radius:10px;
  min-height:42px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:8px;
  font:800 12px/1 inherit;cursor:pointer;transition:.18s ease;
}
#mealplan .fai136-sex-switch button i{font-style:normal;font-size:20px;line-height:1;color:#a7b0a6}
#mealplan .fai136-sex-switch button:hover{color:#e8ede6;background:#131a14}
#mealplan .fai136-sex-switch button.active{background:#1a2618;border-color:#53713f;color:#eef4ea;box-shadow:0 0 0 1px rgba(145,245,0,.05) inset}
#mealplan .fai136-sex-switch button.active i{color:#7bc52f}
#mealplan .fai136-meal-goal{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
#mealplan .fai136-meal-goal>div{display:flex;flex-direction:column;gap:5px;min-width:0}
#mealplan .fai136-meal-goal em{font-style:normal;white-space:nowrap;padding:8px 11px;border:1px solid #344335;border-radius:999px;background:#101611;color:#b8c1b5;font-size:10px;font-weight:850}
#mealplan .fai136-meal-empty{min-height:300px!important}
#mealplan .fai136-meal-empty .fai135-meal-empty-icon{font-size:27px!important;font-weight:800!important}
@media(max-width:760px){
  #mealplan .fai136-meal-head{align-items:stretch!important}
  #mealplan .fai136-sex-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}
  #mealplan .fai136-sex-switch button{width:100%}
  #mealplan .fai136-meal-goal{align-items:flex-start!important;flex-direction:column!important}
}

/* FitAI v137 technique overlay above course modal */
.fai137-tech-overlay{position:fixed!important;inset:0!important;z-index:600000!important;display:grid!important;place-items:center!important;padding:22px!important;background:rgba(3,6,4,.84)!important;backdrop-filter:blur(12px)!important}.fai137-tech-modal{width:min(760px,96vw)!important;max-height:90vh!important;overflow:auto!important;background:#0e140f!important;color:#eef3ec!important;border:1px solid #364437!important;border-radius:22px!important;box-shadow:0 40px 120px rgba(0,0,0,.7)!important}.fai137-tech-head{position:sticky!important;top:0!important;z-index:2!important;display:flex!important;justify-content:space-between!important;gap:16px!important;padding:20px 24px!important;background:#0e140f!important;border-bottom:1px solid #273328!important}.fai137-tech-head small{color:#7bc52f!important;font-size:9px!important;font-weight:900!important}.fai137-tech-head h2{margin:5px 0 0!important;font-size:24px!important}.fai137-tech-head button{width:38px!important;height:38px!important;border:1px solid #344235!important;border-radius:11px!important;background:#121913!important;color:#fff!important;font-size:25px!important}.fai137-tech-body{padding:22px 24px 26px!important;display:grid!important;gap:16px!important}.fai137-tech-body>p{margin:0!important;color:#aab3a9!important;font-size:13px!important;line-height:1.6!important}.fai137-tech-muscles,.fai137-tech-steps,.fai137-tech-warning{padding:15px 17px!important;border:1px solid #29372b!important;border-radius:14px!important;background:#101711!important}.fai137-tech-muscles{display:grid!important;gap:5px!important}.fai137-tech-muscles small{font-size:8px!important;color:#768176!important}.fai137-tech-steps h3{margin:0 0 12px!important;font-size:16px!important}.fai137-tech-steps ol{margin:0!important;padding-left:22px!important;display:grid!important;gap:9px!important}.fai137-tech-steps li{color:#c9d1c7!important;line-height:1.55!important;font-size:12px!important}.fai137-tech-steps li::marker{color:#7bc52f!important;font-weight:900!important}.fai137-tech-warning{display:grid!important;gap:5px!important;background:#17130d!important;border-color:#4b3b28!important}.fai137-tech-warning b{color:#e5ba74!important}.fai137-tech-warning span{color:#b8ad9c!important;font-size:11px!important;line-height:1.5!important}

/* ===== FitAI v138 — meal-plan selector ===== */
#mealplan.fai138-mealplan{
  max-width:1120px;
}
.fai138-meal-head{
  margin-bottom:20px!important;
}
.fai138-builder{
  display:grid;
  gap:10px;
  margin:0 0 14px;
}
.fai138-builder-section{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  align-items:center;
  gap:22px;
  padding:18px 20px;
  border:1px solid #293529;
  border-radius:16px;
  background:#0f140f;
}
.fai138-builder-label{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.fai138-builder-label>small{
  width:31px;height:31px;
  display:grid;place-items:center;
  flex:0 0 31px;
  border:1px solid #334234;
  border-radius:9px;
  color:#7bc52f;
  font-size:9px;
  font-weight:950;
}
.fai138-builder-label>div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.fai138-builder-label b{
  color:#edf2eb;
  font-size:13px;
}
.fai138-builder-label span{
  color:#758075;
  font-size:9px;
}
.fai138-sex-switch,
.fai138-mode-switch{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.fai138-sex-switch button,
.fai138-mode-switch button{
  min-height:44px;
  border:1px solid #303d30;
  border-radius:12px;
  background:#111711;
  color:#9aa49a;
  font-family:inherit;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
  transition:.18s ease;
}
.fai138-sex-switch button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
}
.fai138-sex-switch button i{
  font-size:19px;
  font-style:normal;
}
.fai138-sex-switch button:hover,
.fai138-mode-switch button:hover{
  border-color:#53694a;
  color:#e5ebe2;
}
.fai138-sex-switch button.active,
.fai138-mode-switch button.active{
  border-color:#73a846;
  background:#172016;
  color:#7bc52f;
  box-shadow:inset 0 0 0 1px rgba(145,245,0,.04);
}
.fai138-weight-section{
  align-items:start;
}
.fai138-weight-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.fai138-weight-tabs button{
  min-width:61px;
  height:38px;
  padding:0 10px;
  border:1px solid #303d30;
  border-radius:10px;
  background:#111711;
  color:#c2cac0;
  font-family:inherit;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  transition:.16s ease;
}
.fai138-weight-tabs button span{
  margin-left:3px;
  color:#6f796f;
  font-size:8px;
}
.fai138-weight-tabs button:hover{
  border-color:#53694a;
}
.fai138-weight-tabs button.active{
  border-color:#7bc52f;
  background:#7bc52f;
  color:#0a1008;
}
.fai138-weight-tabs button.active span{
  color:#243516;
}
.fai138-current-goal{
  margin-top:14px!important;
}
.fai138-current-goal em{
  white-space:nowrap;
}
.fai138-meal-empty{
  min-height:180px!important;
}
@media(max-width:800px){
  .fai138-builder-section{
    grid-template-columns:1fr;
    gap:14px;
  }
}
@media(max-width:540px){
  .fai138-sex-switch,.fai138-mode-switch{
    grid-template-columns:1fr;
  }
  .fai138-weight-tabs button{
    min-width:58px;
  }
}

/* ===== FitAI v139 — 15 meal-plan cards ===== */
.fai139-current-goal{
  margin-bottom:20px!important;
}
.fai139-plans-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin:24px 0 14px;
}
.fai139-plans-head small{
  color:#7bc52f;
  font-size:9px;
  font-weight:950;
  letter-spacing:.12em;
}
.fai139-plans-head h3{
  margin:6px 0 3px;
  color:#eef3ec;
  font-size:22px;
}
.fai139-plans-head p{
  margin:0;
  color:#788278;
  font-size:10px;
}
.fai139-plans-head>span{
  padding:7px 10px;
  border:1px solid #334033;
  border-radius:999px;
  color:#909990;
  font-size:9px;
  font-weight:800;
}
.fai139-plan-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.fai139-plan-card{
  min-height:150px;
  padding:16px;
  border:1px solid #293529;
  border-radius:15px;
  background:#0f140f;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.fai139-plan-card:hover{
  transform:translateY(-2px);
  border-color:#4f624a;
  background:#111811;
}
.fai139-plan-card.active{
  border-color:#7bc52f;
  background:linear-gradient(145deg,rgba(145,245,0,.055),transparent 65%),#101610;
}
.fai139-plan-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.fai139-plan-top>span{
  width:29px;height:29px;
  display:grid;place-items:center;
  border:1px solid #354336;
  border-radius:50%;
  color:#7bc52f;
  font-size:16px;
}
.fai139-plan-top>small{
  color:#707a70;
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.fai139-plan-card h3{
  margin:20px 0 5px;
  color:#f0f4ee;
  font-size:22px;
  letter-spacing:-.025em;
}
.fai139-plan-card p{
  margin:0;
  color:#7e887e;
  font-size:10px;
}
.fai139-plan-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:18px;
  color:#dfe6dc;
  font-size:9px;
  font-weight:850;
}
.fai139-plan-footer i{
  color:#7bc52f;
  font-size:17px;
  font-style:normal;
}
.fai139-open-plan{
  margin-top:16px;
  border:1px solid #344334;
  border-radius:17px;
  background:#0e130f;
  overflow:hidden;
}
.fai139-open-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 20px;
  border-bottom:1px solid #263126;
}
.fai139-open-head small{
  color:#7bc52f;
  font-size:8px;
  font-weight:950;
  letter-spacing:.11em;
}
.fai139-open-head h3{
  margin:5px 0 2px;
  color:#eef3ec;
  font-size:21px;
}
.fai139-open-head p{
  margin:0;
  color:#7e887e;
  font-size:9px;
}
.fai139-open-head button{
  width:36px;height:36px;
  border:1px solid #334033;
  border-radius:10px;
  background:#111711;
  color:#dbe2d8;
  font-size:20px;
  cursor:pointer;
}
.fai139-open-empty{
  min-height:150px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:5px;
  padding:24px;
  text-align:center;
}
.fai139-open-empty>div{
  color:#7bc52f;
  font-size:25px;
}
.fai139-open-empty h4{
  margin:2px 0;
  color:#eef3ec;
}
.fai139-open-empty p{
  margin:0;
  color:#768076;
  font-size:10px;
}
@media(max-width:900px){
  .fai139-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .fai139-plan-grid{grid-template-columns:1fr}
}

/* ===== FitAI v140 — macros for 70 kg meal-plan card ===== */
.fai140-macros{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.fai140-macros b,
.fai140-macros span{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:0 8px;
  border:1px solid #324033;
  border-radius:8px;
  background:#101610;
  color:#c9d1c7;
  font-size:8px;
  font-weight:850;
}
.fai140-macros b{
  color:#7bc52f;
  border-color:#43563e;
}
.fai140-open-macros{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:7px;
  margin:8px 0 4px;
}
.fai140-open-macros b,
.fai140-open-macros span{
  padding:6px 9px;
  border:1px solid #334233;
  border-radius:8px;
  background:#111711;
  color:#cbd3c9;
  font-size:9px;
}
.fai140-open-macros b{
  color:#7bc52f;
}

/* ===== FitAI v143 — female weight-loss macro rows ===== */
.fai139-plan-card .fai140-macros{
  margin-top:10px;
}

/* ===== FitAI v149 — male 100 kg weight-loss day plan ===== */
.fai149-day-plan{
  padding:20px;
}
.fai149-day-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:4px 0 18px;
}
.fai149-day-hero small,
.fai149-section-head small{
  color:#7bc52f;
  font-size:8px;
  font-weight:950;
  letter-spacing:.12em;
}
.fai149-day-hero h3{
  margin:6px 0 3px;
  color:#f0f4ee;
  font-size:23px;
}
.fai149-day-hero p{
  margin:0;
  color:#7f897f;
  font-size:10px;
}
.fai149-day-target{
  display:grid;
  grid-template-columns:repeat(4,minmax(75px,1fr));
  gap:7px;
}
.fai149-day-target span{
  min-width:80px;
  padding:10px 11px;
  border:1px solid #304030;
  border-radius:11px;
  background:#111711;
  text-align:center;
}
.fai149-day-target b{
  display:block;
  color:#7bc52f;
  font-size:13px;
}
.fai149-day-target small{
  color:#7d877d;
  font-size:7px;
  letter-spacing:0;
  font-weight:700;
}
.fai149-weigh-rule{
  margin:0 0 14px;
  padding:15px 16px;
  border-left:3px solid #53664f;
  border-radius:0 12px 12px 0;
  background:#111611;
}
.fai149-weigh-rule b{
  color:#dce3da;
  font-size:11px;
}
.fai149-weigh-rule p{
  margin:6px 0 0;
  color:#899389;
  font-size:10px;
  line-height:1.55;
}
.fai149-meals{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.fai149-meal-card{
  padding:16px;
  border:1px solid #2b372c;
  border-radius:14px;
  background:#0f150f;
}
.fai149-meal-title{
  display:flex;
  align-items:center;
  gap:10px;
}
.fai149-meal-title>span{
  width:28px;height:28px;
  display:grid;place-items:center;
  border:1px solid #39493a;
  border-radius:8px;
  color:#7bc52f;
  font-size:8px;
  font-weight:950;
}
.fai149-meal-title>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.fai149-meal-title b{
  color:#edf2eb;
  font-size:12px;
}
.fai149-meal-title small{
  color:#778177;
  font-size:8px;
}
.fai149-meal-card>p{
  margin:12px 0;
  color:#9aa39a;
  font-size:10px;
  line-height:1.55;
}
.fai149-meal-card>p b{color:#d9e0d7}
.fai149-macro-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.fai149-macro-row span{
  padding:5px 8px;
  border:1px solid #303d31;
  border-radius:8px;
  background:#101610;
  color:#788278;
  font-size:8px;
}
.fai149-macro-row b{color:#cbd3c9}
.fai149-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:11px 0 20px;
  padding:13px 15px;
  border:1px solid #3b5038;
  border-radius:12px;
  background:rgba(145,245,0,.035);
}
.fai149-total small{
  color:#7bc52f;
  font-size:8px;
  font-weight:900;
}
.fai149-total b{
  color:#e8eee5;
  font-size:11px;
}
.fai149-replacements{
  padding-top:3px;
}
.fai149-section-head h4{
  margin:6px 0 0;
  color:#eef3ec;
  font-size:18px;
}
.fai149-repl-note{
  margin:8px 0 13px;
  color:#7f897f;
  font-size:9px;
  line-height:1.5;
}
.fai149-repl-list{
  display:grid;
  gap:6px;
}
.fai149-repl-list>div{
  display:grid;
  grid-template-columns:220px 22px minmax(0,1fr) 220px;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid #29352a;
  border-radius:10px;
  background:#101510;
}
.fai149-repl-list b{
  color:#d8dfd6;
  font-size:9px;
}
.fai149-repl-list span{
  color:#7bc52f;
  text-align:center;
}
.fai149-repl-list p{
  margin:0;
  color:#a4ada3;
  font-size:9px;
}
.fai149-repl-list small{
  color:#727d72;
  font-size:8px;
  line-height:1.4;
}
@media(max-width:900px){
  .fai149-day-hero{align-items:flex-start;flex-direction:column}
  .fai149-day-target{width:100%}
  .fai149-repl-list>div{grid-template-columns:1fr 20px 1fr}
  .fai149-repl-list small{grid-column:1/-1}
}
@media(max-width:650px){
  .fai149-meals{grid-template-columns:1fr}
  .fai149-day-target{grid-template-columns:1fr 1fr}
  .fai149-repl-list>div{grid-template-columns:1fr}
  .fai149-repl-list span{text-align:left}
}

/* ===== FitAI v150 — reliable plan opening feedback ===== */
#mealplan .fai139-open-plan{
  scroll-margin-top:18px;
  transition:border-color .25s ease,box-shadow .25s ease;
}
#mealplan .fai139-open-plan.fai150-open-flash{
  border-color:#78a94d!important;
  box-shadow:0 0 0 1px rgba(145,245,0,.08),0 14px 45px rgba(0,0,0,.22)!important;
}

/* ===== FitAI v151 — detailed male loss meal plans 70–90 kg ===== */
.fai151-calc-note{
  margin:0 0 10px;padding:14px 16px;border:1px solid #3a4635;border-radius:12px;
  background:rgba(145,245,0,.025);
}
.fai151-calc-note b{color:#dce4da;font-size:10px}
.fai151-calc-note p{margin:5px 0 0;color:#899389;font-size:9px;line-height:1.5}
.fai151-practical{margin:0 0 20px;padding-top:2px}
.fai151-practical-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}
.fai151-practical-list>div{padding:12px 13px;border:1px solid #29352a;border-radius:11px;background:#101510}
.fai151-practical-list b{display:block;margin-bottom:5px;color:#dce3da;font-size:9px}
.fai151-practical-list p{margin:0;color:#7f897f;font-size:8px;line-height:1.45}
@media(max-width:700px){.fai151-practical-list{grid-template-columns:1fr}}


/* ===== FitAI v159 — exercise photography ===== */
.fai159-tech-photo,
.fai159-course-photo,
.fai159-workout-photo{
  width:100%;
  overflow:hidden;
  border:1px solid #2d3a2f;
  border-radius:16px;
  background:#0c110d;
  box-shadow:0 12px 32px rgba(0,0,0,.18);
}
.fai159-tech-photo{margin:0 0 18px;aspect-ratio:4/3}
.fai159-course-photo{aspect-ratio:4/3}
.fai159-workout-photo{margin:4px 0 16px;aspect-ratio:4/3}
.fai159-tech-photo img,
.fai159-course-photo img,
.fai159-workout-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.fai159-card-photo{
  width:100%;
  height:160px;
  overflow:hidden;
  border-radius:14px 14px 0 0;
  background:#0c110d;
}
.fai159-card-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:680px){
  .fai159-card-photo{height:150px}
  .fai159-tech-photo,
  .fai159-course-photo,
  .fai159-workout-photo{aspect-ratio:16/11}
}


/* ==========================================================
   FitAI v161 — PURPLE PREMIUM UI
   Visual redesign only. Existing content and logic preserved.
   ========================================================== */

:root,
:root[data-theme="dark"]{
  --bg:#070711!important;
  --panel:#0d0d1b!important;
  --card:#101022!important;
  --soft:#15142a!important;
  --text:#f7f4ff!important;
  --muted:#9d98b6!important;
  --line:#292542!important;
  --accent:#8fd438!important;
  --accent-2:#b8e56a!important;
  --danger:#ff6b7a!important;
  --dark:#0a0913!important;
  --shadow:0 22px 70px rgba(0,0,0,.38)!important;
  --radius:22px!important;
}

html{
  background:#070711!important;
}
html,body{
  color-scheme:dark;
}
body{
  color:var(--text)!important;
  background:
    radial-gradient(circle at 80% -10%,rgba(137,80,255,.16),transparent 30%),
    radial-gradient(circle at 28% 16%,rgba(82,43,160,.10),transparent 26%),
    linear-gradient(180deg,#070711 0%,#080814 50%,#06060e 100%)!important;
}

/* App shell */
.demo,
.demo-shell,
.app-shell,
.dashboard-shell{
  background:#080813!important;
  border:1px solid #292542!important;
  border-radius:24px!important;
  box-shadow:0 34px 110px rgba(0,0,0,.5)!important;
}
.main{
  background:
    radial-gradient(circle at 72% 4%,rgba(122,67,238,.075),transparent 23%),
    #090914!important;
}
.screen{
  color:#f7f4ff!important;
}
.screen h2,.screen h3,.screen h4,.screen strong,.screen b{
  color:#f7f4ff;
}

/* Header / topbar */
header,.topbar,.nav,.site-header{
  background:rgba(7,7,17,.9)!important;
  border-color:#26223d!important;
  backdrop-filter:blur(18px)!important;
}
.topbar{
  box-shadow:0 10px 35px rgba(0,0,0,.18);
}

/* Brand */
.fp-brand-v72{
  background:transparent!important;
}
.fp-brand-v72 img,
.brand img,
.sidebrand img{
  filter:drop-shadow(0 0 14px rgba(143,212,56,.18));
}

/* Sidebar */
.sidebar{
  background:
    radial-gradient(circle at 15% 4%,rgba(126,68,244,.14),transparent 22%),
    linear-gradient(180deg,#090914,#070711)!important;
  border-right:1px solid #292542!important;
  box-shadow:10px 0 40px rgba(0,0,0,.14)!important;
}
.sidebar .menu{
  gap:5px!important;
}
.sidebar .menu button,
.sidebar .menu a,
.menu button{
  color:#beb8d1!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease!important;
}
.sidebar .menu button:hover,
.sidebar .menu a:hover,
.menu button:hover{
  color:#fff!important;
  background:#121127!important;
  border-color:#272244!important;
  transform:translateX(1px);
}
.sidebar .menu button.active,
.sidebar .menu a.active,
.menu button.active{
  color:#fff!important;
  background:linear-gradient(90deg,#5f2ab1 0%,#3f206f 100%)!important;
  border-color:#7140c1!important;
  box-shadow:
    inset 3px 0 0 #bd7cff,
    0 10px 30px rgba(96,43,178,.22)!important;
}
.profile-mini{
  border-color:#28243f!important;
  color:#9d98b6!important;
}

/* Upgrade card */
.fp-sidebar-upgrade-v71,
[class*="sidebar-upgrade"],
[class*="upgrade-card"]{
  background:
    radial-gradient(circle at 100% 0%,rgba(185,105,255,.22),transparent 40%),
    linear-gradient(145deg,#17102c,#0f0d20)!important;
  border:1px solid #513482!important;
  box-shadow:0 18px 45px rgba(0,0,0,.22)!important;
}
.fp-sidebar-upgrade-icon-v71{
  background:linear-gradient(145deg,#b96cff,#7c3aed)!important;
  color:#fff!important;
  box-shadow:0 0 24px rgba(155,92,255,.26)!important;
}

/* General cards */
.card,
.metric,
.feature,
.mini-card,
.streak,
.coach-card,
.exercise-library-card,
.muscle-category-card,
.history-summary>div,
.strength-stats>div,
.fai110-course-card,
.fai139-weight-card,
[class*="course-card"],
[class*="meal-card"],
[class*="recipe-card"],
[class*="workout-card"]:not(.workout-card){
  background:
    linear-gradient(145deg,rgba(18,17,39,.98),rgba(12,12,27,.98))!important;
  border-color:#2c2747!important;
  box-shadow:0 14px 34px rgba(0,0,0,.16)!important;
}
.card:hover,
.exercise-library-card:hover,
.muscle-category-card:hover,
.fai139-weight-card:hover{
  border-color:#47376d!important;
}

/* Current workout / dark hero cards */
.workout-card,
.today-card{
  background:
    radial-gradient(circle at 90% 0%,rgba(158,86,255,.18),transparent 34%),
    linear-gradient(145deg,#17142e,#0e0d1f)!important;
  border:1px solid #3b315c!important;
  box-shadow:0 20px 45px rgba(0,0,0,.24)!important;
}

/* Buttons */
.btn,
button:not(.exercise-heart):not(.check):not(.modal-close){
  border-color:#31294e;
}
.btn.primary,
.btn.accent,
button.primary,
button.accent,
.fp-sidebar-upgrade-v71 button,
[class*="primary-btn"],
[class*="upgrade"] button{
  background:linear-gradient(135deg,#8fd438,#4f9725)!important;
  color:#fff!important;
  border-color:#a166ff!important;
  box-shadow:
    0 10px 24px rgba(111,54,216,.25),
    inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.btn.primary:hover,
.btn.accent:hover,
button.primary:hover,
button.accent:hover{
  filter:brightness(1.08);
  transform:translateY(-1px);
}
.btn:not(.primary):not(.accent){
  background:#121124!important;
  color:#ddd8eb!important;
  border-color:#2d2947!important;
}
.btn:not(.primary):not(.accent):hover{
  background:#191632!important;
  border-color:#45366d!important;
}

/* Pills / chips / tabs */
.pill,.chip,.filter-chip,
.strength-tabs button,
.feature-filter-row button,
[class*="chip"],
[class*="tab"] button{
  background:#121124!important;
  color:#bdb7cf!important;
  border-color:#30294d!important;
}
.filter-chip.active,
.strength-tabs button.active,
.feature-filter-row button.active,
[class*="tab"] button.active{
  background:linear-gradient(135deg,#5ca92b,#8fd438)!important;
  color:#fff!important;
  border-color:#a365ff!important;
  box-shadow:0 8px 22px rgba(118,58,216,.2)!important;
}

/* Forms */
input,textarea,select,
.fp14-form input,.fp14-form select,
.weight-entry input,
.chat-input input{
  background:#0d0d1d!important;
  color:#f5f1ff!important;
  border-color:#302b4b!important;
}
input:focus,textarea:focus,select:focus{
  outline:none!important;
  border-color:#8f59e8!important;
  box-shadow:0 0 0 3px rgba(155,92,255,.12)!important;
}
input::placeholder,textarea::placeholder{
  color:#716c86!important;
}

/* Modals */
.fp14-overlay,.modal-overlay,[class*="overlay"]{
  backdrop-filter:blur(8px);
}
.fp14-modal,
.modal,
[class*="tech-modal"],
[class*="recipe-modal"],
[class*="course-modal"]{
  background:
    radial-gradient(circle at 90% 0%,rgba(131,68,239,.10),transparent 28%),
    #0f0e1e!important;
  border-color:#3a3157!important;
  box-shadow:0 34px 100px rgba(0,0,0,.56)!important;
}
.fp14-modal-head,
[class*="modal-head"]{
  border-color:#2b2744!important;
}
.modal-close,
.fp14-modal-head button{
  background:#17152b!important;
  color:#d7d0e6!important;
  border-color:#332c50!important;
}

/* Exercise library */
.exercise-library-grid{
  gap:14px!important;
}
.exercise-library-card{
  overflow:hidden;
  border-radius:18px!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.exercise-library-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 44px rgba(0,0,0,.28)!important;
}
.exercise-library-card h4{
  color:#fbf9ff!important;
}
.exercise-library-card small,
.exercise-library-card p{
  color:#9f99b5!important;
}
.exercise-actions button{
  background:#16142b!important;
  color:#cfc9df!important;
  border-color:#332d50!important;
}
.exercise-actions button:hover{
  color:#fff!important;
  border-color:#754ab6!important;
}
.exercise-heart{
  background:#141226!important;
  color:#b9b1cd!important;
  border-color:#312b4b!important;
}
.exercise-heart.active{
  background:#7bc52f!important;
  color:#fff!important;
  border-color:#aa75ff!important;
  box-shadow:0 0 20px rgba(139,92,246,.2)!important;
}
.fai159-card-photo{
  background:#080812!important;
}
.fai159-card-photo img{
  filter:saturate(.9) contrast(1.04) brightness(.92);
}

/* Muscle groups */
.muscle-category-card{
  position:relative;
  overflow:hidden;
  min-height:124px;
}
.muscle-category-card:after{
  content:"";
  position:absolute;
  inset:auto -20px -36px auto;
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(146,78,244,.16),transparent 68%);
  pointer-events:none;
}
.muscle-category-card h4{
  font-size:18px!important;
}
.muscle-category-card span{
  color:#b787ff!important;
}
.muscle-category-icon,
[class*="muscle-category"] img{
  filter:hue-rotate(190deg) saturate(1.3) brightness(.9) drop-shadow(0 0 12px rgba(153,80,255,.14));
}

/* Progress */
.progress-chart{
  background:linear-gradient(180deg,rgba(134,73,239,.035),transparent)!important;
  border-radius:16px;
}
.chart-line{
  stroke:#a862ff!important;
}
.chart-dot{
  fill:#bf83ff!important;
}
.chart-grid{
  stroke:#26213e!important;
}
.chart-label{
  fill:#8e88a5!important;
}
.recovery-bar i,
.stepbar span{
  background:linear-gradient(90deg,#793bd7,#b56cff)!important;
}
.recovery-bar,
.stepbar{
  background:#1c1932!important;
}

/* Chat / AI Coach */
.bubble.ai{
  background:#141226!important;
  border-color:#30294c!important;
}
.bubble.user{
  background:linear-gradient(135deg,#8a4ce4,#6731c9)!important;
  color:#fff!important;
}
.ai-dot{
  background:linear-gradient(145deg,#bd76ff,#7936dc)!important;
  color:#fff!important;
}

/* Pricing */
.fp-pricing-v54,
.pricing{
  gap:16px!important;
}
.price,
[class*="price-card"],
[class*="pricing-card"]{
  background:linear-gradient(145deg,#121126,#0d0c1b)!important;
  border-color:#302a4a!important;
}
.price.pro,
[class*="pro-card"]{
  background:
    radial-gradient(circle at 100% 0%,rgba(166,84,255,.16),transparent 35%),
    linear-gradient(145deg,#1b1231,#100d20)!important;
  border-color:#68439a!important;
}
[class*="vip"]{
  border-color:#8e64b8!important;
}

/* Meal plan */
.fai139-weight-card{
  transition:transform .18s ease,border-color .18s ease!important;
}
.fai139-weight-card:hover{
  transform:translateY(-2px);
}
.fai140-macros,
.fai140-open-macros,
.fai149-day-target span,
.fai149-macro-row span{
  background:#121025!important;
  border-color:#312a4b!important;
}
.fai140-macros b,
.fai140-open-macros b,
.fai149-day-target b,
.fai149-total small,
.fai149-day-hero small,
.fai149-section-head small{
  color:#b878ff!important;
}
.fai149-day-plan,
.fai151-day-plan{
  color:#eeeaf7!important;
}
.fai149-meal-card,
.fai151-practical-list>div,
.fai149-repl-list>div{
  background:#0f0e1e!important;
  border-color:#2d2847!important;
}
.fai149-weigh-rule{
  background:#111020!important;
  border-left-color:#6f48a2!important;
}
.fai149-total{
  background:rgba(139,92,246,.06)!important;
  border-color:#513875!important;
}

/* Courses */
.fai110-course-card,
[class*="course-card"]{
  border-radius:18px!important;
}
[class*="course-card"] img{
  filter:saturate(.92) contrast(1.04) brightness(.92);
}
[class*="course-progress"] i,
[class*="progress-bar"] i{
  background:linear-gradient(90deg,#7134cf,#b467ff)!important;
}

/* Recipes */
[class*="recipe-card"]{
  overflow:hidden;
}
[class*="recipe-card"] img{
  filter:saturate(.9) contrast(1.02) brightness(.94);
}

/* Settings */
.fp-setting-row-v71{
  border-color:#28233f!important;
}
[class*="settings"] .card,
[class*="setting-card"]{
  background:#100f20!important;
  border-color:#2c2745!important;
}

/* Technique media */
.fai159-tech-photo,
.fai159-course-photo,
.fai159-workout-photo{
  border-color:#3a3155!important;
  box-shadow:0 18px 45px rgba(0,0,0,.28)!important;
}

/* Tables */
table{
  border-color:#2d2846!important;
}
th{
  color:#c9c2d9!important;
  background:#121124!important;
}
td{
  border-color:#28243f!important;
}

/* Scrollbars */
*{
  scrollbar-width:thin;
  scrollbar-color:#4c356f #0a0914;
}
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-track{background:#0a0914}
*::-webkit-scrollbar-thumb{
  background:#493366;
  border-radius:999px;
  border:2px solid #0a0914;
}
*::-webkit-scrollbar-thumb:hover{background:#67468f}

/* Footer */
footer{
  color:#77718d!important;
  border-color:#25213a!important;
}

/* Auth / loader */
[class*="auth"],
[class*="login"],
[class*="register"]{
  border-color:#332c4e;
}
[class*="loader"]{
  color:#b46cff;
}

/* A calm purple selection color */
::selection{
  background:rgba(155,92,255,.32);
  color:#fff;
}

/* Mobile keeps the same purple language */
@media(max-width:760px){
  body{
    background:#070711!important;
  }
  .main{
    background:#090914!important;
  }
  .card,
  .exercise-library-card,
  .muscle-category-card{
    border-radius:16px!important;
  }
  .fitpath-mobile-nav,
  [class*="mobile-nav"]{
    background:rgba(9,8,20,.96)!important;
    border-color:#292440!important;
    backdrop-filter:blur(18px)!important;
  }
}


/* ==========================================================
   FitAI v162 — MOCKUP MATCH
   Dark navy / violet premium dashboard styling.
   Content and app behavior are unchanged.
   ========================================================== */

:root,
:root[data-theme="dark"]{
  --bg:#060711!important;
  --panel:#0a0b18!important;
  --card:#0e1020!important;
  --soft:#131528!important;
  --text:#f2eff9!important;
  --muted:#858099!important;
  --line:#24263b!important;
  --accent:#8b4cf5!important;
  --accent-2:#b768ff!important;
  --purple-soft:#172112;
  --purple-line:#3e5f1f;
  --purple-glow:rgba(143,212,56,.22);
}

/* Whole application frame */
body{
  background:
    radial-gradient(circle at 76% -12%,rgba(97,45,200,.12),transparent 31%),
    #05060e!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.container{
  max-width:1500px!important;
}
.demo-shell{
  grid-template-columns:248px minmax(0,1fr)!important;
  min-height:820px!important;
  background:#070812!important;
  border:1px solid #25263a!important;
  border-radius:20px!important;
  box-shadow:0 32px 90px rgba(0,0,0,.44)!important;
}

/* Sidebar closer to mockup */
.sidebar{
  padding:20px 14px 18px!important;
  background:
    radial-gradient(circle at 0% 0%,rgba(105,47,216,.11),transparent 27%),
    linear-gradient(180deg,#080914 0%,#070812 100%)!important;
  border-right:1px solid #24263a!important;
}
.sidebrand{
  margin-bottom:22px!important;
  padding:4px 10px 18px!important;
  border-bottom:1px solid #202235;
}
.fp-brand-v72{
  padding:0!important;
}
.fp-brand-v72 img{
  max-width:148px!important;
  max-height:48px!important;
}
.menu{
  gap:3px!important;
}
.menu button{
  min-height:44px!important;
  padding:10px 13px!important;
  border-radius:9px!important;
  font-size:14px!important;
  font-weight:560!important;
  letter-spacing:-.01em!important;
  color:#b4b0c2!important;
}
.menu button.active{
  color:#fff!important;
  background:linear-gradient(90deg,#4c237d,#2b194e)!important;
  border:1px solid #5b338f!important;
  box-shadow:inset 2px 0 #b165ff,0 10px 26px rgba(54,26,94,.24)!important;
}
.menu button:hover{
  background:#101121!important;
  border-color:#24263c!important;
}
.profile-mini{
  padding:14px 9px 0!important;
  font-size:12px!important;
}

/* Upgrade panel */
.fp-sidebar-upgrade-v71{
  margin-top:15px!important;
  padding:16px!important;
  border-radius:13px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(162,81,255,.2),transparent 43%),
    linear-gradient(145deg,#19102f,#0e0d1c)!important;
  border:1px solid #4b2d74!important;
}
.fp-sidebar-upgrade-v71 strong{
  color:#b967ff!important;
  font-size:17px!important;
}
.fp-sidebar-upgrade-v71 p{
  color:#a09aad!important;
  line-height:1.45!important;
}
.fp-sidebar-upgrade-v71 button{
  height:42px!important;
  border-radius:8px!important;
  background:linear-gradient(90deg,#7740d5,#873de5)!important;
}

/* Main work area */
.main{
  padding:26px 28px 34px!important;
  background:
    radial-gradient(circle at 94% 3%,rgba(77,39,158,.07),transparent 29%),
    linear-gradient(180deg,#080914 0%,#070812 100%)!important;
}
.screen{
  max-width:1320px;
  margin:0 auto;
}
.screen-head{
  margin-bottom:20px!important;
  min-height:62px;
}
.screen-head h3{
  font-size:27px!important;
  letter-spacing:-.035em!important;
}
.screen-head .muted{
  font-size:12px!important;
  color:#747083!important;
}

/* Dashboard */
.dashboard-grid{
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr)!important;
  gap:14px!important;
}
.card{
  padding:18px!important;
  border-radius:13px!important;
  background:linear-gradient(145deg,#0e1020,#0b0d19)!important;
  border:1px solid #26283d!important;
  box-shadow:none!important;
}
.workout-card{
  min-height:282px!important;
  padding:20px!important;
  border-radius:14px!important;
  background:
    radial-gradient(circle at 90% 10%,rgba(108,51,220,.15),transparent 30%),
    linear-gradient(145deg,#101224,#0b0d19)!important;
  border:1px solid #292b42!important;
}
.workout-card h4{
  font-size:27px!important;
  margin:8px 0!important;
  letter-spacing:-.03em;
}
.workout-card p{
  font-size:13px!important;
  color:#8f8b9f!important;
}
.eyebrow{
  color:#ad65ff!important;
  font-size:10px!important;
  letter-spacing:.08em!important;
}
.today-workout-actions{
  display:grid!important;
  gap:8px!important;
}
.progress-row{
  gap:10px!important;
  margin-top:10px!important;
}
.metric{
  padding:15px!important;
  border-radius:11px!important;
  background:#0e1020!important;
  border:1px solid #26283d!important;
}
.metric span{
  color:#777386!important;
  font-size:11px!important;
}
.metric b{
  font-size:22px!important;
  color:#f4f1fa!important;
}
.week-dots .dot.on,
.dot.on{
  background:#8fd438!important;
  box-shadow:0 0 12px rgba(155,92,255,.25)!important;
}

/* Section heads and typographic hierarchy */
.screen h3{
  color:#f5f2fa!important;
}
.screen h4{
  letter-spacing:-.02em;
}
.muted{
  color:#858095!important;
}

/* Flat, refined buttons */
.btn{
  border-radius:8px!important;
  min-height:39px;
  padding:10px 14px!important;
  font-size:12px!important;
  font-weight:650!important;
  background:#111326!important;
  color:#c4bfd0!important;
  border:1px solid #292b42!important;
  box-shadow:none!important;
}
.btn.primary,.btn.accent{
  color:#fff!important;
  background:linear-gradient(90deg,#7237ca,#843ee5)!important;
  border:1px solid #9151eb!important;
  box-shadow:0 8px 18px rgba(80,35,148,.17)!important;
}
.btn:hover{
  border-color:#493764!important;
}

/* Compact categories like the mockup */
.muscle-category-grid{
  gap:10px!important;
}
.muscle-category-card{
  min-height:116px!important;
  padding:14px 14px!important;
  grid-template-columns:1fr 105px!important;
  border-radius:12px!important;
  background:
    linear-gradient(115deg,#101223 0%,#0c0e1b 68%,rgba(59,30,103,.22) 100%)!important;
  border:1px solid #292b43!important;
}
.muscle-category-card .muscle-category-icon{
  order:2;
  width:104px!important;
  height:82px!important;
  background:transparent!important;
  border-radius:0!important;
  overflow:hidden;
}
.muscle-category-card .muscle-category-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  opacity:.92!important;
  filter:hue-rotate(190deg) saturate(1.4) brightness(.83) drop-shadow(0 0 16px rgba(151,77,255,.14))!important;
}
.muscle-category-card h4{
  font-size:16px!important;
  margin-bottom:4px!important;
}
.muscle-category-card p{
  font-size:11px!important;
  color:#878295!important;
}
.muscle-category-card span{
  font-size:11px!important;
  color:#c0b8ce!important;
}
.muscle-category-card:hover{
  transform:none!important;
  border-color:#4c356e!important;
  box-shadow:none!important;
}

/* Exercise cards */
.exercise-library-grid{
  gap:10px!important;
}
.exercise-library-card{
  grid-template-columns:102px 1fr!important;
  padding:10px!important;
  gap:13px!important;
  min-height:128px!important;
  border-radius:12px!important;
  background:#0e1020!important;
  border:1px solid #282a40!important;
  box-shadow:none!important;
}
.exercise-library-card:hover{
  transform:none!important;
  border-color:#4b356d!important;
  box-shadow:none!important;
}
.fai159-card-photo{
  height:100%!important;
  min-height:106px!important;
  border-radius:9px!important;
}
.exercise-library-card h4{
  font-size:14px!important;
}
.exercise-library-card small,
.exercise-library-card p{
  font-size:11px!important;
  line-height:1.35!important;
}
.exercise-actions button{
  border-radius:7px!important;
  font-size:10px!important;
  padding:6px 8px!important;
}

/* Courses */
.fai110-course-card,
[class*="course-card"]{
  border-radius:12px!important;
  border-color:#282a40!important;
  background:#0e1020!important;
  box-shadow:none!important;
}
[class*="course-card"]:hover{
  border-color:#483267!important;
}

/* Meal plan */
.fai139-weight-card{
  border-radius:12px!important;
  background:#0e1020!important;
  border-color:#282a40!important;
  box-shadow:none!important;
}
.fai139-weight-card:hover{
  transform:none!important;
  border-color:#4b356c!important;
}
.fai149-day-target span{
  border-radius:9px!important;
}
.fai149-meal-card{
  border-radius:11px!important;
}

/* Progress, graphs */
.progress-chart,
[class*="chart-card"]{
  border:1px solid #25273c!important;
  background:#0d0f1e!important;
}
.chart-line{
  stroke:#9f5eff!important;
  filter:drop-shadow(0 0 3px rgba(159,94,255,.3));
}
.chart-dot{
  fill:#c079ff!important;
}
.chart-grid{
  stroke:#1e2032!important;
}

/* AI Coach */
.bubble.ai{
  background:#101222!important;
  border-color:#292b42!important;
}
.bubble.user{
  background:linear-gradient(135deg,#6d35bd,#8a42e7)!important;
}
.ai-dot{
  background:#7e3bd7!important;
  box-shadow:0 0 16px rgba(126,59,215,.2)!important;
}

/* Modals */
.fp14-modal,
.modal,
[class*="tech-modal"],
[class*="course-modal"],
[class*="recipe-modal"]{
  border-radius:15px!important;
  background:#0c0e1b!important;
  border:1px solid #302b47!important;
  box-shadow:0 28px 90px rgba(0,0,0,.6)!important;
}
[class*="modal-head"]{
  border-color:#24263a!important;
}
.fai159-tech-photo,
.fai159-course-photo,
.fai159-workout-photo{
  border-radius:11px!important;
  border-color:#2a2c42!important;
}

/* Pricing */
.price,
[class*="pricing-card"],
[class*="price-card"]{
  border-radius:13px!important;
  background:#0e1020!important;
  border-color:#282a40!important;
}
[class*="pro-card"],
.price.pro{
  background:
    radial-gradient(circle at 100% 0%,rgba(144,69,248,.12),transparent 38%),
    #101020!important;
  border-color:#543777!important;
}

/* Settings / forms */
input,textarea,select{
  border-radius:8px!important;
  background:#0b0d1a!important;
  border-color:#292b42!important;
}
.fp-setting-row-v71{
  border-color:#23253a!important;
}

/* Table */
table{
  background:#0d0f1d!important;
  border-radius:10px;
  overflow:hidden;
}
th{
  background:#111324!important;
  font-size:11px!important;
}
td{
  font-size:11px!important;
}

/* Top-level footer */
footer{
  border-top:1px solid #202236!important;
  color:#676278!important;
}

/* More compact desktop presentation */
@media(min-width:1200px){
  .main{
    padding-left:30px!important;
    padding-right:30px!important;
  }
}
@media(max-width:980px){
  .demo-shell{
    grid-template-columns:210px minmax(0,1fr)!important;
  }
  .sidebar{
    padding-left:10px!important;
    padding-right:10px!important;
  }
}
@media(max-width:760px){
  .demo-shell{
    display:block!important;
    border-radius:0!important;
    border-left:0!important;
    border-right:0!important;
  }
  .main{
    padding:18px 14px 90px!important;
  }
  .dashboard-grid{
    grid-template-columns:1fr!important;
  }
  .muscle-category-card{
    grid-template-columns:1fr 88px!important;
  }
}


/* ==========================================================
   FitAI v185 — MINIMAL BLACK & GREEN
   Based on the approved lower-left concept.
   Visual redesign only: content and application logic preserved.
   ========================================================== */
:root,
:root[data-theme="dark"]{
  --bg:#020503!important;
  --panel:#050a06!important;
  --card:#071009!important;
  --soft:#0a140c!important;
  --text:#f5f8f4!important;
  --muted:#879188!important;
  --line:#1b2a1e!important;
  --accent:#8fe83f!important;
  --accent-2:#b2ff65!important;
  --danger:#ff6674!important;
  --dark:#020503!important;
  --shadow:0 22px 70px rgba(0,0,0,.32)!important;
  --radius:14px!important;
}
html,body{background:#020503!important;color:#f5f8f4!important;color-scheme:dark}
body{
  background:
    radial-gradient(circle at 82% -14%,rgba(74,145,53,.08),transparent 28%),
    radial-gradient(circle at 12% 18%,rgba(66,115,48,.045),transparent 24%),
    #020503!important;
}
::selection{background:rgba(143,232,63,.28)!important;color:#fff!important}
*{scrollbar-color:#28452b #030604!important}
*::-webkit-scrollbar-track{background:#030604!important}
*::-webkit-scrollbar-thumb{background:#28452b!important;border-color:#030604!important}
*::-webkit-scrollbar-thumb:hover{background:#3d653f!important}

/* Core shell — thinner, flatter and more premium */
.fai83-app-page,.fai109-app-only,.fai83-app-main,.fai109-app-main{background:#020503!important}
.demo-shell,.fai83-shell{
  grid-template-columns:248px minmax(0,1fr)!important;
  min-height:820px!important;
  background:#030704!important;
  border:1px solid #17251a!important;
  border-radius:16px!important;
  box-shadow:0 30px 100px rgba(0,0,0,.38)!important;
  overflow:hidden!important;
}
.main{
  background:
    radial-gradient(circle at 82% 0%,rgba(79,143,50,.04),transparent 28%),
    #030704!important;
  padding:26px!important;
}
.screen{color:#f5f8f4!important}
.screen-head{margin-bottom:22px!important;align-items:center!important}
.screen-head h3{font-size:28px!important;letter-spacing:-.035em!important;font-weight:780!important;color:#f7faf6!important}
.screen h2,.screen h3,.screen h4,.screen strong,.screen b{color:#f5f8f4!important}
.muted,.section-copy{color:#879188!important}

/* Sidebar exactly in the black/green language */
.sidebar{
  position:relative!important;
  padding:22px 14px 18px!important;
  background:linear-gradient(180deg,#040805 0%,#020503 100%)!important;
  border-right:1px solid #17251a!important;
  box-shadow:none!important;
}
.sidebrand{padding:0 9px 18px!important;margin-bottom:13px!important;border-bottom:1px solid #162318!important}
.fp-brand-v72 img,.brand img,.sidebrand img{filter:drop-shadow(0 0 11px rgba(143,232,63,.10))!important;max-width:150px!important}
.sidebar .menu,.menu{gap:4px!important}
.sidebar .menu button,.menu button{
  position:relative!important;
  min-height:42px!important;
  padding:9px 13px!important;
  color:#a7afa8!important;
  background:transparent!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  font-size:13.5px!important;
  font-weight:560!important;
  letter-spacing:-.01em!important;
  box-shadow:none!important;
  transform:none!important;
}
.sidebar .menu button:hover,.menu button:hover{background:#09110b!important;color:#f4f7f3!important;border-color:#17281a!important}
.sidebar .menu button.active,.menu button.active{
  color:#f8fff2!important;
  background:linear-gradient(90deg,#143a18 0%,#0c2410 84%,#0a180d 100%)!important;
  border-color:#2f5b31!important;
  box-shadow:inset 3px 0 0 #94ed45,0 8px 22px rgba(32,86,38,.15)!important;
}
.sidebar .menu button.active:after{
  content:"";position:absolute;right:-8px;top:50%;transform:translateY(-50%);
  border-left:8px solid #8fe83f;border-top:7px solid transparent;border-bottom:7px solid transparent;
  filter:drop-shadow(0 0 6px rgba(143,232,63,.18));
}
.fp-sidebar-upgrade-v71,[class*="sidebar-upgrade"],[class*="upgrade-card"]{
  background:linear-gradient(145deg,#08110a,#050a06)!important;
  border:1px solid #2a472b!important;
  box-shadow:none!important;
  border-radius:12px!important;
}
.fp-sidebar-upgrade-icon-v71{background:#0c1c0f!important;color:#9af04c!important;box-shadow:none!important;border:1px solid #315533!important}
.fai112-upgrade-link,.fp-sidebar-upgrade-v71 span{color:#9ae94c!important}

/* Cards */
.card,.metric,.feature,.mini-card,.streak,.coach-card,
.exercise-library-card,.muscle-category-card,.history-summary>div,.strength-stats>div,
.fai110-course-card,.fai139-weight-card,[class*="course-card"],[class*="meal-card"],[class*="recipe-card"]{
  background:linear-gradient(180deg,#071009 0%,#050b07 100%)!important;
  border:1px solid #1a2b1d!important;
  border-radius:13px!important;
  box-shadow:none!important;
}
.card:hover,.exercise-library-card:hover,.muscle-category-card:hover,.fai139-weight-card:hover{border-color:#2d4c30!important}
.workout-card,.today-card{
  background:
    radial-gradient(circle at 92% 8%,rgba(89,162,58,.11),transparent 34%),
    linear-gradient(145deg,#09130b,#050a06)!important;
  border:1px solid #244027!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.workout-card h4{font-size:31px!important;letter-spacing:-.035em!important}
.progress-row{gap:10px!important}
.metric{padding:17px!important;position:relative!important;overflow:hidden!important}
.metric:after{content:"";position:absolute;left:16px;right:16px;bottom:8px;height:1px;background:linear-gradient(90deg,transparent,#64a83b,transparent);opacity:.45}
.metric b{font-size:25px!important}
.metric span:last-child{color:#8fe83f!important}

/* Approved Minimal Black & Green AI card */
.fai185-ai-card{position:relative!important;min-height:190px!important;overflow:hidden!important;padding:22px!important;background:linear-gradient(120deg,#071009 0%,#071009 58%,#061209 100%)!important;border-color:#26432a!important}
.fai185-ai-copy{position:relative;z-index:2;max-width:62%}
.fai185-ai-copy strong{font-size:21px!important}
.fai185-ai-copy .muted{line-height:1.55!important;margin:10px 0 16px!important}
.fai185-ai-figure{position:absolute;right:-4px;bottom:-2px;height:184px;width:auto;object-fit:contain;filter:saturate(1.1) contrast(1.04) drop-shadow(0 0 18px rgba(111,209,61,.10));opacity:.97;pointer-events:none}
.fai185-coach-hero{display:flex;align-items:stretch;justify-content:space-between;min-height:230px;margin-bottom:14px;padding:28px 28px 0;background:linear-gradient(120deg,#071009 0%,#071009 62%,#09180b 100%);border:1px solid #244228;border-radius:14px;overflow:hidden}
.fai185-coach-hero>div{max-width:58%;padding-bottom:26px;align-self:center}.fai185-coach-hero span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#8fe83f}.fai185-coach-hero h4{font-size:28px;margin:8px 0 10px;letter-spacing:-.04em}.fai185-coach-hero p{color:#8e988f;line-height:1.55;margin:0}.fai185-coach-hero img{width:250px;max-width:38%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 0 18px rgba(118,220,62,.10))}
.fai185-chat-card{padding:18px!important}

/* Buttons — restrained green, no purple */
.btn,button:not(.exercise-heart):not(.check):not(.modal-close){border-color:#25372a!important}
.btn.primary,.btn.accent,button.primary,button.accent,.fai82-primary,
.fp-sidebar-upgrade-v71 button,[class*="primary-btn"],[class*="upgrade"] button{
  background:linear-gradient(180deg,#3f772c,#2e5c24)!important;
  color:#f4ffe9!important;
  border:1px solid #548d39!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.btn.primary:hover,.btn.accent:hover,button.primary:hover,button.accent:hover,.fai82-primary:hover{background:linear-gradient(180deg,#4b8b33,#356b27)!important;filter:none!important;transform:translateY(-1px)!important}
.btn:not(.primary):not(.accent),.fai82-ghost{
  background:#08100a!important;color:#c6cec7!important;border-color:#243628!important;box-shadow:none!important
}
.btn:not(.primary):not(.accent):hover,.fai82-ghost:hover{background:#0b170e!important;color:#fff!important;border-color:#355238!important}

/* Tabs / chips */
.pill,.chip,.filter-chip,.strength-tabs button,.feature-filter-row button,[class*="chip"],[class*="tab"] button{
  background:#071009!important;color:#9ca79e!important;border-color:#1f3223!important;box-shadow:none!important
}
.filter-chip.active,.strength-tabs button.active,.feature-filter-row button.active,[class*="tab"] button.active{
  background:#163a19!important;color:#eaffda!important;border-color:#477c35!important;box-shadow:none!important
}

/* Inputs */
input,textarea,select,.fp14-form input,.fp14-form select,.weight-entry input,.chat-input input{
  background:#040905!important;color:#f3f6f2!important;border-color:#1f3022!important
}
input:focus,textarea:focus,select:focus{outline:none!important;border-color:#5c9c3f!important;box-shadow:0 0 0 3px rgba(122,204,69,.08)!important}
input::placeholder,textarea::placeholder{color:#606b62!important}

/* Progress and state colors */
.green,.exercise-open,.fai140-macros b,.fai140-open-macros b,.fai149-day-target b,.fai149-total small,.fai149-day-hero small,.fai149-section-head small{color:#91ea44!important}
.chart-line{stroke:#8fe83f!important}.chart-dot{fill:#b3ff6d!important}.chart-grid{stroke:#17241a!important}.chart-label{fill:#7d887f!important}
.recovery-bar i,.stepbar span,[class*="progress-bar"] i,[class*="course-progress"] i{background:linear-gradient(90deg,#447e2f,#8fe83f)!important}
.recovery-bar,.stepbar{background:#0d170f!important}
.week-dots .dot.on{background:#8fe83f!important}

/* AI chat */
.bubble.ai{background:#08120a!important;border-color:#203524!important;color:#e8eee8!important}
.bubble.user{background:#173b1b!important;color:#f2ffe9!important;border-color:#3c6f31!important}
.ai-dot{background:#143419!important;color:#a9ff62!important;border:1px solid #3c6e34!important}

/* Pricing — green premium instead of violet */
.pricing,.fp-pricing-v54{gap:14px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.pricing .price,.fp-plan-v54,[class*="price-card"],[class*="pricing-card"]{
  position:relative!important;background:linear-gradient(180deg,#071009,#050a06)!important;border:1px solid #203524!important;border-radius:14px!important;box-shadow:none!important
}
.pricing .price.pro,.fp-plan-v54.pro,[class*="pro-card"]{
  background:linear-gradient(180deg,#0b180d,#071009)!important;border-color:#4b7738!important;box-shadow:0 0 0 1px rgba(139,226,65,.05)!important
}
.fp-plan-badge-v54,.fai82-price-grid .badge{background:#244c20!important;color:#b8ff79!important;border:1px solid #4e7d37!important;box-shadow:none!important}
.fp-vip-v54,[class*="vip"]{background:linear-gradient(180deg,#09120a,#050a06)!important;border-color:#567640!important;box-shadow:none!important}
.fp-vip-badge-v54{background:#182b16!important;color:#b8f078!important;border:1px solid #45623a!important}
.fp-vip-btn-v54,.fai82-gold{background:linear-gradient(180deg,#456f30,#2f5224)!important;color:#f2ffe9!important;border-color:#5f8745!important;box-shadow:none!important}
.fai119-weekly-price{color:#8fe83f!important}
.fp-feature-list-v54 .yes span{color:#8fe83f!important}
.price .amount{color:#f7faf6!important}.price .amount small{color:#7e897f!important}

/* Modals / internal cards */
.fp14-modal,.modal,[class*="tech-modal"],[class*="recipe-modal"],[class*="course-modal"]{
  background:#060c07!important;border-color:#213625!important;box-shadow:0 34px 100px rgba(0,0,0,.5)!important
}
.fp14-modal-head,[class*="modal-head"]{border-color:#1b2d1f!important}
.modal-close,.fp14-modal-head button{background:#09120a!important;color:#cad2ca!important;border-color:#253b29!important}
.exercise-heart{background:#071009!important;color:#96a198!important;border-color:#213525!important}
.exercise-heart.active{background:#326427!important;color:#fff!important;border-color:#568d3e!important;box-shadow:none!important}
.replaced-tag{background:#102314!important;color:#a9ef74!important}

/* Meal / recipes / courses / settings */
.fai140-macros,.fai140-open-macros,.fai149-day-target span,.fai149-macro-row span{background:#071009!important;border-color:#1f3323!important}
.fai149-meal-card,.fai151-practical-list>div,.fai149-repl-list>div{background:#060c07!important;border-color:#1d3021!important}
.fai149-weigh-rule{background:#071009!important;border-left-color:#477e37!important}
.fai149-total{background:rgba(95,173,56,.045)!important;border-color:#2d4c31!important}
.fp-setting-row-v71,[class*="settings"] .card,[class*="setting-card"]{border-color:#1c2e20!important;background:#060c07!important}

/* Loader — same minimal black/green language */
.fitai-loader-v76,.fai82-loader{
  background:
    radial-gradient(circle at 50% 54%,rgba(91,176,55,.08),transparent 30%),
    #020503!important;
  color:#f6faf4!important;
  backdrop-filter:none!important;
}
.fitai-loader-logo-v76{filter:drop-shadow(0 0 15px rgba(133,230,66,.12))!important}
.fitai-loader-track-v76{border-color:#213525!important;background:#061008!important}
.fitai-loader-track-v76::after,.fitai-loader-dot-v76{background:#8fe83f!important;box-shadow:0 0 18px rgba(143,232,63,.35)!important}
.fitai-loader-v76 .fai89-loader-copy>b{color:#f5f8f4!important;font-weight:760!important;letter-spacing:-.02em!important}
.fitai-loader-v76 .fai89-loader-copy>small{color:#718074!important}
.fitai-loader-v76 .fai89-loader-copy>small b,.fai87-loader-sub b{color:#8fe83f!important}
.fai82-progress{background:#0b160d!important}.fai82-progress i{background:#8fe83f!important}

/* Landing/auth also follows new palette */
.fai82-public,.fai82-nav,.fai82-auth{background-color:#020503!important}
.fai82-nav{background:rgba(2,5,3,.94)!important;border-color:#17251a!important}
.fai82-primary,.fai82-phone-workout button{background:#4c8433!important;color:#f3ffe9!important}
.fai82-hero h1 em,.fai82-dots,.fai82-switch button{color:#8fe83f!important}
.fai82-kicker,.fai82-grid article,.fai82-auth-card{background:#061008!important;border-color:#1d3121!important}
.fai82-price-grid article{background:#061008!important;border-color:#203624!important}.fai82-price-grid .pro{background:#09140b!important;border-color:#4e793b!important;box-shadow:none!important}.fai82-price-grid .vip{border-color:#537442!important;box-shadow:none!important}
.fai82-auth-card input:focus{border-color:#65a747!important}.fai82-price-grid .badge{background:#244b20!important;color:#c1ff87!important}

/* Purple legacy hard-codes that can still surface */
.custom-workout{background:#315f28!important;color:#fff!important}
.level-card:hover,.level-card.selected,.calendar-day.training-day:hover,.calendar-day.selected,.program-tile.selected,.place-card:hover,.place-card.selected,.choice.selected,.replacement-card:hover{border-color:#5f9b42!important;box-shadow:0 0 0 3px rgba(112,188,67,.08)!important}
html[data-theme="dark"] .level-card:hover,html[data-theme="dark"] .level-card.selected{background:#0d1a0f!important;border-color:#5f9b42!important}

/* Footer */
footer,.fai92-app-footer{color:#667168!important;border-color:#162419!important;background:#020503!important}
footer a,.fai92-app-footer a{color:#8b9a8d!important}

@media(max-width:900px){
  .demo-shell,.fai83-shell{grid-template-columns:1fr!important;border-radius:0!important;border-left:0!important;border-right:0!important}
  .main{padding:16px!important}
  .fai185-ai-figure{height:150px;opacity:.78}
  .fai185-ai-copy{max-width:70%}
  .fai185-coach-hero{min-height:200px;padding:22px 22px 0}.fai185-coach-hero h4{font-size:23px}.fai185-coach-hero img{width:190px}
  .pricing,.fp-pricing-v54{grid-template-columns:1fr!important}
}


/* ===== FitAI v186 — green premium overrides ===== */
:root{
  --accent:#8fd438!important;
  --accent-2:#b8e56a!important;
}
.green{color:var(--accent)!important}
.fp-plan-v54.fp-vip-v54{
  border:1px solid #caa84d!important;
  box-shadow:0 0 0 1px rgba(202,168,77,.18), 0 18px 42px rgba(202,168,77,.12)!important;
  position:relative;
  overflow:hidden;
}
.fp-plan-v54.fp-vip-v54::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,222,140,.28);
}
.fp-plan-v54.fp-vip-v54:hover{
  transform:translateY(-4px);
  border-color:#e3bf63!important;
  box-shadow:0 0 0 1px rgba(227,191,99,.36), 0 24px 54px rgba(202,168,77,.22)!important;
}
.fp-plan-v54.fp-vip-v54 .fp-vip-badge-v54,
.fp-plan-v54.fp-vip-v54 .fai119-weekly-price.vip{
  color:#f3d982!important;
}
.fp-plan-v54.fp-vip-v54 .fp-vip-coach-v54{
  border-color:rgba(227,191,99,.35)!important;
  background:linear-gradient(180deg,rgba(227,191,99,.10),rgba(227,191,99,.04))!important;
}
.fp-plan-v54.fp-vip-v54 .fp-vip-coach-v54 span{color:#f3d982!important}
.fp-vip-btn-v54{
  border:1px solid #caa84d!important;
  color:#f7e6ad!important;
  background:linear-gradient(180deg,#171b13,#11150f)!important;
}
.fp-vip-btn-v54:hover{
  border-color:#e3bf63!important;
  box-shadow:0 0 0 1px rgba(227,191,99,.28), 0 12px 24px rgba(202,168,77,.18)!important;
}
.fai139-plan-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.fai139-plan-top small{flex:1;text-align:right}
.fai139-plan-heart{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#111613;color:#8d968f;
  display:grid;place-items:center;font-size:18px;font-weight:900;cursor:pointer;transition:.18s transform ease,.18s border-color ease,.18s background ease;
}
.fai139-plan-heart:hover{transform:scale(1.06);border-color:#5e7f43;color:#eef6e3}
.fai139-plan-heart.active{background:var(--accent);border-color:var(--accent);color:#111}
.fai139-open-head-actions{display:flex;align-items:center;gap:10px}
.fai139-open-head-actions button{margin:0}
.fai116-fav-kind.mealplan{background:rgba(143,212,56,.12);color:#bfe37d;border-color:rgba(143,212,56,.22)}


/* ===== FitAI v187 — recipe favorites + VIP trainer ===== */
.recipe-heart-v58.active,
.recipe-card-v56 .recipe-heart-v58.active,
.recipe-modal-head-actions-v58 .recipe-heart-v58.active{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#10140f!important;
}
.fai187-trainer-box{
  margin:18px 0 4px;
  padding:18px;
  border:1px solid rgba(143,212,56,.22);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(143,212,56,.08),rgba(5,12,7,.92));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.fai187-trainer-box small{
  display:block;
  color:var(--accent);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  margin-bottom:6px;
}
.fai187-trainer-box b{
  display:block;
  color:var(--text);
  font-size:18px;
  margin-bottom:4px;
}
.fai187-trainer-box span{
  display:block;
  color:var(--muted);
  font-size:13px;
}
.fai187-trainer-btn{
  min-width:170px;
  white-space:nowrap;
}
@media(max-width:760px){
  .fai187-trainer-box{flex-direction:column;align-items:flex-start}
  .fai187-trainer-btn{width:100%}
}


/* ===== FitAI v188 — Telegram support + subscription status ===== */
.fai188-pricing-title{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.fai188-sub-status{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  vertical-align:middle;
}
.fai188-sub-status.inactive{
  color:#ff6b5f;
  background:rgba(255,91,79,.10);
  border:1px solid rgba(255,91,79,.28);
}
.fai188-sub-status.active{
  color:#9bea63;
  background:rgba(143,212,56,.12);
  border:1px solid rgba(143,212,56,.28);
}
a[href*="t.me"], a[href*="telegram"]{
  cursor:pointer;
}


/* ===== FitAI v190 — unified progress landing hero ===== */
.fai190-hero{align-items:center;gap:76px}
.fai190-hero-copy h1{font-size:clamp(58px,6vw,86px);line-height:.95;letter-spacing:-4px;margin:26px 0 18px}
.fai190-hero-copy h1 em{display:block;font-style:normal;color:#8fe83f}
.fai190-hero-copy>p{max-width:620px;color:#a8b0a7;font-size:22px;line-height:1.55}
.fai190-kicker{box-shadow:0 0 0 1px rgba(143,232,63,.15) inset,0 0 34px rgba(97,207,46,.06)}
.fai190-hero-actions{margin-top:34px}
.fai190-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:38px;padding-top:28px;border-top:1px solid #1d291d}
.fai190-proof div{display:grid;gap:8px}
.fai190-proof b{font-size:22px;color:#8fe83f;line-height:1.05}
.fai190-proof span{color:#889286;font-size:14px;line-height:1.45}
.fai190-phone-wrap{position:relative;display:grid;place-items:center;min-height:760px}
.fai190-phone-glow{position:absolute;inset:auto 10% 8% 10%;height:68%;border-radius:50%;background:radial-gradient(circle,rgba(95,225,37,.18) 0%,rgba(95,225,37,.10) 28%,rgba(95,225,37,.04) 52%,rgba(95,225,37,0) 72%);filter:blur(30px);pointer-events:none}
.fai190-phone-shell{position:relative;padding:10px;border-radius:56px;background:linear-gradient(180deg,#1d231d 0%,#060806 60%,#182016 100%);box-shadow:0 45px 100px rgba(0,0,0,.55),0 0 0 1px rgba(162,208,110,.16),0 0 0 4px rgba(9,15,9,.9);transform:rotate(1.5deg)}
.fai190-phone{width:420px;min-height:790px;border-radius:48px;background:linear-gradient(180deg,#060807 0%,#0a0d0a 45%,#050705 100%);padding:22px 18px 20px;color:#eef3ec;border:1px solid rgba(173,210,131,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);overflow:hidden}
.fai190-statusbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:12px;color:#f3f6f1;padding:4px 8px 8px}
.fai190-statusbar b{font-size:14px}
.fai190-dynamic-island{justify-self:center;width:118px;height:28px;border-radius:999px;background:#040606;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.fai190-status-icons{justify-self:end;display:flex;gap:6px;align-items:center}
.fai190-status-icons i:nth-child(1){width:16px;height:10px;border-radius:2px;background:linear-gradient(90deg,#fff 20%,transparent 20% 30%,#fff 30% 50%,transparent 50% 60%,#fff 60% 80%,transparent 80% 100%);opacity:.95}
.fai190-status-icons i:nth-child(2){width:14px;height:10px;border:2px solid #fff;border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;border-radius:50%;position:relative;opacity:.9}
.fai190-status-icons i:nth-child(2)::after{content:"";position:absolute;left:3px;top:2px;width:4px;height:4px;border-radius:50%;background:#fff}
.fai190-status-icons i:nth-child(3){width:20px;height:10px;border:1.6px solid #fff;border-radius:3px;position:relative}
.fai190-status-icons i:nth-child(3)::before{content:"";position:absolute;right:-3px;top:2px;width:2px;height:4px;border-radius:1px;background:#fff}.fai190-status-icons i:nth-child(3)::after{content:"";position:absolute;inset:1.5px;width:13px;border-radius:1.5px;background:#fff}
.fai190-screen-head{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 10px 0;margin-bottom:12px}
.fai190-screen-head h3{margin:0;font-size:22px}.fai190-screen-head p{margin:4px 0 0;color:#aeb8ac;font-size:13px}
.fai190-head-icons{display:flex;gap:12px;color:#f1f4f0;font-size:18px;opacity:.95}
.fai190-card{position:relative;background:linear-gradient(180deg,rgba(19,24,19,.96),rgba(10,12,10,.97));border:1px solid #161d16;border-radius:24px;box-shadow:0 8px 26px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.03)}
.fai190-card-title{color:#b9c1b8;font-size:14px;margin-bottom:14px}
.fai190-progress-card{padding:18px 18px 20px;margin:0 6px 12px}
.fai190-progress-grid{display:grid;grid-template-columns:124px 1fr;gap:18px;align-items:center}
.fai190-ring{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,#0b0d0a 55%,transparent 56%),conic-gradient(#8fe83f 0 281deg,#223221 281deg 360deg);box-shadow:inset 0 0 18px rgba(143,232,63,.15)}
.fai190-ring span{font-size:22px;font-weight:900}.fai190-progress-copy small{display:block;color:#8f998e;font-size:12px;margin-bottom:4px}.fai190-progress-copy b{display:block;font-size:36px;color:#8fe83f;line-height:1.05}.fai190-progress-copy p{margin:8px 0 0;color:#adb5ab;font-size:14px;line-height:1.45}
.fai190-plan-card{display:grid;grid-template-columns:1.08fr .92fr;gap:12px;padding:18px;margin:0 6px 12px;min-height:164px;overflow:hidden}
.fai190-plan-copy small{display:block;color:#dbe2d8;font-size:14px;margin-bottom:18px}.fai190-plan-copy span{display:block;color:#8d988c;font-size:13px;margin-bottom:8px}.fai190-plan-copy b{font-size:30px;line-height:1.05}.fai190-plan-copy p{margin:8px 0 0;color:#9ca59a;font-size:14px}
.fai190-plan-figure{position:relative;display:flex;align-items:flex-end;justify-content:flex-end;overflow:hidden}.fai190-plan-figure em{position:absolute;top:2px;right:2px;font-style:normal;color:#8fe83f;font-size:13px;font-weight:800}.fai190-plan-figure img{width:165px;max-width:100%;object-fit:contain;filter:drop-shadow(0 0 18px rgba(143,232,63,.16));transform:translate(14px,10px)}
.fai190-analytics-head{display:flex;justify-content:space-between;align-items:center;padding:2px 14px 10px;margin-top:2px}.fai190-analytics-head b{font-size:18px}.fai190-analytics-head span{color:#8fe83f;font-size:13px}
.fai190-analytics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 6px 10px}
.fai190-mini-card{position:relative;padding:16px 14px 28px;border-radius:18px;background:linear-gradient(180deg,rgba(19,24,19,.9),rgba(10,12,10,.94));border:1px solid #171d17;overflow:hidden}
.fai190-mini-card small{display:block;color:#858e83;font-size:12px}.fai190-mini-card b{display:block;margin-top:10px;font-size:22px}.fai190-mini-card span{display:block;margin-top:6px;color:#8fe83f;font-size:13px;font-weight:700}.fai190-mini-card i{position:absolute;left:12px;right:12px;bottom:10px;height:26px;background:linear-gradient(180deg,rgba(143,232,63,0),rgba(143,232,63,.07));mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 40"><polyline fill="none" stroke="black" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" points="5,33 20,30 34,27 50,18 62,22 74,12 87,17 95,5"/></svg>') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 40"><polyline fill="none" stroke="black" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" points="5,33 20,30 34,27 50,18 62,22 74,12 87,17 95,5"/></svg>') center/contain no-repeat;background-color:#8fe83f}
.fai190-ai-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px;margin:4px 6px 14px;border-color:#47642e;background:linear-gradient(180deg,rgba(18,28,16,.95),rgba(10,13,10,.98))}
.fai190-ai-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(143,232,63,.24),rgba(143,232,63,.07));color:#9af046;font-size:22px;font-weight:900}.fai190-ai-card b{display:block;font-size:16px}.fai190-ai-card p{margin:6px 0 0;color:#a9b2a8;font-size:13px;line-height:1.4}.fai190-ai-arrow{font-size:24px;color:#d8dfd6}
.fai190-bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:6px 4px 0;border-top:1px solid #101610;color:#8b938a;font-size:12px;text-align:center}.fai190-bottom-nav span{padding-top:10px}.fai190-bottom-nav .active{color:#8fe83f;font-weight:800}
@media(max-width:1100px){.fai190-proof{grid-template-columns:1fr}.fai190-phone-wrap{min-height:unset}.fai190-phone{width:min(410px,92vw);min-height:760px}}
@media(max-width:900px){.fai190-hero-copy h1{font-size:52px}.fai190-hero-copy>p{font-size:18px}.fai190-phone-shell{transform:none}.fai190-proof{padding-top:22px;margin-top:28px}.fai190-progress-grid{grid-template-columns:1fr;justify-items:start}.fai190-plan-card{grid-template-columns:1fr}.fai190-plan-figure{min-height:120px}.fai190-plan-figure img{transform:translate(16px,18px)}.fai190-phone{min-height:735px}.fai190-analytics-grid{grid-template-columns:1fr}}

/* ===== FitAI v191 — legal policy modals ===== */
.fai191-legal-overlay{
  position:fixed;
  inset:0;
  z-index:20000;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(10px);
}
.fai191-legal-modal{
  width:min(980px,96vw);
  max-height:90vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  color:#eef4ed;
  background:linear-gradient(180deg,#071009,#050705);
  border:1px solid rgba(143,212,56,.24);
  border-radius:28px;
  box-shadow:0 30px 100px rgba(0,0,0,.55),0 0 0 1px rgba(143,212,56,.08);
}
.fai191-legal-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:26px 28px 20px;
  border-bottom:1px solid rgba(143,212,56,.16);
  background:radial-gradient(circle at 80% 0%,rgba(143,212,56,.12),transparent 38%);
}
.fai191-legal-head small{
  display:block;
  margin-bottom:8px;
  color:#8fd438;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
.fai191-legal-head h2{
  margin:0;
  font-size:32px;
  letter-spacing:-.04em;
}
.fai191-legal-head p{
  margin:8px 0 0;
  color:#9fa99d;
  line-height:1.45;
}
.fai191-legal-close{
  flex:0 0 auto;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(143,212,56,.25);
  background:#0b120b;
  color:#eef4ed;
  font-size:28px;
  line-height:1;
}
.fai191-legal-body{
  overflow:auto;
  padding:26px 28px;
  line-height:1.65;
  color:#c6d0c3;
}
.fai191-legal-body section{
  padding:0 0 20px;
  margin:0 0 20px;
  border-bottom:1px solid rgba(143,212,56,.10);
}
.fai191-legal-body section:last-child{
  border-bottom:0;
}
.fai191-legal-body h3{
  color:#f4f8f2;
  margin:0 0 10px;
  font-size:20px;
}
.fai191-legal-body p{
  margin:0 0 10px;
}
.fai191-legal-body ul{
  margin:8px 0 0;
  padding-left:20px;
}
.fai191-legal-body li{
  margin:6px 0;
}
.fai191-legal-body a{
  color:#8fd438;
  text-decoration:none;
}
.fai191-legal-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  padding:18px 28px 24px;
  border-top:1px solid rgba(143,212,56,.16);
}
.fai191-personal-data-policy-link,
.fai191-personal-data-policy{
  margin-left:18px;
}
@media(max-width:760px){
  .fai191-legal-head{padding:22px;align-items:flex-start}
  .fai191-legal-head h2{font-size:24px}
  .fai191-legal-body{padding:22px}
  .fai191-legal-actions{padding:16px 22px;justify-content:stretch}
  .fai191-legal-actions .btn{width:100%}
  .fai191-personal-data-policy-link{display:block;margin-left:0;margin-top:10px}
}


/* ===== FitAI v193 — serious landing benefits + scroll reveal ===== */
.fai193-grid{--fai193-progress:0;align-items:stretch}
.fai193-benefit{
  --fai193-item:0;
  position:relative;
  opacity:var(--fai193-item,0);
  transform:translateY(calc((1 - var(--fai193-item,0))*28px)) scale(calc(.965 + var(--fai193-item,0)*.035));
  filter:saturate(calc(.7 + var(--fai193-item,0)*.3));
  transition:opacity .28s linear,transform .28s linear,filter .28s linear;
  min-height:240px;
}
.fai193-benefit>span{display:none!important}
.fai193-benefit .fai193-icon{
  width:56px;
  height:56px;
  border-radius:18px;
  display:grid;
  place-items:center;
  margin:10px 0 14px;
  background:linear-gradient(180deg,rgba(26,42,22,.92),rgba(11,19,12,.94));
  border:1px solid rgba(150,255,84,.24);
  box-shadow:0 14px 32px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}
.fai193-benefit .fai193-icon svg{
  width:26px;
  height:26px;
  fill:none;
  stroke:#9DFF4D;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.fai193-benefit i{
  color:rgba(157,255,77,.72)!important;
  letter-spacing:.22em;
  font-size:11px!important;
  font-weight:800!important;
}
.fai193-benefit h3{margin-top:0}
@media (prefers-reduced-motion: reduce){
  .fai193-benefit{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
}


/* ===== FitAI v195 — slower features reveal override ===== */
.fai193-benefit{
  transition:opacity .28s linear,transform .28s linear,filter .28s linear!important;
}

/* ===== FitAI v204 — large, readable ready-workout catalogue ===== */
#fai105ReadyOverlay .fai105-modal{
  width:min(1540px,96vw)!important;
  height:min(92vh,1040px)!important;
  max-height:92vh!important;
}
#fai105ReadyOverlay .fai105-head{flex:0 0 auto}
#fai105ReadyOverlay .fai105-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  align-content:start!important;
  grid-template-columns:repeat(3,minmax(320px,1fr))!important;
  grid-auto-rows:max-content!important;
  gap:18px!important;
  padding:22px!important;
}
#fai105ReadyOverlay .fai203-ready-card{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:490px!important;
  align-self:start!important;
}
#fai105ReadyOverlay .fai203-ready-photo{
  flex:0 0 235px!important;
  height:235px!important;
}
.fai204-photo-copy{
  position:absolute;
  z-index:3;
  left:18px;
  right:72px;
  bottom:17px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.fai204-photo-copy small{
  color:#c8ff9c;
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.fai204-photo-copy b{
  color:#fff;
  font-size:21px;
  line-height:1.12;
  letter-spacing:-.025em;
  text-shadow:0 2px 14px rgba(0,0,0,.85);
}
#fai105ReadyOverlay .fai203-ready-body{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-height:235px!important;
}
#fai105ReadyOverlay .fai203-ready-body h3{
  display:block!important;
  font-size:20px!important;
  line-height:1.2!important;
}
#fai105ReadyOverlay .fai105-details{margin-top:auto!important}

@media(max-width:1100px){
  #fai105ReadyOverlay .fai105-grid{grid-template-columns:repeat(2,minmax(280px,1fr))!important}
}
@media(max-width:700px){
  #fai105ReadyOverlay .fai105-modal{width:calc(100vw - 18px)!important;height:94vh!important;max-height:94vh!important}
  #fai105ReadyOverlay .fai105-grid{grid-template-columns:1fr!important;padding:12px!important}
  #fai105ReadyOverlay .fai203-ready-card{min-height:470px!important}
  #fai105ReadyOverlay .fai203-ready-photo{flex-basis:220px!important;height:220px!important}
  .fai204-photo-copy b{font-size:19px}
}

/* ===== FitAI v209 — final VIP CTA override (must remain last) ===== */
#pricing .fp-vip-v54 button.fp-vip-btn-v54,
.pricing .price.fp-vip-v54 > button.fp-vip-btn-v54,
button.btn.wide.fp-vip-btn-v54{
  appearance:none!important;
  background:#e6b93f!important;
  background-image:linear-gradient(180deg,#ffdc72 0%,#e0ad2d 52%,#bd8112 100%)!important;
  color:#211500!important;
  border:1px solid #ffe493!important;
  box-shadow:0 0 0 1px rgba(255,211,91,.22),0 12px 34px rgba(218,160,32,.34),inset 0 1px 0 rgba(255,255,255,.62)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.25)!important;
}
#pricing .fp-vip-v54 button.fp-vip-btn-v54:hover,
.pricing .price.fp-vip-v54 > button.fp-vip-btn-v54:hover,
button.btn.wide.fp-vip-btn-v54:hover{
  background-image:linear-gradient(180deg,#ffe895 0%,#edbd43 52%,#ca901b 100%)!important;
  border-color:#fff0ad!important;
  box-shadow:0 0 0 1px rgba(255,222,118,.32),0 16px 42px rgba(226,169,38,.46),inset 0 1px 0 rgba(255,255,255,.7)!important;
}

/* ===== FitAI v211 — fixed startup logo; progress bar remains animated ===== */
.fitai-loader-v76 .fitai-loader-logo-v76,
.fitai-loader-v76.finish-run-v77 .fitai-loader-logo-v76{
  animation:none!important;
  transform:none!important;
  will-change:auto!important;
  filter:drop-shadow(0 8px 20px rgba(159,240,0,.14))!important;
}
.fitai-loader-v76 .fitai-loader-logo-wrap-v76::before,
.fitai-loader-v76 .fitai-loader-logo-wrap-v76::after{
  display:none!important;
  animation:none!important;
}
.fai-api-code{
  text-align:center;
  font-size:26px!important;
  font-weight:800;
  letter-spacing:.32em;
  font-variant-numeric:tabular-nums;
}
.fai119-recovery-error.is-success{color:#8df34a!important;}
