:root{--bg:#06101d;--panel:#0c1726;--panel2:#101e30;--line:#1c3048;--text:#eef6ff;--muted:#8ea2b8;--blue:#1280ff;--blue2:#0565d8;--green:#27c783;--red:#ff5a68;--yellow:#f1bd51;--white:#fff;--shadow:0 18px 55px rgba(0,0,0,.28)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(145deg,#050b13,#071523 56%,#07111f);color:var(--text)}body{min-height:100vh}button,input,select,textarea{font:inherit}.hidden{display:none!important}.app{min-height:100vh}.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.auth-hero{padding:7vw;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 20% 10%,rgba(18,128,255,.18),transparent 35%)}.brand{width:min(440px,80%);height:auto}.eyebrow{color:#63aaff;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}.auth-hero h1{font-size:clamp(2.5rem,5.8vw,5.8rem);line-height:.92;margin:.3em 0}.auth-hero p{max-width:560px;color:#b6c7d9;font-size:1.1rem}.auth-side{display:flex;align-items:center;justify-content:center;padding:32px;background:#f4f7fb;color:#102034}.card{background:#fff;border:1px solid #dce5ef;border-radius:26px;box-shadow:0 24px 70px rgba(2,16,32,.16)}.auth-card{width:min(480px,100%);padding:34px}.auth-card h2{margin:0 0 8px;font-size:1.9rem}.auth-card p{color:#617286}.tabs{display:flex;gap:8px;background:#edf2f7;padding:5px;border-radius:14px;margin:24px 0}.tabs button{flex:1;border:0;background:transparent;padding:11px;border-radius:10px;font-weight:800;color:#64748b}.tabs button.active{background:#fff;color:#0b65cf;box-shadow:0 4px 15px rgba(20,40,70,.08)}label{display:block;font-size:.82rem;font-weight:800;margin:13px 0 6px;color:inherit}.input,select,textarea{width:100%;border:1px solid #d6e0ea;background:#fff;color:#15243a;border-radius:12px;padding:12px 13px;outline:none}.input:focus,select:focus,textarea:focus{border-color:#1680ff;box-shadow:0 0 0 3px rgba(22,128,255,.12)}textarea{min-height:96px;resize:vertical}.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}.btn.dark{background:#0b1726;color:#fff}.btn.ghost{background:#edf3f8;color:#21364f}.btn.danger{background:#ffe8eb;color:#bf3140}.btn.full{width:100%}.small{font-size:.82rem}.muted{color:#718096}.link{color:#0875e7;font-weight:800;cursor:pointer}.msg{padding:11px 13px;border-radius:11px;background:#eef6ff;color:#15599d;font-size:.88rem;margin-top:12px}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:rgba(6,16,29,.92);border-right:1px solid #12253a;padding:25px 18px;backdrop-filter:blur(12px)}.sidebar .brand{width:190px;margin:8px 12px 28px}.nav{display:grid;gap:7px}.nav button{border:0;background:transparent;color:#9fb0c4;text-align:left;padding:12px 13px;border-radius:11px;font-weight:760;cursor:pointer}.nav button.active,.nav button:hover{background:#10233a;color:#fff}.sidebar-foot{position:absolute;bottom:22px;left:18px;right:18px;color:#70869c;font-size:.75rem;line-height:1.5}.sidebar-foot a{color:#91a8bd;text-decoration:none}.main{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid #14263a;background:rgba(6,16,29,.72);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.topbar h2{margin:0;font-size:1.05rem}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#177fff;color:white;font-weight:900}.content{padding:28px;max-width:1500px;margin:auto}.hero-panel{background:linear-gradient(135deg,#0b1c2f,#102d4b);border:1px solid #1a3b5e;border-radius:24px;padding:28px;display:flex;justify-content:space-between;gap:25px;box-shadow:var(--shadow)}.hero-panel h1{font-size:2.15rem;margin:6px 0}.hero-panel p{color:#98acc2;margin:0;max-width:660px}.badge{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:.73rem;font-weight:900;letter-spacing:.04em}.badge.green{background:rgba(39,199,131,.13);color:#54e8a7}.badge.yellow{background:rgba(241,189,81,.14);color:#ffd477}.badge.blue{background:rgba(18,128,255,.15);color:#72b6ff}.badge.red{background:rgba(255,90,104,.13);color:#ff8892}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:20px 0}.stat{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:18px}.stat strong{display:block;font-size:1.8rem}.stat span{color:var(--muted);font-size:.8rem}.section{margin-top:22px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.section-head h3{margin:0;font-size:1.1rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:780px}.table th,.table td{padding:12px 10px;border-bottom:1px solid #192c43;text-align:left;font-size:.86rem}.table th{color:#7890a9;text-transform:uppercase;font-size:.69rem;letter-spacing:.06em}.table tr:hover td{background:#0f1e30}.name{font-weight:850}.actions{display:flex;gap:7px;flex-wrap:wrap}.icon-btn{border:1px solid #24405f;background:#102039;color:#d7e9fa;border-radius:9px;padding:7px 9px;cursor:pointer}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.toolbar .input{background:#0a1727;border-color:#213b59;color:#fff;min-width:240px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:20;display:grid;place-items:center;padding:20px}.modal-card{width:min(980px,100%);max-height:90vh;overflow:auto;background:#f7f9fc;color:#14243a;border-radius:24px;box-shadow:0 30px 100px rgba(0,0,0,.45)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #dce5ee;position:sticky;top:0;background:#fff;z-index:2}.modal-head h3{margin:0}.modal-body{padding:24px}.close{border:0;background:#eaf0f6;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.2rem}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.subcard{border:1px solid #dce5ef;border-radius:16px;padding:16px;background:#fff;margin-bottom:14px}.subcard h4{margin:0 0 11px;color:#0c64bf}.checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.check{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px dashed #e2e8f0;padding:8px 0;font-size:.86rem}.check input{width:18px;height:18px}.student-profile{display:grid;grid-template-columns:310px 1fr;gap:18px}.profile-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:20px}.profile-avatar{width:72px;height:72px;border-radius:20px;background:#1680ff;display:grid;place-items:center;font-size:1.55rem;font-weight:900}.profile-card h2{margin:15px 0 4px}.profile-card p{color:#8ca2b9}.profile-nav{display:grid;gap:7px;margin-top:18px}.profile-nav button{border:0;text-align:left;background:#0e1d30;color:#9fb2c7;padding:11px;border-radius:10px;font-weight:800;cursor:pointer}.profile-nav button.active{background:#14355b;color:#fff}.profile-main{min-width:0}.kv{display:grid;grid-template-columns:160px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid #192c42}.kv span:first-child{color:#7f95ab}.empty{padding:35px;text-align:center;color:#738ba3}.health-alert{border:1px solid rgba(241,189,81,.25);background:rgba(241,189,81,.08);padding:12px;border-radius:12px;color:#f2cf83}.doc{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #1a2c42}.mobile-menu{display:none}.student-home{max-width:850px;margin:auto}.student-home .hero-panel{align-items:center}.coming{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.coming .panel h3{margin-top:0}.install-note{display:flex;align-items:center;gap:18px}.install-note img{width:70px;height:70px;border-radius:18px}.progress-line{height:7px;background:#1b2c40;border-radius:99px;overflow:hidden}.progress-line i{display:block;width:18%;height:100%;background:#1985ff}.toast{position:fixed;right:20px;bottom:20px;z-index:50;background:#fff;color:#14243a;border-radius:13px;padding:13px 16px;box-shadow:0 12px 40px rgba(0,0,0,.25);font-weight:760}.footer-sign{margin-top:30px;padding:15px 0;color:#60768c;font-size:.74rem;text-align:center}.footer-sign a{color:#8ba2b9;text-decoration:none;font-weight:900}@media(max-width:1050px){.stats{grid-template-columns:repeat(3,1fr)}.student-profile{grid-template-columns:1fr}.profile-nav{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.auth{grid-template-columns:1fr}.auth-hero{display:none}.auth-side{min-height:100vh;padding:16px}.auth-card{padding:24px}.shell{display:block}.sidebar{display:none}.topbar{padding:15px}.mobile-menu{display:block;border:0;background:#10233a;color:#fff;border-radius:10px;padding:9px 11px}.content{padding:16px}.hero-panel{padding:20px;display:block}.hero-panel h1{font-size:1.65rem}.stats{grid-template-columns:repeat(2,1fr)}.grid2,.grid3,.checkgrid{grid-template-columns:1fr}.modal{padding:0}.modal-card{max-height:100vh;border-radius:0;min-height:100vh}.coming{grid-template-columns:1fr}.profile-nav{grid-template-columns:1fr 1fr}.topbar .user-chip span{display:none}.toolbar .input{min-width:0;flex:1}.section-head{align-items:flex-start;flex-direction:column}.kv{grid-template-columns:1fr}.sidebar.open{display:block;position:fixed;inset:0 auto 0 0;width:280px;z-index:30}.sidebar .mobile-close{display:block}}@media(min-width:761px){.mobile-close{display:none!important}}
.grow{flex:1;min-width:0}.exercise-grid,.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.exercise-card,.plan-card,.profile-plan,.student-exercise{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;gap:14px;align-items:flex-start}.exercise-card h3,.plan-card h3,.student-exercise h3{margin:0 0 5px}.exercise-card p,.plan-card p,.student-exercise p{margin:3px 0;color:var(--muted)}.exercise-icon,.exercise-number{width:46px;height:46px;border-radius:14px;background:#12345a;display:grid;place-items:center;color:#6fb3ff;font-weight:900;flex:0 0 auto}.plan-card{display:block}.plan-card .actions{margin-top:15px}.plan-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.plan-meta span,.exercise-prescription span,.exercise-prescription b{background:#10243b;border:1px solid #1d3b5d;border-radius:999px;padding:6px 9px;font-size:.76rem}.day-builder{margin-top:16px}.builder-item{border:1px solid #dde6ef;border-radius:14px;padding:14px;background:#f8fafc;margin-bottom:10px}.builder-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modal-save{position:sticky;bottom:0;background:#f7f9fc;padding:16px 0 0;margin-top:10px}.student-select{max-height:360px;overflow:auto;border:1px solid #dce5ef;border-radius:14px;background:#fff}.student-check{display:flex;gap:12px;align-items:center;margin:0;padding:11px 13px;border-bottom:1px solid #e6edf4}.student-check input{width:18px;height:18px}.student-check span{display:grid}.student-check small{color:#718096}.template-choice{width:100%;border:1px solid #dce5ef;background:#fff;border-radius:14px;padding:15px;text-align:left;display:grid;gap:4px;cursor:pointer}.template-choice span{color:#718096;font-size:.82rem}.profile-plan{justify-content:space-between;margin-bottom:10px}.plan-current{display:flex;justify-content:space-between;align-items:center}.plan-current h2{margin:9px 0 4px}.plan-position{padding:14px 18px;border-radius:16px;background:#0a1930;border:1px solid #1c3c63;display:grid;text-align:center;min-width:120px}.plan-position b{font-size:1.1rem}.plan-position span{color:#8fa8c2;font-size:.82rem}.plan-day-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:10px}.dayTab{border:1px solid #24405f;background:#0d1e31;color:#9fb4ca;border-radius:12px;padding:10px 14px;white-space:nowrap;font-weight:800;cursor:pointer}.dayTab.active{background:#167ef2;color:white;border-color:#167ef2}.exercise-list{display:grid;gap:10px}.student-exercise{align-items:center}.exercise-prescription{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.student-exercise .exercise-number{border-radius:50%;background:#167ef2;color:#fff}.profile-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.stats[style*="repeat(3"]{grid-template-columns:repeat(3,1fr)!important}@media(max-width:900px){.exercise-grid,.plan-grid{grid-template-columns:1fr}}@media(max-width:760px){.plan-current,.profile-plan{display:block}.plan-position{margin-top:12px}.stats[style*="repeat(3"]{grid-template-columns:1fr 1fr!important}.builder-item .grid3{grid-template-columns:1fr}.builder-item [style*="grid-column"]{grid-column:auto!important}}
/* ENTREGA 3 · modo entrenamiento */
.workout-wrap{max-width:920px;margin:auto}.workout-head{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#0b1c2f,#102d4b);border:1px solid #1a3b5e;border-radius:24px;padding:24px}.workout-head h1{margin:5px 0 4px;font-size:2rem}.workout-head p{margin:0;color:var(--muted)}.workout-clock{min-width:125px;text-align:center;padding:14px;border-radius:18px;background:#071321;border:1px solid #1b3b5f}.workout-clock span{display:block;color:#7892ad;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.workout-clock b{display:block;font-size:1.65rem;margin-top:4px}.workout-progress{height:8px;background:#15283c;border-radius:99px;overflow:hidden;margin:14px 4px 20px}.workout-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#1681ff,#42b0ff);transition:width .25s ease}.workout-items{display:grid;gap:16px}.workout-exercise{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:20px}.workout-exercise.completed{border-color:rgba(39,199,131,.45)}.workout-ex-title{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.workout-ex-title h2{margin:3px 0 7px;font-size:1.3rem}.exercise-kicker{font-size:.68rem;letter-spacing:.09em;color:#718aa4;font-weight:900}.target-strip{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.target-strip span{background:#0d1f33;border:1px solid #1b3a5a;border-radius:999px;padding:7px 10px;color:#9cb2c8;font-size:.78rem}.target-strip b{color:#fff}.coach-note{background:rgba(22,126,242,.08);border:1px solid rgba(22,126,242,.23);padding:11px 13px;border-radius:12px;color:#a9c6e8;font-size:.85rem;margin-bottom:14px}.coach-note b{display:block;color:#73b5ff;font-size:.7rem;text-transform:uppercase;margin-bottom:4px}.sets-table{border:1px solid #19304a;border-radius:14px;overflow:hidden}.sets-row{display:grid;grid-template-columns:70px 1fr 1fr 70px;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid #172b41}.sets-row:last-child{border-bottom:0}.sets-head{background:#0c1b2c;color:#718aa3;text-transform:uppercase;font-size:.67rem;font-weight:900}.sets-row input{min-width:0;width:100%;background:#081626;border:1px solid #1c3856;color:#fff;border-radius:9px;padding:10px;font-size:16px}.set-done{width:42px;height:42px;border-radius:50%;border:1px solid #315172;background:#0a1929;color:#7391ae;font-size:1.15rem;cursor:pointer}.set-done.done{background:#1cae73;border-color:#1cae73;color:white}.student-note-label{display:block;color:#8097ae;font-size:.76rem;font-weight:800;margin-top:13px}.student-note-label .input{margin-top:6px;background:#0a1727;color:#fff;border-color:#213b59}.workout-finish{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:18px}.workout-finish h3{margin:0 0 5px}.rest-timer{text-align:center;padding:28px 10px}.rest-timer #restValue{font-size:4rem;font-weight:950;color:#116fd1;letter-spacing:-.04em}.rest-timer p{color:#718096}.rest-timer.exercise #restValue{color:#0c64bf}.history-list{display:grid;gap:10px}.history-card{width:100%;border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:18px;padding:16px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:18px;cursor:pointer}.history-card h3{margin:8px 0 4px}.history-card p{margin:0;color:var(--muted)}.history-time{text-align:right;font-weight:900;font-size:1.05rem}.history-time span{display:block;font-weight:700;color:#6faaf0;font-size:.75rem;margin-top:6px}.history-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.history-summary span{padding:12px;border-radius:12px;background:#eef3f8;color:#5b6c7e}.history-summary b{display:block;color:#14243a;margin-top:3px}.history-sets{display:grid;gap:6px;color:#526274;font-size:.85rem}
@media(max-width:760px){.workout-head{align-items:flex-start}.workout-head h1{font-size:1.55rem}.workout-clock{min-width:105px;padding:10px}.workout-clock b{font-size:1.25rem}.workout-exercise{padding:15px}.sets-row{grid-template-columns:48px 1fr 1fr 48px;padding:7px}.sets-head{font-size:.58rem}.workout-finish{display:block}.workout-finish .toolbar{margin-top:14px}.history-card{display:block}.history-time{text-align:left;margin-top:12px}.history-summary{grid-template-columns:1fr}.rest-timer #restValue{font-size:3.2rem}}
/* ENTREGA 4 · asistencia y QR */
.reception-screen{max-width:980px;margin:auto}.reception-brand{display:flex;align-items:center;gap:24px;margin-bottom:22px}.reception-brand img{width:min(330px,42%)}.reception-brand h1{margin:8px 0 5px;font-size:2rem}.reception-brand p{margin:0;color:var(--muted)}.qr-stage{display:grid;grid-template-columns:minmax(320px,430px) 1fr;gap:22px;align-items:center;background:linear-gradient(135deg,#0a1b2f,#0f2945);border:1px solid #1c426c;border-radius:28px;padding:28px;box-shadow:var(--shadow);margin-bottom:18px}.qr-card{background:#fff;border-radius:24px;padding:22px;display:grid;place-items:center;color:#102034}.qr-card img{width:min(100%,360px);aspect-ratio:1;object-fit:contain}.qr-countdown{margin-top:10px;font-size:.88rem;color:#526274}.qr-instructions{display:grid;grid-template-columns:46px 1fr;gap:12px 14px;align-items:start}.qr-instructions span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#1680ff;color:#fff;font-weight:950}.qr-instructions p{margin:0;color:#a9bfd6;line-height:1.45}.qr-instructions b{color:#fff}.launch-score{min-width:150px;padding:18px 22px;border-radius:20px;background:#081727;border:1px solid #1c4167;text-align:center}.launch-score strong{display:block;font-size:2.2rem}.launch-score span{font-size:.78rem;color:#8ea2b8}.attendance-big{min-width:120px;text-align:center;background:#09192c;border:1px solid #1b3f64;border-radius:18px;padding:16px}.attendance-big strong{font-size:2rem;display:block}.attendance-big span{font-size:.78rem;color:#8ea2b8}.checkin-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 20%,rgba(18,128,255,.18),transparent 38%),linear-gradient(145deg,#050b13,#071523)}.checkin-page>.brand{position:absolute;top:28px;left:50%;transform:translateX(-50%);width:min(300px,72vw)}.checkin-card{width:min(520px,100%);text-align:center;background:#fff;color:#13243a;border-radius:28px;padding:38px 28px;box-shadow:0 30px 90px rgba(0,0,0,.4)}.checkin-card h1{margin:18px 0 8px}.checkin-card p{color:#657689;line-height:1.5}.checkin-loader{width:76px;height:76px;margin:auto;border-radius:50%;display:grid;place-items:center;background:#e8f7ef;color:#19a969;font-size:2rem;font-weight:950}.checkin-card .btn{margin-top:18px}.table .badge{white-space:nowrap}
@media(max-width:760px){.reception-brand{display:block}.reception-brand img{width:230px;max-width:80%;margin-bottom:16px}.reception-brand h1{font-size:1.55rem}.qr-stage{grid-template-columns:1fr;padding:16px}.qr-card{padding:14px}.qr-instructions{grid-template-columns:40px 1fr}.launch-score{margin-top:16px;display:inline-block}.attendance-big{margin-top:16px;display:inline-block}.checkin-page>.brand{top:18px}.checkin-card{padding:30px 20px}}

/* FASE 5 · gestión y reportes */
.attention-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.attention-card{border:1px solid var(--line,#dfe6ee);background:#fff;border-radius:18px;padding:18px;text-align:left;cursor:pointer;color:inherit}.attention-card strong{display:block;font-size:28px;line-height:1;margin-bottom:8px}.attention-card span{font-size:13px;color:var(--muted,#687383);font-weight:700}.attention-card.warn{border-color:#f1d88a;background:#fffaf0}.attention-card.danger{border-color:#f2b7b7;background:#fff6f6}.badge.red{background:#fee2e2;color:#991b1b}.report-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:18px;margin-top:18px}.report-bars{display:grid;gap:8px;margin-top:18px}.report-bar-row{display:grid;grid-template-columns:28px 1fr 28px;gap:10px;align-items:center;font-size:12px}.report-bar-row>div{height:10px;border-radius:999px;background:#edf2f7;overflow:hidden}.report-bar-row i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#1267ff,#2d9cff)}.rank-list{display:grid;gap:8px;margin-top:12px}.rank-list>div{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f5}.rank-list>div>span{width:30px;height:30px;border-radius:10px;background:#eef5ff;color:#1267ff;display:grid;place-items:center;font-weight:900}.rank-list p{margin:0}.attendance-big strong{font-size:28px}
@media(max-width:1050px){.attention-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:1fr}}
@media(max-width:600px){.attention-grid{grid-template-columns:1fr 1fr}.attention-card{padding:14px}.attention-card strong{font-size:22px}.report-bar-row{grid-template-columns:24px 1fr 24px}}

/* =========================================================
   RENOVAR TRAINING · FASE 6 · UX/UI SYSTEM
   ========================================================= */
:root{
  --bg:#050b12;--panel:#0b1622;--panel2:#0f1d2b;--panel3:#122437;
  --line:rgba(146,177,207,.14);--line-strong:rgba(146,177,207,.24);
  --text:#f5f9fd;--muted:#8da2b7;--blue:#1684ff;--blue2:#0867d5;
  --green:#2ed092;--red:#ff6875;--yellow:#f2c461;--white:#fff;
  --shadow:0 24px 70px rgba(0,0,0,.32);--soft-shadow:0 12px 30px rgba(0,0,0,.18);
  --r-sm:12px;--r-md:18px;--r-lg:24px;--r-xl:30px;
}
html{background:#050b12;scroll-behavior:smooth}
body{background:radial-gradient(circle at 72% -10%,rgba(22,132,255,.09),transparent 31%),linear-gradient(160deg,#050b12,#07111b 48%,#050b12);letter-spacing:-.008em}
button,.btn,.icon-btn,.nav button,.profile-nav button,.attention-card{transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}
button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(22,132,255,.34);outline-offset:2px}
@media(hover:hover) and (pointer:fine){.btn:hover,.icon-btn:hover{transform:translateY(-1px)}.btn.primary:hover{box-shadow:0 10px 25px rgba(22,132,255,.24)}}

/* Auth */
.auth{background:#050b12}.auth-hero{position:relative;overflow:hidden;padding:clamp(44px,6vw,90px);background:radial-gradient(circle at 16% 18%,rgba(22,132,255,.18),transparent 34%),linear-gradient(145deg,#050b12,#081726)}
.auth-hero:after{content:"";position:absolute;right:-12%;bottom:-22%;width:60%;aspect-ratio:1;border:1px solid rgba(255,255,255,.05);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.018),0 0 0 110px rgba(255,255,255,.012)}
.auth-hero>*{position:relative;z-index:1}.auth-hero .brand{width:min(410px,76%)}.auth-hero h1{max-width:760px;font-weight:900;letter-spacing:-.055em}.auth-hero p{font-size:1.04rem;line-height:1.7}
.auth-side{background:#f6f8fb}.auth-card{border:1px solid #e3e9f0;border-radius:30px;padding:38px;box-shadow:0 28px 80px rgba(13,33,54,.12)}.auth-card>img{display:block;margin-left:auto;margin-right:auto}.tabs{border:1px solid #e2e8ef;background:#eef3f7}.tabs button{min-height:44px}.input,select,textarea{min-height:46px;border-radius:14px;border-color:#dbe3ec}.btn{min-height:44px;border-radius:14px;padding:11px 17px}.btn.primary{box-shadow:0 8px 20px rgba(10,105,215,.18)}

/* Shell */
.shell{grid-template-columns:278px minmax(0,1fr)}.sidebar{background:rgba(5,12,20,.94);border-right:1px solid var(--line);padding:22px 16px;backdrop-filter:blur(20px)}
.brand-wrap{padding:6px 10px 22px;border-bottom:1px solid var(--line);margin-bottom:14px}.sidebar .brand{width:184px;margin:0}.product-tag{display:inline-flex;margin-top:10px;padding:4px 7px;border-radius:6px;background:rgba(22,132,255,.10);color:#6fb3ff;font-size:.62rem;font-weight:900;letter-spacing:.16em}
.nav{gap:4px}.nav button{position:relative;min-height:43px;padding:10px 12px;border-radius:12px;font-size:.84rem;color:#8fa4b8}.nav button.active{background:linear-gradient(90deg,rgba(22,132,255,.17),rgba(22,132,255,.06));color:#fff}.nav button.active:before{content:"";position:absolute;left:-4px;top:11px;bottom:11px;width:3px;border-radius:8px;background:#1684ff}.nav button:hover{background:rgba(255,255,255,.045);color:#edf6ff}
.sidebar-foot{border-top:1px solid var(--line);padding-top:14px;font-size:.69rem}.main{background:linear-gradient(180deg,rgba(9,21,33,.16),transparent)}
.topbar{min-height:76px;padding:14px 28px;border-bottom:1px solid var(--line);background:rgba(5,12,20,.76);backdrop-filter:blur(18px)}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-kicker{display:block;color:#617b94;font-size:.61rem;letter-spacing:.16em;font-weight:900;margin-bottom:2px}.topbar h2{font-size:1rem;letter-spacing:-.015em}.user-chip{padding:5px 6px 5px 8px;border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:16px}.avatar{width:40px;height:40px;background:linear-gradient(145deg,#1684ff,#075cc2);box-shadow:0 8px 20px rgba(22,132,255,.18)}.logout-btn{background:transparent;border-color:transparent;color:#89a0b6}
.content{padding:30px clamp(20px,3vw,44px) 46px;max-width:1540px}.footer-sign{border-top:1px solid var(--line);padding-top:22px;margin-top:42px}

/* Global content */
.hero-panel{position:relative;overflow:hidden;min-height:180px;padding:30px 32px;border-color:rgba(69,143,215,.25);border-radius:28px;background:radial-gradient(circle at 88% 10%,rgba(22,132,255,.17),transparent 30%),linear-gradient(135deg,#0a1929,#0c263e);box-shadow:0 20px 60px rgba(0,0,0,.24)}.hero-panel:after{content:"";position:absolute;right:-60px;bottom:-95px;width:270px;height:270px;border:1px solid rgba(255,255,255,.04);border-radius:50%}.hero-panel>*{position:relative;z-index:1}.hero-panel h1{font-size:clamp(1.8rem,3vw,2.45rem);font-weight:900;letter-spacing:-.045em}.hero-panel p{line-height:1.6;max-width:720px}.badge{padding:6px 10px;border:1px solid transparent}.badge.green{border-color:rgba(46,208,146,.16)}.badge.blue{border-color:rgba(22,132,255,.18)}.badge.yellow{border-color:rgba(242,196,97,.16)}.badge.red{border-color:rgba(255,104,117,.16)}
.stats{gap:12px;margin:18px 0}.stat{position:relative;overflow:hidden;min-height:104px;padding:18px;border-color:var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(15,29,43,.92),rgba(9,21,33,.92));box-shadow:0 8px 24px rgba(0,0,0,.12)}.stat:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:2px;border-radius:2px;background:rgba(22,132,255,.5)}.stat strong{font-size:1.7rem;letter-spacing:-.04em}.stat span{font-size:.76rem;line-height:1.35}.panel{border-color:var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(13,27,41,.96),rgba(9,21,33,.96));box-shadow:0 10px 30px rgba(0,0,0,.10)}.section{margin-top:24px}.section-head{margin-bottom:13px}.section-head h3{font-size:1.06rem;letter-spacing:-.02em}
.table-wrap{border-radius:18px}.table th{position:sticky;top:0;background:#0c1927;z-index:1;padding-top:13px;padding-bottom:13px}.table td{height:58px}.table tr:last-child td{border-bottom:0}.toolbar{align-items:center}.toolbar .input{min-height:44px;border-color:var(--line-strong);background:#091522}.icon-btn{min-height:38px;border-color:var(--line-strong)}
.attention-grid{gap:12px}.attention-card{border-radius:18px!important;box-shadow:none!important}.attention-card strong{font-size:1.9rem!important}.attention-card:hover{border-color:rgba(22,132,255,.38)!important;background:#10243a!important}

/* Student UX */
.student-home{max-width:1000px}.student-home .hero-panel{min-height:205px}.student-home .hero-panel>img{width:86px!important;border-radius:24px!important;box-shadow:0 18px 40px rgba(0,0,0,.25)}.plan-current{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px!important}.plan-current h2{margin:8px 0 4px;font-size:1.35rem}.plan-position{display:grid;gap:2px;text-align:right;padding:12px 15px;border-radius:15px;background:rgba(22,132,255,.09);border:1px solid rgba(22,132,255,.15)}.plan-position b{color:#70b6ff}.plan-position span{font-size:.8rem;color:#91a8be}.progress-line{height:9px;background:#13273a}.progress-line i{border-radius:99px;background:linear-gradient(90deg,#1684ff,#48a4ff)}
.history-card{border-color:var(--line)!important;border-radius:18px!important;background:linear-gradient(145deg,#0c1a29,#091522)!important}.history-card h3{letter-spacing:-.02em}.history-time{font-variant-numeric:tabular-nums}

/* Workout: large tap targets and less visual noise */
.workout-shell,.workout-view{max-width:980px;margin:auto}.workout-head,.workout-hero{border-radius:26px!important}.series-row,.set-row{min-height:58px!important;border-radius:14px!important}.series-row input,.set-row input{min-height:44px!important;font-size:16px!important}.timer-box,.rest-timer{border-radius:18px!important}.exercise-card,.workout-exercise{border-radius:22px!important;border-color:var(--line)!important}.exercise-card h3,.workout-exercise h3{font-size:1.18rem!important}.complete-set,.set-done{min-width:44px!important;min-height:44px!important}

/* Profile / health */
.student-profile{grid-template-columns:290px minmax(0,1fr);gap:20px}.profile-card{border-radius:22px;background:linear-gradient(150deg,#0d1b2a,#081522)}.profile-avatar{border-radius:22px;box-shadow:0 12px 28px rgba(22,132,255,.18)}.profile-nav button{min-height:44px}.profile-nav button.active{background:linear-gradient(90deg,rgba(22,132,255,.22),rgba(22,132,255,.08));color:#fff}.health-alert{border-radius:14px}.modal-card{border-radius:26px}.modal-head{padding:18px 24px}.subcard{border-radius:18px}.check{min-height:42px}

/* Reception */
.reception-screen{max-width:1100px;margin:auto}.reception-brand{gap:22px}.qr-card{border-radius:28px!important}.qr-card img{border-radius:18px}.qr-instructions span{box-shadow:0 8px 18px rgba(22,132,255,.18)}

.mobile-bottom-nav{display:none}

@media(max-width:1050px){.shell{grid-template-columns:240px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.stats{grid-template-columns:repeat(3,1fr)}.student-profile{grid-template-columns:1fr}}
@media(max-width:760px){
 body{padding-bottom:env(safe-area-inset-bottom)}.shell{display:block}.sidebar{width:min(88vw,320px)!important;box-shadow:30px 0 70px rgba(0,0,0,.5)}.sidebar.open:after{content:"";position:fixed;left:100%;top:0;width:100vw;height:100%;background:rgba(0,0,0,.42);pointer-events:none}.topbar{min-height:64px;padding:10px 14px}.topbar-kicker{font-size:.55rem}.topbar h2{font-size:.92rem}.topbar .avatar{width:36px;height:36px}.topbar .user-chip{border:0;background:transparent;padding:0}.logout-btn{display:none}.content{padding:14px 14px 92px}.hero-panel{min-height:0;padding:22px;border-radius:22px}.hero-panel h1{font-size:1.7rem;margin:.35em 0}.hero-panel p{font-size:.9rem}.student-home .hero-panel{min-height:0}.student-home .hero-panel>img{display:none}.student-home .hero-panel .btn{width:100%;margin-top:16px!important}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat{min-height:92px;padding:15px 14px}.stat strong{font-size:1.45rem}.stat span{font-size:.71rem}.panel{border-radius:18px;padding:15px}.plan-current{align-items:flex-start;flex-direction:column;padding:18px!important}.plan-position{text-align:left;width:100%;display:flex;justify-content:space-between}.section{margin-top:17px}.section-head{gap:9px}.table{min-width:680px}.table td,.table th{padding-left:9px;padding-right:9px}.modal-card{border-radius:0}.modal-body{padding:18px}.grid2,.grid3,.checkgrid{gap:10px}.subcard{padding:14px}.profile-card{padding:17px}.profile-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.profile-nav button{font-size:.78rem}.kv{gap:3px;padding:10px 0}.toolbar{width:100%}.toolbar .btn{flex:1}.toolbar>.input{flex:1 1 150px}.reception-brand{display:block}.qr-stage{display:block!important}.qr-instructions{margin-top:16px}.footer-sign{display:none}
 .mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:16;background:rgba(8,18,28,.94);border:1px solid rgba(133,164,193,.18);border-radius:20px;padding:6px;box-shadow:0 18px 50px rgba(0,0,0,.42);backdrop-filter:blur(18px)}
 .mobile-bottom-nav button{border:0;background:transparent;color:#738aa0;min-width:0;min-height:52px;border-radius:15px;display:grid;place-items:center;align-content:center;gap:2px;font-size:.61rem;font-weight:800;padding:4px 2px}.mobile-bottom-nav button.active{color:#fff;background:rgba(22,132,255,.14)}.mnav-ico{font-size:1.02rem;line-height:1}.mobile-bottom-nav button.active .mnav-ico{color:#53a8ff}
}
@media(max-width:390px){.content{padding-left:11px;padding-right:11px}.stats{gap:7px}.stat{padding:13px 11px}.hero-panel{padding:19px}.auth-card{padding:22px 18px}.mobile-bottom-nav{left:6px;right:6px}.mobile-bottom-nav button{font-size:.57rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* =========================================================
   RENOVAR Training — SaaS UI refinement v6.1
   Stripe / Vercel / Linear inspired information hierarchy
   ========================================================= */
:root{
  --bg:#0B0F17;
  --bg-elev:#0E1420;
  --panel:#101722;
  --panel2:#131C2A;
  --line:rgba(255,255,255,.075);
  --line-strong:rgba(255,255,255,.12);
  --text:#F7FAFC;
  --muted:#8B9BAE;
  --blue:#2489FF;
  --blue2:#1269D8;
  --green:#36D399;
  --red:#FB7185;
  --yellow:#F6C453;
  --shadow:0 18px 46px rgba(0,0,0,.22);
}
html,body{
  font-family:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 76% -10%,rgba(36,137,255,.07),transparent 28%),
    linear-gradient(180deg,#0B0F17 0%,#0A1019 100%);
}
body{letter-spacing:-.006em}
button,.btn,.icon-btn,.nav button,.alert-action{transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}
.btn{font-weight:700;letter-spacing:-.01em}
.btn.compact{min-height:38px;padding:8px 12px;border-radius:10px;font-size:.78rem}
.btn.primary{background:#2489FF;box-shadow:0 6px 18px rgba(36,137,255,.16)}
.btn.primary:hover{background:#3694ff;box-shadow:0 9px 25px rgba(36,137,255,.22);transform:translateY(-1px)}
.btn.ghost{background:rgba(255,255,255,.045);border:1px solid var(--line);color:#D7E3EF}
.btn.ghost:hover{background:rgba(255,255,255,.075);border-color:var(--line-strong)}
.shell{grid-template-columns:252px minmax(0,1fr)}
.sidebar{
  padding:0 13px 22px;
  background:rgba(10,14,22,.96);
  border-right:1px solid var(--line);
}
.brand-wrap{
  height:88px;
  padding:20px 12px 14px;
  margin:0 0 10px;
  border-bottom:1px solid var(--line);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}
.sidebar .brand{width:166px;margin:0;filter:none}
.product-tag{
  margin-top:6px;
  padding:0;
  border-radius:0;
  background:transparent;
  color:#617287;
  font-size:.55rem;
  letter-spacing:.18em;
}
.nav{gap:2px}
.nav button{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  width:100%;
  padding:9px 10px;
  color:#8293A7;
  border-radius:9px;
  font-size:.79rem;
  font-weight:600;
  line-height:1.2;
  position:relative;
}
.nav button:before{display:none}
.nav button:hover{background:rgba(255,255,255,.04);color:#CFD9E4}
.nav button.active{
  background:rgba(36,137,255,.09);
  color:#F8FBFF;
}
.nav button.active:after{
  content:"";
  position:absolute;
  left:-13px;
  top:9px;
  bottom:9px;
  width:2px;
  background:#2489FF;
  border-radius:0 4px 4px 0;
}
.nav-icon{
  width:20px;height:20px;flex:0 0 20px;
  display:grid;place-items:center;
  color:#6E8196;
  font-size:.9rem;
}
.nav button.active .nav-icon{color:#58A4FF}
.nav-label{min-width:0;text-align:left}
.sidebar-foot{
  left:18px;right:18px;bottom:18px;
  display:grid;gap:3px;
  padding-top:13px;
  border-top:1px solid var(--line);
  color:#56687B;font-size:.66rem;
}
.sidebar-foot a{font-size:.68rem;color:#8DA0B4;font-weight:700}
.topbar{
  min-height:64px;
  padding:10px 26px;
  background:rgba(11,15,23,.78);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(18px);
}
.topbar-kicker{font-size:.54rem;color:#53677C;letter-spacing:.15em}
.topbar h2{font-size:.92rem;font-weight:700}
.user-chip{
  min-height:42px;
  padding:4px 5px 4px 7px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.018);
  border-radius:12px;
}
.avatar{width:32px;height:32px;font-size:.7rem;box-shadow:none}
.user-meta{display:grid;line-height:1.15}
.user-meta b{font-size:.73rem;font-weight:700}
.user-meta small{display:block;font-size:.62rem;color:#65788C;margin-top:2px}
.logout-btn{min-height:30px!important;padding:5px 7px!important;font-size:.67rem!important}
.content{
  padding:24px clamp(20px,2.5vw,38px) 44px;
  max-width:1480px;
}
.welcome-bar{
  min-height:74px;
  padding:5px 0 18px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.welcome-title{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.welcome-title h1{
  margin:0;
  font-size:1.35rem;
  letter-spacing:-.035em;
  font-weight:750;
}
.welcome-bar p{margin:5px 0 0;color:#6F8195;font-size:.79rem}
.live-dot{
  width:6px;height:6px;border-radius:50%;background:#36D399;
  box-shadow:0 0 0 3px rgba(54,211,153,.10);
  margin-right:5px;
}
.kpi-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  margin:18px 0 4px;
  gap:10px;
}
.kpi-card{
  min-height:142px;
  padding:15px 16px 13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(18,25,36,.94),rgba(14,20,30,.92));
  box-shadow:none;
  overflow:hidden;
  isolation:isolate;
}
.kpi-card:before{display:none}
.kpi-card:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.13);
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.kpi-label{font-size:.69rem!important;color:#7C8DA1!important;font-weight:600}
.kpi-icon{
  width:27px;height:27px;border-radius:8px;
  display:grid;place-items:center;
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
  color:#7890A8!important;
  font-size:.72rem!important;
}
.kpi-card>strong{
  position:relative;z-index:2;
  margin-top:9px;
  font-size:1.72rem;
  font-weight:720;
  letter-spacing:-.045em;
  line-height:1.05;
}
.money-kpi{font-size:1.38rem!important}
.trend{
  position:relative;z-index:2;
  display:block;
  width:max-content;
  max-width:100%;
  margin-top:8px;
  font-size:.62rem!important;
  color:#6F8297!important;
  white-space:nowrap;
}
.trend b{font-weight:700}
.trend.up b{color:#4ED8A3}.trend.down b{color:#FB8293}.trend.neutral b{color:#91A2B5}
.sparkline{
  position:absolute;
  right:8px;bottom:7px;
  width:92px;height:34px;
  opacity:.28;
  z-index:1;
  color:#4A9FFF;
  overflow:visible;
}
.sparkline polyline{stroke:currentColor;stroke-width:1.7}
.sparkline rect{fill:currentColor}
.section-kicker{
  display:block;
  margin-bottom:4px;
  color:#586B80;
  font-size:.57rem;
  font-weight:750;
  letter-spacing:.15em;
}
.attention-section{margin-top:25px}
.attention-section .section-head{align-items:flex-end}
.attention-section .section-head h3{font-size:1.02rem;font-weight:700}
.attention-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
}
.alert-card{
  min-height:154px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:rgba(16,23,34,.82);
}
.alert-card:hover{border-color:var(--line-strong);background:rgba(18,27,40,.92);transform:translateY(-1px)}
.alert-head{display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:7px}
.status-dot{width:6px;height:6px;border-radius:50%;background:#8DA0B4}
.alert-card.danger .status-dot{background:#FB7185;box-shadow:0 0 0 4px rgba(251,113,133,.08)}
.alert-card.warning .status-dot{background:#F6C453;box-shadow:0 0 0 4px rgba(246,196,83,.07)}
.alert-card.info .status-dot{background:#58A4FF;box-shadow:0 0 0 4px rgba(88,164,255,.07)}
.alert-head span:nth-child(2){color:#72859A;font-size:.61rem;font-weight:650}
.alert-head strong{font-size:1.3rem;letter-spacing:-.04em}
.alert-card h4{margin:15px 0 5px;font-size:.82rem;font-weight:700}
.alert-card p{min-height:34px;margin:0;color:#687B8F;font-size:.68rem;line-height:1.45}
.alert-action{
  margin-top:11px;padding:0;border:0;background:transparent;
  color:#9EB0C3;font-size:.66rem;font-weight:700;cursor:pointer;
}
.alert-action:hover{color:#F6FAFF;transform:translateX(2px)}
.launch-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,42%);
  gap:24px;
  align-items:center;
  margin-top:22px;
  padding:17px 18px;
  border:1px solid var(--line);
  border-radius:13px;
  background:rgba(15,22,33,.78);
}
.launch-card h3{margin:3px 0 4px;font-size:.92rem}
.launch-card p{margin:0;color:#718398;font-size:.72rem}
.launch-progress{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}
.launch-number{font-size:1.18rem;font-weight:750;letter-spacing:-.04em}
.progress-line{height:5px;background:rgba(255,255,255,.055)}
.progress-line i{background:#2489FF}
.panel,.profile-card,.history-card,.exercise-card,.workout-exercise{
  border:1px solid var(--line)!important;
  box-shadow:none;
}
.panel{background:rgba(16,23,34,.82);border-radius:14px}
.table th{background:#101722;color:#64778B}
.table tr:hover td{background:rgba(255,255,255,.018)}
.icon-btn{border-color:var(--line);background:rgba(255,255,255,.025);border-radius:8px}
.icon-btn:hover{border-color:var(--line-strong);background:rgba(255,255,255,.055)}
.footer-sign{font-size:.66rem;color:#4E6073;border-color:var(--line)}

@media(max-width:1220px){
  .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .attention-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .shell{grid-template-columns:225px minmax(0,1fr)}
  .launch-card{grid-template-columns:1fr}
}
@media(max-width:760px){
  .welcome-bar{align-items:flex-start;flex-direction:column;padding-top:2px}
  .welcome-bar .toolbar{width:100%}.welcome-bar .toolbar .btn{flex:1}
  .welcome-title h1{font-size:1.18rem}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .kpi-card{min-height:126px;padding:13px}
  .kpi-card>strong{font-size:1.48rem}.money-kpi{font-size:1.16rem!important}
  .attention-grid{grid-template-columns:1fr 1fr}
  .alert-card{min-height:144px}
  .launch-progress{grid-template-columns:auto 1fr}.launch-progress .btn{grid-column:1/-1}
}
@media(max-width:420px){
  .kpi-grid{grid-template-columns:1fr 1fr}
  .attention-grid{grid-template-columns:1fr}
}

/* ==========================================================
   RENOVAR TRAINING · PRO V2 UI — VPS production skin
   Dirección visual basada en la versión PRO V2 aprobada.
   ========================================================== */
:root{
  --bg:#0b1220;--panel:#17253d;--panel2:#1a2b47;--line:rgba(135,168,218,.14);
  --text:#f6f8fc;--muted:#8c9bb2;--blue:#61a7ff;--blue2:#3f78d6;
  --green:#52d9a0;--red:#f36f82;--yellow:#f3c75b;--shadow:0 16px 42px rgba(0,0,0,.15)
}
html,body{background:radial-gradient(circle at 84% 8%,rgba(58,108,192,.14),transparent 31%),linear-gradient(180deg,#0b1220,#0a111d 62%,#09101b);color:var(--text)}
.shell{grid-template-columns:236px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,#18263f,#101a2c 76%,#0e1727);border-right:1px solid rgba(255,255,255,.05);padding:18px 14px;box-shadow:inset -1px 0 0 rgba(255,255,255,.015)}
.brand-wrap{height:68px;display:flex;align-items:center;gap:8px;padding:0 8px 14px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.05)}
.sidebar .brand{width:166px;margin:0;filter:brightness(1.18)}
.product-tag{font-size:.48rem;letter-spacing:.13em;color:#7fa8d8;background:rgba(97,167,255,.09);padding:4px 6px;border-radius:5px}
.nav{gap:3px}.nav button{position:relative;display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:10px;color:#a0aec1;font-size:.74rem;font-weight:650;transition:.18s ease}
.nav button:hover{background:rgba(255,255,255,.045);color:#edf4ff;transform:translateX(1px)}
.nav button.active{background:linear-gradient(90deg,rgba(117,154,210,.23),rgba(89,125,181,.10));color:#fff}
.nav button.active:before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:2px;background:#58a4ff;box-shadow:0 0 14px rgba(88,164,255,.55)}
.nav-icon{width:22px;text-align:center;color:#7e8fa8}.nav button.active .nav-icon{color:#79b9ff}
.nav-label{font:inherit;letter-spacing:0;text-transform:none;color:inherit;padding:0}
.sidebar-foot{bottom:18px;left:14px;right:14px;padding:13px 10px 0;border-top:1px solid rgba(255,255,255,.05);font-size:.57rem;color:#64758c}
.topbar{min-height:66px;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.045);background:rgba(11,18,32,.78);backdrop-filter:blur(18px)}
.topbar-kicker{font-size:.49rem;letter-spacing:.13em;color:#5e718e}.topbar h2{font-size:.76rem;color:#f3f6fb;margin-top:2px}
.user-chip{gap:9px}.user-meta b{font-size:.69rem}.user-meta small{display:block;font-size:.55rem;color:#8494aa;margin-top:1px}.avatar{width:34px;height:34px;background:linear-gradient(145deg,#72b4ff,#356ac4);font-size:.67rem;border:1px solid rgba(255,255,255,.12)}
.icon-btn.logout-btn{border:1px solid rgba(255,255,255,.07);background:#17253c;color:#a7b6c9;border-radius:8px;padding:7px 9px;font-size:.58rem}
.content{padding:22px 20px 42px;max-width:1500px}
.welcome-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:0;background:transparent;border:0;box-shadow:none}
.welcome-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.welcome-title h1{font-size:1.5rem;letter-spacing:-.035em;margin:0}.welcome-bar p{font-size:.64rem;color:#8393aa;margin:5px 0 0}
.badge{padding:4px 7px;font-size:.53rem}.live-dot{width:6px;height:6px}
.stats.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0}
.stat.kpi-card{position:relative;overflow:hidden;min-height:110px;padding:13px;border-radius:12px;background:linear-gradient(160deg,rgba(34,54,88,.95),rgba(20,32,53,.98));border:1px solid rgba(145,180,232,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 10px 28px rgba(0,0,0,.09);transition:.18s}
.stat.kpi-card:hover{transform:translateY(-2px);border-color:rgba(120,173,245,.38);box-shadow:0 16px 34px rgba(0,0,0,.16)}
.kpi-top{display:flex;align-items:center;justify-content:space-between}.kpi-label{font-size:.67rem;color:#d8dee8}.kpi-icon{color:#8093af;font-size:.68rem}
.stat.kpi-card strong{font-size:1.65rem;letter-spacing:-.045em;margin:4px 0 2px}.money-kpi{font-size:1.3rem!important}.trend{font-size:.55rem}.trend.up{color:#85e3b4}.trend.down{color:#f58a99}.trend.neutral{color:#8fa0b5}
.sparkline{position:absolute;right:7px;bottom:26px;width:76px;height:36px;opacity:.9}.sparkline polyline{stroke:#7da7ff;stroke-width:2}.sparkline rect{fill:#6da9f7;opacity:.72}
.section{margin-top:12px}.section-head{margin-bottom:9px}.section-kicker{font-size:.5rem;letter-spacing:.13em;color:#647c9b}.section-head h3{font-size:.78rem;margin-top:2px}
.attention-section{margin-top:11px}.attention-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.alert-card{min-height:122px;padding:11px;border-radius:10px;border:1px solid rgba(255,255,255,.07);box-shadow:none;transition:.18s}
.alert-card:hover{transform:translateY(-2px)}.alert-card.danger{background:linear-gradient(145deg,rgba(125,43,57,.62),rgba(73,32,43,.48));border-color:rgba(243,111,130,.24)}.alert-card.warning{background:linear-gradient(145deg,rgba(111,86,35,.58),rgba(71,56,28,.43));border-color:rgba(243,199,91,.20)}.alert-card.info{background:linear-gradient(145deg,rgba(43,76,119,.62),rgba(31,54,87,.45));border-color:rgba(97,167,255,.21)}
.alert-head{display:flex;align-items:center;gap:7px;font-size:.52rem;color:#bfc9d6}.alert-head strong{margin-left:auto;font-size:1rem}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}.alert-card h4{font-size:.68rem;margin:9px 0 4px}.alert-card p{font-size:.55rem;line-height:1.4;color:#aab5c5;margin:0 0 9px}.alert-action{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.065);color:#edf3fb;border-radius:7px;padding:5px 7px;font-size:.52rem;font-weight:800}
.launch-card{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:center;padding:13px;border-radius:12px;background:linear-gradient(180deg,rgba(24,39,64,.96),rgba(17,29,48,.99));border:1px solid var(--line)}.launch-card h3{font-size:.77rem;margin:3px 0}.launch-card p{font-size:.6rem;color:#8191a8;margin:0}.launch-progress{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.launch-number{font-size:1rem;font-weight:800}
.hero-panel{background:linear-gradient(160deg,rgba(34,54,88,.95),rgba(20,32,53,.98));border:1px solid rgba(145,180,232,.18);border-radius:13px;padding:18px 20px;box-shadow:0 12px 30px rgba(0,0,0,.09)}
.hero-panel h1{font-size:1.45rem;letter-spacing:-.035em;margin:5px 0}.hero-panel p{font-size:.66rem;color:#8a9bb1;max-width:720px}.eyebrow{font-size:.52rem;letter-spacing:.13em;color:#72b2ff}
.panel{background:linear-gradient(180deg,rgba(24,39,64,.96),rgba(17,29,48,.99));border:1px solid var(--line);border-radius:12px;padding:13px}
.table th,.table td{padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.05);font-size:.61rem}.table th{font-size:.52rem;color:#687992}.table tr:hover td{background:rgba(255,255,255,.018)}
.toolbar{gap:7px}.toolbar .input,.content .input,.content select,.content textarea{background:#121d30;border:1px solid rgba(255,255,255,.07);color:#fff;border-radius:8px;padding:8px 10px;font-size:.61rem}.content .input:focus,.content select:focus,.content textarea:focus{border-color:#599ff2;box-shadow:0 0 0 3px rgba(89,159,242,.09)}
.btn{border-radius:8px;padding:8px 10px;font-size:.6rem}.btn.primary{background:linear-gradient(135deg,#5ca7ff,#3e79d7)}.btn.ghost{background:#17253a;color:#eaf1fb;border:1px solid rgba(255,255,255,.08)}.btn.compact{padding:7px 9px}
.profile-card,.subcard{border-radius:12px}.student-home{max-width:980px}.student-home .hero-panel{border-radius:13px}.student-exercise,.history-card,.workout-head,.workout-exercise,.attendance-big,.qr-card{border-radius:12px!important}
.mobile-bottom-nav{background:rgba(18,29,48,.96);border:1px solid rgba(255,255,255,.07);border-radius:14px;left:10px;right:10px;bottom:10px;box-shadow:0 14px 32px rgba(0,0,0,.2);backdrop-filter:blur(18px)}
.footer-sign{color:#61758c;font-size:.6rem}.footer-sign a{color:#91a8bd}
@media(max-width:1180px){.attention-grid{grid-template-columns:repeat(3,1fr)}.stats.kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.content{padding:14px 11px 86px}.welcome-bar{align-items:flex-start;flex-direction:column}.stats.kpi-grid,.attention-grid{grid-template-columns:repeat(2,1fr)}.launch-card{grid-template-columns:1fr}.launch-progress{grid-template-columns:auto 1fr}.launch-progress .btn{grid-column:1/-1}.sidebar{background:linear-gradient(180deg,#18263f,#101a2c 76%,#0e1727)}}
@media(max-width:480px){.stats.kpi-grid,.attention-grid{grid-template-columns:1fr}.welcome-title h1{font-size:1.3rem}}


/* PRO V2.1 · estabilidad y operación */
.sidebar{display:flex;flex-direction:column;overflow:hidden}
.nav{flex:1;min-height:0;overflow-y:auto;padding-bottom:14px;scrollbar-width:thin}
.sidebar-foot{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;margin-top:auto;padding:13px 10px 0!important;flex:0 0 auto;background:linear-gradient(180deg,rgba(16,26,44,0),rgba(16,26,44,.98) 22%)}
.media-uploader{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px;align-items:start;margin:14px 0}
.media-preview{min-height:170px;border:1px dashed #c7d5e4;border-radius:14px;background:#eef3f8;display:grid;place-items:center;overflow:hidden;color:#738399;padding:10px}
.media-preview img,.media-preview video{width:100%;max-height:260px;object-fit:contain;border-radius:10px;background:#08111d}
.media-preview.external{text-align:center}
.exercise-inline-media{display:block;width:120px;max-height:76px;object-fit:cover;border-radius:9px;margin:8px 0;border:1px solid rgba(255,255,255,.09)}
.exercise-media-link{display:inline-flex;margin:7px 0;color:#7db8ff;font-size:.73rem;font-weight:800;text-decoration:none}
.workout-media{display:block;width:min(520px,100%);max-height:320px;object-fit:contain;border-radius:14px;margin:12px 0;background:#08111d;border:1px solid rgba(255,255,255,.08)}
.qr-print-info{max-width:700px;margin:14px auto;text-align:center}.qr-print-info code{display:block;margin-top:7px;color:#7db8ff;word-break:break-all}
.roleSelect,.statusSelect{min-width:130px!important;background:#0a1727!important;border-color:#213b59!important;color:#fff!important;padding:8px 9px!important}
@media(max-width:760px){.media-uploader{grid-template-columns:1fr}.sidebar-foot{margin-top:18px}}


/* PRO V2.2 · sidebar sin scroll horizontal */
.shell{min-width:0}
.sidebar{min-width:0;max-width:100%;overflow:hidden!important}
.nav{width:100%;max-width:100%;overflow-x:hidden!important;overflow-y:auto!important}
.nav button{width:100%;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}
.sidebar-foot{width:100%;max-width:100%;overflow:hidden}

/* PRO V2.4 · Planes por bloques secuenciales */
.blocks-builder{display:grid;gap:14px;margin:12px 0}.training-block-builder{border:1px solid rgba(97,167,255,.18);background:linear-gradient(180deg,rgba(19,34,56,.9),rgba(14,26,44,.95));border-radius:14px;padding:14px}.block-builder-head{display:grid;grid-template-columns:auto minmax(180px,1fr) 170px auto;gap:10px;align-items:end;margin-bottom:10px}.block-builder-head label{font-size:.56rem;color:#8fa0b6}.block-builder-head .badge{align-self:center}.block-builder-head .icon-btn{align-self:end}.block-note-line{margin-bottom:10px}.student-block-list{display:grid;gap:16px}.student-plan-block{border:1px solid rgba(97,167,255,.15);background:linear-gradient(180deg,rgba(23,39,64,.92),rgba(16,29,48,.96));border-radius:14px;padding:14px}.student-block-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:10px}.student-block-head h3{margin:6px 0 2px;font-size:1rem}.student-block-head p{margin:0;color:#8799b1;font-size:.62rem}.block-rest{font-size:.58rem;color:#8fa1b9;background:rgba(255,255,255,.04);padding:7px 9px;border-radius:8px}.workout-block{border:1px solid rgba(97,167,255,.18);background:linear-gradient(180deg,rgba(20,36,59,.94),rgba(13,25,42,.97));border-radius:16px;padding:14px;margin:14px 0;transition:.2s ease}.workout-block.complete{border-color:rgba(82,217,160,.26);background:linear-gradient(180deg,rgba(24,59,58,.46),rgba(13,31,38,.72))}.workout-block.locked{opacity:.58;filter:saturate(.7)}.workout-block-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:12px;padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.06)}.workout-block-head h2{margin:6px 0 2px;font-size:1.05rem}.workout-block-head p{margin:0;color:#8ea0b8;font-size:.62rem}.block-state{font-size:.57rem;color:#91a6c0;background:rgba(255,255,255,.04);padding:7px 9px;border-radius:8px;white-space:nowrap}.workout-block-items{display:grid;gap:10px}.workout-block .workout-exercise{margin:0!important}.workout-exercise.locked{pointer-events:none}.workout-exercise.locked input,.workout-exercise.locked button{cursor:not-allowed}.block-transition{margin-top:11px;padding:9px 10px;border-radius:9px;background:rgba(82,217,160,.09);border:1px solid rgba(82,217,160,.16);color:#78e6b5;font-size:.62rem;font-weight:800}@media(max-width:760px){.block-builder-head{grid-template-columns:1fr}.student-block-head,.workout-block-head{flex-direction:column}.block-state,.block-rest{white-space:normal}}


/* PRO V2.5 · usabilidad y administración */
.day-copy-note{font-size:.58rem;color:#74879f;margin:-2px 0 10px;padding:7px 9px;border-left:2px solid rgba(97,167,255,.35);background:rgba(97,167,255,.045);border-radius:0 7px 7px 0}
.assign-search-empty{padding:12px;text-align:center;color:#7f91a8;font-size:.62rem}
.student-select{max-height:320px;overflow-y:auto;overflow-x:hidden}
.student-check{transition:.15s ease}
.modal{user-select:auto}
.modal-card{overscroll-behavior:contain}
@media(max-width:760px){.day-builder>.section-head{align-items:flex-start}.day-builder>.section-head>.toolbar:last-child{width:100%;flex-wrap:wrap}}


/* PRO V2.5.2 · estabilidad del sidebar y acciones destructivas */
.icon-btn.danger{border-color:rgba(243,111,130,.24);color:#f5a0ad;background:rgba(243,111,130,.06)}
.icon-btn.danger:hover{border-color:rgba(243,111,130,.48);background:rgba(243,111,130,.13);color:#ffd4da}
@media(min-width:761px){
  .sidebar .nav{overflow-x:hidden!important;overflow-y:hidden!important;scroll-behavior:auto!important}
  .sidebar .nav button{flex:0 0 auto}
}
@media(max-width:760px){.sidebar .nav{overflow-y:auto!important}}

/* ==========================================================
   RENOVAR TRAINING · PRO V2.6 — GLOBAL CONTRAST & FORM AUDIT
   Revisión integral de legibilidad, modales, formularios,
   constructores, tablas y estados interactivos.
   ========================================================== */
:root{
  --surface-0:#09111d;
  --surface-1:#0f1b2d;
  --surface-2:#14233a;
  --surface-3:#1a2c47;
  --surface-4:#203654;
  --stroke-soft:rgba(145,181,229,.12);
  --stroke:rgba(145,181,229,.20);
  --stroke-strong:rgba(145,181,229,.32);
  --text-strong:#f5f8fc;
  --text-body:#d2dbe8;
  --text-muted:#91a2b9;
  --field-bg:#0d1929;
  --field-bg-hover:#102039;
  --field-border:#29415f;
  --field-focus:#66adff;
}

/* Texto y superficies generales */
body{color:var(--text-strong)}
.main{background:transparent}
.content{color:var(--text-body)}
.content h1,.content h2,.content h3,.content h4,.content .name{color:var(--text-strong)}
.content p,.content .muted{color:var(--text-muted)}
.panel,.profile-card,.exercise-card,.plan-card,.history-card,.student-exercise,.workout-exercise{
  background:linear-gradient(180deg,rgba(23,39,64,.96),rgba(15,27,45,.98));
  border-color:var(--stroke)!important;
}

/* Inputs dentro de la aplicación */
.content .input,.content input:not([type="checkbox"]):not([type="radio"]),.content select,.content textarea,
.modal-card .input,.modal-card input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.modal-card select,.modal-card textarea{
  background:var(--field-bg)!important;
  border:1px solid var(--field-border)!important;
  color:#f4f7fb!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018)!important;
}
.content .input:hover,.content input:not([type="checkbox"]):not([type="radio"]):hover,.content select:hover,.content textarea:hover,
.modal-card .input:hover,.modal-card input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):hover,.modal-card select:hover,.modal-card textarea:hover{
  background:var(--field-bg-hover)!important;
  border-color:#355274!important;
}
.content .input:focus,.content input:not([type="checkbox"]):not([type="radio"]):focus,.content select:focus,.content textarea:focus,
.modal-card .input:focus,.modal-card input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,.modal-card select:focus,.modal-card textarea:focus{
  background:#11223a!important;
  border-color:var(--field-focus)!important;
  box-shadow:0 0 0 3px rgba(102,173,255,.12)!important;
}
.content input::placeholder,.content textarea::placeholder,.modal-card input::placeholder,.modal-card textarea::placeholder{color:#71849d!important;opacity:1}
.content option,.modal-card option{background:#101d30;color:#f2f6fb}

/* Modal oscuro: elimina el choque blanco/azul de los formularios */
.modal{background:rgba(2,7,13,.78);backdrop-filter:blur(7px)}
.modal-card{
  width:min(1040px,calc(100vw - 34px));
  max-height:min(92vh,960px);
  background:linear-gradient(180deg,#111d30,#0d1828 100%);
  color:var(--text-body);
  border:1px solid rgba(151,184,226,.22);
  border-radius:18px;
  box-shadow:0 32px 90px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.025);
  scrollbar-color:#405a79 transparent;
}
.modal-head{
  padding:18px 22px;
  background:rgba(15,27,45,.97);
  color:var(--text-strong);
  border-bottom:1px solid var(--stroke);
  backdrop-filter:blur(16px);
}
.modal-head h3{font-size:1.08rem;letter-spacing:-.015em;color:var(--text-strong)}
.modal-body{padding:20px 22px 22px}
.close{
  width:38px;height:38px;
  background:#192941;
  color:#d8e3f1;
  border:1px solid rgba(255,255,255,.07);
  transition:.16s ease;
}
.close:hover{background:#223754;color:#fff;transform:rotate(3deg)}
.modal-card label{color:#b7c5d7;font-size:.72rem;margin:11px 0 6px}
.modal-card .small,.modal-card .muted{color:#8396ae}

/* Mensajes y sub-secciones de formularios */
.modal-card .msg{
  background:rgba(67,135,224,.09);
  color:#aacdf8;
  border:1px solid rgba(97,167,255,.18);
  border-radius:10px;
  padding:10px 12px;
}
.modal-card .subcard{
  background:linear-gradient(180deg,rgba(23,39,64,.86),rgba(17,31,51,.92));
  color:var(--text-body);
  border:1px solid var(--stroke)!important;
  border-radius:13px;
  padding:14px;
}
.modal-card .subcard h4{color:#8fc2ff;font-size:.8rem;letter-spacing:.01em}
.modal-card .check{border-color:rgba(255,255,255,.07);color:#cbd6e4}
.modal-card input[type="checkbox"],.modal-card input[type="radio"]{accent-color:#4d9df7}
.modal-card input[type="file"]{
  width:100%;padding:9px;background:#0d1929;color:#aebdd0;
  border:1px dashed #355274;border-radius:9px
}
.modal-card input[type="file"]::file-selector-button{
  border:0;border-radius:7px;background:#203958;color:#eaf3ff;padding:7px 10px;margin-right:10px;font-weight:750;cursor:pointer
}

/* Constructor de planes: jerarquía más clara y sin bloques blancos */
.day-builder{
  background:linear-gradient(180deg,rgba(21,37,61,.96),rgba(14,26,43,.98))!important;
  border:1px solid rgba(112,164,229,.22)!important;
  border-radius:15px!important;
  padding:15px!important;
}
.day-builder>.section-head{padding-bottom:11px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}
.day-copy-note{color:#93a8bf;background:rgba(89,159,242,.055);border-left-color:#5fa6f4}
.training-block-builder{
  background:linear-gradient(180deg,rgba(30,49,78,.94),rgba(21,37,60,.97))!important;
  border-color:rgba(115,169,237,.24)!important;
  border-radius:13px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.block-builder-head{padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.055)}
.builder-item{
  background:#111e31!important;
  color:var(--text-body)!important;
  border:1px solid rgba(145,181,229,.14)!important;
  border-radius:11px!important;
  padding:13px!important;
}
.builder-item:hover{border-color:rgba(145,181,229,.24)!important;background:#132239!important}
.builder-item-head{color:#f2f6fb;padding-bottom:7px;margin-bottom:9px;border-bottom:1px solid rgba(255,255,255,.05)}
.block-note-line{margin-top:8px}
.modal-save{
  position:sticky;bottom:-22px;z-index:4;
  margin:16px -22px -22px;
  padding:14px 22px;
  background:linear-gradient(180deg,rgba(13,24,40,.70),#0d1828 28%);
  border-top:1px solid rgba(145,181,229,.14);
  backdrop-filter:blur(14px)
}
.modal-save .btn.primary{min-width:150px}

/* Botones: mejor jerarquía */
.btn{font-weight:780;transition:.16s ease;border:1px solid transparent}
.btn.primary{background:linear-gradient(135deg,#5faaff,#3f7fdf);box-shadow:0 7px 18px rgba(50,120,217,.14)}
.btn.primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn.ghost{background:#172840;color:#dbe7f5;border-color:rgba(145,181,229,.15)}
.btn.ghost:hover{background:#1c304d;border-color:rgba(145,181,229,.25)}
.btn.danger{background:rgba(243,111,130,.10);color:#ffabb7;border-color:rgba(243,111,130,.21)}
.btn.danger:hover{background:rgba(243,111,130,.18);border-color:rgba(243,111,130,.37)}
.icon-btn{color:#c8d8ea;background:#14243a;border-color:rgba(145,181,229,.17)}
.icon-btn:hover{background:#1a2e49;border-color:rgba(145,181,229,.29);color:#fff}

/* Selectores de alumnos / asignación */
.student-select{background:#0e1a2b;border-color:var(--stroke);border-radius:11px}
.student-check{border-bottom-color:rgba(255,255,255,.055);color:#d2dce8}
.student-check:hover{background:rgba(97,167,255,.055)}
.student-check small{color:#8093ab}
.template-choice{background:#111f33;color:#eaf1fa;border-color:var(--stroke)}
.template-choice:hover{background:#172941;border-color:var(--stroke-strong)}
.template-choice span{color:#8ea1b9}
.assign-search-empty{color:#8396ad}

/* Tablas */
.table-wrap{border-radius:10px}
.table th{background:#0e192a;color:#7f93aa;border-bottom-color:rgba(145,181,229,.13)}
.table td{color:#ccd7e5;border-bottom-color:rgba(255,255,255,.055)}
.table tbody tr:hover td{background:rgba(87,151,235,.04)}
.table tbody tr:last-child td{border-bottom:0}

/* Tarjetas y estados */
.plan-card,.exercise-card,.profile-plan,.student-exercise{border-radius:13px}
.plan-meta span,.exercise-prescription span,.exercise-prescription b{
  background:#10233a;border-color:rgba(97,167,255,.19);color:#bbcadb
}
.badge.blue{background:rgba(77,157,247,.13);color:#86c0ff;border:1px solid rgba(77,157,247,.14)}
.badge.green{background:rgba(82,217,160,.11);color:#76e4b3;border:1px solid rgba(82,217,160,.13)}
.badge.yellow{background:rgba(243,199,91,.11);color:#f6d47d;border:1px solid rgba(243,199,91,.13)}
.badge.red{background:rgba(243,111,130,.11);color:#ff9cac;border:1px solid rgba(243,111,130,.13)}

/* Workouts */
.workout-head{background:linear-gradient(145deg,#172b47,#102039);border-color:rgba(112,164,229,.22)!important}
.workout-clock{background:#0b1828;border-color:#274462}
.target-strip span{background:#10223a;border-color:rgba(97,167,255,.18);color:#aebfd2}
.sets-table{background:#0d1929;border-color:rgba(145,181,229,.16)}
.sets-row{border-bottom-color:rgba(255,255,255,.055)}
.sets-head{background:#101e31;color:#8095ad}
.sets-row input{background:#0b1727;border-color:#294462}
.coach-note{color:#bbd5f4}
.history-summary span{background:#14253b;color:#91a4bc;border:1px solid rgba(145,181,229,.12)}
.history-summary b{color:#f0f5fb}
.history-sets{color:#aebed0}

/* Multimedia */
.media-preview{background:#0d1929;color:#8498b0;border-color:#355274}
.media-preview img,.media-preview video{background:#08111d}

/* Scrollbars discretas */
.modal-card,.nav,.table-wrap,.student-select{scrollbar-width:thin;scrollbar-color:#3b5878 transparent}
.modal-card::-webkit-scrollbar,.nav::-webkit-scrollbar,.table-wrap::-webkit-scrollbar,.student-select::-webkit-scrollbar{width:7px;height:7px}
.modal-card::-webkit-scrollbar-thumb,.nav::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb,.student-select::-webkit-scrollbar-thumb{background:#35516f;border-radius:99px}
.modal-card::-webkit-scrollbar-track,.nav::-webkit-scrollbar-track,.table-wrap::-webkit-scrollbar-track,.student-select::-webkit-scrollbar-track{background:transparent}

/* Focus accesible en acciones */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(105,177,255,.75);outline-offset:2px}

@media(max-width:760px){
  .modal-card{width:100%;max-height:100vh;border:0;border-radius:0}
  .modal-head{padding:15px 16px}.modal-body{padding:16px}
  .modal-save{bottom:-16px;margin:14px -16px -16px;padding:12px 16px}
  .day-builder{padding:12px!important}
  .training-block-builder{padding:11px}
}


/* V2.7 · progreso semanal + lectura clínica */
.health-answer-row{border-bottom:1px solid rgba(128,153,184,.18)!important;padding:10px 8px!important;border-radius:10px;transition:.15s ease}
.health-answer-row.health-positive{background:rgba(255,96,112,.10);border:1px solid rgba(255,103,119,.22)!important;padding:10px 11px!important}
.health-answer-row.health-negative{background:rgba(69,204,145,.035)}
.health-answer{min-width:42px;text-align:center;padding:5px 9px;border-radius:999px;font-size:.72rem;letter-spacing:.04em}
.health-answer.yes{color:#ffd7dc;background:rgba(229,72,90,.26);border:1px solid rgba(255,111,126,.38);box-shadow:0 0 0 3px rgba(229,72,90,.055)}
.health-answer.no{color:#79dfb1;background:rgba(50,182,121,.10);border:1px solid rgba(74,211,145,.16)}
.plan-frequency-summary{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 12px;margin:14px 0;padding:12px 14px;border-radius:14px;background:rgba(69,153,255,.075);border:1px solid rgba(77,159,255,.16)}
.plan-frequency-summary span{color:#88a3c0;font-size:.72rem}.plan-frequency-summary b{color:#fff}.plan-frequency-summary small{grid-column:1/-1;color:#758da7}
.week-dots{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:10px}.week-dot{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;border:1px solid #2c4868;background:#0d1c2d;color:#7189a4;font-size:.72rem;font-weight:900}.week-dot.done{background:rgba(49,195,129,.16);border-color:rgba(63,219,147,.38);color:#69e4aa}.week-dot.current{background:rgba(50,139,255,.18);border-color:rgba(72,159,255,.55);color:#91c5ff;box-shadow:0 0 0 3px rgba(42,134,255,.08)}.week-dots.compact{margin-top:8px;justify-content:flex-end}.week-dots.compact .week-dot{width:25px;height:25px;font-size:.65rem}
.student-week-summary{margin-top:16px;padding:12px 14px;border-radius:15px;background:rgba(7,17,29,.28);border:1px solid rgba(107,162,226,.16);max-width:520px}.student-week-summary>b,.student-week-summary>span{display:block}.student-week-summary>span{font-size:.76rem;color:#8ca5c0;margin-top:3px}
.plan-day-tabs .dayTab.completed{border-color:rgba(58,210,140,.3);color:#6ee5ad;background:rgba(43,184,119,.09)}
.progress-hero{align-items:center}.week-progress-card{min-width:260px;padding:16px 18px;border-radius:18px;background:rgba(7,16,27,.34);border:1px solid rgba(110,162,224,.16)}.week-progress-card small{color:#7591ad;font-weight:850;letter-spacing:.08em}.week-progress-card strong{display:block;font-size:1.05rem;margin-top:4px}.week-progress-card>b{display:block;color:#91a9c1;font-size:.75rem;margin-top:9px}.weekly-status{margin-top:14px}.weekly-status .section-head>strong{font-size:1.35rem}.progress-track{height:8px;background:#0b1726;border-radius:99px;overflow:hidden;margin:12px 0 16px}.progress-track i{display:block;height:100%;background:linear-gradient(90deg,#2188ff,#4dd999);border-radius:inherit}.week-day-list{display:grid;gap:7px}.week-day-row{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;background:#0c1a2a;border:1px solid #1a314b;color:#8095ab}.week-day-row>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#101f32;font-weight:900}.week-day-row b{display:block;color:#dce8f4}.week-day-row small{display:block;margin-top:2px}.week-day-row.done{background:rgba(43,184,119,.055);border-color:rgba(52,205,134,.16)}.week-day-row.done>span{color:#70e4ae;background:rgba(48,196,128,.13)}.week-day-row.current{border-color:rgba(63,145,255,.32);background:rgba(45,127,236,.07)}.progress-stats{margin-top:14px}
@media(max-width:760px){.progress-hero{display:block}.week-progress-card{min-width:0;margin-top:16px}.week-dots.compact{justify-content:flex-start}.plan-frequency-summary{grid-template-columns:1fr}.plan-frequency-summary small{grid-column:auto}}


/* ==========================================================
   RENOVAR TRAINING · PRO V2.8 — MOBILE FIRST / 100% RESPONSIVE
   Revisión completa de navegación, layout, formularios,
   planes, workout, perfiles, salud, tablas y modales.
   ========================================================== */

html,body{max-width:100%;overflow-x:hidden}
img,video,svg,canvas{max-width:100%;height:auto}
.main,.content,.section,.panel,.hero-panel,.subcard,.student-home,.workout-shell,.workout-view{min-width:0;max-width:100%}
input,select,textarea,button{max-width:100%}

.mobile-drawer-backdrop{display:none}

@media(max-width:760px){
  :root{--mobile-gutter:14px;--mobile-nav-h:78px}

  html{background:#091321}
  body{
    width:100%;
    min-width:0;
    overflow-x:hidden!important;
    padding:0 0 calc(var(--mobile-nav-h) + env(safe-area-inset-bottom))!important;
    -webkit-text-size-adjust:100%;
  }
  body.drawer-open{overflow:hidden!important;touch-action:none}

  /* App shell */
  .shell{display:block!important;width:100%;min-width:0;overflow:visible}
  .main{width:100%;min-width:0;margin:0!important}
  .content{
    width:100%;
    max-width:none!important;
    padding:14px var(--mobile-gutter) 22px!important;
    margin:0!important;
    overflow-x:hidden;
  }

  /* Topbar compacta */
  .topbar{
    position:sticky;top:0;z-index:50;
    width:100%;min-height:64px;
    padding:9px var(--mobile-gutter)!important;
    gap:10px;
    background:rgba(10,20,34,.94)!important;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .topbar-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
  .topbar-left>div{min-width:0}
  .topbar-kicker{display:block;font-size:.52rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar h2{font-size:.91rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw}
  .mobile-menu{
    display:grid!important;place-items:center;
    width:42px;height:42px;min-width:42px;padding:0!important;
    border:1px solid rgba(255,255,255,.07)!important;
    border-radius:13px!important;background:#13253b!important;
    font-size:0!important;
  }
  .mobile-menu:before{content:"☰";font-size:1.05rem;color:#eaf3ff}
  .user-chip{margin-left:auto;gap:0!important}
  .topbar .avatar{width:38px!important;height:38px!important;min-width:38px;font-size:.72rem}
  .topbar .user-meta,.logout-btn{display:none!important}

  /* Drawer real, sin contenido asomando detrás */
  .sidebar{
    display:flex!important;
    position:fixed!important;inset:0 auto 0 0!important;
    z-index:100!important;
    width:min(86vw,310px)!important;
    height:100dvh!important;
    padding:calc(14px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom))!important;
    transform:translateX(-104%);
    transition:transform .24s cubic-bezier(.2,.8,.2,1);
    background:linear-gradient(180deg,#172740 0%,#101d31 58%,#0d1829 100%)!important;
    border-right:1px solid rgba(255,255,255,.07)!important;
    box-shadow:24px 0 70px rgba(0,0,0,.56)!important;
    overflow:hidden!important;
  }
  .sidebar.open{transform:translateX(0)}
  .sidebar.open:after{display:none!important}
  .mobile-drawer-backdrop{
    display:block;position:fixed;inset:0;z-index:90;
    background:rgba(2,8,15,.64);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease;
    backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)
  }
  body.drawer-open .mobile-drawer-backdrop{opacity:1;visibility:visible;pointer-events:auto}

  .mobile-close{
    display:grid!important;place-items:center;
    position:absolute!important;top:calc(14px + env(safe-area-inset-top));right:12px;
    width:38px;height:38px;border-radius:50%!important;
    border:1px solid rgba(255,255,255,.09)!important;
    background:rgba(255,255,255,.045)!important;color:#eef6ff!important;
    font-size:1.15rem;z-index:3;
  }
  .brand-wrap{
    flex:0 0 auto;
    padding:4px 48px 14px 4px!important;
    margin:0 0 10px!important;
    min-height:82px;
    display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  }
  .sidebar .brand{width:min(190px,100%)!important;max-height:58px;object-fit:contain;object-position:left center}
  .product-tag{margin-top:7px!important}
  .sidebar .nav{
    flex:1 1 auto!important;min-height:0!important;
    display:flex!important;flex-direction:column!important;
    gap:4px!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    padding:2px 1px 16px 0!important;
    scrollbar-width:none!important;
    overscroll-behavior:contain;
  }
  .sidebar .nav::-webkit-scrollbar{display:none}
  .sidebar .nav button{
    flex:0 0 auto!important;
    min-height:48px!important;
    width:100%!important;
    padding:11px 12px!important;
    margin:0!important;
    border-radius:12px!important;
    font-size:.82rem!important;
    white-space:normal!important;
  }
  .sidebar-foot{
    flex:0 0 auto!important;margin-top:0!important;
    padding:12px 6px 2px!important;
    background:transparent!important;
    border-top:1px solid rgba(255,255,255,.06)!important;
    font-size:.61rem!important;
  }

  /* Bottom nav */
  .mobile-bottom-nav{
    display:grid!important;
    position:fixed!important;
    left:8px!important;right:8px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    height:70px;z-index:70!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    padding:5px!important;
    background:rgba(13,27,45,.96)!important;
    border:1px solid rgba(133,164,193,.16)!important;
    border-radius:20px!important;
    box-shadow:0 16px 45px rgba(0,0,0,.38)!important;
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  }
  body.drawer-open .mobile-bottom-nav{opacity:0;pointer-events:none}
  .mobile-bottom-nav button{
    min-width:0!important;min-height:58px!important;
    padding:5px 1px!important;border-radius:15px!important;
    display:flex!important;flex-direction:column!important;
    align-items:center!important;justify-content:center!important;gap:3px!important;
    font-size:.59rem!important;line-height:1.05!important;
    overflow:hidden;
  }
  .mobile-bottom-nav button span:last-child{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mnav-ico{font-size:1.05rem!important}

  /* Layout general */
  .hero-panel,.panel,.subcard,.profile-card,.student-plan-block,.workout-block,.exercise-card,.workout-exercise{
    width:100%;max-width:100%;border-radius:18px!important;
  }
  .hero-panel{padding:18px!important;display:block!important}
  .hero-panel h1{font-size:1.48rem!important;line-height:1.06;margin:7px 0!important}
  .hero-panel p{font-size:.82rem!important;line-height:1.45}
  .hero-panel .btn{width:100%;margin-top:14px}
  .section{margin-top:15px!important}
  .section-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:9px!important}
  .section-head h3{font-size:1rem}
  .section-head>.toolbar,.toolbar{width:100%;display:flex;flex-wrap:wrap;gap:7px}
  .toolbar .btn{flex:1 1 auto;min-height:43px}
  .toolbar .input,.toolbar select{flex:1 1 100%;width:100%;min-width:0!important}
  .btn{min-height:43px;padding:10px 13px;border-radius:11px}

  /* iOS: evita zoom al enfocar */
  .input,input,select,textarea{font-size:16px!important}
  label{font-size:.76rem!important}
  textarea{min-height:92px}

  /* Stats y dashboards */
  .stats,.stats.kpi-grid,.attention-grid,.grid2,.grid3,.checkgrid,.cards3,.coming,.student-summary{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .stat,.kpi-card,.attention-card,.alert-card{min-height:0!important;padding:14px!important}
  .stat strong,.kpi-card>strong{font-size:1.42rem!important}
  .welcome-bar{padding:0!important}
  .launch-card,.launch-progress{grid-template-columns:1fr!important}
  .chart-card,.panel{overflow:hidden}
  .chart{min-width:0;height:190px!important}

  /* Plan del alumno */
  .student-home{width:100%;max-width:none!important}
  .plan-current{display:block!important;padding:16px!important}
  .plan-position{
    width:100%!important;margin-top:13px!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    text-align:left!important;
  }
  .plan-position strong{font-size:1.06rem!important}
  .student-week-summary{max-width:none!important;width:100%}
  .plan-day-tabs{
    display:flex!important;gap:7px!important;overflow-x:auto!important;
    padding-bottom:4px!important;scrollbar-width:none
  }
  .plan-day-tabs::-webkit-scrollbar{display:none}
  .plan-day-tabs .dayTab{flex:0 0 auto;min-width:86px}
  .student-plan-block{padding:12px!important}
  .student-block-head,.workout-block-head{display:block!important}
  .block-state,.block-rest{display:inline-flex;margin-top:8px;max-width:100%;white-space:normal!important}
  .exercise,.student-exercise,.exercise-row{
    min-width:0!important;width:100%!important;
  }

  /* Workout: controles cómodos con una mano */
  .workout-shell,.workout-view{width:100%;max-width:none!important}
  .workout-head,.workout-hero{padding:17px!important;border-radius:19px!important}
  .workout-head .toolbar,.workout-hero .toolbar{display:grid!important;grid-template-columns:1fr!important}
  .workout-block{padding:11px!important;margin:11px 0!important}
  .workout-exercise,.exercise-card{padding:13px!important}
  .series-row,.set-row,.sets-row{
    grid-template-columns:1fr!important;
    gap:7px!important;
    padding:11px!important;
    min-height:0!important;
  }
  .sets-head{display:none!important}
  .series-row input,.set-row input,.sets-row input{width:100%!important}
  .complete-set,.set-done{width:100%!important;min-height:44px!important}
  .timer-box,.rest-timer{width:100%;padding:13px!important}

  /* Perfil y salud */
  .student-profile{display:block!important;width:100%}
  .profile-card{position:static!important;width:100%;margin-bottom:12px}
  .profile-nav{grid-template-columns:1fr 1fr!important}
  .profile-nav button{min-height:44px;font-size:.76rem!important}
  .kv{grid-template-columns:1fr!important}
  .health-grid,.health-answers,.health-section-grid{grid-template-columns:1fr!important}
  .health-answer-row{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;gap:10px!important;
    width:100%;min-width:0;
  }
  .health-answer-row>*{min-width:0}
  .health-answer{justify-self:end}
  .doc{align-items:flex-start;flex-direction:column}

  /* Formularios y constructor de planes */
  .day-builder,.training-block-builder,.subcard{padding:12px!important}
  .block-builder-head{grid-template-columns:1fr!important;gap:8px!important}
  .block-builder-head .badge,.block-builder-head .icon-btn{justify-self:start!important}
  .exercise-builder,.plan-exercise-builder,.exercise-fields{
    grid-template-columns:1fr!important;
  }
  .form-row,.form-grid{grid-template-columns:1fr!important}
  .check{min-width:0}
  .student-select{max-height:42vh}

  /* Tablas: scroll contenido, nunca toda la página */
  .table-wrap{
    width:100%;max-width:100%;overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    border-radius:12px;
  }
  .table{min-width:650px!important}
  .table-wrap:after{
    content:"Deslizá horizontalmente para ver más";
    display:block;padding:7px 9px;color:#667d95;font-size:.61rem;text-align:right;
  }

  /* Modales como pantalla/hoja móvil */
  .modal{
    align-items:flex-end!important;
    padding:0!important;
    overscroll-behavior:contain;
  }
  .modal-card{
    width:100%!important;max-width:none!important;
    height:auto!important;max-height:94dvh!important;min-height:0!important;
    border-radius:22px 22px 0 0!important;
    border-left:0!important;border-right:0!important;border-bottom:0!important;
    overflow-y:auto!important;overscroll-behavior:contain;
  }
  .modal-head{
    position:sticky!important;top:0!important;z-index:6;
    padding:14px 15px!important;
    background:rgba(17,30,49,.98)!important;
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  }
  .modal-head h2,.modal-head h3{font-size:1.02rem!important}
  .modal-body{padding:14px!important}
  .modal-save{
    position:sticky!important;bottom:0!important;z-index:5;
    margin:14px -14px -14px!important;padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important;
    background:rgba(15,27,45,.97)!important;
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  }
  .modal-save .btn,.modal-body>.btn.full{width:100%}

  /* QR / recepción */
  .reception-screen{width:100%;padding:0!important}
  .reception-brand img{max-width:220px}
  .qr-card{padding:14px!important}
  .qr-card img{width:min(76vw,320px)!important}
  .qr-stage{grid-template-columns:1fr!important}
  .qr-instructions{padding:0!important}

  /* Historial / progreso */
  .progress-hero{display:block!important}
  .week-progress-card{width:100%;min-width:0!important;margin-top:12px!important}
  .week-dots.compact{justify-content:flex-start!important}
  .week-day-row{align-items:flex-start!important}
  .history-summary{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px}
  .history-summary span{min-width:0}

  /* Evita cualquier desborde accidental */
  .card,.panel,.hero-panel,.subcard,.modal-card,.day-builder,.training-block-builder,
  .student-plan-block,.workout-block,.profile-card,.week-progress-card{
    overflow-wrap:anywhere;
  }
}

@media(max-width:390px){
  :root{--mobile-gutter:10px}
  .topbar h2{max-width:44vw}
  .profile-nav{grid-template-columns:1fr!important}
  .history-summary{grid-template-columns:1fr!important}
  .mobile-bottom-nav{left:5px!important;right:5px!important}
  .mobile-bottom-nav button{font-size:.54rem!important}
  .hero-panel h1{font-size:1.35rem!important}
}

@media(min-width:761px){
  body.drawer-open{overflow:auto!important}
  .mobile-drawer-backdrop{display:none!important}
}


/* ==========================================================
   PRO V2.8.1 — MOBILE INTERACTION FIX
   Descanso + bottom navigation + safe area + z-index
   ========================================================== */
@media(max-width:760px){
  .mobile-bottom-nav{
    z-index:60!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  .mobile-bottom-nav button{
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  body.modal-open .mobile-bottom-nav,
  body.rest-open .mobile-bottom-nav,
  body.drawer-open .mobile-bottom-nav{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(22px)!important;
  }

  .modal,
  .rest-overlay,
  .timer-overlay,
  .workout-rest-overlay{
    z-index:220!important;
  }

  /* Descanso: cuadro centrado y completo en viewport */
  .rest-overlay,
  .timer-overlay,
  .workout-rest-overlay{
    position:fixed!important;
    inset:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:
      calc(14px + env(safe-area-inset-top))
      14px
      calc(14px + env(safe-area-inset-bottom))!important;
    background:rgba(3,10,18,.76)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
    overflow:auto!important;
  }

  .rest-card,
  .timer-card,
  .workout-rest-card{
    width:min(100%,520px)!important;
    max-width:520px!important;
    max-height:calc(100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    margin:auto!important;
    border-radius:22px!important;
    overflow:auto!important;
    box-shadow:0 28px 80px rgba(0,0,0,.48)!important;
  }

  /* Si descanso usa modal genérico, forzarlo al centro */
  .modal.rest-mode,
  .modal[data-kind="rest"]{
    align-items:center!important;
    justify-content:center!important;
    padding:
      calc(14px + env(safe-area-inset-top))
      14px
      calc(14px + env(safe-area-inset-bottom))!important;
  }
  .modal.rest-mode .modal-card,
  .modal[data-kind="rest"] .modal-card{
    width:min(100%,520px)!important;
    max-width:520px!important;
    max-height:calc(100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    border-radius:22px!important;
    border:1px solid rgba(255,255,255,.08)!important;
    overflow:auto!important;
  }

  /* Evita que el contenido quede debajo de la barra */
  .content{
    padding-bottom:calc(112px + env(safe-area-inset-bottom))!important;
  }
}

/* PRO V2.8.2 — interacción auditada */
.account-btn{border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:9px;padding:0;cursor:pointer;text-align:left}.account-btn:focus-visible{outline:2px solid #59a9ff;outline-offset:4px;border-radius:12px}.account-sheet{text-align:center;padding:10px 2px 4px}.account-avatar{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:linear-gradient(145deg,#72b4ff,#356ac4);font-weight:900;font-size:1.25rem}.account-sheet h2{margin:0 0 4px}.account-actions{justify-content:center;margin-top:18px}
@media(max-width:760px){.user-chip{display:flex!important;align-items:center!important}.account-btn .user-meta{display:none!important}.account-btn{padding:0!important;min-width:40px;min-height:40px;justify-content:center}.account-btn .avatar{margin:0!important}.mobile-bottom-nav{z-index:80!important}.mobile-drawer-backdrop{z-index:110!important}.sidebar{z-index:120!important}.modal{z-index:220!important}.mobile-menu,.account-btn,.mobile-bottom-nav button,.sidebar .nav button{touch-action:manipulation!important;pointer-events:auto!important}.modal.rest-mode{display:flex!important;align-items:center!important;justify-content:center!important}.modal.rest-mode .modal-card{margin:auto!important;min-height:0!important;height:auto!important;max-height:calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}.modal.rest-mode .modal-body{padding-bottom:18px!important}body.modal-open .mobile-bottom-nav,body.rest-open .mobile-bottom-nav,body.drawer-open .mobile-bottom-nav{display:none!important}}


/* ==========================================================
   RENOVAR TRAINING · PRO V2.9
   EXPERIENCIA DE ENTRENAMIENTO MÓVIL
   ========================================================== */

.block-mini-progress{
  height:5px;background:#102238;border-radius:99px;overflow:hidden;margin:-3px 0 12px;
}
.block-mini-progress i{display:block;height:100%;background:linear-gradient(90deg,#1681ff,#56b1ff);border-radius:99px}
.block-state.done{color:#71ddb0}
.exercise-quick-links{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.exercise-group{font-size:.72rem;color:#8299b1}
.exercise-set-progress{display:flex;align-items:center;gap:12px;margin:12px 0 8px;color:#8098b1;font-size:.75rem}
.exercise-set-progress>i{height:5px;flex:1;background:#0d2034;border-radius:99px;overflow:hidden}
.exercise-set-progress>i>b{display:block;height:100%;background:#23c583;border-radius:99px}
.set-number small,.set-field small{display:none}
.weight-input-wrap{position:relative}
.weight-input-wrap span{display:none}
.workout-preview{display:grid;place-items:center;padding:4px}
.workout-preview img{max-height:70vh;border-radius:16px;object-fit:contain}

@media(max-width:760px){
  /* Entrenamiento se comporta como app, no como formulario */
  .workout-wrap{max-width:none!important;width:100%!important;margin:0!important}
  .workout-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:12px!important;
    align-items:center!important;
    padding:14px 15px!important;
    border-radius:17px!important;
    background:linear-gradient(145deg,#142a45,#0d1c30)!important;
  }
  .workout-head .eyebrow{font-size:.58rem!important;line-height:1.2}
  .workout-head h1{font-size:1.24rem!important;margin:5px 0 2px!important}
  .workout-head p{font-size:.68rem!important;line-height:1.35}
  .workout-clock{
    min-width:76px!important;
    padding:9px 8px!important;
    border-radius:13px!important;
  }
  .workout-clock span{font-size:.53rem!important}
  .workout-clock b{font-size:1rem!important}
  .workout-progress{margin:9px 2px 14px!important;height:5px!important}

  .workout-items{gap:11px!important}
  .workout-block{
    padding:12px!important;
    border-radius:18px!important;
    margin:0 0 11px!important;
    background:linear-gradient(180deg,#13263f,#0e1d31)!important;
  }
  .workout-block-head{
    display:flex!important;
    flex-direction:row!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:10px!important;
    padding-bottom:9px!important;
    margin-bottom:8px!important;
  }
  .workout-block-head h2{font-size:1rem!important;margin:4px 0 0!important}
  .workout-block-head p{display:none}
  .workout-block-head .badge{font-size:.54rem!important}
  .block-state{
    flex:0 0 auto!important;
    font-size:.57rem!important;
    padding:6px 8px!important;
    border-radius:9px!important;
  }
  .block-mini-progress{margin:0 0 10px!important}

  .workout-exercise{
    padding:14px!important;
    border-radius:17px!important;
    background:#152942!important;
    border:1px solid rgba(114,166,225,.17)!important;
    box-shadow:none!important;
  }
  .workout-ex-title{
    display:flex!important;
    align-items:flex-start!important;
    gap:10px!important;
  }
  .workout-ex-main{min-width:0;flex:1}
  .exercise-kicker{font-size:.57rem!important}
  .workout-ex-title h2{
    font-size:1.32rem!important;
    line-height:1.08!important;
    margin:4px 0 7px!important;
  }
  .exercise-media-link{
    display:inline-flex!important;
    align-items:center;
    min-height:32px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#72b7ff!important;
    font-size:.76rem!important;
    font-weight:800!important;
  }
  button.exercise-media-link{cursor:pointer}
  .exercise-group{font-size:.65rem}
  .workout-ex-title>.exercise-timer{
    width:auto!important;min-height:34px!important;padding:7px 9px!important;
    flex:0 0 auto!important;font-size:.66rem!important
  }

  .target-strip{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    margin:11px 0!important;
  }
  .target-strip span{
    padding:6px 9px!important;
    font-size:.68rem!important;
    background:#10233a!important;
    border-color:#1d4267!important;
  }

  .coach-note{
    margin:8px 0!important;
    padding:10px 11px!important;
    border-radius:11px!important;
    font-size:.74rem!important;
    line-height:1.4!important;
  }
  .coach-note b{font-size:.57rem!important}
  .teacher-note{background:rgba(137,99,255,.08)!important;border-color:rgba(137,99,255,.18)!important}

  .exercise-set-progress{
    margin:11px 1px 8px!important;
    font-size:.64rem!important;
  }

  /* Cada serie es una fila compacta y táctil */
  .sets-table.compact-sets{
    border:0!important;
    overflow:visible!important;
    display:grid!important;
    gap:7px!important;
    background:transparent!important;
  }
  .compact-sets .sets-head{display:none!important}
  .compact-sets .sets-row{
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr) minmax(0,1fr) 92px!important;
    gap:7px!important;
    align-items:end!important;
    min-height:0!important;
    padding:9px!important;
    border:1px solid rgba(127,166,207,.13)!important;
    border-radius:13px!important;
    background:#0c1b2d!important;
  }
  .compact-sets .sets-row.current{
    border-color:rgba(77,158,255,.52)!important;
    background:#102642!important;
    box-shadow:0 0 0 1px rgba(77,158,255,.08)!important;
  }
  .compact-sets .sets-row.done{
    opacity:.76;
    border-color:rgba(45,196,132,.22)!important;
    background:rgba(20,62,56,.38)!important;
  }
  .set-number{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    min-height:48px!important;
  }
  .set-number small,.set-field small{
    display:block!important;
    color:#6f88a3!important;
    font-size:.51rem!important;
    text-transform:uppercase!important;
    letter-spacing:.06em!important;
    font-weight:800!important;
    margin:0 0 4px 2px!important;
  }
  .set-number b{font-size:1.15rem!important;line-height:1!important;margin-left:2px}
  .set-field{display:block!important;min-width:0!important}
  .compact-sets .set-input{
    height:44px!important;
    min-height:44px!important;
    padding:8px 9px!important;
    border-radius:10px!important;
    font-size:16px!important;
    text-align:center!important;
    background:#091827!important;
    border:1px solid #274866!important;
  }
  .weight-input-wrap span{
    display:none!important;
  }
  .compact-sets .set-done{
    width:100%!important;
    height:44px!important;
    min-width:0!important;
    min-height:44px!important;
    border-radius:10px!important;
    font-size:.66rem!important;
    font-weight:900!important;
    padding:0 8px!important;
    background:#15395f!important;
    border-color:#275b91!important;
    color:#88c3ff!important;
  }
  .compact-sets .set-done.done{
    background:#167b56!important;
    border-color:#249b70!important;
    color:#eafff6!important;
  }

  .student-note-label{
    margin-top:11px!important;
    font-size:.64rem!important;
  }
  .student-note-label .input{
    min-height:43px!important;
    margin-top:5px!important;
  }

  .workout-finish{
    margin:12px 0 0!important;
    padding:13px!important;
    border-radius:16px!important;
  }
  .workout-finish h3{font-size:.94rem!important}
  .workout-finish p{font-size:.67rem!important;line-height:1.35}
  .workout-finish .toolbar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .workout-finish .btn{width:100%!important}

  /* La barra de navegación no tapa campos ni acciones */
  body:not(.modal-open):not(.rest-open):not(.drawer-open) .mobile-bottom-nav{
    z-index:80!important;
  }
}

@media(max-width:390px){
  .compact-sets .sets-row{
    grid-template-columns:38px minmax(0,1fr) minmax(0,1fr) 82px!important;
    gap:5px!important;padding:7px!important;
  }
  .compact-sets .set-done{font-size:.6rem!important}
  .workout-ex-title h2{font-size:1.2rem!important}
}


/* ==========================================================
   RENOVAR TRAINING · PRO V2.10
   Guided workout + notifications + mobile fixes
   ========================================================== */

.toast{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:34px!important;
  transform:translateX(-50%)!important;
  z-index:99999!important;
  max-width:min(520px,calc(100vw - 28px))!important;
}
.notification-bell{position:relative;width:44px;height:44px;border:1px solid #1e3958;border-radius:13px;background:#0b1a2a;color:#9db7d2;font-size:22px;display:grid;place-items:center;cursor:pointer}
.notification-bell b{position:absolute;right:-4px;top:-5px;min-width:19px;height:19px;border-radius:20px;padding:0 5px;background:#2388ff;color:white;font-size:10px;line-height:19px}
.notification-count{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:120px;padding:15px;border-radius:18px;background:#102743;border:1px solid #1f4772}
.notification-count strong{font-size:32px}.notification-count span{color:#8ba3bd;font-size:12px}
.notification-list{display:grid;gap:10px}
.notification-card{width:100%;display:grid;grid-template-columns:46px 1fr 10px;gap:12px;align-items:center;text-align:left;padding:16px;border-radius:16px;border:1px solid #1b3857;background:#0b1a2b;color:inherit;cursor:pointer}
.notification-card.unread{background:#102744;border-color:#285b91}
.notification-card h3{margin:0 0 4px;font-size:15px}.notification-card p{margin:0 0 5px;color:#9bb0c6;font-size:13px}.notification-card small{color:#637d98}
.notification-card>i{width:8px;height:8px;border-radius:50%;background:#2f91ff}
.notification-type{width:42px;height:42px;border-radius:13px;background:#14345a;display:grid;place-items:center;color:#7dbbff;font-weight:900}
.notification-stat{color:inherit;text-align:left;cursor:pointer;font:inherit}
.student-summary-stats{grid-template-columns:repeat(4,1fr)!important}

/* Guided workout */
.workout-mode .mobile-bottom-nav{display:none!important}
.workout-mode .content{padding-bottom:32px!important}
.guided-workout{max-width:950px;margin:0 auto}
.guided-block{padding:18px;border:1px solid #1b3857;border-radius:22px;background:linear-gradient(180deg,#10233b,#0b192a);margin-bottom:18px}
.guided-block-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:15px}
.guided-block-head h2{margin:7px 0 2px}.guided-block-head p{margin:0;color:#829ab2}
.guided-block-meta{min-width:72px;text-align:center;padding:10px;border-radius:14px;background:#0a192a;border:1px solid #1d4166}
.guided-block-meta b{display:block;font-size:24px}.guided-block-meta span{font-size:11px;color:#7890a8}
.guided-round{padding:13px;border-radius:18px;background:#0a1828;border:1px solid #172f49;margin:11px 0}
.guided-round>header{display:flex;align-items:center;justify-content:space-between;padding:3px 3px 11px;border-bottom:1px solid #17304b}
.guided-round>header div{display:flex;gap:8px;align-items:center}.guided-round>header span{font-size:11px;font-weight:900;color:#7caee2;letter-spacing:.07em}.guided-round>header b{font-size:11px;color:#7c93aa}.guided-round>header>strong{font-size:12px;color:#8fa8c1}
.guided-round.complete{border-color:rgba(42,193,131,.28)}.guided-round.locked{opacity:.48}
.guided-exercises{display:grid;gap:8px;padding-top:10px}
.guided-exercise{display:grid;grid-template-columns:42px minmax(0,1fr) 84px;gap:11px;align-items:center;padding:11px;border-radius:14px;background:#0e2137;border:1px solid transparent;transition:.2s}
.guided-exercise.next{border-color:#308cef;background:#112b49;box-shadow:0 0 0 1px rgba(48,140,239,.12)}
.guided-exercise.done{background:rgba(24,75,62,.42);border-color:rgba(42,193,131,.22)}
.guided-order{width:36px;height:36px;border-radius:11px;background:#142e4b;display:grid;place-items:center;color:#8bb9e7;font-weight:900;font-size:12px}
.guided-exercise.done .guided-order{background:#176a50;color:#eafff6}
.guided-name{font-size:15px;font-weight:900;color:#eff6ff}
.guided-prescription{display:flex;align-items:center;gap:8px;margin-top:3px}.guided-prescription strong{font-size:14px;color:#78b8ff}.guided-prescription span{font-size:13px;color:#b8c7d7;font-weight:700}
.guided-note{font-size:11px;color:#8ba1b8;margin-top:4px}
.guided-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.guided-actions button{appearance:none;border:0;background:transparent;padding:0;color:#6eb4ff;font-size:11px;font-weight:800;cursor:pointer}
.guided-actions .tech-btn{color:#8ca4bc}
.round-done{height:43px;border-radius:12px;border:1px solid #28619a;background:#16426e;color:#9ed0ff;font-size:12px;font-weight:900;cursor:pointer}
.round-done.done{background:#197557;border-color:#269a73;color:#ecfff7}
.round-rest-preview{text-align:center;padding:10px 0 1px;color:#748ba2;font-size:11px}.round-rest-preview b{color:#a7bdd3}
.guided-rest>span{font-size:11px;letter-spacing:.15em;color:#70adf0;font-weight:900}
.demo-viewer{width:min(760px,90vw);height:min(68vh,620px);display:grid;place-items:center;background:#050d16;border-radius:16px;overflow:hidden}
.demo-viewer img,.demo-viewer video,.demo-viewer iframe{width:100%;height:100%;object-fit:contain;border:0;background:#000}
.technique-modal span{font-size:11px;color:#6eb4ff;font-weight:900;letter-spacing:.08em}.technique-modal p{font-size:16px;line-height:1.55}
.compact-preview .exercise-prescription{display:flex;gap:8px;flex-wrap:wrap}
.history-detail-summary{padding:4px 0 16px}.history-detail-summary h2{margin:8px 0 3px}.history-detail-summary p{color:#829ab2}.history-detail-summary>strong{font-size:24px}
.history-detail-block{padding:13px;border-radius:15px;background:#0b1b2d;border:1px solid #193752;margin:10px 0}
.history-detail-round{padding:10px 0;border-top:1px solid #17304b}.history-detail-round>strong{display:block;color:#72b6fc;font-size:12px;margin-bottom:7px}
.history-detail-exercise{display:flex;gap:9px;align-items:center;padding:5px 0}.history-detail-exercise>span{color:#647b92}.history-detail-exercise>span.ok{color:#45d39a}.history-detail-exercise b,.history-detail-exercise small{display:block}.history-detail-exercise small{color:#7f96ad;margin-top:2px}

@media(max-width:760px){
 .toast{bottom:calc(92px + env(safe-area-inset-bottom))!important;font-size:13px!important;padding:12px 15px!important}
 body.workout-mode .toast{bottom:calc(18px + env(safe-area-inset-bottom))!important}
 .notification-bell{width:40px;height:40px;border-radius:12px}
 .student-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .student-summary-stats .stat{min-height:105px!important}
 .guided-workout{margin:-3px!important}
 .guided-block{padding:11px!important;border-radius:18px!important}
 .guided-block-head{margin-bottom:10px!important}.guided-block-head h2{font-size:18px!important}
 .guided-block-meta{min-width:58px!important;padding:7px!important}.guided-block-meta b{font-size:19px!important}
 .guided-round{padding:9px!important;margin:8px 0!important;border-radius:15px!important}
 .guided-round>header{padding-bottom:8px!important}
 .guided-exercise{grid-template-columns:34px minmax(0,1fr) 68px!important;gap:8px!important;padding:9px!important;border-radius:12px!important}
 .guided-order{width:31px!important;height:31px!important;border-radius:9px!important;font-size:10px!important}
 .guided-name{font-size:14px!important;line-height:1.2!important}
 .guided-prescription strong{font-size:13px!important}.guided-prescription span{font-size:12px!important}
 .guided-actions{gap:9px!important;margin-top:5px!important}.guided-actions button{font-size:10px!important}
 .round-done{height:39px!important;padding:0 7px!important;font-size:10px!important}
 .round-rest-preview{padding-top:7px!important}
 .workout-finish{margin-bottom:env(safe-area-inset-bottom)!important}
 .demo-viewer{width:100%;height:min(64vh,520px)}
 .notifications-page .hero-panel{align-items:center}
}

@media(max-width:390px){
 .guided-exercise{grid-template-columns:30px minmax(0,1fr) 60px!important;gap:6px!important;padding:8px 7px!important}
 .guided-order{width:28px!important;height:28px!important}
 .round-done{font-size:9px!important}
 .guided-actions{gap:7px!important}
}
