/* Módulo administrativo: mesma linguagem visual do escritório, com paleta invertida. */
.admin-area {
  min-height: 100vh;
  background:
    radial-gradient(circle at 85% 5%, rgba(238, 231, 221, .12), transparent 28rem),
    #4b3657;
}

.admin-area .sidebar {
  color: var(--dark);
  background: linear-gradient(180deg, #eee7dd, #d8c6b8);
  box-shadow: 12px 0 42px rgba(33, 22, 29, .16);
}

.admin-area .sidebar-brand {
  color: var(--dark);
}

.admin-area .sidebar-brand small {
  display: block;
  margin-top: 3px;
  font-family: var(--body-font);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.admin-area .sidebar a {
  color: #604a55;
}

.admin-area .sidebar a.active,
.admin-area .sidebar a:hover {
  color: #fffaf4;
  background: var(--accent);
}

.admin-area .sidebar .ghost-button {
  color: #604a55;
  border-color: rgba(73, 52, 63, .25);
}

.admin-area .sidebar .ghost-button:hover {
  border-color: rgba(73, 52, 63, .42);
  background: rgba(73, 52, 63, .07);
}

.admin-area .content > .topbar h1,
.admin-area .content > .page-header h1 {
  color: #fffaf4;
}

.admin-area .content > .topbar .muted,
.admin-area .content > .page-header .muted {
  color: #e5d9e0;
}

.admin-area .content > .topbar .eyebrow,
.admin-area .content > .page-header .eyebrow {
  color: #e2c7d6;
}

.admin-area .profile-chip {
  color: #fffaf4;
  border-color: rgba(255, 250, 244, .26);
  background: rgba(255, 250, 244, .11);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .02);
}

.admin-area .back-link {
  color: #ead9e3;
  transition: color .2s ease;
}

.admin-area .back-link:hover {
  color: #fffaf4;
}

.admin-area .metric,
.admin-area .panel,
.admin-area .data-panel,
.admin-area .form-section,
.admin-area .detail-card {
  background: #fffaf4;
}

.admin-area .admin-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-overview-panel .panel-heading {
  align-items: center;
}

.admin-panel-copy {
  max-width: 680px;
  margin: 18px 0 0;
  line-height: 1.65;
}

.admin-office-form {
  display: grid;
  gap: 16px;
}

.admin-area .table-actions form {
  display: inline-flex;
  margin: 0;
}

.admin-area .status-action {
  min-height: 38px;
  padding: 8px 12px;
  font-size: 11px;
  white-space: nowrap;
}

.admin-area .status-badge {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
}

.admin-area .status-badge.is-active {
  color: #42664e;
  background: #dfede3;
}

.admin-area .status-badge.is-frozen {
  color: #855363;
  background: #f1dfe5;
}

/* Login administrativo: inversão da composição do login do escritório. */
.admin-auth .brand-panel {
  color: var(--dark);
  background: linear-gradient(145deg, #eee7dd, #d8c6b8);
}

.admin-auth .brand-panel::after {
  border-color: rgba(73, 52, 63, .13);
  box-shadow: 0 0 0 55px rgba(73, 52, 63, .025), 0 0 0 110px rgba(73, 52, 63, .018);
}

.admin-auth .admin-signature {
  position: relative;
  margin-top: 12px;
  color: #6a4a5d;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.admin-auth .login-card {
  background: linear-gradient(160deg, #4b3657, #654474);
}

.admin-auth .login-card h2,
.admin-auth .login-card label {
  color: #fffaf4;
}

.admin-auth .login-card .eyebrow {
  color: #e4c9d8;
}

.admin-auth .login-card .muted,
.admin-auth .admin-access-link {
  color: #e1d0db;
}

.admin-auth .form-stack input {
  border-color: rgba(255, 250, 244, .25);
  background: rgba(255, 250, 244, .96);
}

.admin-auth .form-stack input:focus {
  border-color: #d8c6b8;
  box-shadow: 0 0 0 4px rgba(238, 231, 221, .13);
}

.admin-auth .primary-button {
  color: var(--dark);
  background: #eee7dd;
  box-shadow: 0 9px 24px rgba(34, 23, 29, .2);
}

.admin-auth .primary-button:hover {
  color: var(--dark);
  background: #fffaf4;
  box-shadow: 0 12px 28px rgba(34, 23, 29, .26);
}

.admin-auth .admin-access-link {
  align-self: center;
  font-size: 11px;
  text-decoration: none;
  transition: color .2s ease;
}

.admin-auth .admin-access-link:hover {
  color: #fffaf4;
  text-decoration: underline;
}

@media (max-width: 900px) {
  .admin-area .mobile-topbar {
    color: var(--dark);
    background: linear-gradient(90deg, #eee7dd, #e2d4c7);
    box-shadow: 0 4px 20px rgba(35, 23, 30, .18);
  }

  .admin-area .mobile-topbar > a {
    color: var(--dark);
  }

  .admin-area .mobile-menu-toggle {
    color: var(--dark);
    background: rgba(73, 52, 63, .08);
  }

  .admin-area .sidebar-overlay {
    background: rgba(49, 33, 43, .5);
  }

  .admin-overview-panel .panel-heading {
    align-items: stretch;
  }

  .admin-overview-panel .secondary-button {
    width: 100%;
  }
}

@media (max-width: 700px) {
  .admin-area .admin-metrics {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 701px) and (max-width: 1180px) {
  .admin-area .admin-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-area .admin-metrics .metric:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .admin-area .responsive-table tbody tr {
    border-color: rgba(73, 52, 63, .16);
    background: #fffaf4;
  }

  .admin-area .page-header .button-link,
  .admin-area .page-header .secondary-button {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .admin-auth .brand-panel {
    min-height: 150px;
  }

  .admin-auth .admin-signature {
    margin-top: 7px;
  }

  .admin-area .responsive-table .table-actions form,
  .admin-area .responsive-table .status-action {
    width: 100%;
  }
}
