
  :root{
    --bg:#06080b;
    --bg2:#0d1117;
    --card:rgba(255,255,255,.05);
    --cardBorder:rgba(255,255,255,.08);
    --text:#eaf1ff;
    --muted:#9fb0c8;
    --accent:#2ecc71;
    --accent2:#00e5a8;
    --secondary:rgba(255,255,255,.08);
    --warning:#ffd166;
    --danger:#ff7a7a;
    --shadow:0 12px 28px rgba(0,0,0,.28);
  }

  *{box-sizing:border-box}

  html,body{
    margin:0;
    min-height:100%;
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",Arial,sans-serif;
    color:var(--text);
    background:radial-gradient(circle at top,var(--bg2),var(--bg) 65%);
  }

  body{overflow-x:hidden}
  body.drawer-open{overflow:hidden;touch-action:none}

  .app{
    max-width:900px;
    margin:0 auto;
    padding:18px 18px 32px;
  }

  .topbar{
    position:sticky;
    top:0;
    z-index:40;
    display:flex;
    align-items:center;
    gap:12px;
    padding:6px 0 12px;
    background:linear-gradient(to bottom, rgba(6,8,11,.95), rgba(6,8,11,.78), rgba(6,8,11,0));
    backdrop-filter:blur(8px);
  }

  .menu-btn{
    width:48px;
    height:48px;
    border:none;
    border-radius:16px;
    background:rgba(255,255,255,.08);
    color:#fff;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    line-height:1;
    transition:transform .15s ease, opacity .15s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .menu-btn:active{transform:scale(.96);opacity:.92}

  .topbar-title{
    font-size:15px;
    font-weight:800;
    letter-spacing:.01em;
    color:#d9e5f6;
  }


  .topbar-title{flex:1;}

  .cloud-top-wrap{position:relative;margin-left:auto;}
  .cloud-icon-btn{
    width:48px;
    height:48px;
    border:none;
    border-radius:16px;
    background:rgba(255,255,255,.08);
    color:#ffffff;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    line-height:1;
    transition:transform .15s ease, opacity .15s ease, border-color .15s ease, background .15s ease;
    border:1px solid rgba(255,255,255,.08);
    -webkit-tap-highlight-color: transparent;
  }
  .cloud-icon-btn:active{transform:scale(.96);opacity:.92}
  .cloud-icon-btn.cloud-on{background:rgba(0,232,169,.14);border-color:rgba(0,232,169,.35);color:#ffffff;}
  .cloud-icon-btn.cloud-warn{background:rgba(255,209,102,.10);border-color:rgba(255,209,102,.30);color:#ffffff;}
  .cloud-popover{
    position:absolute;
    top:58px;
    right:0;
    width:min(420px, calc(100vw - 36px));
    z-index:80;
    display:none;
    padding:16px;
    margin-top:0;
    border-radius:24px;
    background:rgba(12,18,21,.98);
    border:1px solid rgba(0,232,169,.24);
    box-shadow:0 22px 70px rgba(0,0,0,.58);
    backdrop-filter:blur(18px);
  }
  .cloud-popover.open{display:block;}
  .cloud-popover .section-subtitle{font-size:13px;line-height:1.35;}
  .cloud-popover .cloud-auth-grid{grid-template-columns:1fr;gap:10px;margin-top:12px;}
  .cloud-popover input{min-height:52px;}
  .cloud-popover .cloud-auth-actions{gap:8px;margin-top:12px;}
  .cloud-popover .cloud-auth-actions.auth-actions{display:grid;grid-template-columns:1fr 1fr;}
  .cloud-popover #cloudLoginBtn{grid-column:1 / -1;width:100%;}
  .cloud-popover .cloud-auth-actions button{width:100%;min-height:48px;}
  .cloud-popover .cloud-user-row{align-items:flex-start;}
  .cloud-popover .cloud-user-row .cloud-auth-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;}
  @media(max-width:520px){.cloud-popover{right:-60px;width:calc(100vw - 28px)}.cloud-popover .cloud-auth-actions.auth-actions{grid-template-columns:1fr}}

  .page{display:none}
  .page.active{display:block}

  .card{
    background:var(--card);
    border:1px solid var(--cardBorder);
    border-radius:24px;
    padding:16px;
    margin-top:12px;
    backdrop-filter:blur(12px);
    box-shadow:var(--shadow);
  }

  .hero{
    min-height:210px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    background:
      linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.74)),
      url('https://images.unsplash.com/photo-1517836357463-d25dfeac3438?auto=format&fit=crop&w=1400&q=80');
    background-size:cover;
    background-position:center;
    overflow:hidden;
  }

  .hero h2{
    font-size:34px;
    line-height:1;
    margin:0 0 8px 0;
  }

  .home-grid,
  .analytics-grid,
  .two-col-grid,
  .selector-grid,
  .readiness-grid,
  .builder-grid,
  .exercise-grid,
  .fast-actions-grid,
  .compact-stats-grid{
    display:grid;
    gap:12px;
    margin-top:12px;
  }

  .home-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
  .analytics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
  .two-col-grid{grid-template-columns:1fr 1fr}
  .selector-grid{grid-template-columns:1fr 1fr 1fr}
  .readiness-grid,
  .builder-grid{grid-template-columns:repeat(3,1fr)}
  .exercise-grid{grid-template-columns:1fr 1fr}
  .fast-actions-grid{grid-template-columns:1fr 1fr}
  .compact-stats-grid{grid-template-columns:repeat(3,1fr)}

  .auto-build-grid{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:12px;
    margin-top:12px;
  }

  .auto-build-preview{
    margin-top:12px;
  }

  .auto-build-preview .builder-item{
    margin-top:10px;
  }

  .auto-build-preview-empty{
    color:var(--muted);
    padding:14px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.06);
    border-radius:16px;
  }

  .nutrition-hero{background:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.75)),radial-gradient(circle at 20% 0%, rgba(0,229,168,.28), transparent 38%),linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.02));overflow:hidden}
  .nutrition-hero h2{font-size:30px;line-height:1;margin:8px 0 8px}
  .nutrition-hero p{margin:0;color:var(--muted);line-height:1.45}
  .nutrition-summary-grid,.nutrition-target-grid,.nutrition-form-grid{display:grid;gap:12px;margin-top:12px}
  .nutrition-summary-grid{grid-template-columns:1.2fr 1fr 1fr 1fr}
  .nutrition-target-grid{grid-template-columns:repeat(4,1fr)}
  .nutrition-form-grid{grid-template-columns:1.4fr .8fr .8fr .8fr .8fr}
  .macro-ring{min-height:118px;display:flex;flex-direction:column;justify-content:space-between}
  .macro-value{margin-top:8px;font-size:24px;font-weight:900}
  .macro-sub{color:var(--muted);font-size:12px;margin-top:3px}
  .progress-track{width:100%;height:9px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:10px}
  .progress-fill{height:100%;width:0%;border-radius:99px;background:linear-gradient(135deg,var(--accent2),var(--accent));transition:width .2s ease}
  .nutrition-day-row,.meal-chip-row,.nutrition-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
  .nutrition-day-row input{max-width:190px;margin-top:0}
  .meal-chip{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:10px 12px;font-weight:800;font-size:12px;cursor:pointer}
  .meal-chip.active{background:rgba(46,204,113,.18);border-color:rgba(46,204,113,.45);color:#caffdd}
  .nutrition-log{display:flex;flex-direction:column;gap:10px;margin-top:12px}
  .nutrition-log-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.065)}
  .nutrition-food-title{font-size:15px;font-weight:900}
  .nutrition-food-meta{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.35}
  .nutrition-log-actions{display:flex;gap:8px;align-items:center}
  .nutrition-log-actions button{margin:0;white-space:nowrap}
  .nutrition-empty{color:var(--muted);padding:14px;border:1px dashed rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.03)}

  .nutrition-mini-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
  .nutrition-mini-insight{padding:12px;border-radius:16px;background:rgba(0,229,168,.055);border:1px solid rgba(0,229,168,.13)}
  .nutrition-mini-insight b{display:block;font-size:18px;margin-top:4px}
  .nutrition-meal-section{border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);border-radius:18px;padding:10px;margin-top:10px}
  .nutrition-meal-header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:4px 2px 10px}
  .nutrition-meal-title{font-weight:950;font-size:14px}
  .nutrition-meal-total{color:var(--muted);font-size:12px;font-weight:800}
  .nutrition-log-quantity{display:flex;gap:6px;align-items:center;justify-content:flex-end;margin-top:6px}
  .nutrition-log-quantity button{padding:7px 9px;border-radius:10px;font-size:11px}
  .nutrition-empty-cta{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
  .nutrition-log-hub{border-color:rgba(0,229,168,.18);box-shadow:0 18px 44px rgba(0,0,0,.18)}
  .nutrition-details-dropdown,.nutrition-add-food-dropdown{margin-top:14px;border-color:rgba(255,255,255,.08)}
  .nutrition-details-dropdown .nutrition-summary-grid{margin-top:12px}
  .nutrition-details-dropdown .collapsible-content > .card{background:rgba(255,255,255,.035)}
  .nutrition-meal-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
  .nutrition-meal-empty{padding:12px;border:1px dashed rgba(255,255,255,.12);border-radius:14px;color:var(--muted);background:rgba(255,255,255,.025);font-size:13px}
  @media(max-width:720px){.nutrition-mini-insights{grid-template-columns:1fr}.nutrition-log-item{grid-template-columns:1fr}.nutrition-log-actions{justify-content:flex-start;flex-wrap:wrap}}
  .barcode-card{position:relative;overflow:hidden}
  .barcode-scan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
  .barcode-stage{margin-top:12px;border-radius:18px;border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.18);overflow:hidden}
  .barcode-video-wrap{position:relative;display:none;background:#050606;aspect-ratio:16/10}
  .barcode-video-wrap.active{display:block}
  #barcodeVideo{width:100%;height:100%;object-fit:cover;display:block}
  .barcode-frame{position:absolute;left:12%;right:12%;top:32%;height:36%;border:2px solid rgba(0,229,168,.85);border-radius:16px;box-shadow:0 0 0 999px rgba(0,0,0,.28),0 0 22px rgba(0,229,168,.22);pointer-events:none}
  .barcode-frame:after{content:"";position:absolute;left:8%;right:8%;top:50%;height:2px;background:rgba(0,229,168,.9);box-shadow:0 0 12px rgba(0,229,168,.55)}
  .barcode-status{padding:12px;color:var(--muted);font-size:13px;line-height:1.45}
  .barcode-status.good{color:#b7ffe2}.barcode-status.warn{color:#ffe1a6}.barcode-status.bad{color:#ffb7b7}
  .barcode-diagnostics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
  .barcode-diagnostic-pill{padding:10px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.075);font-size:12px;color:var(--muted);line-height:1.35}
  .barcode-diagnostic-pill b{display:block;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
  .barcode-fallback-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
  .barcode-file-input{display:none}
  .barcode-help{margin-top:10px;padding:11px;border-radius:14px;background:rgba(0,229,168,.06);border:1px solid rgba(0,229,168,.16);color:var(--muted);font-size:12px;line-height:1.45}
  .barcode-result{display:none;margin-top:12px;padding:12px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.075)}
  .barcode-result.active{display:block}
  .barcode-product-top{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center}
  .barcode-product-img{width:72px;height:72px;border-radius:16px;object-fit:cover;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
  .barcode-product-title{font-weight:950;font-size:16px;line-height:1.2}
  .barcode-product-meta{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.35}
  .barcode-macro-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
  .barcode-macro-tile{padding:10px;border-radius:14px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.07)}
  .barcode-macro-tile b{display:block;font-size:16px}
  .barcode-macro-tile span{display:block;color:var(--muted);font-size:11px;margin-top:2px}
  .barcode-confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
  .barcode-manual-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:12px}
  @media(max-width:720px){.barcode-scan-grid,.barcode-confirm-grid,.barcode-manual-row,.barcode-fallback-row{grid-template-columns:1fr}.barcode-macro-row,.barcode-diagnostics{grid-template-columns:repeat(2,1fr)}}


  .stat-card{
    min-height:110px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .stat-value,.analytics-value{
    font-size:42px;
    font-weight:800;
    line-height:1;
  }

  .analytics-value{font-size:28px}

  .pill,.exercise-badge{
    display:inline-block;
    padding:8px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    background:rgba(255,255,255,.08);
    color:#d9e5f6;
  }

  .home-pill-row{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:12px;
  }

  .image-tile{
    padding:0;
    overflow:hidden;
    min-height:150px;
    display:flex;
    align-items:flex-end;
    background-size:cover;
    background-position:center;
    cursor:pointer;
    transition:transform .18s ease, opacity .18s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .image-tile:hover{transform:translateY(-2px)}
  .image-tile:active{transform:scale(.985);opacity:.92}

  .image-tile-content{
    padding:16px;
    width:100%;
  }

  .image-tile-content p{margin-top:6px;opacity:.9}

  .session-topline,
  .compact-metric{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
  }

  .session-title{
    font-size:20px;
    font-weight:900;
  }

  .session-meta,
  .section-subtitle,
  .muted{
    color:var(--muted);
    font-size:13px;
  }

  .compact-score{
    font-size:30px;
    font-weight:900;
    line-height:1;
  }

  .current-exercise-title,
  .exercise-visual-title{
    font-size:24px;
    font-weight:900;
    margin-top:8px;
  }

  .current-exercise-subtitle,
  .exercise-visual-subtitle{
    margin-top:6px;
    color:var(--muted);
    font-size:13px;
  }

  .current-exercise-meta,
  .chip-row,
  .builder-actions,
  .timer-actions,
  .timer-presets,
  .session-actions,
  .set-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
  }

  .chip-btn{
    border:none;
    border-radius:999px;
    padding:10px 14px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-weight:700;
    cursor:pointer;
    font-size:13px;
  }

  .chip-btn.favorite{
    background:rgba(255,209,102,.16);
    color:#ffe8a6;
    border:1px solid rgba(255,209,102,.2);
  }

  .chip-btn.active{
    background:linear-gradient(135deg,var(--accent2),var(--accent));
    color:#07120d;
  }

  .exercise-visual{
    padding:0;
    overflow:hidden;
  }

  .exercise-visual-wrap{
    min-height:220px;
    padding:18px;
    background:
      radial-gradient(circle at top right, rgba(0,229,168,.16), transparent 35%),
      linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
    display:flex;
    flex-direction:column;
    justify-content:space-between;
  }

  .exercise-mini,
  .builder-item,
  .info-item{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.06);
    border-radius:16px;
    padding:12px;
  }

  .exercise-mini-label,
  .info-label,
  .set-label{
    font-size:11px;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.06em;
  }

  .exercise-mini-value,
  .info-value{
    margin-top:6px;
    font-size:14px;
    font-weight:700;
  }

  .set-list{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:12px;
  }

  .set-row{
    display:grid;
    grid-template-columns:auto 1fr 1fr 1fr auto;
    gap:10px;
    align-items:end;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.05);
    border-radius:16px;
    padding:12px;
  }

  .set-number{
    width:48px;
    height:48px;
    border-radius:14px;
    background:rgba(255,255,255,.06);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:800;
    color:#dce7f7;
  }

  .set-delete{
    width:auto;
    min-width:84px;
    padding:12px 14px;
    border-radius:14px;
    border:1px solid rgba(255,90,90,.2);
    background:rgba(255,90,90,.12);
    color:#ffd1d1;
    font-weight:800;
    cursor:pointer;
  }

  .builder-row{
    display:grid;
    grid-template-columns:1.2fr .7fr .8fr .7fr auto;
    gap:10px;
    align-items:end;
    margin-top:12px;
  }

  .builder-template-title{
    font-size:18px;
    font-weight:800;
  }

  .builder-template-meta{
    margin-top:6px;
    color:var(--muted);
    font-size:13px;
  }

  .timer-display{
    font-size:40px;
    font-weight:900;
    line-height:1;
    margin:8px 0 10px;
  }

  .timer-live{color:var(--warning)}

  .toggle-row{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:12px;
    color:#fff;
    font-size:14px;
    font-weight:700;
  }

  .toggle-row input{
    width:auto;
    height:auto;
    margin:0;
  }

  label{
    display:block;
    margin-top:10px;
    font-size:12px;
    color:var(--muted);
  }

  input,select,textarea{
    width:100%;
    margin-top:8px;
    padding:12px 14px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(255,255,255,.06);
    color:#fff;
    font-size:14px;
    font-family:inherit;
  }

  input,select{height:48px}
  textarea{
    min-height:96px;
    resize:vertical;
  }

  button.action{
    width:100%;
    padding:14px;
    margin-top:10px;
    border:none;
    border-radius:14px;
    font-weight:700;
    cursor:pointer;
    background:linear-gradient(135deg,var(--accent2),var(--accent));
    color:#07120d;
    transition:transform .15s ease, opacity .15s ease;
  }

  button.secondary,
  button.small-btn{
    padding:14px;
    margin-top:10px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.12);
    background:var(--secondary);
    color:#fff;
    cursor:pointer;
    font-weight:700;
    transition:transform .15s ease, opacity .15s ease;
  }

  button.small-btn{
    width:auto;
    padding:10px 14px;
    margin-top:0;
    font-size:13px;
  }

  button.action:active,
  button.secondary:active,
  button.small-btn:active,
  .set-delete:active,
  .chip-btn:active{
    transform:scale(.985);
    opacity:.92;
  }

  .history-item{cursor:pointer}

  .save-banner{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:130;
    background:linear-gradient(135deg,var(--accent2),var(--accent));
    color:#07120d;
    padding:12px 16px;
    border-radius:16px;
    font-weight:800;
    box-shadow:var(--shadow);
    display:none;
  }

  .drawer-overlay{
    position:fixed;
    inset:0;
    z-index:95;
    background:rgba(0,0,0,.45);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease, visibility .22s ease;
  }

  .drawer-overlay.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .drawer{
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    width:min(320px, 84vw);
    z-index:100;
    background:rgba(8,11,15,.96);
    border-right:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(16px);
    box-shadow:24px 0 60px rgba(0,0,0,.45);
    transform:translate3d(-100%,0,0);
    visibility:hidden;
    pointer-events:none;
    transition:transform .24s ease, visibility .24s ease;
    display:flex;
    flex-direction:column;
    padding:18px;
  }

  .drawer.open{
    transform:translate3d(0,0,0);
    visibility:visible;
    pointer-events:auto;
  }

  .drawer-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:18px;
  }

  .drawer-title{
    font-size:20px;
    font-weight:900;
  }

  .drawer-sub{
    margin-top:4px;
    font-size:12px;
    color:var(--muted);
  }

  .drawer-close{
    width:42px;
    height:42px;
    border:none;
    border-radius:14px;
    background:rgba(255,255,255,.08);
    color:#fff;
    cursor:pointer;
    font-size:18px;
  }

  .drawer-nav{
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .drawer-link{
    border:none;
    border-radius:18px;
    min-height:58px;
    background:transparent;
    color:#dce7f7;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 16px;
    font-size:15px;
    font-weight:800;
    text-align:left;
  }

  .drawer-link.active{
    background:linear-gradient(135deg,var(--accent2),var(--accent));
    color:#07120d;
  }

  .drawer-icon{
    width:22px;
    text-align:center;
    font-size:17px;
  }

  .drawer-foot{
    margin-top:auto;
    padding-top:16px;
    color:var(--muted);
    font-size:12px;
  }

  .modal-overlay{
    position:fixed;
    inset:0;
    z-index:120;
    background:rgba(0,0,0,.5);
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
  }

  .modal-overlay.open{display:flex}

  .modal-card{
    width:min(560px, 100%);
    background:rgba(8,11,15,.96);
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:18px;
    box-shadow:var(--shadow);
    backdrop-filter:blur(16px);
  }

  .summary-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:12px;
  }

  .collapsible-card{
    overflow:hidden;
  }

  .collapsible-card summary{
    list-style:none;
    cursor:pointer;
    font-weight:800;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    outline:none;
  }

  .collapsible-card summary::-webkit-details-marker{
    display:none;
  }

  .summary-arrow{
    font-size:18px;
    color:var(--muted);
    transition:transform .18s ease;
  }

  .collapsible-card[open] .summary-arrow{
    transform:rotate(90deg);
  }

  .collapsible-content{
    margin-top:12px;
  }

  .workout-flow-page{
    padding-bottom:190px;
  }

  .workout-primary-card{
    margin-top:12px;
  }

  .exercise-header-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
  }

  .exercise-description-box{
    margin-top:14px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
    padding:14px;
  }

  .workout-session-status-row{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:12px;
  }

  .workout-count-pill{
    background:rgba(46,204,113,.16);
    border:1px solid rgba(46,204,113,.22);
    color:#dffbea;
  }



  .sets-footer-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:14px;
  }

  .sticky-workout-bar{
    position:fixed;
    left:50%;
    transform:translateX(-50%);
    bottom:calc(10px + env(safe-area-inset-bottom, 0px));
    width:min(900px, calc(100% - 24px));
    z-index:125;
    padding:8px;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(8,11,15,.9);
    backdrop-filter:blur(16px);
    box-shadow:var(--shadow);
    display:none;
    grid-template-columns:1fr 1fr 1.15fr;
    gap:8px;
  }

  .sticky-workout-bar.show{
    display:grid;
  }

  .sticky-workout-bar .small-btn,
  .sticky-workout-bar .action{
    margin-top:0;
    width:100%;
  }

  .exercise-demo-panel{
    margin:16px 0 14px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:22px;
    overflow:hidden;
    background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  }

  .exercise-demo-image{
    display:block;
    width:100%;
    aspect-ratio: 16 / 10;
    object-fit:cover;
    image-rendering:auto;
    padding:10px;
    background:linear-gradient(180deg, rgba(10,14,20,.98), rgba(14,18,24,.98));
  }

  .exercise-demo-footer{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    padding:12px 14px 14px;
    background:rgba(255,255,255,.02);
    border-top:1px solid rgba(255,255,255,.06);
  }

  .exercise-demo-caption{
    color:var(--muted);
    font-size:12px;
    line-height:1.4;
  }

  .exercise-demo-layout{
    display:grid;
    grid-template-columns:minmax(0, 1.2fr) minmax(280px, .8fr);
    gap:14px;
    align-items:stretch;
    margin:16px 0 14px;
  }

  .exercise-demo-coach{
    border:1px solid rgba(255,255,255,.07);
    border-radius:22px;
    padding:16px;
    background:
      radial-gradient(circle at top right, rgba(0,229,168,.10), transparent 34%),
      linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
    display:flex;
    flex-direction:column;
    gap:14px;
  }

  .exercise-demo-coach-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
  }

  .exercise-demo-coach-title{
    font-size:18px;
    font-weight:900;
    line-height:1.1;
  }

  .exercise-demo-coach-subtitle{
    margin-top:6px;
    color:var(--muted);
    font-size:13px;
    line-height:1.35;
  }

  .exercise-muscle-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .exercise-muscle-tag{
    display:inline-flex;
    align-items:center;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(46,204,113,.12);
    border:1px solid rgba(46,204,113,.18);
    color:#dff9ea;
    font-size:12px;
    font-weight:800;
  }

  .exercise-coach-list{
    display:grid;
    gap:10px;
  }

  .exercise-coach-item{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.06);
    border-radius:16px;
    padding:12px;
  }

  .exercise-coach-item .exercise-mini-label{
    color:#b5c7df;
  }


  .exercise-library-card{
    background:rgba(22,28,36,.96);
    border:1px solid rgba(255,255,255,.08);
    border-radius:28px;
    padding:16px;
    box-shadow:var(--shadow);
  }

  .exercise-library-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
  }

  .exercise-library-title{
    font-size:32px;
    font-weight:900;
    line-height:1.05;
    margin-top:10px;
  }

  .exercise-library-subtitle{
    margin-top:8px;
    color:var(--muted);
    font-size:13px;
  }

  .exercise-library-header-actions{
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
  }

  .exercise-library-tabs{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
    padding:6px;
    border-radius:18px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.06);
    margin-bottom:16px;
  }

  .exercise-tab-btn{
    border:none;
    border-radius:14px;
    padding:12px 10px;
    background:transparent;
    color:#dbe7f7;
    cursor:pointer;
    font-weight:800;
    font-size:14px;
  }

  .exercise-tab-btn.active{
    background:rgba(255,255,255,.12);
    color:#fff;
  }

  .exercise-tab-panel{display:none}
  .exercise-tab-panel.active{display:block}

  .exercise-frames-card{
    background:#f4f5f7;
    border-radius:26px;
    padding:18px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:12px;
    align-items:center;
  }

  .exercise-frame{
    background:#fff;
    border:1px solid rgba(11,15,21,.08);
    border-radius:22px;
    padding:12px;
    min-height:300px;
    display:flex;
    flex-direction:column;
  }

  .exercise-frame-label{
    color:#4a5564;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:10px;
  }

  .exercise-frame-image{
    width:100%;
    height:270px;
    object-fit:cover;
    object-position:center center;
    display:block;
    background:#ffffff;
    border-radius:16px;
    padding:0;
    box-shadow:0 10px 22px rgba(0,0,0,.12);
    image-rendering:auto;
  }

  .exercise-frame-divider{
    color:rgba(255,255,255,.72);
    font-size:30px;
    font-weight:900;
    align-self:center;
  }

  .exercise-library-meta{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-top:14px;
  }

  .exercise-frame-caption{
    color:var(--muted);
    font-size:13px;
    max-width:420px;
  }

  .exercise-instructions-card,
  .exercise-history-card{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.06);
    border-radius:20px;
    padding:16px;
  }

  .exercise-instructions-card{margin-top:14px}

  .exercise-instructions-title{
    font-size:15px;
    font-weight:900;
    margin-bottom:10px;
  }

  .exercise-instructions-list{
    margin:0;
    padding-left:22px;
    display:flex;
    flex-direction:column;
    gap:12px;
    color:#f1f6ff;
  }

  .exercise-instructions-list li{
    line-height:1.45;
    font-size:15px;
  }

  .exercise-tab-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
  }

  .exercise-tab-block{
    margin-top:10px;
    color:#f1f6ff;
    font-size:14px;
    line-height:1.45;
  }

  .exercise-record-target{
    margin-top:10px;
    font-size:20px;
    font-weight:900;
    color:#fff;
  }

  .exercise-record-message{
    margin-top:10px;
    color:var(--muted);
    font-size:14px;
    line-height:1.45;
  }

  @media (max-width:700px){
    .exercise-demo-layout{
      grid-template-columns:1fr;
    }
  }

  .overload-card{
    background:
      radial-gradient(circle at top right, rgba(46,204,113,.16), transparent 36%),
      rgba(255,255,255,.05);
  }

  .overload-target{
    font-size:26px;
    font-weight:900;
    line-height:1.1;
    margin-top:8px;
  }

  .overload-status{
    margin-top:8px;
    font-size:13px;
    color:var(--muted);
  }

  .overload-chip-row{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:10px;
  }

  .overload-chip{
    display:inline-block;
    padding:7px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    background:rgba(255,255,255,.08);
    color:#dce7f7;
  }

  .analytics-dashboard-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:12px;
    margin-top:12px;
  }

  .chart-wrap{
    position:relative;
    margin-top:14px;
    min-height:220px;
    padding:12px;
    border-radius:18px;
    background:linear-gradient(180deg, rgba(10,14,22,.98), rgba(8,11,18,.98));
    border:1px solid rgba(255,255,255,.1);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  }

  .chart-wrap canvas{
    width:100%;
    height:220px;
    display:block;
    border-radius:14px;
    background:rgba(6,9,14,.92);
  }

  .analytics-empty{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:220px;
    color:#b9c8dd;
    font-size:13px;
    text-align:center;
    padding:12px;
  }

  .analytics-callout{
    margin-top:10px;
    color:var(--muted);
    font-size:13px;
  }

  @media (max-width:700px){
    .exercise-library-tabs,
    .exercise-tab-grid{
      grid-template-columns:1fr;
    }

    .exercise-frames-card{
      grid-template-columns:1fr;
    }

    .exercise-frame-divider{
      justify-self:center;
      transform:rotate(90deg);
    }

    .exercise-frame{
      min-height:220px;
    }

    .exercise-frame-image{
      height:200px;
    }

    .home-grid,
    .analytics-grid,
    .two-col-grid,
    .selector-grid,
    .readiness-grid,
    .builder-grid,
    .exercise-grid,
    .summary-grid,
    .fast-actions-grid,
    .compact-stats-grid,
    .nutrition-summary-grid,
    .nutrition-target-grid,
    .nutrition-form-grid,
    .barcode-scan-grid,
    .barcode-confirm-grid,
    .auto-build-grid{
      grid-template-columns:1fr;
    }

    .builder-row{grid-template-columns:1fr}
    .set-row{grid-template-columns:1fr}
    .set-number{
      width:100%;
      justify-content:flex-start;
      padding-left:14px;
    }

    .sticky-workout-bar{
      grid-template-columns:1fr;
      bottom:calc(8px + env(safe-area-inset-bottom, 0px));
    }
  }

  .nutrition-memory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}
  .nutrition-memory-panel{border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.035);padding:12px}
  .nutrition-memory-panel h4{margin:0 0 8px;font-size:14px}
  .nutrition-memory-list{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow:auto;padding-right:2px}
  .nutrition-memory-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px;background:rgba(0,0,0,.14)}
  .nutrition-memory-title{font-weight:800;font-size:13px}
  .nutrition-memory-meta{font-size:11px;opacity:.72;margin-top:2px}
  .barcode-free-flow{margin-top:12px;border:1px solid rgba(61,220,151,.22);border-radius:18px;background:linear-gradient(135deg,rgba(61,220,151,.12),rgba(255,255,255,.03));padding:12px}
  .barcode-free-flow strong{display:block;margin-bottom:4px}
  .barcode-primary-manual{border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:12px;margin-top:12px;background:rgba(255,255,255,.035)}
  .barcode-primary-manual label{font-weight:800}
  .barcode-primary-manual input{font-size:18px;letter-spacing:.04em}
  .barcode-camera-first-note{margin-top:10px;padding:11px 12px;border-radius:16px;background:rgba(0,229,168,.08);border:1px solid rgba(0,229,168,.16);color:var(--muted);font-size:13px;line-height:1.45}
  .barcode-manual-details{margin-top:12px;border-radius:18px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);overflow:hidden}
  .barcode-manual-details summary{cursor:pointer;padding:14px 14px;font-weight:950;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}
  .barcode-manual-details summary::-webkit-details-marker{display:none}
  .barcode-manual-details summary:after{content:"›";font-size:24px;color:var(--muted);transition:transform .18s ease}
  .barcode-manual-details[open] summary:after{transform:rotate(90deg)}
  .barcode-manual-details .barcode-manual-row{margin:0;padding:0 12px 12px;border:0;background:transparent}

  .nutrition-add-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
  .nutrition-add-choice{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);border-radius:18px;padding:14px;text-align:left;color:inherit;cursor:pointer;min-height:96px}
  .nutrition-add-choice strong{display:block;font-size:15px;margin-bottom:6px}
  .nutrition-add-choice span{display:block;font-size:12px;color:var(--muted)}
  .nutrition-add-choice:hover{background:rgba(255,255,255,.075);transform:translateY(-1px)}

  .nutrition-add-food-dropdown{margin:18px 0 26px;overflow:hidden}
  .nutrition-add-food-dropdown[open]{border-color:rgba(0,230,168,.32);box-shadow:0 18px 50px rgba(0,0,0,.24)}
  .nutrition-add-food-dropdown summary{min-height:72px}
  .barcode-meal-row{display:grid;grid-template-columns:minmax(180px,320px);gap:12px;margin:14px 0 16px}
  .barcode-meal-row select{width:100%}
  @media(max-width:720px){.nutrition-add-food-dropdown{margin:14px 0 22px}.barcode-meal-row{grid-template-columns:1fr}}

  .nutrition-add-mode-panel{display:none;margin-top:12px}
  .nutrition-add-mode-panel.is-active{display:block}
  .nutrition-add-mode-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 12px}
  .nutrition-add-mode-title{font-weight:800;font-size:14px}
  @media(max-width:720px){.nutrition-add-choice-grid{grid-template-columns:1fr}.nutrition-add-choice{min-height:auto}}

  /* Home Dashboard v4.3.0 */
  .home-dashboard-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(61,220,151,.18),rgba(255,255,255,.045) 52%,rgba(0,0,0,.18));}
  .home-dashboard-hero:before{content:"";position:absolute;inset:-120px -90px auto auto;width:240px;height:240px;border-radius:999px;background:rgba(61,220,151,.12);filter:blur(2px)}
  .home-hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:14px;align-items:stretch}
  .home-hero-title{margin:8px 0 4px;font-size:32px;letter-spacing:-.04em}
  .home-hero-sub{color:var(--muted);margin:0;line-height:1.45}
  .home-calorie-focus{border:1px solid rgba(255,255,255,.10);border-radius:22px;padding:14px;background:rgba(0,0,0,.18);display:flex;flex-direction:column;justify-content:space-between;min-height:160px}
  .home-calorie-number{font-size:38px;font-weight:900;line-height:1;letter-spacing:-.05em}
  .home-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
  .home-dash-card{border:1px solid rgba(255,255,255,.09);border-radius:20px;background:rgba(255,255,255,.04);padding:14px;min-height:108px}
  .home-dash-card .info-label{margin-bottom:8px}
  .home-dash-value{font-size:24px;font-weight:900;letter-spacing:-.04em}
  .home-progress-stack{display:flex;flex-direction:column;gap:10px;margin-top:12px}
  .home-progress-row{display:grid;grid-template-columns:72px 1fr 64px;gap:10px;align-items:center;font-size:12px;color:var(--muted)}
  .home-progress-row b{color:var(--text);font-size:13px}
  .home-progress-track{height:8px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden}
  .home-progress-fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,rgba(61,220,151,.9),rgba(255,255,255,.6));transition:width .25s ease}
  .home-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
  .home-quick-actions button{min-height:54px}
  .home-timeline{display:flex;flex-direction:column;gap:10px;margin-top:12px}
  .home-timeline-item{display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:10px;background:rgba(0,0,0,.12)}
  .home-timeline-icon{width:30px;height:30px;border-radius:12px;display:grid;place-items:center;background:rgba(61,220,151,.12);flex:0 0 auto}
  .home-timeline-title{font-weight:800;font-size:13px}
  .home-timeline-meta{font-size:12px;color:var(--muted);margin-top:2px}
  .home-dashboard-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
  @media(max-width:720px){.home-hero-grid,.home-dashboard-two-col{grid-template-columns:1fr}.home-dashboard-grid,.home-quick-actions{grid-template-columns:1fr}.home-hero-title{font-size:28px}.home-progress-row{grid-template-columns:64px 1fr 54px}.home-calorie-focus{min-height:auto}}

  /* v4.4.0 Cloud/Login foundation */
  .cloud-auth-card{
    margin-top:12px;
    border-color:rgba(0,229,168,.16);
    background:linear-gradient(135deg, rgba(0,229,168,.07), rgba(255,255,255,.035));
  }
  .cloud-auth-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
  .cloud-auth-title{font-size:16px;font-weight:950}
  .cloud-auth-status{
    display:inline-flex;align-items:center;gap:6px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.06);
    border-radius:999px;
    padding:7px 10px;
    font-size:12px;
    font-weight:900;
    color:var(--muted);
    white-space:nowrap;
  }
  .cloud-auth-status.good{color:#caffdd;border-color:rgba(46,204,113,.38);background:rgba(46,204,113,.12)}
  .cloud-auth-status.warn{color:#ffd166;border-color:rgba(255,209,102,.34);background:rgba(255,209,102,.10)}
  .cloud-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
  .cloud-auth-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
  .cloud-user-row{display:none;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}
  .cloud-user-email{font-weight:900;color:#eaf1ff}
  .cloud-sync-note{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.35}
  .cloud-auth-card.is-logged-in .cloud-auth-grid,
  .cloud-auth-card.is-logged-in .cloud-auth-actions.auth-actions{display:none}
  .cloud-auth-card.is-logged-in .cloud-user-row{display:flex}
  @media(max-width:720px){.cloud-auth-grid{grid-template-columns:1fr}.cloud-auth-head{flex-direction:column}.cloud-auth-status{align-self:flex-start}}


  /* v5.0.1 Alignment Patch: bodyweight, daily score, guided experience and smarter nutrition targets */
  .alignment-card{border-color:rgba(0,229,168,.16);background:linear-gradient(145deg,rgba(0,229,168,.06),rgba(255,255,255,.035));}
  .alignment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
  .daily-score-card{position:relative;overflow:hidden}
  .daily-score-card:before{content:"";position:absolute;right:-50px;top:-65px;width:180px;height:180px;border-radius:50%;background:rgba(0,229,168,.12);filter:blur(2px)}
  .daily-score-ring{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent2) 0deg,var(--accent) var(--scoreDeg,0deg),rgba(255,255,255,.08) var(--scoreDeg,0deg));box-shadow:0 0 28px rgba(0,229,168,.12);position:relative}
  .daily-score-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#10151a;border:1px solid rgba(255,255,255,.08)}
  .daily-score-ring span{position:relative;z-index:1;font-size:34px;font-weight:950;color:#fff}
  .score-breakdown{display:grid;gap:9px;margin-top:12px}
  .score-row{display:grid;grid-template-columns:95px 1fr 42px;gap:10px;align-items:center;color:var(--muted);font-size:13px;font-weight:800}
  .mini-track{height:8px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}.mini-fill{height:100%;width:0%;background:linear-gradient(135deg,var(--accent2),var(--accent));border-radius:99px}
  .guided-list{display:grid;gap:10px;margin-top:12px}.guided-step{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}.guided-step-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:rgba(0,229,168,.12);border:1px solid rgba(0,229,168,.2)}.guided-step-title{font-weight:950}.guided-step-meta{color:var(--muted);font-size:12px;margin-top:3px;line-height:1.35}
  .bodyweight-log-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:12px}.bodyweight-history{display:grid;gap:8px;margin-top:12px}.bodyweight-history-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);font-size:13px}.bodyweight-trend{font-size:24px;font-weight:950;margin-top:6px}.smart-target-form{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.smart-target-result{margin-top:12px;padding:12px;border-radius:16px;background:rgba(0,229,168,.06);border:1px solid rgba(0,229,168,.15);color:#dfffee;line-height:1.45}
  @media(max-width:720px){.alignment-grid{grid-template-columns:1fr}.bodyweight-log-grid,.smart-target-form{grid-template-columns:1fr}.score-row{grid-template-columns:82px 1fr 38px}}

  .home-more-dropdown{margin-top:12px;border-color:rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(0,229,168,.035));}
  .home-more-dropdown summary h3{margin:0;font-size:20px}
  .home-more-dropdown summary .pill{margin-left:auto}
  .home-more-content{display:grid;gap:12px}
  .home-nested-card{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.07);box-shadow:none}
  .home-more-two-col{margin-top:0}
  .home-more-stats{margin-top:0}
  @media(max-width:720px){.home-more-dropdown summary{align-items:flex-start}.home-more-dropdown summary .pill{display:none}}


/* v5.2 Progress & Analytics additions */
.v52-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.v52-insight-card{padding:18px;border-radius:22px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1)}
.v52-insight-card h4{margin:0 0 8px;font-size:16px;color:var(--text)}
.v52-big-number{font-size:34px;line-height:1;font-weight:900;letter-spacing:-.04em;color:var(--text)}
.v52-sub{color:var(--muted);font-weight:650;margin-top:8px}
.v52-pr-list{display:grid;gap:12px;margin-top:14px}
.v52-pr-row{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.v52-pr-row strong{color:var(--text)}
.v52-pr-row span{color:var(--muted);font-weight:700}
.v52-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.v52-muscle-chip{padding:12px 14px;border-radius:999px;background:rgba(0,229,168,.09);border:1px solid rgba(0,229,168,.22);color:var(--text);font-weight:800}
.v52-weekly-summary{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px}
.v52-coach-note{padding:18px;border-radius:22px;background:linear-gradient(135deg,rgba(0,229,168,.13),rgba(255,255,255,.04));border:1px solid rgba(0,229,168,.2);color:var(--muted);font-weight:700;line-height:1.35}
@media(max-width:900px){.v52-insight-grid,.v52-weekly-summary{grid-template-columns:1fr}.v52-pr-row{grid-template-columns:1fr}.v52-pr-row span{text-align:left!important}}

/* v5.2.2 Workout Tab Simplification */
.simplified-workout-page{display:flex;flex-direction:column;gap:18px;}
.workout-session-header{padding:24px;}
.workout-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.workout-header-bottom{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:18px;align-items:end;margin-top:16px;}
.workout-start-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.workout-start-card{appearance:none;border:1px solid rgba(255,255,255,.11);text-align:left;cursor:pointer;color:inherit;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;background:linear-gradient(150deg,rgba(24,34,36,.96),rgba(12,15,19,.96));transition:transform .18s ease,border-color .18s ease,background .18s ease;}
.workout-start-card:hover{transform:translateY(-2px);border-color:rgba(24,224,150,.4);background:linear-gradient(150deg,rgba(20,54,45,.98),rgba(12,15,19,.98));}
.workout-start-card.primary-start{background:linear-gradient(150deg,rgba(7,228,166,.22),rgba(12,15,19,.96));border-color:rgba(24,224,150,.35);}
.workout-start-card strong{font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.05;}
.workout-start-card small{font-size:1rem;color:var(--muted);line-height:1.35;}
.start-card-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:900;font-size:.85rem;}
.active-logger-card{padding:24px;}
.compact-selector-grid{margin-top:16px;}
.sets-logger-panel{margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);}
.workout-accordion-stack{display:flex;flex-direction:column;gap:14px;}
.workout-accordion-stack .collapsible-card summary{align-items:center;}
.workout-accordion-stack .collapsible-card summary>div{display:flex;flex-direction:column;gap:4px;}
.compact-exercise-library-card{margin-top:14px;}
@media(max-width:820px){.workout-start-grid{grid-template-columns:1fr;}.workout-header-bottom{grid-template-columns:1fr;}.workout-header-actions{justify-content:flex-start;}.set-actions{width:100%;}.set-actions button{flex:1;}.workout-start-card{min-height:118px;}}


/* v5.2.2 Home Visibility Fix
   Keep non-active tabs out of the Home feed.
   v5.2.2 introduced .simplified-workout-page{display:flex}, which overrode .page{display:none}. */
section.page:not(.active){
  display:none !important;
}
section.page.active.simplified-workout-page{
  display:flex !important;
  flex-direction:column;
  gap:18px;
}
section.page.active:not(.simplified-workout-page){
  display:block;
}



/* v5.3 Programme Templates */
.programme-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;}
.programme-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;min-height:260px;padding:22px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(8,36,29,.88),rgba(18,20,24,.96));border-radius:26px;text-align:left;color:var(--text);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.programme-card:hover{transform:translateY(-2px);border-color:rgba(0,232,169,.45);box-shadow:0 18px 40px rgba(0,0,0,.28),0 0 0 1px rgba(0,232,169,.08) inset;}
.programme-card:focus-visible{outline:3px solid rgba(0,232,169,.6);outline-offset:3px;}
.programme-card::after{content:"";position:absolute;right:-42px;top:-48px;width:150px;height:150px;border-radius:999px;background:rgba(0,232,169,.13);filter:blur(2px);}
.programme-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:900;font-size:.78rem;}
.programme-title{font-size:clamp(1.35rem,2vw,2rem);font-weight:950;line-height:1.02;position:relative;z-index:1;}
.programme-desc{color:var(--muted);line-height:1.35;font-weight:650;position:relative;z-index:1;}
.programme-meta-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;position:relative;z-index:1;}
.programme-meta-row .pill{font-size:.84rem;}
.programme-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1;}
.programme-actions button{width:auto;min-width:130px;}
.current-plan-card{margin-top:14px;border-color:rgba(0,232,169,.24);}
.current-plan-content{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:stretch;margin-top:12px;}
.current-plan-focus{padding:16px;border-radius:22px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);}
.programme-week-list{display:grid;gap:8px;}
.programme-week-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);color:var(--muted);font-weight:750;}
.programme-week-item b{color:var(--text);}
@media(max-width:980px){.programme-library-grid{grid-template-columns:1fr 1fr}.current-plan-content{grid-template-columns:1fr}}
@media(max-width:680px){.programme-library-grid{grid-template-columns:1fr}.programme-card{min-height:220px}.programme-actions button{width:100%;}}
/* v5.3.1 Builder Declutter */
.builder-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 18px;}
.builder-tab-btn{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:var(--muted);border-radius:999px;padding:12px 18px;font-weight:950;cursor:pointer;}
.builder-tab-btn.active{background:linear-gradient(135deg,rgba(0,232,169,.95),rgba(51,209,122,.9));color:#04110e;border-color:transparent;box-shadow:0 12px 34px rgba(0,232,169,.12);}
.builder-tab-panel{display:none;}
.builder-tab-panel.active{display:block;}
.builder-mode-card{margin-bottom:18px;}
.builder-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;}
.builder-mode-mini{padding:16px;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);}
.builder-mode-mini b{display:block;color:var(--text);font-size:1.05rem;margin-bottom:4px;}
.builder-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.builder-filter-chip{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.045);color:var(--muted);border-radius:999px;padding:9px 13px;font-weight:900;cursor:pointer;}
.builder-filter-chip.active{background:rgba(0,232,169,.16);border-color:rgba(0,232,169,.48);color:var(--text);}
.programme-card.compact{min-height:auto;cursor:default;}
.programme-card.compact::after{width:110px;height:110px;right:-38px;top:-44px;}
.programme-card.compact .programme-actions{margin-top:2px;}
.programme-view-btn{min-width:90px!important;}
.programme-detail{display:none;margin-top:4px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);position:relative;z-index:1;}
.programme-card.expanded .programme-detail{display:block;}
.programme-detail h4{margin:0 0 8px;font-size:.95rem;color:var(--text);}
.programme-detail-list{display:grid;gap:7px;margin:8px 0 12px;}
.programme-detail-list div{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.035);color:var(--muted);font-weight:750;}
.programme-detail-list b{color:var(--text);}
@media(max-width:900px){.builder-mode-grid{grid-template-columns:1fr}.builder-tab-btn{flex:1}.programme-library-grid{grid-template-columns:1fr!important}}




  /* v5.3.4 Cloud dropdown fix: keep cloud auth as a compact floating menu, not a full page card */
  .topbar{overflow:visible!important;}
  .cloud-top-wrap{position:relative!important;margin-left:auto!important;flex:0 0 auto!important;}
  #cloudAuthCard.cloud-popover{
    position:fixed!important;
    top:76px!important;
    right:18px!important;
    left:auto!important;
    width:min(360px, calc(100vw - 32px))!important;
    max-height:calc(100dvh - 92px)!important;
    overflow:auto!important;
    z-index:99999!important;
    display:none!important;
    margin:0!important;
    padding:14px!important;
    border-radius:22px!important;
    background:rgba(13,18,22,.985)!important;
    border:1px solid rgba(255,209,102,.30)!important;
    box-shadow:0 24px 80px rgba(0,0,0,.72)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }
  #cloudAuthCard.cloud-popover.open{display:block!important;}
  #cloudAuthCard.cloud-popover .cloud-auth-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;}
  #cloudAuthCard.cloud-popover .cloud-auth-title{font-size:18px!important;line-height:1.1!important;margin:0!important;}
  #cloudAuthCard.cloud-popover .section-subtitle{font-size:12px!important;line-height:1.35!important;margin-top:4px!important;max-width:230px!important;}
  #cloudAuthCard.cloud-popover .cloud-auth-status{font-size:11px!important;padding:7px 9px!important;}
  #cloudAuthCard.cloud-popover .cloud-auth-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:12px!important;}
  #cloudAuthCard.cloud-popover label{font-size:12px!important;margin-bottom:5px!important;}
  #cloudAuthCard.cloud-popover input{width:100%!important;min-height:48px!important;font-size:15px!important;border-radius:16px!important;padding:0 14px!important;}
  #cloudAuthCard.cloud-popover .cloud-auth-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:12px!important;}
  #cloudAuthCard.cloud-popover .cloud-auth-actions.auth-actions{display:grid!important;grid-template-columns:1fr 1fr!important;}
  #cloudAuthCard.cloud-popover #cloudLoginBtn{grid-column:1 / -1!important;width:100%!important;min-height:50px!important;}
  #cloudAuthCard.cloud-popover .cloud-auth-actions button{width:100%!important;min-height:46px!important;padding:0 12px!important;border-radius:16px!important;font-size:14px!important;}
  #cloudAuthCard.cloud-popover .cloud-sync-note{font-size:12px!important;line-height:1.35!important;margin-top:10px!important;}
  #cloudAuthCard.cloud-popover .cloud-user-row{display:none!important;gap:10px!important;margin-top:12px!important;}
  #cloudAuthCard.cloud-popover.is-logged-in .cloud-auth-grid,
  #cloudAuthCard.cloud-popover.is-logged-in .cloud-auth-actions.auth-actions{display:none!important;}
  #cloudAuthCard.cloud-popover.is-logged-in .cloud-user-row{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
  #cloudAuthCard.cloud-popover.is-logged-in .cloud-user-row .cloud-auth-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;}
  @media(max-width:520px){
    #cloudAuthCard.cloud-popover{top:68px!important;right:10px!important;width:calc(100vw - 20px)!important;border-radius:20px!important;}
    #cloudAuthCard.cloud-popover .cloud-auth-actions,
    #cloudAuthCard.cloud-popover .cloud-auth-actions.auth-actions{grid-template-columns:1fr!important;}
  }

  /* v5.3.6 Nutrition Tab Redesign */
  .nutrition-page-redesign{display:none;flex-direction:column;gap:16px}
  .nutrition-page-redesign.active{display:flex}
  .nutrition-cockpit-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:stretch;padding:28px;overflow:hidden;background:radial-gradient(circle at 72% -10%, rgba(0,229,168,.22), transparent 36%),linear-gradient(135deg, rgba(0,229,168,.12), rgba(255,255,255,.025) 52%, rgba(0,0,0,.16));border-color:rgba(0,229,168,.20);box-shadow:0 28px 80px rgba(0,0,0,.28)}
  .nutrition-cockpit-copy h2{font-size:clamp(40px,6vw,76px);line-height:.92;margin:14px 0 8px;letter-spacing:-.06em}
  .nutrition-cockpit-copy p{margin:0;color:var(--muted);font-weight:800;font-size:18px}
  .nutrition-hero-coach{margin-top:18px;max-width:680px;color:var(--text);font-weight:800;line-height:1.35;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px 16px}
  .nutrition-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.nutrition-hero-actions .action,.nutrition-hero-actions .secondary{width:auto;min-width:150px}
  .nutrition-cockpit-meter{display:flex;flex-direction:column;justify-content:space-between;gap:14px;border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:18px;background:rgba(0,0,0,.18)}
  .nutrition-calorie-dial{min-height:220px;border-radius:28px;display:grid;place-items:center;background:conic-gradient(var(--accent) 0deg, rgba(255,255,255,.10) 0deg);box-shadow:inset 0 0 0 18px rgba(0,0,0,.22)}
  .nutrition-calorie-dial>div{width:148px;height:148px;border-radius:50%;background:rgba(8,12,16,.96);display:grid;place-items:center;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.35)}
  .nutrition-calorie-dial strong{font-size:34px;line-height:1}.nutrition-calorie-dial span{font-size:12px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em}
  .nutrition-hero-macros{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.nutrition-hero-macros div{padding:12px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07)}
  .nutrition-hero-macros span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:900}.nutrition-hero-macros b{display:block;margin-top:5px;font-size:18px}
  .nutrition-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.nutrition-quick-card{text-align:left;color:var(--text);border:1px solid rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02));border-radius:24px;padding:18px;cursor:pointer;min-height:132px}.nutrition-quick-card.is-primary{border-color:rgba(0,229,168,.35);background:linear-gradient(145deg,rgba(0,229,168,.18),rgba(255,255,255,.025))}.nutrition-quick-card span{display:block;font-size:24px;margin-bottom:12px}.nutrition-quick-card strong{display:block;font-size:20px;letter-spacing:-.03em}.nutrition-quick-card em{display:block;margin-top:6px;color:var(--muted);font-style:normal;font-weight:800;line-height:1.3}
  .nutrition-macro-strip{margin-top:0}.nutrition-macro-strip .card{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.075)}
  .nutrition-meal-timeline-card{margin-top:0}.nutrition-meal-timeline .nutrition-meal-section{padding:14px;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border-color:rgba(255,255,255,.085)}
  .nutrition-meal-timeline .nutrition-meal-header{padding-bottom:12px}.nutrition-meal-timeline .nutrition-meal-title{font-size:18px;letter-spacing:-.02em}.nutrition-meal-timeline .nutrition-meal-total{font-size:13px}
  @media(max-width:900px){.nutrition-cockpit-hero{grid-template-columns:1fr}.nutrition-quick-grid{grid-template-columns:repeat(2,1fr)}.nutrition-hero-actions .action,.nutrition-hero-actions .secondary{flex:1}.nutrition-calorie-dial{min-height:180px}}
  @media(max-width:560px){.nutrition-cockpit-hero{padding:20px;border-radius:26px}.nutrition-quick-grid{grid-template-columns:1fr}.nutrition-hero-macros{grid-template-columns:1fr}.nutrition-cockpit-copy h2{font-size:42px}}



  /* v5.3.10 Nutrition spacing polish */
  .nutrition-cockpit-hero{
    margin-bottom:24px!important;
  }
  .nutrition-quick-grid{
    margin:0 0 30px!important;
    gap:18px!important;
    align-items:stretch;
  }
  .nutrition-quick-card{
    min-height:118px!important;
    padding:20px 22px!important;
    border-radius:24px!important;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }
  .nutrition-quick-card span{
    margin-bottom:14px!important;
  }
  .nutrition-quick-card strong{
    line-height:1.08;
  }
  .nutrition-quick-card em{
    margin-top:10px!important;
  }
  #nutrition .section-title,
  #nutrition .eyebrow{
    margin-top:20px;
  }
  #nutrition .nutrition-quick-grid + .eyebrow,
  #nutrition .nutrition-quick-grid + .section-title{
    margin-top:28px!important;
  }
  @media(max-width:900px){
    .nutrition-quick-grid{
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
      margin-bottom:26px!important;
    }
  }
  @media(max-width:560px){
    .nutrition-cockpit-hero{
      margin-bottom:18px!important;
    }
    .nutrition-quick-grid{
      grid-template-columns:1fr!important;
      gap:14px!important;
    }
    .nutrition-quick-card{
      min-height:104px!important;
      padding:18px!important;
    }
  }


  /* v5.4 Adaptive Nutrition Coach */
  .adaptive-coach-card{background:radial-gradient(circle at 88% 8%,rgba(0,229,168,.20),transparent 34%),linear-gradient(145deg,rgba(0,229,168,.09),rgba(255,255,255,.025));border-color:rgba(0,229,168,.22)!important;}
  .adaptive-coach-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;}
  .adaptive-coach-tile{padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18);}
  .adaptive-coach-tile span{display:block;color:var(--muted);font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:11px;margin-bottom:8px;}
  .adaptive-coach-tile b{display:block;font-size:22px;letter-spacing:-.04em;}
  .adaptive-coach-text{margin-top:10px;line-height:1.5;color:var(--muted);font-weight:750;}
  .adaptive-coach-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}
  .adaptive-coach-actions .action,.adaptive-coach-actions .secondary{width:auto;min-width:180px;}
  @media(max-width:900px){.adaptive-coach-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
  @media(max-width:560px){.adaptive-coach-grid{grid-template-columns:1fr}.adaptive-coach-actions .action,.adaptive-coach-actions .secondary{width:100%;}}


/* ---- extracted style block ---- */


  .food-search-panel{display:none;margin-top:14px;}
  .food-search-panel.is-active{display:block;}
  .food-search-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(120px,.55fr) minmax(110px,.45fr);gap:10px;align-items:end;margin-top:14px;}
  .food-search-row input,.food-search-row select{height:48px;}
  .food-search-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;color:var(--muted);font-weight:800;font-size:12px;}
  .food-search-meta span{border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.16);border-radius:999px;padding:6px 9px;}
  .food-result-list{display:grid;gap:10px;margin-top:14px;}
  .food-result-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:18px;padding:13px;}
  .food-result-card:hover{border-color:rgba(0,229,168,.28);background:rgba(0,229,168,.055);}
  .food-result-title{font-weight:950;line-height:1.15;}
  .food-result-brand{color:var(--muted);font-weight:850;font-size:12px;margin-top:4px;}
  .food-result-macros{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;}
  .food-result-macros span{display:inline-flex;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18);border-radius:999px;padding:5px 8px;color:var(--muted);font-weight:900;font-size:12px;}
  .food-result-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:110px;}
  .food-result-actions .small-btn,.food-result-actions .secondary{justify-content:center;}
  .food-empty-state{border:1px dashed rgba(255,255,255,.14);background:rgba(255,255,255,.025);border-radius:18px;padding:16px;color:var(--muted);font-weight:800;line-height:1.45;}
  .food-search-help{margin-top:12px;padding:12px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);color:var(--muted);font-weight:750;line-height:1.45;}
  .food-search-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
  .food-search-chip{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);color:var(--text);border-radius:999px;padding:8px 10px;font-size:12px;font-weight:900;cursor:pointer;}
  .food-search-chip.active{background:linear-gradient(135deg,var(--green),var(--green2));color:#04120e;border-color:transparent;}
  .food-search-online-note{font-size:12px;color:var(--muted);font-weight:750;margin-top:8px;}
  @media(max-width:720px){.food-search-row{grid-template-columns:1fr}.food-result-card{grid-template-columns:1fr}.food-result-actions{flex-direction:row;min-width:0}.food-result-actions .small-btn,.food-result-actions .secondary{flex:1}}

  /* v5.4.2 real API source polish */
  .food-result-card{grid-template-columns:auto 1fr auto;}
  .food-result-img{width:52px;height:52px;border-radius:14px;object-fit:cover;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);}
  .food-source-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
  .food-source-pill,.food-quality-pill{display:inline-flex;align-items:center;border:1px solid rgba(0,229,168,.18);background:rgba(0,229,168,.08);border-radius:999px;padding:4px 8px;color:var(--green);font-size:11px;font-weight:950;}
  .food-quality-pill{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.035);color:var(--muted);}
  .food-quality-pill.warn{border-color:rgba(255,193,7,.26);background:rgba(255,193,7,.08);color:#ffd56b;}
  .api-food-result{border-color:rgba(0,229,168,.16);}
  @media(max-width:720px){.food-result-card{grid-template-columns:1fr}.food-result-img{width:64px;height:64px}.food-result-actions{flex-direction:row;min-width:0}}


/* ---- extracted style block ---- */


  .nutrition-cockpit-copy .nutrition-hero-actions{display:none!important}
  .nutrition-macro-strip{position:relative}
  .nutrition-macro-strip::before{content:"Today's macros";grid-column:1/-1;color:var(--muted);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 -4px 2px}
  .nutrition-add-food-dropdown > summary span:first-child::before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;border-radius:999px;background:linear-gradient(135deg,var(--green),var(--green2));color:#04120e;font-weight:950}
  .nutrition-add-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .nutrition-add-choice strong{font-size:14px}
  .nutrition-meal-total{display:flex!important;flex-wrap:wrap;gap:6px;align-items:center}
  .nutrition-meal-total span{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);padding:4px 8px;border-radius:999px}
  .nutrition-details-dropdown .nutrition-target-grid{grid-template-columns:repeat(2,1fr)}
  @media(max-width:720px){.nutrition-add-choice-grid{grid-template-columns:1fr!important}.nutrition-details-dropdown .nutrition-target-grid{grid-template-columns:1fr}}

  /* v5.4 Adaptive Nutrition Coach */
  .adaptive-coach-card{background:radial-gradient(circle at 88% 8%,rgba(0,229,168,.20),transparent 34%),linear-gradient(145deg,rgba(0,229,168,.09),rgba(255,255,255,.025));border-color:rgba(0,229,168,.22)!important;}
  .adaptive-coach-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;}
  .adaptive-coach-tile{padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18);}
  .adaptive-coach-tile span{display:block;color:var(--muted);font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:11px;margin-bottom:8px;}
  .adaptive-coach-tile b{display:block;font-size:22px;letter-spacing:-.04em;}
  .adaptive-coach-text{margin-top:10px;line-height:1.5;color:var(--muted);font-weight:750;}
  .adaptive-coach-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}
  .adaptive-coach-actions .action,.adaptive-coach-actions .secondary{width:auto;min-width:180px;}
  @media(max-width:900px){.adaptive-coach-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
  @media(max-width:560px){.adaptive-coach-grid{grid-template-columns:1fr}.adaptive-coach-actions .action,.adaptive-coach-actions .secondary{width:100%;}}


/* ---- extracted style block ---- */


  .v55-coach-panel{margin:18px 0 14px;padding:16px;border-radius:22px;border:1px solid rgba(0,229,168,.18);background:radial-gradient(circle at 100% 0%,rgba(0,229,168,.16),transparent 35%),rgba(255,255,255,.035)}
  .v55-coach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.v55-coach-tile{border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.16);border-radius:16px;padding:12px;min-height:84px}.v55-coach-tile span{display:block;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px}.v55-coach-tile b{display:block;color:var(--text);font-size:16px;line-height:1.25}.v55-coach-tile small{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:4px}
  .v55-fast-bar{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 2px}.v55-fast-bar button,.v55-set-done,.v55-row-mini{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.055);color:var(--text);border-radius:14px;font-weight:900;padding:10px 12px;cursor:pointer}.v55-fast-bar button:hover,.v55-row-mini:hover{border-color:rgba(0,229,168,.35);background:rgba(0,229,168,.10)}
  .v55-set-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v55-set-done{background:linear-gradient(135deg,var(--green),var(--green2));color:#04120e;border:none;min-width:76px}.v55-row-mini{padding:8px 10px;font-size:12px}.set-row.v55-complete{border-color:rgba(0,229,168,.35)!important;background:rgba(0,229,168,.08)!important}.set-row.v55-complete .set-number{background:rgba(0,229,168,.18);color:#dffff5}
  .v55-rest-pill{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:1200;display:none;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid rgba(0,229,168,.28);background:rgba(7,15,17,.94);box-shadow:0 16px 50px rgba(0,0,0,.4);backdrop-filter:blur(14px)}.v55-rest-pill.active{display:flex}.v55-rest-pill b{font-size:18px;color:var(--text);font-variant-numeric:tabular-nums}.v55-rest-pill span{font-size:12px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.v55-rest-pill button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:var(--text);border-radius:999px;padding:7px 10px;font-weight:900}
  .v55-summary-extra{margin-top:14px;padding:14px;border-radius:18px;border:1px solid rgba(0,229,168,.18);background:rgba(0,229,168,.06);color:var(--muted);line-height:1.5;font-weight:750}.v55-summary-extra b{color:var(--text)}
  @media(max-width:900px){.v55-coach-grid{grid-template-columns:1fr}.v55-fast-bar button{flex:1 1 calc(50% - 8px)}.v55-set-tools{grid-column:1/-1}.set-row{grid-template-columns:1fr!important}.v55-rest-pill{left:12px;right:12px;transform:none;justify-content:space-between}}
  /* v5.5.1 Rest Timer Dropdown */
  .workout-inline-dropdown{margin-top:14px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.035);overflow:hidden;}
  .workout-inline-dropdown summary{list-style:none;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:13px 14px;cursor:pointer;}
  .workout-inline-dropdown summary::-webkit-details-marker{display:none;}
  .workout-inline-dropdown[open]{border-color:rgba(0,229,168,.22);background:rgba(0,229,168,.045);}
  .rest-timer-summary-value{font-weight:900;color:var(--text);font-variant-numeric:tabular-nums;padding:7px 10px;border-radius:999px;background:rgba(0,229,168,.10);border:1px solid rgba(0,229,168,.16);}
  .rest-timer-dropdown-content{padding:0 14px 14px;}
  .compact-timer-display{font-size:clamp(1.8rem,4vw,2.5rem);margin-top:4px;}
  .compact-timer-presets,.compact-timer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
  .compact-rest-toggle{margin-top:12px;}



/* ---- extracted style block ---- */


  .cloud-sync-scope{margin-top:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(0,229,168,.16);background:rgba(0,229,168,.055);color:var(--muted);font-size:12px;line-height:1.4;font-weight:750}
  .cloud-sync-scope b{color:var(--text)}

/* v5.6.3 Mobile View Polish
   Keeps desktop layout intact, but makes phone screens feel less cramped and more app-like. */
@media (max-width: 720px){
  html{
    scroll-padding-top: 76px;
  }

  body{
    background:
      radial-gradient(circle at 50% -90px, rgba(0,229,168,.11), transparent 260px),
      linear-gradient(180deg, #070a0e 0%, #05070a 100%);
  }

  .app{
    width:100%;
    max-width:none;
    padding:10px 12px calc(96px + env(safe-area-inset-bottom, 0px));
  }

  .topbar{
    margin:0 -12px 4px;
    padding:8px 12px 12px;
    border-bottom:1px solid rgba(255,255,255,.05);
  }

  .menu-btn,
  .cloud-icon-btn{
    width:44px;
    height:44px;
    border-radius:15px;
  }

  .topbar-title{
    font-size:14px;
    max-width:calc(100vw - 128px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .cloud-popover{
    position:fixed;
    top:62px;
    left:10px;
    right:10px;
    width:auto;
    max-height:calc(100svh - 86px);
    overflow:auto;
    border-radius:22px;
    padding:14px;
  }

  .card{
    border-radius:22px;
    padding:14px;
    margin-top:10px;
    box-shadow:0 10px 24px rgba(0,0,0,.22);
  }

  .hero{
    min-height:174px;
    border-radius:22px;
  }

  .hero h2,
  .home-hero-title,
  .exercise-library-title{
    font-size:clamp(26px, 8vw, 32px);
    letter-spacing:-.04em;
  }

  .section-subtitle,
  .muted,
  .session-meta{
    font-size:13px;
    line-height:1.45;
  }

  button.action,
  button.secondary,
  button.small-btn,
  input,
  select,
  textarea,
  .chip-btn,
  .meal-chip{
    min-height:46px;
    font-size:15px;
  }

  button.small-btn{
    padding:11px 12px;
  }

  .home-quick-actions{
    grid-template-columns:1fr;
    gap:9px;
  }

  .home-quick-actions button{
    min-height:52px;
  }

  .image-tile{
    min-height:118px;
    border-radius:22px;
  }

  .image-tile-content{
    padding:14px;
  }

  .image-tile-content h3,
  .current-exercise-title,
  .exercise-visual-title{
    font-size:21px;
    line-height:1.12;
  }

  .stat-value,
  .analytics-value{
    font-size:clamp(28px, 11vw, 40px);
  }

  .home-dashboard-hero{
    padding:16px;
  }

  .home-hero-grid{
    gap:12px;
  }

  .home-calorie-focus{
    min-height:126px;
    padding:13px;
  }

  .home-calorie-number{
    font-size:clamp(34px, 14vw, 52px);
  }

  .home-dashboard-grid,
  .analytics-dashboard-grid,
  .nutrition-mini-insights,
  .nutrition-memory-grid{
    gap:10px;
  }

  .home-dash-card{
    min-height:auto;
    padding:13px;
  }

  .nutrition-hero{
    padding:16px;
  }

  .nutrition-hero h2{
    font-size:24px;
  }

  .nutrition-cockpit-hero,
  .nutrition-cockpit,
  .nutrition-hero .home-hero-grid{
    grid-template-columns:1fr !important;
  }

  .nutrition-hero .home-calorie-number,
  .nutrition-hero .stat-value,
  .nutrition-cockpit-kcal,
  .nutrition-cockpit-title{
    font-size:clamp(42px, 17vw, 68px) !important;
    line-height:.95;
    word-break:normal;
  }

  .nutrition-summary-grid,
  .nutrition-target-grid,
  .nutrition-form-grid,
  .barcode-macro-row,
  .barcode-diagnostics{
    grid-template-columns:1fr 1fr !important;
  }

  .nutrition-form-grid > *:first-child,
  .nutrition-summary-grid > *:first-child{
    grid-column:1 / -1;
  }

  .nutrition-add-choice-grid{
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:12px 0;
  }

  .nutrition-add-choice{
    min-height:118px;
    padding:13px;
    border-radius:20px;
  }

  .nutrition-add-choice strong{
    font-size:18px;
    line-height:1.12;
  }

  .nutrition-add-choice span{
    font-size:12px;
    line-height:1.35;
  }

  .nutrition-add-choice-grid .nutrition-add-choice:nth-child(1){
    grid-column:1 / -1;
  }

  .nutrition-meal-header{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }

  .nutrition-meal-header-actions,
  .nutrition-log-actions,
  .nutrition-empty-cta{
    width:100%;
    justify-content:stretch;
  }

  .nutrition-meal-header-actions button,
  .nutrition-log-actions button,
  .nutrition-empty-cta button{
    flex:1 1 auto;
  }

  .nutrition-log-item{
    gap:10px;
    padding:11px;
  }

  .nutrition-log-quantity{
    justify-content:flex-start;
    flex-wrap:wrap;
  }

  .barcode-product-top{
    grid-template-columns:58px 1fr;
  }

  .barcode-product-img{
    width:58px;
    height:58px;
    border-radius:14px;
  }

  .barcode-video-wrap{
    aspect-ratio:4 / 3;
  }

  .set-row,
  .builder-row{
    gap:9px;
    padding:11px;
    border-radius:18px;
  }

  .set-number{
    height:42px;
    border-radius:13px;
  }

  .set-delete{
    width:100%;
    min-width:0;
  }

  .v55-fast-bar{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .v55-fast-bar button{
    width:100%;
    min-height:44px;
  }

  .v55-set-tools{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }

  .v55-set-tools button{
    width:100%;
  }

  .workout-inline-dropdown summary{
    grid-template-columns:1fr auto;
    min-height:58px;
  }

  .workout-inline-dropdown summary .summary-arrow{
    grid-column:2;
  }

  .rest-timer-summary-value{
    grid-column:1 / -1;
    justify-self:start;
  }

  .compact-timer-presets,
  .compact-timer-actions,
  .sets-footer-actions,
  .session-actions,
  .timer-actions,
  .timer-presets{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .compact-timer-presets button,
  .compact-timer-actions button,
  .sets-footer-actions button,
  .session-actions button,
  .timer-actions button,
  .timer-presets button{
    width:100%;
  }

  .sticky-workout-bar{
    width:calc(100% - 20px);
    border-radius:18px;
  }

  .drawer{
    width:min(330px, 88vw);
    padding:16px;
  }

  .drawer-link{
    min-height:54px;
    border-radius:16px;
  }

  .modal-card{
    border-radius:22px;
    padding:16px;
    max-height:calc(100svh - 36px);
    overflow:auto;
  }

  .save-banner{
    left:12px;
    right:12px;
    bottom:calc(12px + env(safe-area-inset-bottom,0px));
    text-align:center;
  }
}

@media (max-width: 420px){
  .app{
    padding-left:10px;
    padding-right:10px;
  }

  .topbar{
    margin-left:-10px;
    margin-right:-10px;
    padding-left:10px;
    padding-right:10px;
  }

  .card{
    padding:13px;
    border-radius:20px;
  }

  .nutrition-add-choice-grid,
  .nutrition-summary-grid,
  .nutrition-target-grid,
  .nutrition-form-grid,
  .barcode-macro-row,
  .barcode-diagnostics,
  .v55-fast-bar,
  .v55-set-tools,
  .compact-timer-presets,
  .compact-timer-actions,
  .sets-footer-actions,
  .session-actions{
    grid-template-columns:1fr !important;
  }

  .nutrition-add-choice{
    min-height:auto;
  }

  .home-progress-row{
    grid-template-columns:1fr;
    gap:6px;
  }

  .home-progress-row b{
    font-size:14px;
  }

  .summary-grid,
  .barcode-confirm-grid,
  .barcode-fallback-row{
    grid-template-columns:1fr !important;
  }

  .cloud-popover{
    left:8px;
    right:8px;
    padding:12px;
  }
}


/* Peakform v5.6.4 Mobile App Shell */
.mobile-bottom-nav{
  display:none;
}

@media (max-width: 760px){
  :root{
    --mobile-nav-height: 78px;
  }

  html,body{
    max-width:100%;
    overflow-x:hidden;
  }

  body{
    padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0px));
  }

  .app{
    padding-top:10px;
    padding-bottom:calc(var(--mobile-nav-height) + 28px + env(safe-area-inset-bottom, 0px));
  }

  .topbar{
    position:sticky;
    top:0;
    z-index:70;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    background:rgba(6, 9, 12, .82);
    border-bottom:1px solid rgba(255,255,255,.06);
  }

  .topbar-title{
    font-size:18px;
    line-height:1.1;
  }

  .menu-btn,.cloud-icon-btn{
    min-width:46px;
    width:46px;
    height:46px;
    border-radius:17px;
  }

  .mobile-bottom-nav{
    position:fixed;
    left:10px;
    right:10px;
    bottom:calc(8px + env(safe-area-inset-bottom, 0px));
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:6px;
    z-index:90;
    padding:8px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.12);
    background:linear-gradient(180deg, rgba(22,27,31,.96), rgba(10,13,17,.96));
    box-shadow:0 18px 50px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

  .mobile-nav-item{
    border:0;
    background:transparent;
    color:var(--muted);
    border-radius:18px;
    min-height:56px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    font-weight:800;
    font-size:11px;
    letter-spacing:.01em;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    transition:transform .15s ease, background .15s ease, color .15s ease;
  }

  .mobile-nav-item:active{
    transform:scale(.96);
  }

  .mobile-nav-item.active{
    color:#06110d;
    background:linear-gradient(135deg, var(--green), #2fd16d);
    box-shadow:0 10px 24px rgba(7, 229, 164, .18);
  }

  .mobile-nav-icon{
    font-size:18px;
    line-height:1;
  }

  .page{
    padding-bottom:22px;
  }

  .home-dashboard-hero,.nutrition-cockpit-hero{
    margin-top:8px;
  }

  .home-hero-grid,.nutrition-cockpit-hero{
    gap:16px;
  }

  .home-quick-actions{
    grid-template-columns:1fr;
    gap:10px;
  }

  .home-quick-actions .action,.home-quick-actions .secondary{
    width:100%;
    min-height:54px;
  }

  .dashboard-grid,.alignment-grid,.nutrition-macro-grid,.nutrition-quick-grid,.builder-mode-grid{
    gap:12px;
  }

  .card,.home-dashboard-hero,.nutrition-cockpit-hero{
    box-shadow:0 14px 38px rgba(0,0,0,.26);
  }

  .cloud-popover{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:calc(var(--mobile-nav-height) + 18px + env(safe-area-inset-bottom, 0px))!important;
    width:auto!important;
    max-width:none!important;
    max-height:min(76svh, 680px);
    overflow:auto;
    border-radius:26px;
    padding:16px;
    box-shadow:0 24px 80px rgba(0,0,0,.72);
  }

  .cloud-auth-grid,.cloud-auth-actions{
    grid-template-columns:1fr!important;
  }

  .cloud-auth-actions .action,.cloud-auth-actions .secondary,.cloud-auth-actions .set-delete{
    width:100%;
    min-height:48px;
  }

  .sticky-workout-bar{
    bottom:calc(var(--mobile-nav-height) + 16px + env(safe-area-inset-bottom, 0px));
    z-index:85;
  }

  .v55-rest-pill{
    bottom:calc(var(--mobile-nav-height) + 18px + env(safe-area-inset-bottom, 0px));
    z-index:88;
  }

  .save-banner{
    bottom:calc(var(--mobile-nav-height) + 14px + env(safe-area-inset-bottom, 0px));
    z-index:100;
  }
}

@media (max-width: 430px){
  .mobile-bottom-nav{
    left:8px;
    right:8px;
    padding:7px;
    gap:4px;
    border-radius:22px;
  }

  .mobile-nav-item{
    min-height:52px;
    border-radius:16px;
    font-size:10px;
  }

  .mobile-nav-icon{
    font-size:17px;
  }

  .nutrition-cockpit-copy h2,.home-hero-title{
    font-size:clamp(38px, 13vw, 56px)!important;
    line-height:.96;
  }

  .home-calorie-number{
    font-size:clamp(46px, 16vw, 72px)!important;
  }
}

/* Peakform v5.6.5 Cloud Dropdown Mobile Fix
   Keeps the cloud auth control compact and prevents old card styles from breaking the mobile sheet. */
.cloud-sheet-backdrop{
  display:none;
}
body.cloud-sheet-open{
  overflow:hidden;
}
body.cloud-sheet-open .cloud-sheet-backdrop{
  display:block;
  position:fixed;
  inset:0;
  z-index:940;
  background:rgba(0,0,0,.52);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
#cloudAuthCard.cloud-popover{
  background:linear-gradient(180deg, rgba(21,26,31,.98), rgba(8,11,15,.98))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:var(--text)!important;
}
#cloudAuthCard.cloud-popover:not(.open){
  display:none!important;
}
#cloudAuthCard.cloud-popover.open{
  display:block!important;
}
.cloud-popover-close{
  display:none;
}
@media (max-width: 760px){
  .cloud-top-wrap{
    position:relative!important;
    z-index:1001!important;
  }
  #cloudAuthCard.cloud-popover{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:calc(92px + env(safe-area-inset-bottom, 0px))!important;
    width:auto!important;
    max-width:none!important;
    max-height:min(72svh, 620px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:1002!important;
    margin:0!important;
    padding:16px!important;
    border-radius:26px!important;
    box-shadow:0 28px 90px rgba(0,0,0,.78), inset 0 1px 0 rgba(255,255,255,.06)!important;
    transform:none!important;
  }
  #cloudAuthCard.cloud-popover .cloud-auth-head{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    align-items:start!important;
    gap:10px!important;
  }
  #cloudAuthCard.cloud-popover .cloud-auth-title{
    font-size:20px!important;
  }
  #cloudAuthCard.cloud-popover .section-subtitle{
    max-width:none!important;
    font-size:13px!important;
  }
  #cloudAuthCard.cloud-popover .cloud-auth-status{
    white-space:nowrap!important;
    justify-self:end!important;
    margin-top:0!important;
  }
  #cloudAuthCard.cloud-popover .cloud-auth-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  #cloudAuthCard.cloud-popover .cloud-auth-actions,
  #cloudAuthCard.cloud-popover .cloud-auth-actions.auth-actions,
  #cloudAuthCard.cloud-popover.is-logged-in .cloud-user-row .cloud-auth-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #cloudAuthCard.cloud-popover input,
  #cloudAuthCard.cloud-popover button{
    max-width:100%!important;
  }
  #cloudAuthCard.cloud-popover .cloud-user-row{
    align-items:stretch!important;
  }
  .cloud-popover-close{
    display:flex;
    position:absolute;
    top:10px;
    right:10px;
    width:38px;
    height:38px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.06);
    color:var(--text);
    align-items:center;
    justify-content:center;
    font-weight:950;
    font-size:18px;
    z-index:2;
  }
  #cloudAuthCard.cloud-popover .cloud-auth-head{
    padding-right:42px!important;
  }
}
@media (min-width: 761px){
  #cloudAuthCard.cloud-popover{
    z-index:1002!important;
  }
}

/* Peakform v5.6.6 Mobile Bottom Nav Fix
   Replaces the oversized floating glass dock with a compact native-style bottom bar. */
@media (max-width: 760px){
  :root{ --mobile-nav-height: 66px; }

  body{
    padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 12px)!important;
  }

  .app,
  .page,
  main{
    padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 28px)!important;
  }

  .mobile-bottom-nav{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:2px!important;
    z-index:9999!important;
    min-height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0px))!important;
    padding:7px 10px calc(7px + env(safe-area-inset-bottom, 0px))!important;
    border-radius:0!important;
    border:0!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    background:rgba(5,8,11,.98)!important;
    box-shadow:0 -12px 34px rgba(0,0,0,.55)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .mobile-nav-item{
    min-width:0!important;
    min-height:50px!important;
    height:50px!important;
    padding:5px 4px!important;
    border-radius:16px!important;
    background:transparent!important;
    color:var(--muted)!important;
    box-shadow:none!important;
    font-size:10px!important;
    line-height:1.05!important;
    overflow:hidden!important;
  }

  .mobile-nav-item.active{
    color:#eaf7f0!important;
    background:rgba(17, 219, 139, .16)!important;
    border:1px solid rgba(17, 219, 139, .32)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
  }

  .mobile-nav-icon{
    font-size:17px!important;
    line-height:1!important;
    margin-bottom:1px!important;
  }

  .sticky-workout-bar,
  .v55-rest-pill,
  .save-banner{
    bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 10px)!important;
  }

  .cloud-popover{
    bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 14px)!important;
  }
}

@media (max-width: 380px){
  .mobile-bottom-nav{ padding-left:6px!important; padding-right:6px!important; }
  .mobile-nav-item{ font-size:9px!important; border-radius:14px!important; }
  .mobile-nav-icon{ font-size:16px!important; }
}

/* Peakform v5.7.8 Cloud Sheet Stack Fix
   The cloud auth card lives inside the sticky topbar. On mobile, the dim backdrop
   was being painted above the topbar stacking context, so the page blurred but the
   sign-in sheet disappeared behind it. Raise the topbar/sheet only while open. */
@media (max-width: 760px){
  body.cloud-sheet-open .topbar{
    z-index:10020!important;
    isolation:isolate!important;
  }
  body.cloud-sheet-open .cloud-top-wrap{
    position:relative!important;
    z-index:10030!important;
  }
  body.cloud-sheet-open .cloud-sheet-backdrop{
    z-index:10000!important;
    background:rgba(0,0,0,.58)!important;
    backdrop-filter:blur(5px)!important;
    -webkit-backdrop-filter:blur(5px)!important;
  }
  body.cloud-sheet-open #cloudAuthCard.cloud-popover.open{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:fixed!important;
    z-index:10040!important;
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:calc(var(--mobile-nav-height, 66px) + env(safe-area-inset-bottom, 0px) + 14px)!important;
    width:auto!important;
    max-width:none!important;
    max-height:min(72svh, 620px)!important;
    overflow-y:auto!important;
    transform:none!important;
  }
  body.cloud-sheet-open .mobile-bottom-nav{
    z-index:9990!important;
  }
}

/* Peakform v5.7.9 Cloud Sheet Hard Fix
   Move/paint the cloud auth sheet as a true body-level modal so it cannot sit behind the blurred page. */
.cloud-sheet-backdrop{
  position:fixed!important;
  inset:0!important;
  display:none!important;
  z-index:2147482000!important;
  background:rgba(0,0,0,.58)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}
body.cloud-sheet-open .cloud-sheet-backdrop{display:block!important;}
body.cloud-sheet-open{overflow:hidden!important;}
#cloudAuthCard.cloud-popover.peakform-cloud-modal{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
#cloudAuthCard.cloud-popover.peakform-cloud-modal.open{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  position:fixed!important;
  z-index:2147483000!important;
  background:linear-gradient(180deg, rgba(21,26,31,.99), rgba(8,11,15,.99))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:var(--text)!important;
  box-shadow:0 30px 100px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.06)!important;
}
@media (max-width:760px){
  #cloudAuthCard.cloud-popover.peakform-cloud-modal.open{
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:calc(var(--mobile-nav-height, 66px) + env(safe-area-inset-bottom, 0px) + 14px)!important;
    width:auto!important;
    max-width:none!important;
    max-height:min(72dvh, 620px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    margin:0!important;
    padding:16px!important;
    border-radius:26px!important;
    transform:none!important;
  }
}
@media (min-width:761px){
  #cloudAuthCard.cloud-popover.peakform-cloud-modal.open{
    top:76px!important;
    right:22px!important;
    left:auto!important;
    bottom:auto!important;
    width:min(420px, calc(100vw - 44px))!important;
    max-height:calc(100vh - 100px)!important;
    overflow:auto!important;
    padding:16px!important;
    border-radius:24px!important;
  }
}

/* v5.8.0 Mobile Nutrition Search Sheet
   Turns the food database panel into a focused, app-like full-screen sheet on phones.
   Desktop/tablet keeps the existing inline panel layout. */
@media (max-width: 760px) {
  #nutritionFoodSearchPanel.food-search-panel.is-active {
    position: fixed !important;
    inset: 0 !important;
    z-index: 12050 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: calc(14px + env(safe-area-inset-top)) 14px calc(24px + env(safe-area-inset-bottom)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
      radial-gradient(circle at 18% 8%, rgba(0, 229, 168, .16), transparent 28%),
      linear-gradient(180deg, #07110f 0%, #040807 100%) !important;
    box-shadow: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #nutritionFoodSearchPanel .nutrition-add-mode-header {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 12px !important;
    padding: 8px 0 12px;
    background: linear-gradient(180deg, rgba(7,17,15,.98), rgba(7,17,15,.92));
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  #nutritionFoodSearchPanel .nutrition-add-mode-title {
    font-size: 24px !important;
    line-height: 1.05;
    letter-spacing: -.04em;
  }

  #nutritionFoodSearchPanel [data-nutrition-add-back] {
    min-width: 46px;
    min-height: 46px;
    border-radius: 999px !important;
    padding: 0 14px !important;
    font-size: 0 !important;
  }

  #nutritionFoodSearchPanel [data-nutrition-add-back]::after {
    content: "×";
    font-size: 28px;
    line-height: 1;
    font-weight: 900;
  }

  #nutritionFoodSearchPanel .session-topline {
    display: block !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  #nutritionFoodSearchPanel .session-topline h3 {
    display: none !important;
  }

  #nutritionFoodSearchPanel .session-topline .section-subtitle {
    font-size: 14px !important;
    line-height: 1.35 !important;
    max-width: 36em;
  }

  #nutritionFoodSearchPanel .session-topline .pill {
    display: inline-flex !important;
    margin-top: 10px;
    font-size: 11px !important;
  }

  #nutritionFoodSearchPanel .food-search-row {
    position: sticky;
    top: 67px;
    z-index: 4;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin: 0 -2px 12px !important;
    padding: 12px 2px 14px !important;
    background: linear-gradient(180deg, rgba(7,17,15,.98), rgba(7,17,15,.91));
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  #nutritionFoodSearchPanel .food-search-row > div:first-child {
    grid-column: 1 / -1;
  }

  #nutritionFoodSearchPanel .food-search-row label {
    font-size: 11px !important;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--muted);
  }

  #nutritionFoodSearchPanel .food-search-row input,
  #nutritionFoodSearchPanel .food-search-row select {
    min-height: 52px !important;
    border-radius: 18px !important;
    font-size: 16px !important;
  }

  #nutritionFoodSearchPanel #foodDbSearchInput {
    min-height: 58px !important;
    font-size: 17px !important;
    font-weight: 800;
  }

  #nutritionFoodSearchPanel .food-search-tabs {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    margin: 4px 0 10px !important;
    padding-bottom: 3px;
    -webkit-overflow-scrolling: touch;
  }

  #nutritionFoodSearchPanel .food-search-chip {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 10px 13px !important;
  }

  #nutritionFoodSearchPanel .food-search-meta {
    margin-top: 8px !important;
  }

  #nutritionFoodSearchPanel .food-search-meta span:nth-child(n+2) {
    display: none;
  }

  #nutritionFoodSearchPanel .food-search-online-note {
    margin: 9px 0 12px !important;
    padding: 10px 12px;
    border-radius: 16px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.08);
  }

  #nutritionFoodSearchPanel .food-result-list {
    display: grid;
    gap: 12px;
    padding-bottom: 26px;
  }

  #nutritionFoodSearchPanel .food-result-card {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
    padding: 14px !important;
    border-radius: 22px !important;
    background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.028)) !important;
  }

  #nutritionFoodSearchPanel .food-result-img,
  #nutritionFoodSearchPanel .food-result-card img {
    width: 56px !important;
    height: 56px !important;
    border-radius: 16px !important;
    object-fit: cover;
  }

  #nutritionFoodSearchPanel .food-result-title {
    font-size: 17px !important;
    line-height: 1.1 !important;
    margin-bottom: 4px;
  }

  #nutritionFoodSearchPanel .food-result-brand {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  #nutritionFoodSearchPanel .food-source-row {
    gap: 5px !important;
    margin-top: 8px !important;
  }

  #nutritionFoodSearchPanel .food-source-pill,
  #nutritionFoodSearchPanel .food-quality-pill {
    font-size: 10px !important;
    padding: 5px 7px !important;
  }

  #nutritionFoodSearchPanel .food-result-macros {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px !important;
    margin-top: 10px !important;
  }

  #nutritionFoodSearchPanel .food-result-macros span {
    display: block;
    padding: 7px 8px;
    border-radius: 12px;
    background: rgba(0,0,0,.18);
    border: 1px solid rgba(255,255,255,.07);
    font-size: 12px !important;
    font-weight: 900;
  }

  #nutritionFoodSearchPanel .food-result-actions {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: 1.3fr .7fr;
    gap: 8px !important;
    min-width: 0 !important;
    margin-top: 2px;
  }

  #nutritionFoodSearchPanel .food-result-actions button {
    min-height: 48px !important;
    border-radius: 16px !important;
    font-size: 14px !important;
  }

  #nutritionFoodSearchPanel .food-empty-state {
    min-height: 190px;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 26px;
    border-radius: 22px;
    background: rgba(255,255,255,.04);
    border: 1px dashed rgba(255,255,255,.16);
    color: var(--muted);
    font-weight: 850;
    line-height: 1.45;
  }

  #nutritionFoodSearchPanel .food-search-help {
    margin-top: auto !important;
    position: relative;
    bottom: auto;
  }
}

/* Peakform v5.9.0 Workout Page Simplification */
.mobile-workout-start-panel,
.mobile-workout-tools-toggle{
  display:none;
}

@media (max-width: 760px){
  #page-workout.workout-flow-page{
    padding-bottom:calc(var(--mobile-nav-height, 78px) + 120px + env(safe-area-inset-bottom,0px));
  }

  .mobile-workout-start-panel{
    display:block;
    margin:8px 0 14px;
    border:1px solid rgba(24,224,150,.28);
    border-radius:28px;
    background:radial-gradient(circle at 18% 10%, rgba(7,228,166,.18), transparent 42%), linear-gradient(145deg, rgba(12,48,39,.96), rgba(10,13,17,.96));
    box-shadow:0 18px 44px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
    overflow:hidden;
  }

  .mobile-workout-start-panel summary{
    list-style:none;
    min-height:112px;
    padding:20px;
    display:grid;
    grid-template-columns:52px minmax(0,1fr) 28px;
    gap:14px;
    align-items:center;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }

  .mobile-workout-start-panel summary::-webkit-details-marker{display:none;}

  .mobile-workout-start-icon{
    width:52px;
    height:52px;
    border-radius:20px;
    display:grid;
    place-items:center;
    background:rgba(7,228,166,.12);
    border:1px solid rgba(24,224,150,.25);
    font-size:24px;
  }

  .mobile-workout-start-copy strong{
    display:block;
    font-size:clamp(2.1rem, 12vw, 3.4rem);
    line-height:.95;
    letter-spacing:-.06em;
    color:var(--text);
  }

  .mobile-workout-start-copy small{
    display:block;
    margin-top:9px;
    color:var(--muted);
    font-size:15px;
    line-height:1.35;
    font-weight:800;
  }

  .mobile-workout-start-arrow{
    color:var(--muted);
    font-size:24px;
    transition:transform .18s ease;
  }

  .mobile-workout-start-panel[open] .mobile-workout-start-arrow{transform:rotate(180deg);}

  .mobile-workout-start-intro{
    margin:0 18px 18px;
    padding:13px 14px;
    border-radius:18px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.07);
    color:var(--muted);
    line-height:1.45;
    font-weight:750;
  }

  #mobileWorkoutStartPanel:not([open]) ~ .workout-session-header,
  #mobileWorkoutStartPanel:not([open]) ~ .workout-start-grid,
  #mobileWorkoutStartPanel:not([open]) ~ .active-logger-card{
    display:none!important;
  }

  #mobileWorkoutStartPanel[open] ~ .workout-session-header{
    display:block!important;
    margin-top:0!important;
    padding:16px!important;
    border-radius:22px!important;
  }

  #mobileWorkoutStartPanel[open] ~ .workout-start-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin:12px 0!important;
  }

  #mobileWorkoutStartPanel[open] ~ .workout-start-grid .workout-start-card{
    min-height:88px!important;
    padding:16px!important;
    border-radius:22px!important;
  }

  #mobileWorkoutStartPanel[open] ~ .workout-start-grid .workout-start-card strong{font-size:1.35rem!important;}

  #mobileWorkoutStartPanel[open] ~ .active-logger-card{
    display:block!important;
    margin-top:12px!important;
    border-radius:24px!important;
    padding:16px!important;
  }

  #page-workout .workout-header-actions{
    width:100%;
    justify-content:flex-start;
    margin-top:10px;
  }

  #page-workout .workout-header-bottom,
  #page-workout .selector-grid.compact-selector-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  #page-workout .current-exercise-title{
    font-size:clamp(2rem, 10vw, 3rem)!important;
    line-height:.98!important;
    letter-spacing:-.05em;
  }

  #page-workout .sets-logger-panel{
    margin-top:16px!important;
    padding:14px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.035)!important;
    border:1px solid rgba(255,255,255,.07)!important;
  }

  #page-workout .set-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:100%!important;
  }

  #page-workout .set-actions button,
  #page-workout .sets-footer-actions button{
    min-height:48px!important;
    border-radius:16px!important;
  }

  .mobile-workout-tools-toggle{
    display:flex;
    width:100%;
    min-height:82px;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    text-align:left;
    margin:12px 0 0;
    padding:16px 18px;
    border-radius:24px;
    color:var(--text);
    background:linear-gradient(145deg, rgba(22,27,31,.95), rgba(9,12,15,.95));
    border:1px solid rgba(255,255,255,.1);
    box-shadow:0 14px 36px rgba(0,0,0,.25);
    font-weight:950;
    cursor:pointer;
  }

  .mobile-workout-tools-toggle::after{
    content:'›';
    color:var(--muted);
    font-size:24px;
    transition:transform .18s ease;
  }

  .mobile-workout-tools-toggle span{
    display:block;
    font-size:1.25rem;
    line-height:1;
  }

  .mobile-workout-tools-toggle small{
    display:block;
    margin-top:6px;
    color:var(--muted);
    line-height:1.25;
    font-weight:800;
  }

  #page-workout.tools-open .mobile-workout-tools-toggle::after{transform:rotate(90deg);}

  #page-workout .workout-accordion-stack{
    display:none!important;
    margin-top:12px;
  }

  #page-workout.tools-open .workout-accordion-stack{display:block!important;}

  #page-workout .workout-accordion-stack .collapsible-card{
    border-radius:22px!important;
    padding:16px!important;
    margin-top:10px!important;
  }

  #page-workout:not(.workout-logger-open) ~ .sticky-workout-bar.show,
  body:not(.workout-logger-active) .sticky-workout-bar.show{
    display:none!important;
  }
}

/* v5.9.1 Lighter theme test - small visual update only */
:root{
  --bg:#101816;
  --bg2:#192823;
  --card:rgba(255,255,255,.075);
  --cardBorder:rgba(255,255,255,.13);
  --text:#f4f8ff;
  --muted:#c0cde0;
  --accent:#35d883;
  --accent2:#10e8b0;
  --secondary:rgba(255,255,255,.105);
  --shadow:0 14px 34px rgba(0,0,0,.22);
}
html,body{
  background:
    radial-gradient(circle at 22% -10%, rgba(53,216,131,.16), transparent 32%),
    radial-gradient(circle at 88% 8%, rgba(16,232,176,.10), transparent 30%),
    linear-gradient(180deg,#17211f 0%, #101816 58%, #0d1412 100%);
}
.topbar{
  background:linear-gradient(to bottom, rgba(16,24,22,.96), rgba(16,24,22,.82), rgba(16,24,22,0));
}
.card,.hero,.mini-card,.section-card,.stat-card,.exercise-card,.nutrition-hero,.workout-card,.builder-card,.programme-card,.quick-card,.meal-card{
  background:linear-gradient(145deg, rgba(255,255,255,.092), rgba(255,255,255,.045));
  border-color:rgba(255,255,255,.14);
}
input,select,textarea{
  background:rgba(255,255,255,.095);
  border-color:rgba(255,255,255,.16);
  color:var(--text);
}
.mobile-tabbar{
  background:rgba(13,19,18,.96);
  border-top-color:rgba(255,255,255,.12);
}

/* Peakform v5.9.2 Icon System & UI Polish */
.pf-icon,
[data-pf-icon] svg{
  width:1.15em;
  height:1.15em;
  display:inline-block;
  vertical-align:-0.18em;
  stroke:currentColor;
  fill:none;
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}
[data-pf-icon]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:currentColor;
}
.drawer-icon[data-pf-icon],
.mobile-nav-icon[data-pf-icon]{
  width:22px;
  height:22px;
}
.drawer-icon[data-pf-icon] svg,
.mobile-nav-icon[data-pf-icon] svg{
  width:20px;
  height:20px;
}
.menu-btn [data-pf-icon],
.cloud-icon-btn [data-pf-icon]{
  width:22px;
  height:22px;
}
.menu-btn [data-pf-icon] svg,
.cloud-icon-btn [data-pf-icon] svg{
  width:21px;
  height:21px;
}
.cloud-icon-btn [data-pf-icon]{ color:#fff; }
.nutrition-quick-card [data-pf-icon]{
  width:38px;
  height:38px;
  border-radius:15px;
  background:linear-gradient(135deg, rgba(94, 234, 159, .18), rgba(34,197,94,.08));
  color:var(--accent);
  border:1px solid rgba(94,234,159,.22);
  margin-bottom:8px;
}
.nutrition-quick-card [data-pf-icon] svg{
  width:21px;
  height:21px;
}
.nutrition-add-choice strong{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.nutrition-add-choice strong [data-pf-icon]{
  color:var(--accent);
}
.mobile-workout-start-icon[data-pf-icon]{
  width:44px;
  height:44px;
  border-radius:18px;
  color:#06120d;
  background:linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow:0 14px 32px rgba(34,197,94,.22);
}
.mobile-workout-start-icon[data-pf-icon] svg{
  width:24px;
  height:24px;
  stroke-width:2.4;
}
.drawer-link,
.mobile-nav-item,
.nutrition-quick-card,
.nutrition-add-choice{
  transition:transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
@media (hover:hover){
  .drawer-link:hover,
  .nutrition-quick-card:hover,
  .nutrition-add-choice:hover{
    transform:translateY(-1px);
    border-color:rgba(94,234,159,.26);
  }
}


/* Peakform v5.9.3 White Theme & Softer UI
   Light visual refresh only: no logic/database changes. */
:root{
  --bg:#f6f8f5;
  --bg2:#ffffff;
  --card:#ffffff;
  --cardSoft:#f9fbf8;
  --cardBorder:#dfe8df;
  --text:#142019;
  --muted:#68766c;
  --accent:#23b466;
  --accent2:#14d184;
  --secondary:#eef5ef;
  --warning:#b7791f;
  --danger:#dc4c4c;
  --shadow:0 10px 28px rgba(21,39,27,.08);
  --soft-radius:18px;
  --panel-radius:20px;
  --control-radius:14px;
}

html,body{
  color:var(--text)!important;
  background:
    radial-gradient(circle at 18% -10%, rgba(35,180,102,.14), transparent 30%),
    radial-gradient(circle at 92% 0%, rgba(20,209,132,.10), transparent 28%),
    linear-gradient(180deg,#ffffff 0%, #f7faf6 48%, #f1f6f1 100%)!important;
}

.app{background:transparent!important;}

.topbar{
  background:linear-gradient(to bottom, rgba(255,255,255,.96), rgba(255,255,255,.86), rgba(255,255,255,0))!important;
  border-bottom:1px solid rgba(32,71,44,.08)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
.topbar-title{color:#16251c!important;}

.menu-btn,
.cloud-icon-btn,
.drawer-close{
  background:#ffffff!important;
  color:#15251b!important;
  border:1px solid #dfe8df!important;
  border-radius:14px!important;
  box-shadow:0 8px 18px rgba(21,39,27,.06)!important;
}
.cloud-icon-btn [data-pf-icon]{color:#15251b!important;}
.cloud-icon-btn.cloud-on{background:#e8fff2!important;border-color:rgba(35,180,102,.34)!important;color:#0d5e34!important;}
.cloud-icon-btn.cloud-warn{background:#fff8e8!important;border-color:rgba(183,121,31,.28)!important;color:#8a5a12!important;}

.card,
.hero,
.mini-card,
.section-card,
.stat-card,
.exercise-card,
.workout-card,
.builder-card,
.quick-card,
.meal-card,
.nutrition-hero,
.nutrition-cockpit-hero,
.home-dashboard-hero,
.home-calorie-focus,
.home-dash-card,
.daily-score-card,
.v52-insight-card,
.current-plan-focus,
.programme-card,
.exercise-mini,
.builder-item,
.info-item,
.set-row,
.exercise-description-box,
.exercise-demo-panel,
.barcode-stage,
.barcode-result,
.nutrition-log-item,
.nutrition-meal-section,
.nutrition-memory-panel,
.nutrition-memory-item,
.barcode-primary-manual,
.barcode-manual-details,
.nutrition-add-choice,
.mobile-workout-start-panel,
.mobile-workout-start-intro,
.mobile-workout-tools-toggle,
.workout-start-card,
.active-logger-card,
.workout-session-header,
.sets-logger-panel{
  background:linear-gradient(180deg,#ffffff,#fbfdfb)!important;
  border-color:#dfe8df!important;
  color:var(--text)!important;
  box-shadow:0 10px 26px rgba(21,39,27,.07)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.card,.modal-card,.cloud-popover{border-radius:var(--panel-radius)!important;}
.hero,.nutrition-hero,.nutrition-cockpit-hero,.home-dashboard-hero{border-radius:22px!important;}
.home-calorie-focus,.home-dash-card,.daily-score-card,.programme-card,.exercise-demo-panel,.mobile-workout-start-panel,.mobile-workout-tools-toggle{border-radius:20px!important;}
.exercise-mini,.builder-item,.info-item,.set-row,.exercise-description-box,.nutrition-log-item,.nutrition-meal-section,.barcode-stage,.barcode-result,.nutrition-memory-panel,.nutrition-memory-item,.nutrition-add-choice,.mobile-workout-start-intro{border-radius:16px!important;}
.menu-btn,.cloud-icon-btn,.drawer-close,input,select,textarea,button.action,button.secondary,button.small-btn,.set-delete,.set-number,.chip-btn{border-radius:13px!important;}

/* Keep photo heroes readable while the rest of the app moves to white. */
.hero:not(.nutrition-hero):not(.nutrition-cockpit-hero){
  background:
    linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.58)),
    url('https://images.unsplash.com/photo-1517836357463-d25dfeac3438?auto=format&fit=crop&w=1400&q=80')!important;
  background-size:cover!important;
  background-position:center!important;
  color:#ffffff!important;
}
.hero:not(.nutrition-hero):not(.nutrition-cockpit-hero) h2,
.hero:not(.nutrition-hero):not(.nutrition-cockpit-hero) .section-subtitle,
.hero:not(.nutrition-hero):not(.nutrition-cockpit-hero) p{color:#ffffff!important;}

.nutrition-hero,
.nutrition-cockpit-hero,
.home-dashboard-hero{
  background:
    radial-gradient(circle at 20% 0%, rgba(35,180,102,.14), transparent 38%),
    linear-gradient(180deg,#ffffff,#f8fcf8)!important;
}
.home-dashboard-hero:before,.daily-score-card:before,.programme-card::after{opacity:.35!important;}

input,select,textarea{
  background:#ffffff!important;
  border:1px solid #d8e4d9!important;
  color:var(--text)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65)!important;
}
input::placeholder,textarea::placeholder{color:#8a978c!important;}
label,.section-subtitle,.muted,.macro-sub,.exercise-mini-label,.info-label,.set-label,.drawer-sub,.exercise-demo-caption,.builder-template-meta,.current-exercise-subtitle,.exercise-visual-subtitle,.guided-step-meta,.nutrition-empty,.nutrition-meal-empty{color:var(--muted)!important;}

button.action,
.drawer-link.active,
.mobile-nav-item.active,
.chip-btn.active{
  background:linear-gradient(135deg,var(--accent2),var(--accent))!important;
  color:#062314!important;
  box-shadow:0 10px 24px rgba(35,180,102,.18)!important;
}
button.secondary,
button.small-btn,
.chip-btn,
.meal-chip,
.nutrition-add-choice{
  background:#f1f7f2!important;
  border-color:#dbe8dc!important;
  color:#1c2d22!important;
}
.meal-chip.active,.workout-count-pill,.v52-muscle-chip{
  background:#e8fff1!important;
  border-color:rgba(35,180,102,.34)!important;
  color:#0e6737!important;
}
.set-delete{
  background:#fff0f0!important;
  border-color:#f2cdcd!important;
  color:#b02f2f!important;
}

.progress-track,.home-progress-track,.mini-track{
  background:#e6eee7!important;
}
.progress-fill,.home-progress-fill,.mini-fill{
  background:linear-gradient(90deg,var(--accent2),var(--accent))!important;
}
.daily-score-ring:after{background:#ffffff!important;border-color:#dfe8df!important;}
.daily-score-number,.macro-value,.bodyweight-trend,.timer-display,.current-exercise-title,.mobile-workout-start-copy strong{color:var(--text)!important;}

.drawer,
.modal-card,
.cloud-popover{
  background:#ffffff!important;
  border-color:#dfe8df!important;
  color:var(--text)!important;
  box-shadow:0 24px 80px rgba(21,39,27,.16)!important;
}
.drawer-overlay,.modal-overlay,.cloud-sheet-backdrop,.drawer-backdrop{
  background:rgba(22,35,26,.38)!important;
}
.drawer-link{
  color:#24352a!important;
  border-radius:14px!important;
}
.drawer-link:not(.active):hover{background:#f2f7f2!important;}

.exercise-demo-image{background:#f3f7f3!important;}
.exercise-demo-footer{background:#ffffff!important;border-color:#dfe8df!important;}
.barcode-frame{border-color:rgba(35,180,102,.9)!important;box-shadow:0 0 0 999px rgba(255,255,255,.22),0 0 22px rgba(35,180,102,.18)!important;}
.barcode-macro-tile,.barcode-diagnostic-pill,.smart-target-result,.nutrition-mini-insight,.barcode-help,.barcode-camera-first-note,.v52-coach-note,.guided-step{
  background:#f3faf4!important;
  border-color:#dbeadd!important;
  color:var(--muted)!important;
}
.barcode-diagnostic-pill b{color:var(--text)!important;}
.guided-step-icon,.home-timeline-icon,.nutrition-quick-card [data-pf-icon]{background:#e8fff1!important;border-color:rgba(35,180,102,.26)!important;color:var(--accent)!important;}

.mobile-bottom-nav,
.mobile-tabbar,
.sticky-workout-bar,
.rest-timer-pill{
  background:rgba(255,255,255,.96)!important;
  border-color:#dfe8df!important;
  color:var(--text)!important;
  box-shadow:0 -8px 26px rgba(21,39,27,.09)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
.mobile-nav-item{color:#667469!important;border-radius:13px!important;}
.mobile-nav-item.active{color:#062314!important;}

/* Reduce the “forced” look: lighter borders, flatter cards, and consistent softer corners. */
.card:hover,.nutrition-add-choice:hover,.drawer-link:hover{transform:none!important;}
@media(max-width:760px){
  body{background:#f6f8f5!important;}
  .topbar{background:rgba(255,255,255,.92)!important;}
  .app{padding-left:14px!important;padding-right:14px!important;}
  .card{margin-top:10px!important;}
  .mobile-workout-start-panel summary{min-height:104px!important;}
}

/* v5.9.4 white theme repair: restore photo cards, improve text contrast, and soften radius rhythm */
:root{
  --bg:#f6f8f5;
  --card:#ffffff;
  --cardSoft:#f9fbf8;
  --cardBorder:#dfe8df;
  --text:#15231b;
  --muted:#5f6d64;
  --accent:#23b466;
  --accent2:#14d184;
  --secondary:#eef5ef;
  --soft-radius:16px;
  --panel-radius:18px;
  --control-radius:12px;
}

/* The previous white-theme pass accidentally painted over image cards because they are also .card. */
#resumeTemplateTile,
.card.image-tile#resumeTemplateTile{
  background:
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.68)),
    url('https://images.unsplash.com/photo-1534438327276-14e5300c3a48?auto=format&fit=crop&w=1000&q=80') center/cover no-repeat !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:0 16px 34px rgba(21,39,27,.16) !important;
}
#repeatLastSessionTile,
.card.image-tile#repeatLastSessionTile{
  background:
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.68)),
    url('https://images.unsplash.com/photo-1571019614242-c5c5dee9f50b?auto=format&fit=crop&w=1000&q=80') center/cover no-repeat !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:0 16px 34px rgba(21,39,27,.16) !important;
}
.image-tile .image-tile-content,
.image-tile h3,
.image-tile p,
.image-tile strong,
.image-tile span{
  color:#fff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.image-tile{
  overflow:hidden !important;
  min-height:148px;
}

/* Make any external/product images visible on the light surface. */
img,
.exercise-demo-image,
.exercise-frame-image,
.barcode-product-img,
.food-result-img{
  background:#eef4ef !important;
  border-color:#d9e4da !important;
}
.exercise-frame,
.exercise-demo-panel,
.exercise-visual-card{
  background:#ffffff !important;
  color:var(--text) !important;
}
.exercise-frame-label,
.exercise-demo-caption,
.exercise-visual-subtitle{
  color:var(--muted) !important;
}

/* Fix darker components that still had dark-theme text/background combinations. */
.nutrition-cockpit-meter,
.nutrition-calorie-dial,
.adaptive-coach-tile,
.v55-coach-tile,
.food-search-meta span,
.food-result-macros span,
.barcode-macro-tile,
.programme-detail-list div,
.v52-pr-row,
.home-timeline-item,
.bodyweight-history-row,
.workout-inline-dropdown,
.mobile-workout-tools-panel,
.mobile-workout-start-intro,
.mobile-workout-start-panel,
.set-row,
.workout-set-card,
.mobile-set-card{
  background:#f5faf6 !important;
  border-color:#dce9de !important;
  color:var(--text) !important;
  box-shadow:none !important;
}

/* Restore readable labels/numbers after the theme inversion. */
.card h1,.card h2,.card h3,.card h4,
.section-title,
.current-exercise-title,
.food-result-title,
.barcode-product-title,
.daily-score-ring span,
.v55-coach-tile b,
.adaptive-coach-tile b,
.nutrition-hero-macros b,
.nutrition-calorie-dial b,
.nutrition-calorie-dial strong,
.programme-card h3,
.home-hero-title,
.home-calorie-main,
.home-dash-card strong,
.macro-value{
  color:var(--text) !important;
}
.section-subtitle,.muted,.food-result-source,.food-result-serving,
.food-result-macros span,.nutrition-hero-macros span,
.barcode-product-meta,.programme-detail-list div,
.v55-coach-tile small,.adaptive-coach-tile span{
  color:var(--muted) !important;
}

/* Keep green gradient buttons legible on the lighter surface. */
button.action,
.drawer-link.active,
.mobile-nav-item.active,
.chip-btn.active,
.v55-set-done{
  color:#052313 !important;
}
button.action [data-pf-icon],
.mobile-nav-item.active [data-pf-icon]{
  color:#052313 !important;
}

/* Cloud sheet/dropdown needed explicit light styling. */
.cloud-popover,
.cloud-sheet,
.cloud-auth-card{
  background:#ffffff !important;
  color:var(--text) !important;
  border:1px solid #dfe8df !important;
  box-shadow:0 24px 80px rgba(21,39,27,.18) !important;
}
.cloud-popover *,
.cloud-sheet *,
.cloud-auth-card *{
  color:inherit;
}
.cloud-popover .section-subtitle,
.cloud-sheet .section-subtitle,
.cloud-auth-card .section-subtitle{
  color:var(--muted) !important;
}

/* Softer, less forced corners: fewer huge bubbles, more consistent product UI. */
.card,.modal-card,.cloud-popover,.cloud-sheet,.drawer{
  border-radius:18px !important;
}
.hero,.nutrition-hero,.nutrition-cockpit-hero,.home-dashboard-hero{
  border-radius:20px !important;
}
.home-calorie-focus,.home-dash-card,.daily-score-card,.programme-card,
.exercise-demo-panel,.mobile-workout-start-panel,.workout-session-header,
.active-logger-card,.sets-logger-panel{
  border-radius:18px !important;
}
.exercise-mini,.builder-item,.info-item,.set-row,.exercise-description-box,
.nutrition-log-item,.nutrition-meal-section,.barcode-stage,.barcode-result,
.nutrition-memory-panel,.nutrition-memory-item,.nutrition-add-choice,
.mobile-workout-start-intro,.food-result-card,.meal-card{
  border-radius:14px !important;
}
.menu-btn,.cloud-icon-btn,.drawer-close,input,select,textarea,
button.action,button.secondary,button.small-btn,.set-delete,.set-number,.chip-btn{
  border-radius:11px !important;
}

/* Light-mode home and nutrition panels */
.home-dashboard-hero,
.nutrition-cockpit-hero,
.nutrition-hero{
  background:
    radial-gradient(circle at 18% 0%, rgba(35,180,102,.16), transparent 34%),
    linear-gradient(180deg,#ffffff,#f8fbf8) !important;
  border-color:#dfe8df !important;
}
.nutrition-quick-card,
.nutrition-meal-timeline .nutrition-meal-section,
.nutrition-macro-strip .card,
.adaptive-coach-card,
.v55-coach-panel{
  background:#ffffff !important;
  border-color:#dfe8df !important;
  color:var(--text) !important;
  box-shadow:0 10px 24px rgba(21,39,27,.06) !important;
}
.nutrition-quick-card.is-primary{
  background:linear-gradient(135deg,#ecfff4,#ffffff) !important;
  border-color:rgba(35,180,102,.34) !important;
}

/* Mobile: reduce visual heaviness without hiding imagery. */
@media(max-width:760px){
  .image-tile{min-height:132px;}
  .card{box-shadow:0 8px 20px rgba(21,39,27,.055) !important;}
  .home-dashboard-hero,.nutrition-cockpit-hero{border-radius:18px !important;}
}
