/* ============================================================
   RUVO v25 — Pulido visual: Modelos IA, Pagos, Jobs,
   Configuración y Mi cuenta.
   Se carga DESPUÉS de app.css y admin-v24.css (aditivo).
   ============================================================ */

/* ---------- Hero compacto para páginas internas ---------- */
.pg-hero{
  position:relative;overflow:hidden;
  border:1px solid var(--border);border-radius:16px;
  padding:20px 22px;margin-bottom:16px;
  background:
    radial-gradient(760px 240px at 0% -30%, rgba(108,140,255,.18), transparent 62%),
    radial-gradient(560px 220px at 100% 0%, rgba(33,212,180,.11), transparent 58%),
    linear-gradient(145deg,#151a29,#111624 60%,#0f1420);
  box-shadow:var(--shadow-soft);
  display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;
}
.pg-hero-ic{
  width:44px;height:44px;border-radius:12px;flex-shrink:0;
  display:grid;place-items:center;
  background:linear-gradient(150deg,rgba(108,140,255,.22),rgba(33,212,180,.14));
  border:1px solid rgba(108,140,255,.30);color:#bcd0ff;
}
.pg-hero-ic svg{width:21px;height:21px}
.pg-hero-txt{flex:1;min-width:200px}
.pg-hero-txt h2{font-size:clamp(18px,2.4vw,23px);font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0 0 5px}
.pg-hero-txt p{font-size:12.5px;line-height:1.6;color:var(--text-dim);margin:0;max-width:660px}
.pg-hero-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pg-hero-actions .btn{display:inline-flex;align-items:center;gap:6px}
.pg-hero-actions .btn svg{width:14px;height:14px}

/* ---------- Barra de filtros / segmentos ---------- */
.pg-toolbar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:13px;padding:11px 13px;margin-bottom:14px;
}
.pg-search{
  flex:1;min-width:180px;display:flex;align-items:center;gap:8px;
  background:var(--bg-elev);border:1px solid var(--border);
  border-radius:9px;padding:0 11px;height:38px;
}
.pg-search svg{width:15px;height:15px;color:var(--text-mute);flex-shrink:0}
.pg-search input{
  flex:1;min-width:0;background:transparent;border:0;outline:0;
  color:var(--text);font-size:13px;font-family:inherit;height:100%;
}
.pg-search input::placeholder{color:var(--text-mute)}
.seg{display:flex;gap:4px;flex-wrap:wrap;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:3px}
.seg-btn{
  appearance:none;border:0;background:transparent;cursor:pointer;
  font-family:inherit;font-size:12px;font-weight:600;color:var(--text-dim);
  padding:7px 11px;border-radius:7px;display:inline-flex;align-items:center;gap:6px;
  transition:background .13s,color .13s;white-space:nowrap;
}
.seg-btn:hover{color:var(--text);background:rgba(255,255,255,.04)}
.seg-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px rgba(108,140,255,.28)}
.seg-btn .n{
  font-size:10.5px;font-weight:800;padding:1px 6px;border-radius:999px;
  background:rgba(255,255,255,.14);color:inherit;
}
.seg-btn.active .n{background:rgba(0,0,0,.22)}

/* ---------- Celdas de tabla enriquecidas ---------- */
.cell-main{display:flex;align-items:center;gap:10px;min-width:0}
.cell-thumb{
  width:38px;height:38px;border-radius:9px;flex-shrink:0;overflow:hidden;
  background:var(--bg-elev);border:1px solid var(--border);
  display:grid;place-items:center;color:var(--text-mute);
}
.cell-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cell-thumb svg{width:17px;height:17px}
.cell-txt{min-width:0;display:flex;flex-direction:column;gap:2px}
.cell-title{font-size:13px;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cell-sub{font-size:11px;color:var(--text-mute);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- Stack de precio (costo / precio / margen) ---------- */
.pstack{display:flex;flex-direction:column;gap:2px;line-height:1.3}
.pstack .ps-main{font-family:var(--mono);font-size:12.5px;font-weight:700}
.pstack .ps-sub{font-size:10.5px;color:var(--text-mute)}
.pstack .ps-good{color:var(--ok)}
.pstack .ps-bad{color:var(--danger);font-weight:700}
.pstack .ps-warn{color:var(--warning)}

/* ---------- Badges de estado con punto ---------- */
.dot-pill{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;
  border:1px solid transparent;white-space:nowrap;
}
.dot-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.dot-pill.p-pending{color:var(--warning);background:rgba(255,200,87,.10);border-color:rgba(255,200,87,.26)}
.dot-pill.p-approved,.dot-pill.p-completed{color:var(--ok);background:rgba(67,209,127,.10);border-color:rgba(67,209,127,.26)}
.dot-pill.p-rejected,.dot-pill.p-failed{color:var(--danger);background:rgba(255,107,107,.10);border-color:rgba(255,107,107,.26)}
.dot-pill.p-refunded,.dot-pill.p-cancelled,.dot-pill.p-expired{color:var(--text-mute);background:rgba(255,255,255,.05);border-color:var(--border)}
.dot-pill.p-processing,.dot-pill.p-submitted{color:#7ea2ff;background:rgba(108,140,255,.12);border-color:rgba(108,140,255,.28)}

/* ---------- Monto destacado ---------- */
.amt{font-family:var(--mono);font-size:13px;font-weight:700;white-space:nowrap}
.amt-lg{font-family:var(--mono);font-size:14.5px;font-weight:800;white-space:nowrap}

/* ---------- Acciones de fila ---------- */
.row-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.row-acts .btn{white-space:nowrap}

/* ---------- Vacío dentro de tabla ---------- */
.tbl-empty{padding:34px 16px;text-align:center;color:var(--text-mute);font-size:13px}

/* ============================================================
   PAGOS — tarjetas de resumen y detalle
   ============================================================ */
.pay-hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px;margin-bottom:16px}
.pay-amt-box{
  display:flex;flex-direction:column;gap:1px;align-items:flex-start;
}
.pay-amt-box .pa-main{font-family:var(--mono);font-size:14px;font-weight:800;line-height:1.2}
.pay-amt-box .pa-sub{font-size:10.5px;color:var(--text-mute)}
.pay-user{display:flex;flex-direction:column;gap:1px;min-width:0}
.pay-user .pu-mail{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.pay-user .pu-name{font-size:10.5px;color:var(--text-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.gw-tag{
  display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);
  background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;padding:3px 7px;
}

/* Modal de aprobación: bloque de resumen */
.approve-sum{
  display:flex;flex-direction:column;gap:9px;
  background:var(--bg-elev);border:1px solid var(--border);
  border-radius:11px;padding:13px 15px;margin-bottom:16px;
}
.approve-sum .as-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px}
.approve-sum .as-k{color:var(--text-mute)}
.approve-sum .as-v{font-weight:700;font-family:var(--mono)}
.approve-sum .as-total{
  border-top:1px dashed var(--border);padding-top:9px;margin-top:2px;
  font-size:14px;color:var(--ok);
}
.approve-sum .as-total .as-v{font-size:16px;color:var(--ok)}

/* ============================================================
   MI CUENTA
   ============================================================ */
.acct-hero{
  position:relative;overflow:hidden;
  border:1px solid var(--border);border-radius:18px;
  padding:22px;margin-bottom:16px;
  background:
    radial-gradient(700px 260px at 0% -20%, rgba(108,140,255,.20), transparent 62%),
    radial-gradient(520px 220px at 100% 10%, rgba(168,85,247,.13), transparent 58%),
    linear-gradient(145deg,#151a29,#111624 60%,#0f1420);
  box-shadow:var(--shadow-soft);
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
.acct-avatar{
  width:66px;height:66px;border-radius:50%;flex-shrink:0;
  display:grid;place-items:center;font-size:23px;font-weight:800;letter-spacing:-.02em;
  color:#fff;background:linear-gradient(150deg,#6c8cff,#a855f7 60%,#21d4b4);
  box-shadow:0 6px 20px rgba(108,140,255,.32);
}
.acct-id{flex:1;min-width:190px}
.acct-id h2{font-size:clamp(17px,2.2vw,21px);font-weight:800;margin:0 0 3px;letter-spacing:-.02em}
.acct-id .acct-mail{font-size:12.5px;color:var(--text-dim);margin-bottom:8px;word-break:break-all}
.acct-tags{display:flex;gap:6px;flex-wrap:wrap}
.acct-bal{
  text-align:right;padding-left:18px;border-left:1px solid var(--border-soft);
  display:flex;flex-direction:column;gap:2px;
}
.acct-bal .ab-lbl{font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--text-mute)}
.acct-bal .ab-val{font-family:var(--mono);font-size:clamp(19px,2.6vw,25px);font-weight:800;color:var(--accent);line-height:1.15}
.acct-bal .ab-sub{font-size:10.5px;color:var(--text-mute)}
.acct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.acct-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:18px}
.acct-card h3{
  font-size:13px;font-weight:800;letter-spacing:.02em;margin:0 0 14px;
  display:flex;align-items:center;gap:8px;color:var(--text);
}
.acct-card h3 svg{width:15px;height:15px;color:var(--accent)}
.kv-rows{display:flex;flex-direction:column;gap:0}
.kv-rows .kvr{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:9px 0;border-bottom:1px solid var(--border-soft);font-size:12.5px;
}
.kv-rows .kvr:last-child{border-bottom:0}
.kv-rows .kvr .k{color:var(--text-mute);flex-shrink:0}
.kv-rows .kvr .v{font-weight:600;text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis}

/* ============================================================
   CONFIGURACIÓN — tabs y grupos
   ============================================================ */
.cfg-tabs{
  display:flex;gap:5px;flex-wrap:wrap;margin-bottom:16px;
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:13px;padding:6px;
}
.cfg-tab{
  appearance:none;border:0;background:transparent;cursor:pointer;font-family:inherit;
  font-size:12.5px;font-weight:600;color:var(--text-dim);
  padding:9px 13px;border-radius:9px;display:inline-flex;align-items:center;gap:7px;
  transition:background .13s,color .13s;white-space:nowrap;
}
.cfg-tab svg{width:15px;height:15px;flex-shrink:0}
.cfg-tab:hover{color:var(--text);background:rgba(255,255,255,.045)}
.cfg-tab.active{background:var(--primary);color:#fff;box-shadow:0 3px 12px rgba(108,140,255,.30)}
.cfg-pane{display:none}
.cfg-pane.active{display:block;animation:fade .18s}
.cfg-card{
  background:var(--bg-card);border:1px solid var(--border);border-radius:14px;
  padding:18px 20px;margin-bottom:14px;
}
.cfg-card > h3{
  font-size:13.5px;font-weight:800;margin:0 0 3px;
  display:flex;align-items:center;gap:8px;
}
.cfg-card > h3 svg{width:15px;height:15px;color:var(--accent)}
.cfg-card > .cfg-sub{font-size:11.5px;color:var(--text-mute);margin:0 0 15px;line-height:1.5}
.cfg-save-bar{
  position:sticky;bottom:0;z-index:5;
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:linear-gradient(to top,var(--bg) 30%,rgba(11,14,20,.85));
  border-top:1px solid var(--border);border-radius:0 0 12px 12px;
  padding:13px 4px;margin-top:6px;
}
.cfg-save-bar .csb-hint{font-size:11.5px;color:var(--text-mute);line-height:1.4;max-width:520px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:900px){
  .pg-hero{padding:17px 16px;gap:12px}
  .pg-hero-ic{width:38px;height:38px;border-radius:10px}
  .pg-hero-ic svg{width:18px;height:18px}
  .acct-bal{border-left:0;padding-left:0;text-align:left;width:100%;flex-direction:row;align-items:baseline;gap:8px;flex-wrap:wrap}
  .acct-bal .ab-lbl{width:100%}
}
@media (max-width:700px){
  .pg-toolbar{padding:9px 10px;gap:8px}
  .pg-search{min-width:100%;order:-1}
  .seg{width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .seg::-webkit-scrollbar{display:none}
  .row-acts{justify-content:flex-start}
  .cfg-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .cfg-tabs::-webkit-scrollbar{display:none}
  .acct-hero{padding:17px 16px}
  .acct-avatar{width:54px;height:54px;font-size:19px}
  .acct-card{padding:15px}
  .pay-user .pu-mail,.pay-user .pu-name{max-width:150px}
}
@media (max-width:480px){
  .pg-hero-actions{width:100%}
  .pg-hero-actions .btn{flex:1;justify-content:center}
  .cfg-card{padding:15px 14px}
  .approve-sum{padding:11px 12px}
  .acct-bal .ab-val{font-size:21px}
}

/* ============================================================
   v29 — Admin → Modelos IA: lista COMPACTA y sin scroll interno
   ============================================================ */
.admin-stats.stats-compact{gap:9px;margin-bottom:14px}
.admin-stats.stats-compact .astat{padding:10px 12px;border-radius:11px}
.admin-stats.stats-compact .astat-val{font-size:clamp(18px,2vw,22px);margin-top:1px}
.admin-stats.stats-compact .astat-sub{font-size:10.5px;line-height:1.3}
.admin-stats.stats-compact .astat-ic{width:24px;height:24px;border-radius:7px}
.admin-stats.stats-compact .astat-ic svg{width:13px;height:13px}
.admin-stats.stats-compact .astat-lbl{font-size:9.5px;letter-spacing:.05em}

/* La tabla ya no genera scroll horizontal ni vertical propio */
.table-wrap.tbl-flat{overflow:visible;border-radius:12px}
table.tbl.tbl-compact{min-width:0;width:100%;font-size:12.5px}
/* PC: anchos fijos por columna (evita nombres cortados a 220px) */
table.tbl.tbl-prv{table-layout:fixed}
table.tbl.tbl-prv col.c-model{width:33%}
table.tbl.tbl-prv col.c-price{width:22%}
table.tbl.tbl-prv col.c-opt{width:9%}
table.tbl.tbl-prv col.c-adv{width:11%}
table.tbl.tbl-prv col.c-status{width:10%}
table.tbl.tbl-prv col.c-acts{width:15%}
table.tbl.tbl-prv .cell-txt{min-width:0;flex:1 1 auto}
table.tbl.tbl-prv .cell-title{flex-wrap:wrap;row-gap:2px}
table.tbl.tbl-prv .cm-name{
  max-width:100%;white-space:normal;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  word-break:break-word;flex:1 1 auto;min-width:0;
}
table.tbl.tbl-prv .cell-sub{max-width:100%}
table.tbl.tbl-prv td.td-price{min-width:0}
table.tbl.tbl-prv .act-more{display:none}
table.tbl.tbl-prv .ibtn-lbl{display:none}
table.tbl.tbl-compact th{
  padding:8px 10px;font-size:10px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--text-mute);
  background:rgba(255,255,255,.02);position:static;white-space:nowrap;
}
table.tbl.tbl-compact td{padding:7px 10px;vertical-align:middle}
table.tbl.tbl-compact tbody tr:hover td{background:rgba(255,255,255,.025)}
table.tbl.tbl-compact .cell-main{gap:9px;align-items:center}
table.tbl.tbl-compact .cell-thumb{width:34px;height:34px;border-radius:8px;flex:0 0 34px}
table.tbl.tbl-compact .cell-title{gap:6px;font-size:13px;line-height:1.25;align-items:center}
table.tbl.tbl-compact .cm-name{
  max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;
}
table.tbl.tbl-compact .cell-sub{
  font-size:10.5px;line-height:1.35;max-width:290px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.tag-xs{font-size:9.5px;padding:1px 6px;line-height:1.6;font-weight:700}

/* Costo / Precio / Ganancia en 3 renglones */
.pmini{display:flex;flex-direction:column;gap:1px;line-height:1.3}
.pm-line{display:flex;gap:6px;align-items:baseline;white-space:nowrap}
.pm-k{
  font-size:9px;text-transform:uppercase;letter-spacing:.05em;
  color:var(--text-mute);width:50px;flex:0 0 50px;
}
.pm-v{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.pm-v.pm-good{color:var(--ok)}
.pm-v.pm-bad{color:var(--danger)}

/* Columnas centradas / acciones */
.th-c,td.td-c{text-align:center}
.th-r,td.td-acts{text-align:right}

/* Chip de opciones detectadas */
.opt-chip{
  display:inline-flex;align-items:center;gap:3px;
  background:var(--accent-soft);border:1px solid rgba(33,212,180,.28);
  color:var(--accent);border-radius:999px;padding:2px 8px;
  font-size:11px;font-weight:700;cursor:pointer;line-height:1.5;
  transition:filter .15s,border-color .15s;
}
.opt-chip:hover{filter:brightness(1.18);border-color:rgba(33,212,180,.55)}
.opt-n{font-size:12px}
.opt-t{font-weight:600;opacity:.85}
.opt-none{font-size:12px}

/* Acciones como iconos (ocupan mucho menos) */
.row-acts-ic{gap:4px;justify-content:flex-end;flex-wrap:nowrap}
.ibtn{
  width:28px;height:28px;display:inline-grid;place-items:center;
  border-radius:8px;border:1px solid var(--border);background:var(--bg-elev);
  color:var(--text-dim);font-size:12px;line-height:1;cursor:pointer;
  transition:color .15s,border-color .15s,background .15s;
}
.ibtn svg{width:14px;height:14px}
.ibtn:hover{color:var(--text);border-color:#33405f;background:var(--bg-card)}
.ibtn.danger:hover{color:var(--danger);border-color:rgba(255,107,107,.45)}
.ibtn:disabled{opacity:.45;cursor:default}

/* Modal de edición: resumen de opciones */
.opt-sum{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 8px}
.opt-sum-acts{display:flex;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.opt-tag{
  display:inline-flex;align-items:baseline;gap:5px;
  background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;
  padding:3px 8px;font-size:11.5px;color:var(--text-dim);
}
.opt-tag strong{color:var(--text);font-weight:700}
.ot-opts{
  font-size:10.5px;color:var(--text-mute);max-width:200px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* ============================================================
   MÓVIL — Modelos IA: tarjetas reales (anula el colapso genérico)
   ============================================================ */
@media(max-width:820px){
  .table-wrap.tbl-flat table.tbl.tbl-prv{display:block;border-spacing:0}
  .table-wrap.tbl-flat table.tbl.tbl-prv colgroup{display:none}
  .table-wrap.tbl-flat table.tbl.tbl-prv thead{display:none}
  .table-wrap.tbl-flat table.tbl.tbl-prv tbody{display:block}
  .table-wrap.tbl-flat table.tbl.tbl-prv tr{
    display:flex;flex-wrap:wrap;align-items:center;
    background:var(--bg-card);border:1px solid var(--border);
    border-radius:14px;padding:13px 14px;margin:0 0 11px;
    box-shadow:var(--shadow-soft);
  }
  .table-wrap.tbl-flat table.tbl.tbl-prv tr:last-child{margin-bottom:0}
  .table-wrap.tbl-flat table.tbl.tbl-prv td{
    display:block;border:0;padding:0;text-align:left;min-width:0;
  }
  .table-wrap.tbl-flat table.tbl.tbl-prv td::before{content:none!important}

  /* 1) Cabecera: modelo + estado */
  .table-wrap.tbl-flat table.tbl.tbl-prv td.td-model{order:1;flex:1 1 auto;min-width:0;padding-right:10px}
  table.tbl.tbl-prv td.td-model .cell-main{gap:11px;align-items:flex-start}
  table.tbl.tbl-prv td.td-model .cell-thumb{width:42px;height:42px;border-radius:10px;flex:0 0 42px}
  table.tbl.tbl-prv td.td-model .cm-name{max-width:100%;white-space:normal;-webkit-line-clamp:2;font-size:14.5px;line-height:1.3}
  table.tbl.tbl-prv td.td-model .cell-sub{max-width:100%;white-space:normal;word-break:break-word;margin-top:2px}

  /* 2) Estado a la derecha de la cabecera */
  .table-wrap.tbl-flat table.tbl.tbl-prv td.td-status{order:2;flex:0 0 auto;align-self:flex-start}
  table.tbl.tbl-prv td.td-status .dot-pill{font-size:10.5px;padding:3px 9px;white-space:nowrap}

  /* 3) Precios: 3 tarjetitas (Costo / Precio / Ganancia) */
  .table-wrap.tbl-flat table.tbl.tbl-prv td.td-price{
    order:3;flex:1 1 100%;margin-top:12px;padding-top:12px;
    border-top:1px solid var(--border-soft);
  }
  table.tbl.tbl-prv td.td-price .pmini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  table.tbl.tbl-prv td.td-price .pm-line{
    display:flex;flex-direction:column;align-items:flex-start;gap:2px;
    background:var(--bg-elev);border:1px solid var(--border-soft);
    border-radius:10px;padding:8px 9px;white-space:normal;
  }
  table.tbl.tbl-prv td.td-price .pm-k{width:auto;flex:none;font-size:9px;letter-spacing:.06em}
  table.tbl.tbl-prv td.td-price .pm-v{font-size:14px;font-weight:700;max-width:100%}

  /* 4) Chips: opciones + avisos */
  .table-wrap.tbl-flat table.tbl.tbl-prv td.td-opt{order:4;flex:0 0 auto;margin-top:11px;margin-right:8px}
  .table-wrap.tbl-flat table.tbl.tbl-prv td.td-adv{order:5;flex:0 0 auto;margin-top:11px}
  table.tbl.tbl-prv td.td-opt .opt-chip{padding:4px 10px;font-size:12px}
  table.tbl.tbl-prv td.td-adv .adv-cell{display:inline-flex;align-items:center;gap:6px}

  /* 5) Acciones: barra inferior táctil */
  .table-wrap.tbl-flat table.tbl.tbl-prv td.td-acts{
    order:6;flex:1 1 100%;margin-top:12px;padding-top:11px;
    border-top:1px solid var(--border-soft);
  }
  table.tbl.tbl-prv td.td-acts .row-acts-ic{
    display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;
  }
  table.tbl.tbl-prv td.td-acts .ibtn{
    width:auto;height:40px;min-width:40px;padding:0 12px;border-radius:10px;
    display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;
  }
  table.tbl.tbl-prv td.td-acts .ibtn svg{width:17px;height:17px}
  table.tbl.tbl-prv td.td-acts .ibtn-lbl{display:inline}
  table.tbl.tbl-prv td.td-acts .act-primary{flex:1 1 0;justify-content:center}
  table.tbl.tbl-prv td.td-acts .act-secondary{display:none}
  table.tbl.tbl-prv td.td-acts .row-acts-ic.open .act-secondary{display:inline-flex}
  table.tbl.tbl-prv td.td-acts .act-more{display:inline-flex;flex:0 0 40px;justify-content:center;padding:0;font-size:18px}
  table.tbl.tbl-prv td.td-acts .row-acts-ic.open .act-more{background:var(--bg-card);border-color:#33405f;color:var(--text)}

  /* Métricas: 3 arriba + 2 abajo */
  .admin-stats.stats-compact{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:380px){
  .admin-stats.stats-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  table.tbl.tbl-prv td.td-price .pmini{gap:6px}
  table.tbl.tbl-prv td.td-price .pm-v{font-size:13px}
}

/* ============================================================
   v35 — Pagos: tarjetas de proveedor + selector de medio de pago
   ============================================================ */
.pay-prov{
  background:var(--bg-elev);
  border:1px solid var(--border);
  border-radius:14px;
  padding:16px 16px 14px;
  margin-bottom:14px;
}
.pay-prov .pp-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pay-prov .pp-logo{
  width:44px;height:44px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:14px;letter-spacing:.3px;color:#0b0e14;
  background:var(--ppc,var(--primary));
  box-shadow:0 4px 14px rgba(0,0,0,.35);
}
.pay-prov .pp-meta{min-width:0;flex:1 1 180px}
.pay-prov .pp-name{font-weight:700;font-size:15px;color:var(--text)}
.pay-prov .pp-desc{font-size:12px;color:var(--text-mute);line-height:1.45;margin-top:2px}
.pay-prov .pp-right{display:flex;align-items:center;gap:10px;margin-left:auto}
.pay-prov .pp-note{
  margin-top:12px;padding:10px 12px;border-radius:10px;
  background:rgba(108,140,255,.08);border:1px solid rgba(108,140,255,.22);
  font-size:12px;line-height:1.55;color:var(--text-dim,#aeb8d0);
}
.pay-prov .pp-note a{color:var(--primary);text-decoration:underline}
.pay-prov .param-grid{margin-top:14px}
.pay-prov .pp-webhook{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border)}
.pay-prov .pp-wh-lbl{font-size:11px;color:var(--text-mute);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}
.pay-prov .pp-wh-row{display:flex;gap:8px;align-items:center}
.pay-prov .pp-wh-row .input{flex:1;min-width:0;font-size:12px}

/* Selector de medio de pago (Recargas) */
.pay-gw-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:8px}
.pay-gw{
  position:relative;display:flex;align-items:center;gap:11px;text-align:left;
  padding:12px 13px;border-radius:14px;cursor:pointer;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  border:1px solid var(--border);
  color:var(--text-dim,#aeb8d0);font-size:13px;font-weight:600;
  transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;
}
.pay-gw:hover{border-color:rgba(255,255,255,.28);color:var(--text);transform:translateY(-1px)}
.pay-gw.active{
  background:linear-gradient(180deg,rgba(33,212,180,.14),rgba(33,212,180,.04));
  border-color:var(--primary);color:var(--text);
  box-shadow:0 0 0 1px var(--primary) inset,0 6px 18px rgba(0,0,0,.25);
}
.pay-gw-logo{
  flex:0 0 auto;width:40px;height:40px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;letter-spacing:.4px;color:#0b0e14;
  background:transparent;
  overflow:hidden;
  transition:transform .16s;
}
.pay-gw-logo svg{display:block;width:100%;height:100%;border-radius:11px}
.pay-gw-logo svg text{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.pay-gw:hover .pay-gw-logo{transform:scale(1.04)}
.pay-gw.active .pay-gw-logo{box-shadow:0 0 0 2px rgba(33,212,180,.35)}
.pay-gw-single .pay-gw-logo{width:40px;height:40px}
.pay-gw-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}
.pay-gw-name{font-size:13.5px;font-weight:700;color:inherit;line-height:1.2}
.pay-gw-sub{font-size:11px;font-weight:500;color:var(--text-mute);line-height:1.35}
.pay-gw-check{
  flex:0 0 auto;width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border);color:transparent;transition:.16s;
}
.pay-gw-check svg{width:12px;height:12px}
.pay-gw.active .pay-gw-check{background:var(--primary);border-color:var(--primary);color:#0b0e14}
.pay-gw-single{
  display:flex;align-items:center;gap:11px;margin-top:8px;padding:11px 13px;
  border-radius:14px;border:1px solid var(--border);
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
}
.pay-gw-single .pay-gw-name{font-size:13.5px;font-weight:700;color:var(--text)}
@media(max-width:560px){
  .pay-gw-row{grid-template-columns:1fr}
}

/* Panel de datos manuales (Binance) */
.pay-manual{
  margin-top:14px;padding:14px;border-radius:12px;
  background:rgba(240,185,11,.07);border:1px solid rgba(240,185,11,.28);
}
.pay-manual .pm-title{font-weight:700;font-size:14px;color:var(--text);margin-bottom:10px}
.pay-manual .pm-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px}
.pay-manual .pm-row:last-of-type{border-bottom:0}
.pay-manual .pm-row span{color:var(--text-mute)}
.pay-manual .pm-qr{display:block;max-width:180px;width:100%;margin:12px auto;border-radius:10px;background:#fff;padding:6px}
.pay-manual .pm-note{font-size:12px;line-height:1.55;color:var(--text-dim,#aeb8d0);margin-top:8px}

@media(max-width:560px){
  .pay-prov .pp-right{width:100%;justify-content:space-between;margin-left:0}
  .pay-prov .pp-wh-row{flex-direction:column;align-items:stretch}
}

/* ---- Binance v36: monto exacto, avisos y verificacion ---- */
.pay-manual .pm-amount{
  padding:12px 14px;border-radius:10px;margin-bottom:10px;
  background:rgba(240,185,11,.12);border:1px solid rgba(240,185,11,.35);
}
.pay-manual .pm-amount-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-mute);margin-bottom:4px}
.pay-manual .pm-amount-val{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:20px;color:var(--text)}
.pay-manual .pm-amount-val strong{font-size:22px;letter-spacing:.3px}
.pay-manual .pm-amount-sub{font-size:12px;color:var(--text-dim,#aeb8d0);margin-top:4px}
.pay-manual .pm-warn{color:#f6d27a}
.pay-manual .pm-exp{font-size:12px;color:var(--text-mute);margin-top:8px;font-style:italic}
.pay-manual .pm-verify{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(240,185,11,.35)}
.pay-manual .pm-verify-title{font-weight:700;font-size:13px;color:var(--text);margin-bottom:4px}
.pay-manual .pm-verify-row{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;align-items:center}
.pay-manual .pm-verify-row .input{flex:1 1 200px;min-width:0}
/* v43.9.2: el campo del ID / TXID estaba quedando gigante (sobre todo en
   movil, donde el flex-basis de 180px se aplicaba como ALTURA al pasar la
   fila a columna). Lo dejamos compacto, de una sola linea. */
.pay-manual .pm-verify-row .input,
.pay-manual .pm-verify-row input,
.pay-manual .pm-verify input,
.pay-manual #pm-order-id{
  flex:1 1 200px;
  width:100%;
  height:42px;
  min-height:42px;
  max-height:42px;
  padding:9px 12px;
  font-size:13.5px;
  line-height:1.2;
  border-radius:10px;
  resize:none;
}
.pay-prov .pp-test{
  margin-top:14px;padding-top:12px;border-top:1px dashed var(--border);
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
.pay-prov .pp-test .hint{font-size:12px;line-height:1.5}
@media(max-width:560px){
  .pay-manual .pm-verify-row{flex-direction:column;align-items:stretch}
  /* v43.9.2: en columna, flex-basis se interpretaba como alto -> campo
     enorme. Forzamos alto fijo y que no crezca. */
  .pay-manual .pm-verify-row .input,
  .pay-manual .pm-verify-row input,
  .pay-manual .pm-verify input,
  .pay-manual #pm-order-id{
    flex:0 0 auto;
    width:100%;
    height:40px;
    min-height:40px;
    max-height:40px;
    padding:8px 12px;
    font-size:13px;
  }
  .pay-manual .pm-verify-row .btn{width:100%}
  .pay-prov .pp-test{flex-direction:column;align-items:stretch}
}

/* Aviso de estado dentro de la tarjeta de proveedor */
.pay-prov .pp-status{
  margin-top:12px;padding:10px 12px;border-radius:10px;font-size:12.5px;line-height:1.5;
  background:rgba(240,185,11,.10);border:1px solid rgba(240,185,11,.32);color:#f6d27a;
}

/* ============================================================
   v36.2 — Cambio de divisa ARS/USDT + conversion en vivo
   ============================================================ */
.cur-switch{
  display:inline-flex;align-items:center;gap:2px;
  background:var(--bg-elev);border:1px solid var(--border);
  border-radius:999px;padding:3px;margin-right:10px;
}
.cur-opt{
  appearance:none;border:0;background:transparent;color:var(--text-mute);
  font:600 11.5px/1 var(--sans);letter-spacing:.4px;
  padding:7px 12px;border-radius:999px;cursor:pointer;transition:.18s;
}
.cur-opt:hover{color:var(--text)}
.cur-opt.active{
  background:linear-gradient(135deg,var(--primary),#8a6cff);
  color:#fff;box-shadow:0 2px 10px rgba(108,140,255,.35);
}
@media (max-width:640px){
  .cur-switch{margin-right:6px}
  .cur-opt{padding:6px 9px;font-size:11px}
}

.pay-conv{
  margin-top:12px;padding:12px 14px;border-radius:12px;
  background:linear-gradient(135deg,rgba(33,212,180,.07),rgba(108,140,255,.07));
  border:1px solid var(--border-soft);
}
.pay-conv-main{
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
  font-weight:800;font-size:19px;letter-spacing:-.2px;color:var(--text);
}
.pay-conv-eq{color:var(--text-mute);font-weight:600}
.pay-conv-usdt{color:var(--accent);font-family:var(--mono);font-size:20px}
.pay-conv-ars{color:var(--text-mute);font-weight:600;font-size:13px}
.pay-conv-rate{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-top:7px;font-size:11.5px;color:var(--text-mute);
}
.pay-conv-refresh{
  appearance:none;border:1px solid var(--border);background:var(--bg-elev);
  color:var(--text-dim);border-radius:7px;width:24px;height:24px;
  cursor:pointer;font-size:13px;line-height:1;display:inline-flex;
  align-items:center;justify-content:center;transition:.18s;
}
.pay-conv-refresh:hover{color:var(--text);border-color:var(--primary);transform:rotate(90deg)}
.pay-conv-note{
  margin-top:9px;padding-top:9px;border-top:1px dashed var(--border-soft);
  font-size:12px;color:var(--text-dim);line-height:1.5;
}

/* Debug de /config en la tarjeta del proveedor */
.pp-debug{margin-top:10px}
.pp-debug-line{
  margin-top:8px;padding:9px 11px;border-radius:9px;font-size:12.5px;line-height:1.5;
}
.pp-debug-line.ok{background:rgba(67,209,127,.10);border:1px solid rgba(67,209,127,.35);color:#8ff0b5}
.pp-debug-line.bad{background:rgba(255,200,87,.10);border:1px solid rgba(255,200,87,.35);color:#ffd98a}
.pp-debug-pre{
  margin-top:8px;max-height:220px;overflow:auto;padding:10px;
  background:#0b0e14;border:1px solid var(--border-soft);border-radius:9px;
  font:11px/1.5 var(--mono);color:var(--text-dim);white-space:pre-wrap;word-break:break-word;
}

/* ============================================================
   v36.5 — Rediseño de la pantalla Recargas
   ============================================================ */

/* --- Cabecera (hero) --- */
.pay-hero{
  position:relative;display:flex;align-items:center;gap:14px;
  padding:18px 20px;margin-bottom:16px;border-radius:18px;
  background:
    radial-gradient(120% 160% at 0% 0%,rgba(33,212,180,.16),transparent 60%),
    radial-gradient(120% 160% at 100% 0%,rgba(124,92,255,.16),transparent 60%),
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  border:1px solid var(--border);
  box-shadow:0 10px 30px rgba(0,0,0,.22);
  overflow:hidden;
}
.pay-hero-ic{
  flex:0 0 auto;width:46px;height:46px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(33,212,180,.22),rgba(124,92,255,.22));
  border:1px solid rgba(33,212,180,.35);color:var(--primary);
}
.pay-hero-ic svg{width:22px;height:22px}
.pay-hero-tx{min-width:0;flex:1 1 auto}
.pay-hero-title{margin:0;font-size:19px;font-weight:800;letter-spacing:-.2px;color:var(--text)}
.pay-hero-sub{margin:3px 0 0;font-size:12.5px;color:var(--text-mute);line-height:1.4}
.pay-hero-bal{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;
  padding:8px 14px;border-radius:12px;
  background:rgba(0,0,0,.28);border:1px solid var(--border);
}
.phb-lbl{font-size:9.5px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--text-mute)}
.phb-val{font-size:16px;font-weight:800;color:var(--primary);font-variant-numeric:tabular-nums}

/* --- Tarjeta principal --- */
.pay-card{padding:20px}
.pay-card .field > label{
  font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;
  color:var(--text-mute);margin-bottom:8px;
}

/* --- Chips de monto --- */
#preset-row{display:flex;flex-wrap:wrap;gap:8px}
.pay-chip{
  flex:1 1 auto;min-width:88px;padding:11px 14px;border-radius:12px;cursor:pointer;
  font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;
  color:var(--text-dim,#aeb8d0);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  border:1px solid var(--border);
  transition:border-color .15s,background .15s,color .15s,transform .15s,box-shadow .15s;
}
.pay-chip:hover{border-color:rgba(255,255,255,.3);color:var(--text);transform:translateY(-1px)}
.pay-chip.active{
  color:#06110e;border-color:transparent;
  background:linear-gradient(135deg,var(--primary),#7c5cff);
  box-shadow:0 6px 18px rgba(33,212,180,.28);
}

/* --- Campo de monto con prefijo --- */
.pay-amt-wrap{
  display:flex;align-items:center;gap:0;margin-top:2px;
  border-radius:14px;border:1px solid var(--border);
  background:rgba(0,0,0,.26);
  transition:border-color .15s,box-shadow .15s;
}
.pay-amt-wrap:focus-within{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(33,212,180,.14);
}
.pay-amt-cur{
  flex:0 0 auto;padding:0 4px 0 16px;
  font-size:13px;font-weight:800;color:var(--text-mute);letter-spacing:.3px;
}
.pay-amt-input{
  flex:1 1 auto;width:100%;padding:15px 16px 15px 8px;
  background:transparent;border:0;outline:0;color:var(--text);
  font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;
  font-family:inherit;
}
.pay-amt-input::placeholder{font-size:13.5px;font-weight:500;color:var(--text-mute)}
.pay-amt-input::-webkit-outer-spin-button,
.pay-amt-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pay-amt-input[type=number]{-moz-appearance:textfield;appearance:textfield}

/* --- Boton principal --- */
.pay-cta{
  width:100%;margin-top:18px;padding:16px 20px;border:0;border-radius:14px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:15px;font-weight:800;letter-spacing:.1px;color:#06110e;
  background:linear-gradient(135deg,var(--primary) 0%,#5ce1c0 45%,#7c5cff 100%);
  box-shadow:0 10px 26px rgba(33,212,180,.26);
  transition:transform .15s,box-shadow .15s,filter .15s;
}
.pay-cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 32px rgba(33,212,180,.34);filter:brightness(1.04)}
.pay-cta:active:not(:disabled){transform:translateY(0)}
.pay-cta:disabled{opacity:.65;cursor:default}
.pay-cta-arrow{display:flex;align-items:center}
.pay-cta-arrow svg{width:18px;height:18px}

/* --- Aviso --- */
.pay-warn{
  display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:11px 13px;
  border-radius:12px;border:1px solid rgba(240,185,11,.26);
  background:rgba(240,185,11,.07);
}
.pay-warn-ic{flex:0 0 auto;color:#f0b90b;display:flex;margin-top:1px}
.pay-warn-ic svg{width:15px;height:15px}
.pay-warn-tx{font-size:11.5px;line-height:1.5;color:var(--text-dim,#aeb8d0)}

/* --- Logos (imagenes reales) --- */
.pay-gw-logo{width:50px;height:50px;border-radius:14px;background:transparent;box-shadow:none}
.pay-gw-logo .gw-img{
  display:block;width:50px;height:50px;border-radius:14px;object-fit:contain;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.38));
}
.pay-gw-logo .gw-fb{
  display:flex;align-items:center;justify-content:center;width:50px;height:50px;
  border-radius:14px;font-size:13px;font-weight:800;color:#0b0e14;
}
.pay-gw{padding:14px 15px;border-radius:16px;min-height:78px}
.pay-gw.active{background:linear-gradient(180deg,rgba(33,212,180,.15),rgba(124,92,255,.06))}
.pay-gw.active .pay-gw-logo{box-shadow:0 0 0 2px rgba(33,212,180,.35),0 6px 16px rgba(0,0,0,.35)}
.pay-gw-single .pay-gw-logo{width:50px;height:50px}
.pay-gw-single .pay-gw-logo .gw-img{width:50px;height:50px}

/* --- Responsive --- */
@media(max-width:640px){
  .pay-hero{flex-wrap:wrap;padding:15px 16px;gap:11px}
  .pay-hero-title{font-size:17px}
  .pay-hero-bal{width:100%;flex-direction:row;align-items:center;justify-content:space-between}
  .pay-card{padding:16px}
  .pay-chip{min-width:calc(50% - 4px);flex:0 0 calc(50% - 4px)}
  .pay-amt-input{font-size:18px;padding:13px 14px 13px 6px}
  .pay-cta{padding:15px 16px;font-size:14px}
}
.pay-card-head{margin-bottom:14px}
.pay-card-sub{font-size:12.5px;font-weight:600;color:var(--text-mute);line-height:1.4}
