/* ═══════════════════════════════════════════════════
   Rincones Widget — CSS del widget sticky
   La posición se controla desde PHP mediante la
   variable CSS --rw-pos inyectada inline en el body.
   ═══════════════════════════════════════════════════ */

#rw-sticky{
  position:fixed;
  right:0;
  top:var(--rw-pos, 80%);
  transform:translateY(-50%);
  z-index:9999;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:6px;
  background:#fff;
  border-radius:12px 0 0 12px;
  box-shadow:0 4px 20px rgba(0,0,0,.12);
}
#rw-sticky button,
#rw-sticky a.rw-link-btn{
  width:44px;height:44px;border:none;border-radius:10px;cursor:pointer;
  font-size:1.3rem;transition:transform .2s,background .2s;
  background:#f3f4f6;display:flex;align-items:center;justify-content:center;
  text-decoration:none;color:inherit;
}
#rw-sticky button:hover,#rw-sticky a.rw-link-btn:hover{transform:scale(1.15)}
#rw-sticky .rw-active{background:#fef3c7}

/* ── Panel principal ─────────────────────────────── */
#rw-panel{
  display:none;position:fixed;right:50px;top:var(--rw-pos, 80%);
  transform:translateY(-50%);width:340px;max-height:80vh;
  background:#fff;border-radius:14px;box-shadow:0 10px 40px rgba(0,0,0,.15);
  z-index:99998;overflow:hidden;flex-direction:column;
}
#rw-panel.open{display:flex}
#rw-panel header{padding:10px 12px 10px 14px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;gap:6px}
#rw-panel header .rw-title{font-weight:700;font-size:1rem;white-space:nowrap}
#rw-panel header .rw-header-right{display:flex;align-items:center;gap:4px;flex-shrink:0}
#rw-panel header button.rw-close-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:2px 4px;color:#6b7280}
#rw-panel .rw-tabs{display:flex;border-bottom:1px solid #e5e7eb}
#rw-panel .rw-tabs button{flex:1;padding:9px 4px;border:none;background:none;cursor:pointer;font-weight:600;font-size:.82rem;color:#6b7280;border-bottom:2px solid transparent;white-space:nowrap}
#rw-panel .rw-tabs button.active{color:#2563eb;border-bottom-color:#2563eb}
#rw-panel .rw-list{flex:1;overflow-y:auto;padding:8px}

/* ── Botones exportar en cabecera ────────────────── */
.rw-exp-btn{font-size:.7rem;padding:3px 7px;border-radius:5px;border:1px solid #d1d5db;background:#f9fafb;cursor:pointer;color:#374151;transition:background .15s;white-space:nowrap}
.rw-exp-btn:hover{background:#e5e7eb}
.rw-exp-lbl{font-size:.68rem;color:#9ca3af;white-space:nowrap}
.rw-exp-wrap{position:relative;display:inline-flex}
.rw-exp-dd{display:none;position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #e5e7eb;border-radius:9px;box-shadow:0 6px 20px rgba(0,0,0,.12);z-index:100001;min-width:160px;padding:4px 0;overflow:hidden}
.rw-exp-dd.open{display:block}
.rw-exp-dd button{display:block;width:100%;text-align:left;padding:7px 14px;font-size:.82rem;background:none;border:none;cursor:pointer;color:#374151;transition:background .1s}
.rw-exp-dd button:hover{background:#f3f4f6}
.rw-exp-dd .rw-dd-sep{height:1px;background:#f3f4f6;margin:3px 0}

/* ── Ítems de lista ──────────────────────────────── */
.rw-item{display:flex;gap:10px;padding:10px;border-radius:10px;transition:background .15s;align-items:center;text-decoration:none;color:#1a1a2e}
.rw-item:hover{background:#f3f4f6}
.rw-item img{width:48px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0}
.rw-item .info{flex:1;min-width:0}
.rw-item .info h4{margin:0;font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rw-item .info span{font-size:.75rem;color:#6b7280}
.rw-item .del{background:none;border:none;cursor:pointer;font-size:1rem;color:#ef4444;opacity:.5;flex-shrink:0}
.rw-item .del:hover{opacity:1}
.rw-empty{text-align:center;padding:2rem;color:#9ca3af;font-size:.9rem}

.rw-login-banner{margin:10px 8px;padding:12px 14px;background:#eff6ff;border-radius:10px;font-size:.82rem;color:#1e40af;line-height:1.5}
.rw-login-banner a,.rw-login-banner button{color:#2563eb;font-weight:700;background:none;border:none;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}

/* ── Toast ───────────────────────────────────────── */
#rw-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#1a1a2e;color:#fff;padding:10px 20px;border-radius:8px;z-index:100000;font-size:.9rem;display:none;animation:rwIn .3s}
@keyframes rwIn{from{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* ── Glosario panel ──────────────────────────────── */
#rw-glossary{
  display:none;position:fixed;right:50px;top:var(--rw-pos, 80%);
  transform:translateY(-50%);width:340px;max-height:80vh;
  background:#fef7ed;border:1px solid #f3e8d8;border-radius:14px;
  box-shadow:0 10px 40px rgba(0,0,0,.15);z-index:99998;overflow-y:auto;
  padding:18px;flex-direction:column;
}
#rw-glossary.open{display:flex}
#rw-glossary .rw-ghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
#rw-glossary .rw-ghead-left{font-size:16px;font-weight:700;color:#4a2c0a}
#rw-glossary .rw-ghead-right{display:flex;align-items:center;gap:4px}
#rw-glossary .gs{font-size:14px;font-weight:600;color:#4a2c0a;margin-top:10px}
#rw-glossary .gt{line-height:1.9;font-size:12px}
#rw-glossary .gt a{color:#b45309;text-decoration:none;font-weight:600}
#rw-glossary .gt a:hover{color:#92400e;text-decoration:underline}

.rw-exp-btn-warm{font-size:.7rem;padding:3px 7px;border-radius:5px;border:1px solid #e0d0c0;background:#fdf0e0;cursor:pointer;color:#7a5c3a;transition:background .15s;white-space:nowrap}
.rw-exp-btn-warm:hover{background:#f5dfc0}
.rw-exp-dd-warm{display:none;position:absolute;right:0;top:calc(100% + 4px);background:#fef7ed;border:1px solid #e0d0c0;border-radius:9px;box-shadow:0 6px 20px rgba(0,0,0,.12);z-index:100001;min-width:160px;padding:4px 0}
.rw-exp-dd-warm.open{display:block}
.rw-exp-dd-warm button{display:block;width:100%;text-align:left;padding:7px 14px;font-size:.82rem;background:none;border:none;cursor:pointer;color:#4a2c0a;transition:background .1s}
.rw-exp-dd-warm button:hover{background:#f5e8d0}
.rw-exp-dd-warm .rw-dd-sep{height:1px;background:#e8d8c8;margin:3px 0}

/* ── Badge del glosario ──────────────────────────── */
.gd-badge{position:absolute;top:-4px;right:-4px;background:#e85d04;color:#fff;font-size:11px;font-weight:700;width:20px;height:20px;border-radius:999px;display:flex;align-items:center;justify-content:center}

/* ── Tab cuenta ──────────────────────────────────── */
.rw-account-tab-content{padding:14px 12px;display:flex;flex-direction:column;gap:10px}
.rw-account-tab-content .rw-acct-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;text-align:center}
.rw-account-tab-content .rw-acct-name{font-weight:700;font-size:.95rem;color:#1a1a2e}
.rw-account-tab-content .rw-acct-email{font-size:.78rem;color:#6b7280;margin-top:2px}
.rw-account-tab-content .rw-acct-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:8px}
.rw-account-tab-content .rw-acct-stat{background:#fff;border:1px solid #e5e7eb;border-radius:7px;padding:7px 4px;text-align:center}
.rw-account-tab-content .rw-acct-stat strong{display:block;font-size:1.1rem;font-weight:700;color:#2563eb}
.rw-account-tab-content .rw-acct-stat span{font-size:.65rem;color:#9ca3af}
.rw-account-tab-content .rw-acct-btn{display:block;width:100%;padding:9px;border-radius:8px;border:none;cursor:pointer;font-size:.85rem;font-weight:600;text-decoration:none;text-align:center;transition:opacity .15s}
.rw-account-tab-content .rw-acct-btn:hover{opacity:.85}
.rw-account-tab-content .rw-acct-btn-primary{background:#2563eb;color:#fff}
.rw-account-tab-content .rw-acct-btn-danger{background:#fee2e2;color:#991b1b}
.rw-account-tab-content .rw-acct-guest{font-size:.85rem;color:#6b7280;text-align:center;line-height:1.6}

/* ── Guardar término desde índice ────────────────── */
.rw-save-term{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;padding:3px 8px;border-radius:5px;border:1px solid #d1d5db;background:#f9fafb;cursor:pointer;color:#374151;transition:background .15s;vertical-align:middle;margin-left:6px}
.rw-save-term.saved{background:#fef3c7;border-color:#f59e0b;color:#92400e}
.rw-save-term:hover{background:#e5e7eb}

/* ── Responsive ──────────────────────────────────── */
@media(max-width:600px){
  #rw-panel,#rw-glossary{right:50px;width:min(340px,calc(100vw - 72px));max-height:80vh;border-radius:14px}
}