/* =========================================================
   INVICTOS MARKETING — membros.css
   Estilos da área de membros (login, admin, cliente).
   Reaproveita as variáveis de assets/css/style.css.
   ========================================================= */

.membros-body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background: var(--bg);
}

.membros-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 28px; border-bottom:1px solid var(--border-soft);
}
.membros-header__brand{ display:flex; align-items:center; gap:10px; }
.membros-header__brand img{ width:28px; height:auto; }
.membros-header__brand span{ font-family:var(--font-display); font-weight:800; letter-spacing:.04em; color:var(--text); }
.membros-header__user{ font-size:13.5px; color: var(--text-muted); display:flex; align-items:center; gap:14px; }

.membros-main{ flex:1; padding:40px 24px 80px; }
.membros-wrap{ max-width:960px; margin:0 auto; }
.membros-wrap--narrow{ max-width:420px; }

.membros-title{ font-family:var(--font-display); font-size:26px; font-weight:800; color:var(--white); margin-bottom:6px; }
.membros-subtitle{ color: var(--text-muted); font-size:14.5px; margin-bottom:32px; }

/* ---- Login ---- */
.membros-login-card{
  background: var(--surface); border:1px solid var(--border-soft);
  border-radius: var(--radius); padding:36px 32px; margin-top:60px;
}
.membros-login-card .brand-mark{ display:flex; justify-content:center; margin-bottom:20px; }
.membros-login-card .brand-mark img{ width:40px; }

/* ---- Cards / seções ---- */
.membros-card{
  background: var(--surface); border:1px solid var(--border-soft);
  border-radius: var(--radius); padding:26px 28px; margin-bottom:24px;
}
.membros-card h2{ font-family:var(--font-display); font-size:17px; margin-bottom:16px; color:var(--white); }

.membros-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:640px){ .membros-row{ grid-template-columns:1fr; } }

/* ---- Tabela de arquivos ---- */
.membros-table{ width:100%; border-collapse:collapse; font-size:14px; }
.membros-table th{
  text-align:left; color: var(--text-dim); font-weight:600; font-size:12px;
  text-transform:uppercase; letter-spacing:.05em; padding:8px 10px; border-bottom:1px solid var(--border-soft);
}
.membros-table td{ padding:12px 10px; border-bottom:1px solid var(--border-soft); color: var(--text); vertical-align:middle; }
.membros-table tr:last-child td{ border-bottom:none; }
.membros-table__empty{ color: var(--text-dim); padding:20px 10px; text-align:center; }

.membros-tag{
  display:inline-block; padding:3px 10px; border-radius:100px; font-size:11.5px; font-weight:700;
  letter-spacing:.03em; text-transform:uppercase; color:#1a1305;
  background: linear-gradient(135deg, var(--gold-light), var(--gold-dark));
}

.membros-link{ color: var(--gold-light); font-weight:600; }
.membros-link:hover{ text-decoration:underline; }

.membros-btn-icon{
  background:none; border:1px solid var(--border-soft); color: var(--text-muted);
  border-radius:8px; padding:6px 10px; cursor:pointer; font-size:13px; transition:.2s var(--ease);
}
.membros-btn-icon:hover{ border-color:#e07a7a; color:#e07a7a; }

.membros-feedback{ font-size:13.5px; font-weight:600; margin-top:10px; min-height:18px; }
.membros-feedback.is-success{ color:#6fcf73; }
.membros-feedback.is-error{ color:#e07a7a; }

.membros-empty-state{ color: var(--text-dim); font-size:14px; text-align:center; padding:30px 0; }

.membros-warning{
  max-width:520px; margin:80px auto; text-align:center; padding:32px;
  background: var(--surface); border:1px solid var(--border); border-radius: var(--radius);
}
.membros-warning h2{ color: var(--gold-light); font-family:var(--font-display); margin-bottom:10px; }
.membros-warning p{ color: var(--text-muted); font-size:14px; line-height:1.6; }
.membros-warning code{ background: var(--surface-2); padding:2px 6px; border-radius:6px; font-size:12.5px; }

.membros-logout{
  background:none; border:1px solid var(--border-soft); color: var(--text-muted);
  border-radius: var(--radius-sm); padding:8px 16px; font-size:13px; cursor:pointer; transition:.2s var(--ease);
}
.membros-logout:hover{ border-color: var(--gold); color: var(--gold-light); }

.membros-category-group{ margin-bottom:28px; }
.membros-category-group h3{ font-family:var(--font-display); font-size:15px; color: var(--gold-light); margin-bottom:12px; }

.membros-file-item{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 16px; background: var(--surface-2); border-radius: var(--radius-sm); margin-bottom:10px;
}
.membros-file-item__title{ font-weight:600; font-size:14.5px; color: var(--text); }
.membros-file-item__meta{ font-size:12.5px; color: var(--text-dim); margin-top:2px; }
