/* GÜNEFIT Mobile V2 — gerçek telefon yoğunluğu ve içerik odaklı uygulama kabuğu */
:root {
  --v2-navy:#071c2e;
  --v2-navy-2:#0e3048;
  --v2-ink:#102a3e;
  --v2-muted:#64798b;
  --v2-turquoise:#00aebb;
  --v2-turquoise-soft:#dff7f8;
  --v2-orange:#ff9d24;
  --v2-ice:#f4f8fa;
  --v2-card:#fff;
  --v2-line:#dce7ec;
  --v2-touch:56px;
  --v2-action:64px;
  --v2-radius:24px;
  --v2-shadow:0 12px 32px rgba(16,42,62,.09);
  --nav-height:92px;
  --workspace-gutter:24px;
  --workspace-gap:18px;
}

html { font-size:20px; -webkit-text-size-adjust:100%; }
body { min-width:320px; overflow-x:hidden; background:var(--v2-ice); }
.app-container { width:100%; max-width:none; min-height:100dvh; margin:0; background:var(--v2-ice); }

/* Ortak üst çubuk */
.app-header.mobile-v2-header {
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:12px 24px;
  border-bottom:1px solid var(--v2-line);
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(16px);
  box-shadow:none;
}
.mobile-brand { min-width:0; display:flex; align-items:center; gap:12px; }
.mobile-brand .header-logo-img { width:60px; height:60px; padding:6px; border-radius:17px; background:var(--v2-navy); object-fit:contain; }
.mobile-brand-copy { min-width:0; display:flex; align-items:baseline; gap:12px; }
.mobile-brand-copy strong { color:var(--v2-ink); font-size:1.08rem; font-weight:800; letter-spacing:.12em; }
.mobile-brand-copy .app-version { position:static; margin:0; color:var(--v2-muted); font-size:.65rem; white-space:nowrap; }
.mobile-top-actions { display:flex; align-items:center; gap:10px; }
.mobile-icon-button {
  width:60px;
  height:60px;
  min-width:60px;
  min-height:60px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--v2-line);
  border-radius:18px;
  background:var(--v2-card);
  color:var(--v2-ink);
  font-size:1.08rem;
  box-shadow:0 5px 14px rgba(16,42,62,.05);
}
.mobile-icon-button.language-select { padding:0 8px; font-size:.78rem; font-weight:800; text-align:center; }
.mobile-icon-button:hover,.mobile-icon-button:active { border-color:var(--v2-turquoise); color:var(--v2-turquoise); background:var(--v2-turquoise-soft); }
.header-control-label { display:none !important; }

/* Ortak sayfa ve tipografi */
.workspace-page,.page { min-width:0; }
.workspace-page { padding:26px var(--workspace-gutter) calc(var(--nav-height) + var(--safe-bottom) + 26px); }
.workspace-heading,.screen-heading { margin:0 0 22px; }
.workspace-heading span,.program-hub-kicker { margin-bottom:7px; color:var(--v2-turquoise); font-size:.68rem; font-weight:800; letter-spacing:.14em; }
.workspace-heading h2,.program-hub-heading h2 { color:var(--v2-ink); font-size:1.6rem; line-height:1.12; letter-spacing:-.035em; }
.workspace-heading p,.program-hub-heading p { margin-top:6px; color:var(--v2-muted); font-size:.8rem; line-height:1.45; }
.workspace-page * { min-width:0; overflow-wrap:anywhere; }
.workspace-page button,.workspace-page input,.workspace-page select,.workspace-page textarea { font-size:max(.72rem,16px); }
.workspace-page .btn,.workspace-page input,.workspace-page select { min-height:var(--v2-touch); }
.workspace-tile,.card { border-color:rgba(16,42,62,.075); border-radius:var(--v2-radius); box-shadow:var(--v2-shadow); }

/* Alt navigasyon */
.bottom-nav {
  min-height:92px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:5px;
  padding:8px 16px calc(8px + var(--safe-bottom));
  border-top:1px solid var(--v2-line);
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(18px);
  box-shadow:0 -12px 30px rgba(16,42,62,.08);
}
.nav-item { min-width:0; min-height:74px; gap:7px; padding:7px 9px; border-radius:18px; color:#71879a; font-size:.63rem; font-weight:750; }
.nav-item i { font-size:1.25rem; }
.nav-item.active { color:var(--v2-turquoise); background:var(--v2-turquoise-soft); }

/* Ana sayfa: gerçek veriyle kompakt antrenman şeridi + iki ana panel */
#page-home.home-dashboard { padding:26px var(--workspace-gutter) calc(var(--nav-height) + var(--safe-bottom) + 26px); background:var(--v2-ice); }
.home-dashboard #home-dashboard.v2-home-duo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--workspace-gap); align-items:start; }
.v2-workout-ribbon {
  grid-column:1/-1;
  min-height:218px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(230px,.38fr);
  align-items:center;
  gap:24px;
  padding:30px 32px;
  border-radius:30px;
  background:radial-gradient(circle at 85% 15%,rgba(255,157,36,.45),transparent 28%),linear-gradient(125deg,var(--v2-navy),#075a70 64%,var(--v2-turquoise));
  box-shadow:0 18px 38px rgba(7,67,85,.22);
}
.v2-workout-ribbon .home-command-top { font-size:.68rem; }
.v2-workout-ribbon .home-command-top i { width:52px; height:52px; border-radius:17px; font-size:1rem; }
.v2-workout-ribbon .home-today-command-copy { max-width:none; margin-top:15px; }
.v2-workout-ribbon .home-today-command-copy strong { font-size:1.55rem; }
.v2-workout-ribbon .home-today-command-copy small { font-size:.75rem; }
.v2-workout-ribbon button { min-height:var(--v2-action); margin-top:18px; border-radius:18px; font-size:.78rem; }
.home-muscle-stage,.home-energy-stage { min-height:0; height:auto; padding:24px !important; border-radius:var(--v2-radius) !important; }
.home-muscle-stage .heatmap-layout { min-height:0; }
.home-muscle-stage .heatmap-stage { height:290px; }
.home-energy-stage .energy-chart { height:210px; }
.home-energy-summary strong { font-size:2rem; }
.home-history-stage,.home-metric-strip { grid-column:1/-1; }
.home-history-stage { min-height:0; padding:22px 24px !important; }
.home-metric-strip { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:14px !important; }
.home-metric-strip > div { min-height:112px; padding:18px 20px; border-radius:20px; }
.home-metric-strip span { font-size:.64rem; }
.home-metric-strip b { font-size:1.18rem; }
.home-dashboard .ad-placeholder { grid-column:1/-1; min-height:58px; margin-top:0; }

/* Program merkezi */
#page-program { padding-inline:var(--workspace-gutter); }
#page-program .section-title { margin-bottom:18px; font-size:1rem; }
#page-program .pt-learning-card { margin-bottom:18px; padding:20px !important; border-radius:22px !important; }
.program-hub { padding:0 0 10px; }
.program-hub-heading { padding:8px 2px 20px; }
.program-hub-actions { display:grid; gap:18px; }
.program-hub-secondary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.program-choice-card { min-height:245px; padding:26px; border-radius:24px; }
.program-choice-card-primary { min-height:285px; }
.program-choice-card-primary .program-choice-copy strong { font-size:1.32rem; }
.program-choice-copy strong { font-size:1rem; }
.program-choice-copy small { font-size:.7rem; line-height:1.45; }
.program-choice-icon { width:54px; height:54px; border-radius:18px; font-size:1rem; }
.program-location-grid,.location-preset-grid,.pt-visual-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.program-location-card,.location-preset-card,.pt-visual-grid-three .pt-visual-choice { min-height:154px; border-radius:22px; }
.location-presets { padding:22px; border-radius:var(--v2-radius); }
.location-preset-card { padding:20px; }
.location-preset-icon { width:58px; height:58px; border-radius:19px; }
.pt-workspace,.custom-program-studio,.manual-workout-workspace { font-size:.8rem; }

/* Egzersiz keşfi ve gerçek egzersiz sonuç kartları */
.tile-grid { gap:var(--workspace-gap); }
.explore-workspace .muscle-map-card { min-height:410px; padding:22px; border-radius:var(--v2-radius); }
.explore-workspace .muscle-map-stage { max-width:360px; }
.explore-workspace .explore-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.explore-workspace .explore-category-grid .body-card { min-height:154px; padding:20px; border-radius:22px; }
.explore-workspace .explore-category-grid .body-card-icon { width:52px; height:52px; }
.explore-workspace .explore-category-grid .body-card-name { font-size:.82rem; }
#page-exercises { padding:24px var(--workspace-gutter) calc(var(--nav-height) + 30px); }
#page-exercises .back-row { min-height:var(--v2-touch); font-size:.85rem; }
#page-exercises .chip-group { gap:9px; margin-bottom:18px; }
#page-exercises .chip { min-height:48px; padding:0 15px; font-size:.68rem; }
#exercise-list.exercise-grid,.exercise-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#exercise-list .exercise-card,#exercise-list .exercise-item { position:relative; min-height:290px; display:block; overflow:hidden; padding:0; border-radius:22px; background:var(--v2-card); }
#exercise-list .exercise-gif { width:100%; height:190px; border-radius:0; object-fit:contain; background:#edf2f5; }
#exercise-list .exercise-info { padding:15px 16px 17px; }
#exercise-list .exercise-name { min-height:42px; font-size:.78rem; line-height:1.3; }
#exercise-list .exercise-meta { gap:5px; flex-wrap:wrap; }
#exercise-list .exercise-badge { font-size:.56rem; }
#exercise-list .exercise-rating { margin-top:8px; }
#exercise-list .exercise-star { font-size:.9rem; }
#exercise-list .fav-star-btn { position:absolute; z-index:2; top:11px; right:11px; width:44px; height:44px; border-radius:15px; background:rgba(7,28,46,.84); }

/* Beslenme */
.diet-workspace .diet-date-tile { margin-bottom:18px; padding:16px 18px; border-radius:20px; }
.diet-workspace .diet-date-tile label { font-size:.7rem; }
.diet-workspace .diet-date-tile input { min-height:var(--v2-touch); font-size:.78rem; }
.diet-top-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--workspace-gap); }
.diet-workspace .diet-calorie-tile { grid-column:1; grid-template-columns:170px minmax(0,1fr); min-height:330px; padding:24px; border-radius:var(--v2-radius); }
.diet-workspace .diet-water-tile { grid-column:2; min-height:330px; padding:24px; border-radius:var(--v2-radius); }
.diet-workspace .diet-quick-tile { grid-column:1/-1; min-height:0; padding:24px; border-radius:var(--v2-radius); }
.diet-workspace .water-glasses { gap:10px; }
.diet-workspace .water-glass { height:52px; }
.diet-workspace #quick-calorie-card > div:last-child { grid-template-columns:190px minmax(0,1fr) auto !important; gap:12px !important; }
.diet-workspace #quick-calorie-card button { min-height:var(--v2-touch); }
.diet-action-grid { gap:18px; margin:18px 0 20px; }
.diet-action-tile { min-height:170px; padding:22px; border-radius:22px; }
.diet-action-tile i { width:52px; height:52px; border-radius:17px; }
.diet-action-tile span { font-size:.84rem; }
.diet-action-tile small { font-size:.66rem; }

/* İlerleme */
.progress-bento { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--workspace-gap); }
.progress-bento .card { padding:24px !important; border-radius:var(--v2-radius); }
.progress-bmi-tile { grid-column:1/-1; min-height:132px; }
.progress-weight-tile,.progress-photo-tile { min-height:350px; }
.progress-workspace .weight-input-row { grid-template-columns:130px minmax(0,1fr) var(--v2-touch); gap:10px; }
.progress-workspace .weight-input-row input { min-height:var(--v2-touch); }
.progress-workspace .progress-photo-tile label { min-width:var(--v2-touch); min-height:var(--v2-touch); font-size:.68rem; }
.progress-history-heading { margin:24px 2px 12px; font-size:1rem; }
.progress-workspace #recent-workouts { min-height:180px; padding:22px 24px; border-radius:var(--v2-radius); }

/* Güvenlik, erişilebilirlik ve koyu tema */
.mobile-v2-header,.mobile-brand,.mobile-top-actions,.v2-home-duo,.program-hub-secondary,.diet-top-grid,.progress-bento { min-width:0; }
.mobile-icon-button:focus-visible,.nav-item:focus-visible,.workspace-page button:focus-visible,.workspace-page input:focus-visible,.workspace-page select:focus-visible { outline:4px solid rgba(0,174,187,.35); outline-offset:3px; }
[data-theme="dark"] { --v2-ice:#071421; --v2-card:#102538; --v2-ink:#f2f7f9; --v2-muted:#a5b6c1; --v2-line:#264157; }
[data-theme="dark"] body,[data-theme="dark"] .app-container,[data-theme="dark"] #page-home.home-dashboard { background:var(--v2-ice); }
[data-theme="dark"] .app-header.mobile-v2-header,[data-theme="dark"] .bottom-nav { background:rgba(10,29,44,.96); }
[data-theme="dark"] .mobile-brand-copy strong { color:var(--v2-ink); }

@media (max-width:599px) {
  html { font-size:18px; }
  :root { --workspace-gutter:14px; --workspace-gap:14px; --nav-height:86px; }
  .app-header.mobile-v2-header { min-height:76px; padding:9px 12px; gap:10px; }
  .mobile-brand .header-logo-img { width:52px; height:52px; }
  .mobile-brand-copy strong { font-size:.9rem; }
  .mobile-brand-copy .app-version { display:none; }
  .mobile-top-actions { gap:6px; }
  .mobile-icon-button { width:52px; height:52px; min-width:52px; min-height:52px; border-radius:15px; }
  .workspace-page,#page-home.home-dashboard { padding-top:18px; }
  .home-dashboard #home-dashboard.v2-home-duo { grid-template-columns:1fr; }
  .v2-workout-ribbon { grid-template-columns:1fr; min-height:0; padding:24px; }
  .home-muscle-stage,.home-energy-stage,.home-history-stage,.home-metric-strip { grid-column:1; }
  .home-metric-strip { grid-template-columns:1fr !important; }
  .program-hub-secondary { grid-template-columns:1fr; }
  .program-location-grid,.location-preset-grid,.pt-visual-grid-three { grid-template-columns:1fr; }
  .explore-workspace .explore-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #exercise-list.exercise-grid,.exercise-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .diet-top-grid,.progress-bento { grid-template-columns:1fr; }
  .diet-workspace .diet-calorie-tile,.diet-workspace .diet-water-tile,.diet-workspace .diet-quick-tile { grid-column:1; }
  .diet-workspace #quick-calorie-card > div:last-child { grid-template-columns:1fr !important; }
  .progress-bmi-tile { grid-column:1; }
  .bottom-nav { min-height:86px; padding-inline:5px; }
  .nav-item { min-height:70px; padding:4px; font-size:.56rem; }
}

@media (max-width:410px) {
  .mobile-brand-copy { display:none; }
  .app-header.mobile-v2-header { padding-inline:9px; }
  .mobile-icon-button { width:48px; height:48px; min-width:48px; min-height:48px; }
  .diet-workspace .diet-calorie-tile { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
