/* Só o necessário; o resto vem do global */

.req-shell{ padding:20px; }

/* Lista */
.req-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

/* Item */
.request-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}

.request-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0; /* permite truncar nome */
}

.request-avatar{
  width:48px; height:48px; border-radius:50%;
  object-fit:cover; border:2px solid var(--line);
}

.request-name{
  font-weight:700; color:var(--ink);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}

.small{ color:var(--muted); font-size:.9rem }

/* Ações — usa .btn do global com variação local */
.request-actions{ display:flex; gap:8px; flex-shrink:0; }
.btn-success{ --btn-bg:#16a34a; --btn-fg:#fff; }
.btn-success:hover{ filter:brightness(.95) }
.btn-danger{ --btn-bg:#dc2626; --btn-fg:#fff; }
.btn-danger:hover{ filter:brightness(.95) }

/* Empty / Error (estilo de card) */
.empty{
  background:#fff; border:1px solid var(--line);
  border-radius:var(--radius); padding:16px;
  text-align:center; color:var(--muted);
}
.empty--error{ border-color:#fecaca; background:#fff1f2; color:#991b1b }

/* Skeleton */
.skeleton{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:14px;
}
.skeleton__line{
  height:12px;
  background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);
  background-size:200% 100%;
  border-radius:999px; margin:8px 0;
  animation:shimmer 1.4s linear infinite;
}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
