/* Minha Central — experiência intuitiva. Ajustes progressivos e isolados. */
:root{--mc-ease:cubic-bezier(.2,.8,.2,1)}
button,[role="button"]{touch-action:manipulation}
button{transition:filter .16s var(--mc-ease),transform .16s var(--mc-ease),border-color .16s var(--mc-ease)}
button:not(:disabled):hover{filter:brightness(1.06)}
button:focus-visible,a:focus-visible,.gym-media-image[tabindex="0"]:focus-visible{
 outline:3px solid var(--read-accent,var(--blue));outline-offset:3px
}
#view-training .section-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;width:auto;min-width:0}
#view-training .section-actions button{flex:1;min-width:max-content}
.gym-media-image.gym-media-openable{cursor:zoom-in;transition:transform .17s var(--mc-ease),border-color .17s}
.gym-media-image.gym-media-openable:hover{transform:scale(1.04);border-color:var(--read-accent,var(--blue))}
#gym-image-dialog{width:min(95vw,660px);max-width:660px;padding:16px;border-radius:20px}
#gym-image-dialog .gym-image-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
#gym-image-dialog .gym-image-head h2{margin:0;font-size:1.13rem;line-height:1.4}
#gym-image-dialog .gym-image-frame{display:grid;place-items:center;min-height:210px;max-height:min(65dvh,620px);
  overflow:hidden;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}
#gym-image-dialog .gym-image-frame img{width:100%;height:auto;max-height:min(65dvh,620px);object-fit:contain}
#gym-image-dialog .gym-image-frame img[hidden]{display:none}
#gym-image-dialog .gym-image-frame p{color:var(--muted);padding:24px;text-align:center}
#gym-image-dialog .gym-image-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}
#gym-image-dialog .gym-image-actions small{color:var(--muted);font-size:.72rem}
#gym-image-dialog #gym-image-position[hidden]{display:none}
#edit-dialog .gym-catalog-panel{padding:0;margin:12px 0;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}
#edit-dialog .gym-catalog-panel>summary{padding:14px;cursor:pointer;font-weight:800;font-size:.88rem}
#edit-dialog .gym-catalog-panel[open]>summary{border-bottom:1px solid var(--line)}
#edit-dialog .gym-catalog-description{margin:12px 14px 6px;color:var(--muted);font-size:.77rem;line-height:1.5}
#edit-dialog .gym-catalog-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px}
#edit-dialog .gym-catalog-filter{min-height:39px;padding:8px 10px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:.75rem;font-weight:740}
#edit-dialog .gym-catalog-filter[aria-pressed="true"]{border-color:var(--read-accent,var(--blue));background:var(--read-accent-wash,var(--surface));color:var(--read-strong,var(--text))}
#edit-dialog .gym-catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:345px;overflow:auto;padding:0 12px 13px}
#edit-dialog .gym-catalog-item{display:grid;grid-template-columns:46px minmax(0,1fr) 35px;align-items:center;gap:7px;min-width:0;
 border:1px solid var(--line);border-radius:12px;padding:6px;background:var(--surface)}
#edit-dialog .gym-catalog-item .gym-media-image,#edit-dialog .gym-catalog-item .gym-media-placeholder{width:44px;height:44px;flex-basis:44px;border-radius:8px}
#edit-dialog .gym-catalog-add{display:flex;align-items:center;gap:8px;min-width:0;text-align:left;border:0;background:transparent;color:var(--text);padding:0;font-weight:760;font-size:.76rem}
#edit-dialog .gym-catalog-add span{min-width:0;line-height:1.35;overflow-wrap:anywhere}
#edit-dialog .gym-catalog-favorite{display:grid;place-items:center;border:1px solid var(--line);min-width:33px;height:36px;border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:1.05rem}
#edit-dialog .gym-catalog-favorite[aria-pressed="true"]{color:var(--read-accent,var(--blue))}
#edit-dialog .gym-catalog-empty{grid-column:1/-1;text-align:center;padding:24px 12px;color:var(--muted);font-size:.82rem}
#edit-dialog .gym-edit-media{min-width:0}
#edit-dialog .gym-suggestion-option .gym-media-image{pointer-events:none}
#toast{display:flex;align-items:center;gap:10px;top:auto;bottom:calc(81px + env(safe-area-inset-bottom,0px));font-weight:710;line-height:1.4;
 border:1px solid var(--read-stroke,var(--line));background:var(--read-card,var(--surface));color:var(--read-strong,var(--text));box-shadow:0 10px 35px #0005;text-align:left}
#toast::before{content:'✓';display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;
 background:var(--read-success-bg,var(--surface-2));color:var(--read-success,#43bd92);font-weight:900}
#toast[data-kind="error"]::before{content:'!';background:var(--surface-2);color:var(--read-danger,#dd8f8f)}
@media(min-width:900px){#toast{bottom:24px}}
@media(max-width:780px){
 #view-training .section-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 #view-training .section-actions button{min-width:0;white-space:normal}
 #edit-dialog .gym-catalog-list{grid-template-columns:1fr}
 #gym-image-dialog .gym-image-frame{min-height:170px}
}
@media(max-width:400px){#edit-dialog .gym-catalog-tabs{gap:4px}#edit-dialog .gym-catalog-filter{font-size:.72rem;padding:7px 8px}}
@media(prefers-reduced-motion:reduce){.gym-media-image.gym-media-openable,button{transition:none!important}}

#view-training .gym-routine-more{font-size:.74rem;font-weight:720;color:var(--muted);padding:3px 8px}
#edit-dialog .gym-catalog-add:focus-visible,#edit-dialog .gym-catalog-favorite:focus-visible{outline:3px solid var(--read-accent,var(--blue));outline-offset:2px}
@media(max-width:780px){#view-training .routine-tile .routine-controls{gap:7px}#view-training .routine-tile .routine-controls button{font-size:.81rem;padding:9px 7px}}

/* Orientação contextual para executar treino sem procurar controles. */
#view-training .gym-session-tools{
 display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
 gap:12px;margin:13px 0 17px;padding:13px 14px;
 background:var(--read-card,var(--surface-2));
 border:1px solid var(--read-stroke,var(--line));border-radius:14px
}
#view-training .gym-next-hint{margin:0;flex:1 1 220px;min-width:0;line-height:1.45;
 font-size:.83rem;font-weight:730;color:var(--read-strong,var(--text))}
#view-training .gym-session-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
#view-training .gym-session-buttons button{min-height:43px;padding:9px 11px;font-size:.8rem;font-weight:770}
#view-training #gym-next-exercise{border-color:var(--read-accent,var(--blue))}
#view-training .exercise-card:focus{outline:none}
#view-training .exercise-card.gym-next-highlight{
 border-radius:12px;outline:2px solid var(--read-accent,var(--blue));
 outline-offset:3px;background:var(--read-accent-wash,var(--surface-2));
 animation:gym-focus-pulse .8s ease-out
}
@keyframes gym-focus-pulse{0%{outline-offset:7px}100%{outline-offset:3px}}
#view-training .load-details[open]>summary{font-weight:760}
#edit-dialog .gym-editor-guide{margin:9px 0 12px;padding:10px 12px;
 border:1px solid var(--line);border-radius:11px;background:var(--surface-2);
 color:var(--muted);font-size:.77rem;line-height:1.5}
@media(max-width:680px){
 #view-training .gym-session-tools{padding:12px;gap:10px}
 #view-training .gym-session-buttons{width:100%;display:grid;grid-template-columns:1fr 1fr}
 #view-training .gym-session-buttons button{min-width:0;padding:9px 7px;white-space:normal;font-size:.75rem}
}
@media(max-width:360px){#view-training .gym-session-buttons{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#view-training .exercise-card.gym-next-highlight{animation:none}}

/* Academia minimalista: fichas primeiro, detalhes e calendário sob demanda. */
#view-training .gym-fichas-head{margin:19px 0 12px}
#view-training .gym-fichas-head p{max-width:590px;line-height:1.45}
#view-training .routine-grid{gap:12px}
#view-training .routine-tile{gap:8px;padding:16px;border-radius:16px;min-height:0}
#view-training .routine-tile .routine-title{font-size:1.08rem;line-height:1.35}
#view-training .routine-tile .routine-meta{margin:0;font-size:.79rem}
#view-training .routine-tile .routine-controls{margin-top:5px}
#view-training .routine-tile .routine-controls button{min-height:43px}
#view-training .routine-tile .routine-settings{margin-top:4px;padding-top:7px}
#view-training .routine-tile .routine-last-done{font-size:.74rem}
#view-training .gym-week-disclosure{
 margin:18px 0 10px;
 border:1px solid var(--read-stroke,var(--line));
 background:var(--read-card,var(--surface));
 border-radius:16px;overflow:hidden;
}
#view-training .gym-week-summary{
 display:flex;align-items:center;gap:12px;
 cursor:pointer;list-style:none;padding:14px 16px;
 background:var(--read-card,var(--surface));color:var(--read-strong,var(--text));
}
#view-training .gym-week-summary::-webkit-details-marker{display:none}
#view-training .gym-week-summary::after{
 content:'⌄';font-size:1.3rem;font-weight:800;line-height:1;
 color:var(--read-muted,var(--muted));transition:transform .15s ease;
}
#view-training .gym-week-disclosure[open]>.gym-week-summary::after{transform:rotate(180deg)}
#view-training .gym-week-summary:focus-visible{outline:3px solid var(--read-accent,var(--blue));outline-offset:-3px}
#view-training .gym-week-summary .week-head{flex:1;min-width:0;gap:9px}
#view-training .gym-week-summary .week-head h2{font-size:1rem;margin:0 0 3px;line-height:1.35}
#view-training .gym-week-summary .week-head .kicker{display:none}
#view-training .gym-week-summary .week-head p{font-size:.75rem;color:var(--read-muted,var(--muted))}
#view-training .gym-week-summary .week-count{font-size:.69rem;padding:6px 9px}
#view-training .gym-week-disclosure>.week-panel{
 border:0!important;border-top:1px solid var(--read-stroke,var(--line))!important;
 border-radius:0!important;margin:0!important;
 box-shadow:none!important;background:transparent!important;
 padding:16px!important;overflow:visible;
}
@media(max-width:640px){
 #view-training .gym-fichas-head{margin-top:17px}
 #view-training .routine-tile{padding:14px}
 #view-training .gym-week-summary{padding:13px 12px;gap:7px}
 #view-training .gym-week-summary .week-head h2{font-size:.96rem}
 #view-training .gym-week-summary .week-count{max-width:118px;font-size:.64rem}
 #view-training .gym-week-disclosure>.week-panel{padding:12px!important}
}
@media(prefers-reduced-motion:reduce){
 #view-training .gym-week-summary::after{transition:none}
}

/* Cards inteligentes: grupos e fotos são gerados pelas escolhas de cada pessoa. */
#view-training .routine-grid{grid-template-columns:minmax(0,1fr);gap:11px}
#view-training .routine-tile.gym-visual-card{
 --gym-accent:#a2aebe;--gym-wash:rgba(145,163,183,.15);--gym-stroke:rgba(145,163,183,.35);
 display:grid;grid-template-columns:100px minmax(0,1fr) minmax(140px,175px);
 gap:10px 15px;align-items:center;
 padding:13px 15px;border-left:3px solid var(--gym-accent);
 background:var(--read-card,var(--surface));
}
#view-training .gym-visual-card.gym-theme-peito{--gym-accent:#ed8490}
#view-training .gym-visual-card.gym-theme-costas{--gym-accent:#52be8c}
#view-training .gym-visual-card.gym-theme-quadriceps{--gym-accent:#5fa7ed}
#view-training .gym-visual-card.gym-theme-posterior{--gym-accent:#ab80ea}
#view-training .gym-visual-card.gym-theme-gluteos{--gym-accent:#38bdba}
#view-training .gym-visual-card.gym-theme-ombros{--gym-accent:#ae81f4}
#view-training .gym-visual-card.gym-theme-triceps{--gym-accent:#f49570}
#view-training .gym-visual-card.gym-theme-biceps{--gym-accent:#73c994}
#view-training .gym-visual-card.gym-theme-panturrilhas{--gym-accent:#d1a55c}
#view-training .gym-visual-card.gym-theme-abdomen{--gym-accent:#d9ad63}
#view-training .gym-card-media{position:relative;width:100px;height:117px;min-width:0;min-height:0;align-self:stretch}
#view-training .gym-card-photo{
 display:grid;place-items:center;position:absolute;left:0;top:0;width:100%;height:100%;
 border-radius:12px;overflow:hidden;background:var(--read-surface,var(--surface-2));
 border:1px solid var(--read-stroke,var(--line));
}
#view-training .gym-card-photo:nth-child(2){
 width:67%;height:58%;left:auto;right:-2px;top:auto;bottom:-3px;
 border:3px solid var(--read-card,var(--surface));
 box-shadow:0 3px 12px rgba(0,0,0,.16);
}
#view-training .gym-card-photo .gym-media-image,
#view-training .gym-card-photo .gym-media-placeholder,
#view-training .gym-card-photo .gym-card-photo-fallback{
 width:100%;height:100%;object-fit:contain;border:0;border-radius:0;
 background:var(--read-surface,var(--surface-2));
 font-size:1.8rem;display:grid;place-items:center;
}
#view-training .gym-card-photo .gym-media-image{cursor:zoom-in}
#view-training .gym-card-content{min-width:0;display:flex;flex-direction:column;gap:5px;align-self:center}
#view-training .gym-visual-card .routine-code{
 color:var(--gym-accent)!important;font-size:.73rem;letter-spacing:.055em;font-weight:850
}
#view-training .gym-visual-card .routine-title{
 margin:0;font-size:clamp(1rem,1.8vw,1.2rem);font-weight:800;
 line-height:1.25;color:var(--read-strong,var(--text));
}
#view-training .gym-muscle-chips{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-height:27px}
#view-training .gym-muscle-chip{
 --gym-chip:#9baabb;--gym-fill:rgba(155,170,187,.16);--gym-line:rgba(155,170,187,.37);
 display:inline-flex;align-items:center;min-height:25px;padding:3px 9px;
 border-radius:99px;background:var(--gym-fill);border:1px solid var(--gym-line);
 color:var(--read-strong,var(--text));font-size:.67rem;font-weight:810;line-height:1.25;
}
#view-training .gym-tone-peito{--gym-chip:#ed8490;--gym-fill:rgba(237,132,144,.18);--gym-line:rgba(237,132,144,.45)}
#view-training .gym-tone-costas{--gym-chip:#52be8c;--gym-fill:rgba(82,190,140,.18);--gym-line:rgba(82,190,140,.46)}
#view-training .gym-tone-quadriceps{--gym-chip:#5fa7ed;--gym-fill:rgba(95,167,237,.19);--gym-line:rgba(95,167,237,.45)}
#view-training .gym-tone-posterior{--gym-chip:#ab80ea;--gym-fill:rgba(171,128,234,.19);--gym-line:rgba(171,128,234,.45)}
#view-training .gym-tone-gluteos{--gym-chip:#38bdba;--gym-fill:rgba(56,189,186,.18);--gym-line:rgba(56,189,186,.44)}
#view-training .gym-tone-ombros{--gym-chip:#ae81f4;--gym-fill:rgba(174,129,244,.19);--gym-line:rgba(174,129,244,.47)}
#view-training .gym-tone-triceps{--gym-chip:#f49570;--gym-fill:rgba(244,149,112,.2);--gym-line:rgba(244,149,112,.48)}
#view-training .gym-tone-biceps{--gym-chip:#73c994;--gym-fill:rgba(115,201,148,.18);--gym-line:rgba(115,201,148,.45)}
#view-training .gym-tone-panturrilhas{--gym-chip:#d1a55c;--gym-fill:rgba(209,165,92,.18);--gym-line:rgba(209,165,92,.44)}
#view-training .gym-tone-abdomen{--gym-chip:#d9ad63;--gym-fill:rgba(217,173,99,.18);--gym-line:rgba(217,173,99,.45)}
#view-training .gym-muscle-extra{font-size:.66rem;color:var(--read-muted,var(--muted));font-weight:720}
#view-training .gym-visual-card .routine-meta{margin:0;font-size:.76rem}
#view-training .gym-visual-card .routine-heading{gap:8px;flex-wrap:wrap;justify-content:flex-start}
#view-training .gym-visual-card .routine-controls{
 display:flex;flex-direction:column;gap:7px;margin:0;align-self:center
}
#view-training .gym-visual-card .routine-controls button{min-height:40px;white-space:normal;font-size:.79rem;padding:9px 7px}
#view-training .gym-visual-card .routine-settings{grid-column:1/-1;margin:0;padding:6px 0 0}
#view-training .gym-visual-card .routine-settings summary{min-height:32px}
@media(max-width:700px){
 #view-training .routine-tile.gym-visual-card{
  grid-template-columns:76px minmax(0,1fr);gap:9px 11px;padding:12px;
 }
 #view-training .gym-card-media{width:74px;height:102px;align-self:center}
 #view-training .gym-visual-card .routine-controls{
  grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%
 }
 #view-training .gym-visual-card .routine-controls button{min-width:0;min-height:43px}
 #view-training .gym-visual-card .routine-title{font-size:1rem}
 #view-training .gym-visual-card .routine-meta{font-size:.74rem}
}
@media(max-width:360px){
 #view-training .routine-tile.gym-visual-card{grid-template-columns:60px minmax(0,1fr);gap:8px;padding:10px}
 #view-training .gym-card-media{width:60px;height:86px}
 #view-training .gym-muscle-chip{font-size:.61rem;padding:3px 7px}
 #view-training .gym-visual-card .routine-title{font-size:.95rem}
}
