
/* Lightweight visual layer. All measurements and persistence remain in the existing modules. */
@media screen{
:root{--perf-red:#e34d44;--perf-line:#30343c;--perf-muted:#a5acb8;--perf-display:"Arial Narrow","Roboto Condensed",Impact,system-ui,sans-serif;background:#0c0e12;color:#f4f4f6}
body{max-width:900px;padding-left:22px;padding-right:22px}
body>section:not(.hidden){animation:perf-enter .22s ease-out}
h2,h3{letter-spacing:-.5px}
button{transition:transform .16s ease,background .18s ease,opacity .18s ease}
button:active{transform:translateY(1px) scale(.98)}
button:focus-visible{outline:2px solid #f4b1aa;outline-offset:3px}
.perf-kicker{font-size:10px;letter-spacing:2px;color:var(--perf-muted);margin:6px 0 20px}
.perf-small-heading{font-size:12px;text-transform:uppercase;letter-spacing:1.4px;color:var(--perf-muted)}
.perf-section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:28px 0 16px}
.perf-section-title small{font-size:9px;letter-spacing:1.6px;color:var(--perf-muted)}
.perf-section-title h2,.perf-section-title h3{font-size:22px;margin:5px 0 0}
.perf-section-title>strong{font-family:var(--perf-display);font-size:46px;line-height:1;color:#f0f1f3}
.perf-section-title>span,.perf-caption{font-size:10px;color:var(--perf-muted);line-height:1.6}
.perf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.app-header{padding-top:14px!important;padding-bottom:26px!important}
.app-header .app-brand{flex-basis:154px}
.app-header #openProfile{background:transparent;border-color:#414752}
#inicio .home-goal{position:relative;background:transparent;border:0;border-radius:0;margin:0;padding:12px 0 22px;border-bottom:1px solid var(--perf-line)}
#inicio .home-goal:before{content:"";position:absolute;top:12px;left:-12px;width:3px;height:54px;background:var(--perf-red)}
#inicio .home-goal h2{font-family:var(--perf-display);font-size:clamp(25px,5vw,42px);max-width:560px;font-weight:800;line-height:1.04;margin:15px 0 9px}
#inicio .home-eyebrow{font-size:9px;letter-spacing:1.8px;color:#ec8c84}
#inicio #homeExamDate{color:var(--perf-muted);font-size:12px;margin-bottom:26px}
#inicio .home-days{font-family:var(--perf-display);font-size:clamp(84px,18vw,132px);font-weight:800;line-height:.9;letter-spacing:-5px}
#inicio .home-days-label{display:inline-block;font-size:11px;max-width:60px;line-height:1.4;margin-left:13px;text-transform:uppercase;letter-spacing:1px}
#inicio #homeCountdown>.subtle{margin-top:12px}
#inicio .home-special{font-family:var(--perf-display);font-size:36px;line-height:1.1}
#inicio .home-progress-label{margin-top:30px;font-size:10px;text-transform:uppercase;letter-spacing:1px}
#homeProgress{height:4px;display:block;border:0;border-radius:0;background:#343943}
#homeProgress::-webkit-progress-bar{background:#343943}
#homeProgress::-webkit-progress-value{background:var(--perf-red)}
.perf-milestones{display:flex;justify-content:space-between;gap:10px;margin:15px 0 7px}
.perf-milestones>span{position:relative;font-size:9px;line-height:1.5;color:#b7bdc7}
.perf-milestones>span:nth-child(2){text-align:center}
.perf-milestones>span:last-child{text-align:right}
.perf-milestones i{display:block;width:4px;height:4px;background:#d2d5da;margin-bottom:7px}
.perf-milestones>span:nth-child(2) i{margin-left:auto;margin-right:auto}
.perf-milestones>span:last-child i{margin-left:auto;background:var(--perf-red)}
.perf-milestones small{display:block;font-size:9px;color:#7e8794}
#inicio .home-section-heading{font-size:24px;margin-top:28px}
#inicio .home-section-heading h2{font-size:24px}
#inicio .home-session{border:0;border-left:2px solid #d14c45;border-bottom:1px solid #343943;border-radius:0;background:linear-gradient(90deg,#22252c,transparent);padding:16px 10px 16px 13px;margin:0 0 8px;transition:transform .18s,opacity .18s}
#inicio .home-session-main b{font-size:15px}
#inicio .home-session-icon{background:transparent;width:22px}
#inicio .home-session-main p{font-size:11px}
#inicio .home-planned{display:inline-block;margin-left:4px;color:#b6a494;font-size:9px}
#inicio .home-session button{background:transparent;border:1px solid #4c515b;border-radius:6px;min-height:44px}
#inicio .home-day-state{background:#171b22;border:0;border-radius:7px;font-size:13px}
#inicio .perf-leaving{opacity:0;transform:translateX(9px);pointer-events:none}
.perf-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding-bottom:12px;border-bottom:1px solid var(--perf-line)}
.perf-week-day{text-align:center;min-width:0;color:#858d9b}
.perf-week-day small{font-size:9px;display:block;text-transform:uppercase}
.perf-week-day b{font-size:17px;display:block;margin:8px 0;font-weight:600}
.perf-week-track{display:block;height:4px;background:#2e3440;border-radius:2px;overflow:hidden}
.perf-week-track i{display:block;height:100%;background:#e2584f;transition:width .22s}
.perf-week-value{display:block;font-size:9px;margin-top:7px}
.perf-week-day.done{color:#f5f5f6}
.perf-week-day.rest .perf-week-track{background:repeating-linear-gradient(90deg,#7f8794 0 3px,transparent 3px 6px)}
.perf-week-day.future:not(.rest){opacity:.55}
.perf-week-day.today b{color:#fff}
.perf-week-day.today{border-top:2px solid var(--perf-red);padding-top:5px;margin-top:-7px}
#inicio .home-summary{gap:0 20px}
#inicio .home-stat{background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--perf-line);padding:17px 0}
#inicio .home-stat>span{display:none}
#inicio .home-stat strong{font-family:var(--perf-display);font-size:35px;line-height:1.1}
#inicio .home-stat small{font-size:10px;margin-bottom:9px}
#inicio .home-next{background:transparent;border:0;border-top:1px solid var(--perf-line);border-radius:0;padding:20px 0}
#inicio .home-next .home-session{background:transparent;border:0;margin:10px 0 0;padding-left:0}
.training-heading h2,#evolucao .training-heading h2,#relatorios>h2{font-family:var(--perf-display);font-size:38px;line-height:1.05;margin:0}
.training-heading small{font-size:9px}
.training-heading-icon{background:transparent!important;border:1px solid #363d48;border-radius:50%;padding:12px}
.training-heading .subtle{font-size:9px;letter-spacing:1.5px}
.training-metrics{display:flex;gap:0;border-block:1px solid var(--perf-line);padding:13px 0;margin:18px 0}
.training-metrics>div{flex:1;background:transparent;border-radius:0;padding:0 10px;border-right:1px solid var(--perf-line)}
.training-metrics>div:first-child{padding-left:0}.training-metrics>div:last-child{border:0}
.training-metrics b{font-family:var(--perf-display);font-size:25px}.training-metrics small{font-size:9px}
#quickTraining{display:flex;justify-content:flex-end;margin-bottom:18px}#quickNew{width:auto;font-size:12px;min-height:44px;padding:10px 18px}
.training-filters button{border-radius:5px}
.agenda-week-nav{display:flex;align-items:center;justify-content:space-between;margin-top:20px}
.agenda-week-nav button{background:#252b35;width:44px;height:44px;font-size:23px;padding:0}
.agenda-week-nav span{font-size:13px;font-weight:650;letter-spacing:1px}
.training-month{border:0;border-radius:0;background:transparent;margin:24px 0}
.training-month-toggle{padding:13px 0;background:transparent;border-bottom:1px solid #4a515c}
.training-month-toggle b{font-size:13px;letter-spacing:1px}
.training-month-toggle small{font-size:10px}
.training-month-body{padding:0}
.training-week{border-radius:0;background:transparent;margin:0;border-bottom:1px solid var(--perf-line)}
.training-week-toggle{background:transparent;padding:16px 0}
.training-week-toggle b{font-size:12px;color:#c4c9d1}.training-week-toggle small{font-size:9px;color:#858f9e}
.training-week-body{padding:0}
.agenda-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:4px 0 18px}
.agenda-strip button{min-width:0;min-height:71px;background:#1b2029;border:1px solid transparent;border-radius:8px;padding:9px 1px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.agenda-strip button small{font-size:9px;color:#a7afbd;text-transform:uppercase}
.agenda-strip button b{font-size:18px}
.agenda-strip button.selected{background:#bb3932;border-color:#e68b83}
.agenda-strip button.selected small{color:#fff}
.agenda-strip button.agenda-today:not(.selected){border-color:#ae4d48}
.agenda-dot{width:3px;height:3px;border-radius:50%;background:transparent}
.agenda-dot.has-activity{background:#f4b4ad}
.agenda-empty{font-size:12px;color:var(--perf-muted);padding:20px 0}
.training-week-body .training-day{background:transparent;border:0;border-radius:0;overflow:visible;margin-top:0}
.training-week-body .training-day-toggle{padding:10px 0;border-bottom:1px solid var(--perf-line)}
.training-date{background:transparent!important;min-width:48px!important;padding:5px 0!important}
.training-date b{font-size:14px}.training-date small{font-size:9px}
.training-day-info b{font-size:13px}.training-day-body{border:0;padding:14px 0 12px 10px}
.training-item{position:relative;border-radius:0;background:transparent;border-left:1px solid #4c5361;overflow:visible;margin:0;padding:0 0 14px 12px}
.training-item:before{content:"";position:absolute;left:-4px;top:21px;width:7px;height:7px;background:#d65a52;border-radius:50%;box-shadow:0 0 0 4px #11151c}
.training-item-toggle{background:#1b2029;border-radius:8px;padding:13px 9px;align-items:flex-start}
.training-icon{background:transparent;min-width:24px;width:24px;color:#d6dbe4}
.training-item-info b{font-size:14px}.training-item-info small{font-size:10px;line-height:1.5}
.agenda-status{display:inline-block;margin-top:7px;font-size:9px;text-transform:uppercase;letter-spacing:.6px}
.agenda-status.done{color:#a7cbb5}.agenda-status.planned{color:#d1a99e}
.training-item-detail{background:#191e27;border:0;border-radius:0 0 7px 7px;padding:12px;animation:perf-enter .18s}
.training-exam{padding:20px;border-left:2px solid var(--perf-red)}
#evolucao .evo-weight{background:transparent;border:0;border-radius:0;padding:10px 0 24px;margin-top:20px;border-bottom:1px solid var(--perf-line)}
#evolucao .evo-weight>small{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--perf-muted)}
#evolucao .evo-weight-value strong{font-family:var(--perf-display);font-size:72px;letter-spacing:-3px}
#evolucao #evoWeightDelta{font-size:12px}
#evolucao #weightChart{margin:24px -5px 18px}
#evolucao #weightChart svg{min-height:160px}
#weightChart polyline{stroke:var(--perf-red);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:0;animation:perf-line .3s ease-out}
#evolucao .evo-weight-actions{max-width:440px}
#evolucao .evo-weight-actions button{border-radius:5px;font-size:11px}
#performanceVolume{border-bottom:1px solid var(--perf-line);padding:0 0 17px}
.perf-volume{display:flex;align-items:stretch;gap:8px;overflow-x:auto;min-height:160px;padding:8px 0 4px;scrollbar-width:thin}
.perf-volume-column{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;background:transparent;min-width:28px;flex:1;padding:0;border-radius:3px;color:#d4d9e1}
.perf-volume-column>b{font-size:11px;font-weight:500}
.perf-volume-space{display:flex;align-items:flex-end;height:100px;width:100%;max-width:46px}
.perf-volume-space i{display:block;background:#b83f37;width:100%;min-height:1px;border-radius:3px 3px 0 0;transform-origin:bottom;animation:perf-bar .25s ease-out}
.perf-volume-column.selected .perf-volume-space i{background:#f28c81}
.perf-volume-column small{font-size:8px;white-space:nowrap;color:#aeb6c3}
#evolucao .evo-performance{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
#evolucao .evo-metric{background:transparent;border:0;border-bottom:1px solid var(--perf-line);border-radius:0;padding:14px 0}
#evolucao .evo-metric .evo-symbol{display:none}
#evolucao .evo-metric strong{font-family:var(--perf-display);font-size:32px}
#evolucao .evo-metric small{font-size:10px;margin:0 0 8px}
#evolucao #evoCalorieNote{font-size:10px;color:#9ea7b6}
.perf-distribution{display:flex;height:18px;gap:3px;border-radius:3px;overflow:hidden}
.perf-distribution button{flex-basis:0;min-width:0;min-height:18px;border-radius:0;padding:0;animation:perf-bar .25s ease-out}
.perf-mix-legend{display:flex;gap:12px;flex-wrap:wrap;margin:13px 0}
.perf-mix-legend>span{font-size:10px;color:#bec5d0;display:flex;align-items:center;gap:5px}
.perf-mix-legend i{display:inline-block;width:6px;height:6px;border-radius:50%}
#evoModalities{background:transparent;border:0;border-top:1px solid var(--perf-line);border-radius:0;padding:16px 0}
#relatorios>.rp-card{border:0;border-radius:0;background:transparent;padding:0;margin:22px 0}
#relatorios>.rp-card:first-of-type{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;border-bottom:1px solid var(--perf-line);padding-bottom:22px}
#relatorios>.rp-card:first-of-type>small{grid-column:1/3;font-size:9px;letter-spacing:1.4px;color:#9fa8b6}
#relatorios #rpSelected{font-size:17px;margin:0;line-height:1.4}
#relatorios>.rp-card:first-of-type>p{grid-column:1/3;margin:0;font-size:11px}
#relatorios #rpConfigure{grid-column:2;grid-row:2;min-height:44px;font-size:11px;background:#2c323d}
#relatorios>.rp-card:nth-of-type(2)>h3,#relatorios>.rp-card:nth-of-type(2)>p{display:none}
#relatorios .rp-buttons{margin:18px 0;gap:10px}
#relatorios .rp-buttons button{min-height:48px;font-size:12px}
.perf-report-thumb{position:relative;overflow:hidden;height:360px;background:#f4f5f6;border:1px solid #606775;border-radius:6px;--thumb-scale:.4}
.perf-thumb-paper{width:760px;transform:scale(var(--thumb-scale));transform-origin:top left;pointer-events:none}
.perf-thumb-paper .rp-sheet{background:white;color:#1d2430;border:0;border-radius:0;margin:0}
.perf-thumb-paper .rp-cover{background:#222732;color:#fff}
.perf-thumb-paper .rp-metric{background:#edf0f4;color:#222}
.perf-thumb-paper .rp-metric small{color:#515c6a}
.perf-thumb-paper .rp-muted,.perf-thumb-paper .rp-footer{color:#596576}
.perf-thumb-paper .rp-table td,.perf-thumb-paper .rp-table th{border-color:#d3d7de}
.perf-thumb-paper .rp-track{background:#dce1e8}
.perf-thumb-open{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;width:100%;padding:20px;background:linear-gradient(transparent 65%,#10151bcc 100%);border-radius:0}
.perf-thumb-open>span{font-size:10px;letter-spacing:2px;color:white}
.rp-preview[open]{animation:perf-enter .22s ease-out}
dialog.workout-modal{opacity:0;transform:translateY(8px);transition:opacity .18s,transform .18s,display .18s allow-discrete,overlay .18s allow-discrete}
dialog.workout-modal[open]{opacity:1;transform:translateY(0)}
@starting-style{dialog.workout-modal[open]{opacity:0;transform:translateY(8px)}}
.tabs{isolation:isolate;background:#1f2530eF;border-color:#4c5565;backdrop-filter:none;padding:5px}
.tabs:before{content:"";position:absolute;z-index:-1;left:5px;top:5px;bottom:5px;width:calc((100% - 10px)/4);border-radius:21px;background:#bd3932;transform:translateX(calc(var(--perf-tab,0)*100%));transition:transform .24s ease}
.tabs:has([data-tab="treinos"].active){--perf-tab:1}
.tabs:has([data-tab="evolucao"].active){--perf-tab:2}
.tabs:has([data-tab="relatorios"].active){--perf-tab:3}
.tabs button.active{background:transparent}
.tabs button{transition:color .18s,transform .15s}
@media(min-width:650px){
#inicio .home-goal{padding-right:34%}
#inicio #homeCountdown{position:absolute;right:0;top:42px;width:30%}
#inicio .home-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.perf-report-thumb{height:470px}
#evolucao .evo-weight-value strong{font-size:94px}
#evolucao #weightChart svg{max-height:290px}
}
@media(max-width:350px){body{padding-inline:16px}.agenda-strip{gap:3px}.agenda-strip button{min-height:68px}.training-item-toggle{gap:6px}.training-item-info b{font-size:12px}.perf-week{gap:4px}#inicio .home-session-main b{font-size:13px}#inicio .home-session button{font-size:10px}#inicio .home-stat strong{font-size:29px}}
}
@keyframes perf-enter{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes perf-bar{from{transform:scaleY(.25);opacity:.4}to{transform:scaleY(1);opacity:1}}
@keyframes perf-line{from{stroke-dashoffset:1;opacity:.4}to{stroke-dashoffset:0;opacity:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.perf-report-thumb,.perf-kicker{display:none!important}}

.workout-modal [hidden]{display:none!important}
