/* ===== RESET & BASE ===== */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:15px;background:#0a1628;color:#e8edf5}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select{font-family:inherit;font-size:14px;outline:none}
select{cursor:pointer}

/* ===== LAYOUT ===== */
#app{display:flex;flex-direction:column;height:100vh;max-width:1024px;margin:0 auto}
#header{background:#0d1e38;border-bottom:1px solid #1e3358;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
#content{flex:1;overflow-y:auto;padding:14px 14px 80px;-webkit-overflow-scrolling:touch}
#nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:1024px;background:#0d1e38;border-top:1px solid #1e3358;display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom)}

/* ===== HEADER ===== */
.hdr-left .hdr-title{font-size:17px;font-weight:600;color:#e8edf5}
.hdr-left .hdr-sub{font-size:11px;color:#6b85a8;margin-top:1px}
.session-toggle{display:flex;background:#0a1628;border-radius:8px;padding:2px;border:1px solid #1e3358}
.sess-btn{padding:6px 16px;font-size:12px;font-weight:600;border-radius:6px;color:#6b85a8;transition:.15s}
.sess-btn.active{background:#1a56db;color:#fff}

/* ===== NAV ===== */
.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 4px 8px;gap:3px;color:#4a6490;font-size:10px;font-weight:500;transition:.15s}
.nav-btn.active{color:#4d9fff}
.nav-btn svg{width:22px;height:22px}

/* ===== CARDS ===== */
.card{background:#0d1e38;border:1px solid #1e3358;border-radius:12px;padding:14px;margin-bottom:10px}
.card-title{font-size:12px;font-weight:600;color:#4d9fff;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}

/* ===== DAY TABS ===== */
.day-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px;scrollbar-width:none}
.day-tabs::-webkit-scrollbar{display:none}
.day-tab{flex-shrink:0;padding:7px 14px;font-size:12px;font-weight:600;border-radius:8px;background:#0d1e38;border:1px solid #1e3358;color:#6b85a8;transition:.15s}
.day-tab.active{background:#1a56db;color:#fff;border-color:#1a56db}
.day-tab.today-marker{border-color:#4d9fff;color:#4d9fff}
.day-tab.today-marker.active{background:#1a56db;border-color:#1a56db;color:#fff}

/* ===== UPLOAD ===== */
.upload-zone{border:1.5px dashed #1e3358;border-radius:12px;padding:24px 16px;text-align:center;cursor:pointer;color:#6b85a8;font-size:13px;background:#080f1f;transition:.2s}
.upload-zone:hover{border-color:#4d9fff;background:#0a1628}
.upload-icon{font-size:28px;margin-bottom:8px}
.upload-title{font-size:14px;font-weight:600;color:#a8c0e0;margin-bottom:4px}

/* ===== BLOCK BARS ===== */
.block-section{margin-bottom:8px}
.block-header{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-radius:8px 8px 0 0;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.block-header.aquec{background:#2a1f00;color:#f0a500;border-left:3px solid #f0a500}
.block-header.tarefa{background:#001a36;color:#4d9fff;border-left:3px solid #4d9fff}
.block-header.rec{background:#001a20;color:#2ecc71;border-left:3px solid #2ecc71}
.block-body{border:1px solid #1e3358;border-top:none;border-radius:0 0 8px 8px;overflow:hidden}
.ex-row{display:grid;grid-template-columns:52px 1fr auto;gap:8px;align-items:start;padding:9px 12px;border-bottom:1px solid #111d33;font-size:13px}
.ex-row:last-child{border-bottom:none}
.ex-row.has-target{background:#080f1f}

/* ===== ZONE BADGES ===== */
.zbadge{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px;white-space:nowrap}
.z-TT{background:#1e2a3a;color:#8ba3c4}
.z-A1{background:#001a36;color:#4d9fff}
.z-A2{background:#001a20;color:#2ecc71}
.z-A3{background:#001f10;color:#27ae60}
.z-MAER{background:#1a0f2e;color:#9b59b6}
.z-LAN{background:#2a1700;color:#e67e22}
.z-MANA{background:#2a0000;color:#e74c3c}
.z-VEL{background:#2a001a;color:#e91e8c}
.z-PML{background:#1a0a00;color:#d35400}
.z-TL{background:#1a1a1a;color:#95a5a6}

/* ===== STOPWATCH ===== */
.sw-display{font-size:52px;font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:.04em;text-align:center;color:#4d9fff;padding:16px 0 8px;font-family:'Courier New',monospace}
.sw-info{text-align:center;font-size:12px;color:#4a6490;margin-bottom:16px}
.sw-controls{display:flex;justify-content:center;gap:10px;margin-bottom:16px}
.sw-btn{padding:12px 24px;font-size:14px;font-weight:600;border-radius:10px;transition:.15s}
.sw-btn.start{background:#1a56db;color:#fff}
.sw-btn.start:active{background:#1445b0}
.sw-btn.split{background:#1e3358;color:#a8c0e0;border:1px solid #2a4878}
.sw-btn.split:disabled{opacity:.35;cursor:not-allowed}
.sw-btn.reset{background:#2a0808;color:#e74c3c;border:1px solid #4a1818}
.split-row{display:grid;grid-template-columns:32px 80px 80px 1fr;gap:6px;align-items:center;padding:7px 10px;border-bottom:1px solid #111d33;font-size:12px;font-variant-numeric:tabular-nums}
.split-row:last-child{border-bottom:none}
.split-num{color:#4a6490}
.lap-fast{color:#2ecc71}
.lap-slow{color:#e74c3c}
.target-compare{font-size:11px}
.tc-good{color:#2ecc71}
.tc-over{color:#e74c3c}

/* ===== ATHLETES ===== */
.athlete-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #111d33}
.athlete-row:last-child{border-bottom:none}
.athlete-avatar{width:36px;height:36px;border-radius:50%;background:#1a56db22;border:1px solid #1a56db44;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#4d9fff;flex-shrink:0}

/* ===== ZONES TAB ===== */
.zone-row{display:grid;grid-template-columns:62px 70px 70px 1fr 32px;gap:6px;align-items:center;padding:8px 10px;border-bottom:1px solid #111d33;font-size:13px}
.zone-row:last-child{border-bottom:none}
.prog-bar{height:6px;border-radius:3px;background:#1e3358;overflow:hidden}
.prog-fill{height:100%;border-radius:3px;transition:width .5s}
.prog-fill.ok{background:#2ecc71}
.prog-fill.warn{background:#f0a500}
.prog-fill.over{background:#e74c3c}
.zone-metric{background:#080f1f;border:1px solid #1e3358;border-radius:10px;padding:12px;text-align:center}
.zone-metric .val{font-size:22px;font-weight:600;color:#4d9fff}
.zone-metric .lbl{font-size:11px;color:#4a6490;margin-bottom:4px}

/* ===== RESULTS ===== */
.result-card{background:#080f1f;border:1px solid #1e3358;border-radius:10px;padding:12px;margin-bottom:8px}
.result-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.result-name{font-size:14px;font-weight:600;color:#a8c0e0}
.result-meta{font-size:11px;color:#4a6490;margin-top:2px}

/* ===== FORM ELEMENTS ===== */
.form-row{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.inp{background:#080f1f;border:1px solid #1e3358;border-radius:8px;padding:9px 12px;color:#e8edf5;width:100%;transition:.15s}
.inp:focus{border-color:#4d9fff}
.sel{background:#080f1f;border:1px solid #1e3358;border-radius:8px;padding:9px 12px;color:#e8edf5;width:100%;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234a6490' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.sel:focus{border-color:#4d9fff}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;font-size:13px;font-weight:600;border-radius:9px;transition:.15s}
.btn-primary{background:#1a56db;color:#fff}
.btn-primary:active{background:#1445b0}
.btn-secondary{background:#1e3358;color:#a8c0e0;border:1px solid #2a4878}
.btn-secondary:active{background:#253d6a}
.btn-danger{background:#2a0808;color:#e74c3c;border:1px solid #4a1818}
.btn-danger:active{background:#3a0e0e}
.btn-success{background:#0a2a12;color:#2ecc71;border:1px solid #1a5a2a}
.btn-success:active{background:#0f3a1a}
.btn-sm{padding:6px 12px;font-size:12px}

/* ===== MISC ===== */
.empty-state{text-align:center;padding:32px 16px;color:#4a6490;font-size:13px}
.empty-state svg{width:40px;height:40px;margin:0 auto 10px;display:block;opacity:.4}
.info-bar{background:#080f1f;border:1px solid #1e3358;border-radius:8px;padding:10px 14px;font-size:12px;color:#6b85a8;margin-bottom:10px}
.tag{display:inline-block;font-size:10px;padding:2px 8px;border-radius:99px;background:#111d33;color:#6b85a8;margin-right:4px}
.divider{height:1px;background:#111d33;margin:10px 0}
.section-label{font-size:11px;font-weight:600;color:#4a6490;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px}
.pill-ok{background:#002a10;color:#2ecc71;font-size:11px;padding:2px 8px;border-radius:99px;font-weight:600}
.pill-warn{background:#2a1500;color:#f0a500;font-size:11px;padding:2px 8px;border-radius:99px;font-weight:600}

/* ===== MODAL ===== */
.modal-overlay{position:fixed;inset:0;background:#000000cc;z-index:200;display:flex;align-items:flex-end;justify-content:center}
.modal-box{background:#0d1e38;border:1px solid #1e3358;border-radius:16px 16px 0 0;width:100%;max-width:1024px;padding:20px 16px 32px;animation:slideUp .25s ease}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.modal-title{font-size:16px;font-weight:700;margin-bottom:16px;color:#a8c0e0}
.modal-btns{display:flex;flex-direction:column;gap:8px;margin-top:16px}

/* ===== TOAST ===== */
#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#1a56db;color:#fff;padding:10px 20px;border-radius:99px;font-size:13px;font-weight:600;opacity:0;transition:opacity .3s;z-index:300;white-space:nowrap}
#toast.show{opacity:1}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#1e3358;border-radius:2px}

/* ===== SELECTED EXERCISE / LIVE TRAINING ===== */
.selected-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#08182d;border:1px solid #25456f;border-left:4px solid #4d9fff;border-radius:12px;padding:10px 12px;margin-bottom:12px}
.selected-banner.muted{border-left-color:#4a6490;color:#6b85a8;display:block}
.selected-kicker{font-size:10px;font-weight:700;color:#4d9fff;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}
.selected-main{font-size:13px;font-weight:700;color:#d8e7ff;line-height:1.35}
.selected-meta{font-size:11px;color:#6b85a8;margin-top:2px;line-height:1.35}
.ex-clickable{width:100%;border:none;background:transparent;text-align:left;color:inherit;cursor:pointer}
.ex-clickable:hover{background:#0b1b31}
.ex-clickable.selected{background:#102b4d;box-shadow:inset 3px 0 0 #4d9fff}
.ex-clickable.locked{box-shadow:inset 3px 0 0 #2ecc71}
.live-layout{display:grid;grid-template-columns:minmax(360px,42%) minmax(460px,58%);gap:12px;align-items:start}
.live-left,.live-right{min-width:0}
.live-left{position:sticky;top:0;align-self:start;max-height:calc(100vh - 122px);overflow-y:auto;padding-right:2px}
.live-left-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:13px;color:#a8c0e0}
.live-left-head span:last-child{color:#4d9fff;font-weight:700}
.live-panel .card{margin-bottom:10px}
.live-ex-card{background:linear-gradient(135deg,#09203b 0%,#0d315c 60%,#103c70 100%);border:1px solid #245487;border-radius:12px;padding:14px;margin-bottom:10px;color:#fff}
.live-ex-title{font-size:15px;font-weight:800;color:#fff;margin-bottom:4px}
.live-ex-desc{font-size:14px;color:#d8e7ff;line-height:1.4;margin-bottom:5px}
.live-ex-meta{font-size:11px;color:#9fbde0;line-height:1.35}
.athlete-chips{display:flex;gap:8px;flex-wrap:wrap}
.ath-chip{display:inline-flex;align-items:center;gap:6px;background:#08182d;border:1px solid #1e3358;border-radius:999px;padding:6px 9px;color:#a8c0e0;font-size:12px;font-weight:700;max-width:100%}
.ath-chip.active{background:#1a56db;color:#fff;border-color:#4d9fff}
.ath-chip-avatar{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#0d1e38;border:1px solid #2a4878;color:#4d9fff;font-size:10px;flex-shrink:0}
.ath-chip.active .ath-chip-avatar{background:#fff;color:#1a56db;border-color:#fff}
.ath-chip-count{min-width:18px;height:18px;border-radius:99px;background:#0d1e38;color:#4d9fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px;padding:0 5px}
.live-controls-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.split-distance{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b85a8;font-weight:700}
.dist-btn{border:1px solid #1e3358;background:#08182d;color:#a8c0e0;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:800}
.dist-btn.active{background:#1a56db;color:#fff;border-color:#4d9fff}
.dist-btn:disabled{opacity:.55;cursor:not-allowed}
.locked-note{font-size:10px;color:#f0a500;text-transform:uppercase;letter-spacing:.06em}
.next-split{font-size:12px;color:#6b85a8}
.next-split strong{color:#f0a500}
.live-controls{flex-wrap:wrap}
.finish-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:10px}
.live-split-groups{display:flex;flex-direction:column;gap:10px}
.live-split-group{background:#08182d;border:1px solid #1e3358;border-radius:10px;overflow:hidden}
.live-split-title{display:flex;justify-content:space-between;align-items:center;background:#0b2039;color:#a8c0e0;font-weight:800;font-size:12px;padding:8px 10px}
.live-split-title span{font-weight:600;color:#6b85a8;font-size:11px}
.live-split-row{display:grid;grid-template-columns:1.15fr 80px 80px 76px 26px;gap:6px;align-items:center;padding:7px 10px;border-top:1px solid #111d33;font-size:12px;font-variant-numeric:tabular-nums}
.live-split-row strong{color:#d8e7ff;text-align:right}
.live-split-row span:nth-child(1){color:#6b85a8;font-weight:700}
.live-split-row span:nth-child(3),.live-split-row span:nth-child(4){text-align:right;color:#6b85a8}
.live-split-row button{color:#e74c3c;font-size:12px;padding:2px}
.btn:disabled,.sw-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}
@media (max-width: 820px){
  .live-layout{grid-template-columns:1fr}
  .live-left{position:static;max-height:none;overflow:visible;padding-right:0}
  .live-split-row{grid-template-columns:1fr 74px 74px 60px 24px}
}

/* ===== PLAN MANAGEMENT ===== */
.plan-summary{display:grid;grid-template-columns:1.4fr repeat(3,.7fr);gap:8px;background:#08182d;border:1px solid #1e3358;border-radius:12px;padding:10px}
.plan-summary div{min-width:0;border-right:1px solid #1e3358;padding-right:8px}
.plan-summary div:last-child{border-right:none;padding-right:0}
.plan-summary span{display:block;font-size:10px;font-weight:800;color:#4a6490;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.plan-summary strong{display:block;font-size:13px;color:#d8e7ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width: 720px){.plan-summary{grid-template-columns:1fr 1fr}.plan-summary div{border-right:none}}

/* ===== PHASE 3: SPLIT INTELLIGENCE ===== */
.structure-pill{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;padding:7px 8px;border-radius:9px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.13);font-size:11px;color:#d8e7ff;line-height:1.35}
.structure-pill span{min-width:0}
.structure-pill .btn{flex-shrink:0}
.live-split-head{display:grid;grid-template-columns:1.15fr 80px 80px 76px 26px;gap:6px;padding:6px 10px;border-top:1px solid #111d33;background:#061323;color:#4a6490;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.live-split-head span:nth-child(2),.live-split-head span:nth-child(3),.live-split-head span:nth-child(4){text-align:right}
@media (max-width:820px){.live-split-head{grid-template-columns:1fr 74px 74px 60px 24px}.structure-pill{align-items:flex-start;flex-direction:column}}
