/* ==========================================================================
   Nexo · repaso espaciado y simulacro de examen
   ========================================================================== */

/* Insignia de tarjetas pendientes en la navegación */
.nav-badge { margin-left:auto;min-width:17px;height:17px;padding:0 5px;border-radius:99px;
             background:var(--peach);color:white;font-size:8px;font-weight:800;display:grid;place-items:center; }
.nav-badge.hidden { display:none; }

/* --------------------------------- Repaso --------------------------------- */
.review-layout { display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start;margin-bottom:10px; }
.review-card { background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);
               box-shadow:var(--shadow);padding:clamp(24px,3.5vw,38px);min-height:340px;
               display:flex;flex-direction:column;gap:14px; }
.review-progress { display:flex;justify-content:space-between;font-size:9px;color:var(--muted);font-weight:700; }
.review-score { color:var(--purple); }
.card-face h2 { font-size:clamp(18px,2vw,23px);line-height:1.4;letter-spacing:-.4px;margin:6px 0 0; }
.card-back { border-top:1px dashed var(--line);padding-top:14px; }
.card-answer { font-size:12px;line-height:1.7;color:#4d4b5c; }
.card-answer .md-p { margin:0 0 8px; }
.card-answer .md-p:last-child { margin-bottom:0; }
.card-actions { margin-top:auto; }
.card-judgement { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto; }
.judge-button { border:1px solid var(--line);border-radius:12px;padding:14px;font-size:12px;font-weight:750;
                background:white;transition:.16s ease; }
.judge-button.acierto { background:var(--mint-soft);color:#3f8f6d;border-color:#bfe4d3; }
.judge-button.fallo { background:#fff0ee;color:#9b4b46;border-color:#f3d4d0; }
.judge-button:hover { transform:translateY(-1px); }
.card-source { margin:0;font-size:8px;color:#a5a2b0;text-align:center; }

.box-chart { display:flex;align-items:flex-end;justify-content:space-between;gap:8px;height:120px;
             padding:16px 4px 0;border-bottom:1px solid var(--line);margin-top:14px; }
.box-col { flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;height:100%; }
.box-bar { position:relative;width:min(26px,80%);min-height:4px;background:#dedbe9;border-radius:6px 6px 2px 2px; }
.box-bar.dominada { background:linear-gradient(#6cc39d,#4f9e7d); }
.box-bar b { position:absolute;top:-15px;width:100%;text-align:center;font-size:7px;color:#9996a4;
             font-style:normal;font-weight:700; }
.box-col > span { font-size:7px;color:#9996a4; }
.box-legend { margin:12px 0 14px;font-size:8px;line-height:1.5;color:var(--muted); }

.deck-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:13px;align-items:start; }
.deck-card { background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);
             box-shadow:var(--shadow-soft);padding:14px;display:flex;flex-direction:column;gap:9px; }
.deck-card.pendiente { border-color:#e8cba9; }
.deck-head { display:flex;justify-content:space-between;align-items:center;gap:8px; }
.deck-head small { font-size:7px;color:var(--muted); }
.box-pill { font-size:7px;font-weight:800;padding:3px 7px;border-radius:99px;
            background:var(--purple-soft);color:var(--purple-dark); }
.box-pill.box-5 { background:var(--mint-soft);color:#3f8f6d; }
.deck-front { margin:0;font-size:10px;line-height:1.55;color:var(--ink);
              display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.deck-foot { display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;
             padding-top:9px;border-top:1px solid var(--line);margin-top:auto; }
.deck-foot small { font-size:7px;color:var(--muted); }

/* Repaso 2.0: controles, analítica e interacción completa del mazo */
.full-button + .full-button { margin-top:7px; }
.empty-actions { display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:4px; }
.review-insights { display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:13px;margin:22px 0 4px; }
.review-insight-card { min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);
                       box-shadow:var(--shadow-soft);padding:16px; }
.review-insight-card h3 { margin:3px 0 0;font-size:12px; }
.forecast-bars, .activity-mini-bars { height:88px;display:flex;align-items:flex-end;gap:6px;margin-top:11px;padding-top:8px; }
.forecast-bars > div, .activity-mini-bars > div { flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;min-width:0; }
.forecast-bars i, .activity-mini-bars i { position:relative;width:min(22px,80%);min-height:3px;border-radius:5px 5px 2px 2px;
                                       background:linear-gradient(#9c89ef,#7058df);font-style:normal; }
.activity-mini-bars i { background:#d8d4e8; }
.activity-mini-bars > div.active i { background:linear-gradient(#8b78e8,#6f57df); }
.forecast-bars b, .activity-mini-bars b { position:absolute;top:-13px;width:100%;text-align:center;font-size:6px;color:var(--muted); }
.forecast-bars span, .activity-mini-bars span { font-size:6px;color:var(--muted);white-space:nowrap; }
.review-history-preview { display:grid;gap:6px;margin-top:10px; }
.history-row { min-width:0;display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:8px;padding:6px 7px;background:#faf9fd;border-radius:9px; }
.history-row strong { display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.history-row small { display:block;margin-top:2px;font-size:7px;color:var(--muted); }
.history-rating { width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:var(--purple-soft);color:var(--purple);font-weight:800; }
.history-rating.again { background:#fff0ee;color:#a24f49; }.history-rating.hard { background:#fff7e5;color:#98702c; }
.history-rating.good { background:var(--mint-soft);color:#3f8f6d; }.history-rating.easy { background:#e8f4fd;color:#3d83ad; }
.insight-empty { margin:12px 0 0;font-size:8px;line-height:1.55;color:var(--muted); }
.full-history { display:grid;gap:8px; }.history-row.detailed { padding:10px;grid-template-columns:34px minmax(0,1fr); }
.history-row.detailed .history-rating { width:32px;height:32px; }.history-row.detailed strong { font-size:10px;white-space:normal; }

.deck-toolbar { display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(130px,auto));gap:8px;margin-bottom:14px; }
.deck-toolbar select, .deck-search { min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:9px;outline:0; }
.deck-toolbar select { padding:9px 10px; }.deck-toolbar select:focus, .deck-search:focus-within { border-color:#aaa0dd;box-shadow:0 0 0 3px var(--purple-soft); }
.deck-search { display:flex;align-items:center;gap:7px;padding:0 10px;color:var(--muted); }
.deck-search input { min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:9px;padding:9px 0; }
.deck-card.suspended { opacity:.72;border-style:dashed; }.deck-card.favorite { box-shadow:0 9px 24px rgba(111,87,223,.11); }
.deck-pills, .tag-list { display:flex;align-items:center;gap:5px;flex-wrap:wrap; }
.state-pill { font-size:6px;font-weight:800;padding:3px 6px;border-radius:99px;background:var(--purple-soft);color:var(--purple); }
.state-pill.muted { background:#f0eff3;color:#777483; }.state-pill.favorite { background:#fff6dc;color:#916b1e; }
.tag-list span { font-size:6px;padding:3px 6px;border-radius:6px;background:#f4f2fb;color:#716b86; }
.deck-answer { padding:9px 10px;background:#f9f8fc;border-radius:9px;font-size:9px;line-height:1.55;color:#555163;max-height:150px;overflow-y:auto; }
.deck-answer .md-p { margin:0 0 5px; }.deck-answer .md-p:last-child { margin-bottom:0; }
.deck-reveal { align-self:flex-start;border:0;background:transparent;color:var(--purple);font-size:7px;font-weight:750;padding:1px 0; }
.deck-actions { justify-content:flex-end; }.mini-button.icon { min-width:27px;font-size:12px;padding-inline:5px; }.mini-button.icon.active { color:#9b741b;background:#fff8e3; }

.review-session-head { display:flex;align-items:flex-start;gap:12px; }.review-progress-wrap { flex:1;min-width:0; }
.review-progress-bar { display:block;height:4px;background:#edebf4;border-radius:99px;overflow:hidden;margin-top:7px; }
.review-progress-bar i { display:block;height:100%;background:linear-gradient(90deg,#8c77e9,#6e56df);border-radius:inherit;transition:width .25s ease; }
.review-session-actions { display:flex;gap:5px; }.recall-hint { margin:12px 0 0;font-size:9px;color:var(--muted); }
.card-judgement.four { grid-template-columns:repeat(4,1fr); }
.judge-button { display:grid;gap:3px;place-items:center; }.judge-button strong { font-size:10px; }.judge-button small { font-size:6px;font-weight:600;opacity:.72; }
.judge-button.again { background:#fff0ee;color:#9b4b46;border-color:#f3d4d0; }
.judge-button.hard { background:#fff7e5;color:#926923;border-color:#ead6a8; }
.judge-button.good { background:var(--mint-soft);color:#3f8f6d;border-color:#bfe4d3; }
.judge-button.easy { background:#e8f4fd;color:#357da9;border-color:#bbdcf0; }
.review-result .result-metrics.compact { grid-template-columns:repeat(4,1fr);margin:18px 0 10px; }
.review-result .result-metrics.compact > div { min-width:0; }.session-duration { display:block;color:var(--muted);font-size:8px;margin-bottom:15px; }

.form-row.two { display:grid;grid-template-columns:1fr 1fr;gap:10px; }.form-row.stacked { display:grid;gap:2px; }
.modal-help { margin:0 0 13px;font-size:9px;line-height:1.6;color:var(--muted); }.modal-wide { width:min(720px,100%); }

/* -------------------------------- Simulacro -------------------------------- */
.exam-tabs { display:flex;gap:6px;margin-bottom:18px; }
.exam-tabs button { border:1px solid var(--line);background:white;color:var(--muted);border-radius:99px;
                    padding:9px 16px;font-size:10px;font-weight:700;white-space:nowrap; }
.exam-tabs button.active { background:var(--purple);border-color:var(--purple);color:white; }
.exam-layout { display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start; }

.exam-setup { background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);
              box-shadow:var(--shadow);padding:clamp(24px,3.5vw,38px); }
.exam-setup h2 { font-size:22px;letter-spacing:-.6px;margin:4px 0 8px; }
.exam-lead { color:var(--muted);font-size:11px;line-height:1.65;margin-bottom:20px;max-width:520px; }
.exam-label { display:block;font-size:9px;font-weight:800;color:#666374;text-transform:uppercase;
              letter-spacing:.9px;margin-bottom:9px; }
.exam-subjects { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px; }
.exam-chip { display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:white;
             border-radius:11px;padding:7px 12px 7px 7px;font-size:10px;font-weight:700;color:#5b5869; }
.exam-chip.active { border-color:var(--purple);background:var(--purple-soft);color:var(--purple-dark); }
.exam-controls { display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:420px;margin-bottom:18px; }

.exam-card { background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);
             box-shadow:var(--shadow);padding:clamp(22px,3.2vw,34px); }
.exam-topbar { display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;
               font-size:9px;color:var(--muted);font-weight:700; }
.exam-topbar .time-pill { font-size:12px;font-weight:800;padding:6px 11px;font-variant-numeric:tabular-nums; }
.exam-topbar .time-pill.urgente { background:#fdeceb;color:#b4534e; }
.exam-card h2 { font-size:clamp(17px,2vw,22px);line-height:1.4;margin:16px 0 18px; }
.exam-actions { display:flex;justify-content:space-between;gap:10px;margin-top:20px; }
.exam-actions button:disabled { opacity:.4;cursor:not-allowed; }
.exam-footer { display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;
               padding-top:12px;border-top:1px solid var(--line);font-size:8px;color:var(--muted); }
.exam-nav { display:flex;flex-wrap:wrap;gap:5px;margin-top:14px; }
.exam-dot { width:26px;height:26px;border:1px solid var(--line);background:transparent;border-radius:8px;
            font-size:8px;font-weight:800;color:var(--muted); }
.exam-dot.contestada { background:var(--purple-soft);border-color:#cfc8f1;color:var(--purple-dark); }
.exam-dot.actual { border-color:var(--purple);box-shadow:0 0 0 2px var(--purple-soft); }

.exam-history { display:grid;gap:6px;margin-top:14px;max-height:300px;overflow-y:auto; }
.exam-history-item { display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;
                     background:#f9f8fc;border-radius:10px;padding:9px 10px; }
.exam-history-item strong { display:block;font-size:9px; }
.exam-history-item small { font-size:7px;color:var(--muted); }

.exam-report { background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);
               box-shadow:var(--shadow);padding:clamp(24px,3.5vw,38px); }
.report-head { display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:24px; }
.report-head .result-badge { margin-bottom:0;flex:0 0 auto; }
.report-head h2 { margin:2px 0 6px;font-size:21px; }
.report-note { margin:0;color:var(--muted);font-size:10px; }
.report-section { margin-bottom:24px; }
.report-section h3 { font-size:13px;margin:0 0 12px; }
.exam-breakdown { display:grid;gap:11px; }
.breakdown-row > div { display:flex;justify-content:space-between;font-size:10px;margin-bottom:6px; }
.breakdown-row > span { display:block;height:6px;background:#eeedf3;border-radius:7px;overflow:hidden; }
.breakdown-row > span i { display:block;height:100%;background:linear-gradient(90deg,#8b78e8,#6f57df);border-radius:7px; }
.exam-review { display:grid;gap:11px; }
.exam-review-item { background:#f9f8fc;border-radius:12px;padding:14px; }
.review-prompt { margin:0 0 9px;font-size:11px;font-weight:700;line-height:1.5; }
.review-line { margin:0 0 5px;font-size:10px; }
.review-line.wrong { color:#9b5a56; }
.review-line.right { color:#39795f; }
.review-explanation { margin:8px 0 0;font-size:9px;line-height:1.6;color:var(--muted); }
.report-perfect { background:var(--mint-soft);color:#39795f;border-radius:12px;padding:14px;font-size:11px;margin:0 0 24px; }

@media (max-width: 1180px) {
  .review-layout, .exam-layout { grid-template-columns:1fr; }
  .review-layout aside, .exam-side { order:-1; }
  .review-insights { grid-template-columns:1fr 1fr; }.review-history-card { grid-column:1 / -1; }
}

@media (max-width: 680px) {
  .card-judgement { grid-template-columns:1fr; }
  .card-judgement.four { grid-template-columns:1fr 1fr; }
  .exam-controls { grid-template-columns:1fr; }
  .deck-grid { grid-template-columns:1fr; }
  .deck-toolbar { grid-template-columns:1fr 1fr; }.deck-search { grid-column:1 / -1; }
  .review-insights { grid-template-columns:1fr; }.review-history-card { grid-column:auto; }
  .form-row.two { grid-template-columns:1fr; }.review-session-head { flex-direction:column; }.review-session-actions { align-self:flex-end; }
  .exam-actions { flex-direction:column-reverse; }
  .exam-actions button { width:100%; }
  .report-head { gap:14px; }
  .exam-tabs { overflow-x:auto;padding-bottom:3px; }
  .exam-subjects { gap:6px; }
}

@media (max-width: 410px) {
  .deck-toolbar { grid-template-columns:1fr; }.deck-search { grid-column:auto; }
  .card-judgement.four { grid-template-columns:1fr; }
  .review-result .result-metrics.compact { grid-template-columns:1fr 1fr; }
}
