/* Final QA layer loaded after the legacy secondary-page stylesheet. */
@media (min-width: 901px) {
  .app-shell {
    grid-template-columns: minmax(238px, 278px) minmax(0, 1fr) !important;
  }

  .sidebar {
    margin: 12px 12px 18px 28px !important;
    height: calc(100vh - 36px) !important;
    padding: 20px 14px !important;
    border-radius: 18px !important;
  }

  .brand {
    gap: 10px !important;
    margin-bottom: 20px !important;
  }

  img.brand-icon,
  .brand-icon {
    width: 26px !important;
    height: 26px !important;
  }

  .brand strong {
    font-size: 1.18rem !important;
    line-height: 1 !important;
  }

  .brand span {
    font-size: 0.76rem !important;
    line-height: 1.1 !important;
  }

  .nav {
    gap: 5px !important;
  }

  .nav a,
  .nav button {
    min-height: 36px !important;
    padding: 0 11px !important;
    border-radius: 9px !important;
    font-size: 0.9rem !important;
    font-weight: 560 !important;
  }

  .side-status {
    padding: 11px !important;
    border-radius: 10px !important;
  }

  .workspace {
    padding: 14px 34px 24px 24px !important;
  }

  .topbar {
    margin: 0 0 14px !important;
    padding: 0 0 12px !important;
  }

  .topbar-title {
    gap: 2px !important;
  }

  .topbar-title strong {
    font-size: 1.22rem !important;
    line-height: 1.05 !important;
    font-weight: 650 !important;
  }

  .topbar-title span,
  .hero p,
  .panel-sub,
  .muted,
  .metric-label,
  .metric-hint {
    font-size: 0.8rem !important;
    line-height: 1.25 !important;
  }

  .eyebrow {
    font-size: 0.76rem !important;
  }

  h1,
  .hero h1 {
    font-size: 1.7rem !important;
    line-height: 1.08 !important;
  }

  h2,
  .panel-head h2 {
    font-size: 1.08rem !important;
  }

  .metric {
    min-height: 86px !important;
    padding: 13px 14px !important;
  }

  .metric-value,
  .load-summary strong,
  .radial-label strong {
    font-size: 1.45rem !important;
  }

  th {
    padding: 10px 12px !important;
    font-size: 0.9rem !important;
  }

  td {
    padding: 10px 12px !important;
    font-size: 0.86rem !important;
  }

  .btn {
    min-height: 36px !important;
    padding-inline: 12px !important;
    font-size: 0.86rem !important;
  }

  .login-card {
    width: min(420px, calc(100vw - 32px)) !important;
    padding: 34px 32px !important;
  }

  .login-card h1 {
    font-size: 1.62rem !important;
  }
}

.redbox-secondary-shell {
  grid-template-rows: auto auto 1fr;
}

.redbox-secondary-shell .system-header {
  grid-row: 1;
}

.redbox-secondary-shell .qive-sidebar {
  grid-row: 3;
}

.redbox-secondary-workspace {
  grid-column: 2;
  grid-row: 3;
  min-height: 0;
  overflow: auto;
  background: #ffffff;
}

.redbox-secondary-shell .qive-primary-nav .tab-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.qive-primary-nav a.tab-link {
  text-decoration: none;
}

.system-header .logo-text h1 {
  font-size: 1.25rem !important;
  line-height: 1 !important;
}

.redbox-secondary-workspace .topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 14px;
  padding: 0 0 12px;
  border-bottom: 1px solid #e9e9ea;
}

.redbox-secondary-workspace .topbar-title {
  display: grid;
  gap: 2px;
}

.redbox-secondary-workspace .topbar-title strong {
  color: #0b0d10;
  font-size: 1.22rem;
  line-height: 1.05;
  font-weight: 650;
}

.redbox-secondary-workspace .topbar-title span {
  color: #8c919b;
  font-size: 0.8rem;
  line-height: 1.25;
}

.redbox-secondary-workspace .hero {
  display: none;
}

.redbox-secondary-workspace .page-stack,
.redbox-secondary-workspace .stack {
  display: grid;
  gap: 14px;
}

.redbox-secondary-workspace .form-card,
.redbox-secondary-workspace .panel,
.redbox-secondary-workspace .table-card,
.redbox-secondary-workspace .metric,
.redbox-secondary-workspace .quick {
  border: 1px solid #e3e4e8;
  background: #ffffff;
  box-shadow: none;
}

.redbox-secondary-workspace .form-card,
.redbox-secondary-workspace .panel,
.redbox-secondary-workspace .table-card {
  border-radius: 12px;
  padding: 14px 16px;
}

.redbox-secondary-workspace .panel-head {
  margin-bottom: 14px;
}

.redbox-secondary-workspace .grid2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.redbox-secondary-workspace .vars {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid #e3e4e8;
  border-radius: 8px;
  background: #f7f7f8;
  color: #59606d;
  font-size: 0.8rem;
}

.redbox-secondary-workspace .vars code {
  color: #d92905;
}

.redbox-secondary-workspace label,
.redbox-secondary-workspace .toggle-label {
  color: #59606d;
  font-size: 0.84rem;
  font-weight: 650;
  text-transform: none;
}

.redbox-secondary-workspace .toggle-label {
  color: #111827;
}

.redbox-secondary-workspace .hint {
  color: #8c919b;
  font-size: 0.78rem;
  font-weight: 500;
  text-transform: none;
}

.redbox-secondary-workspace input,
.redbox-secondary-workspace select,
.redbox-secondary-workspace textarea {
  font-size: 0.88rem;
  font-weight: 500;
}

.redbox-secondary-workspace .full {
  width: 100%;
}

.topbar-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.topbar-actions form {
  margin: 0;
}

.cadastro-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.cadastro-metrics .metric {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 82px !important;
  padding: 14px !important;
}

.cadastro-metrics .metric-label {
  max-width: 150px;
  font-size: 0.74rem !important;
  line-height: 1.18 !important;
}

.cadastro-metrics .metric-value {
  flex: 0 0 auto;
  margin: 0 !important;
  font-size: 1.7rem !important;
  line-height: 1 !important;
}

.cadastro-layout {
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.cadastro-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
  gap: 14px;
  align-items: start;
}

.condo-list,
.armario-grid {
  display: grid;
  gap: 10px;
}

.condo-card,
.armario-card {
  display: grid;
  gap: 10px;
  min-height: 74px;
  padding: 12px;
  border: 1px solid #e3e4e8;
  border-radius: 10px;
  background: #ffffff;
  color: #111827;
  text-decoration: none;
  transition: border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.condo-card:hover,
.armario-card:hover {
  border-color: #f04423;
  box-shadow: 0 8px 20px rgba(17, 24, 39, 0.06);
  transform: translateY(-1px);
}

.condo-card.active,
.armario-card.active {
  border-color: #f04423;
  background: #fff7f4;
}

.condo-card strong,
.armario-card strong {
  display: block;
  color: #111827;
  font-size: 0.94rem;
  line-height: 1.18;
}

.condo-card span,
.armario-card span {
  color: #687182;
  font-size: 0.78rem;
  line-height: 1.25;
}

.condo-card-meta,
.armario-card-stats,
.armario-card-foot,
.armario-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}

.armario-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cadastro-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  padding: 12px 0;
}

.cadastro-limit-note {
  padding: 10px 0 0;
}

.muted-row {
  display: block;
  margin-top: 3px;
  color: #8c919b;
  font-size: 0.76rem;
}

.compact-empty {
  padding: 14px;
  border: 1px dashed #d9dce2;
  border-radius: 10px;
  background: #fafafa;
  color: #687182;
  font-size: 0.86rem;
}

@media (min-width: 1201px) {
  .redbox-secondary-workspace {
    padding: 14px 34px 24px 24px !important;
  }
}

@media (max-width: 1200px) {
  .redbox-secondary-workspace {
    padding: 22px 14px 78px !important;
  }
}

@media (max-width: 760px) {
  .redbox-secondary-workspace .topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .redbox-secondary-workspace .grid2 {
    grid-template-columns: 1fr;
  }

  .cadastro-metrics,
  .cadastro-layout,
  .cadastro-split,
  .armario-grid {
    grid-template-columns: 1fr;
  }

  .cadastro-search {
    grid-template-columns: 1fr;
  }
}

.password-field {
  position: relative;
  display: block;
}

.password-field input {
  padding-right: 44px;
}

.password-toggle {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #59606d;
  cursor: pointer;
}

.gmail-login-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #8c919b;
  font-size: 0.78rem;
  font-weight: 650;
}

.gmail-login-divider::before,
.gmail-login-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #dedfe2;
}

.btn-google {
  width: 100%;
  min-height: 44px;
  gap: 10px;
  border-color: #dedfe2 !important;
  background: #ffffff !important;
  color: #1f2937 !important;
}

.btn-google:hover {
  background: #f7f7f8 !important;
}

.btn-google svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.password-toggle:hover {
  background: #eff0f3;
  color: #0b0d10;
}

.password-toggle:focus-visible {
  outline: 2px solid #f04423;
  outline-offset: 2px;
}

.password-toggle svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.password-toggle .eye-closed {
  display: none;
}

.password-toggle[aria-pressed="true"] .eye-open {
  display: none;
}

.password-toggle[aria-pressed="true"] .eye-closed {
  display: block;
}

.login-page .login-card .brand {
  gap: 14px !important;
  margin-bottom: 24px !important;
}

.login-page .login-card .brand-icon {
  width: 46px !important;
  height: 46px !important;
}

.login-page .login-card .brand strong {
  font-size: 1.55rem !important;
  line-height: 1 !important;
}

.login-page .login-card .brand span {
  margin-top: 4px !important;
  font-size: 0.9rem !important;
}
