:root{--bg:#0e1515;--panel:#192322;--panel2:#142020;--ink:#edf0e9;--muted:#b4c0b6;--lime:#d3efa2;--line:#34413a;--warn:#f2c879;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--lime)}h1,h2,h3,p{margin:0}
.wrap{width:min(1120px,calc(100% - 48px));margin:0 auto}
.top{position:sticky;top:0;z-index:10;background:#0e1515ee;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;height:72px;gap:24px}
.brand{font-size:30px;font-weight:700;letter-spacing:-.04em;text-decoration:none;color:var(--ink)}.brand span{font-size:10px;letter-spacing:.12em;vertical-align:super;margin-left:4px;color:var(--lime)}
.top nav{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:14px}.top nav a{text-decoration:none;color:var(--muted)}.top nav a:hover{color:var(--ink)}
.hero{padding:64px 0 36px}.hero .eyebrow{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);margin-bottom:14px}
.hero h1{font-size:clamp(40px,6vw,72px);line-height:1.04;letter-spacing:-.04em;font-weight:600}.hero h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--lime);letter-spacing:-.02em}
.hero p{margin-top:16px;color:var(--muted);max-width:560px}
.flash svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.flash{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:10px 18px;border:1px solid #d3efa266;border-radius:99px;background:#d3efa214;color:var(--lime);font-size:14px;animation:rise .5s ease both}
.funnel{display:grid;grid-template-columns:repeat(8,1fr);gap:0;margin:8px 0 56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.funnel div{padding:22px 14px 20px;border-right:1px solid var(--line);text-align:center}.funnel div:last-child{border-right:0}
.funnel b{display:block;font-size:clamp(28px,3.4vw,40px);font-weight:500;color:var(--lime);line-height:1;letter-spacing:-.02em}
.funnel span{display:block;margin-top:10px;font-size:12px;color:var(--muted);line-height:1.35}
.section-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px}.section-title h2{font-size:26px;font-weight:600;letter-spacing:-.02em}.section-title h2 em{font-family:var(--serif);font-weight:400;color:var(--lime)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:24px}
.coach{position:relative;border:1px solid var(--line);border-radius:26px;background:linear-gradient(180deg,var(--panel),var(--panel2));padding:28px;display:flex;flex-direction:column;gap:24px;animation:rise .6s ease both}
.coach-head{display:flex;gap:20px;align-items:center}
.avatar{width:84px;height:84px;border-radius:24px;object-fit:cover;flex:none;border:1px solid #ffffff22;box-shadow:0 14px 34px #0006;transform:rotate(-3deg);background:var(--panel)}
.avatar.ph{display:grid;place-items:center;font-family:var(--serif);font-size:34px;color:var(--lime);background:#d3efa214}
.coach h3{font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.2}.coach .mail{font-size:13px;color:var(--muted);margin-top:2px;word-break:break-all}
.tag{display:inline-block;margin-top:10px;padding:4px 12px;border-radius:99px;border:1px solid var(--line);font-size:12px;color:var(--muted)}
.tag.on{border-color:#d3efa299;background:#d3efa21a;color:var(--lime)}.tag.alert{border-color:#f2c87999;background:#f2c8791a;color:var(--warn)}
.track{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.track i{height:4px;border-radius:4px;background:var(--line)}.track i.on{background:var(--lime)}.track i.now{background:var(--lime);box-shadow:0 0 14px #d3efa288}
.track-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:8px}
.dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px 20px;margin:0;padding:0;list-style:none}
.dates li{font-size:12px;color:var(--muted);line-height:1.35}.dates b{display:block;font-size:15px;font-weight:500;color:var(--ink);margin-top:2px}.dates li.todo b{color:#7d8a80}
.due{padding:12px 16px;border:1px solid #d3efa266;border-radius:14px;background:#d3efa212;font-size:14px}.due b{color:var(--lime)}
.next{display:flex;flex-direction:column;gap:12px;padding-top:4px}.next .small{font-size:13px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:99px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:15px;cursor:pointer;text-decoration:none;transition:filter .2s,transform .2s}
.btn:hover{filter:brightness(1.12);transform:translateY(-1px)}.btn.primary{background:var(--lime);color:#0e1515;border-color:var(--lime);font-weight:600}.btn.block{width:100%}.btn.ghost{border-color:transparent;color:var(--muted);padding:10px 14px;font-size:14px}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.links{display:flex;gap:6px;flex-wrap:wrap;margin-top:-6px}
details.more{border-top:1px solid var(--line);padding-top:16px}details.more summary{cursor:pointer;color:var(--muted);font-size:14px;list-style:none;display:flex;align-items:center;gap:8px}details.more summary::-webkit-details-marker{display:none}details.more summary:hover{color:var(--ink)}
details.more form{display:grid;gap:14px;margin-top:16px}
label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--muted)}input,select,textarea{background:var(--bg);color:var(--ink);border:1px solid #5a685f;border-radius:12px;padding:12px 14px;font:inherit}input:focus,textarea:focus{outline:2px solid #d3efa266;border-color:var(--lime)}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.activity{border-top:1px solid var(--line)}.activity div{display:flex;gap:18px;padding:14px 4px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}.activity time{flex:none;width:92px;color:#7d8a80}.activity b{color:var(--ink);font-weight:500}
.empty{padding:48px;text-align:center;border:1px dashed var(--line);border-radius:26px;color:var(--muted)}
.add{margin-top:56px}.add .card{border:1px solid var(--line);border-radius:26px;padding:28px;background:var(--panel);margin-top:16px}
.err{color:#ffb4a8}.login{display:grid;place-items:center;min-height:100vh;padding:20px}.login-card{width:min(400px,100%);display:grid;gap:18px;text-align:center;border:1px solid var(--line);border-radius:26px;padding:40px 32px;background:var(--panel)}.login-card h1{font-size:44px;letter-spacing:-.04em}.login-card p{color:var(--muted)}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:860px){.funnel{grid-template-columns:repeat(4,1fr)}.funnel div{border-bottom:1px solid var(--line)}.cards{grid-template-columns:1fr}.wrap{width:calc(100% - 32px)}.hero{padding-top:40px}}
@media(max-width:520px){.coach{padding:22px}.avatar{width:68px;height:68px;border-radius:20px}.funnel{grid-template-columns:repeat(2,1fr)}.activity div{flex-direction:column;gap:2px}.activity time{width:auto}.btn{width:100%}.links .btn{width:auto}}

/* Carrusel de tarjetas apiladas (mismo gesto que las pantallas de la landing) */
.deck-wrap{position:relative}
.deck{display:grid;justify-items:center;align-items:start;position:relative;padding:8px 0 4px;overflow:visible;min-height:var(--h,480px)}
.deck .coach{grid-area:1/1;width:min(560px,100%);transition:transform .55s cubic-bezier(.22,.8,.24,1),opacity .4s ease;will-change:transform;animation:none;cursor:default;transform-origin:50% 0}
.deck .coach:not(.is-active){cursor:pointer;pointer-events:auto;box-shadow:0 24px 60px #0008;user-select:none}
.deck .coach:not(.is-active) > *{pointer-events:none}
.deck .coach.is-active{box-shadow:0 30px 80px #000a;border-color:#d3efa244}
.deck-ctrl{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:26px}
.deck-ctrl .btn{padding:10px 18px;font-size:18px}.deck-ctrl .btn:disabled{opacity:.3;cursor:default}
.dots{display:flex;gap:8px}.dots button{width:8px;height:8px;border-radius:50%;border:0;background:var(--line);padding:0;cursor:pointer;transition:all .3s}.dots button.on{width:26px;border-radius:8px;background:var(--lime)}
@media (prefers-reduced-motion:reduce){.deck .coach{transition:none}}
@media (max-width:520px){.deck .coach{width:calc(100% - 34px)}}
