:root{font-family:system-ui,-apple-system,sans-serif;background:#080f1d;color:#eef5ff}*{box-sizing:border-box}body{margin:0}header{padding:18px 20px;border-bottom:1px solid #233047;background:#0c1627;display:flex;align-items:center;gap:12px}header img{width:48px;height:48px;border-radius:50%}header b{font-size:19px;letter-spacing:1px}header small{display:block;color:#91a7c6;letter-spacing:2px;font-size:10px}main{max-width:840px;margin:auto;padding:22px 16px 80px}.card{border:1px solid #293b56;border-radius:18px;padding:20px;background:#111d30;margin-bottom:16px}.hero{background:linear-gradient(135deg,#173765,#0d1a30)}h1{font-size:26px;margin:0 0 8px}h2{font-size:19px;margin:0 0 15px}.muted{color:#9eb0c8;font-size:13px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.slot{padding:15px;background:#172840;border:1px solid #365070;border-radius:12px;margin:10px 0}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.btn{background:#2d7bf3;color:white;border:0;padding:12px 16px;border-radius:11px;font-weight:700;cursor:pointer}.btn:disabled{opacity:.4;cursor:not-allowed}.secondary{background:#273b58}.danger{background:#76303b}.small{font-size:12px;padding:8px 10px}input,select{width:100%;padding:13px;background:#0b1422;color:white;border:1px solid #3c506d;border-radius:10px;margin:7px 0 15px}label{font-size:13px;color:#bdcce0}.hidden{display:none!important}.status{padding:11px;border-radius:10px;background:#1e334d;color:#c5e0ff;margin:12px 0}.bad{background:#48212b;color:#ffc6cd}.big{font-size:36px;font-weight:800;color:#75adff}.tag{font-size:12px;background:#234268;border-radius:20px;padding:5px 10px}.link{color:#8bbcff}a{color:#8bbcff}.topnav{margin-left:auto}.progress{height:9px;background:#273c57;border-radius:20px;overflow:hidden}.progress div{height:100%;background:#3b8cff}

/* V17: Agenda semanal de alumnos */
.agenda-card{padding:20px 16px}.agenda-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.agenda-heading h2{margin:5px 0 6px;font-size:23px}.agenda-eyebrow{color:#7baaf9;font-size:10px;font-weight:800;letter-spacing:2px}.agenda-heading .muted{margin:0 0 18px}.agenda-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 14px}.agenda-controls strong{font-size:14px}.agenda-arrow{border:1px solid #334b6a;background:#182a44;color:#e8f1ff;border-radius:12px;width:40px;height:40px;font-size:27px;cursor:pointer}.agenda-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:19px}.agenda-day{background:#18263c;border:1px solid transparent;color:#aebed4;border-radius:14px;padding:10px 0 7px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer}.agenda-day span{font-size:10px;font-weight:700}.agenda-day strong{font-size:19px;color:#e8f1ff}.agenda-day.selected{background:#3279e9;border-color:#80b2ff;color:#fff}.agenda-day i,.agenda-day em{width:5px;height:5px;border-radius:50%;background:#8fbdff}.agenda-day em{background:transparent}.agenda-session{background:#17263c;border:1px solid #304763;border-radius:15px;padding:15px 12px;display:grid;grid-template-columns:58px 1fr;gap:10px;margin:10px 0}.agenda-time{color:#91bfff;font-weight:800;font-size:17px;padding-top:2px}.agenda-session-main{display:flex;flex-direction:column;gap:6px;min-width:0}.agenda-session-main strong{font-size:15px}.agenda-session-main span{font-size:12px;color:#a7b9d1}.agenda-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.agenda-actions .btn{flex:1;min-height:39px}.agenda-empty{text-align:center;padding:28px 8px 23px;color:#d6e4f7}.agenda-empty-icon{font-size:29px;margin-bottom:10px}.agenda-empty p{color:#9eb0c8;font-size:13px}.agenda-hint{font-size:11px;color:#91a4bd;margin:15px 0 0}@media(min-width:640px){.agenda-card{padding:25px}.agenda-session{grid-template-columns:70px 1fr auto;align-items:center}.agenda-actions{grid-column:auto}.agenda-actions .btn{flex:unset}}

/* V53: Portal de alumno */
.eyebrow{display:block;font-size:10px;letter-spacing:2px;color:#9ac4ff;font-weight:800;margin-bottom:12px}.student-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 18px}.student-nav a{text-align:center;background:#162840;border:1px solid #2e4766;border-radius:12px;padding:12px 5px;color:#dceaff;text-decoration:none;font-size:12px;font-weight:700}.student-nav a:focus,.student-nav a:hover{background:#254d85}.forgot-link{display:block;background:none;border:0;color:#a9cbff;text-decoration:underline;cursor:pointer;padding:10px 0;font-size:13px}.hero{padding:29px 23px;background:linear-gradient(135deg,#153b6b,#101e35 78%)}#auth{max-width:560px;margin:0 auto 20px}#auth .btn{margin-top:3px}#studentProfile{scroll-margin-top:20px}#studentAgenda,#studentBookings{scroll-margin-top:15px}@media(max-width:380px){.student-nav a{font-size:11px;padding:11px 2px}}

/* STOIDER V54: inicio del alumno */
#studentOverview{margin:22px 0 16px}#studentOverview h2{font-size:25px;margin:5px 0 3px}.trial-welcome{position:relative;overflow:hidden;background:linear-gradient(130deg,#163765,#101d34 70%);border:1px solid #33527c;padding:26px 22px}.trial-welcome h2{font-size:25px;margin:9px 0}.trial-welcome>p:not(.trial-note){font-size:15px;color:#d5e4f9}.trial-gift{font-size:29px;color:#80baff}.trial-cta{display:inline-block;text-decoration:none;margin:10px 0 2px}.trial-note{line-height:1.5;max-width:540px}.student-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.student-shortcut{display:flex;flex-direction:column;gap:7px;padding:18px 15px;border:1px solid #304563;background:#111d30;border-radius:16px;text-decoration:none;color:#eef5ff;min-height:136px;transition:background .15s}.student-shortcut:hover,.student-shortcut:focus{background:#1b3150}.student-shortcut b{font-size:15px}.student-shortcut small{font-size:12px;color:#9eb0c8}.shortcut-icon{font-size:25px;color:#8fbaff}@media(min-width:700px){.student-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}}

.trial-bell-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:3px 9px;border-radius:999px;background:#2563eb;color:white;font-size:.8rem}
#historyStats{margin:12px 0}

/* STOIDER V55 PRO: pulido visual y accesibilidad del portal */
:root{color-scheme:dark}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse 900px 500px at 50% -150px,#19355b 0%,transparent 75%),#080f1d}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9bc5ff;outline-offset:3px}.student-nav{position:sticky;top:0;z-index:15;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(9,19,36,.94);border:1px solid #284367;border-radius:15px;padding:5px;box-shadow:0 10px 25px rgba(0,0,0,.2)}.student-nav a{border-radius:10px}#studentOverview,#studentAgenda,#studentBookings,#studentPlan,#studentHistory,#studentProfile{scroll-margin-top:90px}.student-section-label{font-size:11px;letter-spacing:.14em;font-weight:750;color:#a8c6ef;margin:21px 2px 10px}.student-shortcut{background:linear-gradient(145deg,#152943,#101b2e);border-color:#365475;box-shadow:0 8px 22px rgba(0,0,0,.14)}.student-shortcut:active{transform:scale(.985)}.trial-welcome{box-shadow:0 12px 38px rgba(11,60,135,.25)}.trial-cta{box-shadow:0 6px 18px rgba(35,112,245,.28)}.section-description{margin-top:-3px;margin-bottom:18px;line-height:1.55}#studentHistory,#studentProfile,#studentBookings{border-color:#29405f}#studentProfile label{display:block;margin-top:15px}#studentProfile input{max-width:540px}#trialStatus:empty{display:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(max-width:430px){.student-shortcut{min-height:124px;padding:15px 13px}.student-nav a{font-size:12px}.trial-welcome{padding:23px 19px}}

.all-upcoming{margin-top:20px;border-top:1px solid #354a68;padding-top:15px}.all-upcoming h3{margin:4px 0 7px}.upcoming-jump{display:flex;width:100%;align-items:center;justify-content:space-between;text-align:left;gap:12px;padding:14px 12px;margin:8px 0;border:1px solid #304763;border-radius:13px;background:#17263c;color:#e8f1ff;cursor:pointer}.upcoming-jump span:first-child{display:flex;flex-direction:column;gap:5px}.upcoming-jump small{color:#9eb0c8;line-height:1.4}.upcoming-jump span:last-child{color:#8bbcff;white-space:nowrap;font-size:12px}.admin-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:min(90vw,480px);z-index:10000;box-shadow:0 12px 40px #0009;text-align:center;font-weight:700;pointer-events:none}html{overflow-anchor:none}

/* V59: una agenda para pruebas y planes */
.session-state{display:block;padding:11px 13px;border-radius:10px;background:#253a55;color:#d8e9ff;font-size:13px;font-weight:650;line-height:1.5;width:100%}
.trial-reserve{background:#3676ee}
.agenda-session-main span{line-height:1.5}
@media(max-width:480px){.agenda-session{grid-template-columns:1fr}.agenda-time{font-size:14px}.agenda-actions{grid-column:1}.agenda-heading{flex-wrap:wrap}}

.stoider-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.stoider-breakdown span{background:#213650;padding:10px;border-radius:10px;font-size:12px;display:flex;justify-content:space-between;gap:6px}.stoider-breakdown b{font-size:15px;color:#d9eaff}

/* V66: perfil del alumno */
.profile-photo-area{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:18px 0}.profile-avatar,.profile-avatar-fallback{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid #477df1;background:#203958;display:grid;place-items:center;font-size:38px}.profile-avatar[hidden]{display:none}.profile-avatar-fallback[hidden]{display:none}
