/* FIX27: solo controles de comercio. No pisa CSS de inventario retail, 2FA ni billetera. */
.rk-trade-alert{max-width:1080px;margin:10px auto 16px;padding:12px 14px;border-radius:7px;font-size:13px;font-weight:650}
.rk-trade-alert.is-error{background:#351b26;border:1px solid #d35a70;color:#ffe1e8}
.rk-trade-alert.is-ok{background:#153c31;border:1px solid #389e71;color:#a9eecf}
.rk-trade-publish{margin:14px 0 0;border:1px solid #3c5270;background:#142335;padding:12px;display:flex;flex-direction:column;gap:8px;border-radius:8px;color:#dce6f1}
.rk-trade-publish h3{font-size:14px;color:#efc17a;margin:0}
.rk-trade-publish label{font-size:12px;display:flex;flex-direction:column;gap:5px}
.rk-trade-publish input,.rk-trade-publish select,.rk-trade-inline input,.rk-trade-inline select,.rk-trade-buy input{font:inherit;font-size:12px;min-width:0;max-width:100%;box-sizing:border-box;background:#101c2c;border:1px solid #48617e;border-radius:5px;color:#eff5fc;padding:7px 8px}
.rk-trade-publish button,.rk-trade-inline button,.rk-trade-buy button{font:inherit;cursor:pointer;font-weight:750;background:#e9b763;border:1px solid #d4a151;color:#1a1720;border-radius:5px;padding:8px 11px}
.rk-trade-publish button:disabled{opacity:.45;cursor:not-allowed}
.rk-trade-help{font-size:11px;color:#b9c9d8;line-height:1.5;margin:2px 0 0}
.rk-trade-item-actions,.rk-trade-inline{display:flex;flex-direction:column;gap:6px;min-width:120px}
.rk-trade-inline{margin:0}
.rk-trade-item-actions details summary{font-size:11px;font-weight:650;color:#f2c77a;cursor:pointer;margin:5px 0}
.rk-trade-item-actions .rk-trade-code{width:100%;min-width:100px}
.rk-trade-buy{display:flex;flex-direction:column;gap:6px;max-width:130px;margin:0}
.rk-trade-buy button{width:100%}
@media(max-width:700px){.rk-trade-publish,.rk-trade-item-actions{min-width:0}}

/* FIX29 — Botón Comprar: estado funcional visible.
 * La regla de catalog.css aplica el estilo apagado incluso al <button type=submit>.
 * Esto es SOLO presentación: nunca se interpreta el color como autorización.
 * La validación de propiedad, saldo, 2FA y estado se hace en el VPS. */
.rk-market-section form.rk-trade-buy > button.rk-market-buy:not(:disabled) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px;
  width: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: linear-gradient(110deg, #f3ca7e 0%, #dda54f 100%) !important;
  border: 1px solid #d3a255 !important;
  border-radius: 6px !important;
  color: #1a1713 !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  text-shadow: none !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .22) !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  filter: none !important;
  text-decoration: none !important;
  transition: filter .15s ease, box-shadow .15s ease;
}
.rk-market-section form.rk-trade-buy > button.rk-market-buy:not(:disabled):hover {
  filter: brightness(1.08) !important;
  box-shadow: 0 3px 10px rgba(225, 168, 73, .23) !important;
}
.rk-market-section form.rk-trade-buy > button.rk-market-buy:not(:disabled):focus-visible {
  outline: 2px solid #fff1cf !important;
  outline-offset: 3px;
}
/* Deshabilitado real: sin clic, gris y cursor de prohibido. */
.rk-market-section button.rk-market-buy:disabled {
  background: #202b3a !important;
  border: 1px solid #39475a !important;
  color: #8390a4 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  opacity: .68 !important;
  filter: none !important;
  box-shadow: none !important;
}
/* Cuando falta iniciar sesión, el enlace mantiene apariencia de acción. */
.rk-market-section a.rk-market-buy {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #273951 !important;
  border: 1px solid #6d8bab !important;
  color: #d8e9fa !important;
  opacity: 1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}


/* FIX30 — Si la publicación pertenece a la cuenta actual,
 * no se ofrece compra. En su lugar se muestra el tiempo restante. */
.rk-market-own-expiry {
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:130px;
  max-width:140px;
  padding:8px 9px;
  border-radius:7px;
  border:1px solid #4a5e74;
  background:#152334;
  color:#dce8f5;
  line-height:1.25;
}
.rk-market-own-expiry-tag {
  display:inline-flex;
  align-self:flex-start;
  padding:2px 7px;
  border-radius:999px;
  border:1px solid #6f86a0;
  background:#203247;
  color:#d6e6f7;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.rk-market-own-expiry-remaining {
  color:#efc17a;
  font-size:12px;
  font-weight:800;
}
.rk-market-own-expiry-date {
  color:#aebed0;
  font-size:11px;
}


/* FIX31: una sola cuenta regresiva de publicación propia. */
.rk-market-section .rk-market-own-expiry {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:6px !important;
  min-width:130px;
  width:fit-content;
  padding:7px 9px;
  border-radius:7px;
  border:1px solid #536277;
  background:#142538;
  text-align:left;
}
.rk-market-section .rk-market-own-expiry-tag {
  color:#b5cce5;
  border:0;
  padding:0;
  background:transparent;
  font-size:10px;
  line-height:1.3;
}
.rk-market-section .rk-market-own-expiry-remaining {
  color:#edc37b;
  font-size:12px;
  font-weight:800;
  line-height:1.3;
}
/* Feedback visible sin cambiar el scroll ni sacar al usuario del catálogo. */
.rk-market-trade-toast {
  position:fixed;
  z-index:100000;
  top:88px;
  right:max(14px, calc((100vw - 1240px) / 2));
  width:min(390px, calc(100vw - 28px));
  box-sizing:border-box;
  background:#172c3c;
  border:1px solid #599a7e;
  border-left:4px solid #63c49c;
  border-radius:9px;
  box-shadow:0 12px 38px rgba(0,0,0,.45);
  padding:15px 17px;
  color:#f0f6fd;
  font-size:13px;
  line-height:1.55;
}
.rk-market-trade-toast.is-error {
  background:#351e29;
  border-color:#be5b70;
  border-left-color:#ed8597;
}
.rk-market-trade-toast strong {display:block;font-size:15px;margin-bottom:4px;color:#9af1c6}
.rk-market-trade-toast.is-error strong {color:#ffb3c0}
.rk-market-trade-toast p {margin:0 0 8px;color:inherit}
.rk-market-trade-toast a {color:#f6c779;display:inline-block;margin-right:15px;font-weight:750}
.rk-market-trade-toast-close {cursor:pointer;border:1px solid #6c8095;border-radius:5px;background:#25394b;color:#f3f7fb;padding:5px 10px;font:inherit;font-size:11px}
.rk-market-section .rk-market-purchased-row {opacity:.74}
.rk-market-section .rk-market-purchased-row .rk-trade-buy > button.rk-market-buy:disabled {
  opacity:1 !important;
  color:#a6e8c6 !important;
  background:#1b3b32 !important;
  border-color:#478a6e !important;
}
@media(max-width:680px){.rk-market-trade-toast{top:12px;right:12px}}

/* FIX32 — Estado no concluyente: no mostrarlo como compra fallida. */
.rk-market-trade-toast.is-unknown{background:#30261a;border-color:#c18d49;color:#f9e5c4}
.rk-market-trade-toast.is-unknown strong{color:#ffdb97}
.rk-market-trade-toast.is-unknown a{color:#ffe2a6}
.rk-trade-buy button:not(:disabled){cursor:pointer}

/* FIX33 — Mensaje de saldo insuficiente con enlace directo a la Billetera. */
.rk-market-trade-toast.is-insufficient {
  background:#351e29;
  border-color:#be5b70;
  border-left-color:#ed8597;
}
.rk-market-trade-toast.is-insufficient strong{color:#ffd0d9}
.rk-market-trade-toast.is-insufficient a {
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:5px 11px;
  border-radius:5px;
  border:1px solid #cfaa6f;
  background:#e9b763;
  color:#18171a;
  text-decoration:none;
  font-weight:800;
  box-sizing:border-box;
}
.rk-market-trade-toast.is-insufficient a:hover {filter:brightness(1.08)}

/* FIX34: la respuesta del POST clásico se presenta como notificación; sin barra duplicada. */
#rk-trade-server-flash[hidden]{display:none!important}

/* FIX35/FIX36 — Botones compactos del Banco web y Mis ítems publicados.
   FIX36 reduce aún más el ancho visual de las acciones.
   No modificar Compra, Billetera, Inventario ni la operativa del Mercado. */
#banco-web .rk-account-bank-table .rk-trade-item-actions,
#mis-publicaciones .rk-trade-item-actions {
  align-items: flex-start;
  min-width: 0;
  gap: 6px;
}
#banco-web .rk-account-bank-table .rk-trade-item-actions > form.rk-trade-inline,
#banco-web .rk-account-bank-table .rk-trade-item-actions > details.rk-trade-expand,
#banco-web .rk-account-bank-table .rk-trade-item-actions > details.rk-trade-expand > form.rk-trade-inline {
  width: 124px;
  max-width: 100%;
  min-width: 0;
}
#mis-publicaciones .rk-trade-item-actions > form.rk-trade-inline {
  width: 94px;
  max-width: 100%;
  min-width: 0;
}
#banco-web .rk-account-bank-table .rk-trade-inline > button[type="submit"],
#mis-publicaciones .rk-trade-item-actions .rk-trade-inline > button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 5px 10px !important;
  border-radius: 5px !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  white-space: nowrap;
}
#banco-web .rk-account-bank-table .rk-trade-item-actions > details.rk-trade-expand > summary {
  font-size: 11px;
  line-height: 1.4;
}
