/* ===== Subida de las pensiones 2027 ===== */
.pn .pn-meses { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4px; margin: 1rem 0 .4rem; }
.pn-mes { display: flex; flex-direction: column; align-items: center; gap: .25rem; }
.pn-mes i { display: block; width: 100%; height: 34px; border-radius: 6px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.18); }
.pn-mes.ok i { background: linear-gradient(180deg, #5EE0B8, #10B981); border-color: transparent; box-shadow: 0 0 14px -4px rgba(94,224,184,.8); }
.pn-mes.fut i { background: repeating-linear-gradient(45deg, rgba(242,177,52,.35) 0 5px, rgba(242,177,52,.12) 5px 10px); border: 1px dashed rgba(242,177,52,.7); }
.pn-mes span { font-size: .62rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #BFE3D7; }
.pn-leg { display: flex; flex-wrap: wrap; gap: .3rem 1rem; font-size: .78rem; color: #CFE9E0; }
.pn-leg b { color: #fff; }

.pn-ipc { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.pn-ipc label { display: flex; flex-direction: column; gap: .3rem; font-weight: 700; font-size: .9rem; }
.pn-ipc input[type=range] { width: 100%; accent-color: var(--accent); }
.pn-ipc output { font-family: var(--num); font-weight: 700; color: var(--accent); }
.pn-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .5rem; }
.pn-chips button { font: 700 .8rem var(--sans); border: 1px solid var(--line); background: var(--panel-2); color: var(--dim); border-radius: 999px; padding: .35rem .75rem; cursor: pointer; }
.pn-chips button:hover { border-color: var(--accent); color: var(--accent); }

.pn-pct { display: inline-flex; align-items: baseline; gap: .4rem; margin: .1rem 0 .3rem; padding: .25rem .7rem; border-radius: 999px; background: rgba(242,177,52,.16); border: 1px solid rgba(242,177,52,.45); color: #FFE7A3; font-weight: 700; font-size: .9rem; }
.pn-pct b { font-family: var(--num); font-size: 1.15rem; color: #fff; }
.pn-arrow { display: grid; grid-template-columns: 1fr auto 1fr; gap: .6rem; align-items: center; margin: .7rem 0 .2rem; }
.pn-arrow div { padding: .6rem .7rem; border-radius: 12px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); text-align: center; }
.pn-arrow small { display: block; font-size: .72rem; font-weight: 700; color: #A9D2C5; text-transform: uppercase; letter-spacing: .05em; }
.pn-arrow b { font-family: var(--num); font-size: 1.05rem; color: #fff; }
.pn-arrow .to b { color: #5EE0B8; }
.pn-arrow > span { font-size: 1.3rem; color: var(--gold); }

.pn-table td.up { color: var(--accent); font-weight: 700; }
@media (max-width: 560px) {
  .pn .pn-meses { gap: 2px; }
  .pn-mes span { font-size: .55rem; }
  .pn-ipc { grid-template-columns: 1fr; }
}
