/* TrailLab v225 · Sesiones en directo */
#tlLiveSession{position:fixed;inset:0;z-index:12000;display:none;background:#07110a;color:#eef8eb;font-family:var(--tl-font-body,Archivo,Saira,sans-serif)}
#tlLiveSession.open{display:block}
body.tl-live-open{overflow:hidden}
.tll-shell{min-height:100%;height:100%;display:flex;flex-direction:column;background:radial-gradient(900px 500px at 85% -10%,rgba(166,232,44,.14),transparent 62%),linear-gradient(150deg,#0b1a0f,#050b07)}
.tll-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(14px + env(safe-area-inset-top)) clamp(16px,3vw,34px) 14px;border-bottom:1px solid rgba(166,232,44,.16);background:rgba(5,12,7,.82);backdrop-filter:blur(16px)}
.tll-brand{display:flex;align-items:center;gap:12px;min-width:0}
.tll-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(166,232,44,.35);border-radius:12px;background:rgba(166,232,44,.1);color:#a6e82c;font-family:var(--tl-font-display,Saira Condensed,sans-serif);font-weight:900}
.tll-brand-copy{min-width:0}
.tll-brand-copy small{display:block;color:#8fa58c;font-size:.62rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.tll-brand-copy b{display:block;overflow:hidden;color:#f0f7ed;font-size:.95rem;text-overflow:ellipsis;white-space:nowrap}
.tll-network{display:inline-flex;align-items:center;gap:8px;color:#9fb29b;font-size:.72rem;font-weight:800}
.tll-network i{width:8px;height:8px;border-radius:50%;background:#31d6b3;box-shadow:0 0 0 4px rgba(49,214,179,.12)}
.tll-network.offline i{background:#f2c14e;box-shadow:0 0 0 4px rgba(242,193,78,.12)}
.tll-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(420px,1.25fr);gap:clamp(16px,2.5vw,30px);width:min(1180px,100%);margin:0 auto;padding:clamp(18px,3vw,36px);overflow:auto}
.tll-overview{display:flex;flex-direction:column;gap:16px}
.tll-kicker{color:#a6e82c;font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.tll-title{margin:5px 0 0;color:#f4faef;font-family:var(--tl-font-display,Saira Condensed,sans-serif);font-size:clamp(2rem,4vw,3.25rem);line-height:.95}
.tll-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.tll-meta span{padding:6px 9px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.035);color:#a8baa5;font-size:.68rem;font-weight:750}
.tll-clock-card{position:relative;overflow:hidden;padding:24px;border:1px solid rgba(166,232,44,.18);border-radius:20px;background:linear-gradient(145deg,rgba(166,232,44,.08),rgba(255,255,255,.025))}
.tll-clock-card::after{content:"";position:absolute;right:-50px;bottom:-70px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(166,232,44,.16),transparent 68%)}
.tll-clock-label{color:#8fa58c;font-size:.64rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.tll-clock{position:relative;z-index:1;margin-top:5px;color:#f6fceb;font-family:var(--tl-font-display,Saira Condensed,sans-serif);font-size:clamp(3.4rem,8vw,6rem);font-variant-numeric:tabular-nums;line-height:1}
.tll-progress{margin-top:18px}
.tll-progress-head{display:flex;justify-content:space-between;color:#9fb29b;font-size:.68rem;font-weight:800}
.tll-progress-track{height:7px;margin-top:8px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
.tll-progress-track i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#31d6b3,#a6e82c);transition:width .25s ease}
.tll-zone{padding:18px;border:1px solid color-mix(in srgb,var(--zone) 35%,transparent);border-radius:18px;background:color-mix(in srgb,var(--zone) 10%,transparent)}
.tll-zone-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tll-zone-id{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--zone);color:#07110a;font-weight:950}
.tll-zone-copy{flex:1}
.tll-zone-copy small{display:block;color:#9fb29b;font-size:.62rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.tll-zone-copy b{display:block;margin-top:3px;color:#f3f8f0;font-size:1rem}
.tll-zone p{margin:10px 0 0;color:#a9b9a5;font-size:.76rem;line-height:1.45}
.tll-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.tll-btn{min-height:46px;padding:11px 15px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.035);color:#eef7ea;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer}
.tll-btn:hover{border-color:rgba(166,232,44,.5)}
.tll-btn.primary{border-color:#a6e82c;background:#a6e82c;color:#0b150d}
.tll-btn.finish{border-color:rgba(242,193,78,.45);background:rgba(242,193,78,.1);color:#f2c14e}
.tll-btn.quiet{color:#91a28e}
.tll-steps-panel{min-width:0;padding:clamp(18px,3vw,28px);border:1px solid rgba(255,255,255,.09);border-radius:22px;background:rgba(255,255,255,.025)}
.tll-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.tll-panel-head h2{margin:0;color:#f3f8f0;font-family:var(--tl-font-display,Saira Condensed,sans-serif);font-size:1.7rem}
.tll-panel-head span{color:#879985;font-size:.7rem;font-weight:800}
.tll-step-list{display:grid;gap:9px}
.tll-step{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.025);color:#e9f3e5;text-align:left;cursor:pointer;transition:.18s ease}
.tll-step:hover{border-color:rgba(166,232,44,.32);transform:translateY(-1px)}
.tll-step.active{border-color:var(--step-color,#a6e82c);background:color-mix(in srgb,var(--step-color,#a6e82c) 9%,transparent)}
.tll-step.done{opacity:.58}
.tll-step-no{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.06);color:#a6e82c;font-weight:900}
.tll-step.done .tll-step-no{background:#31d6b3;color:#07110a}
.tll-step-copy{min-width:0}
.tll-step-copy b{display:block;color:inherit;font-size:.82rem;line-height:1.38}
.tll-step-copy small{display:block;margin-top:4px;color:#859782;font-size:.65rem}
.tll-step-time{color:#a6b6a2;font-size:.68rem;font-variant-numeric:tabular-nums}
.tll-current-card{margin-top:14px;padding:15px;border:1px solid rgba(166,232,44,.16);border-radius:15px;background:rgba(166,232,44,.045)}
.tll-current-card small{color:#839781;font-size:.61rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.tll-current-card b{display:block;margin-top:5px;color:#f1f8ed;font-size:.85rem;line-height:1.45}
.tll-current-time{margin-top:10px;color:#a6e82c;font-family:var(--tl-font-display,Saira Condensed,sans-serif);font-size:1.55rem;font-variant-numeric:tabular-nums}
.tll-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding:14px clamp(16px,3vw,34px) calc(14px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.07);background:rgba(5,12,7,.86);backdrop-filter:blur(14px)}
.tll-bottom button{border:0;background:transparent;color:#859782;font:inherit;font-size:.7rem;font-weight:800;cursor:pointer}
.tll-bottom button:hover{color:#f2c14e}
.tll-finish{width:min(680px,calc(100% - 28px));margin:auto;padding:24px;border:1px solid rgba(166,232,44,.18);border-radius:22px;background:#0d1810;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.tll-finish-head small{color:#a6e82c;font-size:.65rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.tll-finish-head h2{margin:6px 0 4px;color:#f2f8ef;font-family:var(--tl-font-display,Saira Condensed,sans-serif);font-size:2rem}
.tll-finish-head p{margin:0 0 18px;color:#90a28d;font-size:.78rem}
.tll-finish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tll-field{display:grid;gap:6px}
.tll-field.full{grid-column:1/-1}
.tll-field label{color:#91a38e;font-size:.68rem;font-weight:800}
.tll-field input,.tll-field textarea,.tll-field select{width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:#07100a;color:#eef6ea;font:inherit;box-sizing:border-box}
.tll-field textarea{min-height:90px;resize:vertical}
.tll-rpe{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}
.tll-rpe button{min-height:34px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.03);color:#a7b6a3;font:inherit;font-size:.68rem;font-weight:850;cursor:pointer}
.tll-rpe button.active{border-color:#a6e82c;background:rgba(166,232,44,.15);color:#a6e82c}
.tll-finish-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.tll-resume{position:fixed;z-index:11000;right:18px;bottom:18px;display:none;align-items:center;gap:12px;max-width:min(420px,calc(100% - 36px));padding:12px 14px;border:1px solid rgba(166,232,44,.28);border-radius:15px;background:rgba(8,22,12,.94);box-shadow:0 18px 50px rgba(0,0,0,.35);backdrop-filter:blur(14px)}
.tll-resume.show{display:flex}
.tll-resume-pulse{width:10px;height:10px;border-radius:50%;background:#a6e82c;box-shadow:0 0 0 0 rgba(166,232,44,.45);animation:tllPulse 1.8s infinite}
.tll-resume-copy{min-width:0;flex:1}
.tll-resume-copy b,.tll-resume-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tll-resume-copy b{color:#eef7ea;font-size:.76rem}.tll-resume-copy span{margin-top:2px;color:#8fa18c;font-size:.64rem}
.tll-resume button{padding:8px 10px;border:1px solid rgba(166,232,44,.35);border-radius:9px;background:rgba(166,232,44,.1);color:#a6e82c;font:inherit;font-size:.68rem;font-weight:850;cursor:pointer}
.cal-chip.tll-active-chip{outline:1px solid #a6e82c;box-shadow:0 0 0 3px rgba(166,232,44,.1)}
.cal-chip.tll-active-chip::after{content:"EN CURSO";display:inline-block;margin-left:5px;color:#a6e82c;font-size:.52rem;font-weight:950;letter-spacing:.08em}
#schedLiveStart{background:#a6e82c;color:#102007;border-color:#a6e82c}
@keyframes tllPulse{70%{box-shadow:0 0 0 10px rgba(166,232,44,0)}100%{box-shadow:0 0 0 0 rgba(166,232,44,0)}}
@media(max-width:780px){
  #tlLiveSession{overflow:auto}
  .tll-shell{height:auto;min-height:100%}
  .tll-topbar{position:sticky;top:0;z-index:4}
  .tll-layout{grid-template-columns:1fr;padding:16px 14px 110px;overflow:visible}
  .tll-overview{display:contents}
  .tll-session-head{order:0}.tll-clock-card{order:1}.tll-zone{order:3}.tll-controls{order:4}.tll-steps-panel{order:2}
  .tll-clock{font-size:4.2rem}
  .tll-steps-panel{padding:16px;border-radius:18px}
  .tll-bottom{position:fixed;left:0;right:0;bottom:0;z-index:5}
  .tll-finish{margin:14px auto 100px;padding:18px}
  .tll-finish-grid{grid-template-columns:1fr}.tll-field.full{grid-column:auto}
  .tll-rpe{grid-template-columns:repeat(5,1fr)}
}
.tll-topbar-end{display:flex;align-items:center;gap:12px;flex-shrink:0}
