/* Administração — identidade cobre/navy e seletor de escopo na sidebar */
#view-admin { --page-accent: #8b5a2b; }
#view-admin .admin-tabs { border-color: rgba(139,90,43,.15); }
#view-admin .admin-tab.active { color: var(--page-accent); }

.sidebar-admin-scope {
  margin: 8px 10px 14px;
  padding: 10px;
  border: 1px solid rgba(28,114,162,.14);
  border-radius: 16px;
  background: rgba(238,247,252,.72);
}

.sidebar-admin-scope-label {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
}

.sidebar-admin-scope-label i { font-size: 18px; color: var(--primary); }
.sidebar-admin-scope select {
  width: 100%;
  min-height: 42px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--text);
  font-weight: 750;
}

.security-callout {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 13px 14px;
  border-radius: 16px;
  background: #f4f8fb;
  border: 1px solid var(--line);
}
.security-callout > i { color: var(--primary); }
.security-callout strong,
.security-callout span { display: block; }
.security-callout span { color: var(--muted); font-size: .82rem; margin-top: 3px; }

.temp-password-result {
  padding: 14px;
  border: 1px dashed rgba(28,114,162,.32);
  border-radius: 16px;
  background: #f7fbfe;
}
.temp-password-result > small { color: var(--muted); font-weight: 700; }
.temp-password-result > div { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.temp-password-result code { flex: 1; min-width: 0; padding: 10px 12px; border-radius: 12px; background: #fff; border: 1px solid var(--line); font-size: 1rem; font-weight: 800; overflow-wrap: anywhere; }
.temp-password-result p { margin: 8px 0 0; color: var(--muted); font-size: .76rem; }

.forced-password-modal::backdrop { background: rgba(9, 20, 32, .74); backdrop-filter: blur(8px); }

.sidebar-collapsed .sidebar-admin-scope { display: none; }

.password-change-pending {
  background: rgba(245,158,11,.12) !important;
  color: #9a6700 !important;
  border-color: rgba(245,158,11,.18) !important;
}

body[data-active-view="admin"] .topbar {
  background: linear-gradient(180deg,#fff5ed 0%,#ffffff 92%);
  border-bottom-color:rgba(139,90,43,.22);
  box-shadow:inset 0 3px 0 #8b5a2b;
}
body[data-active-view="admin"] .topbar-period-main { color:#8b5a2b; }
body[data-active-view="admin"] .sidebar .nav-item.active { color:#8b5a2b; background:rgba(139,90,43,.10); }

.admin-user-toolbar {
  display:grid;
  grid-template-columns:minmax(220px,1fr) repeat(3,minmax(140px,auto)) auto;
  gap:8px;
  margin:0 0 10px;
}
.admin-user-search {
  min-height:46px; display:flex; align-items:center; gap:8px;
  padding:0 12px; border:1px solid var(--line); border-radius:14px; background:#fff;
}
.admin-user-search i { color:var(--muted); }
.admin-user-search input { width:100%; border:0; outline:0; background:transparent; }
.admin-user-toolbar select {
  min-height:46px; border:1px solid var(--line); border-radius:14px; background:#fff; padding:0 10px; color:var(--text); font-weight:700;
}
.admin-user-meta { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:4px 0 10px; color:var(--muted); font-size:.75rem; }
.admin-user-meta span { display:inline-flex; align-items:center; gap:6px; }
.admin-user-meta i { font-size:16px; }
.admin-user-management { border:1px solid var(--line); border-radius:18px; overflow:hidden; background:#fff; box-shadow:var(--shadow-sm); }
.admin-user-table-head,
.admin-user-managed-row {
  display:grid;
  grid-template-columns:minmax(220px,1.8fr) 110px 90px 105px 100px 78px 140px 120px 190px;
  align-items:center; gap:8px;
}
.admin-user-table-head { min-width:1180px; padding:10px 12px; background:#f5f7fa; color:#475569; font-size:.7rem; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.admin-user-management { overflow-x:auto; }
.admin-user-managed-row { min-width:1180px; padding:10px 12px; border-top:1px solid var(--line); }
.admin-user-managed-row:hover { background:#fbfdff; }
.admin-user-identity { display:flex; gap:10px; align-items:center; min-width:0; }
.admin-user-identity > div { min-width:0; }
.admin-user-identity strong,.admin-user-identity small,.admin-user-identity em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-user-identity small { color:var(--muted); font-size:.75rem; margin-top:2px; }
.admin-user-identity em { color:#94a3b8; font-size:.66rem; font-style:normal; margin-top:2px; }
.admin-data-pill { display:inline-flex; align-items:center; width:fit-content; padding:5px 8px; border-radius:999px; font-size:.68rem; font-weight:800; }
.role-admin { background:#efe9ff; color:#6941c6; }.role-user { background:#eaf3ff; color:#2563a8; }
.status-active { background:#e8f8ef; color:#16794b; }.status-inactive { background:#feecef; color:#b42335; }
.password-info { background:#edf6ff; color:#215d91; }.password-warning { background:#fff4dc; color:#96630e; }.password-danger { background:#feecef; color:#b42335; }
.admin-user-metric strong,.admin-user-metric small { display:block; }.admin-user-metric small { color:var(--muted); font-size:.66rem; }
.admin-user-last-login { color:#526577; font-size:.74rem; }
.admin-user-balance strong { white-space:nowrap; }
.admin-user-row-actions { display:flex; gap:5px; justify-content:flex-start; }
.success-icon { color:#138168 !important; }

@media (max-width: 780px) {
  .admin-user-toolbar { grid-template-columns:1fr 1fr; }
  .admin-user-search { grid-column:1/-1; }
  .admin-user-toolbar .icon-btn { width:46px; }
  .admin-user-table-head { display:none; }
  .admin-user-management { overflow:visible; border:0; box-shadow:none; background:transparent; display:grid; gap:10px; }
  .admin-user-managed-row {
    min-width:0; display:grid; grid-template-columns:1fr 1fr; gap:10px;
    padding:14px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm);
  }
  .admin-user-identity,.admin-user-row-actions { grid-column:1/-1; }
  .admin-user-managed-row > div[data-label]::before { content:attr(data-label); display:block; color:var(--muted); font-size:.65rem; font-weight:800; margin-bottom:4px; text-transform:uppercase; }
  .admin-user-row-actions { justify-content:flex-end; border-top:1px solid var(--line); padding-top:10px; }
}
