/*
  Repaginacao visual isolada da pagina Usuarios.
  Nao altera logica, eventos, APIs, payloads, backend, permissoes ou funcionalidades.
*/

:root {
  --aup-ink: #0f172a;
  --aup-muted: #64748b;
  --aup-line: #dbe7e6;
  --aup-line-strong: #c8d8d6;
  --aup-soft: #f7fbfa;
  --aup-accent: #0f766e;
  --aup-accent-hover: #115e59;
  --aup-blue: #2563eb;
  --aup-shadow: 0 18px 46px rgba(15, 23, 42, .08);
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 {
  min-height: calc(100vh - 73px);
  background: linear-gradient(180deg, #f8fcfb 0%, #f3f8f7 100%);
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header {
  border-bottom-color: var(--aup-line) !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header h1 {
  color: var(--aup-ink) !important;
  font-size: 1.28rem !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header h1 + p {
  margin-top: 2px;
  color: var(--aup-muted) !important;
  font-weight: 600;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header button.bg-blue-600,
body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header [class*="bg-blue-600"] {
  min-height: 38px;
  padding: 9px 14px !important;
  border: 1px solid rgba(15, 118, 110, .18) !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, var(--aup-accent), #0f5f75) !important;
  color: #ffffff !important;
  font-size: .84rem !important;
  font-weight: 850 !important;
  box-shadow: 0 10px 22px rgba(15, 118, 110, .18);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header button.bg-blue-600:hover,
body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header [class*="bg-blue-600"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(15, 118, 110, .24);
  filter: saturate(1.06);
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 > div.mb-4 {
  margin-bottom: 16px !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 > div.mb-4 input {
  width: min(100%, 520px) !important;
  max-width: 520px !important;
  min-height: 42px;
  padding: 10px 14px !important;
  border: 1px solid var(--aup-line-strong) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: var(--aup-ink) !important;
  font-size: .92rem !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
  transition: border-color .16s ease, box-shadow .16s ease;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 > div.mb-4 input::placeholder {
  color: #94a3b8;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 > div.mb-4 input:focus {
  border-color: var(--aup-accent) !important;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, .12), 0 12px 28px rgba(15, 23, 42, .06) !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 > div.bg-white.rounded-lg.shadow {
  overflow: hidden;
  border: 1px solid var(--aup-line) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: var(--aup-shadow) !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 > div.bg-white.rounded-lg.shadow > .overflow-x-auto {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 table {
  min-width: 860px !important;
  table-layout: auto;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 thead {
  background: #f8fcfb !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 th {
  padding: 13px 18px !important;
  color: #475569 !important;
  font-size: .72rem !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  border-bottom: 1px solid var(--aup-line) !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td {
  padding: 15px 18px !important;
  color: var(--aup-ink) !important;
  font-size: .87rem !important;
  line-height: 1.35 !important;
  border-color: #e5efee !important;
  vertical-align: middle;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 tbody tr {
  transition: background .16s ease, box-shadow .16s ease;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 tbody tr:hover {
  background: var(--aup-soft) !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:first-child .font-medium {
  color: var(--aup-ink) !important;
  font-weight: 850 !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:nth-child(2) .text-sm {
  color: #334155 !important;
  overflow-wrap: anywhere;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td span.rounded-full {
  min-height: 26px;
  align-items: center;
  padding: 6px 10px !important;
  border: 1px solid transparent;
  border-radius: 999px !important;
  font-size: .72rem !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  white-space: nowrap;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td span.bg-purple-100 {
  border-color: #ddd6fe;
  background: #f5f3ff !important;
  color: #6d28d9 !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td span.bg-blue-100 {
  border-color: #bfdbfe;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td span.bg-green-100 {
  border-color: #bbf7d0;
  background: #f0fdf4 !important;
  color: #15803d !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td span.bg-red-100 {
  border-color: #fecaca;
  background: #fef2f2 !important;
  color: #b91c1c !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:last-child {
  min-width: 150px;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:last-child button {
  min-height: 32px;
  margin-right: 0 !important;
  padding: 7px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  color: #334155 !important;
  font-size: .78rem !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
  transition: transform .16s ease, box-shadow .16s ease, color .16s ease, background .16s ease;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:last-child button + button {
  margin-left: 8px;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:last-child button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .10);
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:last-child button.text-blue-600 {
  border-color: #bfdbfe !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:last-child button.text-red-600 {
  border-color: #fecaca !important;
  background: #fef2f2 !important;
  color: #b91c1c !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 > .flex.justify-center.mt-6 {
  gap: 8px !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 > .flex.justify-center.mt-6 button {
  min-width: 36px;
  min-height: 36px;
  border: 1px solid var(--aup-line) !important;
  border-radius: 10px !important;
  font-weight: 850 !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .05);
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 > .flex.justify-center.mt-6 button.bg-blue-600 {
  border-color: var(--aup-accent) !important;
  background: var(--aup-accent) !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md {
  width: min(480px, calc(100vw - 32px)) !important;
  max-width: 480px !important;
  overflow: hidden;
  border: 1px solid var(--aup-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 64px rgba(15, 23, 42, .20) !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md > .p-6 {
  padding: 0 !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md h3 {
  margin: 0 !important;
  padding: 18px 20px;
  border-bottom: 1px solid var(--aup-line);
  background: linear-gradient(180deg, #ffffff 0%, #f8fcfb 100%);
  color: var(--aup-ink) !important;
  font-size: 1.05rem !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md form {
  padding: 18px 20px 20px;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md label {
  color: #334155 !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md input:not([type="checkbox"]),
body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md select {
  min-height: 42px;
  border: 1px solid var(--aup-line-strong) !important;
  border-radius: 11px !important;
  background: #ffffff !important;
  color: var(--aup-ink) !important;
  font-size: .9rem !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md input:not([type="checkbox"]):focus,
body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md select:focus {
  border-color: var(--aup-accent) !important;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, .12) !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md input[type="checkbox"] {
  color: var(--aup-accent) !important;
  border-color: var(--aup-line-strong) !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md form > div:last-child {
  position: sticky;
  bottom: 0;
  margin-left: -20px;
  margin-right: -20px;
  margin-bottom: -20px;
  padding: 14px 20px;
  border-top: 1px solid var(--aup-line);
  background: #ffffff;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md form > div:last-child button {
  min-height: 38px;
  border-radius: 11px !important;
  font-weight: 850 !important;
}

body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md form > div:last-child button[type="submit"] {
  background: var(--aup-accent) !important;
}

@media (max-width: 768px) {
  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header {
    padding: 12px 14px !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header > div {
    align-items: flex-start !important;
    gap: 12px;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header h1 {
    font-size: 1.05rem !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header h1 + p {
    font-size: .78rem !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header button.bg-blue-600,
  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header [class*="bg-blue-600"] {
    min-height: 34px;
    padding: 8px 11px !important;
    font-size: .76rem !important;
    white-space: nowrap;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 {
    padding: 14px !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 > div.mb-4 input {
    width: 100% !important;
    max-width: none !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 > div.bg-white.rounded-lg.shadow {
    overflow: visible;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 > div.bg-white.rounded-lg.shadow > .overflow-x-auto {
    overflow: visible !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 table,
  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 thead,
  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 tbody,
  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 tr,
  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 th,
  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td {
    display: block;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 table {
    min-width: 0 !important;
    width: 100% !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 thead {
    display: none;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 tbody {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    background: transparent !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 tbody tr {
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--aup-line);
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td {
    min-width: 0 !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid #edf4f3;
    white-space: normal !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td::before {
    display: block;
    margin-bottom: 4px;
    color: #64748b;
    font-size: .68rem;
    line-height: 1.15;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:nth-child(1)::before {
    content: "Nome";
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:nth-child(2)::before {
    content: "E-mail";
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:nth-child(3)::before {
    content: "Papel";
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:nth-child(4)::before {
    content: "Status";
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:nth-child(5)::before {
    content: "Ultimo Login";
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:nth-child(6)::before {
    content: "Acoes";
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:first-child {
    padding-top: 13px !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:first-child .font-medium {
    font-size: .98rem !important;
    line-height: 1.3 !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:nth-child(2) .text-sm,
  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:nth-child(5) {
    overflow-wrap: anywhere;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:last-child {
    border-bottom: 0;
    padding-bottom: 13px !important;
    text-align: left !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 td:last-child button {
    min-height: 34px;
    margin-top: 2px;
    margin-right: 8px !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) header + div.p-6 > .flex.justify-center.mt-6 {
    max-width: 100%;
    overflow-x: auto;
    justify-content: flex-start !important;
    padding-bottom: 2px;
    -webkit-overflow-scrolling: touch;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 {
    align-items: stretch !important;
    padding: 6px !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    border-radius: 14px !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md > .p-6 {
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md h3 {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 14px 16px;
    font-size: .98rem !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md form {
    min-height: 0;
    overflow: auto;
    padding: 14px 16px 16px;
    -webkit-overflow-scrolling: touch;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md form > div:last-child {
    margin-left: -16px;
    margin-right: -16px;
    margin-bottom: -16px;
    padding: 12px 16px;
    gap: 8px !important;
  }

  body:has(nav.sidebar-navigation a[href="/usuarios"].bg-white) .fixed.inset-0.z-50 > .bg-white.max-w-md form > div:last-child button {
    flex: 1 1 0;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
