/* R5.7 — consolidated human-approved refinements and secondary entries. */
:root { --gts-compact-row:50px; --gts-notice-row:80px; }
#app .gts-primary .r4-next-card { grid-template-columns:38px minmax(0,1fr) 14px!important; grid-template-rows:auto!important; gap:10px!important; min-height:var(--gts-notice-row)!important; padding:9px 10px!important; }
#app .gts-primary .r4-next-day { grid-row:1!important; width:38px!important; height:42px!important; font-size:20px!important; }
#app .gts-primary .r54-next-copy { grid-row:1!important; }
#app .gts-primary .r54-next-title { display:block!important; font-size:9px!important; line-height:1.4!important; margin:0 0 4px!important; }
#app .gts-primary .r54-next-copy b { font-size:14px!important; line-height:1.3!important; }
#app .gts-primary .r54-next-copy em { font-size:11px!important; margin-top:2px!important; }
#app .gts-primary .r4-next-card>i { grid-row:1!important; font-size:24px!important; }
#app .gts-primary .r4-recovery { min-height:var(--gts-notice-row)!important; }
#app .gts-primary .r56-week-summary { min-height:var(--gts-notice-row); padding:9px 10px!important; }
#app .gts-primary .r56-week-summary h3 { font-size:10px; line-height:1.3; margin:0 0 7px; }
#app .gts-primary .r56-week-values>span { text-align:center; padding:0 4px; }
#app .gts-primary .r56-week-values b { font-size:19px; line-height:1.15; }
#app .gts-primary .r56-week-values em { font-size:9px; margin-top:3px; }
#app .gts-primary .training-day-list { gap:7px!important; }
#app .gts-primary .training-day-card { min-height:var(--gts-compact-row)!important; grid-template-columns:37px minmax(0,1fr) 15px!important; column-gap:12px!important; padding:6px 11px!important; border-radius:10px!important; }
#app .gts-primary .training-day-card .day-badge { min-width:37px!important; width:37px!important; height:37px!important; font-size:17px!important; }
#app .gts-primary .training-day-card b { font-size:14px!important; line-height:1.2!important; }
#app .gts-primary .training-day-card small { font-size:9px!important; line-height:1.2!important; margin-top:1px!important; }
#app .gts-primary .training-day-card.suggested { box-shadow:0 0 9px #00aaff30,inset 0 0 12px #0087ed30!important; }
#app .gts-primary .retrospective-cta { min-height:var(--gts-compact-row)!important; margin-top:15px!important; padding:8px 11px!important; font-size:14px!important; }
#app .gts-primary .retrospective-icon { width:23px!important; height:23px!important; }
#app .gts-primary .r52-cardio-home>.app-hero::before,#app .gts-primary .r52-cardio-home>.app-hero::after { content:none!important; display:none!important; background:none!important; }
#app .gts-primary .r52-cardio-home>.app-hero { background:transparent!important; box-shadow:none!important; backdrop-filter:none!important; }
#app .gts-primary .r52-cardio-home>.r4-recovery { margin:0 0 12px!important; }
#app .gts-primary .r57-cardio-row { display:grid; grid-template-columns:minmax(0,1fr) 44px; min-height:var(--gts-compact-row); border:1px solid #205978; border-radius:10px; background:linear-gradient(110deg,rgba(4,24,39,.92),rgba(4,32,48,.95)); overflow:hidden; }
#app .gts-primary .r52-cardio-days button.r57-cardio-select { border:0!important; border-radius:0!important; background:none!important; box-shadow:none!important; min-width:0; min-height:48px!important; grid-template-columns:37px minmax(0,1fr)!important; padding:6px 0 6px 11px!important; }
#app .gts-primary .r52-cardio-days button.r57-protocol-arrow { display:grid!important; place-items:center!important; grid-template-columns:1fr!important; border:0!important; border-left:1px solid #1c547050!important; border-radius:0!important; min-width:44px; min-height:48px!important; padding:0!important; color:#7bd5ff!important; font-size:26px!important; background:transparent!important; box-shadow:none!important; }
#app .gts-primary .r57-cardio-row.selected { border-color:#00b8ff; box-shadow:0 0 9px #00aaff30,inset 0 0 12px #0087ed30; }
#app .gts-primary .r57-cardio-row.selected .day-badge { background:linear-gradient(130deg,#00b8ff,#0071eb)!important; }
#app .gts-primary .r52-cardio-kpis { margin-top:14px!important; }
#app .gts-primary .r52-cardio-kpis span { min-height:74px!important; padding:7px 4px!important; gap:4px!important; }
#app .gts-primary .r52-cardio-kpis i,#app .gts-primary .r52-cardio-kpis svg { width:21px!important; height:21px!important; }
#app .gts-primary .r52-cardio-kpis b { font-size:17px!important; }
#app .gts-primary .r52-cardio-kpis small { font-size:10px!important; }

/* Photos are the supplied originals; monochrome/cool grading is CSS only.
   Their source watermark, when present, is not removed or reconstructed. */
#app .gts-secondary { position:relative!important; background:#03121e!important; overflow:clip!important; margin:0 auto!important; border-radius:0!important; }
#app .gts-secondary::before { display:none!important; }
#app .gts-secondary-backdrop { position:absolute; inset:0 0 auto; height:260px; overflow:hidden; background:#03456a; pointer-events:none; z-index:0; }
#app .gts-secondary-backdrop img { display:block; width:100%; height:auto; min-height:150px; object-fit:cover; filter:grayscale(1) brightness(.67) contrast(1.12); mix-blend-mode:luminosity; }
#app .gts-secondary-settings .gts-secondary-backdrop img { filter:grayscale(1) brightness(.43) contrast(1.2); }
#app .gts-secondary-backdrop::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 20%,#03121e44 48%,#03121e 92%); }
#app .gts-secondary>.app-header { position:relative; z-index:2; background:transparent!important; border:0!important; box-shadow:none!important; min-height:72px!important; padding:calc(12px + env(safe-area-inset-top,0px)) 16px 10px!important; }
#app .gts-secondary .brand-lockup { padding:0!important; text-align:left; min-width:0; }
#app .gts-secondary .brand-copy p { font-size:9px!important; }
#app .gts-secondary .sync-pill { max-width:120px; font-size:9px!important; white-space:normal; text-align:center; }
#app .gts-secondary>.screen { position:relative; z-index:1; flex:0 0 auto; padding:0 16px calc(82px + env(safe-area-inset-bottom,0px))!important; gap:10px!important; align-content:start; }
#app .gts-secondary .app-page-title { min-height:90px; margin:0!important; padding:13px 3px 14px!important; background:none!important; border:0!important; box-shadow:none!important; }
#app .gts-secondary .app-page-title::before,#app .gts-secondary .app-page-title::after { display:none!important; content:none!important; }
#app .gts-secondary .app-page-title .page-icon,#app .gts-secondary .app-page-title .eyebrow { display:none!important; }
#app .gts-secondary .app-page-title h2 { color:white!important; font-size:27px!important; line-height:1.2; margin:0 0 4px!important; }
#app .gts-secondary .app-page-title p { color:#bbdef2!important; font-size:12px!important; margin:0!important; line-height:1.4; }
#app .gts-secondary [hidden] { display:none!important; }
#app .gts-secondary .icon-back { width:34px; min-width:34px; height:34px; border:1px solid #23618a; border-radius:9px; color:#34c5ff; background:#031c30; }

/* History keeps dates, periods, filters and every record action. */
#app .gts-secondary-history .evolution-link { min-height:36px; padding:7px 9px; border:1px solid #168bcc; border-radius:9px; background:linear-gradient(130deg,#074876,#03223e); color:#b6eaff; font-size:11px; }
#app .gts-secondary-history .history-filter-row,#app .gts-secondary .r4-evolution-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #155172; border-radius:20px; overflow:hidden; padding:0; background:#032033; }
#app .gts-secondary .r4-evolution-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); }
#app .gts-secondary-history .history-filter-row button,#app .gts-secondary .r4-evolution-tabs button { min-height:34px; padding:6px 4px; background:transparent; border:0; color:#c8e8fa; font-size:11px; border-radius:20px; }
#app .gts-secondary-history .history-filter-row button.active,#app .gts-secondary .r4-evolution-tabs button.active { background:linear-gradient(120deg,#0571e8,#00a9ff); color:white; box-shadow:inset 0 1px #41ccff; }
#app .gts-secondary-history .history-period-row { display:flex; gap:6px; flex-wrap:wrap; margin:0; }
#app .gts-secondary-history .history-period-row button { flex:1; min-height:30px; padding:5px; color:#a7d4ed; background:#062336; border:1px solid #174862; font-size:10px; border-radius:7px; }
#app .gts-secondary-history .history-period-row button.active { color:#1cc8ff; border-color:#0797d5; }
#app .gts-secondary-history .history-date-label { color:#19c9ff; margin:12px 2px 7px; font-size:11px; }
#app .gts-secondary-history .history-activity-row { width:100%; display:grid!important; grid-template-columns:48px minmax(0,1fr) 14px!important; align-items:center; gap:9px!important; min-height:69px!important; margin:6px 0!important; padding:7px 9px!important; border:1px solid #205778!important; border-radius:11px!important; background:linear-gradient(115deg,#062b40,#031725)!important; color:white!important; text-align:left; }
#app .gts-secondary-history .r57-history-icon { display:flex!important; flex-direction:column; justify-content:center; align-items:center; width:48px!important; min-width:48px!important; height:52px!important; padding:2px!important; border-radius:9px; background:linear-gradient(145deg,#123f5f,#062b45); }
#app .gts-secondary-history .r57-type-icon { display:block; width:38px!important; height:38px!important; overflow:visible; }
#app .gts-secondary-history .r57-history-icon small { margin:0!important; font-size:8px!important; line-height:1.1; color:#a7d7f2!important; }
#app .gts-secondary-history .history-activity-row>span:nth-child(2) { min-width:0; }
#app .gts-secondary-history .history-activity-row b { display:block; font-size:12px!important; line-height:1.3; color:#f6fcff!important; }
#app .gts-secondary-history .history-kind { font-size:9px; color:#58d6ff; }
#app .gts-secondary-history .history-activity-row small { display:block; font-size:10px!important; line-height:1.4; margin-top:3px; color:#a5d1ea!important; white-space:normal; }
#app .gts-secondary-history .history-activity-row>i { color:#74d5ff; font-style:normal; font-size:24px; }

/* Functional settings entry, using the approved seven-category structure. */
#app .gts-secondary .r57-settings-menu { border:1px solid #205e7b; border-radius:13px; overflow:hidden; background:linear-gradient(115deg,#05293dcc,#031725f5); }
#app .gts-secondary .r57-settings-menu button { display:grid; grid-template-columns:24px minmax(0,1fr) 14px; align-items:center; gap:13px; width:100%; min-height:48px; padding:9px 13px; border:0; border-bottom:1px solid #194559; background:transparent; color:#d6efff; text-align:left; }
#app .gts-secondary .r57-settings-menu button:last-child { border-bottom:0; }
#app .gts-secondary .r57-settings-menu i { display:grid; place-items:center; color:#69ceff; }
#app .gts-secondary .r57-settings-menu svg { width:22px; height:22px; }
#app .gts-secondary .r57-settings-menu span { font-size:13px; }
#app .gts-secondary .r57-settings-menu b { font-size:22px; color:#83d6ff; font-weight:400; }
#app .gts-secondary .r57-settings-menu button:active { background:#074e72; }
#app .gts-secondary .settings-section .settings-group { background:linear-gradient(125deg,#062a3e,#041b2b); border:1px solid #215977; border-radius:12px; overflow:hidden; margin:0 0 12px; }
#app .gts-secondary .settings-section .setting-row { color:#e1f3ff; border-color:#1b465c; }
#app .gts-secondary .settings-section .setting-row span { color:#aacddd; }
#app .gts-secondary .settings-section .setting-action { color:#64caff; }
#app .gts-secondary .settings-section .app-page-title h2 { font-size:22px!important; }

/* Evolution is descriptive; tabs switch the visible axis, without new rules. */
#app .gts-secondary-evolution .evolution-axis { border:1px solid #1d536e!important; background:linear-gradient(125deg,#032c3e,#021823)!important; padding:11px!important; margin:0!important; border-radius:12px!important; }
#app .gts-secondary-evolution .r5-axis-head { display:flex; align-items:center; gap:9px; margin-bottom:9px; }
#app .gts-secondary-evolution .axis-icon { width:34px; height:34px; display:grid; place-items:center; color:#00dca0; background:#064132; border-radius:8px; }
#app .gts-secondary-evolution .axis-icon svg { width:26px; height:26px; fill:currentColor; }
#app .gts-secondary-evolution .axis-icon.cardio { color:#00bfff; background:#043652; }
#app .gts-secondary-evolution .axis-icon.body { color:#74bfff; background:#123858; }
#app .gts-secondary-evolution .eyebrow { color:#00c9ff; font-size:10px; margin:0 0 3px; }
#app .gts-secondary-evolution h3 { font-size:13px; margin:0; }
#app .gts-secondary-evolution .summary-kpis { display:flex; flex-wrap:wrap; gap:7px; margin:8px 0; }
#app .gts-secondary-evolution .summary-kpis>span { flex:1 1 80px; min-width:0; background:#02121e; border:1px solid #174e66; border-radius:8px; padding:9px; }
#app .gts-secondary-evolution .summary-kpis .wide-kpi { flex:2 1 150px; }
#app .gts-secondary-evolution .summary-kpis b { display:block; color:#eefaff; font-size:16px; }
#app .gts-secondary-evolution .summary-kpis small { color:#b4d5e9; font-size:10px; }
#app .gts-secondary-evolution .evolution-axis>small { display:block; color:#97b8ce; font-size:10px; line-height:1.4; }
#app .gts-secondary-evolution .r4-trend-bars { height:38px; display:flex; gap:4px; align-items:flex-end; margin:9px 0; }
#app .gts-secondary-evolution .r4-trend-bars i { flex:1; min-height:0!important; border:0!important; background:linear-gradient(0deg,#0451bb,#00baff); }
#app .gts-secondary-evolution .evolution-axis:nth-of-type(3) .r4-trend-bars i { background:linear-gradient(0deg,#00664a,#00e99f); }
#app .gts-secondary-evolution .body-metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
#app .gts-secondary-evolution .body-metric-grid>span { padding:9px 4px; border:1px solid #174e66; border-radius:8px; background:#02121e; text-align:center; }
#app .gts-secondary-evolution .body-metric-grid b { font-size:16px; display:block; color:white; }
#app .gts-secondary-evolution .body-metric-grid small { font-size:10px; color:#a3cbe0; }

/* App-owned opening. Native Android/PWA launch UI remains platform-owned. */
.gts-opening { position:relative; isolation:isolate; width:100%; min-height:100svh; min-height:100dvh; overflow:hidden; color:white; background:#03121e; display:flex; align-items:center; justify-content:center; padding:24px; }
.gts-opening::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#03121e15,#03121e00 45%,#03121eaa),url('./assets/ui/home-cinematic-r5.jpg') center center/cover no-repeat; }
.gts-opening-copy { width:100%; max-width:400px; text-align:center; text-shadow:0 2px 9px #000; }
.gts-opening-copy h1 { margin:0 0 8px; font-size:32px; font-weight:750; letter-spacing:-.025em; }
.gts-opening-copy p { margin:0 0 12px; font-size:14px; color:#8edbff; letter-spacing:.13em; text-transform:uppercase; }
.gts-opening-copy small { color:#a6e0ff; font-size:12px; }
.gts-opening-slogan { position:absolute; right:24px; bottom:calc(30px + env(safe-area-inset-bottom,0px)); margin:0; font-size:12px; line-height:1.6; letter-spacing:.35em; text-transform:uppercase; }
.opening-back { position:absolute; left:18px; top:calc(18px + env(safe-area-inset-top,0px)); color:#bcecff; border:1px solid #22658c; border-radius:9px; padding:9px 12px; background:#031a2ddd; }
#app .gts-secondary button:focus-visible { outline:2px solid #88deff; outline-offset:2px; }
@media(max-width:360px) {
 #app .gts-secondary>.screen { padding-left:12px!important; padding-right:12px!important; }
 #app .gts-primary .training-day-card b { font-size:12px!important; }
 #app .gts-primary .training-day-card small { font-size:8px!important; }
 #app .gts-primary .r56-week-values b { font-size:17px; }
}
