/* Performer Alpha 0.7 — performance intelligence and mobile training */
.mobile-dock{display:none}.offline-state{position:fixed;left:50%;bottom:18px;z-index:80;transform:translateX(-50%);padding:9px 14px;border:1px solid #d18b3f;border-radius:999px;background:#261b0f;color:#ffd49c;font-size:10px;font-weight:800;letter-spacing:.08em;box-shadow:0 12px 35px rgba(0,0,0,.28)}
.exercise-insight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}.exercise-insight>span{display:grid;gap:3px;padding:11px 13px;border:1px solid var(--glass-border);border-radius:11px;background:color-mix(in srgb,var(--bg) 38%,transparent);color:var(--muted);font-size:9px;letter-spacing:.08em}.exercise-insight b{color:var(--text);font-size:14px;letter-spacing:0}.exercise-insight small{font-size:10px;letter-spacing:0;color:var(--muted)}
.sets-head,.setrow{grid-template-columns:35px 65px minmax(55px,1fr) minmax(55px,1fr) 82px 66px 44px 38px 38px}.rest-input{padding-inline:6px!important;text-align:center}.rest-timer{margin:9px 0}.rest-timer.running{border-color:var(--accent);color:var(--accent);box-shadow:0 0 24px color-mix(in srgb,var(--accent) 18%,transparent)}
.exercise-note-form{display:grid;grid-template-columns:minmax(220px,1fr) 170px auto;gap:9px;align-items:center;margin-top:12px;padding-top:14px;border-top:1px dashed var(--glass-border)}.exercise-note-form label{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;color:var(--muted);font-size:11px}.exercise-note-form input[type=range]{padding:0}.complete-workout{display:flex;justify-content:flex-end;margin-top:20px}
.ai-conversation{grid-column:1/-1}.ai-conversation-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.ai-conversation-head h2{margin:5px 0}.ai-conversation-head p{margin:0;color:var(--muted)}.ai-shortcuts{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.ai-shortcuts button{border:1px solid var(--glass-border);border-radius:999px;padding:9px 12px;background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--muted);font:inherit;font-size:11px}.ai-shortcuts button:hover{color:var(--text);border-color:var(--accent)}.ai-chat-log{display:grid;gap:9px;max-height:410px;overflow:auto;margin:15px 0;padding-right:5px}.ai-chat-log>div{max-width:86%;padding:12px 14px;border:1px solid var(--glass-border);border-radius:14px;background:color-mix(in srgb,var(--bg) 48%,transparent)}.ai-chat-log .user{justify-self:end;background:color-mix(in srgb,var(--accent) 11%,var(--glass))}.ai-chat-log span{display:block;margin-bottom:4px;color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.14em}.ai-chat-log p{margin:0;line-height:1.6}.ai-chat-form{display:grid;grid-template-columns:190px minmax(260px,1fr) auto;gap:9px}.ai-chat-form textarea{min-height:72px;padding:12px;border-radius:10px;resize:vertical}
.target-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}.target-grid label{margin:0!important}.ai-test-row{display:grid;grid-template-columns:1fr 260px auto;gap:10px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid var(--glass-border);color:var(--muted);font-size:11px}.ai-test-row select{width:100%}
.nutrition-tools,.cardio-presets{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.nutrition-tools>div,.cardio-presets>div{margin-right:auto}.nutrition-tools h2{margin:3px 0}.cardio-presets>div{display:grid}.cardio-presets strong{font-size:20px}.save-meal-template{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:12px}.save-meal-template input{padding:9px}.backup-validator{display:grid;gap:9px;margin-top:14px;padding-top:14px;border-top:1px solid var(--glass-border)}
.system-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:8px}.system-checks span{display:flex;gap:9px;align-items:center;padding:11px;border:1px solid var(--glass-border);border-radius:10px;color:var(--muted)}.system-checks .ok b{color:var(--ok)}.system-checks .bad b{color:var(--danger)}.error-log{display:grid;gap:7px;max-height:260px;overflow:auto;margin:18px 0}.error-log article{display:grid;grid-template-columns:145px 100px 1fr;gap:10px;padding:10px;border-bottom:1px solid var(--glass-border)}.error-log time,.error-log strong{font-size:10px;color:var(--muted)}.error-log p{margin:0}
.period-tabs{display:flex;gap:7px}.progress-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.progress-kpis article{display:grid;gap:8px}.progress-kpis span{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em}.progress-kpis strong{font-size:clamp(24px,2.5vw,38px)}.progress-chart{margin-bottom:18px}.progress-bars{display:flex;align-items:end;gap:5px;height:240px;padding-top:20px;overflow-x:auto}.progress-bars>div{height:100%;min-width:20px;flex:1;display:grid;grid-template-rows:1fr auto;align-items:end;gap:6px}.progress-bars span{display:block;min-height:3px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 34%,transparent));box-shadow:0 0 18px color-mix(in srgb,var(--accent) 16%,transparent)}.progress-bars small{font-size:8px;color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg);justify-self:center}.progress-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.pr-list{display:grid}.pr-list article{display:grid;grid-template-columns:1fr auto 110px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--glass-border)}.pr-list article>div{display:grid}.pr-list small{color:var(--muted)}.pr-list b{color:var(--accent)}.pr-list span{text-align:right;color:var(--muted)}
@media(max-width:1200px){.target-grid{grid-template-columns:repeat(3,1fr)}.progress-grid{grid-template-columns:1fr}.sets-head,.setrow{grid-template-columns:30px 52px minmax(50px,1fr) minmax(50px,1fr) 70px 58px 38px 36px 36px}}
@media(max-width:900px){main.app{padding-bottom:100px}.mobile-dock{position:fixed;z-index:50;inset:auto 8px max(8px,env(safe-area-inset-bottom)) 8px;display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:7px;border:1px solid var(--glass-border);border-radius:18px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(24px);box-shadow:0 18px 55px rgba(0,0,0,.35)}.mobile-dock a{display:grid;place-items:center;gap:3px;padding:7px 3px;border-radius:12px;color:var(--muted)}.mobile-dock a.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,transparent)}.mobile-dock small{font-size:8px}.mobile-dock .nav-icon svg{width:19px;height:19px}.progress-kpis{grid-template-columns:1fr 1fr}.target-grid{grid-template-columns:1fr 1fr}.ai-chat-form{grid-template-columns:1fr}.ai-test-row{grid-template-columns:1fr}.exercise-note-form{grid-template-columns:1fr 150px}.exercise-note-form .btn{grid-column:1/-1}}
@media(max-width:620px){.exercise-insight{grid-template-columns:1fr 1fr}.exercise-insight>span:last-child{grid-column:1/-1}.sets-head{display:none}.setrow{grid-template-columns:26px 46px 1fr 1fr;gap:7px;padding:12px 0;border-bottom:1px solid var(--glass-border)}.setrow select,.setrow .rest-input{grid-column:auto}.setrow .check{justify-self:center}.setrow button{min-width:38px}.exercise-note-form{grid-template-columns:1fr}.exercise-note-form .btn{grid-column:auto}.ai-conversation{padding:17px}.ai-conversation-head{display:block}.ai-chat-log>div{max-width:96%}.progress-kpis{gap:8px}.progress-kpis article{padding:15px}.progress-kpis strong{font-size:24px}.progress-bars{height:190px}.pr-list article{grid-template-columns:1fr auto}.pr-list span{grid-column:1/-1;text-align:left}.target-grid{grid-template-columns:1fr}.error-log article{grid-template-columns:1fr}.cardio-presets form,.nutrition-tools form{flex:1}.cardio-presets .btn,.nutrition-tools .btn{width:100%}}
/* Beta 1.8: keep the drawer above page notices and clear its shortcuts. */
@media(max-width:900px){
 body.nav-open .mobile-dock{display:none!important}
 body.nav-open aside{z-index:100}
 body.nav-open .menu{z-index:101}
 .mobile-dock a[data-route=cardio]{color:#70c6ff}
 .mobile-dock a[data-route=nutrition]{color:#ffbd66}
 .mobile-dock a[data-route=hydration]{color:#62ddd2}
}
