/* RE Legacies — Membresía y pagos (Mi perfil) + pantalla de suscripción en pausa. Tokens --ip-* (claro/oscuro). */
.pf-billing-wrap{ margin-top:28px; }
.pg-head h2{ font-size:20px; font-weight:700; margin:0 0 4px; color:var(--ip-text); }
#pane-perfil .pg-head h2{ color:var(--ip-text) !important; }
.pg-head p{ margin:0 0 16px; color:var(--ip-muted); font-size:14px; }
.pg-grid{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:18px; margin-bottom:18px; }
.pg-skel{ min-height:170px; background:linear-gradient(90deg,var(--ip-surface),var(--ip-hover),var(--ip-surface)); background-size:200% 100%; animation:pg-shimmer 1.2s linear infinite; }
@keyframes pg-shimmer{ to{ background-position:-200% 0; } }
@media (prefers-reduced-motion: reduce){ .pg-skel{ animation:none; } }
.pg-err{ color:#d6453d; font-size:14px; }
.pg-soon{ display:flex; gap:16px; align-items:flex-start; }
.pg-soon > i{ width:42px; height:42px; border-radius:12px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; background:var(--ip-brand-soft); color:var(--ip-brand); font-size:17px; }
.pg-soon b{ font-size:15px; }
.pg-soon p{ margin:4px 0 0; font-size:14px; color:var(--ip-muted); line-height:1.55; }
.pg-soon a, .pg-note a{ color:var(--ip-brand); }

.pg-sub-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.pg-sub-top .pf-eyebrow{ margin-bottom:10px; }
.pg-plan{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.pg-plan b{ font-size:18px; }
.pg-plan span{ font-size:15px; font-weight:600; color:var(--ip-text); }
.pg-line{ margin:10px 0 0; font-size:14px; color:var(--ip-muted); }
.pg-line b{ color:var(--ip-text); }
.pg-meta{ margin:6px 0 0; font-size:12.5px; color:var(--ip-muted); }
.pg-note{ margin:0; font-size:14px; color:var(--ip-muted); line-height:1.55; }
.pg-alert{ display:flex; gap:10px; align-items:flex-start; margin:12px 0 0; padding:10px 12px; border-radius:12px; font-size:13.5px; line-height:1.5; }
.pg-alert i{ margin-top:3px; }
.pg-alert.warn{ background:rgba(214,138,30,.12); color:var(--ip-text); }
.pg-alert.warn i{ color:#c27c12; }
.pg-alert.err{ background:rgba(214,69,61,.12); color:var(--ip-text); }
.pg-alert.err i{ color:#d6453d; }
.pg-actions{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:16px; }
.pg-actions a.pf-btn{ text-decoration:none; }
.pf-link.pg-danger:hover{ color:#d6453d; }

.pg-pill{ display:inline-block; font-size:11.5px; font-weight:700; padding:4px 10px; border-radius:999px; white-space:nowrap; }
.pg-ok{ background:rgba(31,157,85,.14); color:#1f9d55; }
.pg-warn{ background:rgba(214,138,30,.16); color:#b8730f; }
.pg-pill.pg-err{ background:rgba(214,69,61,.14); color:#d6453d; }
.pg-off{ background:var(--ip-hover); color:var(--ip-muted); }

.pg-cc{ display:flex; align-items:center; gap:14px; padding:14px; border-radius:14px; background:var(--ip-surface-2); border:1px solid var(--ip-line); }
.pg-cc > i{ font-size:30px; color:var(--ip-text); width:40px; text-align:center; }
.pg-cc b{ display:block; font-size:15px; letter-spacing:.3px; }
.pg-cc small{ color:var(--ip-muted); font-size:12.5px; text-transform:capitalize; }
.pg-secure{ margin:14px 0 0; font-size:12px; color:var(--ip-muted); display:flex; gap:8px; align-items:center; }
.pg-secure i{ color:var(--ip-brand); }

.pg-table{ font-size:13.5px; position:relative; }
.pg-tr{ display:grid; grid-template-columns:120px minmax(0,1fr) 120px 130px 90px; gap:12px; align-items:center; padding:11px 4px; border-bottom:1px solid var(--ip-line); }
.pg-tr:last-child{ border-bottom:0; }
.pg-th{ font-size:11px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:var(--ip-muted); padding-top:2px; }
.pg-desc small, .pg-amt small{ display:block; color:var(--ip-muted); font-size:12px; }
.pg-desc small{ color:#d6453d; }
.pg-amt{ font-weight:600; }
.pg-rcpt{ text-align:right; }
.pg-rcpt a{ color:var(--ip-brand); font-weight:600; text-decoration:none; font-size:13px; white-space:nowrap; }
.pg-rcpt a:hover{ text-decoration:underline; }
.pg-rcpt i{ font-size:10px; }
.pg-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

/* Diálogos (van en <body>) */
.pg-modal{ position:fixed; inset:0; z-index:40000; background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center; padding:16px; font-family:'Poppins',system-ui,sans-serif; }
.pg-modal-card{ width:100%; max-width:480px; max-height:calc(100vh - 32px); overflow-y:auto; background:var(--ip-surface); color:var(--ip-text); border:1px solid var(--ip-line-2); border-radius:18px; padding:22px 24px; box-shadow:0 30px 80px rgba(0,0,0,.45); box-sizing:border-box; }
.pg-modal h3{ font-size:19px; margin:0 0 12px; color:var(--ip-text) !important; }
.pg-modal-body p{ font-size:14px; line-height:1.6; margin:0 0 12px; color:var(--ip-text); }
.pg-modal-body .pg-small{ font-size:12.5px; color:var(--ip-muted); margin:10px 0 0; }
.pg-opts{ display:grid; gap:8px; }
.pg-modal .pg-opt{ display:flex; gap:12px; align-items:center; padding:12px 14px; border:1px solid var(--ip-line-2); border-radius:12px; cursor:pointer; color:var(--ip-text) !important; }
.pg-opt:has(input:checked){ border-color:var(--ip-brand); background:var(--ip-brand-soft); }
.pg-opt input{ accent-color:var(--ip-brand); width:16px; height:16px; flex:0 0 auto; margin:0; }
.pg-opt b{ display:block; font-size:14px; }
.pg-opt small{ color:var(--ip-muted); font-size:12.5px; }
.pg-modal .pg-field{ display:block; margin:6px 0 8px; color:var(--ip-text) !important; }
.pg-field span{ display:block; font-size:12.5px; font-weight:600; margin-bottom:6px; }
.pg-modal select, .pg-modal textarea{ width:100%; box-sizing:border-box; border:1px solid var(--ip-line-2) !important; background:var(--ip-surface-2) !important; color:var(--ip-text) !important; -webkit-text-fill-color:var(--ip-text) !important; border-radius:10px; padding:10px 12px; font:400 14px 'Poppins',sans-serif; }
.pg-modal textarea{ resize:vertical; }
.pg-modal select:focus, .pg-modal textarea:focus{ border-color:var(--ip-brand) !important; box-shadow:0 0 0 3px var(--ip-brand-soft); outline:none; }
.pg-retain{ display:flex; gap:10px; align-items:flex-start; margin-top:12px; padding:12px; border-radius:12px; background:var(--ip-brand-soft); font-size:13.5px; line-height:1.5; }
.pg-retain i{ color:var(--ip-brand); margin-top:3px; }
.pg-retain .pf-link{ color:var(--ip-text); font-weight:700; font-size:13.5px; }
.pg-modal-actions{ display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; margin-top:18px; }
.pg-btn-danger{ background:#d6453d; color:#fff; }
.pg-toast{ position:fixed; left:50%; bottom:28px; transform:translateX(-50%); z-index:45000; background:#0A0A0A; color:#fff; border:1px solid rgba(201,168,76,.5); padding:12px 18px; border-radius:999px; font:500 13.5px 'Poppins',sans-serif; box-shadow:0 14px 40px rgba(0,0,0,.35); transition:opacity .4s; max-width:calc(100vw - 32px); text-align:center; }
.pg-toast.out{ opacity:0; }

/* Pantalla de suscripción en pausa (bloquea la app) */
html.pg-locked, html.pg-locked body{ overflow:hidden !important; }
#pg-paused{ position:fixed; inset:0; z-index:60000; display:flex; align-items:center; justify-content:center; padding:20px 16px; overflow-y:auto;
  background:radial-gradient(1200px 600px at 50% -10%, rgba(201,168,76,.18), transparent 60%), #0A0A0A; color:#e6eaf4; font-family:'Poppins',system-ui,sans-serif; }
.pp-card{ width:100%; max-width:480px; text-align:center; }
.pp-logo{ height:44px; width:auto; margin:0 auto 28px; display:block; }
.pp-ic{ width:64px; height:64px; border-radius:50%; margin:0 auto 18px; display:flex; align-items:center; justify-content:center; background:rgba(201,168,76,.14); color:#C9A84C; font-size:22px; border:1px solid rgba(201,168,76,.4); }
#pg-paused h1{ font-size:26px; font-weight:700; margin:0 0 12px; color:#fff; }
#pg-paused p{ font-size:15px; line-height:1.65; color:#cfd3dc; margin:0 0 10px; }
#pg-paused p b{ color:#fff; }
.pp-amount{ font-size:14px !important; color:#9a9a9a !important; }
.pp-msg{ min-height:22px; font-size:14px; margin:8px 0 4px; color:#cfd3dc; }
.pp-msg.ok{ color:#4ade80; }
.pp-msg.err{ color:#f87171; }
.pp-actions{ display:flex; flex-direction:column; gap:10px; margin-top:14px; }
.pp-btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; width:100%; padding:14px 18px; border-radius:999px; font:600 15px 'Poppins',sans-serif; cursor:pointer; border:1px solid transparent; }
.pp-btn:disabled{ opacity:.6; cursor:default; }
.pp-btn[hidden]{ display:none; }
.pp-primary{ background:linear-gradient(135deg,#C9A84C,#E1C15A); color:#0A0A0A; }
.pp-ghost{ background:transparent; color:#e6eaf4; border-color:rgba(255,255,255,.2); }
.pp-ghost:hover{ border-color:#C9A84C; }
.pp-danger{ background:#d6453d; color:#fff; margin-top:10px; }
.pp-btn:focus-visible, .pp-link:focus-visible{ outline:2px solid #C9A84C; outline-offset:3px; }
.pp-link{ background:none; border:0; margin-top:18px; color:#9a9a9a; font:500 13px 'Poppins',sans-serif; text-decoration:underline; cursor:pointer; }
.pp-link:hover{ color:#f87171; }
.pp-confirm{ margin-top:18px; padding:14px; border-radius:14px; border:1px solid rgba(214,69,61,.4); background:rgba(214,69,61,.08); }
.pp-confirm p{ font-size:14px !important; margin:0 !important; }

@media (max-width:900px){ .pg-grid{ grid-template-columns:1fr; } }
@media (max-width:640px){
  .pg-th{ display:none; }
  .pg-tr{ grid-template-columns:1fr auto; grid-template-areas:"desc amt" "date state" "rcpt rcpt"; gap:4px 12px; padding:12px 2px; }
  .pg-tr > [data-label="Concepto"]{ grid-area:desc; }
  .pg-tr > [data-label="Monto"]{ grid-area:amt; text-align:right; }
  .pg-tr > [data-label="Fecha"]{ grid-area:date; color:var(--ip-muted); font-size:12.5px; }
  .pg-tr > [data-label="Estado"]{ grid-area:state; text-align:right; }
  .pg-tr > .pg-rcpt{ grid-area:rcpt; text-align:left; }
  .pg-rcpt:empty{ display:none; }
  .pg-actions{ gap:12px; }
  #pg-paused h1{ font-size:22px; }
}
