:root{--blue:#2563eb;--blue-dark:#1d4ed8;--blue-soft:#eff6ff;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--surface:#fff;--bg:#f6f8fc;--green:#16a34a;--amber:#d97706;--violet:#7c3aed;--sidebar:272px;--radius:18px;--shadow:0 12px 35px rgba(15,23,42,.07)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg)}a{color:var(--blue);text-decoration:none}.eyebrow{color:var(--blue);font-size:.73rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.auth-body{min-height:100vh;background:radial-gradient(circle at 15% 10%,#dbeafe 0,transparent 34%),radial-gradient(circle at 90% 90%,#ede9fe 0,transparent 30%),#f8fafc}.auth-shell{width:min(1040px,calc(100% - 2rem));margin:auto;padding:2rem 0 4rem}.auth-brand,.sidebar-brand{display:inline-flex;color:var(--ink);font-weight:900;font-size:1.5rem;letter-spacing:-.04em}.auth-brand span,.sidebar-brand span{color:var(--blue)}.auth-card{display:grid;grid-template-columns:1fr 1fr;margin-top:2rem;background:#fff;border:1px solid rgba(226,232,240,.8);border-radius:28px;overflow:hidden;box-shadow:0 25px 70px rgba(15,23,42,.12)}.auth-card-single{grid-template-columns:1fr;max-width:600px;margin-left:auto;margin-right:auto}.auth-copy{min-height:620px;padding:4rem;align-items:flex-end;background:radial-gradient(circle at 20% 20%,rgba(96,165,250,.45),transparent 34%),linear-gradient(145deg,#081225,#1e3a8a);color:#fff}.auth-copy .eyebrow{color:#7dd3fc}.auth-copy h1{font-size:2.7rem;line-height:1.05;margin:.8rem 0 1rem;letter-spacing:-.045em}.auth-copy p{font-size:1.05rem;color:#dbeafe;max-width:430px}.auth-benefits{display:flex;flex-direction:column;gap:.65rem;margin-top:1.6rem}.auth-benefits span{display:flex;align-items:center;gap:.65rem;color:#e0f2fe;font-size:.82rem;font-weight:650}.auth-benefits i{color:#67e8f9}.auth-form{padding:4rem}.auth-form h2{font-weight:850;letter-spacing:-.03em;margin-top:.25rem}.auth-form .form-control,.auth-form .form-select{min-height:48px;border-radius:12px;border-color:#cbd5e1}.auth-form .form-control:focus{border-color:var(--blue);box-shadow:0 0 0 .2rem rgba(37,99,235,.12)}.password-field{position:relative}.password-field .form-control{padding-right:3rem}.password-field button{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:9px;background:transparent;color:#64748b}.password-field button:hover{background:#f1f5f9;color:var(--blue)}.btn-primary{background:var(--blue);border-color:var(--blue);border-radius:12px;font-weight:750}.btn-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.btn-google{border:1px solid #cbd5e1;border-radius:12px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:.65rem;font-weight:700;color:var(--ink);background:#fff}.btn-google:hover{background:#f8fafc;border-color:#94a3b8}.auth-divider{display:flex;align-items:center;gap:1rem;color:#94a3b8;font-size:.78rem;margin:1.4rem 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-bottom{text-align:center;color:var(--muted);margin:1.5rem 0 0}.auth-security-note{display:flex;align-items:flex-start;gap:.45rem;margin:1rem 0 0;color:#64748b;font-size:.7rem;line-height:1.45}.auth-security-note i{color:#16a34a}.auth-icon{width:60px;height:60px;border-radius:18px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:1.5rem;margin-bottom:1.25rem}.auth-icon.success{margin-left:auto;margin-right:auto;background:#dcfce7;color:var(--green)}.invalid-token{text-align:center;background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:1.5rem}.invalid-token>i{font-size:2rem;color:#94a3b8}.invalid-token h3{font-size:1.05rem;margin:.5rem 0}.invalid-token p{font-size:.8rem;color:var(--muted);margin-bottom:1rem}
.platform-grid{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:1040;background:#0f172a;color:#cbd5e1;display:flex;flex-direction:column;padding:1.2rem}.sidebar-head{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 .7rem}.sidebar-brand{color:#fff}.sidebar-close,.topbar-menu,.sidebar-logout{border:0;background:transparent;color:inherit}.sidebar-nav{display:flex;flex-direction:column;gap:.35rem;margin-top:1.2rem;overflow:auto}.sidebar-link{color:#94a3b8;display:flex;align-items:center;gap:.85rem;padding:.75rem .85rem;border-radius:12px;font-weight:650;font-size:.91rem}.sidebar-link:hover,.sidebar-link.active{color:#fff;background:rgba(255,255,255,.09)}.sidebar-link.active{box-shadow:inset 3px 0 0 #60a5fa}.sidebar-link i{font-size:1.08rem;width:20px}.sidebar-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:#64748b;padding:1.2rem .85rem .35rem}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:.9rem .4rem 0;display:flex;align-items:center;gap:.7rem}.sidebar-avatar{width:38px;height:38px;border-radius:12px;object-fit:cover}.placeholder-avatar{background:#1e293b;display:grid;place-items:center}.sidebar-user-data{min-width:0;flex:1}.sidebar-user-data strong,.sidebar-user-data span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-data strong{color:#fff;font-size:.82rem}.sidebar-user-data span{font-size:.68rem;color:#64748b}.sidebar-logout{font-size:1.05rem;padding:.4rem}.platform-main{grid-column:2}.platform-topbar{height:72px;position:sticky;top:0;z-index:1020;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:1rem;padding:0 clamp(1rem,3vw,2.5rem)}.platform-topbar>div{flex:1}.topbar-public{display:flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:700}.topbar-menu{font-size:1.45rem;color:var(--ink)}.platform-content{padding:clamp(1rem,3vw,2.5rem)}.sidebar-backdrop{display:none}
.dashboard-wrap{max-width:1500px;margin:auto}.dashboard-hero{background:radial-gradient(circle at 80% 0,rgba(59,130,246,.34),transparent 32%),linear-gradient(125deg,#081225,#172f70);color:#fff;border-radius:24px;padding:2rem 2.2rem;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:center;gap:2rem;box-shadow:var(--shadow);overflow:hidden}.dashboard-hero h1{font-size:clamp(1.8rem,3vw,2.5rem);margin:.25rem 0 1rem}.dashboard-hero p{margin:0;color:#bfdbfe}.hero-coach .eyebrow{color:#60a5fa}.next-action{border-left:3px solid #60a5fa;padding-left:1rem}.next-action small,.next-action strong{display:block}.next-action small{color:#93c5fd;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.next-action strong{font-size:1.1rem;margin:.25rem 0}.next-action p{font-size:.84rem}.next-action a{display:inline-flex;align-items:center;gap:.45rem;color:#fff;font-size:.8rem;font-weight:800;margin-top:.75rem}.hero-metrics{display:grid;grid-template-columns:82px 1fr;align-items:center;gap:.75rem 1rem;padding:1rem;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px)}.readiness-ring{--progress:0;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#67e8f9 calc(var(--progress)*1%),rgba(255,255,255,.13) 0);position:relative}.readiness-ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#162b61}.readiness-ring>div{position:relative;z-index:1}.readiness-ring strong{font-size:1.65rem}.readiness-ring span{font-size:.68rem;color:#bfdbfe}.readiness-copy span,.readiness-copy small{display:block}.readiness-copy span{font-size:.82rem;font-weight:800}.readiness-copy small{font-size:.67rem;color:#bfdbfe}.ecep-projection{grid-column:1/-1;display:flex;align-items:center;gap:.75rem;border-top:1px solid rgba(255,255,255,.13);padding-top:.8rem}.projection-letter{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;color:#1d4ed8;font-size:1.4rem;font-weight:900}.ecep-projection div>*{display:block}.ecep-projection strong{font-size:.76rem}.ecep-projection span{font-size:.72rem;color:#dbeafe}.ecep-projection small{font-size:.61rem;color:#93c5fd;margin-top:.15rem}.positive{color:#86efac}.negative{color:#fca5a5}.resume-banner{margin-top:1rem;background:#fffbeb;border:1px solid #fde68a;border-radius:15px;padding:.85rem 1rem;display:flex;align-items:center;gap:.9rem;color:#92400e}.resume-banner>i{font-size:1.25rem}.resume-banner>div{flex:1}.resume-banner strong,.resume-banner span{display:block}.resume-banner span{font-size:.78rem;color:#a16207}.resume-banner a{font-weight:800;color:#92400e}.diagnostic-card{margin-top:1rem;border:1px solid #bfdbfe;border-radius:20px;padding:1.4rem;background:linear-gradient(135deg,#fff,#eff6ff);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.2rem;box-shadow:var(--shadow);scroll-margin-top:90px}.diagnostic-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#dbeafe;color:#1d4ed8;font-size:1.5rem}.diagnostic-card h2{font-size:1.2rem;margin:.15rem 0 .3rem}.diagnostic-card p{font-size:.8rem;color:var(--muted);margin:0}.diagnostic-notes{display:flex;gap:1rem;margin-top:.6rem;color:#475569;font-size:.68rem}.diagnostic-card .btn{white-space:nowrap;padding:.75rem 1rem}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0 2rem}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow)}.kpi-card>i{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#f8fafc;font-size:1.25rem}.tone-blue{color:var(--blue)}.tone-green{color:var(--green)}.tone-amber{color:var(--amber)}.tone-violet{color:var(--violet)}.kpi-card strong,.kpi-card span,.kpi-card small{display:block}.kpi-card strong{font-size:1.55rem}.kpi-card span{font-size:.78rem;color:var(--muted)}.kpi-card small{font-size:.68rem;color:#94a3b8}.section-heading,.panel-title{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-heading h2,.panel-title h2{font-size:1.28rem;margin:.15rem 0 0;font-weight:850}.section-heading>a,.panel-title>a{font-size:.82rem;font-weight:750}.area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.area-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);scroll-margin-top:90px}.area-card.premium{border-color:#bfdbfe}.area-card header{display:flex;justify-content:space-between;gap:1rem}.area-card h3{font-size:1.08rem;margin:.4rem 0 .15rem}.area-card p{margin:0;color:var(--muted);font-size:.78rem}.area-badge{font-size:.65rem;color:var(--blue);background:var(--blue-soft);padding:.25rem .5rem;border-radius:99px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.area-badge.free{color:#475569;background:#f1f5f9}.days{text-align:right}.days strong,.days span{display:block}.days strong{font-size:1.12rem}.days span{font-size:.65rem;color:var(--muted)}.area-performance{display:flex;align-items:center;justify-content:space-between;margin-top:.8rem}.area-performance>strong{font-size:.78rem}.academic-state{font-size:.64rem;font-weight:800;padding:.28rem .55rem;border-radius:99px;background:#f1f5f9;color:#64748b}.academic-state.strong{background:#dcfce7;color:#166534}.academic-state.good{background:#e0f2fe;color:#075985}.academic-state.developing{background:#fef3c7;color:#92400e}.academic-state.priority{background:#fee2e2;color:#991b1b}.area-meta{font-size:.73rem;color:var(--muted);margin:.85rem 0}.progress.thin{height:5px;margin:1rem 0}.study-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1rem}.study-actions a,.study-actions button{border:1px solid var(--line);background:#fff;color:#334155;border-radius:11px;padding:.65rem .4rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;font-size:.7rem;font-weight:750}.study-actions a:hover,.study-actions button:hover{border-color:#93c5fd;background:#eff6ff;color:var(--blue)}.study-actions i{font-size:1rem}.empty-state{background:#fff;border:1px dashed #cbd5e1;border-radius:var(--radius);padding:3rem 1rem;text-align:center;margin-bottom:1rem}.empty-state>i{font-size:2rem;color:var(--blue)}.empty-state h3{font-size:1.2rem;margin:.7rem 0}.empty-state p{color:var(--muted);max-width:520px;margin:0 auto 1.2rem}.dashboard-two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:1rem;margin-top:2rem}.panel-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.insight-grid>div{background:#f8fafc;border-radius:12px;padding:.9rem}.insight-grid span,.insight-grid strong,.insight-grid small{display:block}.insight-grid span{font-size:.7rem;color:var(--muted)}.insight-grid strong{font-size:1.15rem;margin-top:.2rem}.insight-grid small{font-size:.66rem;color:#94a3b8}.history-list{display:flex;flex-direction:column}.history-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.history-item:last-child{border-bottom:0}.history-item strong,.history-item span{display:block}.history-item>div>strong{font-size:.82rem}.history-item>div>span{font-size:.68rem;color:var(--muted)}.history-result{text-align:right}.history-result strong{font-size:.84rem}.history-result a{font-size:.67rem;font-weight:750}.history-result span{font-size:.7rem;color:var(--amber)}
@media(max-width:1100px){.dashboard-hero{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-two-col{grid-template-columns:1fr}}@media(max-width:991.98px){.platform-grid{display:block}.platform-main{grid-column:auto}.sidebar{transform:translateX(-100%);transition:.2s ease}.sidebar.open{transform:translateX(0)}.sidebar-backdrop.open{display:block;position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:1030}.area-grid{grid-template-columns:1fr}}@media(max-width:767.98px){.auth-card{grid-template-columns:1fr}.auth-form{padding:2rem 1.35rem}.dashboard-hero{padding:1.4rem}.diagnostic-card{grid-template-columns:auto 1fr}.diagnostic-card form,.diagnostic-card>a{grid-column:1/-1}.diagnostic-card .btn{width:100%}.kpi-grid{grid-template-columns:1fr}.platform-content{padding:1rem}.study-actions{gap:.35rem}.insight-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.hero-metrics{grid-template-columns:70px 1fr}.readiness-ring{width:70px;height:70px}.history-item{align-items:flex-start}.area-card{padding:1rem}.insight-grid{grid-template-columns:1fr}.diagnostic-card{grid-template-columns:1fr}.diagnostic-icon{display:none}}

/* Responsive dashboard: keep every grid child inside the mobile viewport. */
.platform-grid{grid-template-columns:var(--sidebar) minmax(0,1fr)}
.platform-main,.platform-content,.dashboard-wrap,.dashboard-hero,.hero-coach,.next-action,.hero-metrics,.readiness-copy,.ecep-projection,.ecep-projection>div,.resume-banner>div,.area-card header>div,.history-item>div{min-width:0}
.next-action strong,.next-action p,.readiness-copy span,.readiness-copy small,.ecep-projection span,.ecep-projection small,.resume-banner strong,.resume-banner span,.area-card h3,.history-item strong,.history-item span{overflow-wrap:anywhere}
@media(max-width:767.98px){
  html,body{max-width:100%;overflow-x:hidden}
  .platform-topbar{height:64px;padding:0 1rem;gap:.75rem}
  .platform-topbar>div{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .platform-content{width:100%;max-width:100%;padding:.75rem}
  .dashboard-hero{width:100%;max-width:100%;padding:1.35rem 1rem;border-radius:20px;gap:1.5rem}
  .dashboard-hero h1{font-size:2rem}
  .next-action{padding-left:.85rem}
  .next-action strong{font-size:1rem;line-height:1.3}
  .next-action p{font-size:.8rem;line-height:1.45}
  .hero-metrics{width:100%;grid-template-columns:70px minmax(0,1fr);gap:.8rem;padding:.9rem;border-radius:17px}
  .readiness-ring{width:70px;height:70px}
  .readiness-ring strong{font-size:1.45rem}
  .readiness-copy span{font-size:.78rem;line-height:1.25}
  .readiness-copy small{font-size:.64rem;line-height:1.35;margin-top:.2rem}
  .ecep-projection{align-items:flex-start;gap:.7rem}
  .projection-letter{width:44px;min-width:44px;height:44px}
  .ecep-projection strong{font-size:.73rem}
  .ecep-projection span{font-size:.68rem;line-height:1.35}
  .ecep-projection small{font-size:.6rem;line-height:1.4}
  .resume-banner{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.2rem .75rem;padding:1rem}
  .resume-banner>i{grid-row:1/3;margin-top:.1rem}
  .resume-banner a{grid-column:2;margin-top:.45rem;justify-self:start}
  .resume-banner strong{font-size:.9rem;line-height:1.3}
  .resume-banner span{line-height:1.4;margin-top:.15rem}
  .section-heading,.panel-title{align-items:flex-start}
  .section-heading>a,.panel-title>a{flex:0 0 auto}
  .area-card header>div:first-child{flex:1}
}
@media(max-width:380px){
  .platform-content{padding:.6rem}
  .dashboard-hero{padding:1.2rem .85rem}
  .hero-metrics{grid-template-columns:62px minmax(0,1fr);padding:.75rem;gap:.7rem}
  .readiness-ring{width:62px;height:62px}
  .readiness-ring strong{font-size:1.3rem}
  .readiness-ring span{font-size:.58rem}
  .diagnostic-notes{flex-direction:column;gap:.3rem}
}

/* Ensaya brand system: same recognizable wordmark across access and platform. */
.ensaya-wordmark{display:inline-flex;align-items:center;gap:.55rem;line-height:1;text-decoration:none}
.ensaya-wordmark .brand-symbol{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;color:#2563eb}
.ensaya-wordmark .brand-symbol svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.ensaya-wordmark .brand-name{font-size:1.42rem;font-weight:850;letter-spacing:-.035em;color:#4f6de5;white-space:nowrap}
.ensaya-wordmark .brand-name>span{color:#2563eb}
.auth-brand:hover .brand-name{color:#405fd8}
.sidebar-brand{gap:.45rem}
.sidebar-brand .brand-symbol{width:27px;height:27px;flex-basis:27px;color:#60a5fa}
.sidebar-brand .brand-name{font-size:1.35rem;color:#fff}
.sidebar-brand .brand-name>span{color:#60a5fa}
.topbar-mobile-brand{display:none}
.auth-benefits span{position:relative;padding-left:1.55rem}
.auth-benefits span:before{content:"";position:absolute;left:0;top:.05rem;width:1rem;height:1rem;border:1.5px solid #67e8f9;border-radius:50%;background:radial-gradient(circle,#67e8f9 0 2px,transparent 3px)}
@media(max-width:991.98px){
  .topbar-title{display:none}
  .topbar-mobile-brand{display:inline-flex}
  .topbar-mobile-brand .brand-symbol{width:25px;height:25px;flex-basis:25px}
  .topbar-mobile-brand .brand-name{font-size:1.18rem}
}
@media(max-width:380px){
  .topbar-mobile-brand{gap:.35rem}
  .topbar-mobile-brand .brand-symbol{width:23px;height:23px;flex-basis:23px}
  .topbar-mobile-brand .brand-name{font-size:1.08rem}
}

/* Persistent mobile navigation. */
.mobile-bottom-nav{display:none}
@media(max-width:991.98px){
  .platform-content{padding-bottom:calc(5.6rem + env(safe-area-inset-bottom))}
  .mobile-bottom-nav{position:fixed;z-index:1025;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:66px;padding:.45rem .35rem calc(.4rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #e2e8f0;box-shadow:0 -8px 24px rgba(15,23,42,.08);backdrop-filter:blur(14px)}
  .mobile-bottom-nav a,.mobile-bottom-nav button{min-width:0;border:0;background:transparent;color:#7c8598;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.22rem;padding:.15rem .1rem;font:inherit;text-decoration:none}
  .mobile-bottom-nav svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .mobile-bottom-nav span{max-width:100%;font-size:.65rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-bottom-nav a.active,.mobile-bottom-nav button.active{color:#2563eb}
  .mobile-bottom-nav a:active,.mobile-bottom-nav button:active{transform:translateY(1px)}
}
@media(max-width:360px){
  .mobile-bottom-nav{padding-left:.15rem;padding-right:.15rem}
  .mobile-bottom-nav svg{width:21px;height:21px}
  .mobile-bottom-nav span{font-size:.59rem}
}

/* ECEP projection grade: explicit contrast prevents inherited pale text. */
.ecep-projection>.projection-letter{width:48px;min-width:48px;height:48px;border:1px solid rgba(255,255,255,.7);font-size:1.5rem;font-weight:900;line-height:1;color:#1e3a8a;box-shadow:0 5px 14px rgba(8,18,37,.14)}
.ecep-projection>.projection-letter.grade-a{color:#166534;background:#dcfce7;border-color:#86efac}
.ecep-projection>.projection-letter.grade-b{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}
.ecep-projection>.projection-letter.grade-c{color:#92400e;background:#fef3c7;border-color:#fcd34d}
.ecep-projection>.projection-letter.grade-d{color:#991b1b;background:#fee2e2;border-color:#fca5a5}
@media(max-width:767.98px){
  .ecep-projection>.projection-letter{width:46px;min-width:46px;height:46px;font-size:1.35rem}
}

/* Práctica guiada MVC */
.guided-practice{max-width:1480px;margin:auto;scroll-margin-top:88px}.practice-resume-note{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;padding:1rem 1.1rem;border:1px solid #bfdbfe;border-radius:16px;background:#dbeafe;color:#1e3a8a}.practice-resume-note>i{font-size:1.3rem}.practice-resume-note strong,.practice-resume-note span{display:block}.practice-resume-note span{font-size:.78rem;margin-top:.1rem}.practice-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr);gap:1.4rem;align-items:center;padding:1.6rem;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#fff 20%,#f8fbff 100%);box-shadow:var(--shadow)}.practice-mode{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .7rem;border-radius:99px;background:#eef2ff;color:#4338ca;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.practice-heading h1{font-size:clamp(1.6rem,2.6vw,2.15rem);margin:.65rem 0 .4rem;letter-spacing:-.035em}.practice-heading p{max-width:720px;margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}.practice-context{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.practice-context>div{min-width:0;padding:.8rem .9rem;border-radius:14px;background:#f8fafc}.practice-context span,.practice-context strong{display:block}.practice-context span{font-size:.67rem;color:var(--muted)}.practice-context strong{margin-top:.15rem;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.practice-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1.2rem;margin-top:1.2rem}.practice-workspace,.practice-summary{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.practice-workspace{overflow:hidden}.practice-progress-head{padding:1.15rem 1.35rem;border-bottom:1px solid var(--line)}.practice-progress-head>div:first-child{display:flex;justify-content:space-between;gap:1rem;font-size:.78rem}.practice-progress-head>div:first-child>span{color:var(--muted)}.practice-progress-track{height:8px;margin-top:.65rem;border-radius:99px;background:#e2e8f0;overflow:hidden}.practice-progress-track>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#7c3aed);transition:width .25s ease}.practice-question-stage{padding:1.35rem}.practice-question{display:none}.practice-question.active{display:block}.question-taxonomy{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}.question-taxonomy span{padding:.38rem .65rem;border-radius:99px;background:#f1f5f9;color:#334155;font-size:.66rem;font-weight:750}.question-taxonomy .taxonomy-primary{background:#dbeafe;color:#1d4ed8}.question-statement{font-size:1.08rem;line-height:1.58;font-weight:700;color:#172033;margin-bottom:1.3rem;overflow-wrap:anywhere}.question-options{display:grid;gap:.8rem}.practice-option{width:100%;display:flex;align-items:flex-start;gap:.8rem;padding:.9rem 1rem;border:1px solid #dbe3ee;border-radius:15px;background:#fff;color:#1e293b;text-align:left;transition:.16s ease}.practice-option:hover{border-color:#93c5fd;background:#f8fbff;transform:translateY(-1px)}.practice-option.disabled{pointer-events:none}.practice-option.selected{border-color:#2563eb;background:#eff6ff}.practice-option.correct{border-color:#4ade80;background:#f0fdf4}.practice-option.wrong{border-color:#f87171;background:#fef2f2}.practice-option .option-letter{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:50%;background:#f1f5f9;color:#475569;font-weight:850}.answer-feedback{display:none;margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:17px;background:#f8fafc}.answer-feedback.show{display:block}.answer-feedback.correct{border-color:#bbf7d0;background:#f0fdf4}.answer-feedback.wrong{border-color:#fecaca;background:#fff7f7}.answer-feedback>strong,.answer-feedback>span{display:block}.answer-feedback>strong{margin-bottom:.35rem}.answer-feedback>span{font-size:.67rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:800;margin-bottom:.45rem}.question-navigation{display:flex;justify-content:space-between;gap:.8rem;margin-top:1.3rem}.question-navigation .btn{border-radius:11px;font-size:.8rem;font-weight:750}.practice-summary{height:max-content;position:sticky;top:88px;padding:1.25rem}.practice-summary h2{font-size:1rem;margin:0 0 1rem}.practice-summary>div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;font-size:.77rem}.practice-summary>div span{color:var(--muted)}.practice-summary p{font-size:.72rem;line-height:1.5;color:var(--muted)}.practice-summary .btn{width:100%;border-radius:11px;font-size:.78rem}.practice-complete{display:none;text-align:center;padding:2.5rem 1rem}.practice-complete.show{display:block}.practice-complete>i{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 1rem;border-radius:50%;background:#dcfce7;color:#16a34a;font-size:2.25rem}.practice-complete h2{font-size:1.35rem}.practice-complete p{max-width:520px;margin:.5rem auto 1.2rem;color:var(--muted);font-size:.82rem}.practice-complete>a{display:block;margin-top:.8rem;font-size:.76rem}.jg-block,.jg-empty,.jg-legacy{border:1px solid #e2e8f0;border-radius:13px;background:#fff;padding:.75rem .85rem;margin-top:.55rem}.jg-title{font-weight:800;font-size:.8rem;margin-bottom:.3rem}.jg-body{font-size:.78rem;line-height:1.55;color:#334155}.jg-list{margin:.25rem 0 0 1rem;padding:0}.practice-error-state{max-width:680px;margin:8vh auto;padding:2.5rem;text-align:center;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.practice-error-state>i{font-size:2rem;color:#d97706}.practice-error-state h1{font-size:1.3rem;margin:.8rem 0 .45rem}.practice-error-state p{color:var(--muted)}
@media(max-width:1100px){.practice-heading{grid-template-columns:1fr}.practice-layout{grid-template-columns:minmax(0,1fr) 280px}}@media(max-width:991.98px){.practice-layout{grid-template-columns:1fr}.practice-summary{position:static;order:2}.guided-practice{scroll-margin-top:72px}}@media(max-width:767.98px){.practice-heading{padding:1.15rem;border-radius:19px}.practice-context{gap:.45rem}.practice-context>div{padding:.7rem}.practice-layout{gap:.8rem;margin-top:.8rem}.practice-workspace,.practice-summary{border-radius:18px}.practice-question-stage{padding:1rem}.practice-progress-head{padding:1rem}.question-statement{font-size:1rem}.practice-option{padding:.8rem}.practice-option .option-letter{width:29px;height:29px;flex-basis:29px}.question-navigation .btn{padding:.55rem .7rem}.practice-resume-note{align-items:flex-start}.answer-feedback{padding:.8rem}}

/* Análisis de intento MVC */
.attempt-analysis{max-width:1480px;margin:auto}.analysis-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.4rem;padding:1.5rem 1.7rem;border-radius:24px;background:radial-gradient(circle at 82% 0,rgba(96,165,250,.35),transparent 34%),linear-gradient(125deg,#081225,#172f70);color:#fff;box-shadow:var(--shadow)}.analysis-score{--score:0;width:112px;height:112px;display:grid;place-items:center;border-radius:50%;position:relative;background:conic-gradient(#67e8f9 calc(var(--score)*1%),rgba(255,255,255,.13) 0)}.analysis-score:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#162b61}.analysis-score>div{position:relative;text-align:center}.analysis-score strong,.analysis-score span{display:block}.analysis-score strong{font-size:1.55rem}.analysis-score span{font-size:.62rem;color:#bfdbfe}.analysis-hero-copy{min-width:0}.analysis-hero-copy .eyebrow{color:#67e8f9}.analysis-hero-copy h1{font-size:clamp(1.55rem,2.8vw,2.25rem);margin:.3rem 0}.analysis-hero-copy p{margin:0;color:#bfdbfe;font-size:.8rem}.analysis-delta{display:inline-flex;align-items:center;gap:.35rem;margin-top:.65rem;padding:.32rem .55rem;border-radius:99px;background:rgba(255,255,255,.1);font-size:.7rem;font-weight:750}.analysis-grade{min-width:210px;display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.08)}.analysis-grade>div>*{display:block}.analysis-grade>div span{font-size:.67rem;color:#bfdbfe}.analysis-grade>div strong{font-size:1rem;margin:.08rem 0}.analysis-grade>div small{font-size:.64rem;color:#93c5fd}.analysis-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:1rem 0}.analysis-kpis article{display:flex;align-items:center;gap:.75rem;min-width:0;padding:1rem;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.analysis-kpis i{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border-radius:12px;background:#f8fafc;font-size:1.05rem}.analysis-kpis strong,.analysis-kpis span{display:block}.analysis-kpis strong{font-size:1.05rem;overflow-wrap:anywhere}.analysis-kpis span{font-size:.68rem;color:var(--muted)}.analysis-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(320px,5fr);gap:1rem}.analysis-review,.analysis-insights{display:grid;align-content:start;gap:1rem}.analysis-insights{position:sticky;top:88px}.analysis-panel{min-width:0;padding:1.25rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.analysis-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.analysis-panel-head h2,.analysis-panel>h2{font-size:1.1rem;margin:.15rem 0 0}.analysis-panel-head>span{font-size:.75rem;color:var(--muted)}.question-map{display:flex;flex-wrap:wrap;gap:.4rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.question-map button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#475569;font-size:.72rem;font-weight:800}.question-map button.correct{border-color:#86efac;color:#166534;background:#f0fdf4}.question-map button.wrong{border-color:#fca5a5;color:#991b1b;background:#fef2f2}.question-map button.active{outline:3px solid rgba(37,99,235,.18);border-color:#2563eb}.analysis-question{display:none;padding-top:1.2rem}.analysis-question.active{display:block}.analysis-question-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}.analysis-question-meta span{padding:.32rem .55rem;border-radius:99px;background:#f1f5f9;color:#475569;font-size:.62rem;font-weight:750}.analysis-question-meta span:first-child{background:#dbeafe;color:#1d4ed8}.analysis-statement{font-size:1.02rem;line-height:1.58;font-weight:680;color:#172033;margin-bottom:1rem;overflow-wrap:anywhere}.analysis-alternatives{display:grid;gap:.65rem}.analysis-alternative{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:.7rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:13px;font-size:.82rem;line-height:1.45}.analysis-alternative>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f1f5f9;font-weight:850}.analysis-alternative>i{margin-top:.25rem}.analysis-alternative.correct{border-color:#86efac;background:#f0fdf4;color:#166534}.analysis-alternative.wrong{border-color:#fca5a5;background:#fef2f2;color:#991b1b}.analysis-justification{margin-top:1rem;padding:1rem;border-radius:15px;background:#f8fafc;border:1px solid var(--line)}.analysis-justification>span{display:block;margin-bottom:.45rem;font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.analysis-question-nav{display:flex;justify-content:space-between;gap:.8rem;margin-top:1rem}.analysis-question-nav .btn{border-radius:10px;font-size:.75rem;font-weight:750}.subtheme-list{display:grid;gap:.55rem;margin-top:1rem}.subtheme-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border-radius:13px;background:#f8fafc}.subtheme-row>div{min-width:0}.subtheme-row strong,.subtheme-row span{display:block}.subtheme-row strong{font-size:.75rem;overflow-wrap:anywhere}.subtheme-row span{font-size:.62rem;color:var(--muted);margin-top:.12rem}.subtheme-row b{min-width:48px;padding:.3rem .42rem;border-radius:99px;text-align:center;font-size:.68rem}.subtheme-row b.good{background:#dcfce7;color:#166534}.subtheme-row b.medium{background:#fef3c7;color:#92400e}.subtheme-row b.low{background:#fee2e2;color:#991b1b}.recommendation-panel ul{padding-left:1.05rem;margin:1rem 0}.recommendation-panel li{margin:.55rem 0;color:#475569;font-size:.76rem;line-height:1.5}.recommendation-panel .btn{border-radius:11px;font-size:.77rem;font-weight:750}.attempt-progress-list{display:grid;gap:.55rem}.attempt-progress-row{display:grid;grid-template-columns:44px minmax(0,1fr) 52px;align-items:center;gap:.65rem;font-size:.68rem;color:var(--muted)}.attempt-progress-row>div{height:8px;border-radius:99px;background:#e2e8f0;overflow:hidden}.attempt-progress-row i{display:block;height:100%;border-radius:inherit;background:#94a3b8}.attempt-progress-row strong{text-align:right;color:#334155}.attempt-progress-row.current i{background:linear-gradient(90deg,#2563eb,#7c3aed)}.attempt-progress-row.current span,.attempt-progress-row.current strong{color:#1d4ed8;font-weight:800}.analysis-empty-copy{color:var(--muted);font-size:.78rem}.analysis-justification .jg-block{margin-top:.5rem}
.analysis-admin-note{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid #bae6fd;border-radius:14px;background:#f0f9ff;color:#075985}.analysis-admin-note i{font-size:1.2rem}.analysis-admin-note strong,.analysis-admin-note span{display:block}.analysis-admin-note strong{font-size:.78rem}.analysis-admin-note span{font-size:.68rem}.theme-progress-list{display:grid;gap:.8rem;margin-top:1rem}.theme-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .7rem}.theme-progress-row strong,.theme-progress-row span{display:block}.theme-progress-row strong{font-size:.75rem;overflow-wrap:anywhere}.theme-progress-row span{font-size:.62rem;color:var(--muted)}.theme-progress-row>b{font-size:.72rem;color:#1d4ed8}.theme-progress-track{grid-column:1/-1;height:8px;border-radius:99px;background:#e2e8f0;overflow:hidden}.theme-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#60a5fa)}.analysis-time{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;margin:1rem 0;padding:.75rem;border-radius:12px;background:#eff6ff;color:#1e40af}.analysis-time span{font-size:.7rem}.analysis-time strong{font-size:.8rem}.related-module-list{display:grid;gap:.6rem;margin-top:1rem}.related-module-list>div{display:block;padding:.75rem;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#f8fafc}.related-module-list span,.related-module-list strong,.related-module-list small{display:block}.related-module-list span{font-size:.58rem;font-weight:800;text-transform:uppercase;color:#2563eb}.related-module-list strong{margin:.15rem 0;font-size:.74rem}.related-module-list small{font-size:.62rem;color:var(--muted)}.analysis-alt-status{display:grid;justify-items:end;gap:.25rem}.analysis-alt-status span{display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap;font-size:.58rem;font-weight:800}.analysis-alt-status i{margin:0}
@media(max-width:1100px){.analysis-grade{min-width:190px}.analysis-kpis{grid-template-columns:repeat(2,1fr)}.analysis-layout{grid-template-columns:minmax(0,1fr) 320px}}@media(max-width:991.98px){.analysis-hero{grid-template-columns:auto minmax(0,1fr)}.analysis-grade{grid-column:1/-1}.analysis-layout{grid-template-columns:1fr}.analysis-insights{position:static}.analysis-review{order:1}.analysis-insights{order:2}}@media(max-width:767.98px){.analysis-hero{grid-template-columns:1fr;padding:1.2rem;border-radius:20px}.analysis-score{width:94px;height:94px}.analysis-grade{min-width:0}.analysis-kpis{grid-template-columns:1fr 1fr}.analysis-kpis article{padding:.8rem}.analysis-panel{padding:1rem;border-radius:17px}.analysis-question-meta{gap:.3rem}.analysis-statement{font-size:.96rem}.analysis-alternative{padding:.7rem;grid-template-columns:28px minmax(0,1fr)}.analysis-alt-status{grid-column:2;justify-items:start}.question-map{gap:.32rem}.question-map button{width:32px;height:32px}.analysis-question-nav .btn{padding:.5rem .65rem}}@media(max-width:420px){.analysis-kpis{grid-template-columns:1fr}.analysis-grade{align-items:flex-start}.analysis-panel-head{align-items:flex-start}.analysis-question-nav .btn{font-size:.7rem}}
.analysis-ai-actions{display:grid;gap:.5rem;margin-bottom:1rem}.analysis-ai-workspace{margin:1rem 0;padding:1.25rem;border:1px solid #bfdbfe;border-radius:20px;background:linear-gradient(135deg,#eff6ff,#fff);box-shadow:var(--shadow);scroll-margin-top:85px}.analysis-ai-workspace[hidden]{display:none}.analysis-ai-workspace>header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.analysis-ai-workspace h2{margin:.15rem 0 0;font-size:1.25rem}.analysis-ai-workspace>header button{border:0;background:transparent;color:#64748b}.ai-loading,.ai-error{padding:1rem;border-radius:13px;background:#fff;color:#475569}.ai-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.ai-exercise-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ai-exercise-card{padding:1rem;border:1px solid #dbeafe;border-radius:16px;background:#fff}.ai-exercise-card h3{font-size:.92rem;line-height:1.5;margin:.7rem 0 1rem}.ai-exercise-meta{display:flex;justify-content:space-between;gap:.5rem}.ai-exercise-meta span{padding:.28rem .5rem;border-radius:99px;background:#eff6ff;color:#1d4ed8;font-size:.6rem;font-weight:800}.ai-exercise-options{display:grid;gap:.5rem}.ai-exercise-option{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:.55rem;width:100%;padding:.65rem;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:left;color:#334155;font-size:.74rem}.ai-exercise-option b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f1f5f9}.ai-exercise-option:not(:disabled):hover{border-color:#60a5fa;background:#eff6ff}.ai-exercise-option.correct{border-color:#86efac;background:#f0fdf4;color:#166534}.ai-exercise-option.wrong{border-color:#fca5a5;background:#fef2f2;color:#991b1b}.ai-exercise-option.selected{box-shadow:0 0 0 2px rgba(37,99,235,.15)}.ai-hint{margin-top:.7rem;font-size:.7rem;color:#475569}.ai-hint summary{cursor:pointer;font-weight:750;color:#2563eb}.ai-hint p{margin:.45rem 0 0}.ai-exercise-feedback{margin-top:.75rem;padding:.75rem;border-radius:11px;background:#f8fafc;font-size:.72rem;line-height:1.5}.ai-exercise-feedback strong,.ai-exercise-feedback p{display:block;margin:0}.ai-exercise-feedback p{margin-top:.3rem;color:#475569}.is-correct{color:#15803d}.is-wrong{color:#b91c1c}.ai-plan-intro{color:#334155}.ai-plan-phases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.ai-plan-phase{padding:1rem;border:1px solid #dbeafe;border-radius:15px;background:#fff}.ai-plan-phase-head{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:.55rem}.ai-plan-phase-head span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#2563eb;color:#fff;font-weight:850}.ai-plan-phase h3{font-size:.85rem;margin:0}.ai-plan-phase-head b{font-size:.62rem;color:#2563eb}.ai-plan-phase p,.ai-plan-phase li{font-size:.7rem;line-height:1.5;color:#475569}.ai-plan-phase p{margin:.7rem 0}.ai-plan-phase ul{margin:0;padding-left:1rem}.ai-plan-advice{margin-top:1rem;padding:.85rem;border-radius:12px;background:#172f70;color:#fff;font-size:.75rem}
@media(max-width:767.98px){.analysis-ai-workspace{padding:1rem}.ai-exercise-list,.ai-plan-phases{grid-template-columns:1fr}.ai-plan-phase-head{grid-template-columns:30px minmax(0,1fr)}.ai-plan-phase-head b{grid-column:2}}

/* Plan de estudio persistente */
.dashboard-plan-card{margin-top:1rem;padding:1rem 1.15rem;border:1px solid #bfdbfe;border-radius:17px;background:linear-gradient(125deg,#eff6ff,#fff);display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow)}
.dashboard-plan-icon{width:48px;height:48px;flex:0 0 auto;border-radius:14px;display:grid;place-items:center;background:#2563eb;color:#fff;font-size:1.2rem}
.dashboard-plan-copy{min-width:0;flex:1}.dashboard-plan-copy span,.dashboard-plan-copy strong,.dashboard-plan-copy small{display:block}.dashboard-plan-copy strong{font-size:.95rem;margin:.15rem 0}.dashboard-plan-copy small{font-size:.7rem;color:var(--muted)}
.dashboard-plan-card .btn{white-space:nowrap}
.study-plan-page{max-width:1500px;margin:auto}.study-plan-hero{padding:1.8rem 2rem;border-radius:23px;background:radial-gradient(circle at 85% 0,rgba(96,165,250,.3),transparent 34%),linear-gradient(125deg,#081225,#172f70);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:2rem;box-shadow:var(--shadow)}
.study-plan-hero .eyebrow{color:#7dd3fc}.study-plan-hero h1{margin:.25rem 0 .4rem;font-size:clamp(1.75rem,3vw,2.45rem);letter-spacing:-.035em}.study-plan-hero p{max-width:720px;margin:0;color:#bfdbfe;font-size:.86rem}.study-plan-hero .btn{white-space:nowrap;font-weight:750}
.study-plan-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1rem;margin-top:1rem;align-items:start}.study-plan-history,.study-plan-detail{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.study-plan-history{position:sticky;top:88px;overflow:hidden}.study-plan-history-title{padding:1.15rem;border-bottom:1px solid var(--line)}.study-plan-history-title h2{font-size:1.05rem;margin:.15rem 0}.study-plan-history-title small{font-size:.67rem;color:var(--muted)}.study-plan-history-list{display:grid;max-height:calc(100vh - 270px);overflow:auto}.study-plan-history-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.85rem 1rem;color:var(--ink);border-bottom:1px solid var(--line)}.study-plan-history-item:last-child{border-bottom:0}.study-plan-history-item:hover,.study-plan-history-item.active{background:#eff6ff}.study-plan-history-item.active{box-shadow:inset 3px 0 0 #2563eb}.study-plan-history-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#f1f5f9;color:#2563eb}.study-plan-history-copy{min-width:0}.study-plan-history-copy strong,.study-plan-history-copy small,.study-plan-history-copy em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-plan-history-copy strong{font-size:.76rem}.study-plan-history-copy small{font-size:.62rem;color:var(--muted);margin:.12rem 0}.study-plan-history-copy em{font-size:.6rem;color:#2563eb;font-style:normal;font-weight:750}.study-plan-history-item>i{font-size:.72rem;color:#94a3b8}
.study-plan-detail{padding:1.35rem}.study-plan-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.study-plan-summary h2{font-size:1.35rem;margin:.18rem 0}.study-plan-summary p{margin:0;color:var(--muted);font-size:.75rem}.study-plan-result{text-align:right;padding:.65rem .8rem;border-radius:13px;background:#f8fafc}.study-plan-result span,.study-plan-result strong,.study-plan-result small{display:block}.study-plan-result span{font-size:.6rem;color:var(--muted);text-transform:uppercase;font-weight:800;letter-spacing:.05em}.study-plan-result strong{font-size:1.25rem;color:#2563eb}.study-plan-result small{font-size:.58rem;color:#64748b}.study-plan-introduction{margin:1rem 0;color:#334155;font-size:.84rem;line-height:1.65}.study-plan-phases{display:grid;gap:.8rem}.study-plan-phase-card{border:1px solid #dbeafe;border-radius:16px;padding:1rem;background:linear-gradient(135deg,#fff,#f8fbff)}.study-plan-phase-card>header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:.75rem}.study-plan-phase-card>header>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#2563eb;color:#fff;font-weight:850}.study-plan-phase-card header small{display:block;color:#2563eb;font-size:.58rem;font-weight:800;text-transform:uppercase}.study-plan-phase-card h3{font-size:.94rem;margin:.08rem 0}.study-plan-phase-card header b{font-size:.65rem;color:#1d4ed8;background:#eff6ff;padding:.4rem .55rem;border-radius:9px}.study-plan-phase-card>p{margin:.8rem 0;color:#475569;font-size:.74rem;line-height:1.55}.study-plan-activities{padding:.8rem;border-radius:12px;background:#fff;border:1px solid var(--line)}.study-plan-activities>strong{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:#475569}.study-plan-activities ul{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.4rem}.study-plan-activities li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:.4rem;font-size:.72rem;color:#334155}.study-plan-activities li i{color:#16a34a}.study-plan-advice{display:flex;align-items:flex-start;gap:.8rem;margin-top:1rem;padding:1rem;border-radius:14px;background:#172f70;color:#fff}.study-plan-advice>i{font-size:1.2rem;color:#fde68a}.study-plan-advice span{font-size:.62rem;color:#93c5fd;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.study-plan-advice p{margin:.2rem 0 0;font-size:.75rem;line-height:1.55}.study-plan-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}.study-plan-notice{padding:1rem;border-radius:13px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.study-plan-empty{margin-top:1rem;padding:4rem 1rem;border:1px dashed #bfdbfe;border-radius:20px;background:#fff;text-align:center}.study-plan-empty>i{font-size:2.4rem;color:#2563eb}.study-plan-empty h2{font-size:1.25rem;margin:.7rem 0}.study-plan-empty p{max-width:620px;margin:0 auto 1.2rem;color:var(--muted);font-size:.82rem}.ai-plan-actions{display:flex;justify-content:flex-end;margin-top:1rem}
@media(max-width:991.98px){.study-plan-layout{grid-template-columns:1fr}.study-plan-history{position:static}.study-plan-history-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.study-plan-history-item{border-right:1px solid var(--line)}}
@media(max-width:767.98px){.dashboard-plan-card{align-items:flex-start;flex-wrap:wrap}.dashboard-plan-copy{min-width:calc(100% - 64px)}.dashboard-plan-card .btn{width:100%}.study-plan-hero{padding:1.3rem;align-items:flex-start;flex-direction:column;gap:1rem}.study-plan-hero .btn{width:100%}.study-plan-detail{padding:1rem}.study-plan-history-list{grid-template-columns:1fr}.study-plan-summary{display:grid}.study-plan-result{text-align:left}.study-plan-phase-card>header{grid-template-columns:36px minmax(0,1fr)}.study-plan-phase-card header b{grid-column:2;justify-self:start}.study-plan-actions{display:grid}.study-plan-actions .btn{width:100%}}
@media print{.sidebar,.sidebar-backdrop,.platform-topbar,.mobile-bottom-nav,.study-plan-hero .btn,.study-plan-history,.study-plan-actions{display:none!important}.platform-grid{display:block}.platform-main{grid-column:auto}.platform-content{padding:0}.study-plan-layout{display:block}.study-plan-detail{border:0;box-shadow:none;padding:0}.study-plan-hero{background:#fff!important;color:#0f172a;padding:0 0 1rem;box-shadow:none}.study-plan-hero .eyebrow,.study-plan-hero p{color:#334155}.study-plan-phase-card{break-inside:avoid}.study-plan-advice{background:#f1f5f9;color:#0f172a}.study-plan-advice span{color:#475569}}

/* Catálogo y ensayo por tema */
.topic-catalog,.topic-attempt{max-width:1500px;margin:auto}.topic-catalog-hero,.topic-attempt-hero{padding:1.7rem 1.9rem;border-radius:23px;background:radial-gradient(circle at 82% 0,rgba(56,189,248,.28),transparent 34%),linear-gradient(125deg,#081225,#173c72);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem;box-shadow:var(--shadow)}.topic-catalog-hero .eyebrow{color:#7dd3fc}.topic-catalog-hero h1,.topic-attempt-hero h1{margin:.25rem 0 .4rem;font-size:clamp(1.55rem,3vw,2.3rem);letter-spacing:-.035em}.topic-catalog-hero p,.topic-attempt-hero p{margin:0;max-width:760px;color:#bfdbfe;font-size:.82rem;line-height:1.55}.topic-catalog-hero .btn{white-space:nowrap}.topic-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.topic-area-card{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) auto 20px;align-items:center;gap:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.topic-area-card:hover{border-color:#93c5fd;transform:translateY(-1px)}.topic-area-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#eff6ff;color:#2563eb;font-size:1.25rem}.topic-area-card small,.topic-area-card h2,.topic-area-card p{display:block;margin:0}.topic-area-card small{font-size:.62rem;color:var(--muted)}.topic-area-card h2{font-size:.92rem;margin:.12rem 0}.topic-area-card p{font-size:.65rem;color:#64748b}.topic-area-access{font-size:.61rem;font-weight:800;padding:.3rem .55rem;border-radius:99px;white-space:nowrap}.topic-area-access.premium{background:#dcfce7;color:#166534}.topic-area-access.free{background:#fef3c7;color:#92400e}.topic-area-card>i{color:#94a3b8}.topic-pending-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1rem}.topic-pending-list>a{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.8rem 1rem;border-radius:14px;border:1px solid #fde68a;background:#fffbeb;color:#92400e}.topic-pending-list>a>i{font-size:1.05rem}.topic-pending-list strong,.topic-pending-list span{display:block}.topic-pending-list strong{font-size:.75rem}.topic-pending-list span{font-size:.63rem;color:#a16207}.topic-pending-list b{font-size:.68rem}.topic-catalog-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1rem 0}.topic-catalog-stats article{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.topic-catalog-stats article>i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eff6ff;color:#2563eb}.topic-catalog-stats span,.topic-catalog-stats strong{display:block}.topic-catalog-stats span{font-size:.63rem;color:var(--muted)}.topic-catalog-stats strong{font-size:.86rem}.topic-groups{display:grid;gap:.75rem}.topic-group{border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden;box-shadow:var(--shadow)}.topic-group-toggle{width:100%;border:0;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;color:var(--ink)}.topic-group-toggle>span{display:flex;align-items:center;gap:.65rem}.topic-group-toggle>span:first-child i{color:#2563eb}.topic-group-toggle strong{font-size:.86rem;text-align:left}.topic-group-toggle b{font-size:.62rem;color:#475569;background:#f1f5f9;padding:.3rem .5rem;border-radius:99px}.topic-subtheme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:1rem;background:#f8fafc;border-top:1px solid var(--line)}.topic-subtheme-card{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--line);border-radius:15px;background:#fff}.topic-subtheme-head{display:flex;justify-content:space-between;gap:.7rem}.topic-subtheme-head span{font-size:.56rem;text-transform:uppercase;color:#2563eb;font-weight:800;letter-spacing:.06em}.topic-subtheme-head h3{font-size:.82rem;line-height:1.35;margin:.15rem 0}.topic-subtheme-head>b{min-width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-size:.72rem}.topic-start-form{display:flex;flex-direction:column;margin-top:auto;padding-top:.8rem}.topic-start-form label{font-size:.62rem;color:#64748b;font-weight:700}.topic-start-form select{display:block;width:100%;margin-top:.3rem;padding:.5rem .6rem;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;font-size:.7rem}.topic-free-note{margin:0 0 .5rem;font-size:.63rem;color:#64748b}.topic-mode-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.6rem}.topic-mode-actions .btn{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.45rem;padding:.55rem;text-align:left}.topic-mode-actions .btn>span>*{display:block}.topic-mode-actions strong{font-size:.69rem}.topic-mode-actions small{font-size:.53rem;font-weight:500;opacity:.8}.topic-limit{display:flex;align-items:center;gap:.8rem;margin-top:1rem;padding:1rem;border:1px solid #fde68a;border-radius:15px;background:#fffbeb;color:#92400e}.topic-limit>i{font-size:1.1rem}.topic-limit>div{flex:1}.topic-limit strong,.topic-limit span{display:block}.topic-limit strong{font-size:.78rem}.topic-limit span{font-size:.64rem}.topic-attempt-hero{margin-bottom:1rem}.topic-attempt-hero .practice-mode{color:#bae6fd}.topic-attempt-meta{display:flex;gap:.55rem}.topic-attempt-meta>span{min-width:105px;padding:.65rem;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.07);font-size:.57rem;color:#93c5fd;text-transform:uppercase}.topic-attempt-meta strong{display:block;margin-top:.15rem;color:#fff;font-size:.72rem;text-transform:none}.topic-attempt-progress{position:sticky;top:72px;z-index:10;display:grid;grid-template-columns:auto minmax(130px,1fr) auto;align-items:center;gap:.8rem;padding:.75rem 1rem;margin-bottom:1rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.topic-attempt-progress>div:first-child{display:flex;align-items:baseline;gap:.35rem}.topic-attempt-progress strong{font-size:.88rem}.topic-attempt-progress span{font-size:.62rem;color:var(--muted)}.topic-attempt-progress>div:nth-child(2){height:7px;border-radius:99px;background:#e2e8f0;overflow:hidden}.topic-attempt-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#38bdf8);transition:.2s}.topic-question-list{display:grid;gap:.8rem}.topic-question-card{border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden;box-shadow:var(--shadow);scroll-margin-top:145px}.topic-question-card.answered{border-color:#bfdbfe}.topic-question-card>header{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1rem;border-bottom:1px solid var(--line);background:#f8fafc}.topic-question-card>header span{font-size:.63rem;font-weight:800;text-transform:uppercase;color:#64748b}.topic-question-card>header b{font-size:.58rem;color:#94a3b8}.topic-question-card.answered>header b{color:#15803d}.topic-question-card .question-statement{padding:1rem;font-size:.87rem;line-height:1.6;overflow-x:auto}.topic-question-card .question-statement img,.topic-question-option img{max-width:100%;height:auto}.topic-question-options{display:grid;gap:.45rem;padding:0 1rem 1rem}.topic-question-option{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:.65rem;width:100%;padding:.7rem;border:1px solid var(--line);border-radius:11px;background:#fff;color:#334155;text-align:left;font-size:.76rem}.topic-question-option:hover{border-color:#93c5fd;background:#eff6ff}.topic-question-option>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f1f5f9;font-weight:800}.topic-question-option.selected{border-color:#60a5fa;background:#eff6ff;box-shadow:0 0 0 2px rgba(37,99,235,.1)}.topic-question-option.selected>span{background:#2563eb;color:#fff}.topic-attempt-actions{position:sticky;bottom:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 -8px 25px rgba(15,23,42,.07)}.topic-attempt-actions>div{display:flex;align-items:center;gap:.8rem}.topic-attempt-actions span{font-size:.62rem;color:var(--muted)}
@media(max-width:1100px){.topic-subtheme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.topic-catalog-hero,.topic-attempt-hero{padding:1.25rem;align-items:flex-start;flex-direction:column;gap:1rem}.topic-catalog-hero .btn{width:100%}.topic-area-grid,.topic-pending-list,.topic-catalog-stats,.topic-subtheme-grid{grid-template-columns:1fr}.topic-area-card{grid-template-columns:44px minmax(0,1fr) 18px}.topic-area-icon{width:42px;height:42px}.topic-area-access{grid-column:2;justify-self:start}.topic-area-card>i{grid-column:3;grid-row:1/3}.topic-group-toggle{align-items:flex-start}.topic-group-toggle>span:last-child{flex-direction:column;align-items:flex-end}.topic-attempt-meta{width:100%}.topic-attempt-meta>span{flex:1}.topic-attempt-progress{top:72px;grid-template-columns:auto minmax(70px,1fr)}.topic-attempt-progress>span{grid-column:1/-1;text-align:right}.topic-attempt-actions{align-items:stretch;flex-direction:column}.topic-attempt-actions>a{width:100%}.topic-attempt-actions>div{display:grid}.topic-attempt-actions button{width:100%}.topic-attempt-actions span{text-align:center}.topic-limit{align-items:flex-start;flex-wrap:wrap}.topic-limit .btn{width:100%}}

/* Ensayos completos MVC */
.exam-catalog,.exam-attempt{max-width:1500px;margin:auto}.exam-catalog-hero{padding:1.7rem 1.9rem;border-radius:23px;background:radial-gradient(circle at 82% 0,rgba(56,189,248,.28),transparent 34%),linear-gradient(125deg,#081225,#173c72);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem;box-shadow:var(--shadow)}.exam-catalog-hero .eyebrow{color:#7dd3fc}.exam-catalog-hero h1{margin:.25rem 0 .4rem;font-size:clamp(1.55rem,3vw,2.3rem)}.exam-catalog-hero p{margin:0;max-width:760px;color:#bfdbfe;font-size:.82rem}.exam-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.exam-area-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto 20px;align-items:center;gap:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.exam-area-card:hover{border-color:#93c5fd;transform:translateY(-1px)}.exam-area-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#eff6ff;color:#2563eb;font-size:1.25rem}.exam-area-card h2,.exam-area-card p{margin:0}.exam-area-card h2{font-size:.92rem;margin:.12rem 0}.exam-area-card small,.exam-area-card p{font-size:.63rem;color:var(--muted)}.exam-pending{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:.8rem;margin-top:1rem;padding:1rem;border:1px solid #fde68a;border-radius:15px;background:#fffbeb;color:#92400e}.exam-pending>i{font-size:1.2rem}.exam-pending strong,.exam-pending span{display:block}.exam-pending strong{font-size:.8rem}.exam-pending span{font-size:.65rem}.exam-pending>b{font-size:.7rem}.exam-info-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1rem 0}.exam-info-row article{display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:15px;background:#fff}.exam-info-row i{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eff6ff;color:#2563eb}.exam-info-row strong,.exam-info-row span{display:block}.exam-info-row strong{font-size:.85rem}.exam-info-row span{font-size:.63rem;color:var(--muted)}.exam-year-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.exam-year-card{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.exam-year-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#eef2ff;color:#4338ca;font-size:1.2rem}.exam-year-card span{font-size:.58rem;color:#2563eb;font-weight:800;text-transform:uppercase}.exam-year-card h2{font-size:1rem;margin:.1rem 0}.exam-year-card p{margin:0;color:var(--muted);font-size:.65rem}.exam-year-card .btn{white-space:nowrap;font-size:.72rem}
.exam-attempt-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.2rem 1.4rem;border-radius:20px;background:linear-gradient(125deg,#081225,#173c72);color:#fff}.exam-attempt-head h1{font-size:1.35rem;margin:.45rem 0 .1rem}.exam-attempt-head p{margin:0;color:#bfdbfe;font-size:.7rem}.exam-timer{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;border:1px solid rgba(255,255,255,.17);border-radius:14px;background:rgba(255,255,255,.08)}.exam-timer>i{font-size:1.2rem;color:#7dd3fc}.exam-timer span,.exam-timer strong{display:block}.exam-timer span{font-size:.58rem;color:#bfdbfe}.exam-timer strong{font-size:1rem;letter-spacing:.04em}.exam-workspace{display:grid;grid-template-columns:245px minmax(0,1fr);gap:1rem;align-items:start}.exam-navigator,.exam-question-pane{border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:var(--shadow)}.exam-navigator{position:sticky;top:88px;padding:1rem}.exam-nav-progress{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:.35rem}.exam-nav-progress strong{font-size:1rem}.exam-nav-progress>span{font-size:.62rem;color:var(--muted)}.exam-nav-progress>div{grid-column:1/-1;height:7px;border-radius:99px;background:#e2e8f0;overflow:hidden}.exam-nav-progress i{display:block;height:100%;background:#2563eb}.exam-number-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem;margin:1rem 0}.exam-number-grid button{aspect-ratio:1;border:1px solid #dbe3ee;border-radius:8px;background:#fff;color:#64748b;font-size:.67rem;font-weight:800}.exam-number-grid button.answered{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8}.exam-number-grid button.marked{box-shadow:inset 0 -3px 0 #f59e0b}.exam-number-grid button.active{outline:3px solid rgba(37,99,235,.2);border-color:#2563eb}.exam-nav-legend{display:flex;gap:.7rem;padding-bottom:.8rem;border-bottom:1px solid var(--line)}.exam-nav-legend span{display:flex;align-items:center;gap:.3rem;font-size:.57rem;color:var(--muted)}.exam-nav-legend i{width:10px;height:10px;border-radius:3px}.exam-nav-legend i.answered{background:#dbeafe}.exam-nav-legend i.marked{background:#f59e0b}.exam-navigator>a{display:block;margin-top:.8rem;text-align:center;font-size:.68rem;font-weight:750}.exam-question-pane{padding:1.25rem}.exam-question{display:none;min-height:430px}.exam-question.active{display:block}.exam-question-top{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.exam-question-top>span{font-size:.68rem;color:#64748b;font-weight:800;text-transform:uppercase}.exam-question-top button{border:0;background:transparent;color:#64748b;font-size:.68rem;font-weight:750}.exam-question-top button.active{color:#d97706}.exam-question .question-statement{font-size:1rem}.exam-options{display:grid;gap:.7rem}.exam-option{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:.7rem;width:100%;padding:.85rem;border:1px solid var(--line);border-radius:13px;background:#fff;color:#334155;text-align:left;font-size:.8rem}.exam-option:hover{border-color:#93c5fd;background:#f8fbff}.exam-option>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#f1f5f9;font-weight:850}.exam-option.selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 2px rgba(37,99,235,.09)}.exam-option.selected>span{background:#2563eb;color:#fff}.exam-question-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-top:1rem;border-top:1px solid var(--line)}.exam-question-actions>span{font-size:.62rem;color:var(--muted)}.exam-finish-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem;border-radius:14px;background:#f8fafc}.exam-finish-row strong,.exam-finish-row span{display:block}.exam-finish-row strong{font-size:.75rem}.exam-finish-row span{font-size:.62rem;color:var(--muted)}.exam-finish-row .btn{white-space:nowrap;font-size:.72rem}
@media(max-width:991.98px){.exam-workspace{grid-template-columns:1fr}.exam-navigator{position:static}.exam-number-grid{grid-template-columns:repeat(10,1fr)}}
@media(max-width:767.98px){.exam-catalog-hero{padding:1.25rem;align-items:flex-start;flex-direction:column;gap:1rem}.exam-catalog-hero .btn{width:100%}.exam-area-grid,.exam-info-row,.exam-year-grid{grid-template-columns:1fr}.exam-area-card{grid-template-columns:44px minmax(0,1fr) 18px}.exam-area-card .topic-area-access{grid-column:2}.exam-year-card{grid-template-columns:44px minmax(0,1fr)}.exam-year-card form{grid-column:1/-1}.exam-year-card .btn{width:100%}.exam-attempt-head{align-items:flex-start;flex-direction:column}.exam-timer{width:100%}.exam-number-grid{grid-template-columns:repeat(6,1fr)}.exam-question-pane{padding:1rem}.exam-question{min-height:0}.exam-question-top{align-items:flex-start;flex-direction:column}.exam-question-actions{flex-wrap:wrap}.exam-question-actions>span{order:-1;width:100%;text-align:center}.exam-finish-row{align-items:stretch;flex-direction:column}.exam-finish-row .btn{width:100%}.exam-pending{grid-template-columns:34px minmax(0,1fr)}.exam-pending>b{grid-column:2}}

/* Resultado del diagnóstico inicial */
.diagnostic-result-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:1.2rem;margin-top:1rem;padding:1.35rem;border:1px solid #bfdbfe;border-radius:22px;background:linear-gradient(135deg,#eff6ff,#fff);box-shadow:var(--shadow)}
.diagnostic-result-copy h2{margin:.25rem 0 .4rem;font-size:1.35rem}.diagnostic-result-copy>p{max-width:720px;margin:0;color:#475569;font-size:.82rem;line-height:1.55}.diagnostic-result-card.tone-strong{border-color:#86efac;background:linear-gradient(135deg,#f0fdf4,#fff)}.diagnostic-result-card.tone-priority{border-color:#fed7aa;background:linear-gradient(135deg,#fff7ed,#fff)}
.diagnostic-result-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.diagnostic-result-actions form{margin:0}.diagnostic-result-actions .btn{border-radius:11px;font-size:.77rem;font-weight:750}
.diagnostic-map{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.diagnostic-map>div{padding:.85rem;border:1px solid #dbeafe;border-radius:15px;background:rgba(255,255,255,.8)}.diagnostic-map>div>span{display:block;margin-bottom:.5rem;color:#64748b;font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.diagnostic-map p{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;margin:.4rem 0;font-size:.68rem}.diagnostic-map p strong{font-weight:700}.diagnostic-map p b{color:#1d4ed8}
@media(max-width:991.98px){.diagnostic-result-card{grid-template-columns:1fr}}
@media(max-width:600px){.diagnostic-result-card{padding:1rem;border-radius:18px}.diagnostic-map{grid-template-columns:1fr}.diagnostic-result-actions{display:grid}.diagnostic-result-actions .btn{width:100%}}
