
:root{--bg:#0b0f14;--panel:#111821;--panel2:#151e29;--soft:#1b2633;--line:#243140;--text:#f7f9fb;--muted:#8d9aab;--brand:#b6ff36;--brand2:#86e91e;--danger:#ff5c65;--warning:#ffcc5c;--radius:20px;--shadow:0 18px 55px rgba(0,0,0,.24)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 90% -10%,rgba(182,255,54,.12),transparent 28%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.side{background:rgba(12,17,23,.92);border-right:1px solid var(--line);padding:26px 18px;position:sticky;top:0;height:100vh;backdrop-filter:blur(18px);z-index:30}.brand{font-size:20px;font-weight:900;margin:0 10px 30px;letter-spacing:-.03em;display:flex;align-items:center;gap:10px}.brand:before{content:'A';display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--brand);color:#071000;font-size:19px;box-shadow:0 8px 24px rgba(182,255,54,.18)}.brand small{display:block;font-size:10px;color:var(--muted);letter-spacing:.16em;margin-top:2px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{width:100%;border:0;background:transparent;color:#9eabba;text-align:left;padding:12px 13px;border-radius:13px;font-weight:700;cursor:pointer;display:flex;gap:12px;align-items:center;font-size:14px;transition:.18s}.nav button .ico{width:24px;text-align:center;font-size:17px;filter:saturate(.85)}.nav button.active{background:linear-gradient(135deg,rgba(182,255,54,.16),rgba(182,255,54,.05));color:var(--brand);box-shadow:inset 0 0 0 1px rgba(182,255,54,.14)}.nav button:hover{background:var(--soft);color:white;transform:translateX(2px)}.main{padding:34px clamp(22px,4vw,52px) 60px;max-width:1500px;width:100%;margin:0 auto}.top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px}.title h1{margin:0;font-size:clamp(27px,3vw,38px);letter-spacing:-.045em;line-height:1.05}.title .muted{margin-top:7px}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:900;color:var(--brand);margin-bottom:8px}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{background:linear-gradient(180deg,rgba(21,30,41,.96),rgba(15,22,30,.96));border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.kpi{grid-column:span 3;position:relative;overflow:hidden}.kpi:after{display:none!important}.wide{grid-column:span 8}.sidecard{grid-column:span 4}.full{grid-column:1/-1}.kpi b{font-size:30px;display:block;margin-top:8px;letter-spacing:-.045em}.kpi small{font-size:12px}.kpi-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#c0c9d4}.kpi-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(182,255,54,.1);font-size:15px}.tag,.pill{display:inline-flex;align-items:center;gap:5px;background:rgba(182,255,54,.1);border:1px solid rgba(182,255,54,.14);color:var(--brand);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850}.pill.neutral{background:var(--soft);border-color:var(--line);color:#c8d0da}.btn{border:0;background:var(--brand);color:#071000;padding:11px 16px;border-radius:12px;font-weight:900;cursor:pointer;transition:.18s;box-shadow:0 8px 20px rgba(182,255,54,.10);font-size:13px}.btn:hover{transform:translateY(-1px);background:#c4ff5c}.btn:active{transform:translateY(0)}.btn.secondary{background:var(--soft);color:#e7ecf2;box-shadow:none;border:1px solid var(--line)}.btn.secondary:hover{background:#223040}.btn.danger{background:rgba(255,92,101,.12);color:#ff7b83;border:1px solid rgba(255,92,101,.22);box-shadow:none}.btn.block{width:100%;padding:14px}.btn.large{padding:14px 20px;font-size:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}label{font-size:11px;font-weight:850;color:#9aa8b7;display:block;margin-bottom:7px;text-transform:uppercase;letter-spacing:.045em}input,select,textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#0d141c;color:var(--text);outline:none;font:inherit;transition:.15s}input:focus,select:focus,textarea:focus{border-color:rgba(182,255,54,.55);box-shadow:0 0 0 3px rgba(182,255,54,.08)}input::placeholder,textarea::placeholder{color:#5d6a79}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.exercise{display:grid;grid-template-columns:minmax(220px,1.7fr) .6fr .7fr .7fr auto;gap:10px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.exercise:last-child{border-bottom:0}.exercise small{color:var(--muted)}.exercise strong,.exercise b{letter-spacing:-.015em}.tabs{display:flex;gap:8px;overflow:auto;margin-bottom:18px;padding-bottom:3px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap;border:1px solid var(--line);background:#0e151d;color:#9daab9;padding:9px 13px;border-radius:999px;cursor:pointer;font-weight:800}.tabs button.active{background:var(--brand);border-color:var(--brand);color:#071000}.hidden{display:none!important}.table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:680px;background:#0d141c}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);font-size:13px}th{color:#8e9cab;font-size:11px;text-transform:uppercase;letter-spacing:.05em}tbody tr:hover{background:#121b25}.chart{width:100%;height:280px;display:block}.notice{padding:14px 15px;background:#0d141c;border:1px solid var(--line);border-radius:14px;color:#9eabba;font-size:13px;line-height:1.5}.section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:4px 0 14px}.section-title h2,.section-title h3{margin:0;letter-spacing:-.03em}.hero{background:linear-gradient(135deg,#17231e,#101820 55%,#121923);position:relative;overflow:hidden}.hero:before{content:'';position:absolute;width:320px;height:320px;border-radius:50%;right:-80px;top:-160px;background:radial-gradient(circle,rgba(182,255,54,.20),transparent 67%)}.hero>*{position:relative}.hero-main{display:flex;justify-content:space-between;align-items:center;gap:22px}.hero h2{font-size:32px;margin:7px 0 6px;letter-spacing:-.045em}.hero-copy{max-width:580px}.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:17px;align-items:stretch}.quick-action{background:#0d151b;border:1px solid var(--line);border-radius:15px;padding:12px 14px;cursor:pointer;transition:.18s;color:white;text-align:left;display:flex;flex-direction:column;justify-content:flex-start;gap:2px;height:100%;min-height:104px}.quick-action:hover{border-color:rgba(182,255,54,.35);transform:translateY(-2px)}.quick-action span{font-size:20px;display:block;margin-bottom:4px;line-height:1}.quick-action b{font-size:13px;line-height:1.25;min-height:32px}.quick-action small{color:var(--muted);display:block;margin-top:1px;line-height:1.35;min-height:34px}.workout-list{display:flex;flex-direction:column;gap:9px}.workout-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;background:#0d141c;border:1px solid var(--line);border-radius:14px;padding:11px 12px}.workout-num{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(182,255,54,.1);color:var(--brand);font-weight:900}.workout-row small{color:var(--muted)}.history-card{margin-bottom:14px}.history-head{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.history-actions{display:flex;gap:7px;flex-wrap:wrap}.set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:9px}.set-box{background:#0d141c;border:1px solid var(--line);border-radius:12px;padding:10px}.set-box label{margin-bottom:5px}.set-box b{font-size:16px}.exercise-log{padding:15px 0;border-top:1px solid var(--line)}.exercise-log:first-child{border-top:0}.log-card{background:#0d141c;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:12px}.log-card-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.log-card-header h3{margin:0 0 5px;font-size:17px}.field-row{display:grid;grid-template-columns:minmax(170px,1fr) 190px;gap:12px}.empty{text-align:center;padding:44px 18px}.empty .empty-icon{font-size:38px;margin-bottom:12px}.empty h3{margin:0 0 6px}.empty p{max-width:420px;margin:0 auto 18px;color:var(--muted)}.profile-summary{display:flex;align-items:center;gap:14px}.avatar{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--brand),#6fd711);color:#071000;display:grid;place-items:center;font-size:20px;font-weight:950}.stat-line{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.stat-line:last-child{border:0}.bank-item{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--line)}.bank-item:last-child{border:0}.bank-item:before{content:'↗';display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--soft);color:var(--brand)}.toast{position:fixed;right:22px;bottom:22px;background:#f6f8f9;color:#111827;border-radius:14px;padding:13px 16px;font-weight:800;box-shadow:0 15px 45px rgba(0,0,0,.35);z-index:100;animation:toastin .22s ease}.toast.ok:before{content:'✓';margin-right:8px;color:#4f8d00}.toast.bad:before{content:'!';margin-right:8px;color:#c72f38}@keyframes toastin{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.mobile-brand{display:none}

.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:none;z-index:200;display:grid;place-items:center;padding:18px}.modal-panel{width:min(760px,100%);max-height:min(88vh,900px);overflow:auto;background:linear-gradient(180deg,#151e29,#0f161e);border:1px solid #2a394a;border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.55)}.modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:20px 22px;background:rgba(21,30,41,.98);backdrop-filter:none;border-bottom:1px solid var(--line);border-radius:24px 24px 0 0}.modal-head h2{margin:0;letter-spacing:-.035em}.modal-body{padding:22px}.modal-close{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--soft);color:white;font-size:20px;cursor:pointer}.editor-list{display:flex;flex-direction:column;gap:9px;margin:14px 0 18px}.editor-item{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;background:#0d141c;border:1px solid var(--line);border-radius:14px;padding:11px}.editor-item .workout-num{width:36px;height:36px}.editor-add{background:#0b1118;border:1px solid var(--line);border-radius:17px;padding:16px;margin-top:18px}.modal-footer{display:flex;justify-content:flex-end;gap:9px;padding-top:18px;border-top:1px solid var(--line);margin-top:20px}
@media(max-width:1050px){.kpi{grid-column:span 6}.wide,.sidecard{grid-column:1/-1}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){body{padding-bottom:76px}.app{grid-template-columns:1fr}.side{position:fixed;left:0;right:0;bottom:0;top:auto;height:70px;padding:8px 10px;border-right:0;border-top:1px solid var(--line);z-index:50}.brand{display:none}.nav{height:100%;flex-direction:row;overflow-x:auto;gap:5px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav button{min-width:76px;width:auto;height:54px;padding:7px 8px;flex-direction:column;justify-content:center;gap:2px;text-align:center;font-size:9px;border-radius:12px}.nav button .ico{font-size:18px;line-height:1}.nav button:hover{transform:none}.main{padding:20px 16px 28px}.mobile-brand{display:flex;align-items:center;gap:9px;font-weight:900;margin-bottom:22px}.mobile-brand:before{content:'A';display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--brand);color:#071000}.top{align-items:flex-start}.formgrid{grid-template-columns:1fr 1fr}.exercise{grid-template-columns:1fr auto}.exercise .ename{grid-column:1/-1}.hero-main{align-items:flex-start;flex-direction:column}.hero h2{font-size:27px}.field-row{grid-template-columns:1fr 150px}}
@media(max-width:560px){.main{padding:16px 12px 25px}.top{margin-bottom:18px}.top>.btn{white-space:nowrap}.title h1{font-size:28px}.grid{gap:12px}.card{padding:16px;border-radius:17px}.kpi{grid-column:span 6}.kpi b{font-size:24px}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.formgrid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}.history-head{grid-template-columns:1fr}.history-actions{display:grid;grid-template-columns:1fr 1fr}.history-actions .btn{padding:10px 8px}.hero{padding:18px}.hero-main .btn{width:100%}.set-grid{grid-template-columns:repeat(2,1fr)}.workout-row{grid-template-columns:38px 1fr}.workout-row>.pill{grid-column:2}.toast{left:12px;right:12px;bottom:88px}.wide,.sidecard,.full{grid-column:1/-1}}

/* Ícones nativos dos campos (calendário, relógio etc.) em verde */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator{
 width:20px;height:20px;cursor:pointer;
 filter:brightness(0) saturate(100%) invert(94%) sepia(99%) saturate(1450%) hue-rotate(25deg) brightness(108%) contrast(104%);
 opacity:1;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"]{
 padding-right:13px;
 color-scheme:dark;
}

.chart-legend{display:flex;flex-wrap:wrap;gap:9px 14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.legend-item{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:700}
.legend-item i{width:9px;height:9px;border-radius:50%;display:inline-block;box-shadow:0 0 0 2px rgba(255,255,255,.04)}

.exercise-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.exercise-chart-card{background:linear-gradient(180deg,rgba(21,30,41,.88),rgba(12,18,25,.9));border:1px solid var(--line);border-radius:18px;padding:17px;min-width:0}
.exercise-chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.exercise-chart-head h3{margin:0;font-size:17px;letter-spacing:-.02em}
.exercise-chart-scroll{overflow-x:auto}
.exercise-chart-canvas{height:270px!important;min-width:520px}
@media(max-width:900px){.exercise-charts{grid-template-columns:1fr}.exercise-chart-canvas{min-width:620px}}

.last-load{font-size:11px;opacity:.72;font-weight:600;color:#9eabba}
.absence-row{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.absence-btn{border-color:rgba(255,204,92,.22)!important;color:var(--warning)!important}
.absence-register-option{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.absence-register-check{display:flex;align-items:center;gap:10px;margin:0!important;text-transform:none!important;letter-spacing:0!important;color:var(--text)!important;font-size:13.5px!important;cursor:pointer}
.absence-register-check input{width:15px!important;height:15px!important;min-width:15px!important;max-width:15px!important;min-height:15px!important;max-height:15px!important;flex:0 0 15px!important;margin:0!important;padding:0!important;accent-color:var(--brand);cursor:pointer}
@media(max-width:760px){.absence-register-check{gap:8px!important;font-size:12px!important}.absence-register-check input{width:14px!important;height:14px!important;min-width:14px!important;max-width:14px!important;min-height:14px!important;max-height:14px!important;flex-basis:14px!important}}
.absence-register-check input:disabled{cursor:not-allowed;opacity:.55}
.absence-register-help{font-size:12px;color:var(--muted)}
.history-workout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.workout-history-card{padding:0;overflow:hidden}
.workout-history-toggle{width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}
.workout-history-toggle h3{margin:0 0 5px;font-size:20px}
.history-chevron{font-size:24px;color:var(--brand)}
.workout-history-list{border-top:1px solid var(--line);padding:8px 16px 16px}
.history-session{padding:14px 4px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.history-session:last-child{border-bottom:0}
.history-session-details{grid-column:1/-1;padding-top:10px}
.history-empty{padding:18px 4px}
.absence-session{opacity:.92}
.absence-badge{display:inline-block;font-size:9px;font-weight:900;letter-spacing:.12em;padding:4px 7px;border-radius:999px;background:rgba(255,204,92,.12);color:var(--warning);margin-right:8px}
@media(max-width:900px){.history-workout-grid{grid-template-columns:1fr}.history-session{grid-template-columns:1fr}.history-actions{justify-content:flex-start}.absence-row{align-items:flex-start;flex-direction:column}}

/* Histórico: um treino por linha */
.history-workout-grid{grid-template-columns:1fr!important}

/* Editor de treino */
.editor-add-grid{display:grid;grid-template-columns:170px minmax(220px,1fr) 130px 150px;gap:12px;align-items:end}
.editor-insert-wrap{grid-column:1/-1;display:flex;justify-content:flex-end}
.editor-insert-wrap .btn{max-width:220px}
.draggable-exercise{cursor:grab;transition:border-color .16s,background .16s,opacity .16s,transform .16s}
.draggable-exercise:active{cursor:grabbing}
.draggable-exercise.dragging{opacity:.46;transform:scale(.99)}
.draggable-exercise.drag-over{border-color:var(--brand)!important;background:rgba(182,255,54,.07)!important}
.drag-handle{width:28px;height:38px;display:grid;place-items:center;color:var(--muted);font-size:19px;letter-spacing:-5px;user-select:none;cursor:grab}
.editor-item-copy{min-width:0;flex:1}
@media(max-width:900px){
 .editor-add-grid{grid-template-columns:1fr 1fr}
 .editor-insert-wrap{grid-column:1/-1}
}
@media(max-width:560px){
 .editor-add-grid{grid-template-columns:1fr}
 .editor-insert-wrap{grid-column:1}
 .editor-insert-wrap .btn{max-width:none}
 .drag-handle{width:22px}
}

.measurement-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.measurement-span{grid-column:1/-1}
.measurement-section-title{grid-column:1/-1;margin-top:5px;padding-top:12px;border-top:1px solid var(--line);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--brand)}
.measurement-table{min-width:1280px}
.measurement-table th,.measurement-table td{white-space:nowrap}
@media(max-width:560px){.measurement-form{grid-template-columns:1fr}.measurement-span,.measurement-section-title{grid-column:1}}

.body-chart-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.body-empty-notice{margin-top:4px;text-align:center;padding:22px}
.body-measure-charts{margin-top:14px}

/* ===== HTD approved visual system ===== */
:root{
 --bg:#071019;
 --panel:#101923;
 --panel2:#131e29;
 --soft:#172431;
 --line:#293847;
 --text:#f5f7f8;
 --muted:#98a4b2;
 --brand:#79e33d;
 --brand2:#a6ff53;
 --radius:18px;
}
body{background:
 radial-gradient(circle at 88% -5%,rgba(121,227,61,.08),transparent 25%),
 linear-gradient(180deg,#071019,#0a131c 55%,#08121a);
 min-height:100vh}
.app{display:block;min-height:100vh}
.side{
 position:fixed!important;left:0!important;right:0!important;top:0!important;
 width:100%!important;height:78px!important;padding:0 30px!important;
 display:flex!important;align-items:center!important;justify-content:space-between!important;
 background:rgba(6,14,21,.94)!important;border-right:0!important;border-bottom:1px solid #27333e!important;
 backdrop-filter:blur(18px);z-index:100!important;
}
.htd-brand{margin:0!important;display:flex!important;align-items:center!important;gap:14px!important}
.brand:before{display:none!important}
.htd-mark{
 display:inline-block;color:var(--brand);font-size:38px;font-weight:1000;line-height:.85;
 letter-spacing:-.07em;text-shadow:0 0 26px rgba(121,227,61,.08)
}
.htd-wordmark{font-size:14px;font-weight:900;line-height:1.05;letter-spacing:.055em;color:#f7f8f8;white-space:nowrap}
.htd-wordmark small{display:block!important;color:var(--brand)!important;font-size:11px!important;letter-spacing:.28em!important;margin-top:5px!important}
.mobile-brand{display:none!important}
.main{
 max-width:1600px!important;margin:0 auto!important;
 padding:112px clamp(22px,3vw,46px) 132px!important;width:100%!important;
}
.nav{
 position:fixed!important;left:0!important;right:0!important;bottom:0!important;
 height:108px!important;padding:0 18px!important;
 display:grid!important;grid-template-columns:repeat(9,minmax(92px,1fr))!important;gap:0!important;
 background:linear-gradient(180deg,rgba(14,24,33,.97),rgba(10,18,26,.99))!important;
 border-top:1px solid #2a3742!important;border-radius:24px 24px 0 0!important;
 box-shadow:0 -12px 38px rgba(0,0,0,.24)!important;z-index:120!important;
 overflow-x:auto!important;overflow-y:hidden!important;
}
.nav button{
 position:relative!important;min-width:92px!important;height:108px!important;padding:17px 8px 12px!important;
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;
 text-align:center!important;border-radius:0!important;color:#aab3bd!important;font-size:12px!important;background:transparent!important;
 transform:none!important;
}
.nav button:hover{background:rgba(255,255,255,.025)!important;transform:none!important;color:#e7eaed!important}
.nav button.active{background:transparent!important;color:var(--brand)!important;box-shadow:none!important}
.nav button.active:before{
 content:"";position:absolute;left:12%;right:12%;top:0;height:2px;background:var(--brand);
 box-shadow:0 0 15px rgba(121,227,61,.35)
}
.nav-icon{width:25px;height:25px;display:block;color:currentColor}
.nav-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.card,.premium-card{
 background:linear-gradient(150deg,rgba(18,29,40,.96),rgba(11,20,29,.98))!important;
 border:1px solid #2a3947!important;box-shadow:0 16px 45px rgba(0,0,0,.15)!important;
}
.measurement-layout{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:28px;align-items:start}
.measurement-content{min-width:0;display:flex;flex-direction:column;gap:30px}
.measure-page-top{margin-bottom:22px!important}
.measure-section{min-width:0}
.measure-section-heading{display:flex;align-items:center;gap:11px;margin:0 0 15px}
.measure-section-heading h2{font-size:22px;letter-spacing:-.025em;margin:0}
.measure-heading-icon{width:25px;height:25px;color:var(--brand)}
.measure-heading-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.history-measure-card{padding:0!important;overflow:hidden}
.measure-empty{
 min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;
}
.measure-empty-icon{width:46px;height:46px;color:var(--brand);margin-bottom:4px}
.measure-empty-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.measure-empty b{font-size:16px}
.measure-empty span{font-size:14px;color:var(--muted)}
.measurement-entry{position:sticky;top:100px}
.measurement-entry h3{font-size:19px}
.measurement-form input,.measurement-form select{background:#0b151f!important;border-color:#2b3a48!important}
.body-measure-charts{grid-template-columns:1fr!important}
.exercise-chart-card{
 background:linear-gradient(150deg,rgba(18,29,40,.96),rgba(11,20,29,.98))!important;
 border-color:#2a3947!important;border-radius:18px!important
}
.measurement-table thead{background:#0b151e}
.measurement-table th{color:#98a5b3;font-size:10px;letter-spacing:.04em}
.measurement-table td{border-color:#253542!important}
@media(max-width:1050px){
 .measurement-layout{grid-template-columns:1fr}
 .measurement-entry{position:relative;top:auto}
 .body-measure-charts{grid-template-columns:1fr!important}
}
@media(max-width:760px){
 .side{height:68px!important;padding:0 18px!important}
 .htd-mark{font-size:30px}
 .htd-wordmark{font-size:11px}
 .htd-wordmark small{font-size:9px!important}
 .main{padding:92px 16px 112px!important}
 .nav{height:92px!important;grid-template-columns:repeat(9,88px)!important;justify-content:start!important;padding:0 7px!important;border-radius:18px 18px 0 0!important}
 .nav button{height:92px!important;min-width:88px!important;padding:12px 5px 9px!important;font-size:10px!important}
 .nav-icon{width:22px;height:22px}
 .measure-section-heading h2{font-size:19px}
 .measure-empty{min-height:205px;padding:24px!important}
}

/* ===== Menu lateral restaurado ===== */
.app{display:grid!important;grid-template-columns:270px minmax(0,1fr)!important;min-height:100vh!important}
.side{
 position:fixed!important;left:0!important;top:0!important;bottom:0!important;right:auto!important;
 width:270px!important;height:100vh!important;padding:26px 18px!important;
 display:block!important;background:rgba(7,15,22,.96)!important;border-right:1px solid #27333e!important;border-bottom:0!important;
 z-index:100!important;overflow-y:auto!important;
}
.htd-brand{margin:0 10px 28px!important}
.htd-mark{font-size:34px!important}
.htd-wordmark{font-size:12px!important}
.nav{
 position:static!important;width:auto!important;height:auto!important;padding:0!important;
 display:flex!important;flex-direction:column!important;gap:5px!important;
 background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;
}
.nav button{
 width:100%!important;height:auto!important;min-width:0!important;padding:12px 13px!important;
 display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;
 text-align:left!important;border-radius:13px!important;font-size:14px!important;
}
.nav button.active{background:linear-gradient(135deg,rgba(121,227,61,.14),rgba(121,227,61,.04))!important;box-shadow:inset 0 0 0 1px rgba(121,227,61,.12)!important}
.nav button.active:before{display:none!important}
.nav-icon{width:23px!important;height:23px!important;flex:0 0 23px!important}
.nav-label{max-width:none!important}
.main{grid-column:2!important;max-width:1500px!important;width:100%!important;margin:0 auto!important;padding:34px clamp(22px,4vw,52px) 60px!important}
.mobile-brand{display:none!important}
.plan-date-range{grid-template-columns:1fr 1fr!important}
@media(max-width:760px){
 .app{grid-template-columns:88px minmax(0,1fr)!important}
 .side{width:88px!important;padding:18px 10px!important}
 .htd-wordmark{display:none!important}
 .htd-brand{justify-content:center!important;margin:0 0 22px!important}
 .htd-mark{font-size:28px!important}
 .nav button{padding:11px 8px!important;justify-content:center!important}
 .nav-label{display:none!important}
 .main{grid-column:2!important;padding:24px 14px 50px!important}
}

.nav button[title="Peso e medidas"] .nav-icon svg{stroke-width:2.15}

.ico .sidebar-measure-icon{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.rotation-current-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;margin:6px 0 16px;border:1px solid var(--line);border-radius:18px;background:rgba(121,227,61,.055)}
.rotation-current-card h2{margin:3px 0 5px;font-size:25px}
@media(max-width:700px){.rotation-current-card{align-items:flex-start;flex-direction:column}}

.compact-modal{max-width:620px}
.workout-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.workout-type-option{appearance:none;text-align:left;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018);color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:5px}
.workout-type-option:hover{border-color:rgba(121,227,61,.5)}
.workout-type-option.active{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:rgba(121,227,61,.06)}
.workout-type-option .type-icon{font-size:20px;color:var(--brand)}
.workout-type-option small{color:var(--muted);line-height:1.35}
.rotation-variant-row{justify-content:space-between;padding:10px 11px;border:1px solid var(--line);border-radius:11px;margin-top:7px}
@media(max-width:650px){.workout-type-grid{grid-template-columns:1fr}.rotation-variant-row{align-items:flex-start;flex-direction:column}}

/* Workout exercise cards: stable layout for long exercise names */
.workout-list{display:flex;flex-direction:column;gap:10px}
.workout-row{
 display:grid!important;
 grid-template-columns:42px minmax(0,1fr) auto!important;
 align-items:center!important;
 gap:14px!important;
 min-width:0;
 padding:14px 16px!important;
}
.workout-row>div:nth-child(2){min-width:0}
.workout-row>div:nth-child(2)>b{
 display:block;
 overflow-wrap:anywhere;
 word-break:normal;
 line-height:1.28;
}
.workout-row>div:nth-child(2)>small{
 display:block;
 margin-top:3px;
 line-height:1.35;
 overflow-wrap:anywhere;
}
.workout-row .workout-num{
 width:34px!important;
 height:34px!important;
 min-width:34px;
 display:flex;
 align-items:center;
 justify-content:center;
}
.workout-row .pill{
 white-space:nowrap;
 justify-self:end;
}
@media(max-width:620px){
 .workout-row{
  grid-template-columns:36px minmax(0,1fr)!important;
  align-items:start!important;
 }
 .workout-row .pill{
  grid-column:2;
  justify-self:start;
  margin-top:3px;
 }
}

/* Rotation editor simplified */
.rotation-editor .field-row{align-items:flex-end}
.rotation-editor .btn.block{min-height:44px}

.rotation-variant-copy{min-width:0;overflow-wrap:anywhere}
.rotation-variant-actions{flex:0 0 auto}
@media(max-width:620px){.rotation-variant-actions{width:100%}.rotation-variant-actions .btn{flex:1}}

/* ===== Ajuste final: cards de exercícios no editor ===== */
.editor-list{display:flex!important;flex-direction:column!important;gap:10px!important}
.editor-item{
 display:grid!important;
 grid-template-columns:30px 36px minmax(0,1fr) auto!important;
 grid-template-areas:"drag num copy remove"!important;
 align-items:center!important;
 gap:12px!important;
 padding:13px 14px!important;
 min-height:68px!important;
 border:1px solid var(--line)!important;
 border-radius:15px!important;
 background:rgba(8,14,20,.68)!important;
}
.editor-item .drag-handle{
 grid-area:drag!important;
 position:static!important;
 width:30px!important;
 min-width:30px!important;
 height:38px!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 margin:0!important;
 font-size:18px!important;
 line-height:1!important;
}
.editor-item .workout-num{
 grid-area:num!important;
 position:static!important;
 width:36px!important;
 height:36px!important;
 min-width:36px!important;
 margin:0!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
}
.editor-item .editor-item-copy{
 grid-area:copy!important;
 min-width:0!important;
 text-align:left!important;
 align-self:center!important;
}
.editor-item .editor-item-copy b{
 display:block!important;
 margin:0!important;
 line-height:1.25!important;
 overflow-wrap:anywhere!important;
}
.editor-item .editor-item-copy small{
 display:block!important;
 margin-top:4px!important;
 line-height:1.3!important;
}
.editor-item .btn.danger,
.editor-item button[onclick*="editorRemoveEx"]{
 grid-area:remove!important;
 position:static!important;
 align-self:center!important;
 justify-self:end!important;
 margin:0!important;
 white-space:nowrap!important;
 min-width:auto!important;
 width:auto!important;
}
@media(max-width:680px){
 .editor-item{
  grid-template-columns:28px 34px minmax(0,1fr)!important;
  grid-template-areas:
   "drag num copy"
   ". . remove"!important;
 }
 .editor-item .btn.danger,
 .editor-item button[onclick*="editorRemoveEx"]{
  justify-self:start!important;
  margin-top:8px!important;
 }
}

/* ===== Ajuste final: variações sem quadro ===== */
.rotation-create-only{
 margin-top:16px!important;
 padding:0!important;
 border:0!important;
 border-radius:0!important;
 background:transparent!important;
}
.rotation-create-only>.btn{
 width:auto!important;
}
.rotation-create-only .rotation-variant-list{
 margin-top:10px!important;
}

/* ===== Editor refinado ===== */
.editor-item .editor-item-copy{
 display:flex!important;
 flex-direction:column!important;
 justify-content:center!important;
 gap:2px!important;
}
.editor-item .editor-item-copy b{
 margin:0!important;
 padding:0!important;
 line-height:1.18!important;
}
.editor-item .editor-item-copy br{
 display:none!important;
}
.editor-item .editor-item-copy small{
 margin:0!important;
 padding:0!important;
 line-height:1.2!important;
}

/* Adicionar exercício: sem cadência e tudo dentro do card */
.editor-add{
 overflow:hidden!important;
}
.editor-add-grid{
 display:grid!important;
 grid-template-columns:minmax(150px,.9fr) minmax(220px,1.35fr) minmax(130px,.65fr) auto!important;
 gap:12px!important;
 align-items:end!important;
 width:100%!important;
}
.editor-add-grid>div{
 min-width:0!important;
}
.editor-add-grid select,
.editor-add-grid input{
 width:100%!important;
 min-width:0!important;
}
.editor-insert-wrap{
 display:flex!important;
 align-items:end!important;
}
.editor-insert-wrap .btn{
 width:auto!important;
 min-width:180px!important;
 height:49px!important;
 white-space:nowrap!important;
 padding-left:20px!important;
 padding-right:20px!important;
}
@media(max-width:980px){
 .editor-add-grid{
  grid-template-columns:1fr 1.4fr!important;
 }
 .editor-insert-wrap{
  grid-column:1/-1!important;
  justify-content:flex-end!important;
 }
}
@media(max-width:620px){
 .editor-add-grid{
  grid-template-columns:1fr!important;
 }
 .editor-insert-wrap{
  grid-column:auto!important;
 }
 .editor-insert-wrap .btn{
  width:100%!important;
  min-width:0!important;
 }
}

.plan-actions-center{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;padding-top:4px;flex-wrap:wrap}
.plan-actions-center .btn{min-width:138px}
.variation-link-editor{margin-top:16px;padding:14px 0 2px;border-top:1px solid var(--line)}
.variation-toggle{display:flex;align-items:center;gap:9px;font-weight:800;cursor:pointer}
.variation-toggle input{width:19px!important;height:19px!important;min-width:18px}
#variantSelectorArea{margin-top:10px}
#variantSelectorArea .row{align-items:end}
#existingVariantSelect{min-width:220px;flex:1}

.training-plan-card{margin-bottom:14px!important}
.training-plan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}
.training-plan-toolbar h2{margin:3px 0 5px}
.plan-toolbar-actions{flex-wrap:wrap;justify-content:flex-end}
#trainingPlanSelect{min-width:210px}
.plan-alert{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;margin:0 0 14px;border:1px solid rgba(255,193,7,.38);border-radius:15px;background:rgba(255,193,7,.07)}
.plan-alert>div{display:flex;flex-direction:column;gap:2px}
.plan-alert span{color:var(--muted)}
.plan-alert.urgent{border-color:rgba(255,193,7,.55)}
.plan-alert.expired{border-color:rgba(255,88,88,.42);background:rgba(255,88,88,.06)}
@media(max-width:760px){.training-plan-toolbar,.plan-alert{align-items:flex-start;flex-direction:column}.plan-toolbar-actions{width:100%;justify-content:flex-start}#trainingPlanSelect{width:100%}}

.training-plan-date-row{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
 gap:12px!important;
 align-items:end!important;
}
.training-plan-date-row>div{
 min-width:0!important;
 width:100%!important;
}
.training-plan-date-row input{
 width:100%!important;
 min-width:0!important;
 box-sizing:border-box!important;
}
@media(max-width:620px){
 .training-plan-date-row{
  grid-template-columns:1fr!important;
 }
}

/* ===== Texto dos cards de treino mais agrupado ===== */
.workout-row>div:nth-child(2){
 display:flex!important;
 flex-direction:column!important;
 justify-content:center!important;
 gap:2px!important;
 min-width:0!important;
}
.workout-row>div:nth-child(2)>b{
 margin:0!important;
 padding:0!important;
 line-height:1.18!important;
}
.workout-row>div:nth-child(2)>br{
 display:none!important;
}
.workout-row>div:nth-child(2)>small{
 margin:0!important;
 padding:0!important;
 line-height:1.2!important;
}

.workout-tabs-sortable button{
 cursor:grab!important;
 user-select:none;
 position:relative;
}
.workout-tabs-sortable button:active{cursor:grabbing!important}
.workout-tabs-sortable button.dragging{opacity:.45;transform:scale(.95)}
.workout-tabs-sortable button.drag-over{
 border-color:var(--brand)!important;
 box-shadow:0 0 0 2px rgba(121,227,61,.2);
}
.workout-tabs-sortable button::after{
 content:'⋮⋮';
 position:absolute;
 top:-7px;
 right:-5px;
 font-size:9px;
 line-height:1;
 color:var(--muted);
 opacity:0;
 transition:opacity .15s ease;
}
.workout-tabs-sortable button:hover::after,
.workout-tabs-sortable button.dragging::after{opacity:.85}

.evolution-plan-filter{margin-bottom:14px!important}
.evolution-filter-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(220px,.9fr);gap:14px;align-items:end}
.evolution-plan-period{display:flex;flex-direction:column;gap:5px;padding:0 2px 5px}
.evolution-plan-period b{font-size:14px}
@media(max-width:820px){.evolution-filter-grid{grid-template-columns:1fr 1fr}.evolution-plan-period{grid-column:1/-1}}
@media(max-width:560px){.evolution-filter-grid{grid-template-columns:1fr}.evolution-plan-period{grid-column:auto}}

/* ===== Banco de exercícios: todos os grupos visíveis ===== */
.bank-group-tabs{
 display:flex!important;
 flex-wrap:wrap!important;
 overflow:visible!important;
 gap:8px!important;
 padding-bottom:2px!important;
 margin-bottom:20px!important;
}
.bank-group-tabs button{
 flex:0 0 auto!important;
 max-width:100%!important;
}
@media(max-width:640px){
 .bank-group-tabs{
  gap:7px!important;
 }
 .bank-group-tabs button{
  font-size:11px!important;
  padding:8px 10px!important;
 }
}

/* ===== Banco de exercícios: grupos em uma única linha ===== */
.bank-group-tabs{
 display:flex!important;
 flex-wrap:nowrap!important;
 gap:6px!important;
 overflow-x:auto!important;
 overflow-y:hidden!important;
 white-space:nowrap!important;
 padding:2px 2px 8px!important;
 margin-bottom:16px!important;
 scrollbar-width:thin;
}
.bank-group-tabs button{
 flex:0 0 auto!important;
 min-width:0!important;
 padding:7px 10px!important;
 font-size:10px!important;
 line-height:1!important;
 border-radius:999px!important;
 white-space:nowrap!important;
}

.bank-filter{max-width:360px;margin-bottom:20px}
.bank-filter label{display:block;margin-bottom:7px}
.bank-filter select{width:100%}

/* ===== Utilidades compactas no rodapé da sidebar ===== */
.side{
 display:flex!important;
 flex-direction:column!important;
 overflow:hidden!important;
}
.side .nav{
 flex:0 0 auto!important;
}
.side-utils{
 margin-top:auto!important;
 padding:18px 10px 8px!important;
 display:flex!important;
 align-items:center!important;
 justify-content:flex-start!important;
 gap:8px!important;
 border-top:1px solid rgba(255,255,255,.06);
}
.side-util-btn{
 width:40px!important;
 height:40px!important;
 flex:0 0 40px!important;
 display:grid!important;
 place-items:center!important;
 padding:0!important;
 margin:0!important;
 border:1px solid var(--line)!important;
 border-radius:12px!important;
 background:rgba(255,255,255,.025)!important;
 color:#9eabba!important;
 cursor:pointer!important;
 transition:.18s!important;
}
.side-util-btn .ico{
 width:auto!important;
 font-size:18px!important;
 line-height:1!important;
}
.side-util-btn:hover{
 color:#fff!important;
 border-color:#445362!important;
 background:var(--soft)!important;
 transform:translateY(-1px);
}
.side-util-btn.active{
 color:var(--brand)!important;
 border-color:rgba(121,227,61,.22)!important;
 background:rgba(121,227,61,.10)!important;
 box-shadow:inset 0 0 0 1px rgba(121,227,61,.05)!important;
}
@media(max-width:760px){
 .side{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
 }
 .side-utils{
  margin-top:auto!important;
  padding:10px 6px 12px!important;
  flex-direction:column!important;
  gap:7px!important;
  border-top:1px solid rgba(255,255,255,.06);
 }
 .side-util-btn{
  width:42px!important;
  height:42px!important;
  flex-basis:42px!important;
 }
}

/* ===== Login local HTD ===== */
.auth-gate{
 position:fixed;
 inset:0;
 z-index:9999;
 display:grid;
 place-items:center;
 padding:24px;
 background:
  radial-gradient(circle at 20% 10%,rgba(121,227,61,.10),transparent 34%),
  radial-gradient(circle at 80% 90%,rgba(121,227,61,.06),transparent 30%),
  #071018;
}
.auth-gate.hidden{display:none!important}
.auth-shell{width:min(440px,100%)}
.auth-card{
 background:linear-gradient(180deg,rgba(21,30,41,.98),rgba(12,18,25,.98));
 border:1px solid var(--line);
 border-radius:24px;
 padding:28px;
 box-shadow:0 24px 80px rgba(0,0,0,.38);
}
.auth-login-logo{
 display:flex;
 justify-content:center;
 align-items:center;
 margin:4px 0 20px;
}
.auth-login-logo img{
 width:min(250px,74%);
 height:auto;
 display:block;
 filter:drop-shadow(0 10px 24px rgba(0,0,0,.28));
}
.auth-card{
 background:linear-gradient(180deg,rgba(21,30,41,.98),rgba(12,18,25,.98));
 border:1px solid var(--line);
 border-radius:24px;
 padding:28px;
 box-shadow:0 24px 80px rgba(0,0,0,.38);
}
.auth-card h1{margin:2px 0 8px;font-size:30px;letter-spacing:-.04em}
.auth-form{display:grid;gap:14px;margin:22px 0 16px}
.auth-form label{display:block;margin-bottom:7px}
.auth-form input{width:100%}
.auth-switch{
 width:100%;
 border:0;
 background:transparent;
 color:var(--brand);
 font-weight:800;
 padding:13px 8px 4px;
 cursor:pointer;
}
.auth-note{
 margin-top:18px;
 padding-top:16px;
 border-top:1px solid var(--line);
 color:var(--muted);
 font-size:11px;
 line-height:1.5;
}
.auth-error{
 margin:-2px 0 14px;
 padding:10px 12px;
 border-radius:10px;
 background:rgba(255,87,87,.09);
 border:1px solid rgba(255,87,87,.18);
 color:#ff9a9a;
 font-size:12px;
 font-weight:700;
}
.auth-error.hidden{display:none}
@media(max-width:520px){
 .auth-gate{padding:16px}
 .auth-card{padding:22px;border-radius:20px}
 .auth-card h1{font-size:26px}
}

/* Cadastro sempre acessível: cabe em telas web menores e, se necessário, a própria tela rola. */
.auth-gate{overflow-y:auto!important;overflow-x:hidden!important}
.auth-shell{margin:auto!important}
body.auth-signup-mode .auth-gate{align-items:flex-start!important}
body.auth-signup-mode .auth-shell{margin:12px auto!important}
@media (max-height:900px) and (min-width:521px){
 body.auth-signup-mode .auth-card{padding:16px 22px!important}
 body.auth-signup-mode .auth-login-logo{margin:0 0 10px!important}
 body.auth-signup-mode .auth-login-logo img{width:min(155px,48%)!important}
 body.auth-signup-mode .auth-form{gap:7px!important;margin:10px 0 9px!important}
 body.auth-signup-mode .auth-form label{margin-bottom:4px!important;font-size:9px!important}
 body.auth-signup-mode .auth-form input{padding:9px 11px!important}
 body.auth-signup-mode #authPrimary{padding:10px 14px!important}
 body.auth-signup-mode .auth-switch{padding:8px 8px 2px!important}
}

.auth-portable-actions{
 margin-top:10px;
}
.auth-file-btn{
 text-align:center!important;
 justify-content:center!important;
}

/* ===== HTD custom dialogs ===== */
.htd-dialog-overlay{
 position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;
 padding:20px;background:rgba(1,7,12,.76);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
 opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;
}
.htd-dialog-overlay.open{opacity:1;visibility:visible}
.htd-dialog{
 width:min(430px,100%);background:linear-gradient(180deg,#17222f 0%,#0d151e 100%);
 border:1px solid rgba(121,227,61,.18);border-radius:22px;padding:24px;
 box-shadow:0 28px 90px rgba(0,0,0,.5);transform:translateY(10px) scale(.985);
 transition:transform .18s ease;
}
.htd-dialog-overlay.open .htd-dialog{transform:translateY(0) scale(1)}
.htd-dialog-kicker{font-size:10px;font-weight:900;letter-spacing:.16em;color:var(--brand);margin-bottom:8px}
.htd-dialog-title{font-size:23px;font-weight:900;letter-spacing:-.025em;margin:0 0 9px;color:#f5f8fa}
.htd-dialog-message{font-size:13px;line-height:1.55;color:var(--muted);white-space:pre-line}
.htd-dialog-input{width:100%;margin-top:17px;background:#0a121a!important;border:1px solid #344454!important;border-radius:12px!important;padding:13px 14px!important;color:#fff!important;outline:none}
.htd-dialog-input:focus{border-color:var(--brand)!important;box-shadow:0 0 0 3px rgba(121,227,61,.10)!important}
.htd-dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}
.htd-dialog-actions .btn{min-width:110px}
.htd-dialog-actions .btn.danger{background:#e64d4d;color:#fff;border-color:#e64d4d}
@media(max-width:520px){
 .htd-dialog-overlay{padding:14px;align-items:flex-end}
 .htd-dialog{border-radius:20px;padding:21px;margin-bottom:max(6px,env(safe-area-inset-bottom,0px))}
 .htd-dialog-actions{flex-direction:column-reverse}
 .htd-dialog-actions .btn{width:100%}
}

/* ===== HTD MOBILE APP - versão estável ===== */
.htd-mobile-more-btn,.htd-mobile-menu{display:none}
@media(max-width:760px){
 html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
 body{padding:0!important;background:#071018!important}
 .app{display:block!important;grid-template-columns:1fr!important;min-height:100dvh!important}

 /* conteúdo */
 .main{
  grid-column:auto!important;width:100%!important;max-width:100%!important;margin:0!important;
  padding:0 12px calc(86px + env(safe-area-inset-bottom))!important;min-height:100dvh!important;
 }
 #view{width:100%!important;max-width:100%!important;min-width:0!important}
 .mobile-brand{
  display:flex!important;position:sticky!important;top:0!important;z-index:80!important;
  height:54px!important;min-height:54px!important;margin:0 -12px 12px!important;padding:8px 14px!important;
  align-items:center!important;justify-content:flex-start!important;gap:9px!important;
  background:rgba(7,16,24,.95)!important;backdrop-filter:blur(18px)!important;border-bottom:1px solid rgba(255,255,255,.06)!important;
 }
 .mobile-brand .htd-mark{font-size:23px!important}
 .mobile-brand .htd-wordmark{display:block!important;font-size:10px!important}
 .mobile-brand .htd-wordmark small{font-size:8px!important}

 /* barra inferior real */
 .side{
  position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;
  width:100%!important;height:calc(72px + env(safe-area-inset-bottom))!important;min-height:0!important;
  padding:5px 6px calc(5px + env(safe-area-inset-bottom))!important;
  display:grid!important;grid-template-columns:1fr 54px!important;gap:3px!important;
  background:rgba(5,12,18,.98)!important;backdrop-filter:blur(20px)!important;
  border:0!important;border-top:1px solid rgba(255,255,255,.08)!important;box-shadow:0 -10px 32px rgba(0,0,0,.35)!important;
  z-index:5000!important;overflow:hidden!important;
 }
 .side>.brand,.side-utils{display:none!important}
 .nav{
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;
  width:100%!important;height:62px!important;padding:0!important;margin:0!important;overflow:visible!important;background:transparent!important;
 }
 /* páginas na ordem: início, perfil, treinos, registrar, histórico, evolução, medidas */
 .nav button:nth-child(5),.nav button:nth-child(7){display:none!important}
 .nav button{
  width:100%!important;min-width:0!important;height:62px!important;min-height:62px!important;margin:0!important;padding:5px 2px!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;
  border-radius:12px!important;text-align:center!important;font-size:9px!important;line-height:1!important;color:#93a1af!important;
 }
 .nav button .ico{width:21px!important;height:21px!important;font-size:20px!important;line-height:1!important;margin:0!important}
 .nav button>span:last-child{display:block!important;font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
 .nav button.active{color:var(--brand)!important;background:rgba(121,227,61,.10)!important;box-shadow:none!important}
 .htd-mobile-more-btn{
  display:flex!important;width:54px!important;height:62px!important;padding:5px 2px!important;margin:0!important;
  flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;
  border:0!important;border-radius:12px!important;background:transparent!important;color:#93a1af!important;font-size:9px!important;font-weight:700!important;
 }
 .htd-mobile-more-btn .ico{font-size:18px!important;line-height:1!important}

 /* títulos e cards */
 .top,.section-title,.hero-main,.training-plan-toolbar,.measure-page-top,.measure-section-heading,.rotation-current-card{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;
 }
 .title h1{font-size:27px!important;line-height:1.05!important;margin-bottom:5px!important}
 .title .muted{font-size:11px!important;line-height:1.45!important}
 .grid,.history-workout-grid,.body-measure-charts,.exercise-charts,.measurement-layout,.evolution-filter-grid,.formgrid,.workout-type-grid,.training-plan-date-row{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;
 }
 .card,.premium-card,.training-plan-card,.workout-history-card,.history-measure-card,.exercise-chart-card,.wide,.full,.sidecard,.kpi{
  width:100%!important;max-width:100%!important;min-width:0!important;grid-column:1!important;border-radius:17px!important;padding:14px!important;
 }
 .quick-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;align-items:stretch!important}
 .quick-action{min-height:88px!important;height:100%!important;padding:11px 12px!important;text-align:left!important}
 .hero-main .btn{width:100%!important;min-height:49px!important}

 /* formulários e treino */
 input,select,textarea{width:100%!important;min-width:0!important;min-height:47px!important;font-size:16px!important;padding:10px 12px!important;border-radius:12px!important}
 .btn,button.btn,label.btn{min-height:44px!important;border-radius:12px!important;padding:10px 12px!important}
 .row{gap:8px!important;flex-wrap:wrap!important}
 .top>.row,.plan-toolbar-actions{width:100%!important}
 .top>.row>*{flex:1 1 100%!important}
 .tabs,.workout-tabs-sortable{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:7px!important;scrollbar-width:none!important;padding-bottom:6px!important}
 .tabs::-webkit-scrollbar,.workout-tabs-sortable::-webkit-scrollbar{display:none!important}
 .tabs button,.workout-tabs-sortable button{flex:0 0 auto!important;min-width:54px!important;min-height:41px!important;white-space:nowrap!important}
 .workout-row{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;padding:12px!important}
 .workout-row>span,.workout-row>.pill{grid-column:2!important;justify-self:start!important}
 .workout-row b{overflow-wrap:anywhere!important;line-height:1.25!important}
 .exercise,.exercise-log,.measurement-entry,.rotation-variant-row{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important}
 .table-wrap,.measurement-table,.exercise-chart-scroll{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
 table{min-width:700px!important}

 /* popups como bottom sheet */
 .modal-backdrop,.htd-dialog-overlay{align-items:flex-end!important;padding:10px!important}
 .modal-panel,.htd-dialog{width:100%!important;max-width:100%!important;max-height:88dvh!important;border-radius:22px 22px 14px 14px!important}
 .modal-body{padding:15px!important}.modal-head{padding:15px 16px!important}

 /* Mais */
 .htd-mobile-menu{
  position:fixed!important;inset:0!important;z-index:9500!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;
  padding:10px!important;background:rgba(0,0,0,.64)!important;backdrop-filter:blur(8px)!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:.18s ease!important;
 }
 .htd-mobile-menu.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
 .htd-mobile-sheet{
  width:100%!important;max-width:520px!important;max-height:82dvh!important;overflow:auto!important;
  padding:8px 12px calc(14px + env(safe-area-inset-bottom))!important;border:1px solid #293846!important;border-radius:24px!important;
  background:linear-gradient(180deg,#141e29,#0b1219)!important;box-shadow:0 24px 80px rgba(0,0,0,.55)!important;
 }
 .htd-mobile-sheet-handle{width:38px;height:4px;border-radius:999px;background:#3d4a57;margin:3px auto 12px}
 .htd-mobile-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px 10px}
 .htd-mobile-sheet-head h3{margin:2px 0 0;font-size:20px}
 .htd-mobile-sheet-close{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--soft);color:#fff;font-size:21px}
 .htd-mobile-sheet>button:not(.htd-mobile-sheet-close){
  width:100%!important;min-height:66px!important;margin:0 0 8px!important;padding:10px 12px!important;
  display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;align-items:center!important;gap:11px!important;
  border:1px solid var(--line)!important;border-radius:15px!important;background:#0b141d!important;color:#eef5f8!important;text-align:left!important;
 }
 .htd-mobile-sheet>button>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.045);color:var(--brand);font-size:19px}
 .htd-mobile-sheet>button b{display:block;font-size:13px;margin-bottom:3px}.htd-mobile-sheet>button small{display:block;color:var(--muted);font-size:10px}
 .htd-mobile-sheet>button.danger>span{color:#ff8b8b!important}
}


.app-brand-logo{display:block;width:150px;max-height:120px;object-fit:contain;margin:auto}
.app-mobile-logo{display:block;width:72px;height:54px;object-fit:contain}
.admin-only{display:none!important}
body.is-admin .admin-only{display:grid!important}
.admin-exercise-form{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr) auto;gap:10px;align-items:end}
.admin-init-notice{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.admin-bank-list{display:flex;flex-direction:column}
.admin-bank-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.admin-bank-item:last-child{border-bottom:0}
@media(max-width:760px){
 .mobile-brand{height:64px!important;min-height:64px!important;padding:5px 14px!important}
 .mobile-brand .app-mobile-logo{width:68px!important;height:54px!important}
 .htd-mobile-sheet>.admin-only{display:none!important}
 body.is-admin .htd-mobile-sheet>.admin-only{display:grid!important}
 .card,.premium-card,.training-plan-card,.workout-history-card,.history-measure-card,.exercise-chart-card{overflow:hidden!important}
 .section-title{width:100%!important;margin:0 0 12px!important}
 .section-title>div{width:100%!important;min-width:0!important}
 .section-title h2,.section-title h3{line-height:1.2!important;overflow-wrap:anywhere!important}
 .section-title .muted{line-height:1.45!important;overflow-wrap:anywhere!important}
 .evolution-plan-filter{padding:13px!important}
 .evolution-filter-grid{gap:11px!important}
 .evolution-plan-period{padding:11px 12px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#0d141c!important}
 .evolution-plan-period span,.evolution-plan-period b{display:block!important}
 .evolution-plan-period b{margin-top:4px!important;font-size:15px!important;line-height:1.25!important}
 .chart,.exercise-chart-canvas{width:100%!important;height:210px!important;min-height:210px!important;max-height:210px!important}
 .exercise-chart-scroll{min-height:0!important}
 .exercise-chart-card{padding:13px!important}
 .field-row{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
 .field-row>div{width:100%!important;min-width:0!important}
 #logForm .log-card{padding:14px!important;margin-bottom:10px!important}
 .log-card-header{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important;margin-bottom:12px!important}
 .log-card-header>div{width:100%!important;min-width:0!important}
 .log-card-header h3{font-size:17px!important;line-height:1.2!important;overflow-wrap:anywhere!important}
 .set-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 .set-box{min-width:0!important;padding:9px!important}
 .set-box input{min-height:46px!important;text-align:center!important;font-size:17px!important;font-weight:800!important}
 #view>.card[style*="position:sticky"]{position:static!important;margin-bottom:9px!important}
 .stat-line{gap:12px!important;align-items:flex-start!important}
 .stat-line>*{min-width:0!important}
 .stat-line b{text-align:right!important;overflow-wrap:anywhere!important}
 .admin-exercise-form{grid-template-columns:1fr!important}
 .admin-exercise-form .btn{width:100%!important}
 .admin-init-notice{flex-direction:column!important;align-items:stretch!important}
 .admin-init-notice .btn{width:100%!important}
 .admin-bank-item{align-items:flex-start!important}
 .admin-bank-item b{min-width:0!important;overflow-wrap:anywhere!important;line-height:1.3!important}
 .admin-bank-item .btn{flex:0 0 auto!important;min-height:38px!important;padding:8px 10px!important}
}


/* ===== HTD mobile refinado v4 ===== */
@media(max-width:760px){
 /* remove o antigo "A" gerado por CSS e centraliza logo interno */
 .brand:before,.mobile-brand:before{content:none!important;display:none!important}
 .mobile-brand{
  justify-content:center!important;
  height:72px!important;
  min-height:72px!important;
  padding:6px 12px!important;
 }
 .mobile-brand .app-mobile-logo{
  width:82px!important;
  height:60px!important;
  margin:0 auto!important;
  object-fit:contain!important;
 }

 /* todos os atalhos principais em uma linha, somente ícones */
 .side{
  height:calc(64px + env(safe-area-inset-bottom))!important;
  grid-template-columns:minmax(0,1fr) 42px!important;
  padding:5px 5px calc(5px + env(safe-area-inset-bottom))!important;
 }
 .nav{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  height:54px!important;
  gap:1px!important;
 }
 .nav button:nth-child(5),.nav button:nth-child(7){
  display:flex!important;
 }
 .nav button{
  height:54px!important;
  min-height:54px!important;
  padding:4px 1px!important;
  gap:0!important;
  border-radius:11px!important;
 }
 .nav button>span:last-child{
  display:none!important;
 }
 .nav button .ico{
  width:24px!important;
  height:24px!important;
  font-size:22px!important;
  display:grid!important;
  place-items:center!important;
 }
 .htd-mobile-more-btn{
  width:42px!important;
  height:54px!important;
  min-height:54px!important;
  padding:4px 0!important;
  gap:0!important;
 }
 .htd-mobile-more-btn>span:last-child{display:none!important}
 .htd-mobile-more-btn .ico{font-size:20px!important}

 .main{
  padding-bottom:calc(76px + env(safe-area-inset-bottom))!important;
 }

 /* itens admin nunca vazam para conta comum no sheet */
 .htd-mobile-sheet button.admin-only{display:none!important}
 body.is-admin .htd-mobile-sheet button.admin-only{display:grid!important}

 /* gráficos: alinhamento e corte */
 .exercise-chart-card,.card.wide{
  overflow:hidden!important;
 }
 .exercise-chart-head,.exercise-chart-head>div,
 .card.wide .section-title,.card.wide .section-title>div{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  text-align:left!important;
  align-items:flex-start!important;
 }
 .exercise-chart-head h3,.exercise-chart-head .muted,
 .card.wide .section-title h3,.card.wide .section-title .muted{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
 }
 .exercise-chart-scroll{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
 }
 .chart,.exercise-chart-canvas{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:190px!important;
  min-height:190px!important;
  max-height:190px!important;
  margin:0!important;
 }

 /* cadastro cabe em telas menores */
 .auth-card{max-height:calc(100dvh - 24px)!important;overflow-y:auto!important}
 .auth-form{gap:10px!important}
}


/* ===== Criador compacto da página Treinos ===== */
.mobile-training-create-wrap{display:none}
.training-create-options{display:grid;gap:10px}
.training-create-option{
 width:100%;min-height:74px;display:grid;grid-template-columns:48px minmax(0,1fr);
 gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:15px;
 background:#0c151e;color:var(--text);text-align:left;cursor:pointer
}
.training-create-option.primary{border-color:rgba(121,227,61,.28);background:rgba(121,227,61,.075)}
.training-create-icon{
 width:44px;height:44px;display:grid;place-items:center;border-radius:13px;
 background:rgba(255,255,255,.045);color:var(--brand);font-size:22px;font-weight:800
}
.training-create-option b{display:block;font-size:14px;margin-bottom:3px}
.training-create-option small{display:block;color:var(--muted);font-size:10px;line-height:1.35}

@media(max-width:760px){
 .training-page-top{
  position:relative!important;
  padding-right:54px!important;
 }
 .desktop-training-actions{display:none!important}
 .mobile-training-create-wrap{
  display:block!important;
  position:absolute!important;
  right:0!important;
  top:0!important;
  width:auto!important;
 }
 .mobile-training-create-btn{
  width:42px!important;height:42px!important;min-height:42px!important;
  display:grid!important;place-items:center!important;padding:0!important;
  border:0!important;border-radius:12px!important;
  background:var(--brand)!important;color:#071018!important;
  font-size:27px!important;font-weight:900!important;line-height:1!important;
  box-shadow:0 8px 20px rgba(121,227,61,.16)!important;
 }
 .training-create-panel{width:100%!important}
}


/* ===== ajuste web medidas v7.1 ===== */
@media(min-width:561px){
 .measurement-form{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start!important;
  column-gap:14px!important;
  row-gap:12px!important;
 }
 .measurement-form > div{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-self:start!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
 }
 .measurement-form .measurement-span,
 .measurement-form .measurement-section-title{
  grid-column:1 / -1!important;
  width:100%!important;
 }
 .measurement-form label{
  display:flex!important;
  align-items:flex-end!important;
  min-height:32px!important;
  margin-bottom:8px!important;
  line-height:1.18!important;
  text-align:left!important;
 }
 .measurement-form input,
 .measurement-form select{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:46px!important;
 }
}


/* ===== HTD mobile correção definitiva v7.3 ===== */
@media(max-width:760px){
 .htd-mobile-menu{display:none!important}

 .htd-mobile-logout-btn{
  width:42px!important;
  height:54px!important;
  min-width:42px!important;
  min-height:54px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#a8b4c0!important;
 }
 .htd-mobile-logout-btn .ico{
  display:grid!important;
  place-items:center!important;
  width:24px!important;
  height:24px!important;
  margin:0!important;
  font-size:23px!important;
  line-height:1!important;
 }
 .htd-mobile-logout-btn>span:last-child{display:none!important}

 .exercise-chart-card,.card.wide{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
 }
 .exercise-chart-head,.exercise-chart-head>div,
 .card.wide>.section-title,.card.wide>.section-title>div{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
 }
 .exercise-chart-head h2,.exercise-chart-head h3,.exercise-chart-head .muted,
 .card.wide>.section-title h2,.card.wide>.section-title h3,.card.wide>.section-title .muted{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
 }

 .exercise-chart-scroll{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  margin:0 auto!important;
 }
 .chart,.exercise-chart-canvas{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:190px!important;
  min-height:190px!important;
  max-height:190px!important;
  margin:0 auto!important;
 }
}


/* ===== HTD v7.4 - mobile date/input containment ===== */
@media(max-width:760px){
 /* Every field wrapper must be allowed to shrink */
 .field-row,
 .field-row>div,
 .measurement-form,
 .measurement-form>div,
 .formgrid,
 .formgrid>div,
 .training-plan-date-row,
 .training-plan-date-row>div,
 .card,
 .premium-card,
 .measurement-entry,
 .log-card,
 .profile-grid,
 .profile-grid>div{
  min-width:0!important;
  max-width:100%!important;
 }

 /* iOS/Safari date controls can otherwise keep an intrinsic width larger than the card */
 input,
 select,
 textarea,
 input[type="date"],
 input[type="datetime-local"],
 input[type="month"],
 input[type="time"]{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  inline-size:100%!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
 }

 input[type="date"],
 input[type="datetime-local"]{
  display:block!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  overflow:hidden!important;
  padding-left:12px!important;
  padding-right:12px!important;
 }

 input[type="date"]::-webkit-date-and-time-value,
 input[type="datetime-local"]::-webkit-date-and-time-value{
  width:100%!important;
  min-width:0!important;
  text-align:left!important;
  margin:0!important;
 }

 input[type="date"]::-webkit-datetime-edit,
 input[type="datetime-local"]::-webkit-datetime-edit{
  min-width:0!important;
  padding:0!important;
 }

 /* Specific screens reported by the user */
 #md,#pd,#logDate{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  inline-size:100%!important;
 }

 /* logout icon uses same visual language as nav */
 .htd-mobile-logout-btn .ico{
  color:#93a1af!important;
 }
 .htd-mobile-logout-btn .ico svg{
  width:23px!important;
  height:23px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  display:block!important;
 }
 .htd-mobile-logout-btn:active .ico,
 .htd-mobile-logout-btn:hover .ico{
  color:var(--brand)!important;
 }
}


/* =========================================================
  HTD v8.0 — correção isolada dos gráficos no MOBILE
  Base: v7.8 funcional
  IMPORTANTE: nenhuma função JavaScript foi alterada.
  ========================================================= */
@media (max-width: 760px){

 /* A grade de gráficos vira uma única coluna real */
 .exercise-charts,
 .body-measure-charts{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  gap:12px!important;
 }

 /* O card nunca pode ser maior que a tela */
 .exercise-chart-card{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  padding:14px!important;
  margin:0!important;
  overflow:hidden!important;
 }

 /* Cabeçalho organizado dentro do card */
 .exercise-chart-head,
 .exercise-chart-head > div{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
 }

 .exercise-chart-head{
  display:block!important;
  margin:0 0 8px!important;
 }

 .exercise-chart-head .eyebrow{
  margin-bottom:6px!important;
  font-size:9px!important;
  line-height:1.2!important;
 }

 .exercise-chart-head h3{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  font-size:16px!important;
  line-height:1.18!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
 }

 .exercise-chart-head .muted{
  width:100%!important;
  max-width:100%!important;
  margin-top:5px!important;
  font-size:11px!important;
  line-height:1.35!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
 }

 /* ESSA é a correção principal:
   remove os min-width 520px/620px existentes no CSS antigo */
 .exercise-chart-scroll{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
 }

 .exercise-chart-canvas{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
  margin:0!important;
  padding:0!important;
 }

 /* Gráficos gerais, como Peso ao longo do tempo */
 canvas.chart:not(.exercise-chart-canvas){
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
  margin:0!important;
 }

 /* Evita qualquer estouro horizontal vindo da seção de evolução */
 #exerciseCharts,
 #bodyMeasureCharts,
 .evolution-chart-wrap,
 .exercise-chart-scroll canvas{
  max-width:100%!important;
  min-width:0!important;
 }
}


/* =========================================================
  HTD v8.2 — layout TABLET baseado no mobile
  Tablet: 761px a 1100px
  Desktop: acima de 1100px
  Mobile: até 760px
  ========================================================= */
@media (min-width:761px) and (max-width:1100px){

 body{
  padding-bottom:84px!important;
 }

 .app{
  display:block!important;
  min-height:100vh!important;
 }

 /* Navegação inferior igual ao mobile, com mais respiro */
 .side{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  top:auto!important;
  width:100%!important;
  height:78px!important;
  padding:8px 14px!important;
  border-right:0!important;
  border-top:1px solid var(--line)!important;
  background:rgba(8,13,18,.96)!important;
  backdrop-filter:blur(18px)!important;
  z-index:100!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 52px!important;
  align-items:center!important;
  gap:8px!important;
 }

 .side > .brand{
  display:none!important;
 }

 .nav{
  height:60px!important;
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:4px!important;
  overflow:visible!important;
 }

 .nav button{
  min-width:0!important;
  width:100%!important;
  height:60px!important;
  padding:6px 3px!important;
  border-radius:13px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  text-align:center!important;
  font-size:10px!important;
 }

 .nav button .ico{
  width:26px!important;
  height:26px!important;
  display:grid!important;
  place-items:center!important;
  font-size:20px!important;
 }

 .nav button:hover{
  transform:none!important;
 }

 .side-utils{
  display:none!important;
 }

 .htd-mobile-more-btn,
 .htd-mobile-logout-btn{
  display:grid!important;
  place-items:center!important;
  width:52px!important;
  height:60px!important;
  padding:0!important;
  border-radius:13px!important;
 }

 .htd-mobile-more-btn > span:last-child,
 .htd-mobile-logout-btn > span:last-child{
  display:none!important;
 }

 /* Cabeçalho de tablet segue o mobile */
 .main{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:18px 24px 34px!important;
 }

 .mobile-brand{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  min-height:78px!important;
  margin:0 -24px 24px!important;
  padding:8px 24px!important;
  border-bottom:1px solid var(--line)!important;
 }

 .mobile-brand:before{
  content:none!important;
  display:none!important;
 }

 .mobile-brand .app-mobile-logo{
  width:82px!important;
  height:62px!important;
  object-fit:contain!important;
  margin:0 auto!important;
 }

 /* Conteúdo mais próximo do mobile, mas aproveitando o tablet */
 .top{
  align-items:flex-start!important;
  margin-bottom:20px!important;
 }

 .title h1{
  font-size:32px!important;
 }

 .grid{
  gap:14px!important;
 }

 .kpi{
  grid-column:span 6!important;
 }

 .wide,
 .sidecard,
 .full{
  grid-column:1 / -1!important;
 }

 .card{
  border-radius:18px!important;
  padding:18px!important;
 }

 .formgrid,
 .measurement-form,
 .field-row{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
 }

 .measurement-span,
 .measurement-section-title{
  grid-column:1 / -1!important;
 }

 input,
 select,
 textarea,
 input[type="date"]{
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
  box-sizing:border-box!important;
 }

 /* Treinos e histórico em uma coluna para leitura mais confortável */
 .history-workout-grid,
 .exercise-charts,
 .body-measure-charts{
  grid-template-columns:1fr!important;
 }

 /* Gráficos seguem a experiência mobile */
 .exercise-chart-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
 }

 .exercise-chart-scroll{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
 }

 .exercise-chart-canvas,
 canvas.chart{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:250px!important;
  min-height:250px!important;
  max-height:250px!important;
 }

 .exercise-chart-head h3{
  font-size:17px!important;
  line-height:1.2!important;
 }

 /* Registrar treino */
 .set-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
 }

 /* Popups com sensação de app */
 .modal-backdrop{
  align-items:end!important;
  padding:18px!important;
 }

 .modal-panel{
  width:min(760px,100%)!important;
  max-height:82vh!important;
  border-radius:22px!important;
 }

 /* Botão + da tela Treinos também aparece no tablet */
 .desktop-training-actions{
  display:none!important;
 }

 .training-page-top{
  position:relative!important;
  padding-right:58px!important;
 }

 .mobile-training-create-wrap{
  display:block!important;
  position:absolute!important;
  right:0!important;
  top:0!important;
 }

 .mobile-training-create-btn{
  width:44px!important;
  height:44px!important;
  min-height:44px!important;
  border:0!important;
  border-radius:12px!important;
  background:var(--brand)!important;
  color:#071018!important;
  font-size:27px!important;
  font-weight:900!important;
  line-height:1!important;
 }
}


/* ===== HTD v8.3 — saída tablet + treino do dia ===== */
@media (min-width:761px) and (max-width:1100px){
 .htd-mobile-logout-btn{
  -webkit-appearance:none!important;
  appearance:none!important;
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  color:#9eabba!important;
  padding:0!important;
 }

 .htd-mobile-logout-btn:hover,
 .htd-mobile-logout-btn:focus,
 .htd-mobile-logout-btn:active{
  background:rgba(255,255,255,.04)!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--brand)!important;
 }

 .htd-mobile-logout-btn .ico{
  width:26px!important;
  height:26px!important;
  display:grid!important;
  place-items:center!important;
  color:inherit!important;
 }

 .htd-mobile-logout-btn .ico svg{
  display:block!important;
  width:23px!important;
  height:23px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  background:none!important;
 }
}


/* ===== HTD v8.4 — última carga por série ===== */
.last-load{
 color:#91a0ae;
 font-size:10px;
 font-weight:700;
 letter-spacing:.02em;
}
@media(max-width:760px){
 .last-load{
  font-size:9px;
  margin-top:-2px;
 }
}


/* ===== HTD v8.5 — referência discreta de última carga ===== */
.series-entry-box{
 min-width:0;
}
.previous-load-hint{
 min-height:18px;
 margin:0 0 4px;
 color:#83909d;
 font-size:9px;
 font-weight:600;
 line-height:1.2;
 letter-spacing:.01em;
}
.previous-load-hint b{
 color:#aeb9c4;
 font-weight:700;
}
@media(max-width:760px){
 .previous-load-hint{
  font-size:8px;
  margin-bottom:3px;
 }
}


/* ===== HTD v8.6 — referência de carga e autofill mobile ===== */
.previous-load-hint{
 margin:-2px 0 6px!important;
}
@media(max-width:760px){
 .previous-load-hint{
  margin:-2px 0 5px!important;
 }
}


/* ===== HTD v8.8 — Administração de usuários ===== */
.admin-users-entry .section-title{align-items:center}
.admin-user-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%}
.admin-user-kpis>div{background:#0d141c;border:1px solid var(--line);border-radius:14px;padding:14px}
.admin-user-kpis span{display:block;font-size:11px;margin-bottom:5px}
.admin-user-kpis b{font-size:23px;letter-spacing:-.03em}
.admin-user-table-wrap{width:100%;overflow:auto}
.admin-user-table{min-width:850px}
.admin-user-identity{display:flex;flex-direction:column;gap:2px;min-width:190px}
.admin-user-identity b{font-size:14px}
.admin-user-identity span{color:var(--brand);font-size:11px;font-weight:800}
.admin-user-identity small{color:var(--muted);font-size:11px}
.admin-user-action{text-align:right}
.admin-self-label{font-size:11px;font-weight:800}
.side-util-btn .ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:1100px){
 .admin-users-entry .section-title{align-items:flex-start;flex-direction:column}
 .admin-users-entry .btn{width:100%}
 .admin-user-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-user-table-wrap{overflow:visible}
 .admin-user-table{min-width:0;display:block;background:transparent}
 .admin-user-table thead{display:none}
 .admin-user-table tbody{display:grid;gap:12px}
 .admin-user-table tr{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#0d141c;border:1px solid var(--line);border-radius:15px;padding:14px}
 .admin-user-table td{display:block;border:0;padding:0;min-width:0}
 .admin-user-table td:first-child{grid-column:1/-1;padding-bottom:8px;border-bottom:1px solid var(--line)}
 .admin-user-table td[data-label]:not(:first-child):before{content:attr(data-label);display:block;color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
 .admin-user-action{grid-column:1/-1;text-align:left;padding-top:5px!important}
 .admin-user-action .btn{width:100%}
}
@media(max-width:560px){
 .admin-user-kpis{grid-template-columns:1fr 1fr;gap:8px}
 .admin-user-kpis>div{padding:11px}
 .admin-user-kpis b{font-size:20px}
}


/* ===== HTD v8.9 — interface administrativa simplificada ===== */
body.is-admin .nav button{
 justify-content:flex-start;
}
@media(max-width:1100px){
 body.is-admin .nav{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
 }
 body.is-admin .nav button{
  width:100%!important;
  min-width:0!important;
  justify-content:center!important;
 }
}
@media(max-width:760px){
 body.is-admin .nav{
  height:100%!important;
 }
}


/* ===== HTD v9.0 — administração, username e senha ===== */
body.is-admin .nav button .ico,
body.is-admin .side-util-btn .ico{color:#aab5c0!important}
body.is-admin .nav button.active .ico{color:#f0f4f7!important}
body.is-admin .nav button .ico svg,
body.is-admin .side-util-btn .ico svg{
 width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;
 stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important
}
.admin-user-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.admin-clear-data-btn{color:#d6dde4!important}
.password-change-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end}
.password-change-grid .btn{min-height:44px;white-space:nowrap}
@media(max-width:1100px){
 .admin-user-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
 .admin-user-actions .btn{width:100%!important}
 .password-change-grid{grid-template-columns:1fr 1fr!important}
 .password-change-grid .btn{width:100%!important}
}
@media(max-width:560px){
 .admin-user-actions{grid-template-columns:1fr!important}
 .password-change-grid{grid-template-columns:1fr!important}
}


/* ===== HTD v9.1 — perfil obrigatório, segurança e admin limpo ===== */
.nav button .ico svg{
 width:20px;
 height:20px;
 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}
.profile-security-btn{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 gap:7px!important;
}
.security-btn-icon{
 display:inline-grid;
 place-items:center;
 width:21px;
 height:21px;
 border:1px solid currentColor;
 border-radius:7px;
 font-size:12px;
 line-height:1;
}
.password-change-card{
 scroll-margin-top:20px;
}
@media(max-width:760px){
 .profile-page-top{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
 }
 .profile-security-btn{
  width:100%!important;
 }
}


/* ===== HTD v9.5 — ações do treino lado a lado no mobile ===== */
@media(max-width:760px){
 .plan-actions-center{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  align-items:stretch!important;
 }

 .plan-actions-center .btn{
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  padding:11px 8px!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.2!important;
  white-space:normal!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
 }
}


/* ===== HTD v9.8 — configurações completas da conta ===== */
.account-settings-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:13px;
 align-items:end;
}
.account-settings-password{
 grid-column:1/-1;
 max-width:520px;
}
.account-settings-save{
 min-height:44px;
 justify-self:start;
}
.account-settings-note{
 margin-top:14px;
}
.profile-security-label{
 display:inline;
}
@media(max-width:760px){
 .profile-page-top{
  position:relative!important;
  padding-right:52px!important;
 }
 .profile-security-btn{
  position:absolute!important;
  top:0!important;
  right:0!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
 }
 .profile-security-label{
  display:none!important;
 }
 .profile-security-btn .security-btn-icon{
  width:22px!important;
  height:22px!important;
  border:0!important;
  font-size:20px!important;
 }
 .account-settings-grid{
  grid-template-columns:1fr!important;
 }
 .account-settings-password{
  grid-column:1!important;
  max-width:none!important;
 }
 .account-settings-save{
  width:100%!important;
 }
}


/* ===== HTD v10.0 — nome e sobrenome no cadastro ===== */
#authFirstNameWrap,
#authLastNameWrap{
 min-width:0;
}


/* ===== HTD v10.8 — quantidade de séries no editor ===== */
.editor-add-grid{
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.editor-insert-wrap{
 grid-column:1/-1;
}
@media(max-width:1100px){
 .editor-add-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
}
@media(max-width:760px){
 .editor-add-grid{
  grid-template-columns:1fr!important;
 }
 .editor-insert-wrap{
  grid-column:1!important;
 }
}


/* ===== HTD v10.9 — fluxo de criação + técnica avançada ===== */
.advanced-technique-field{
 grid-column:1/-1;
 border:1px solid var(--line);
 border-radius:14px;
 padding:12px 14px;
 background:rgba(255,255,255,.015);
}
.advanced-technique-check{
 display:flex!important;
 align-items:center;
 gap:9px;
 cursor:pointer;
 margin:0!important;
 color:var(--text)!important;
 font-weight:800!important;
}
.advanced-technique-check input{
 width:18px!important;
 height:18px!important;
 min-height:0!important;
 accent-color:var(--brand);
}
#editAdvancedTechniqueWrap{
 margin-top:12px;
}
#editAdvancedTechniqueWrap label{
 display:block;
 margin-bottom:6px;
}


/* ===== HTD v11.0 — múltiplos dias por treino ===== */
.workout-day-checkboxes{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:9px;
}
.workout-day-check{
 display:flex!important;
 align-items:center;
 gap:8px;
 min-height:42px;
 padding:9px 11px;
 margin:0!important;
 border:1px solid var(--line);
 border-radius:12px;
 background:rgba(255,255,255,.018);
 color:var(--text)!important;
 font-weight:750!important;
 cursor:pointer;
}
.workout-day-check:has(input:checked){
 border-color:rgba(182,255,54,.55);
 background:rgba(182,255,54,.09);
 color:var(--brand)!important;
}
.workout-day-check input{
 width:17px!important;
 height:17px!important;
 min-height:0!important;
 margin:0!important;
 accent-color:var(--brand);
}
@media(max-width:760px){
 .workout-day-checkboxes{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
}


/* ===== HTD v11.1 — técnica avançada visível ===== */
.workout-exercise-copy{
 min-width:0;
}
.advanced-technique-badge{
 display:flex;
 align-items:center;
 gap:6px;
 width:max-content;
 max-width:100%;
 margin-top:7px;
 padding:5px 9px;
 border:1px solid rgba(182,255,54,.34);
 border-radius:9px;
 background:rgba(182,255,54,.075);
 color:var(--brand);
 font-size:12px;
 line-height:1.25;
}
.advanced-technique-badge strong{
 font-weight:900;
}
.advanced-technique-register{
 margin-top:7px;
}
@media(max-width:760px){
 .advanced-technique-badge{
  width:fit-content;
  white-space:normal;
  font-size:11.5px;
 }
}


/* ===== HTD v11.2 — treinos aeróbicos ===== */
.workout-type-grid{
 grid-template-columns:repeat(3,minmax(0,1fr));
}
.aerobic-add-grid .aerobic-exercise-select{
 grid-column:span 2;
}
.cardio-protocol-note{
 margin:12px 0 10px;
 padding:10px 12px;
 border-radius:10px;
 background:rgba(182,255,54,.06);
 border:1px solid rgba(182,255,54,.2);
 color:var(--muted);
 font-size:12px;
 line-height:1.45;
}
.cardio-protocol-grid,
.cardio-register-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:10px;
 margin-top:10px;
}
.cardio-register-grid{
 grid-template-columns:repeat(2,minmax(0,1fr));
}
.aerobic-prescription-card{
 display:flex;
 flex-direction:column;
 gap:4px;
 margin:10px 0 12px;
 padding:10px 12px;
 border-radius:12px;
 border:1px solid var(--line);
 background:rgba(255,255,255,.018);
}
.aerobic-prescription-card b{
 color:var(--text);
}
.aerobic-history-result{
 display:flex;
 flex-wrap:wrap;
 gap:8px;
 margin-top:10px;
}
.aerobic-log-card .advanced-technique-badge{
 margin-top:7px;
}
@media(max-width:900px){
 .workout-type-grid{grid-template-columns:1fr!important}
}
@media(max-width:760px){
 .aerobic-add-grid .aerobic-exercise-select{grid-column:1!important}
 .cardio-protocol-grid,.cardio-register-grid{grid-template-columns:1fr!important}
}


/* ===== HTD v11.3 — persistência + dias compactos ===== */
.workout-day-checkboxes{
 grid-template-columns:repeat(7,minmax(0,1fr))!important;
}
.workout-day-check{
 justify-content:center;
 padding-left:8px!important;
 padding-right:8px!important;
 white-space:nowrap;
}
@media(max-width:760px){
 .workout-day-checkboxes{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
 }
}
@media(max-width:430px){
 .workout-day-checkboxes{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
}


/* ===== HTD v11.5 — séries integradas ao texto ===== */
.editor-item-copy,
.workout-exercise-copy{
  min-width:0;
}
.editor-item{
  align-items:flex-start;
}
.workout-row{
  align-items:flex-start;
}


/* ===== HTD v11.8 — sem flash antes do login ===== */
.app.auth-pending-app{
  display:none!important;
}


/* ===== HTD v11.9 - navegacao interna e F5 sem flash ===== */
body.auth-checking .app,
body.auth-checking #authGate{display:none!important}
body.auth-checking{background:#071019!important}

/* ===== HTD v11.10 — OUTROS no editor ===== */
.other-workout-field{margin-top:8px}
.other-workout-field input{width:100%}

/* ===== HTD v11.12 — edição de exercício ===== */
.editor-item-actions{
 display:flex;
 gap:8px;
 align-items:center;
 flex-shrink:0;
}
.exercise-edit-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:14px;
}
@media(max-width:760px){
 .editor-item-actions{
  width:100%;
  margin-top:10px;
 }
 .editor-item-actions .btn{flex:1}
 .exercise-edit-grid{grid-template-columns:1fr}
}


/* ===== HTD v11.16 — Relatórios ===== */
.report-filter-card{margin-bottom:16px}
.report-filter-grid{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr;gap:12px}
.report-types-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.report-type-card{
 appearance:none;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:16px;
 padding:16px;text-align:left;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;cursor:pointer;
 transition:.18s ease;box-shadow:var(--shadow)
}
.report-type-card:hover{transform:translateY(-1px);border-color:rgba(121,227,61,.45)}
.report-type-card.active{border-color:var(--brand);box-shadow:0 0 0 1px rgba(121,227,61,.18),var(--shadow)}
.report-type-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(121,227,61,.1);color:var(--brand);font-size:22px;font-weight:800}
.report-type-icon svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.report-type-card b{display:block;font-size:14px;margin-bottom:4px}.report-type-card small{display:block;color:var(--muted);line-height:1.35}
.report-arrow{color:var(--brand);font-size:24px}
.report-preview-card{overflow:hidden}
.report-preview-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:18px}
.report-export-actions{display:flex;gap:8px}
.report-document-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:18px}
.report-document-head h2{margin:4px 0}.report-document-meta{display:grid;gap:5px;text-align:right;font-size:12px;color:var(--muted)}
.report-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0}
.report-kpi{padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.report-kpi span,.report-kpi small{display:block;color:var(--muted);font-size:11px}.report-kpi b{display:block;font-size:19px;margin:4px 0;overflow-wrap:anywhere}
.report-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;margin-bottom:18px}
.report-table{width:100%;border-collapse:collapse;min-width:680px;font-size:12px}
.report-table th{padding:10px;background:var(--surface);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.6px;text-align:left;white-space:nowrap}
.report-table td{padding:10px;border-top:1px solid var(--line);vertical-align:top}
.report-note{font-size:10px;color:var(--muted);margin-top:4px}
.report-empty{padding:22px;text-align:center;color:var(--muted)}
.report-pct{font-weight:800}.report-pct.pos{color:var(--brand)}.report-pct.neg{color:#ff5f6d}.report-pct.neutral{color:#ffffff}
.report-section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:22px 0 8px}
.report-section-title h3{margin:0}.report-section-title>span{color:var(--muted);font-size:12px}
.report-progress{height:8px;border-radius:999px;overflow:hidden;background:var(--surface);margin:4px 0 18px}
.report-progress span{display:block;height:100%;background:var(--brand);border-radius:inherit}
.report-status.missed{font-weight:800}
.report-plan-workout{margin-top:22px}
@media(max-width:1100px){
 .report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .report-types-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .report-types-grid{grid-template-columns:1fr}
 .report-filter-grid{grid-template-columns:1fr}
 .report-preview-toolbar,.report-document-head{align-items:stretch;flex-direction:column}
 .report-document-meta{text-align:left}
 .report-export-actions{display:grid;grid-template-columns:1fr 1fr}
 .report-export-actions .btn{width:100%}
 .report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .report-type-card{grid-template-columns:38px 1fr auto;padding:13px}
 .report-type-icon{width:38px;height:38px}
}
@media(max-width:430px){
 .report-kpis{grid-template-columns:1fr 1fr}
}


/* ===== HTD v11.17 — cabeçalho profissional dos relatórios ===== */
#reportPreview .report-document-head{
 position:relative;
 display:block;
 margin-bottom:20px;
}
#reportPreview .report-title-discreet{
 position:absolute;
 left:0;
 top:5px;
 max-width:34%;
 color:var(--muted);
 font-size:10px;
 font-weight:800;
 letter-spacing:.8px;
 text-transform:uppercase;
}
#reportPreview .report-logo-wrap{
 min-height:76px;
 display:flex;
 justify-content:center;
 align-items:center;
 padding:0 120px 8px;
}
#reportPreview .report-logo{
 width:106px;
 max-height:72px;
 object-fit:contain;
 display:block;
}
#reportPreview .report-green-line{
 height:3px;
 width:100%;
 background:var(--brand);
 margin-bottom:10px;
}
#reportPreview .report-user-name{
 text-align:center;
 font-size:15px;
 font-weight:800;
 margin-bottom:12px;
}
#reportPreview .report-document-meta{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:0;
 padding:10px 0;
 border-top:1px solid var(--line);
 border-bottom:1px solid var(--line);
}
#reportPreview .report-document-meta>div{
 text-align:center;
 padding:0 10px;
 border-right:1px solid var(--line);
}
#reportPreview .report-document-meta>div:last-child{border-right:0}
#reportPreview .report-document-meta span{
 display:block;
 color:var(--muted);
 text-transform:uppercase;
 letter-spacing:.55px;
 font-size:9px;
 font-weight:800;
 margin-bottom:3px;
}
#reportPreview .report-document-meta b{
 display:block;
 font-size:11px;
 overflow-wrap:anywhere;
}
@media(max-width:760px){
 #reportPreview .report-title-discreet{
  position:static;
  max-width:none;
  margin-bottom:8px;
 }
 #reportPreview .report-logo-wrap{padding:0 0 8px}
 #reportPreview .report-document-meta{
  grid-template-columns:1fr;
 }
 #reportPreview .report-document-meta>div{
  border-right:0;
  border-bottom:1px solid var(--line);
  padding:8px;
 }
 #reportPreview .report-document-meta>div:last-child{border-bottom:0}
}


/* ===== HTD v11.19 — frequência respeita início do plano ===== */
.report-frequency-notice{
 display:flex;
 align-items:center;
 gap:12px;
 padding:14px 16px;
 margin:14px 0 16px;
 border:1px solid var(--line);
 border-radius:13px;
 background:var(--surface);
}
.report-frequency-notice.upcoming{
 border-color:rgba(121,227,61,.34);
 background:rgba(121,227,61,.06);
}
.report-frequency-notice-icon{
 width:36px;
 height:36px;
 border-radius:10px;
 display:grid;
 place-items:center;
 flex:0 0 auto;
 background:rgba(121,227,61,.1);
 color:var(--brand);
 font-weight:900;
}
.report-frequency-notice b{
 display:block;
 margin-bottom:3px;
}
.report-frequency-notice span{
 display:block;
 color:var(--muted);
 font-size:12px;
 line-height:1.4;
}


/* ===== HTD v11.21 — atalho Relatórios na página inicial ===== */
.quick-report-icon svg{
 width:20px;
 height:20px;
 display:block;
 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}



/* ===== HTD v11.25 — período do plano soberano ===== */
.plan-access-notice{margin-bottom:14px;padding:16px 18px;border:1px solid rgba(255,204,92,.25);background:rgba(255,204,92,.08);border-radius:16px;display:flex;gap:12px;align-items:flex-start}
.plan-access-notice b{display:block;color:var(--warning);margin-bottom:4px}
.plan-access-notice span{color:var(--muted);font-size:13px;line-height:1.45}
.dashboard-top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.dashboard-top-actions select{width:auto;min-width:210px;max-width:320px;background:#0d141c}@media(max-width:760px){.dashboard-top-actions{width:100%;justify-content:flex-start}.dashboard-top-actions select{width:100%;max-width:none}}
.plan-readonly #logForm input,.plan-readonly #logForm textarea{opacity:.72;cursor:not-allowed}
.plan-readonly .readonly-save{display:none!important}

/* ===== HTD v11.24 — pré-visualização limpa ===== */
#reportPreview .report-document-head{
 display:none!important;
}


/* ===== HTD v11.24 — menu completo em mobile e tablet ===== */

/* MOBILE: 8 páginas principais na mesma linha + botão sair */
@media(max-width:760px){
 .side{
  grid-template-columns:minmax(0,1fr) 40px!important;
  gap:1px!important;
  padding-left:3px!important;
  padding-right:3px!important;
 }
 .nav{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  gap:0!important;
  overflow:visible!important;
 }
 .nav button,
 .nav button:nth-child(n){
  display:flex!important;
  min-width:0!important;
  width:100%!important;
  padding-left:0!important;
  padding-right:0!important;
 }
 .nav button .ico{
  width:21px!important;
  height:21px!important;
  font-size:20px!important;
 }
 .nav button .ico svg{
  width:20px!important;
  height:20px!important;
 }
 .htd-mobile-logout-btn{
  width:40px!important;
 }
}

/* TABLET: mesmos 8 itens do desktop, todos visíveis na mesma linha */
@media(min-width:761px) and (max-width:1100px){
 .side{
  grid-template-columns:minmax(0,1fr) 48px!important;
  gap:5px!important;
  padding-left:8px!important;
  padding-right:8px!important;
 }
 .nav{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  gap:2px!important;
  overflow:visible!important;
 }
 .nav button,
 .nav button:nth-child(n){
  display:flex!important;
  min-width:0!important;
  width:100%!important;
  padding-left:2px!important;
  padding-right:2px!important;
 }
 .nav button>span:last-child{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:9px!important;
 }
 .nav button .ico{
  width:23px!important;
  height:23px!important;
 }
 .nav button .ico svg{
  width:21px!important;
  height:21px!important;
 }
 .htd-mobile-logout-btn{
  width:48px!important;
 }
}


/* ===== HTD v11.29 — alinhamento das tabelas ===== */
#reportPreview .report-table th:not(:first-child),
#reportPreview .report-table td:not(:first-child){
 text-align:center!important;
}
#reportPreview .report-table th:first-child,
#reportPreview .report-table td:first-child{
 text-align:left!important;
}




/* ===== HTD v11.34 — olho da senha definitivo ===== */
.htd-password-wrap{position:relative;width:100%}
.htd-password-wrap input{padding-right:48px!important}
.htd-password-wrap input::-ms-reveal,
.htd-password-wrap input::-ms-clear{display:none!important;width:0!important;height:0!important}
.htd-password-wrap input::-webkit-credentials-auto-fill-button{visibility:hidden!important;display:none!important;pointer-events:none!important}
.htd-password-eye{
 position:absolute;right:9px;top:50%;transform:translateY(-50%);
 width:34px;height:34px;border:0;padding:0;border-radius:9px;
 background:transparent;color:var(--brand);display:grid;place-items:center;
 cursor:pointer;z-index:4
}
.htd-password-eye:hover{background:rgba(121,227,61,.09)}
.htd-password-eye svg{
 display:block;width:21px;height:21px;fill:none;stroke:currentColor;
 stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round
}
.htd-password-eye .eye-visible{display:none}
.htd-password-eye.password-visible .eye-hidden{display:none}
.htd-password-eye.password-visible .eye-visible{display:block}

/* ===== HTD v11.34 — filtros de relatórios sempre interativos ===== */
.report-filter-card{
 position:relative!important;
 z-index:30!important;
 isolation:isolate;
 pointer-events:auto!important
}
.report-filter-card .report-filter-grid,
.report-filter-card .report-filter-grid>div,
.report-filter-card label,
.report-filter-card select,
.report-filter-card input{
 position:relative;
 z-index:31;
 pointer-events:auto!important
}
.report-filter-card select,
.report-filter-card input{cursor:pointer}
.report-types-grid,
.report-preview-card{position:relative;z-index:1}


.quick-weight-icon-responsive{display:none;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1100px){.quick-weight-icon-desktop{display:none!important}.quick-weight-icon-responsive{display:block!important}}

/* ===== HTD v11.44 — sessão, rascunho, cronômetro e popups mobile ===== */
.draft-save-btn{width:36px;height:36px;min-width:36px;border:1px solid rgba(121,227,61,.45);border-radius:11px;background:rgba(121,227,61,.12);color:var(--brand);display:grid;place-items:center;cursor:pointer;font-size:19px;font-weight:1000;transition:.16s}
.draft-save-btn:hover{background:rgba(121,227,61,.2);transform:translateY(-1px)}
.draft-save-btn.saved{background:var(--brand);color:#071019}
.workout-timer-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:13px 15px;border:1px solid rgba(121,227,61,.25);border-radius:15px;background:rgba(121,227,61,.055)}
.workout-timer-copy{display:flex;align-items:center;gap:11px;min-width:0}.workout-timer-copy svg{width:22px;height:22px;fill:none;stroke:var(--brand);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.workout-timer-value{font-size:18px;font-weight:950;letter-spacing:.04em}.workout-timer-label{font-size:11px;color:var(--muted);margin-top:2px}
.workout-timer-start{padding:9px 13px!important;font-size:12px!important}
.report-eye-btn{width:42px!important;min-width:42px!important;padding:9px!important;display:grid!important;place-items:center!important}
.report-eye-btn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
html.modal-open,body.modal-open{overflow:hidden!important;overscroll-behavior:none!important}body.modal-open{touch-action:none!important}.modal-panel,.htd-dialog{touch-action:auto!important}@media(max-width:760px){
 .modal-backdrop,.htd-dialog-overlay{align-items:center!important;justify-content:center!important;overflow:hidden!important;-webkit-overflow-scrolling:touch!important;padding:10px!important}
 .modal-panel,.htd-dialog{max-height:calc(100dvh - 20px)!important;height:auto!important;margin:0 auto!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important}
 .modal-body{overflow:visible!important}
 .workout-timer-card{align-items:flex-start;flex-direction:column}
 .workout-timer-start{width:100%}
}

/* ===== HTD v11.47 — imagens dos exercícios no registro ===== */
.exercise-view-btn{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid rgba(121,227,61,.28);border-radius:11px;background:rgba(121,227,61,.10);color:var(--brand);cursor:pointer;transition:.16s;padding:0;flex:0 0 auto}
.exercise-view-btn:hover{background:rgba(121,227,61,.18);border-color:rgba(121,227,61,.48);transform:translateY(-1px)}
.exercise-view-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.exercise-image-modal .modal-panel{width:min(820px,100%)}
.exercise-image-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.exercise-image-frame{background:#09121a;border:1px solid var(--line);border-radius:16px;overflow:hidden;min-width:0}
.exercise-image-frame img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff}
.exercise-image-caption{padding:10px 12px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-align:center}
.exercise-image-loading{min-height:280px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);padding:28px}
.exercise-image-error{padding:22px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--muted);line-height:1.5}
@media(max-width:760px){.exercise-view-btn{width:34px;height:34px;border-radius:10px}.exercise-image-stage{grid-template-columns:1fr}.exercise-image-modal .modal-panel{margin-bottom:18px}}

/* HTD v11.49.4 — percentuais coloridos em todos os relatórios */
.workout-timer-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.workout-timer-start,.workout-timer-pause{background:var(--brand)!important;color:#071000!important;border:1px solid rgba(182,255,54,.28)!important;box-shadow:0 8px 20px rgba(182,255,54,.14)!important}
.workout-timer-start{font-weight:900!important}
.workout-timer-start:hover,.workout-timer-pause:hover{background:#c4ff5c!important;transform:translateY(-1px)}
.workout-timer-start:disabled,.workout-timer-pause:disabled{opacity:.62!important;cursor:not-allowed!important;transform:none!important}
.workout-timer-pause{width:44px!important;height:44px!important;padding:0!important;min-width:44px!important;display:inline-grid!important;place-items:center!important;border-radius:14px!important}
.workout-timer-pause svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.workout-timer-card.is-paused{border-color:rgba(255,204,92,.35);background:rgba(255,204,92,.05)}
/* ===== HTD v11.51 — continuidade segura do treino ===== */
.btn.workout-in-progress{background:linear-gradient(135deg,var(--brand),#9ef04f)!important;color:#071019!important;box-shadow:0 0 0 1px rgba(121,227,61,.18),0 10px 28px rgba(121,227,61,.12)!important}
.btn.workout-in-progress:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#071019;opacity:.8;animation:htdWorkoutPulse 1.7s ease-in-out infinite}
@keyframes htdWorkoutPulse{0%,100%{transform:scale(.8);opacity:.45}50%{transform:scale(1.15);opacity:1}}
@media(prefers-reduced-motion:reduce){.btn.workout-in-progress:before{animation:none}}
.workout-duration-history{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}
.workout-duration-history svg{width:18px;height:18px;fill:none;stroke:var(--brand);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:560px){.workout-timer-actions{width:100%;display:flex;align-items:center;gap:8px}.workout-timer-start{flex:1}.workout-timer-pause{width:44px!important;min-width:44px!important;flex:0 0 44px}}

/* ===== HTD v12.1 — Professional Plus ===== */
.pro-panorama-table{min-width:980px}.pro-mini{font-size:11px;color:var(--muted)}.pro-danger-link{color:#ff7b83!important}.pro-alert{padding:13px 14px;border:1px solid rgba(255,204,92,.22);background:rgba(255,204,92,.05);border-radius:13px;margin-bottom:9px}.pro-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:4px;margin-bottom:18px}.pro-tabs button{white-space:nowrap}.pro-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pro-section-card{margin-top:18px}.pro-pin-box{border:1px solid rgba(121,227,61,.25);background:rgba(121,227,61,.06);border-radius:13px;padding:12px}.auth-professor-reservation{border:1px solid rgba(121,227,61,.25);background:rgba(121,227,61,.06);border-radius:12px;padding:12px}.auth-professor-reservation .pin-row{margin-top:10px}.pro-status.overdue{color:#ff7b83;background:rgba(255,92,101,.08);border-color:rgba(255,92,101,.2)}
@media(max-width:760px){.pro-health-grid{grid-template-columns:1fr}.pro-panorama-table{min-width:840px}.pro-tabs{margin-left:-2px;margin-right:-2px}}


html,body{overflow-x:hidden!important;overflow-y:auto!important;height:auto!important;min-height:100%!important}.app,.main,#view{overflow:visible!important;height:auto!important;max-height:none!important}.main{padding-bottom:76px!important}.pro-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:14px;row-gap:14px;align-items:start}.pro-grid>*{min-width:0}.pro-home-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pro-home-bell{position:relative;width:44px;height:44px;border:1px solid rgba(121,227,61,.22);border-radius:13px;background:rgba(121,227,61,.08);color:var(--brand);display:grid;place-items:center;cursor:pointer;transition:.16s}.pro-home-bell:hover{background:rgba(121,227,61,.13);transform:translateY(-1px)}.pro-home-bell svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.pro-home-badge{position:absolute;right:-5px;top:-6px;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:var(--brand);color:#071000;font-size:10px;font-weight:950;display:grid;place-items:center}.pro-home-kpi-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:0}.pro-home-kpi{min-height:176px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.pro-home-kpi-top{display:flex;align-items:center;gap:12px}.pro-home-kpi-icon{width:44px;height:44px;border-radius:14px;background:rgba(121,227,61,.1);color:var(--brand);display:grid;place-items:center}.pro-home-kpi-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pro-home-kpi-title{font-size:13px;font-weight:900;color:#a7b2bd}.pro-home-kpi-value{font-size:40px;font-weight:950;line-height:1;letter-spacing:-.05em}.pro-home-kpi-sub{font-size:13px;color:var(--muted);line-height:1.4}.pro-home-shortcuts-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0}.pro-shortcut-card{background:#0d151b;border:1px solid var(--line);border-radius:15px;padding:14px;cursor:pointer;transition:.18s;color:#fff;text-align:left;display:block;width:100%}.pro-shortcut-card:hover{border-color:rgba(182,255,54,.35);transform:translateY(-2px)}.pro-shortcut-card-head{display:flex;align-items:center;gap:12px;margin-bottom:9px}.pro-shortcut-icon{width:38px;height:38px;border-radius:12px;background:rgba(121,227,61,.1);color:var(--brand);display:grid;place-items:center;flex:0 0 auto}.pro-shortcut-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}.pro-shortcut-card b{font-size:15px;display:block}.pro-shortcut-card small{display:block;color:var(--muted);font-size:12px;line-height:1.35}.pro-cal-card{grid-column:span 8;margin-top:0}.pro-cal-side{grid-column:span 4;margin-top:0}.pro-cal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.pro-cal-header h2{margin:0}.pro-cal-controls{display:flex;align-items:center;gap:8px}.pro-cal-nav{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:#0d151e;color:#dfe6ed;cursor:pointer;font-weight:900}.pro-cal-nav:hover{color:var(--brand);border-color:rgba(121,227,61,.35)}.pro-cal-month{min-width:150px;text-align:center;text-transform:capitalize;font-size:12px;font-weight:900;color:#d8e0e7}.pro-cal-weekdays,.pro-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.pro-cal-weekdays{margin-bottom:8px}.pro-cal-weekdays div{text-align:center;font-size:10px;font-weight:900;letter-spacing:.08em;color:#8291a1}.pro-cal-day{min-height:88px;padding:9px;border-radius:13px;border:1px solid var(--line);background:#0d151e;color:var(--text);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;cursor:pointer;transition:.15s;text-align:left}.pro-cal-day:hover{border-color:rgba(121,227,61,.3);transform:translateY(-1px)}.pro-cal-day.out{opacity:.38}.pro-cal-day.today{box-shadow:inset 0 0 0 1px rgba(121,227,61,.38)}.pro-cal-day.selected{border-color:var(--brand);box-shadow:0 0 0 1px rgba(121,227,61,.12)}.pro-cal-num{font-size:14px;font-weight:900}.pro-cal-count{display:inline-flex;min-width:24px;height:22px;padding:0 7px;border-radius:999px;align-items:center;justify-content:center;background:rgba(121,227,61,.12);color:var(--brand);font-size:10px;font-weight:950}.pro-cal-free{font-size:10px;color:#657382}.pro-cal-first{font-size:10px;color:var(--muted)}.pro-day-list{display:grid;gap:9px}.pro-day-item{padding:11px 12px;border:1px solid var(--line);background:#0d151e;border-radius:13px;display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;align-items:start}.pro-day-time{font-size:16px;font-weight:950;color:var(--brand)}.pro-day-status{margin-top:7px}.pro-day-item select{grid-column:1/-1;margin-top:4px}.pro-home-empty{border:1px dashed rgba(152,164,178,.25);border-radius:13px;padding:18px;text-align:center;color:var(--muted);background:rgba(255,255,255,.01)}.pro-home-note{margin-top:12px;padding:12px;border:1px solid rgba(121,227,61,.16);background:rgba(121,227,61,.04);border-radius:13px;color:var(--muted);font-size:12px}.pro-alert-list{display:grid;gap:9px}.pro-alert-row{padding:13px;border-radius:13px;border:1px solid rgba(255,204,92,.22);background:rgba(255,204,92,.05);cursor:pointer}.pro-alert-row:hover{border-color:rgba(255,204,92,.35)}.pro-alert-row small{display:block;color:var(--muted);margin-top:5px;line-height:1.35}.pro-alerts-modal{width:min(720px,100%);margin:0 auto}.modal-open{overflow:hidden!important;overscroll-behavior:none!important}body.modal-open{overflow:hidden!important;touch-action:none!important}.modal-panel,.htd-dialog{touch-action:auto!important}.modal-backdrop,.htd-dialog-overlay{display:flex!important;align-items:center!important;justify-content:center!important;overflow:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;padding:16px!important}.modal-panel,.htd-dialog{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;margin:auto!important}
@media(max-width:1180px){.pro-home-shortcuts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1050px){.pro-home-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-cal-card,.pro-cal-side{grid-column:1/-1}}@media(max-width:760px){html,body{overflow-y:auto!important}.main{padding-bottom:96px!important}.pro-home-actions{width:100%;justify-content:space-between}.pro-home-kpi-grid{grid-template-columns:1fr;gap:10px}.pro-home-kpi{min-height:154px;padding:18px}.pro-home-shortcuts-grid{grid-template-columns:1fr;gap:10px}.pro-cal-weekdays,.pro-cal-grid{gap:5px}.pro-cal-day{min-height:72px;padding:7px}.pro-cal-first{display:none}.pro-cal-month{min-width:120px}.pro-cal-card,.pro-cal-side{padding:14px!important}.modal-backdrop,.htd-dialog-overlay{align-items:center!important;justify-content:center!important;overflow-y:auto!important;overflow-x:hidden!important;padding:10px!important}.modal-panel,.htd-dialog{max-height:calc(100dvh - 20px)!important;height:auto!important;margin:auto!important;overflow-y:auto!important}.modal-body{overflow:visible!important}}
.pro-selected-date-title{margin:0;color:var(--text);font-size:17px;font-weight:900;letter-spacing:-.03em;line-height:1.25}.pro-selected-date-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 14px}.pro-selected-date-head .pro-selected-date-title{flex:1;display:flex;align-items:center;min-height:42px}.pro-selected-date-head .btn{flex:0 0 auto}.pro-student-new-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}.pro-student-span-4{grid-column:span 4}.pro-student-span-2{grid-column:span 2}.pro-student-full{grid-column:1/-1}@media(max-width:760px){.pro-selected-date-title{font-size:15px}.pro-student-new-grid{grid-template-columns:1fr!important}.pro-student-span-4,.pro-student-span-2,.pro-student-full{grid-column:1/-1!important}}
/* ===== HTD v12.3.6 — refinamento UX profissional ===== */
.pro-home-kpi{transition:.16s}.pro-home-kpi:hover{border-color:rgba(121,227,61,.24);transform:translateY(-1px)}
.pro-kpi-detail{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.pro-kpi-mini{font-size:11px;color:var(--muted);padding:4px 7px;border-radius:999px;background:#0c151d;border:1px solid var(--line)}
.pro-cal-day{position:relative}.pro-cal-today-label{position:absolute;right:7px;top:7px;font-size:8px;font-weight:950;letter-spacing:.06em;color:var(--brand)}
.pro-cal-statuses{display:flex;gap:4px;align-items:center;min-height:7px}.pro-cal-dot{width:6px;height:6px;border-radius:999px;background:#7f8b98}.pro-cal-dot.confirmed,.pro-cal-dot.realized{background:var(--brand)}.pro-cal-dot.scheduled{background:#76aeea}.pro-cal-dot.absent{background:#ff6b72}.pro-cal-dot.cancelled{background:#596674}
.pro-day-item{grid-template-columns:62px minmax(0,1fr) auto}.pro-day-actions{display:flex;gap:6px;align-items:flex-start}.pro-day-open{padding:7px 9px!important;font-size:10px!important}.pro-status-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;border:1px solid var(--line);background:#17212c;color:#cdd6df}.pro-status-chip.confirmed,.pro-status-chip.realized{color:var(--brand);border-color:rgba(121,227,61,.2);background:rgba(121,227,61,.06)}.pro-status-chip.absent{color:#ff858b;border-color:rgba(255,92,101,.22);background:rgba(255,92,101,.06)}.pro-status-chip.cancelled{color:#8d9aa8}
.pro-alert-row{position:relative}.pro-alert-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.pro-alert-kind{font-size:9px;font-weight:950;letter-spacing:.08em;border-radius:999px;padding:4px 7px;border:1px solid var(--line);color:#aeb9c5}.pro-alert-kind.finance{color:#ffcf68;border-color:rgba(255,204,92,.24);background:rgba(255,204,92,.05)}.pro-alert-kind.attention{color:#ff858b;border-color:rgba(255,92,101,.22);background:rgba(255,92,101,.05)}.pro-alert-kind.reminder{color:var(--brand);border-color:rgba(121,227,61,.2);background:rgba(121,227,61,.05)}.pro-alert-time{font-size:10px;color:#718090;margin-top:5px}.pro-alert-read{opacity:.55}.pro-alert-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}
.pro-field-feedback{font-size:11px;margin-top:6px;color:var(--muted);min-height:16px}.pro-field-feedback.ok{color:var(--brand)}.pro-field-feedback.bad{color:#ff858b}.pro-age-readout{font-size:11px;margin-top:6px;color:var(--brand);font-weight:800}
@media(max-width:760px){.pro-cal-day{min-height:60px!important;padding:7px!important}.pro-cal-free,.pro-cal-first{display:none!important}.pro-cal-statuses{margin-top:4px}.pro-cal-today-label{display:none}.pro-day-item{grid-template-columns:54px minmax(0,1fr)}.pro-day-actions{grid-column:1/-1;justify-content:flex-end}.pro-day-open{width:auto!important}.pro-kpi-detail{gap:5px}}

/* ===== HTD v12.3.8 — Perfil do aluno / UX profissional ===== */
.pro-table-actions{display:flex;align-items:center;gap:7px;flex-wrap:nowrap;white-space:nowrap}.pro-table-actions .btn{flex:0 0 auto}.pro-panorama-table th:last-child,.pro-panorama-table td:last-child{min-width:190px}
.pro-student-hero{padding:22px 24px;margin-bottom:14px}.pro-student-hero-main{display:flex;align-items:center;justify-content:space-between;gap:18px}.pro-student-identity{display:flex;align-items:center;gap:15px;min-width:0}.pro-student-avatar-xl{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,rgba(121,227,61,.22),rgba(121,227,61,.08));border:1px solid rgba(121,227,61,.2);display:grid;place-items:center;color:var(--brand);font-size:22px;font-weight:950;flex:0 0 auto}.pro-student-identity h1{margin:3px 0 4px;font-size:clamp(24px,3vw,34px);letter-spacing:-.045em}.pro-student-identity-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pro-student-hero-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.pro-student-objective{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;background:rgba(121,227,61,.08);border:1px solid rgba(121,227,61,.16);color:var(--brand);font-size:10px;font-weight:900}.pro-student-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.pro-student-summary{padding:15px 16px;min-height:106px;display:flex;flex-direction:column;justify-content:space-between}.pro-student-summary span{font-size:10px;font-weight:900;color:#93a1af;letter-spacing:.055em;text-transform:uppercase}.pro-student-summary b{font-size:20px;letter-spacing:-.03em}.pro-student-summary small{color:var(--muted);font-size:11px}.pro-student-tabs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:3px 0 10px;margin-bottom:4px}.pro-student-tabs::-webkit-scrollbar{display:none}.pro-student-tab{white-space:nowrap;border:1px solid var(--line);background:#0d151e;color:#9cabb9;border-radius:12px;padding:9px 12px;font-size:11px;font-weight:900;cursor:pointer;transition:.15s}.pro-student-tab:hover{color:#fff;border-color:#36485a}.pro-student-tab.active{background:rgba(121,227,61,.11);border-color:rgba(121,227,61,.35);color:var(--brand)}.pro-student-panel{display:none}.pro-student-panel.active{display:block}.pro-student-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pro-student-section-card{padding:18px}.pro-student-section-card h3{margin:0 0 13px;font-size:17px}.pro-student-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.pro-student-section-head h2,.pro-student-section-head h3{margin:0}.pro-student-section-head .muted{margin-top:4px}.pro-student-quick-list{display:grid;gap:0}.pro-student-quick-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.pro-student-quick-row:last-child{border-bottom:0}.pro-student-quick-row span{color:var(--muted);font-size:12px}.pro-student-quick-row b{text-align:right;font-size:12px}.pro-student-plan-preview{border:1px solid var(--line);border-radius:14px;background:#0d151e;padding:14px}.pro-student-plan-preview+.pro-student-plan-preview{margin-top:9px}.pro-student-plan-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.pro-student-plan-preview h4{margin:0;font-size:14px}.pro-student-panel>.card+.card{margin-top:14px}.pro-student-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.pro-student-data-grid .full{grid-column:1/-1}.pro-student-empty{padding:22px;border:1px dashed var(--line);border-radius:14px;text-align:center;color:var(--muted)}.pro-communication-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pro-student-message{padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#0d151e;margin-top:8px}.pro-student-billing-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.pro-student-billing-row:last-child{border-bottom:0}.pro-student-savebar{display:flex;justify-content:flex-end;gap:8px;padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}
@media(max-width:1050px){.pro-student-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-student-section-grid,.pro-communication-grid{grid-template-columns:1fr}}
@media(max-width:760px){.pro-panorama-table th:last-child,.pro-panorama-table td:last-child{min-width:170px}.pro-table-actions{gap:5px}.pro-table-actions .btn{padding:8px 9px;font-size:11px}.pro-student-hero{padding:17px}.pro-student-hero-main{align-items:flex-start;flex-direction:column}.pro-student-hero-actions{width:100%;justify-content:flex-start}.pro-student-avatar-xl{width:54px;height:54px;border-radius:16px}.pro-student-summary-grid{grid-template-columns:1fr 1fr;gap:8px}.pro-student-summary{min-height:92px;padding:13px}.pro-student-summary b{font-size:17px}.pro-student-data-grid{grid-template-columns:1fr}.pro-student-data-grid .full{grid-column:auto}.pro-student-section-card{padding:15px}.pro-student-tabs{margin-left:-2px;margin-right:-2px}}
/* ===== HTD v12.3.9 — planejamento do aluno refinado ===== */
.pro-planning-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.pro-planning-stat{padding:14px 15px;background:#0d151e;border:1px solid var(--line);border-radius:14px;min-height:84px;display:flex;flex-direction:column;justify-content:space-between}
.pro-planning-stat span{font-size:10px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.055em}.pro-planning-stat b{font-size:22px;letter-spacing:-.04em}.pro-plan-stack{display:grid;gap:12px}
.pro-plan-card{border:1px solid var(--line);border-radius:17px;background:linear-gradient(180deg,#101923,#0d151e);overflow:hidden}
.pro-plan-card-head{padding:17px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}
.pro-plan-card-title{min-width:0}.pro-plan-card-title h3{margin:4px 0 6px;font-size:18px;letter-spacing:-.035em}.pro-plan-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:11px}.pro-plan-status{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;border:1px solid rgba(121,227,61,.2);background:rgba(121,227,61,.08);color:var(--brand);font-size:9px;font-weight:950;letter-spacing:.06em}.pro-plan-status.next{color:#ffcc5c;border-color:rgba(255,204,92,.22);background:rgba(255,204,92,.06)}.pro-plan-status.done{color:#9ba8b5;border-color:var(--line);background:rgba(255,255,255,.025)}
.pro-plan-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.pro-plan-card-summary{padding:11px 18px;display:flex;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--line);background:rgba(255,255,255,.012)}.pro-plan-card-summary span{font-size:11px;color:var(--muted)}.pro-plan-card-summary b{color:var(--text)}
.pro-workout-accordion{border-bottom:1px solid var(--line)}.pro-workout-accordion:last-child{border-bottom:0}.pro-workout-head{width:100%;border:0;background:transparent;color:var(--text);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.pro-workout-head:hover{background:rgba(255,255,255,.018)}.pro-workout-head-main{display:flex;align-items:center;gap:11px;min-width:0}.pro-workout-letter{width:36px;height:36px;border-radius:11px;background:rgba(121,227,61,.09);color:var(--brand);display:grid;place-items:center;font-size:12px;font-weight:950;flex:0 0 auto}.pro-workout-name b{display:block;font-size:14px}.pro-workout-name small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.pro-workout-head-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}.pro-workout-toggle{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--muted);transition:.15s}.pro-workout-accordion.open .pro-workout-toggle{transform:rotate(180deg);color:var(--brand)}
.pro-workout-body{display:none;padding:0 18px 15px 65px}.pro-workout-accordion.open .pro-workout-body{display:block}.pro-exercise-list{display:grid;gap:7px}.pro-exercise-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#0b1219}.pro-exercise-order{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(121,227,61,.07);color:var(--brand);font-size:10px;font-weight:950}.pro-exercise-copy b{display:block;font-size:12px}.pro-exercise-copy small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.pro-exercise-prescription{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.pro-prescription-chip{padding:5px 7px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);color:#cbd4dd;font-size:10px;font-weight:850}.pro-workout-empty{padding:13px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:11px;text-align:center}.pro-plan-empty{padding:26px 18px;text-align:center;border:1px dashed var(--line);border-radius:15px}.pro-plan-empty h3{margin:0 0 5px;font-size:16px}.pro-plan-empty p{margin:0 auto 14px;color:var(--muted);font-size:12px;max-width:460px}.pro-planning-help{margin-top:12px;padding:11px 13px;border-radius:13px;background:rgba(121,227,61,.04);border:1px solid rgba(121,227,61,.12);color:var(--muted);font-size:11px;line-height:1.45}
@media(max-width:760px){.pro-planning-summary{grid-template-columns:1fr 1fr}.pro-planning-stat:last-child{grid-column:1/-1}.pro-plan-card-head{padding:15px;flex-direction:column}.pro-plan-card-actions{width:100%;justify-content:flex-start}.pro-plan-card-summary{padding:10px 15px}.pro-workout-head{padding:13px 15px}.pro-workout-body{padding:0 15px 14px}.pro-workout-head-actions .btn{padding:8px 9px;font-size:10px}.pro-exercise-item{grid-template-columns:28px minmax(0,1fr)}.pro-exercise-prescription{grid-column:2;justify-content:flex-start}}


/* ===== HTD v12.4.0 — perfil do aluno refinado ===== */
.pro-workout-body-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.pro-plan-card-actions{display:flex;gap:8px;flex-wrap:wrap}
.pro-assess-overview,.pro-period-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.pro-assess-kpi,.pro-period-stat{padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:#0d151e}
.pro-assess-kpi span,.pro-period-stat span{display:block;font-size:10px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.pro-assess-kpi b,.pro-period-stat b{display:block;margin-top:7px;font-size:17px}
.pro-assess-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pro-assess-card{border:1px solid var(--line);border-radius:16px;background:#0d151e;padding:16px}.pro-assess-card.full{grid-column:1/-1}.pro-assess-card h3{margin:0 0 12px}.pro-assess-tip{margin-top:10px;padding:10px 12px;border:1px solid rgba(121,227,61,.12);background:rgba(121,227,61,.035);border-radius:12px;color:var(--muted);font-size:10px;line-height:1.45}
.pro-period-timeline{display:grid;gap:10px}.pro-period-content{border:1px solid var(--line);border-radius:15px;background:#0d151e;padding:14px}.pro-period-content.current{border-color:rgba(121,227,61,.34);background:linear-gradient(180deg,rgba(121,227,61,.045),#0d151e)}.pro-period-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pro-period-head h3{margin:3px 0 4px}.pro-period-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.pro-period-chip{display:inline-flex;padding:5px 7px;border:1px solid var(--line);border-radius:999px;font-size:9px;color:#cbd4dd;font-weight:850}.pro-period-status{font-size:9px;font-weight:950;letter-spacing:.06em;color:#97a5b3}.pro-period-status.current{color:var(--brand)}.pro-period-status.next{color:var(--warning)}
.pro-student-report-shell .report-filter-card{margin-top:0}.pro-student-report-shell .report-preview-card{margin-bottom:0}
.pro-editor-ex-list{display:grid;gap:8px}.pro-editor-ex-item{display:grid;grid-template-columns:32px minmax(0,1fr) 86px 110px auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#0b1219}.pro-editor-ex-order{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(121,227,61,.08);color:var(--brand);font-size:10px;font-weight:950}.pro-editor-ex-copy b{display:block;font-size:12px}.pro-editor-ex-copy small{display:block;color:var(--muted);font-size:10px}.pro-editor-actions{display:flex;gap:5px}.pro-editor-actions button{width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:#fff;cursor:pointer}.pro-editor-add{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#0b1219}.pro-editor-add-grid{display:grid;grid-template-columns:170px minmax(200px,1fr) 90px 110px auto;gap:8px;align-items:end}.pro-editor-days{display:flex;gap:7px;flex-wrap:wrap}.pro-editor-days label{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#0d151e;text-transform:none;letter-spacing:0;margin:0;font-size:11px}.pro-editor-days input{width:15px!important;height:15px!important;margin:0!important;accent-color:var(--brand)}
@media(max-width:900px){.pro-assess-overview,.pro-period-summary{grid-template-columns:1fr 1fr}.pro-assess-kpi:last-child,.pro-period-stat:last-child{grid-column:1/-1}.pro-editor-add-grid{grid-template-columns:1fr 1fr}.pro-editor-add-grid .pro-editor-add-btn{grid-column:1/-1}.pro-editor-ex-item{grid-template-columns:32px minmax(0,1fr) auto}.pro-editor-ex-item>input{grid-column:2}.pro-editor-actions{grid-column:3;grid-row:1/4}}
@media(max-width:760px){.pro-assess-overview,.pro-period-summary,.pro-assess-sections{grid-template-columns:1fr}.pro-assess-kpi:last-child,.pro-period-stat:last-child,.pro-assess-card.full{grid-column:auto}.pro-editor-add-grid{grid-template-columns:1fr}.pro-editor-add-grid .pro-editor-add-btn{grid-column:auto}.pro-workout-body-actions{justify-content:flex-start}.pro-period-head{flex-direction:column}}


/* Restauração segura da rolagem geral — não altera renderização, rotas ou autenticação. */
html,body{height:auto!important;min-height:100%!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;position:static!important}
body{touch-action:auto!important;overscroll-behavior-y:auto!important}
.app{height:auto!important;min-height:100vh!important;max-height:none!important;overflow:visible!important;align-items:start!important}
.main,#view{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
/* Mesmo se alguma classe antiga permanecer por cache, ela não pode travar a página sem popup visível. */
html.modal-open:not(:has(.modal-backdrop)):not(:has(.htd-dialog-overlay)),
body.modal-open:not(:has(.modal-backdrop)):not(:has(.htd-dialog-overlay)){overflow-y:auto!important;height:auto!important;position:static!important;touch-action:auto!important}
@media(max-width:1100px){html,body{overflow-y:auto!important}.main,#view{overflow:visible!important;height:auto!important;max-height:none!important}}

/* ===== HTD v12.4.1 — editor profissional espelhado no perfil do aluno ===== */
.pro-editor-add{overflow:hidden!important}
.pro-editor-add-grid{width:100%!important;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,.62fr) minmax(0,.72fr) minmax(112px,.72fr)!important;gap:9px!important;align-items:end!important}
.pro-editor-add-grid>*{min-width:0!important}.pro-editor-add-grid input,.pro-editor-add-grid select{min-width:0!important;width:100%!important}
.pro-editor-add-btn{width:100%!important;max-width:100%!important;min-width:0!important;white-space:nowrap!important}
.pro-editor-type-note{margin-top:12px;padding:11px 12px;border:1px solid rgba(121,227,61,.16);background:rgba(121,227,61,.04);border-radius:12px;color:var(--muted);font-size:11px;line-height:1.45}
.pro-variant-editor{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#0b1219}
.pro-variant-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.pro-variant-editor-head h3{margin:0;font-size:15px}
.pro-variant-picker{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:end}.pro-variant-picker>*{min-width:0}
.pro-variant-list{display:grid;gap:8px;margin-top:10px}.pro-variant-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:#0d151e}.pro-variant-row-copy{min-width:0}.pro-variant-row-copy b{display:block;font-size:12px}.pro-variant-row-copy small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.pro-variant-row-actions{display:flex;gap:6px;flex:0 0 auto}.pro-variant-row-actions .btn{padding:7px 9px!important;font-size:10px!important}
.pro-workout-kind{display:inline-flex;align-items:center;margin-top:4px;padding:4px 7px;border-radius:999px;border:1px solid rgba(121,227,61,.16);background:rgba(121,227,61,.05);color:var(--brand);font-size:9px;font-weight:900;letter-spacing:.04em}
.pro-editor-technique{grid-column:1/-1;padding-top:3px}.pro-editor-technique .advanced-technique-check{margin:0!important}
.pro-editor-technique-select{margin-top:8px}.pro-editor-cardio-technique-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:8px}
@media(max-width:1050px){.pro-editor-add-grid{grid-template-columns:1fr 1fr!important}.pro-editor-add-grid .pro-editor-add-btn,.pro-editor-technique{grid-column:1/-1!important}}
@media(max-width:760px){.pro-editor-add-grid,.pro-variant-picker,.pro-editor-cardio-technique-grid{grid-template-columns:1fr!important}.pro-editor-add-grid .pro-editor-add-btn,.pro-editor-technique{grid-column:auto!important}.pro-variant-editor-head,.pro-variant-row{align-items:flex-start;flex-direction:column}.pro-variant-row-actions{width:100%}.pro-variant-row-actions .btn{flex:1}}


/* Editor profissional: campos usam toda a largura do card; técnica avançada alinhada à esquerda. */
#proWorkoutEditorModal .pro-editor-add-grid{
 display:grid!important;
 grid-template-columns:minmax(0,1.05fr) minmax(0,1.45fr) minmax(110px,.65fr) minmax(120px,.75fr)!important;
 width:100%!important;
 gap:10px!important;
 align-items:end!important;
}
#proWorkoutEditorModal .pro-editor-add-grid>div{min-width:0!important;width:100%!important}
#proWorkoutEditorModal .pro-editor-add-grid input,
#proWorkoutEditorModal .pro-editor-add-grid select{width:100%!important;min-width:0!important;max-width:none!important}
#proWorkoutEditorModal .pro-editor-technique{
 grid-column:1/-1!important;
 width:100%!important;
 padding-top:2px!important;
 display:block!important;
 text-align:left!important;
}
#proWorkoutEditorModal .advanced-technique-check{
 display:flex!important;
 align-items:center!important;
 justify-content:flex-start!important;
 gap:8px!important;
 width:max-content!important;
 max-width:100%!important;
 margin:0!important;
 padding:0!important;
 text-align:left!important;
 text-transform:none!important;
 letter-spacing:0!important;
}
#proWorkoutEditorModal .advanced-technique-check input{
 width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;
 flex:0 0 16px!important;margin:0!important;padding:0!important;accent-color:var(--brand)!important;
}
#proWorkoutEditorModal .advanced-technique-check span{display:inline-block!important;text-align:left!important}
#proWorkoutEditorModal .pro-editor-add-btn{grid-column:1/-1!important;justify-self:end!important;min-width:140px!important;margin-top:2px!important}
#proWorkoutEditorModal .pro-editor-cardio-technique-grid{grid-column:1/-1!important;width:100%!important}
@media(max-width:900px){
 #proWorkoutEditorModal .pro-editor-add-grid{grid-template-columns:1fr 1fr!important}
 #proWorkoutEditorModal .pro-editor-technique,#proWorkoutEditorModal .pro-editor-add-btn{grid-column:1/-1!important}
}
@media(max-width:620px){
 #proWorkoutEditorModal .pro-editor-add-grid{grid-template-columns:1fr!important}
 #proWorkoutEditorModal .pro-editor-technique,#proWorkoutEditorModal .pro-editor-add-btn{grid-column:1!important}
 #proWorkoutEditorModal .pro-editor-add-btn{width:100%!important;justify-self:stretch!important}
}


/* Exercícios do editor: todas as linhas usam as mesmas colunas e os mesmos alinhamentos. */
#proWorkoutEditorModal .pro-editor-ex-item{
 display:grid!important;
 grid-template-columns:32px minmax(220px,1fr) 100px 100px 96px!important;
 gap:9px!important;
 align-items:center!important;
 width:100%!important;
}
#proWorkoutEditorModal .pro-editor-ex-item>input{width:100%!important;min-width:0!important;margin:0!important}
#proWorkoutEditorModal .pro-editor-metric-placeholder{display:block!important;width:100%!important;height:1px!important;visibility:hidden!important}
#proWorkoutEditorModal .pro-editor-actions{
 display:grid!important;grid-template-columns:repeat(3,30px)!important;gap:5px!important;
 justify-content:end!important;align-items:center!important;width:96px!important;min-width:96px!important;
}
#proWorkoutEditorModal .pro-editor-actions button{width:30px!important;height:30px!important;margin:0!important}
@media(max-width:900px){
 #proWorkoutEditorModal .pro-editor-ex-item{grid-template-columns:32px minmax(0,1fr) 96px!important}
 #proWorkoutEditorModal .pro-editor-ex-item>input{grid-column:2!important}
 #proWorkoutEditorModal .pro-editor-metric-placeholder{display:none!important}
 #proWorkoutEditorModal .pro-editor-actions{grid-column:3!important;grid-row:1/4!important}
}
@media(max-width:560px){
 #proWorkoutEditorModal .pro-editor-ex-item{grid-template-columns:30px minmax(0,1fr)!important}
 #proWorkoutEditorModal .pro-editor-ex-item>input{grid-column:2!important}
 #proWorkoutEditorModal .pro-editor-actions{grid-column:2!important;grid-row:auto!important;width:auto!important;min-width:0!important;justify-content:start!important}
}


/* ===== HTD v12.5.0 — cardio profissional + periodização avançada ===== */
#proWorkoutEditorModal .pro-editor-cardio-advanced-wrap{grid-column:1/-1!important;width:100%!important;min-width:0!important}
#proWorkoutEditorModal .pro-editor-cardio-advanced-wrap .advanced-technique-check{margin:0!important}
#proWorkoutEditorModal .pro-editor-cardio-fields{margin-top:9px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#0d151e}
#proWorkoutEditorModal .pro-editor-cardio-fields .cardio-protocol-note{margin-bottom:9px}
#proWorkoutEditorModal .pro-editor-cardio-fields .cardio-protocol-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#proWorkoutEditorModal .pro-editor-protocol-btn{width:100%;min-height:36px;padding:7px 8px;border:1px solid rgba(121,227,61,.22);border-radius:9px;background:rgba(121,227,61,.06);color:var(--brand);font-size:9px;font-weight:900;line-height:1.15;cursor:pointer;white-space:normal;text-align:center}
#proWorkoutEditorModal .pro-editor-protocol-btn:hover{background:rgba(121,227,61,.11)}
#proWorkoutEditorModal .pro-editor-actions button.pro-editor-edit-btn{color:var(--brand);border-color:rgba(121,227,61,.24)}
.pro-cardio-edit-fields{margin-top:10px}.pro-cardio-edit-fields .cardio-protocol-note{margin-bottom:9px}

.pro-period-v2{display:grid;gap:14px}.pro-period-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.pro-period-dashboard{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.pro-period-dashboard-card{padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#0d151e;min-width:0}
.pro-period-dashboard-card span{display:block;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.pro-period-dashboard-card b{display:block;margin-top:6px;font-size:17px;line-height:1.15;overflow:hidden;text-overflow:ellipsis}
.pro-period-macro{border:1px solid var(--line);border-radius:17px;background:linear-gradient(180deg,rgba(21,30,41,.75),rgba(12,18,25,.72));overflow:hidden}
.pro-period-macro-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:16px 17px;border-bottom:1px solid var(--line)}
.pro-period-macro-head h3{margin:3px 0 4px;font-size:18px}.pro-period-macro-head .muted{font-size:11px;line-height:1.4}
.pro-period-macro-badge{display:inline-flex;padding:5px 8px;border:1px solid rgba(121,227,61,.18);border-radius:999px;background:rgba(121,227,61,.06);color:var(--brand);font-size:9px;font-weight:950;letter-spacing:.05em}
.pro-period-meso-list{display:grid;gap:10px;padding:13px}.pro-period-meso{border:1px solid var(--line);border-radius:14px;background:#0b1219;padding:14px}.pro-period-meso.current{border-color:rgba(121,227,61,.35);box-shadow:inset 0 0 0 1px rgba(121,227,61,.06)}
.pro-period-meso-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pro-period-meso-head h4{margin:4px 0 4px;font-size:16px}.pro-period-meso-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.pro-period-meso-actions .btn{padding:7px 9px!important;font-size:10px!important}
.pro-period-meso-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:11px}.pro-period-metric{padding:9px;border:1px solid var(--line);border-radius:11px;background:#0d151e}.pro-period-metric span{display:block;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.pro-period-metric b{display:block;margin-top:4px;font-size:11px;line-height:1.25}
.pro-period-strategy{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.pro-period-strategy span{padding:5px 7px;border:1px solid var(--line);border-radius:999px;color:#bec9d4;font-size:9px;font-weight:800}
.pro-period-deload{color:var(--warning)!important;border-color:rgba(255,204,92,.23)!important;background:rgba(255,204,92,.04)!important}
.pro-period-micro-details{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.pro-period-micro-details summary{cursor:pointer;color:var(--brand);font-size:10px;font-weight:900;list-style:none}.pro-period-micro-details summary::-webkit-details-marker{display:none}
.pro-micro-table-wrap{overflow:auto;margin-top:9px;border:1px solid var(--line);border-radius:11px}.pro-micro-table{width:100%;min-width:780px;border-collapse:collapse;background:#0d151e}.pro-micro-table th,.pro-micro-table td{padding:8px 9px;font-size:10px;border-bottom:1px solid var(--line)}.pro-micro-table th{font-size:8px}.pro-micro-type{font-weight:900}.pro-micro-type.deload{color:var(--warning)}
.pro-period-notes-v2{margin-top:9px;padding:9px 10px;border-left:2px solid rgba(121,227,61,.28);background:rgba(121,227,61,.025);color:var(--muted);font-size:10px;line-height:1.45}
.pro-period-modal .modal-panel{width:min(1040px,100%)}.pro-period-form-section{padding:14px;border:1px solid var(--line);border-radius:14px;background:#0b1219;margin-top:12px}.pro-period-form-section h3{margin:0 0 11px;font-size:15px}.pro-period-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.pro-period-form-grid .span-2{grid-column:span 2}.pro-period-form-grid .span-4{grid-column:1/-1}.pro-period-check{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;text-transform:none!important;letter-spacing:0!important;color:var(--text)!important;font-size:11px!important}.pro-period-check input{width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;accent-color:var(--brand)}
.pro-micro-editor{display:grid;gap:7px;margin-top:10px}.pro-micro-editor-row{display:grid;grid-template-columns:42px 145px 90px 90px 70px 70px 80px minmax(140px,1fr);gap:7px;align-items:end;padding:9px;border:1px solid var(--line);border-radius:11px;background:#0d151e}.pro-micro-editor-row .week{align-self:center;color:var(--brand);font-weight:950;text-align:center}.pro-micro-editor-row label{font-size:8px;margin-bottom:4px}.pro-micro-editor-row input,.pro-micro-editor-row select{padding:8px 9px;border-radius:9px;font-size:11px}.pro-period-hint{padding:10px 11px;border:1px solid rgba(121,227,61,.13);border-radius:11px;background:rgba(121,227,61,.035);color:var(--muted);font-size:10px;line-height:1.45}
@media(max-width:1050px){.pro-period-dashboard{grid-template-columns:repeat(3,1fr)}.pro-period-meso-metrics{grid-template-columns:repeat(3,1fr)}.pro-period-form-grid{grid-template-columns:repeat(2,1fr)}.pro-period-form-grid .span-4{grid-column:1/-1}.pro-micro-editor-row{grid-template-columns:42px 1fr 1fr 1fr}.pro-micro-editor-row>div:nth-child(n+6){grid-column:auto}}
@media(max-width:760px){#proWorkoutEditorModal .pro-editor-cardio-fields .cardio-protocol-grid{grid-template-columns:1fr!important}.pro-period-dashboard{grid-template-columns:1fr 1fr}.pro-period-dashboard-card:last-child{grid-column:1/-1}.pro-period-macro-head,.pro-period-meso-head{flex-direction:column}.pro-period-meso-actions{justify-content:flex-start}.pro-period-meso-metrics{grid-template-columns:1fr 1fr}.pro-period-form-grid{grid-template-columns:1fr}.pro-period-form-grid .span-2,.pro-period-form-grid .span-4{grid-column:auto}.pro-micro-editor-row{grid-template-columns:36px 1fr 1fr}.pro-micro-editor-row>div{grid-column:auto}.pro-micro-editor-row>div:last-child{grid-column:1/-1}.pro-period-modal .modal-panel{max-height:calc(100dvh - 20px)!important}}
/* HTD v12.5.2 — campos pesquisáveis da periodização */
.pro-period-modal input[list]{padding-right:34px!important}
.pro-period-modal input[list]::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer}



/* ===== HTD v12.5.4 — alinhamento global de campos ===== */
.formgrid,.field-row,.editor-add-grid,.aerobic-add-grid,.exercise-edit-grid,.account-settings-grid,
.report-filter-grid,.pro-student-data-grid,.pro-health-grid,.pro-student-new-grid,.pro-editor-add-grid,
.pro-period-form-grid,.cardio-protocol-grid,.cardio-register-grid,.evolution-filter-grid{
  align-items:end!important;
}
.formgrid>div,.field-row>div,.editor-add-grid>div,.exercise-edit-grid>div,.account-settings-grid>div,
.report-filter-grid>div,.pro-student-data-grid>div,.pro-health-grid>div,.pro-student-new-grid>div,
.pro-editor-add-grid>div,.pro-period-form-grid>div,.cardio-protocol-grid>div,.cardio-register-grid>div,
.evolution-filter-grid>div{
  min-width:0;
}
.formgrid>div>label,.field-row>div>label,.editor-add-grid>div>label,.exercise-edit-grid>div>label,
.account-settings-grid>div>label,.report-filter-grid>div>label,.pro-student-data-grid>div>label,
.pro-health-grid>div>label,.pro-student-new-grid>div>label,.pro-editor-add-grid>div>label,
.pro-period-form-grid>div>label,.cardio-protocol-grid>div>label,.cardio-register-grid>div>label,
.evolution-filter-grid>div>label{
  min-height:28px;display:flex;align-items:flex-end;line-height:1.25;
}
input:not([type="checkbox"]):not([type="radio"]),select{min-height:44px}
textarea{width:100%;resize:vertical}
/* Campos com feedback continuam alinhados na mesma linha. */
.pro-student-new-grid .pro-field-feedback,.pro-student-new-grid .pro-age-readout{min-height:18px}

/* ===== Anotações do aluno ===== */
.pro-notes-layout{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.35fr);gap:14px;align-items:start}
.pro-note-editor{position:sticky;top:16px}
.pro-note-editor textarea{min-height:220px}
.pro-note-editor-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;align-items:end;margin-bottom:10px}
.pro-note-editor-grid>div{min-width:0}.pro-note-editor-grid label{min-height:28px;display:flex;align-items:flex-end}
.pro-note-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:11px}
.pro-note-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:9px;align-items:end;margin-bottom:12px}
.pro-note-toolbar>div{min-width:0}.pro-note-toolbar label{min-height:28px;display:flex;align-items:flex-end}
.pro-note-list{display:grid;gap:9px}.pro-note-card{border:1px solid var(--line);border-radius:14px;background:#0d151e;padding:14px;transition:.15s}
.pro-note-card:hover{border-color:#35495c}.pro-note-card.pinned{border-color:rgba(121,227,61,.28);background:linear-gradient(180deg,rgba(121,227,61,.045),#0d151e)}
.pro-note-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pro-note-title{min-width:0}.pro-note-title h4{margin:0 0 4px;font-size:14px}.pro-note-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:10px}
.pro-note-category{display:inline-flex;padding:4px 7px;border-radius:999px;background:rgba(121,227,61,.08);border:1px solid rgba(121,227,61,.15);color:var(--brand);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.pro-note-card-actions{display:flex;gap:5px;flex:0 0 auto}.pro-note-card-actions button{padding:7px 9px!important;font-size:10px!important}
.pro-note-body{margin-top:10px;color:#dbe3eb;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.pro-note-empty{padding:28px 18px;border:1px dashed var(--line);border-radius:14px;text-align:center;color:var(--muted)}
.pro-note-count{color:var(--muted);font-size:11px;margin-top:4px}.pro-note-editing{padding:9px 10px;border:1px solid rgba(121,227,61,.19);background:rgba(121,227,61,.055);border-radius:11px;color:var(--brand);font-size:11px;font-weight:850;margin-bottom:10px}
@media(max-width:900px){.pro-notes-layout{grid-template-columns:1fr}.pro-note-editor{position:static}.pro-note-toolbar{grid-template-columns:1fr 160px}}
@media(max-width:600px){.pro-note-editor-grid,.pro-note-toolbar{grid-template-columns:1fr}.pro-note-head{flex-direction:column}.pro-note-card-actions{width:100%}.pro-note-card-actions button{flex:1}}


/* ===== HTD v12.6.5 — Evolução profissional do aluno ===== */
.pro-evo-shell{display:grid;gap:14px}.pro-evo-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pro-evo-kpi{min-height:116px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:8px}.pro-evo-kpi span{font-size:10px;color:#91a0af;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.pro-evo-kpi b{font-size:24px;letter-spacing:-.04em}.pro-evo-kpi small{font-size:11px;color:var(--muted);line-height:1.35}.pro-evo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pro-evo-card{padding:18px}.pro-evo-card h3{margin:0}.pro-evo-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.pro-evo-context .pro-student-quick-row{min-width:0}.pro-evo-context .pro-student-quick-row:last-child{border-bottom:1px solid var(--line)}.pro-evo-context .pro-student-quick-row b{max-width:60%;overflow-wrap:anywhere}.pro-evo-chart{height:250px!important;min-width:0!important;width:100%!important}.pro-evo-table{min-width:720px}.pro-evo-table td,.pro-evo-table th{vertical-align:middle}.pro-evo-delta{font-weight:950;white-space:nowrap}.pro-evo-delta.pos{color:var(--brand)}.pro-evo-delta.neg{color:#ff5f6d}.pro-evo-delta.neutral{color:#ffffff}.pro-evo-timeline{display:grid;gap:8px}.pro-evo-event{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#0d151e}.pro-evo-event-date{font-size:11px;color:var(--muted);font-weight:800}.pro-evo-event b{font-size:12px}.pro-evo-event small{display:block;color:var(--muted);margin-top:3px}.pro-evo-review{display:grid;gap:8px}.pro-evo-review-item{padding:11px 12px;border:1px solid var(--line);background:#0d151e;border-radius:12px;font-size:12px;line-height:1.45;color:#c6d0d9}.pro-evo-review-item strong{color:var(--brand)}
.pro-evo-performance-filter{width:min(320px,100%);margin:0 0 14px}.pro-evo-performance-filter label{margin-bottom:7px}.pro-evo-performance-filter select{width:100%}
@media(max-width:1050px){.pro-evo-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-evo-grid{grid-template-columns:1fr}}@media(max-width:760px){.pro-evo-kpis{grid-template-columns:1fr 1fr}.pro-evo-kpi{min-height:100px;padding:13px}.pro-evo-kpi b{font-size:20px}.pro-evo-context{grid-template-columns:1fr}.pro-evo-event{grid-template-columns:1fr;gap:5px}.pro-evo-event .pill{justify-self:start}}@media(max-width:480px){.pro-evo-kpis{grid-template-columns:1fr}}

/* ===== HTD v12.6.0 — Agenda profissional operacional ===== */
.htd-agenda-shell{display:grid;gap:14px}
.htd-agenda-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.htd-agenda-kpi{min-height:118px;padding:17px 18px;display:flex;flex-direction:column;justify-content:space-between}
.htd-agenda-kpi-top{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.htd-agenda-kpi-icon{width:34px;height:34px;border-radius:11px;background:rgba(182,255,54,.09);color:var(--brand);display:grid;place-items:center}
.htd-agenda-kpi-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.htd-agenda-kpi-value{font-size:30px;font-weight:950;letter-spacing:-.04em;line-height:1}
.htd-agenda-kpi-sub{font-size:11px;color:var(--muted);line-height:1.35}
.htd-agenda-control-card{padding:15px 17px!important}
.htd-agenda-navrow{display:grid;grid-template-columns:auto auto minmax(220px,1fr);gap:12px;align-items:center}
.htd-agenda-viewtabs{display:flex;gap:5px;padding:4px;border:1px solid var(--line);border-radius:13px;background:#0a1118}
.htd-agenda-viewtabs button{border:0;background:transparent;color:var(--muted);padding:8px 12px;border-radius:9px;font-size:12px;font-weight:900;cursor:pointer}
.htd-agenda-viewtabs button.active{background:rgba(182,255,54,.12);color:var(--brand)}
.htd-agenda-range{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.htd-agenda-range-title{min-width:190px;text-align:center;font-size:14px;font-weight:950;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.htd-agenda-navbtn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:#0d151e;color:#dbe3ea;cursor:pointer;font-weight:950}
.htd-agenda-navbtn:hover{border-color:rgba(182,255,54,.35);color:var(--brand)}
.htd-agenda-today{white-space:nowrap}
.htd-agenda-filters{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(150px,.8fr) minmax(190px,1fr) auto;gap:10px;align-items:end;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.htd-agenda-filters>div{min-width:0}
.htd-agenda-filter-clear{height:44px;align-self:end}
.htd-agenda-month-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(360px,.85fr);gap:14px;align-items:start}
.htd-agenda-month-card,.htd-agenda-side-card{min-width:0}
.htd-agenda-month-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-bottom:7px}
.htd-agenda-month-head div{text-align:center;color:#7f8d9d;font-size:10px;font-weight:950;letter-spacing:.07em}
.htd-agenda-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.htd-agenda-daycell{position:relative;min-height:90px;padding:9px;border:1px solid var(--line);border-radius:13px;background:#0d151e;color:var(--text);text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;gap:7px;transition:.15s;overflow:hidden}
.htd-agenda-daycell:hover{border-color:rgba(182,255,54,.32);transform:translateY(-1px)}
.htd-agenda-daycell.out{opacity:.34}.htd-agenda-daycell.today{box-shadow:inset 0 0 0 1px rgba(182,255,54,.32)}.htd-agenda-daycell.selected{border-color:var(--brand);background:rgba(182,255,54,.045)}
.htd-agenda-daytop{display:flex;align-items:center;justify-content:space-between;gap:6px}.htd-agenda-daynum{font-size:14px;font-weight:950}.htd-agenda-daytoday{font-size:8px;color:var(--brand);font-weight:950;letter-spacing:.05em}
.htd-agenda-count{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:22px;padding:0 7px;border-radius:999px;background:rgba(182,255,54,.11);color:var(--brand);font-size:10px;font-weight:950}
.htd-agenda-dayfree{font-size:10px;color:#647383}.htd-agenda-dayfirst{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.htd-agenda-side-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.htd-agenda-side-date{font-size:16px;font-weight:950;line-height:1.25;text-transform:capitalize}
.htd-agenda-list{display:grid;gap:9px}.htd-agenda-appt{position:relative;border:1px solid var(--line);border-radius:14px;background:#0c151e;padding:12px;display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;align-items:start}
.htd-agenda-appt.cancelled{opacity:.56}.htd-agenda-appt-time{font-size:16px;font-weight:950;color:var(--brand);line-height:1.15}.htd-agenda-appt-end{font-size:10px;color:var(--muted);margin-top:3px;font-weight:750}
.htd-agenda-appt-copy{min-width:0}.htd-agenda-appt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.htd-agenda-appt-headcopy{min-width:0;flex:1}.htd-agenda-appt-type{color:var(--brand);font-size:9px;font-weight:950;letter-spacing:.07em;text-transform:uppercase;margin-bottom:3px}.htd-agenda-appt-name{font-size:14px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.htd-agenda-appt-meta{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.4}.htd-agenda-appt-chiptop{flex:0 0 auto;margin-top:1px}
.htd-agenda-appt-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) repeat(4,34px);gap:6px;align-items:center;padding-top:9px;margin-top:2px;border-top:1px solid var(--line)}.htd-agenda-iconbtn{width:34px;height:34px;padding:0!important;display:grid!important;place-items:center!important}.htd-agenda-iconbtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.htd-agenda-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:950;letter-spacing:.035em;border:1px solid var(--line);white-space:nowrap}.htd-agenda-status.agendado{color:#a8b4c1;background:#151e28}.htd-agenda-status.confirmado{color:var(--brand);border-color:rgba(182,255,54,.22);background:rgba(182,255,54,.07)}.htd-agenda-status.realizado{color:#b6ff36;border-color:rgba(182,255,54,.3);background:rgba(182,255,54,.12)}.htd-agenda-status.faltou{color:var(--warning);border-color:rgba(255,204,92,.24);background:rgba(255,204,92,.07)}.htd-agenda-status.cancelado{color:#ff7b83;border-color:rgba(255,92,101,.22);background:rgba(255,92,101,.07)}
.htd-agenda-status-select{grid-column:1/2;width:100%!important;min-width:0!important;padding:8px 30px 8px 10px!important;font-size:10px!important;font-weight:900!important}
.htd-agenda-empty{border:1px dashed rgba(145,157,170,.24);border-radius:14px;padding:23px 16px;text-align:center;color:var(--muted);background:rgba(255,255,255,.01)}.htd-agenda-empty b{display:block;color:var(--text);margin-bottom:5px}
.htd-agenda-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;overflow:visible;padding-bottom:5px}.htd-agenda-weekday{min-width:0;border:1px solid var(--line);border-radius:14px;background:#0d151e;overflow:hidden}.htd-agenda-weekday-head{padding:10px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:7px;cursor:pointer}.htd-agenda-weekday-head.today{background:rgba(182,255,54,.055)}.htd-agenda-weekday-title{font-size:10px;font-weight:950;text-transform:uppercase}.htd-agenda-weekday-date{font-size:9px;color:var(--muted);margin-top:2px}.htd-agenda-weekday-head-actions{display:flex;align-items:center;gap:5px;flex:0 0 auto}.htd-agenda-weekadd{width:24px;height:24px;min-width:24px;padding:0;border:1px solid rgba(182,255,54,.18);border-radius:8px;background:rgba(182,255,54,.045);color:#91a0af;font-size:15px;font-weight:850;line-height:1;display:grid;place-items:center;cursor:pointer;transition:.15s}.htd-agenda-weekadd:hover{color:var(--brand);border-color:rgba(182,255,54,.42);background:rgba(182,255,54,.09)}.htd-agenda-weekday-body{padding:7px;display:flex;flex-direction:column;gap:7px;min-height:230px}.htd-agenda-weekmini{border:1px solid var(--line);border-radius:11px;padding:9px;background:#0a1219;cursor:pointer;min-width:0}.htd-agenda-weekmini:hover{border-color:rgba(182,255,54,.28)}.htd-agenda-weekmini-time{color:var(--brand);font-size:11px;font-weight:950;white-space:nowrap}.htd-agenda-weekmini-name{font-size:10px;font-weight:900;margin-top:4px;line-height:1.28;white-space:normal;overflow:visible;word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.htd-agenda-weekmini-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:6px;min-width:0}.htd-agenda-weekmini-type{font-size:8px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.htd-agenda-weekmini .htd-agenda-status{font-size:7px;padding:3px 5px;flex:0 0 auto}
.htd-agenda-day-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}.htd-agenda-day-summary{position:sticky;top:16px}.htd-agenda-day-summary .stat-line b{text-align:right}
.htd-agenda-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.htd-agenda-modal-grid .full{grid-column:1/-1}.htd-agenda-repeat{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;text-transform:none!important;letter-spacing:0!important;color:var(--text)!important;font-size:12px!important;margin:0!important;cursor:pointer}.htd-agenda-repeat input{width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;padding:0!important;accent-color:var(--brand)}
.htd-agenda-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.htd-agenda-detail{padding:11px;border:1px solid var(--line);border-radius:12px;background:#0c151e}.htd-agenda-detail small{display:block;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.htd-agenda-detail b{font-size:13px}.htd-agenda-detail.full{grid-column:1/-1}.htd-agenda-modal-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}
@media(max-width:1100px){.htd-agenda-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.htd-agenda-month-layout,.htd-agenda-day-layout{grid-template-columns:1fr}.htd-agenda-day-summary{position:static}.htd-agenda-filters{grid-template-columns:1fr 1fr}.htd-agenda-filter-clear{width:100%}}
@media(max-width:1180px){.htd-agenda-week{grid-template-columns:repeat(7,minmax(165px,1fr));overflow-x:auto}.htd-agenda-weekday{min-width:165px}}
@media(max-width:760px){.htd-agenda-kpis{grid-template-columns:1fr 1fr;gap:8px}.htd-agenda-kpi{min-height:105px;padding:14px}.htd-agenda-kpi-value{font-size:26px}.htd-agenda-navrow{grid-template-columns:1fr;gap:9px}.htd-agenda-viewtabs{justify-content:stretch;order:2}.htd-agenda-viewtabs button{flex:1}.htd-agenda-range{order:3;justify-content:center}.htd-agenda-range-title{min-width:0;flex:1}.htd-agenda-today{order:1;width:100%}.htd-agenda-filters{grid-template-columns:1fr;margin-top:10px}.htd-agenda-month-grid,.htd-agenda-month-head{gap:4px}.htd-agenda-daycell{min-height:66px;padding:6px;border-radius:10px}.htd-agenda-dayfirst{display:none}.htd-agenda-daytoday{display:none}.htd-agenda-count{min-width:21px;height:19px;padding:0 5px}.htd-agenda-month-card,.htd-agenda-side-card{padding:13px!important}.htd-agenda-appt{grid-template-columns:64px minmax(0,1fr);gap:8px}.htd-agenda-appt-head{flex-direction:column;align-items:flex-start}.htd-agenda-appt-chiptop{margin-top:6px}.htd-agenda-appt-actions{grid-template-columns:1fr repeat(4,34px);padding-top:7px}.htd-agenda-status-select{width:100%!important}.htd-agenda-modal-grid,.htd-agenda-detail-grid{grid-template-columns:1fr}.htd-agenda-modal-grid .full,.htd-agenda-detail.full{grid-column:1}.htd-agenda-week{grid-template-columns:repeat(7,minmax(160px,1fr))}}
@media(max-width:480px){.htd-agenda-kpis{grid-template-columns:1fr}.htd-agenda-month-head div{font-size:8px}.htd-agenda-daycell{min-height:58px}.htd-agenda-daynum{font-size:12px}.htd-agenda-side-head{align-items:flex-start;flex-direction:column}.htd-agenda-side-head .btn{width:100%}}
/* HTD v12.6.1 — quadro do dia da Agenda no padrão visual da Home */
.htd-agenda-side-card .pro-selected-date-head{margin-top:0}.htd-agenda-side-card .pro-selected-date-title{font-size:17px}.htd-agenda-side-card .pro-home-note{margin-bottom:0}.htd-agenda-side-card .pro-home-empty{margin:0}.htd-agenda-side-card .pro-home-empty b{display:block;color:var(--text);margin-bottom:6px}
@media(max-width:760px){.htd-agenda-side-card .pro-selected-date-title{font-size:15px}}

