/* Tokens compartilhados: os temas mantêm os mesmos controles e estados. */
:root{--surface-input:#0b0d10;--on-hot:#190b03;--on-lime:#10120c;--accent-text:#ff795b;--success-text:#c8ff36;--button-radius:11px;--button-height:44px;--button-padding:10px 14px;--card-radius:22px;--theme-glow:#342015;--theme-font:Inter,ui-sans-serif,system-ui,sans-serif}
html[data-appearance] body{font:1rem/1.5 var(--theme-font);background:radial-gradient(ellipse at 85% 0,var(--theme-glow),transparent 55%),var(--bg);color:var(--text)}
html[data-appearance] .sidebar,html[data-appearance] .auth-tabs{background:var(--panel)}
html[data-appearance] :is(.card,.stat,.auth-box,dialog){background:var(--panel);color:var(--text);border-color:var(--line);border-radius:var(--card-radius)}
html[data-appearance] .auth-screen{background:radial-gradient(ellipse at top,var(--theme-glow),transparent 60%),var(--bg)}
html[data-appearance] .topbar{color:var(--page-text)}
html[data-appearance] .topbar h1{color:var(--heading-text)}
html[data-appearance] .topbar p{color:var(--page-muted)}
html[data-appearance] .topbar .eyebrow{color:var(--page-accent)}
html[data-appearance] :is(.main,.panel){color:var(--body-text)}
html[data-appearance] :is(.card,.stat,.auth-box,dialog){color:var(--panel-text)}
html[data-appearance] :is(.card p,.card small,.stat small,.history-item small,.field label,.exercise-name small,.appearance-card p,.appearance-note){color:var(--panel-muted)}
html[data-appearance] :is(input,select,textarea){color:var(--field-text)}
html[data-appearance] :is(input,textarea)::placeholder{color:var(--field-placeholder);opacity:1}
html[data-appearance] :is(h1,h2,h3,h4,.exercise-name,.timer-display,.ring b){color:inherit}
html[data-theme=crivia] :is(.topbar h1,.card h2,.card h3,.timer-display,.ring b,.exercise-name){color:#fff7f8}
html[data-theme=crivia] :is(.topbar p,.card p,.card small,.stat small,.exercise-name small){color:#d3b8bf}
html[data-appearance] :is(input,select,textarea){background:var(--surface-input);color:var(--text);border-color:var(--line);min-width:0}
html[data-appearance] input[type=color]{padding:4px;height:44px;cursor:pointer}
html[data-appearance] :is(.student,.nav button.active,.nav button:hover,.auth-tabs button.active){color:var(--text)}
html[data-appearance] :is(.exercise-head:hover,.exercise-toggle,.tag-list span,.equipment-list span,.muscle-preview){background:var(--panel2);color:var(--text)}
html[data-appearance] :is(.btn,.google-btn){border-radius:var(--button-radius);min-height:var(--button-height);padding:var(--button-padding)}
html[data-appearance] .btn{color:var(--text);border:1px solid transparent}
html[data-appearance] :is(.btn-primary,.day.active,.badge){background:var(--hot);color:var(--on-hot)}
html[data-appearance] :is(.btn-lime,.toast,.check.checked){background:var(--lime);color:var(--on-lime)}
html[data-appearance] .day.active.done:after{color:var(--on-hot)}
html[data-appearance] :is(.eyebrow,.focus-counter,.info-accordion summary:after,.brand i){color:var(--accent-text)}
html[data-appearance] :is(.video-link,.previous,.focus-previous,.sidebar-foot strong,.kicker,.status-pill,.stat b em){color:var(--success-text)}
html[data-appearance] .exercise-head .exercise-index{background:var(--panel2);border-color:var(--line);color:var(--text)}
html[data-appearance] .exercise.expanded .exercise-index{background:var(--hot);border-color:var(--hot);color:var(--on-hot)}
html[data-appearance] .exercise.completed .exercise-index{background:var(--lime);border-color:var(--lime);color:var(--on-lime)}
html[data-appearance] .ring .track{stroke:var(--line)}
html[data-appearance] .avatar{background:var(--hot);color:var(--on-hot)}
html[data-appearance] .remove{color:var(--muted)}
html[data-appearance] .btn:hover{filter:brightness(.94)}
html[data-appearance] :is(button,select,input,textarea):focus-visible{outline:3px solid var(--accent-text);outline-offset:3px}
html[data-button-style=outline] .btn-primary{background:transparent;border-color:var(--accent-text);color:var(--accent-text)}
html[data-button-style=outline] .btn-lime{background:transparent;border-color:var(--success-text);color:var(--success-text)}
html[data-button-style=soft] .btn-primary{background:color-mix(in srgb,var(--hot) 16%,var(--panel));border-color:color-mix(in srgb,var(--hot) 45%,var(--panel));color:var(--accent-text)}
html[data-button-style=soft] .btn-lime{background:color-mix(in srgb,var(--lime) 16%,var(--panel));border-color:color-mix(in srgb,var(--lime) 45%,var(--panel));color:var(--success-text)}
html[data-theme=anime] .card{box-shadow:5px 5px 0 var(--line);border-width:2px}
html[data-theme=bts] .card{box-shadow:0 12px 35px #10061c33}
html[data-theme=neon] .card{box-shadow:0 0 20px #00d9ff0a}
html[data-theme=crivia] body{
  background:
    radial-gradient(circle at 82% -12%,#ff17443d 0,transparent 34%),
    radial-gradient(circle at 14% 18%,#8b00182b 0,transparent 30%),
    linear-gradient(180deg,#080203 0,#050102 55%,#080203 100%);
}
html[data-theme=crivia] .sidebar{
  background:linear-gradient(180deg,#120608f2,#090304f7);
  border-color:#541722;
  box-shadow:18px 0 55px #0007,0 0 32px #e0002b0d;
}
html[data-theme=crivia] :is(.card,.stat,.auth-box,dialog){
  background:linear-gradient(155deg,#16080b,#0d0406);
  border-color:#491620;
  box-shadow:0 18px 50px #0007,0 0 22px #e0002b0b;
}
html[data-theme=crivia] :is(.btn-primary,.day.active,.badge){
  box-shadow:0 0 0 1px #ff6a8126,0 8px 28px #e0002b38,0 0 18px #ff174425;
}
html[data-theme=crivia] .btn-lime{
  box-shadow:0 8px 24px #ff46692b,0 0 16px #ff46691f;
}
html[data-theme=crivia] :is(.exercise-head:hover,.exercise-toggle,.tag-list span,.equipment-list span,.muscle-preview){
  background:linear-gradient(145deg,#210c11,#16080b);
  border-color:#4a1720;
}
html[data-theme=crivia] :is(input,select,textarea){
  box-shadow:inset 0 0 0 1px #ff174407;
}
html[data-theme=crivia] .ring .fill{stroke:#ff4669;filter:drop-shadow(0 0 5px #ff466966)}
html[data-theme=crivia] .auth-branding{
  background:
    radial-gradient(circle at 20% 15%,#ff17443d,transparent 30%),
    linear-gradient(145deg,#160508 0,#080203 58%,#100407 100%);
}
html[data-theme=crivia] .auth-branding:before{
  border-color:#ff17443d;
  box-shadow:0 0 0 70px #ff17440d,0 0 0 140px #ff174407;
}
html[data-theme=crivia] .auth-screen{
  background:radial-gradient(circle at 50% -10%,#ff17442f,transparent 42%),#050102;
}
html[data-theme=crivia] .appearance-preview{
  box-shadow:0 22px 70px #0009,0 0 30px #e0002b14;
}
html[data-theme=crivia] .theme-choice[aria-pressed=true]{
  box-shadow:0 0 0 1px #ff5b7840,0 0 20px #e0002b20;
}
@media(max-width:900px){
  html[data-theme=crivia] .sidebar{box-shadow:0 -14px 50px #0008,0 0 24px #e0002b12}
}
.main,.admin-grid>*,.profile-pane,.profile-form>*,.exercise-name{min-width:0}
.admin-grid{grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr)}
.student span:first-child{min-width:0;overflow-wrap:anywhere}
/* Edição do aluno segue o mesmo formato compacto do treino próprio. */
#programEditor .program-row{display:grid;grid-template-columns:32px minmax(120px,1fr) minmax(170px,2fr) 80px 110px 122px 44px;align-items:end;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);transition:opacity .15s,outline-color .15s}
#programEditor .program-row .muscle-mini{display:none}
#programEditor .program-row label{display:grid;min-width:0;gap:6px;color:var(--muted);font-size:.875rem;font-weight:650}
#programEditor .program-row :is(input,select){width:100%;min-width:0;min-height:44px;font-size:1rem;padding:10px 12px;grid-column:auto;grid-row:auto}
#programEditor .program-category,#programEditor .program-name,#programEditor .program-sets,#programEditor .program-reps{grid-area:auto}
#programEditor .program-row .remove{width:44px;height:44px;align-self:end}
#programEditor .program-order{display:flex;gap:5px}.program-order .btn{min-width:34px;padding:10px 7px}.program-order .btn:disabled{opacity:.3}.program-drag{height:42px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--muted);font-size:19px;cursor:grab}.program-drag:active{cursor:grabbing}#programEditor .program-row.is-dragging{opacity:.4}#programEditor .program-row.drag-target{outline:2px solid var(--hot);outline-offset:4px;border-radius:10px}
.program-selected-name{font-weight:500;color:var(--text);overflow-wrap:anywhere;font-size:.875rem}
.appearance-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:20px;align-items:start}
.appearance-card{padding:24px;margin-bottom:18px}
.appearance-card h2{font-size:1.15rem;margin:0 0 16px}
.appearance-card p,.appearance-note{color:var(--muted);font-size:.9rem}
.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.theme-choice{display:grid;gap:8px;text-align:left;padding:14px;min-height:94px;border:2px solid var(--line);border-radius:14px;background:var(--panel2);color:var(--text);font:inherit}
.theme-choice[aria-pressed=true]{border-color:var(--accent-text);outline:1px solid var(--accent-text)}
.theme-choice small{font-size:.8rem;color:var(--muted)}
.theme-swatches{display:flex;gap:5px}
.theme-swatches i{width:22px;height:22px;border-radius:50%;border:1px solid #8885}
.appearance-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.appearance-controls label{display:grid;gap:7px;font-weight:650;font-size:.9rem;min-width:0}
.appearance-controls select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px}
.appearance-controls input[type=color]{width:100%;border:1px solid var(--line);border-radius:10px}
.appearance-preview{position:sticky;top:24px}
.appearance-preview .preview-exercise{display:flex;align-items:center;gap:12px;margin:24px 0;padding:15px 0;border-block:1px solid var(--line)}
.appearance-preview .exercise-index{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--hot);color:var(--on-hot);font-weight:900}
.appearance-preview .preview-buttons{display:grid;gap:10px}
.appearance-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.appearance-status{min-height:1.5em;color:var(--muted);overflow-wrap:anywhere}
.appearance-form[aria-busy=true]{opacity:.75}
@media(max-width:1100px){.appearance-layout{grid-template-columns:1fr}.appearance-preview{position:static}.theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.admin-grid{grid-template-columns:1fr}.main{padding-bottom:150px}}
@media(max-width:700px){#programEditor .program-row{grid-template-columns:1fr 1fr 44px}#programEditor .program-row .program-drag{display:none}#programEditor .program-row .program-category{grid-column:1/3}#programEditor .program-row .program-name{grid-column:1/-1;grid-row:2}#programEditor .program-row .program-sets{grid-column:1/3;grid-row:3}#programEditor .program-row .program-reps{grid-column:1/-1;grid-row:4}#programEditor .program-row .program-order{grid-column:1/3;grid-row:5}#programEditor .program-row .remove{grid-column:3;grid-row:1}}
@media(max-width:480px){.appearance-card{padding:16px}.appearance-controls{grid-template-columns:1fr}.appearance-actions .btn{width:100%}.admin-editor{padding:16px}.modal-actions{flex-wrap:wrap}.theme-choice{padding:10px}}

/* Fase 2 mobile: editor profissional compacto e touch-first. */
@media(max-width:700px){
 #programEditor .program-row{border:1px solid var(--line);border-radius:14px;padding:12px;margin:10px 0;background:var(--panel2)}
 #programEditor .program-row .program-order{display:grid;grid-template-columns:repeat(3,44px);gap:6px}
 #programEditor .program-row .program-order .btn{width:44px;height:44px;padding:0}
 #programEditor .program-row .remove{border:1px solid var(--line);border-radius:10px;color:#ff866d;background:transparent}
 #programEditor .program-picker{position:sticky;top:0;z-index:3;padding:8px 0;background:var(--panel)}
 .editor-days{scroll-snap-type:x proximity}.editor-days .btn{scroll-snap-align:start;min-height:44px}
}
