.practice-screen {
  width: min(100% - 28px, 820px);
  margin: 0 auto;
  padding: 20px 0 92px;
}
.practice-hero-clean {
  padding: 16px 2px 10px;
}
.practice-hero-clean h1 {
  margin: 7px 0 7px;
  font-size: clamp(1.65rem, 7vw, 3rem);
  line-height: 1.05;
  letter-spacing: -.045em;
}
.practice-hero-clean p {
  margin: 0;
  color: var(--color-muted);
  font-weight: 650;
  line-height: 1.45;
}
.practice-session-card {
  margin: 12px 0 14px;
  padding: 16px;
  border-radius: 24px;
  border: 1px solid var(--color-border);
  background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--color-badge) 55%, #fff));
  box-shadow: 0 14px 32px rgba(15, 23, 42, .08);
}
.session-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  color: var(--color-muted);
  font-size: .82rem;
  font-weight: 850;
}
.session-topline span:first-child {
  color: var(--color-primary);
}
.practice-session-card h2 {
  margin: 10px 0 8px;
  font-size: clamp(1.22rem, 5.4vw, 2rem);
  line-height: 1.15;
  letter-spacing: -.03em;
}
.practice-session-card p {
  margin: 0;
  color: var(--color-muted);
  font-weight: 700;
}
.session-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}
.session-actions .btn {
  min-height: 46px;
  border-radius: 16px;
}
.practice-control-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 4px 0 14px;
}
.practice-action-btn {
  min-height: 48px;
  border-radius: 18px;
  padding: 10px 12px;
  border: 1px solid var(--color-border);
  font-size: .96rem;
  font-weight: 900;
  letter-spacing: -.015em;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
}
.practice-action-btn.primary { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
.practice-action-btn.accent { background: var(--color-accent); color: #111827; border-color: color-mix(in srgb, var(--color-accent) 70%, #fff); }
.practice-action-btn.outline { background: #fff; color: var(--color-primary); border-color: var(--color-primary); }
.practice-action-btn.ghost { background: #fff; color: var(--color-muted); }
.practice-tabs-card {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  background: color-mix(in srgb, var(--color-badge) 75%, #fff);
  border: 1px solid var(--color-border);
  border-radius: 22px;
  padding: 8px;
  box-shadow: var(--shadow-card);
  margin: 6px 0 14px;
}
.practice-menu-tab {
  min-height: 44px;
  border-radius: 14px;
  background: transparent;
  color: var(--color-muted);
  font-weight: 900;
  font-size: .84rem;
  padding: 7px 5px;
}
.practice-menu-tab.active {
  background: var(--color-primary);
  color: #fff;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--color-primary) 18%, transparent);
}
.practice-filters {
  display: grid;
  gap: 9px;
  margin-bottom: 10px;
}
.practice-filter-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.practice-filters .input { min-height: 48px; }
.practice-now {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-muted);
  font-weight: 800;
  padding: 0 2px 10px;
  font-size: .92rem;
}
.practice-list {
  display: grid;
  gap: 10px;
}
.practice-question-row {
  width: 100%;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  gap: 12px;
  align-items: center;
  text-align: left;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--color-border) 90%, transparent);
  border-radius: 20px;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .065);
  padding: 13px 12px;
  color: var(--color-text);
}
.practice-question-row:active { transform: scale(.992); }
.practice-number {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--color-primary);
  color: #fff;
  font-weight: 950;
  font-size: .98rem;
}
.practice-question-row.is-active {
  border-color: color-mix(in srgb, var(--color-success) 70%, #fff);
}
.practice-question-row.is-active .practice-number { background: #52d27c; }
.practice-question-row h3 {
  margin: 0;
  font-size: clamp(1.02rem, 4.35vw, 1.28rem);
  line-height: 1.18;
  letter-spacing: -.022em;
}
.practice-question-row p {
  margin: 5px 0 0;
  color: var(--color-muted);
  font-weight: 720;
  font-size: .78rem;
}
.question-row-actions {
  display: grid;
  gap: 7px;
  justify-items: end;
}
.question-practice-btn,
.question-detail-btn {
  min-width: 42px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  font-weight: 900;
  font-size: .8rem;
}
.question-practice-btn {
  background: var(--color-primary);
  color: #fff;
  padding: 0 12px;
}
.question-detail-btn {
  background: var(--color-badge);
  color: var(--color-primary);
  width: 34px;
  padding: 0;
}
.practice-info-card, .glossary-card {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 20px;
  padding: 15px;
  box-shadow: var(--shadow-card);
}
.practice-info-card h3, .glossary-card h3 { margin: 0 0 7px; }
.practice-info-card p, .glossary-card p { margin: 0; color: var(--color-muted); line-height: 1.55; }
.practice-load-row { margin-top: 14px; }
.answer-box {
  border-left: 4px solid var(--color-primary);
  padding: 12px;
  background: var(--color-badge);
  border-radius: 14px;
  white-space: pre-wrap;
}
@media (max-width: 390px) {
  .practice-screen { width: min(100% - 20px, 820px); }
  .practice-control-board { grid-template-columns: 1fr; }
  .practice-question-row { grid-template-columns: 38px 1fr; }
  .question-row-actions { grid-column: 1 / -1; display: flex; justify-content: end; }
  .practice-tabs-card { grid-template-columns: 1fr; }
  .practice-filter-row, .session-actions { grid-template-columns: 1fr; }
}
@media (min-width: 768px) {
  .practice-control-board { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .practice-filters { grid-template-columns: 1fr 1fr; }
  .practice-question-row { grid-template-columns: 52px 1fr auto; padding: 15px 14px; }
  .practice-number { width: 42px; height: 42px; }
}


/* Corrección: práctica sin tarjeta superior pesada */
.practice-hero-clean { padding-bottom: 6px; }
.practice-control-board {
  margin-top: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.practice-action-btn {
  min-height: 44px;
  border-radius: 16px;
  font-size: .9rem;
  padding: 9px 10px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .055);
}
.practice-tabs-card {
  margin-top: 8px;
  border-radius: 18px;
  padding: 6px;
}
.practice-menu-tab {
  min-height: 40px;
  font-size: .78rem;
  border-radius: 12px;
}
.practice-now {
  font-size: .86rem;
  line-height: 1.35;
  padding: 2px 2px 9px;
}
.practice-question-row {
  grid-template-columns: 40px 1fr 34px;
  gap: 10px;
  padding: 11px 10px;
  border-radius: 18px;
}
.practice-number {
  width: 34px;
  height: 34px;
  font-size: .9rem;
}
.practice-question-row h3 {
  font-size: clamp(.96rem, 4vw, 1.18rem);
}
.practice-question-row p {
  font-size: .74rem;
  margin-top: 4px;
}
.question-row-actions,
.question-practice-btn { display: none !important; }
.question-detail-btn {
  min-width: 32px;
  width: 32px;
  height: 32px;
  font-size: .8rem;
}
.practice-question-row.is-active {
  border-color: color-mix(in srgb, var(--color-success) 70%, #fff);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--color-success) 13%, transparent);
}
@media (max-width: 390px) {
  .practice-control-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .practice-question-row { grid-template-columns: 36px 1fr 32px; }
  .practice-tabs-card { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* === v3714: armonización visual de Práctica Consular ===
   Objetivo: eliminar el efecto "arcoíris" y dejar una sola familia visual
   basada en Liquid Glass suave: azul marino, azul hielo, blanco translúcido y grises. */
body[data-page="practice"] {
  --practice-navy: #102a56;
  --practice-blue: #214ea8;
  --practice-blue-strong: #173a85;
  --practice-blue-soft: #dfe9ff;
  --practice-blue-frost: rgba(232, 240, 255, .76);
  --practice-ice: rgba(255,255,255,.76);
  --practice-soft: rgba(247,250,255,.92);
  --practice-line: rgba(148,163,184,.24);
  --practice-shadow: rgba(15,23,42,.08);
}

body[data-page="practice"] .practice-screen {
  background:
    radial-gradient(circle at 18% 10%, rgba(219,234,254,.48), transparent 32%),
    radial-gradient(circle at 88% 18%, rgba(226,232,240,.38), transparent 34%);
}

body[data-page="practice"] .eyebrow {
  color: var(--practice-blue-strong);
  background: rgba(232,240,255,.68);
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 999px;
  padding: 7px 12px;
  letter-spacing: .07em;
}

body[data-page="practice"] .practice-control-board {
  gap: 12px;
  padding: 8px 0 16px;
}

body[data-page="practice"] .practice-action-btn {
  min-height: 54px;
  border-radius: 22px;
  border: 1px solid rgba(148,163,184,.28);
  background: linear-gradient(180deg, rgba(255,255,255,.93), rgba(240,245,255,.84));
  color: var(--practice-navy);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 10px 24px var(--practice-shadow);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
}

body[data-page="practice"] .practice-action-btn.primary {
  background: linear-gradient(180deg, #2f63d6 0%, #173a85 100%);
  color: #fff;
  border-color: rgba(23,58,133,.24);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    0 14px 28px rgba(47,99,214,.20);
}

body[data-page="practice"] .practice-action-btn.accent {
  background: linear-gradient(180deg, rgba(240,246,255,.98) 0%, rgba(225,236,255,.94) 100%);
  color: var(--practice-blue-strong);
  border-color: rgba(120,146,205,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.86),
    0 12px 24px rgba(23,58,133,.08);
}

body[data-page="practice"] .practice-action-btn.outline,
body[data-page="practice"] .practice-action-btn.ghost {
  color: var(--practice-navy);
  background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(244,247,252,.88));
  border-color: rgba(148,163,184,.26);
}

body[data-page="practice"] .practice-action-btn:disabled,
body[data-page="practice"] .practice-action-btn.is-disabled {
  opacity: .58;
  filter: grayscale(.12);
}

body[data-page="practice"] .practice-tabs-card {
  background: linear-gradient(180deg, rgba(255,255,255,.70), rgba(240,245,255,.66));
  border: 1px solid rgba(148,163,184,.26);
  border-radius: 24px;
  padding: 8px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 12px 26px rgba(15,23,42,.06);
  backdrop-filter: blur(18px) saturate(120%);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
}

body[data-page="practice"] .practice-menu-tab {
  min-height: 44px;
  border-radius: 17px;
  color: #5a6d8d;
  background: transparent;
}

body[data-page="practice"] .practice-menu-tab.active {
  background: linear-gradient(180deg, #2557cb 0%, #173a85 100%);
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 10px 20px rgba(37,87,203,.16);
}

body[data-page="practice"] .practice-filters .input,
body[data-page="practice"] .practice-filter-row .input {
  min-height: 54px;
  border-radius: 20px;
  border: 1px solid rgba(148,163,184,.28);
  background: rgba(255,255,255,.84);
  color: var(--practice-navy);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.80),
    0 10px 22px rgba(15,23,42,.045);
}

body[data-page="practice"] .practice-now {
  color: #64748b;
}

body[data-page="practice"] .practice-question-row {
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,255,.92));
  border: 1px solid rgba(148,163,184,.24);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.84),
    0 10px 24px rgba(15,23,42,.055);
}

body[data-page="practice"] .practice-number {
  background: linear-gradient(180deg, #2557cb, #173a85);
  color: #fff;
  box-shadow: 0 10px 18px rgba(37,87,203,.18);
}

body[data-page="practice"] .practice-question-row.is-active {
  border-color: rgba(70,110,196,.34);
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(236,244,255,.92));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 12px 26px rgba(37,87,203,.10);
}

body[data-page="practice"] .practice-question-row.is-active .practice-number {
  background: linear-gradient(180deg, #8fb4ff, #4f79d8);
  color: #fff;
}

body[data-page="practice"] .question-detail-btn {
  background: rgba(240,245,255,.92);
  color: var(--practice-blue-strong);
  border-color: rgba(148,163,184,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.80);
}

body[data-page="practice"] .question-practice-btn {
  background: rgba(255,255,255,.92);
  color: var(--practice-blue-strong);
  border-color: rgba(148,163,184,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 6px 14px rgba(15,23,42,.04);
}

body[data-page="practice"] .practice-info-card,
body[data-page="practice"] .glossary-card {
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(247,250,255,.90));
  border-color: rgba(148,163,184,.26);
}

@media (max-width: 390px) {
  body[data-page="practice"] .practice-action-btn {
    min-height: 50px;
    border-radius: 20px;
    font-size: .86rem;
    padding-inline: 8px;
  }
  body[data-page="practice"] .practice-menu-tab {
    font-size: .74rem;
  }
}
