/* ══ SIDEBAR ══ */
.sidebar{width:var(--sidebar-w);min-height:100vh;background:var(--bg1);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:100}
.sidebar-logo{padding:1.375rem 1.125rem 1rem;border-bottom:1px solid var(--border)}
.logo{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:23px;letter-spacing:.07em;text-transform:uppercase;line-height:1}
.logo span{color:var(--accent);text-shadow:var(--glow-accent)}
.logo-sub{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--txt3);margin-top:4px}
.sidebar-nav{flex:1;padding:.875rem .625rem;overflow-y:auto}
.nav-group-label{font-size:8.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--txt3);padding:.625rem .5rem .3rem;margin-top:.625rem}
.nav-group-label:first-child{margin-top:0}
.stab{display:flex;align-items:center;gap:9px;padding:7.5px 10px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--txt2);font-family:'Barlow',sans-serif;font-weight:500;font-size:12.5px;cursor:pointer;transition:all .15s;width:100%;text-align:left;position:relative}
.stab:hover{color:var(--txt);background:var(--bg2);border-color:var(--border)}
.stab.active{background:rgba(255,61,0,.1);color:var(--accent2);border-color:rgba(255,61,0,.2);box-shadow:inset 3px 0 0 var(--accent)}
.stab-icon{width:16px;text-align:center;font-size:14px;flex-shrink:0}
.stab-badge{margin-left:auto;font-size:8px;font-weight:700;letter-spacing:.08em;padding:2px 7px;border-radius:20px;background:rgba(255,61,0,.2);color:var(--accent2);border:1px solid rgba(255,61,0,.2)}
.sidebar-footer{padding:.875rem 1rem;border-top:1px solid var(--border)}
.api-key-wrap{margin-bottom:.625rem}
.api-key-label{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--txt3);display:flex;align-items:center;gap:5px;margin-bottom:4px}
.api-key-status{width:6px;height:6px;border-radius:50%;background:var(--red);display:inline-block}
.api-key-status.ok{background:var(--green)}
.api-key-input-wrap{position:relative}
.api-key-input{width:100%;background:var(--bg2);border:1px solid var(--border);border-radius:3px;padding:6px 28px 6px 8px;color:var(--txt);font-family:monospace;font-size:10px;transition:border-color .15s}
.api-key-input:focus{outline:none;border-color:var(--accent)}
.api-key-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--txt3);cursor:pointer;font-size:11px;padding:2px}
.api-key-eye:hover{color:var(--txt2)}
.api-save-btn{width:100%;padding:5px;background:var(--bg3);border:1px solid var(--border);border-radius:3px;color:var(--txt2);font-size:10px;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .15s;margin-top:4px}
.api-save-btn:hover{border-color:var(--accent);color:var(--accent2)}
.api-save-btn.saved{background:rgba(45,206,110,.1);border-color:rgba(45,206,110,.3);color:var(--green)}

/* ══ MAIN CONTENT AREA ══ */
.main-content{margin-left:var(--sidebar-w);flex:1;min-height:100vh;display:flex;flex-direction:column}

/* ══ PAGES — transitions handled in animations.css ══ */

/* ── RESPONSIVE ── */
@media(max-width:1100px){.metrics-row{grid-template-columns:repeat(3,1fr)}.stations-g{grid-template-columns:repeat(2,1fr)}.charts-2{grid-template-columns:1fr}.days-grid{grid-template-columns:1fr}.plan-config{grid-template-columns:1fr 1fr 1fr;row-gap:12px}.race-hero{grid-template-columns:auto 1fr}.goals-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{width:60px}.sidebar .stab span,.sidebar .logo-sub,.sidebar .nav-group-label,.sidebar .api-key-wrap,.sidebar .api-save-btn,.sidebar .stab-badge,.sidebar .user-email,.sidebar .user-logout{display:none}.sidebar .logo{font-size:14px}.main-content{margin-left:60px}.stab{justify-content:center;padding:10px}.stab-icon{width:auto}}
