:root{
  --blue:#0059b8;
  --blue2:#003b78;
  --dark:#07111f;
  --dark2:#0b1b2f;
  --silver:#d8dde5;
  --silver2:#f3f5f8;
  --white:#ffffff;
  --text:#172033;
  --muted:#647084;
  --danger:#c92626;
  --ok:#0d8f58;
  --warn:#c27a00;
  --shadow:0 20px 50px rgba(5, 18, 38, .15);
  --radius:22px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at top left,#e8f2ff 0,#f7f9fc 38%,#eef2f7 100%);color:var(--text)}
body.exam-mode{user-select:none}
body.exam-mode input,body.exam-mode textarea{user-select:text}
.app-shell{min-height:100vh;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px;background:rgba(7,17,31,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12);color:#fff}
.brand{display:flex;align-items:center;gap:14px;min-width:280px}.brand-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),#00a2ff);font-weight:900;font-size:25px;box-shadow:0 0 0 2px rgba(255,255,255,.15) inset}.brand strong{display:block;font-size:18px;letter-spacing:.4px}.brand span{display:block;color:#c9d6e9;font-size:13px}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);border-radius:999px;padding:8px 12px;font-size:13px}.pill.danger{background:rgba(201,38,38,.18);border-color:rgba(255,70,70,.35);font-weight:800}.view{display:none;padding:30px clamp(16px,3vw,44px);width:100%}.view.active{display:block}.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:24px;align-items:stretch;max-width:1220px;margin:0 auto}.hero-card,.panel,.result-card,.certificate-panel,.exam-sidebar,.exam-area{background:rgba(255,255,255,.92);border:1px solid rgba(0,89,184,.12);box-shadow:var(--shadow);border-radius:var(--radius)}.hero-card{position:relative;overflow:hidden;padding:38px}.hero-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,89,184,.13),transparent 44%),radial-gradient(circle at bottom right,rgba(7,17,31,.12),transparent 36%);pointer-events:none}.hero-card>*{position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--blue);font-weight:800;font-size:12px}.hero-card h1,.panel h1,.result-card h1,.exam-area h1{font-size:clamp(34px,5vw,56px);line-height:1;margin:12px 0 18px;color:var(--dark)}.panel h2,.exam-sidebar h2,.certificate-panel h2{margin:0 0 18px;color:var(--dark)}.hero-card p{font-size:18px;line-height:1.65;color:#344056;max-width:760px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0}.metrics div{background:linear-gradient(180deg,#fff,#eff5ff);border:1px solid #dbe7f7;border-radius:18px;padding:18px;text-align:center}.metrics b{font-size:30px;color:var(--blue);display:block}.metrics span{font-size:13px;color:var(--muted);font-weight:700}.notice,.warning{border-left:5px solid var(--blue);background:#edf6ff;border-radius:14px;padding:15px 16px;color:#26384f;line-height:1.45}.warning{border-left-color:var(--warn);background:#fff7e6}.panel{padding:28px}.panel.wide{max-width:1180px;margin:0 auto}.studentForm{}label{display:block;font-weight:800;margin:15px 0 6px}input[type=text],input[type=email],textarea{width:100%;border:1px solid #d6deea;border-radius:14px;padding:13px 14px;font-size:15px;outline:none;background:#fff;color:var(--text)}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,89,184,.12)}.checkline{display:flex;gap:10px;align-items:flex-start;font-weight:600;color:#3d4a5f;line-height:1.4}.checkline input{margin-top:3px}.btn{appearance:none;border:0;border-radius:14px;background:#edf1f7;color:#122033;font-weight:900;padding:12px 16px;cursor:pointer;transition:.18s transform,.18s box-shadow,.18s background;display:inline-flex;justify-content:center;align-items:center;gap:8px}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(0,0,0,.08)}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}.btn.ghost{background:transparent;border:1px solid #d6deea}.btn.danger-outline{background:#fff;border:1px solid rgba(201,38,38,.35);color:var(--danger)}form .btn{width:100%;margin-top:12px}.mini-actions{display:flex;gap:10px;margin-top:14px}.mini-actions .btn{flex:1}.muted{color:var(--muted);line-height:1.5}.small{font-size:13px}.exam-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;max-width:1360px;margin:0 auto}.exam-sidebar{position:sticky;top:88px;align-self:start;padding:22px}.timer-box{background:linear-gradient(135deg,#061123,#123b78);color:white;border-radius:20px;padding:18px;margin-bottom:16px}.timer-box span{display:block;color:#bfd7ff;font-size:13px;font-weight:700}.timer-box strong{font-size:42px;letter-spacing:1px}.progress-card,.attempt-card{background:#f7f9fc;border:1px solid #dfe7f1;border-radius:18px;padding:16px;margin-bottom:14px}.progress-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.bar{height:10px;background:#dce5f2;border-radius:99px;overflow:hidden}.bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),#00a2ff);transition:width .2s}.attempt-card p{margin:8px 0;color:#3e4c60}.sidebar-actions{display:grid;gap:10px;margin-bottom:14px}.exam-area{padding:24px}.exam-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e3e9f2;padding-bottom:18px;margin-bottom:18px}.exam-title-row h1{font-size:34px;margin:6px 0 0}.questions-container{display:grid;gap:16px}.question-card{border:1px solid #dce5f2;background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(15,35,65,.05)}.question-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.q-number{background:linear-gradient(135deg,var(--blue),#00a2ff);color:white;min-width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:900}.question-title{margin:0;color:#172033;line-height:1.5}.topic-tag{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800;margin-bottom:4px}.options{display:grid;gap:10px;margin-top:12px}.option{display:flex;gap:10px;align-items:flex-start;border:1px solid #dce5f2;border-radius:14px;padding:12px;background:#f9fbfe;cursor:pointer}.option:hover{border-color:#b7c9e3;background:#f3f8ff}.option input{margin-top:3px}.fill-input{margin-top:12px;max-width:640px}.toast{position:fixed;right:20px;bottom:20px;z-index:100;background:#07111f;color:white;border-radius:16px;padding:14px 18px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.result-shell{max-width:1180px;margin:0 auto;display:grid;gap:24px}.result-card{padding:30px}.score-badge{display:inline-grid;place-items:center;width:164px;height:164px;border-radius:50%;background:linear-gradient(135deg,var(--blue),#001d43);color:white;margin:8px 0 20px;box-shadow:0 22px 45px rgba(0,89,184,.25)}.score-badge strong{font-size:46px}.score-badge span{font-size:13px;color:#cfe4ff;font-weight:800}.status-ok{color:var(--ok)}.status-bad{color:var(--danger)}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.result-grid div{border:1px solid #dce5f2;background:#f8fafc;border-radius:16px;padding:15px}.result-grid b{display:block;font-size:22px;color:var(--dark)}.result-actions,.cert-actions,.history-actions{display:flex;gap:10px;flex-wrap:wrap}.certificate-panel{padding:24px}.certificate-panel.hidden{display:none}#certificateCanvas{width:100%;height:auto;display:block;border-radius:16px;border:1px solid #dce5f2;background:#fff;margin:16px 0}.history-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.history-header h1{margin:6px 0 0}.history-table{width:100%;border-collapse:collapse;background:white;border-radius:16px;overflow:hidden}.history-table th,.history-table td{padding:12px;border-bottom:1px solid #e5ebf3;text-align:left;font-size:14px}.history-table th{background:#07111f;color:#fff}.badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.badge.ok{background:#e6f7ee;color:#067144}.badge.bad{background:#ffecec;color:#b91c1c}.footer{margin-top:auto;display:flex;justify-content:space-between;gap:16px;padding:18px 24px;color:#738096;font-size:13px}@media(max-width:960px){.hero-grid,.exam-layout{grid-template-columns:1fr}.exam-sidebar{position:relative;top:auto}.metrics{grid-template-columns:repeat(2,1fr)}.result-grid{grid-template-columns:repeat(2,1fr)}.topbar,.footer,.exam-title-row,.history-header{flex-direction:column;align-items:flex-start}.top-actions{width:100%}.pill{justify-content:center}.mini-actions{flex-direction:column}}@media(max-width:560px){.view{padding:18px 12px}.hero-card,.panel,.exam-area,.exam-sidebar,.result-card,.certificate-panel{padding:18px;border-radius:18px}.metrics,.result-grid{grid-template-columns:1fr}.brand span{display:none}.question-head{flex-direction:column}.timer-box strong{font-size:34px}}
@media print{body:before{content:"Impresión deshabilitada para esta evaluación";font-size:24px;color:#111}body *{display:none!important}}
.top-link{color:#fff;text-decoration:none}.admin-actions{align-items:center}.admin-actions input{min-width:320px;max-width:420px}.admin-metrics{grid-template-columns:repeat(5,1fr);margin:10px 0 22px}.badge.warn{background:#fff7e6;color:#a16207}.history-table code{font-family:Consolas,monospace;font-size:12px;background:#eef3fb;border:1px solid #d8e2ef;padding:3px 5px;border-radius:6px}@media(max-width:960px){.admin-metrics{grid-template-columns:repeat(2,1fr)}.admin-actions input{min-width:100%;max-width:100%}}

/* Pantalla de broma antes del certificado aprobado */
.prank-card{background:linear-gradient(180deg,#fff,#fff7f7);border-color:rgba(201,38,38,.28)}
.fake-system-alert{position:relative;overflow:hidden;border-radius:20px;padding:4px}.fake-system-alert:before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at top right,rgba(201,38,38,.16),transparent 34%),radial-gradient(circle at bottom left,rgba(7,17,31,.12),transparent 38%);pointer-events:none}.fake-system-alert>*{position:relative}.danger-text{color:var(--danger)}.alert-meter{display:inline-flex;align-items:center;gap:14px;background:#fff;border:1px solid rgba(201,38,38,.25);border-radius:18px;padding:14px 18px;margin:8px 0 14px;box-shadow:0 16px 34px rgba(201,38,38,.11)}.alert-meter strong{font-size:44px;color:var(--danger);line-height:1}.alert-meter span{font-weight:900;color:#521919;text-transform:uppercase;letter-spacing:.04em;font-size:12px}.btn.danger-solid{background:linear-gradient(135deg,#c92626,#7f1111);color:#fff}.celebration-card{position:relative;overflow:hidden}.celebration-card:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at top right,rgba(13,143,88,.14),transparent 34%),radial-gradient(circle at bottom left,rgba(0,89,184,.14),transparent 38%);pointer-events:none}.celebration-card>*{position:relative}.laugh-line{display:inline-flex;background:linear-gradient(135deg,#07111f,#0b315f);color:#fff;border-radius:999px;padding:12px 16px;font-weight:1000;letter-spacing:.02em;margin-bottom:14px}.celebration-score{background:linear-gradient(135deg,#0d8f58,#0059b8)}.personal-message{background:#f8fbff;border:1px solid #dce7f5;border-radius:18px;padding:18px 20px;margin:18px 0;line-height:1.65}.personal-message p{margin:8px 0}.signature-line{margin-top:16px!important;color:#0b315f;text-transform:uppercase;letter-spacing:.02em}
@media(max-width:560px){.alert-meter{display:flex;align-items:flex-start}.alert-meter strong{font-size:36px}.laugh-line{border-radius:18px;line-height:1.3}}
.version-pill{position:fixed;right:12px;bottom:10px;z-index:9999;background:#071325;color:#9fb7ff;border:1px solid rgba(0,86,179,.35);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700;letter-spacing:.02em;opacity:.72;pointer-events:none}

/* Revisión de examen corregido */
.review-panel{background:rgba(255,255,255,.95);border:1px solid rgba(0,89,184,.12);box-shadow:var(--shadow);border-radius:var(--radius);padding:24px}.review-panel.hidden{display:none}.review-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.review-header h2{margin:8px 0 6px;color:var(--dark)}.review-summary{display:flex;gap:10px;flex-wrap:wrap}.review-chip{display:inline-flex;border-radius:999px;padding:9px 12px;font-weight:900}.review-chip.ok{background:#e6f7ee;color:#067144}.review-chip.bad{background:#ffecec;color:#b91c1c}.review-list{display:grid;gap:14px}.review-item{border:1px solid #dce5f2;background:#fff;border-radius:18px;padding:16px}.review-item.correct{border-left:6px solid var(--ok)}.review-item.incorrect{border-left:6px solid var(--danger)}.review-item-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:flex-start}.review-item h3{margin:0;line-height:1.45;color:#172033}.small-q{min-width:36px;height:36px;border-radius:12px;font-size:14px}.review-status{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:1000;white-space:nowrap}.review-status.correct{background:#e6f7ee;color:#067144}.review-status.incorrect{background:#ffecec;color:#b91c1c}.review-options{display:grid;gap:8px;margin:14px 0}.review-option{display:flex;align-items:center;gap:8px;border:1px solid #dce5f2;background:#f9fbfe;border-radius:12px;padding:10px 12px;line-height:1.35}.review-option.expected{border-color:rgba(13,143,88,.45);background:#effaf4}.review-option.selected-wrong{border-color:rgba(201,38,38,.45);background:#fff1f1}.review-option.selected-ok{border-color:rgba(13,143,88,.65);background:#e6f7ee}.review-option span,.review-option em{margin-left:auto;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900;font-style:normal}.review-option span{background:#d9f5e6;color:#067144}.review-option em{background:#ffe0e0;color:#a21717}.answer-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.answer-compare div{border:1px solid #e0e7f1;background:#f8fafc;border-radius:14px;padding:12px}.answer-compare span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.answer-compare b{display:block;color:#111827;line-height:1.35}.empty-answer{color:#b91c1c!important}@media(max-width:720px){.review-header,.review-item-head{grid-template-columns:1fr}.review-header{display:block}.answer-compare{grid-template-columns:1fr}.review-status{justify-self:flex-start}.mini-actions{display:grid;grid-template-columns:1fr}}
