/* Mi plan (app/psicologo/suscripcion.php): estado de la suscripción, planes, promo egresados y pagos. */

.pill-status.pendiente{color:oklch(48% 0.12 60);background:var(--orange-soft);}

.plan-estado-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.plan-estado-eyebrow{font-size:11.5px;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;}
.plan-estado-nombre{font-family:'Quicksand',sans-serif;font-weight:700;font-size:20px;color:var(--ink);margin-top:2px;}
.plan-estado-detalle{font-size:13.5px;color:var(--ink-soft);margin-top:8px;}
.plan-estado-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 18px;margin:14px 0 0;}
.plan-estado-datos div{background:var(--paper);border-radius:14px;padding:10px 12px;}
.plan-estado-datos dt{font-size:11.5px;font-weight:700;color:var(--ink-faint);}
.plan-estado-datos dd{margin:3px 0 0;font-size:13.5px;color:var(--ink);font-weight:600;}
.plan-estado-accion{margin-top:14px;}

.plan-manual{border-color:var(--green);background:var(--green-soft);}
.plan-manual p{font-size:13.5px;color:var(--ink);margin:6px 0 12px;}

.planes-seccion-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.planes-toggle{display:inline-flex;background:var(--canvas);border-radius:999px;padding:4px;gap:2px;}
.planes-toggle a{font-size:13px;font-weight:700;color:var(--ink-soft);text-decoration:none;padding:7px 14px;border-radius:999px;}
.planes-toggle a span{color:var(--green-dark);font-size:11.5px;}
.planes-toggle a.is-active{background:var(--card);color:var(--ink);box-shadow:0 2px 6px -3px oklch(26% 0.025 280 / 0.25);}

.planes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:14px;}
.plan-tile{position:relative;display:flex;flex-direction:column;background:var(--card);border:1.5px solid var(--border);border-radius:20px;padding:20px 18px 18px;}
.plan-tile.is-featured{border-color:var(--green-dark);box-shadow:0 14px 26px -18px oklch(46% 0.13 292 / 0.4);}
.plan-tile.is-current{background:var(--mint);}
.plan-tile-badge{position:absolute;top:-10px;right:16px;background:linear-gradient(120deg,var(--green),var(--green-dark));color:white;font-family:'Quicksand',sans-serif;font-weight:700;font-size:11px;padding:4px 12px;border-radius:20px;}
.plan-tile-badge.is-current{background:var(--violet);}
.plan-tile-nombre{font-family:'Quicksand',sans-serif;font-weight:700;font-size:18px;margin:0;color:var(--ink);}
.plan-tile-bajada{font-size:13px;color:var(--ink-soft);margin:4px 0 0;}
.plan-tile-precio{font-family:'Quicksand',sans-serif;font-weight:700;font-size:26px;color:var(--ink);margin-top:12px;}
.plan-tile-precio small{font-size:13px;color:var(--ink-soft);font-weight:600;}
.plan-tile-nota{font-family:'Nunito',sans-serif;font-size:12px;font-weight:600;color:var(--ink-faint);}
.plan-tile-incluye{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:7px;flex:1;}
.plan-tile-incluye li{position:relative;padding-left:22px;font-size:13px;color:var(--ink);line-height:1.4;}
.plan-tile-incluye li::before{content:"";position:absolute;left:2px;top:4px;width:12px;height:7px;border-left:2px solid var(--green-dark);border-bottom:2px solid var(--green-dark);transform:rotate(-45deg);}
.plan-tile-acciones{display:flex;flex-direction:column;gap:8px;margin-top:16px;}
.plan-tile-acciones .btn{width:100%;}

.promo-egresado-texto{font-size:13.5px;color:var(--ink-soft);margin:6px 0 0;}
.promo-egresado-form{display:flex;flex-direction:column;gap:12px;margin-top:14px;}
.promo-estado{margin-top:12px;border-radius:14px;padding:10px 12px;font-size:13.5px;font-weight:600;}
.promo-estado.is-pendiente{background:var(--orange-soft);color:oklch(42% 0.1 60);}
.promo-estado.is-aprobada{background:var(--green-soft);color:var(--green-dark);}
.promo-estado.is-rechazada{background:var(--red-soft);color:var(--red);}

.pagos-lista{margin-top:8px;}
.pagos-lista-info{flex:1;min-width:0;}
.pagos-lista-titulo{font-size:13.5px;font-weight:700;}
.pagos-lista-sub{font-size:12px;color:var(--ink-soft);}
.pagos-lista-monto{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-weight:700;}

@media (max-width:520px){
  .promo-egresado-form .field-row{flex-direction:column;}
}

/* Paso "Plan" del registro (auth/register.php): lista de lo que incluye cada tarjeta. */
.plan-includes{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;}
.plan-includes li{position:relative;padding-left:18px;font-size:12.5px;color:var(--ink);line-height:1.35;}
.plan-includes li::before{content:"";position:absolute;left:1px;top:4px;width:10px;height:6px;border-left:2px solid var(--green-dark);border-bottom:2px solid var(--green-dark);transform:rotate(-45deg);}
@media (min-width:960px) and (max-height:900px){
  .auth-page .plan-includes{gap:2px;margin-top:5px;}
  .auth-page .plan-includes li{font-size:12px;}
}

/* Tarjeta "Tu plan": consumo del mes y lista de lo que incluye (sale de planes_comparacion). */
.plan-uso{height:6px;border-radius:999px;background:var(--border);margin-top:7px;overflow:hidden;}
.plan-uso span{display:block;height:100%;border-radius:inherit;background:var(--green-dark);}
.plan-uso span.is-alto{background:var(--orange);}
.plan-uso span.is-lleno{background:var(--red);}
.plan-uso-nota{font-size:12px;color:var(--ink-soft);margin:6px 0 0;}
.plan-incluye{margin-top:14px;border-top:1px solid var(--border);padding-top:12px;}
.plan-incluye summary{cursor:pointer;font-family:'Quicksand',sans-serif;font-weight:700;font-size:14px;color:var(--ink);}
.plan-incluye-grupo{font-size:11.5px;font-weight:700;color:var(--violet);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 4px;}
.plan-incluye ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.plan-incluye li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0 7px 24px;position:relative;font-size:13px;color:var(--ink);border-bottom:1px dashed var(--border);}
.plan-incluye li:last-child{border-bottom:0;}
.plan-incluye li.is-si::before{content:"";position:absolute;left:3px;top:50%;width:11px;height:6px;margin-top:-5px;border-left:2px solid var(--green-dark);border-bottom:2px solid var(--green-dark);transform:rotate(-45deg);}
.plan-incluye li.is-no{color:var(--ink-faint);}
.plan-incluye li.is-no::before{content:"";position:absolute;left:4px;top:50%;width:10px;height:2px;background:var(--ink-faint);border-radius:2px;}
.plan-incluye-pronto{font-size:11px;font-weight:700;color:oklch(48% 0.12 60);background:var(--orange-soft);padding:3px 9px;border-radius:999px;white-space:nowrap;}

/* Mi plan: baja del débito automático y cuenta de Mercado Pago. */
.plan-baja{margin-top:8px;}
.plan-baja .btn,.plan-mp-email .btn{width:auto;}
.plan-mp-email{margin-top:6px;font-size:13px;}
.plan-mp-email summary{cursor:pointer;color:var(--green-dark);font-weight:700;}
.plan-mp-email form{display:flex;flex-direction:column;gap:8px;margin-top:10px;}

/* ---- Modal "Pagar con tarjeta" (assets/js/pago_tarjeta.js) ---- */
.pago-modal{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:24px;
  background:var(--paper,#fff);color:var(--ink,#2B2838);box-shadow:0 30px 80px oklch(20% 0.04 160 / .35);overflow:auto;}
.pago-modal::backdrop{background:oklch(22% 0.045 160 / .55);backdrop-filter:blur(4px);}
.pago-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px 24px 18px;color:#fff;
  background:linear-gradient(135deg,#0B5A3A,#2A9460);}
.pago-modal-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.8;}
.pago-modal-head h2{margin:4px 0 2px;font-size:22px;line-height:1.2;color:#fff;}
.pago-modal-resumen{margin:0;font-size:14px;opacity:.9;}
.pago-modal-cerrar{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid oklch(100% 0 0 / .3);background:oklch(100% 0 0 / .12);
  color:#fff;font-size:22px;line-height:1;cursor:pointer;}
.pago-modal-cerrar:hover{background:oklch(100% 0 0 / .22);}
.pago-modal-body{padding:16px 18px 6px;}
.pago-brick{min-height:120px;}
.pago-estado{margin:6px 6px 12px;padding:12px 14px;border-radius:12px;font-size:14px;font-weight:700;}
.pago-estado.is-cargando{background:var(--green-soft,#EAF6EF);color:var(--brand-800,#0B5A3A);}
.pago-estado.is-ok{background:var(--green-soft,#EAF6EF);color:var(--brand-800,#0B5A3A);font-size:15px;}
.pago-estado.is-error{background:#FDECEC;color:#7F1D1D;}
.pago-modal-pie{display:flex;gap:10px;align-items:flex-start;margin:0 18px 18px;padding:12px 14px;border-radius:14px;
  background:oklch(96% 0.01 160);font-size:12.5px;line-height:1.5;color:var(--ink-soft,#5E5A6B);}
.pago-modal-pie svg{flex:none;width:18px;height:18px;margin-top:1px;color:var(--brand-800,#0B5A3A);}
.plan-tile-acciones [data-pago-tarjeta]{width:100%;}

/* ---- Festejo al comprar (#celebra, assets/js/pago_tarjeta.js) ---- */
.celebra{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;
  background:radial-gradient(circle at 50% 40%,oklch(35% 0.08 160 / .55),oklch(18% 0.04 160 / .75));
  backdrop-filter:blur(6px);opacity:0;transition:opacity .35s ease;}
.celebra.is-visible{opacity:1;}
.celebra.is-saliendo{opacity:0;}
.celebra-confeti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;}
.celebra-card{position:relative;width:min(440px,100%);padding:34px 28px 26px;border-radius:28px;text-align:center;
  background:var(--paper,#fff);box-shadow:0 40px 90px oklch(15% 0.05 160 / .45);
  transform:translateY(24px) scale(.92);opacity:0;transition:transform .6s cubic-bezier(.2,1.4,.4,1),opacity .4s ease;}
.celebra.is-visible .celebra-card{transform:none;opacity:1;}
.celebra-check{position:relative;width:96px;height:96px;margin:-82px auto 14px;border-radius:50%;
  background:linear-gradient(135deg,#2A9460,#0B5A3A);box-shadow:0 14px 30px oklch(40% 0.12 160 / .45),0 0 0 8px var(--paper,#fff);}
.celebra-check svg{position:relative;z-index:1;width:100%;height:100%;fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;}
.celebra-check circle{stroke:oklch(100% 0 0 / .35);stroke-width:2;stroke-dasharray:151;stroke-dashoffset:151;animation:celebraTrazo .7s .35s ease forwards;}
.celebra-check path{stroke-dasharray:40;stroke-dashoffset:40;animation:celebraTrazo .45s .8s cubic-bezier(.6,0,.3,1) forwards;}
.celebra-onda{position:absolute;inset:0;border-radius:50%;border:3px solid #7ED9A6;opacity:0;animation:celebraOnda 1.6s .6s ease-out infinite;}
.celebra-onda + .celebra-onda{animation-delay:1.4s;}
.celebra-kicker{display:inline-block;margin-bottom:8px;padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:#7C4A03;background:linear-gradient(135deg,#FCE9A8,#F7D774);}
.celebra-card h2{margin:0 0 6px;font-size:25px;line-height:1.25;}
.celebra-card h2 span{background:linear-gradient(90deg,#2A9460,#0B5A3A,#2A9460);background-size:200% auto;-webkit-background-clip:text;background-clip:text;
  color:transparent;animation:celebraBrillo 3s linear infinite;}
.celebra-sub{margin:0 0 16px;font-size:14.5px;color:var(--ink-soft);}
.celebra-lista{list-style:none;margin:0 0 20px;padding:14px 16px;border-radius:16px;background:var(--green-soft,#EAF6EF);text-align:left;}
.celebra-lista li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--ink);
  opacity:0;transform:translateX(-10px);animation:celebraEntra .45s calc(1s + var(--i) * .15s) ease forwards;}
.celebra-lista li + li{margin-top:8px;}
.celebra-lista svg{flex:none;width:18px;height:18px;margin-top:1px;padding:3px;border-radius:50%;background:#2A9460;color:#fff;}
.celebra-btn{width:100%;font-size:16px;padding:14px;}
@keyframes celebraTrazo{to{stroke-dashoffset:0;}}
@keyframes celebraOnda{0%{transform:scale(1);opacity:.7;}100%{transform:scale(1.9);opacity:0;}}
@keyframes celebraBrillo{to{background-position:200% center;}}
@keyframes celebraEntra{to{opacity:1;transform:none;}}

/* ---- Planes que invitan: el destacado con borde de luz, brillo en "Pagar con tarjeta" y elevación al pasar ---- */
.plan-tile{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.plan-tile:hover{transform:translateY(-4px);box-shadow:0 22px 40px -22px oklch(35% 0.08 160 / .45);}
.plan-tile.is-featured{border-color:transparent;
  background:linear-gradient(var(--card),var(--card)) padding-box,conic-gradient(from var(--plan-ang,0deg),#2A9460,#7ED9A6,#F7D774,#2A9460) border-box;
  animation:planBorde 6s linear infinite;}
@property --plan-ang{syntax:'<angle>';inherits:false;initial-value:0deg;}
@keyframes planBorde{to{--plan-ang:360deg;}}
.plan-tile.is-featured .plan-tile-badge{box-shadow:0 6px 14px oklch(45% 0.12 160 / .4);animation:planLatido 2.4s ease-in-out infinite;}
@keyframes planLatido{0%,100%{transform:scale(1);}50%{transform:scale(1.07);}}
[data-pago-tarjeta],.btn.is-mejora{position:relative;overflow:hidden;}
[data-pago-tarjeta]::after,.btn.is-mejora::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,oklch(100% 0 0 / .45),transparent);transform:skewX(-20deg);animation:planDestello 3.2s ease-in-out infinite;}
@keyframes planDestello{0%,60%{left:-60%;}100%{left:130%;}}

@media (prefers-reduced-motion:reduce){
  .celebra,.celebra-card,.plan-tile{transition:none;}
  .celebra-check circle,.celebra-check path{animation:none;stroke-dashoffset:0;}
  .celebra-onda,.celebra-card h2 span,.plan-tile.is-featured,.plan-tile.is-featured .plan-tile-badge,[data-pago-tarjeta]::after,.btn.is-mejora::after{animation:none;}
  .celebra-lista li{animation:none;opacity:1;transform:none;}
  .plan-tile:hover{transform:none;}
}

/* ---- Estado en la tarjeta del plan (pagado / incluido) y botón de mejora ---- */
.plan-tile-estado{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;font-size:13px;font-weight:700;
  background:oklch(96% 0.005 160);color:var(--ink-soft);}
.plan-tile-estado svg{flex:none;width:18px;height:18px;padding:3px;border-radius:50%;background:var(--ink-faint,#9A96A6);color:#fff;}
.plan-tile-estado.is-ok{background:var(--green-soft,#EAF6EF);color:var(--brand-800,#0B5A3A);}
.plan-tile-estado.is-ok svg{background:#2A9460;}
.btn.is-mejora{gap:6px;background:linear-gradient(135deg,#7C5CF0,#2A9460);}
.btn.is-mejora svg{width:16px;height:16px;}

/* ---- Historial de pagos ---- */
.historial{padding:0;overflow:hidden;}
.historial-resumen{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border-bottom:1px solid var(--border);}
.historial-kpi{display:flex;flex-direction:column;gap:4px;padding:16px 20px;background:var(--card);}
.historial-kpi-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);}
.historial-kpi-valor{font-family:'Quicksand',sans-serif;font-size:22px;font-weight:700;color:var(--ink);line-height:1.15;}
.historial-kpi-valor small{display:block;font-family:'Nunito',sans-serif;font-size:12.5px;font-weight:700;color:var(--ink-soft);}
.historial-kpi-valor.is-apagado{font-size:15px;color:var(--ink-faint);}
.historial-kpi.is-proximo .historial-kpi-valor{color:var(--brand-800,#0B5A3A);}
.historial-lista{list-style:none;margin:0;padding:8px 20px 12px;}
.historial-item{position:relative;display:flex;gap:14px;padding:16px 0;}
.historial-item + .historial-item{border-top:1px dashed var(--border);}
/* Línea de tiempo que une los íconos. */
.historial-item:not(:last-child)::before{content:'';position:absolute;left:17px;top:52px;bottom:-16px;width:2px;background:var(--border);}
.historial-ico{position:relative;z-index:1;flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;
  background:var(--green-soft,#EAF6EF);color:#2A9460;box-shadow:0 0 0 4px var(--card);}
.historial-ico svg{width:18px;height:18px;}
.historial-item.is-actual .historial-ico{background:linear-gradient(135deg,#2A9460,#0B5A3A);color:#fff;}
.historial-item.is-reembolsado .historial-ico{background:#F3EEFF;color:#7C3AED;}
.historial-cuerpo{flex:1;min-width:0;}
.historial-fila{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.historial-titulo{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:15px;font-weight:800;color:var(--ink);}
.historial-per{font-size:12px;font-weight:700;color:var(--ink-faint);}
.historial-chip{font-size:10.5px;font-weight:800;letter-spacing:.04em;padding:3px 8px;border-radius:999px;}
.historial-chip.is-actual{background:#2A9460;color:#fff;}
.historial-chip.is-proximo{background:#FFF1D6;color:#7C4A03;}
.historial-monto{font-family:'Quicksand',sans-serif;font-size:18px;font-weight:700;color:var(--ink);white-space:nowrap;}
.historial-monto.is-tachado{color:var(--ink-faint);text-decoration:line-through;}
.historial-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:3px;font-size:12.5px;color:var(--ink-soft);}
.historial-meta span + span::before{content:'·';margin-right:12px;color:var(--ink-faint);}
.historial-item.is-aprobado .historial-estado{color:#2A9460;font-weight:700;}
.historial-item.is-reembolsado .historial-estado{color:#7C3AED;font-weight:700;}
.historial-periodo{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:11.5px;font-weight:700;color:var(--ink-faint);}
.historial-barra{flex:1;height:6px;border-radius:999px;background:oklch(94% 0.005 160);overflow:hidden;}
.historial-barra span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7ED9A6,#2A9460);}
.historial-item:not(.is-actual) .historial-barra span{background:oklch(85% 0.02 160);}
.historial-vacio{display:flex;gap:14px;align-items:center;}
.historial-vacio-ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--green-soft,#EAF6EF);color:#2A9460;}
.historial-vacio-ico svg{width:22px;height:22px;}
.historial-vacio strong{display:block;font-size:14.5px;}
.historial-vacio span{font-size:13px;color:var(--ink-soft);}
@media (max-width:560px){
  .historial-resumen{grid-template-columns:1fr 1fr;}
  .historial-kpi.is-proximo{grid-column:1 / -1;}
  .historial-lista{padding:4px 14px 8px;}
  .historial-kpi{padding:14px;}
}

/* ---- Modal de confirmación (form[data-confirmar], assets/js/pago_tarjeta.js) ---- */
.confirma-modal{width:min(440px,calc(100vw - 24px));padding:30px 26px 22px;border:0;border-radius:24px;text-align:center;
  background:var(--paper,#fff);color:var(--ink);box-shadow:0 30px 80px oklch(20% 0.04 160 / .35);
  animation:confirmaEntra .35s cubic-bezier(.2,1.3,.4,1);}
.confirma-modal::backdrop{background:oklch(22% 0.045 160 / .5);backdrop-filter:blur(4px);animation:confirmaFondo .25s ease;}
.confirma-modal.is-saliendo{opacity:0;transform:scale(.96);transition:opacity .2s ease,transform .2s ease;}
.confirma-ico{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 14px;border-radius:20px;
  background:var(--green-soft,#EAF6EF);color:#2A9460;}
.confirma-modal.is-peligro .confirma-ico{background:#FDECEC;color:#DC2626;animation:confirmaSacude .5s .25s ease;}
.confirma-ico svg{width:32px;height:32px;}
.confirma-titulo{margin:0 0 6px;font-size:21px;line-height:1.25;}
.confirma-texto{margin:0 0 12px;font-size:14px;color:var(--ink-soft);}
.confirma-lista{list-style:none;margin:0 0 20px;padding:14px 16px;border-radius:16px;background:oklch(97% 0.005 160);text-align:left;}
.confirma-lista li{position:relative;padding-left:24px;font-size:13.5px;line-height:1.45;color:var(--ink);
  opacity:0;transform:translateY(4px);animation:confirmaItem .3s calc(.15s + var(--i) * .07s) ease forwards;}
.confirma-lista li + li{margin-top:8px;}
.confirma-lista li::before{content:'';position:absolute;left:4px;top:7px;width:8px;height:8px;border-radius:50%;background:#2A9460;}
.confirma-modal.is-peligro .confirma-lista li:first-child::before{background:#DC2626;}
.confirma-acciones{display:flex;flex-direction:column;gap:8px;}
.confirma-acciones .btn{width:100%;justify-content:center;padding:13px;font-size:15px;}
.confirma-ok.is-peligro{background:transparent;border:1.5px solid #F3B4B4;color:#B91C1C;box-shadow:none;}
.confirma-ok.is-peligro:hover{background:#FDECEC;}
@keyframes confirmaEntra{from{opacity:0;transform:translateY(16px) scale(.94);}to{opacity:1;transform:none;}}
@keyframes confirmaFondo{from{opacity:0;}}
@keyframes confirmaItem{to{opacity:1;transform:none;}}
@keyframes confirmaSacude{0%,100%{transform:rotate(0);}25%{transform:rotate(-8deg);}50%{transform:rotate(7deg);}75%{transform:rotate(-4deg);}}
@media (prefers-reduced-motion:reduce){
  .confirma-modal,.confirma-modal::backdrop,.confirma-modal.is-peligro .confirma-ico{animation:none;}
  .confirma-lista li{animation:none;opacity:1;transform:none;}
}

/* Mejora con diferencia y bajada programada (includes/cambios_plan.php). */
.plan-tile-estado.is-mejora{background:linear-gradient(135deg,#F1ECFF,#E7F8F1);color:#4C2DB3;}
.plan-tile-estado.is-mejora svg{background:linear-gradient(135deg,#7C5CF0,#2A9460);}
.plan-tile-estado.is-programado{background:#FFF5E1;color:#7C4A03;}
.plan-tile-estado.is-programado svg{background:#E0A82E;}
.confirma-modal.is-mejora .confirma-ico{background:linear-gradient(135deg,#7C5CF0,#2A9460);color:#fff;animation:confirmaSube .6s .2s ease;}
.confirma-modal.is-mejora .confirma-lista li:first-child{font-weight:800;}
.confirma-modal.is-mejora .confirma-lista li:first-child::before{background:#7C5CF0;}
.confirma-modal.is-mejora .confirma-ok{background:linear-gradient(135deg,#7C5CF0,#2A9460);color:#fff;border:0;}
@keyframes confirmaSube{0%{transform:translateY(0);}40%{transform:translateY(-8px);}100%{transform:translateY(0);}}
@media (prefers-reduced-motion:reduce){.confirma-modal.is-mejora .confirma-ico{animation:none;}}

/* Tarjeta del plan Egresado en Mi plan (se pide con constancia, no se paga desde acá). */
.plan-tile.is-egresado{border-color:#F3D27A;background:linear-gradient(180deg,#FFFBEF,var(--card) 45%);}
.plan-tile-badge.is-egresado{background:linear-gradient(120deg,#F7D774,#E0A82E);color:#5B3A00;}
.historial-kpi-sub{font-size:12.5px;font-weight:700;color:var(--ink-soft);line-height:1.35;}
.plan-medio{display:block;margin-bottom:2px;font-weight:800;color:var(--ink);}

/* Plan Egresado: franja a lo ancho debajo de los planes (en pantallas anchas). */
@media (min-width:880px){
  .plan-tile.is-egresado{grid-column:1 / -1;order:99;display:grid;grid-template-columns:1fr 1.25fr 1fr;column-gap:28px;align-items:start;
    grid-template-areas:"nombre incluye acciones" "bajada incluye acciones" "precio incluye acciones";}
  .plan-tile.is-egresado .plan-tile-nombre{grid-area:nombre;}
  .plan-tile.is-egresado .plan-tile-bajada{grid-area:bajada;}
  .plan-tile.is-egresado .plan-tile-precio{grid-area:precio;}
  .plan-tile.is-egresado .plan-tile-incluye{grid-area:incluye;margin:0;}
  .plan-tile.is-egresado .plan-tile-acciones{grid-area:acciones;margin-top:0;align-self:center;}
}
.historial-chip.is-cerrado{background:#EEF1F5;color:#475569;}
.historial-nota{margin-top:6px;padding:8px 10px;border-radius:10px;background:#F7F6F2;font-size:12.5px;line-height:1.45;color:var(--ink-soft);}

/* Avisos de regalo / descuento vigentes (includes/regalos.php). */
.plan-regalo{margin:10px 0 0;padding:10px 14px;border-radius:12px;font-size:13.5px;line-height:1.5;background:#FDF0F6;color:#831843;}
.plan-regalo.is-descuento{background:#FFF5E1;color:#7C4A03;}

/* Ventana de pago: código de descuento y pago con la cuenta de Mercado Pago. */
.pago-cupon{margin:0 6px 12px;}
.pago-cupon-abrir{border:0;background:none;padding:4px 0;font:inherit;font-size:14px;font-weight:700;color:#831843;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.pago-cupon-form{display:flex;gap:8px;}
.pago-cupon-form input{flex:1;min-width:0;text-transform:uppercase;font-family:ui-monospace,Consolas,monospace;font-weight:700;letter-spacing:.06em;}
.pago-cupon-estado{margin-top:8px;padding:9px 12px;border-radius:10px;font-size:13.5px;font-weight:700;}
.pago-cupon-estado.is-cargando{background:#F7F6F2;color:var(--ink-soft);}
.pago-cupon-estado.is-ok{background:#FFF5E1;color:#7C4A03;}
.pago-cupon-estado.is-error{background:#FDECEC;color:#7F1D1D;}
.pago-otra{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:4px 6px 0;text-align:center;font-size:12.5px;color:var(--ink-soft);}
.btn-mp{width:100%;background:#009EE3;color:#fff;border:0;font-weight:800;}
.btn-mp:hover{background:#0089C7;}
.pago-divisor{margin:14px 6px 8px;}
.pago-suscripcion{margin:0 6px 12px;padding:10px 12px;border-radius:12px;background:#EEF6FF;border:1px solid #D3E5F8;font-size:13px;line-height:1.5;color:var(--ink);}
