/* ============================================================
   PYM360 · COMPONENT — Sidebar Navigation
   Capa 2 — design system primitivo. API estable.
   Convención: .pym-* o reutiliza clases pre-existentes (.pym-nav-*).
   ============================================================ */

/* ===== OUTER LAYOUT =====
   #panel-screen es flex-column con overflow:hidden.
   El layout debe flex:1 dentro de él, y usar grid para sidebar+main.
*/
.pym360-layout{display:grid;grid-template-columns:var(--pym-sidebar-w) 1fr;flex:1;min-height:0;overflow:hidden}
.pym360-layout:has(.pym360-sidebar.collapsed){grid-template-columns:var(--pym-sidebar-collapsed-w) 1fr}

/* ===== SIDEBAR CONTAINER ===== */
.pym360-sidebar{
  width:var(--pym-sidebar-w);
  min-width:var(--pym-sidebar-w);
  background:var(--pym-color-bg);
  border-right:1px solid var(--pym-color-border);
  display:flex;
  flex-direction:column;
  transition:width var(--pym-trans-slow),min-width var(--pym-trans-slow);
  overflow:hidden;
  height:100%;
  padding:var(--pym-space-4) var(--pym-space-3) 0;
}
.pym360-sidebar.collapsed{
  width:var(--pym-sidebar-collapsed-w);
  min-width:var(--pym-sidebar-collapsed-w);
  padding:var(--pym-space-4) var(--pym-space-2) 0;
}

/* ===== BRAND HEADER ===== */
.pym-brand{
  display:flex;
  align-items:center;
  gap:var(--pym-space-2);
  padding:var(--pym-space-1) var(--pym-space-2) var(--pym-space-4);
  border-bottom:1px solid var(--pym-color-border);
  margin-bottom:var(--pym-space-3);
  white-space:nowrap;
  overflow:hidden;
}
.pym-brand-mark{
  width:28px;
  height:28px;
  border-radius:var(--pym-radius-md);
  background:linear-gradient(135deg,var(--pym-color-accent),var(--pym-color-accent-2));
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:var(--pym-fw-bold);
  color:#fff;
  font-size:var(--pym-fs-md);
  box-shadow:var(--pym-shadow-accent);
  flex-shrink:0;
}
.pym-brand-name{
  font-size:var(--pym-fs-md);
  font-weight:var(--pym-fw-semibold);
  letter-spacing:-.01em;
  color:var(--pym-color-text);
  transition:opacity var(--pym-trans-base);
}
.pym-brand-ver{
  font-size:var(--pym-fs-xs);
  color:var(--pym-color-text-muted);
  font-family:var(--pym-font-mono);
  background:var(--pym-color-surface-2);
  padding:2px 6px;
  border-radius:var(--pym-radius-sm);
  margin-left:auto;
  flex-shrink:0;
  transition:opacity var(--pym-trans-base);
}
.pym360-sidebar.collapsed .pym-brand-name,
.pym360-sidebar.collapsed .pym-brand-ver{opacity:0;width:0}
.pym360-sidebar.collapsed .pym-brand{padding-left:0;padding-right:0;justify-content:center;border-bottom:none}

/* ===== SEARCH PILL ===== */
.pym-sidebar-search{
  display:flex;
  align-items:center;
  gap:var(--pym-space-2);
  background:var(--pym-color-surface-2);
  border:1px solid var(--pym-color-border);
  border-radius:var(--pym-radius-md);
  padding:7px 10px;
  font-size:var(--pym-fs-base);
  color:var(--pym-color-text-muted);
  cursor:pointer;
  margin-bottom:var(--pym-space-3);
  transition:all var(--pym-trans-base);
  white-space:nowrap;
  overflow:hidden;
  font-family:var(--pym-font-sans);
}
.pym-sidebar-search:hover{background:var(--pym-color-surface-3);border-color:var(--pym-color-border-strong);color:var(--pym-color-text-dim)}
.pym-sidebar-search svg{flex-shrink:0;width:13px;height:13px}
.pym-sidebar-search-label{flex:1;text-align:left}
.pym-sidebar-search kbd{
  font-family:var(--pym-font-mono);
  font-size:var(--pym-fs-xs);
  background:var(--pym-color-bg);
  padding:1px 5px;
  border-radius:var(--pym-radius-xs);
  color:var(--pym-color-text-muted);
  border:1px solid var(--pym-color-border);
  margin-left:auto;
  flex-shrink:0;
}
.pym360-sidebar.collapsed .pym-sidebar-search-label,
.pym360-sidebar.collapsed .pym-sidebar-search kbd{display:none}
.pym360-sidebar.collapsed .pym-sidebar-search{justify-content:center;padding:8px}

/* ===== NAV CONTAINER ===== */
.pym360-nav{
  display:flex;
  flex-direction:column;
  gap:0;
  flex:1;
  overflow-y:auto;
  overflow-x:hidden;
  /* Scrollbar dark theme — match the sidebar bg para que no destiñe */
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.08) transparent;
}
.pym360-nav::-webkit-scrollbar{width:6px;height:6px}
.pym360-nav::-webkit-scrollbar-track{background:transparent}
.pym360-nav::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.08);
  border-radius:3px;
}
.pym360-nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.14)}
[data-theme="light"] .pym360-nav{scrollbar-color:rgba(0,0,0,.12) transparent}
[data-theme="light"] .pym360-nav::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12)}
[data-theme="light"] .pym360-nav::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.2)}

/* ===== CATEGORY LABELS ===== */
.pym-cat-label{
  font-size:var(--pym-fs-sm);
  font-weight:var(--pym-fw-bold);
  letter-spacing:.12em;
  color:var(--pym-color-text-muted);
  text-transform:uppercase;
  padding:var(--pym-space-5) var(--pym-space-2) var(--pym-space-3);
  margin:var(--pym-space-2) 0 0;
  white-space:nowrap;
  overflow:hidden;
  transition:opacity var(--pym-trans-base),height var(--pym-trans-slow),padding var(--pym-trans-slow);
}
.pym360-sidebar.collapsed .pym-cat-label{opacity:0;height:0;padding:0;margin:0}

.pym-cat-divider{
  height:1px;
  background:var(--pym-color-border);
  margin:var(--pym-space-3) var(--pym-space-2);
}
.pym360-sidebar.collapsed .pym-cat-divider{margin:var(--pym-space-1) var(--pym-space-1)}

/* ===== NAV ITEMS ===== */
.pym-nav-item{
  display:flex;
  align-items:center;
  gap:var(--pym-space-2);
  padding:7px var(--pym-space-2);
  border-radius:var(--pym-radius-sm);
  color:var(--pym-color-text-dim);
  cursor:pointer;
  font-size:var(--pym-fs-md);
  font-weight:var(--pym-fw-medium);
  transition:all var(--pym-trans-fast);
  position:relative;
  margin:1px 0;
  white-space:nowrap;
  overflow:hidden;
  border-left:none;
  background:transparent;
  font-family:var(--pym-font-sans);
}
.pym-nav-item:hover:not(.disabled){
  background:rgba(255,255,255,.03);
  color:var(--pym-color-text);
}
.pym-nav-item.active{
  background:linear-gradient(90deg,var(--pym-color-accent-dim),rgba(73,124,251,.04));
  color:var(--pym-color-text);
  font-weight:var(--pym-fw-semibold);
}
.pym-nav-item.active::before{
  content:'';
  position:absolute;
  left:-3px;
  top:7px;
  bottom:7px;
  width:2px;
  background:var(--pym-color-accent-2);
  border-radius:var(--pym-radius-xs);
}
.pym-nav-item.disabled{opacity:.3;cursor:default}

.pym-nav-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  flex-shrink:0;
  color:var(--pym-color-text-muted);
  transition:color var(--pym-trans-fast);
}
.pym-nav-icon svg{width:15px;height:15px;display:block}
.pym-nav-item:hover:not(.disabled) .pym-nav-icon{color:var(--pym-color-text-dim)}
.pym-nav-item.active .pym-nav-icon,
.pym-nav-item.active .pym-nav-icon svg{color:var(--pym-color-accent-2)}

.pym-nav-label{
  flex:1;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:opacity var(--pym-trans-base);
}
.pym360-sidebar.collapsed .pym-nav-label{opacity:0;width:0}

.pym-nav-badge{
  font-size:var(--pym-fs-xs);
  color:var(--pym-color-text-muted);
  font-family:var(--pym-font-mono);
  background:var(--pym-color-surface-2);
  padding:1px 6px;
  border-radius:var(--pym-radius-md);
  min-width:22px;
  text-align:center;
  font-weight:var(--pym-fw-semibold);
  flex-shrink:0;
}
.pym-nav-badge.alert{background:var(--pym-color-danger-dim);color:var(--pym-color-danger)}
.pym-nav-badge.success{background:var(--pym-color-success-dim);color:var(--pym-color-success)}
.pym-nav-badge.warning{background:var(--pym-color-warning-dim);color:var(--pym-color-warning)}
.pym360-sidebar.collapsed .pym-nav-badge{display:none}

.pym-nav-ext{
  font-size:var(--pym-fs-xs);
  color:var(--pym-color-text-subtle);
  margin-left:var(--pym-space-1);
  flex-shrink:0;
}
.pym360-sidebar.collapsed .pym-nav-ext{display:none}

.pym-nav-soon{
  font-size:9px;
  color:var(--pym-color-text-muted);
  font-style:italic;
  margin-left:auto;
  padding:0 var(--pym-space-1);
}
.pym360-sidebar.collapsed .pym-nav-soon{display:none}

/* ===== SIDEBAR FOOTER ===== */
.pym360-sidebar-footer{
  padding:var(--pym-space-2) 0 var(--pym-space-2);
  margin-top:auto;
  border-top:1px solid var(--pym-color-border);
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  gap:var(--pym-space-1);
}

/* User chip in footer */
.pym-user-chip{
  display:flex;
  align-items:center;
  gap:var(--pym-space-2);
  padding:var(--pym-space-2);
  border-radius:var(--pym-radius-md);
  cursor:pointer;
  transition:background var(--pym-trans-fast);
  white-space:nowrap;
  overflow:hidden;
}
.pym-user-chip:hover{background:var(--pym-color-surface-2)}
.pym-user-avatar{
  width:24px;
  height:24px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--pym-color-accent-2),var(--pym-color-purple));
  font-size:var(--pym-fs-sm);
  font-weight:var(--pym-fw-semibold);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  text-transform:uppercase;
}
.pym-user-info{flex:1;min-width:0;transition:opacity var(--pym-trans-base)}
.pym-user-name{
  color:var(--pym-color-text);
  font-weight:var(--pym-fw-medium);
  font-size:var(--pym-fs-base);
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pym-user-role{
  font-size:var(--pym-fs-xs);
  color:var(--pym-color-text-subtle);
  text-transform:capitalize;
}
.pym-user-chip-menu{
  width:14px;
  height:14px;
  color:var(--pym-color-text-subtle);
  flex-shrink:0;
  transition:opacity var(--pym-trans-base);
}
.pym360-sidebar.collapsed .pym-user-info,
.pym360-sidebar.collapsed .pym-user-chip-menu{opacity:0;width:0}
.pym360-sidebar.collapsed .pym-user-chip{justify-content:center;padding:var(--pym-space-2) 0}

/* User menu popover (v6.1.1 — F5) */
.pym-user-chip-wrap{position:relative}
.pym-user-menu-pop{
  position:absolute;
  bottom:calc(100% + 6px);
  left:0;
  right:0;
  min-width:200px;
  background:var(--pym-color-surface-2);
  border:1px solid var(--pym-color-border-strong);
  border-radius:var(--pym-radius-md);
  box-shadow:0 12px 32px rgba(0,0,0,.45);
  padding:var(--pym-space-1);
  z-index:9999;
  display:none;
}
.pym-user-menu-pop.open{display:block}
.pym360-sidebar.collapsed .pym-user-menu-pop{left:calc(100% + 8px);right:auto;bottom:0}
.pym-user-menu-item{
  display:flex;
  align-items:center;
  gap:var(--pym-space-2);
  width:100%;
  padding:var(--pym-space-2) var(--pym-space-2-5,10px);
  background:transparent;
  border:none;
  color:var(--pym-color-text);
  font-size:var(--pym-fs-base);
  font-family:inherit;
  cursor:pointer;
  border-radius:var(--pym-radius-sm);
  text-align:left;
  transition:background var(--pym-trans-fast);
}
.pym-user-menu-item:hover{background:var(--pym-color-surface-3,rgba(255,255,255,.06))}
.pym-user-menu-item svg{width:14px;height:14px;color:var(--pym-color-text-muted);flex-shrink:0}
.pym-user-menu-item:hover svg{color:var(--pym-color-text)}
.pym-user-menu-item--danger{color:var(--pym-color-danger)}
.pym-user-menu-item--danger svg{color:var(--pym-color-danger)}
.pym-user-menu-item--danger:hover{background:rgba(239,68,68,.12)}
.pym-user-menu-item--danger:hover svg{color:var(--pym-color-danger)}
.pym-user-menu-sep{height:1px;background:var(--pym-color-border);margin:var(--pym-space-1) var(--pym-space-2)}

/* Presence widget existente — solo ajusto */
.pym-presence-widget{padding:var(--pym-space-2) var(--pym-space-1) 0;overflow:hidden}
.pym360-sidebar.collapsed .pym-presence-widget{display:none}

/* Version tag — usa ya estilos inline en index.html */

/* Collapse button */
.pym360-collapse-btn{
  width:100%;
  display:flex;
  align-items:center;
  gap:var(--pym-space-2);
  padding:var(--pym-space-2);
  background:transparent;
  border:none;
  color:var(--pym-color-text-muted);
  cursor:pointer;
  font-size:var(--pym-fs-sm);
  font-family:var(--pym-font-sans);
  border-radius:var(--pym-radius-sm);
  transition:all var(--pym-trans-fast);
  white-space:nowrap;
  overflow:hidden;
}
.pym360-collapse-btn:hover{background:var(--pym-color-surface-2);color:var(--pym-color-text-dim)}
.pym-collapse-icon{transition:transform var(--pym-trans-slow);flex-shrink:0}
.pym360-sidebar.collapsed .pym-collapse-icon{transform:rotate(180deg)}
.pym-collapse-text{flex:1;text-align:left;transition:opacity var(--pym-trans-base)}
.pym360-sidebar.collapsed .pym-collapse-text{opacity:0;width:0}
.pym360-sidebar.collapsed .pym360-collapse-btn{justify-content:center}

/* Tour highlight (mantiene compat con tour de intro.js) */
.pym-nav-item.tour-highlight{
  background:var(--pym-color-accent-dim)!important;
  border-left:2px solid var(--pym-color-accent)!important;
  animation:tour-pulse 1.2s ease infinite;
}

/* ===== TEMA CLARO ===== */
[data-theme="light"] .pym360-sidebar{background:var(--pym-color-surface);border-right-color:var(--pym-color-border)}
[data-theme="light"] .pym-nav-item:hover:not(.disabled){background:var(--pym-color-surface-2)}
[data-theme="light"] .pym-nav-item.active{background:linear-gradient(90deg,var(--pym-color-accent-dim),transparent);color:var(--pym-color-text)}
[data-theme="light"] .pym-user-chip:hover{background:var(--pym-color-surface-2)}

/* ============================================================
   v6.6.0 — Favoritos + Secciones colapsables + Admin hub
   ============================================================ */

/* Evitar que el flex-column de .pym360-nav aplaste a los hijos cuando una
   sección se abre — los items deben mantener su altura natural y el container
   debe scrollear si no entran todos. */
.pym360-nav > *{flex-shrink:0}

/* ===== FAVORITOS ===== */
.pym-fav-block{
  margin:0 -4px var(--pym-space-2);
  padding:var(--pym-space-2);
  background:linear-gradient(180deg,rgba(245,185,85,.04),transparent);
  border:1px dashed rgba(245,185,85,.12);
  border-radius:var(--pym-radius-md);
}
.pym360-sidebar.collapsed .pym-fav-block{
  background:transparent;border:none;padding:0;margin:0;
}
.pym-fav-head{
  display:flex;align-items:center;gap:6px;
  font-size:var(--pym-fs-xs);font-weight:var(--pym-fw-bold);
  letter-spacing:.12em;color:var(--pym-color-warning);
  text-transform:uppercase;
  padding:0 var(--pym-space-1) var(--pym-space-1);
  transition:opacity var(--pym-trans-base);
}
.pym360-sidebar.collapsed .pym-fav-head{opacity:0;height:0;padding:0;overflow:hidden}

/* ===== CAT-ROW (cabecera colapsable que reemplaza al label estático) ===== */
.pym-cat-row{
  display:flex;align-items:center;gap:6px;
  padding:14px var(--pym-space-2) 6px;
  margin:var(--pym-space-2) 0 0;
  font-size:var(--pym-fs-sm);font-weight:var(--pym-fw-bold);
  letter-spacing:.12em;color:var(--pym-color-text-muted);
  text-transform:uppercase;cursor:pointer;user-select:none;
  border-radius:var(--pym-radius-xs);
  transition:all var(--pym-trans-fast);
}
.pym-cat-row:hover{color:var(--pym-color-text-dim);background:rgba(255,255,255,.02)}
.pym-cat-caret{
  width:10px;height:10px;flex-shrink:0;
  transition:transform var(--pym-trans-base);
  color:var(--pym-color-text-subtle);
}
.pym-cat-row.open .pym-cat-caret{transform:rotate(90deg)}
.pym-cat-label-text{flex:1;overflow:hidden;text-overflow:ellipsis;transition:opacity var(--pym-trans-base)}
.pym-cat-count{
  margin-left:auto;font-size:10px;
  color:var(--pym-color-text-subtle);
  font-family:var(--pym-font-mono);
  letter-spacing:0;font-weight:var(--pym-fw-medium);
}
.pym360-sidebar.collapsed .pym-cat-row{opacity:0;height:0;padding:0;margin:0;overflow:hidden;pointer-events:none}

/* Body colapsable */
.pym-cat-body{
  overflow:hidden;
  max-height:0;
  transition:max-height var(--pym-trans-slow) ease-out;
}
.pym-cat-body.open{max-height:600px}
.pym360-sidebar.collapsed .pym-cat-body{max-height:600px;overflow:visible}

/* ===== PIN STAR (★) ===== */
.pym-nav-pin{
  width:18px;height:18px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--pym-color-text-subtle);
  font-size:13px;line-height:1;
  opacity:0;transition:all var(--pym-trans-fast);
  cursor:pointer;
}
.pym-nav-item:hover .pym-nav-pin{opacity:.6}
.pym-nav-pin:hover{color:var(--pym-color-warning);opacity:1!important;transform:scale(1.15)}
.pym-nav-pin.pinned{color:var(--pym-color-warning);opacity:1}
.pym360-sidebar.collapsed .pym-nav-pin{display:none}
/* Si tiene badge no mostramos la estrella inline para no apretar */
.pym-nav-item.has-badge .pym-nav-pin{display:none}
.pym-nav-item.has-badge:hover .pym-nav-pin{display:inline-flex;opacity:.6}

/* ===== ADMIN LINK (botón en footer del nav) ===== */
.pym-nav-admin-link{
  display:flex;align-items:center;gap:var(--pym-space-2);
  padding:7px var(--pym-space-2);
  border-radius:var(--pym-radius-sm);
  color:var(--pym-color-text-dim);cursor:pointer;
  font-size:var(--pym-fs-md);font-weight:var(--pym-fw-medium);
  margin:var(--pym-space-4) 0 var(--pym-space-1);
  transition:all var(--pym-trans-fast);
  white-space:nowrap;overflow:hidden;
  font-family:var(--pym-font-sans);
  border-top:1px solid var(--pym-color-border);
  padding-top:var(--pym-space-4);
  position:relative;
}
.pym-nav-admin-link:hover{background:rgba(255,255,255,.03);color:var(--pym-color-text)}
.pym-nav-admin-link.active{
  background:linear-gradient(90deg,var(--pym-color-accent-dim),rgba(73,124,251,.04));
  color:var(--pym-color-text);
  font-weight:var(--pym-fw-semibold);
}
.pym-nav-admin-link .pym-nav-icon{color:var(--pym-color-text-muted)}
.pym-nav-admin-link:hover .pym-nav-icon,
.pym-nav-admin-link.active .pym-nav-icon{color:var(--pym-color-accent-2)}
.pym360-sidebar.collapsed .pym-nav-admin-link{justify-content:center}
.pym360-sidebar.collapsed .pym-nav-admin-link .pym-nav-label,
.pym360-sidebar.collapsed .pym-nav-admin-link .pym-cat-count{display:none}

/* ===== ADMIN HUB (vista de la página dedicada) ===== */
.pym-admin-hub{max-width:1100px;margin:0 auto;padding:24px 0}
.pym-admin-hub-head{margin-bottom:var(--pym-space-5)}
.pym-admin-hub-head h1{
  font-size:24px;font-weight:var(--pym-fw-semibold);
  letter-spacing:-.01em;margin-bottom:4px;
  color:var(--pym-color-text);
}
.pym-admin-hub-head p{
  font-size:var(--pym-fs-base);color:var(--pym-color-text-muted);
}
.pym-admin-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:var(--pym-space-3);
}
.pym-admin-card{
  position:relative;
  display:flex;flex-direction:column;gap:var(--pym-space-2);
  padding:var(--pym-space-4);
  background:var(--pym-color-surface);
  border:1px solid var(--pym-color-border);
  border-radius:var(--pym-radius-md);
  cursor:pointer;
  transition:all var(--pym-trans-base);
}
.pym-admin-card:hover{
  background:var(--pym-color-surface-2);
  border-color:var(--pym-color-border-strong);
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(0,0,0,.25);
}
.pym-admin-card-ic{
  width:36px;height:36px;
  background:var(--pym-color-surface-2);
  border-radius:var(--pym-radius-sm);
  display:flex;align-items:center;justify-content:center;
  color:var(--pym-color-accent-2);
  margin-bottom:4px;
}
.pym-admin-card-ic svg{width:18px;height:18px}
.pym-admin-card:hover .pym-admin-card-ic{background:var(--pym-color-surface-3)}
.pym-admin-card h4{
  font-size:var(--pym-fs-md);font-weight:var(--pym-fw-semibold);
  color:var(--pym-color-text);
}
.pym-admin-card p{
  font-size:var(--pym-fs-base);color:var(--pym-color-text-muted);
  line-height:1.4;
}
.pym-admin-card-pin{
  position:absolute;top:var(--pym-space-3);right:var(--pym-space-3);
  width:22px;height:22px;
  display:flex;align-items:center;justify-content:center;
  color:var(--pym-color-text-subtle);font-size:15px;
  opacity:0;transition:all var(--pym-trans-fast);
  cursor:pointer;border-radius:var(--pym-radius-xs);
}
.pym-admin-card:hover .pym-admin-card-pin{opacity:.6}
.pym-admin-card-pin:hover{color:var(--pym-color-warning);opacity:1!important;background:rgba(245,185,85,.08);transform:scale(1.1)}
.pym-admin-card-pin.pinned{color:var(--pym-color-warning);opacity:1}

/* ===== USER MENU SECTION HEADER (v6.6.0) ===== */
.pym-user-menu-section{
  font-size:9px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--pym-color-text-subtle);font-weight:var(--pym-fw-bold);
  padding:var(--pym-space-2) var(--pym-space-2-5,10px) var(--pym-space-1);
}
.pym-user-menu-section:first-child{padding-top:var(--pym-space-1)}
.pym-user-menu-arrow{
  margin-left:auto;font-size:11px;
  color:var(--pym-color-text-subtle);
}
/* SUG-030: estrella ★ para fijar items del user-menu (Mi Ficha, Mis Entregas)
   al bloque Favoritos del sidebar. ☆ vacio al estado normal, ★ lleno cuando ya
   es favorito. No fija en el lugar (no es position absolute) — vive como ultimo
   hijo del button con margin-left:auto para alinearse a la derecha.
   Click llama toggleFavorite(id, ev) que hace stopPropagation, asi no dispara
   userMenuClick del button padre. */
.pym-user-menu-pin{
  margin-left:auto;font-size:13px;line-height:1;
  color:var(--pym-color-text-subtle);
  opacity:.5;transition:opacity .12s, color .12s, transform .12s;
  padding:2px 4px;border-radius:3px;cursor:pointer;
  flex-shrink:0;
}
.pym-user-menu-item:hover .pym-user-menu-pin{opacity:.85}
.pym-user-menu-pin:hover{
  opacity:1 !important;
  color:var(--pym-color-warning,#f5b955);
  background:rgba(245,185,85,.12);
  transform:scale(1.15);
}
.pym-user-menu-pin.pinned{
  opacity:1;
  color:var(--pym-color-warning,#f5b955);
}
.pym-user-menu-pop{min-width:240px}

/* ===== TEMA CLARO — overrides v6.6.0 ===== */
[data-theme="light"] .pym-fav-block{
  background:linear-gradient(180deg,rgba(245,185,85,.06),transparent);
  border-color:rgba(245,185,85,.16);
}
[data-theme="light"] .pym-cat-row:hover{background:var(--pym-color-surface-2)}
[data-theme="light"] .pym-nav-admin-link:hover{background:var(--pym-color-surface-2)}
[data-theme="light"] .pym-admin-card{background:var(--pym-color-surface)}
[data-theme="light"] .pym-admin-card:hover{background:var(--pym-color-surface-2)}
