@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root,[data-vertice-theme="zenite"]{
 --bg:#08131F;--sidebar:#0D2032;--surface:#13263A;--panel:#1B3148;--raised:#26445D;--border:#35536E;--line-bright:#446784;
 --text:#F4FAFF;--text-subtle:#D8EAF4;--muted:#B2CBDD;--muted-deep:#8EAFC5;
 --accent:#52E4F6;--accent-hover:#89F6FF;--on-accent:#09202D;--accent-bg:#20505A;
 --sport-run:#52E4F6;--sport-run-bg:#1B5260;--sport-bike:#9DB9FF;--sport-bike-bg:#263F6B;--sport-swim:#7AEBB8;--sport-swim-bg:#1D554B;
 --danger:#FFB2B2;--danger-bg:#482936;--hero-a:#1D5071;--hero-b:#112D4B;--glow:#52E4F635;
}
html,body {background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif}
h1,h2,h3,.brand,.login-brand,.approval-brand{font-family:'Outfit','DM Sans',sans-serif}
.sidebar {background:linear-gradient(176deg,var(--sidebar),var(--bg) 95%)!important;border-color:var(--border)}
body,.shell,.main-area {background:var(--bg)!important;color:var(--text)!important}
.topbar{background:var(--surface)!important;border-color:var(--border)!important}
.brand {font-weight:900;font-size:23px;letter-spacing:-.5px;padding-left:3px;padding-right:3px}
.brand-name{letter-spacing:-.8px}
.brand small{font-size:10px;letter-spacing:4.5px;color:var(--accent);margin-top:7px}
.brand-logo{width:43px;height:43px;display:grid;place-items:center;background:var(--accent)!important;color:var(--on-accent)!important;border-radius:13px;box-shadow:0 0 0 4px var(--glow)!important}
.vertex-mark{width:32px;height:32px;display:block}
.nav-label{letter-spacing:2px;font-size:10px;color:var(--muted-deep)}
.nav-link.active{background:var(--accent)!important;color:var(--on-accent)!important;box-shadow:0 7px 22px var(--glow)}
.nav-link:hover:not(.active){background:var(--raised)!important}
.hero{background:radial-gradient(ellipse at 79% -10%,var(--glow) 0%,transparent 44%),linear-gradient(115deg,var(--hero-a),var(--hero-b) 64%,var(--sidebar))!important;border:1px solid var(--line-bright)!important;overflow:hidden}
.hero::before{content:'';position:absolute;right:12%;top:-140px;width:300px;height:300px;transform:rotate(36deg);border:1px solid var(--glow);border-radius:34px;pointer-events:none}
.hero::after{content:'';position:absolute;right:16%;top:-90px;width:180px;height:180px;transform:rotate(36deg);border:1px solid var(--glow);border-radius:22px;pointer-events:none;background:none!important;opacity:1!important}
.hero-pulse .vertex-mark{width:100px;height:100px}
.hero .eyebrow,.eyebrow.dark,.text-link{color:var(--accent)!important;letter-spacing:1.5px}
.hero h1{letter-spacing:-.75px}
.hero-btn,.button.primary{background:var(--accent)!important;color:var(--on-accent)!important;border:none!important;font-weight:800;box-shadow:0 6px 24px var(--glow)}
.hero-btn:hover,.button.primary:hover{background:var(--accent-hover)!important}
.button.secondary,.icon-button,.date-controls>button,.filter-chip{border-color:var(--border)!important}
.metric,.list-card,.panel,.results-panel,.athlete-card,.day-column,.modal{border-color:var(--border)!important;background:var(--surface)!important}
.metric-icon,.workout-block,.profile-card{background:var(--panel)!important}
.metric-value,.section-head h2,.page-heading h1,.login-card h1{letter-spacing:-.6px}
.fill{background:linear-gradient(90deg,var(--accent),var(--accent-hover))!important}
.sport-running,.sport-bg-running{background:var(--sport-run-bg)!important;color:var(--sport-run)!important}
.sport-cycling,.sport-bg-cycling{background:var(--sport-bike-bg)!important;color:var(--sport-bike)!important}
.sport-swimming,.sport-bg-swimming{background:var(--sport-swim-bg)!important;color:var(--sport-swim)!important}
.legend-dot.running{background:var(--sport-run)!important}.legend-dot.cycling{background:var(--sport-bike)!important}.legend-dot.swimming{background:var(--sport-swim)!important}
.auth-toggle button.selected,.filter-chip.on,.today-btn,.date-controls>button.today-btn{background:var(--accent)!important;color:var(--on-accent)!important}
.day-column.is-today{border-color:var(--accent)!important}
.day-column.is-today .day-head{background:var(--accent-bg)!important}
.auth-toggle,.workout-card,.day-workout,.form-grid input,.form-grid select,.form-grid textarea{background:var(--panel)!important;color:var(--text)!important;border-color:var(--border)!important}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--glow)!important}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:var(--muted-deep)!important}
.metric-top,.metric-sub,.section-head p,.page-heading p,.workout-info small,.day-workout small{color:var(--muted)!important}
.workout-info strong,.day-workout strong,.metric-value{color:var(--text)!important}
.login-wrap{background:var(--bg)!important}
.login-brand{color:var(--text)!important;letter-spacing:-.75px;font-size:26px;gap:13px}
.login-brand strong{color:var(--accent)!important}
.login-card>p,.login-foot{color:var(--muted)!important}
.login-symbol{background:var(--accent-bg)!important;color:var(--accent)!important}
.login-aside{background:radial-gradient(ellipse at 62% 24%,var(--glow),transparent 60%),linear-gradient(155deg,var(--hero-a),var(--bg))!important;border-left:1px solid var(--border)}
.login-graphic{border:2px solid var(--line-bright)!important;box-shadow:0 0 0 35px var(--glow),0 0 0 90px color-mix(in srgb,var(--accent) 4%,transparent)!important;color:var(--accent)!important}
.login-graphic .vertex-mark{width:155px;height:155px}
.login-aside h2{font-family:'Outfit',sans-serif;font-size:32px;letter-spacing:-.5px}
.login-aside p{color:var(--text-subtle)!important}
.approval-wrap{background:radial-gradient(circle at 80% -10%,var(--glow),transparent 44%),var(--bg)!important}
.approval-card{background:var(--surface)!important;border-color:var(--border)!important}
.approval-illustration{background:var(--accent)!important;color:var(--on-accent)!important}
.approval-brand b{color:var(--text)!important}.approval-brand b span{color:var(--accent)!important}
.approval-card h1{color:var(--text)}.approval-card p{color:var(--text-subtle)!important}
.toast:not(.error){background:var(--raised)!important;color:var(--text)!important;border-color:var(--accent)!important}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--accent)!important}
@media (max-width:680px){.brand{font-size:22px}}
