/* Zimez Jurídico — identidade visual do painel */
.app-shell { background: #f7f7f6; }

.sidebar {
  background: #fff;
  border-right: 1px solid #e8e7e5;
  color: #232526;
}
.sidebar-brand {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  padding-inline: 0 !important;
}
.sidebar-brand img { mix-blend-mode: multiply !important; }
.workspace-label { color: #646967; margin: 24px 12px 10px; }
.nav-item {
  color: #444947;
  gap: 10px;
  padding: 10px 12px;
}
.nav-item:hover { background: #f5f5f4; color: #202223; }
.nav-item.active {
  background: #fcefeb;
  color: #252728;
  font-weight: 650;
  box-shadow: inset 3px 0 var(--red);
}
.nav-item.active svg { color: #b6251d; }
.nav-item:focus-visible, .profile-card:focus-visible, .mobile-close:focus-visible {
  outline: 2px solid #b6251d;
  outline-offset: 2px;
}
.sidebar-note { background: #f7f7f6; border-color: #ebebe9; padding: 12px; }
.sidebar-note > span, .sidebar-note p, .profile-card small { color: #626865; }
.sidebar-note i { color: #356a2d; }
.profile-card { border-top-color: #e8e7e5; color: #232526; }
.mobile-close { color: #232526; }

.welcome-card {
  background: #fff;
  border: 1px solid #e8e7e5;
  color: #232526;
  min-height: 128px;
  padding: 22px 24px;
  align-items: center;
  gap: 18px;
}
.welcome-card::after {
  border-color: #f2e5e1;
  opacity: .55;
  pointer-events: none;
}
.welcome-card h2 { font-size: clamp(23px, 2.2vw, 29px); margin: 6px 0; }
.welcome-card p { color: #525956; }
.dashboard-grid { gap: 14px; }
.metric-grid { gap: 12px; }
.metric { padding: 13px 15px; gap: 3px; }
.metric::before { width: 3px; }
.metric strong { font-size: 25px; }
.metric small { color: #666c69; }
.dashboard-grid .panel { padding: 18px; }
.dashboard-grid .panel-title h3 { margin-bottom: 14px; }

@media (min-width: 761px) {
  .sidebar { width: 222px; padding-inline: 16px; }
  .workspace { margin-left: 222px; }
  .topbar { height: 66px; padding-inline: 26px; }
  .content { padding: 22px 26px 40px; }
}
@media (max-width: 760px) {
  .welcome-card { padding: 18px; }
  .welcome-card > button { justify-self: start; }
  .metric-grid { gap: 10px; }
}

/* Ritmo e densidade das áreas de trabalho. */
.page-heading { margin-bottom: 14px; }
.page-heading h2 { font-size: clamp(19px, 2vw, 23px); line-height: 1.2; margin: 4px 0; }
.page-heading p { font-size: 12px; line-height: 1.45; }
.heading-actions { gap: 10px; }
.filter-bar { align-items: center; gap: 8px; margin-bottom: 10px; }
.filter-search, .thesis-filter, .filter-bar > select { min-height: 32px; height: 32px; }
.filter-bar > select { padding-block: 5px; }
.thesis-legend { margin: 6px 0 8px; font-size: 11px; }
.panel-title h3 { font-size: 15px; }
.radar-sync { padding: 12px; margin-block: 12px; }
.radar-card { padding: 14px; gap: 9px; }
.radar-card h3 { font-size: 15px; }

.matrix-wrap, .data-table-wrap, .data-table tr { border-radius: 0; }
.matrix th, .data-table th {
  vertical-align: middle;
  font-size: 11px;
  line-height: 1.15;
}
.matrix th, .matrix td, .data-table th, .data-table td { border-radius: 0; }
.matrix td, .data-table td {
  vertical-align: middle;
  line-height: 1.25;
}
.matrix td, .data-table td { font-size: 11px; }
.matrix th > span { font-size: 10px; }
.matrix tbody tr:nth-child(even) td, .data-table tbody tr:nth-child(even) td {
  background-color: #f8f9f8;
}
.matrix tbody tr:nth-child(even) .sticky-client { background: #f8f9f8 !important; }
.matrix tbody tr:hover td, .data-table tbody tr:hover td { background-color: #fff3ef; }
.matrix tbody tr:hover .sticky-client { background: #fff3ef !important; }
.matrix td select { display: block; margin: 0 auto; line-height: 1.15; }
.matrix td:nth-child(n+6) select[title="-"]:not(:hover):not(:focus) {
  appearance: none;
  color: #767c79;
  text-align: center;
}
.matrix td select:focus-visible {
  outline: 2px solid #b6251d;
  outline-offset: -2px;
}
@media (min-width: 769px) {
  .content { padding-top: 15px; }
  .matrix-wrap, .data-table-wrap { max-height: calc(100vh - 204px); }
  .matrix th:nth-child(n+6), .matrix td:nth-child(n+6) {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
  }
  .matrix td { height: 30px; padding: 3px 5px; overflow-wrap: break-word; }
  .matrix td:nth-child(n+6) { padding-inline: 3px; }
  .matrix td:nth-child(n+6) select {
    width: 100%;
    max-width: 100%;
    font-size: 10px;
    padding-block: 3px;
  }
  .data-table td { height: 32px; padding: 4px 8px; }
}
@media (max-width: 760px) {
  .content { padding-top: 14px; }
  .data-table-wrap { max-height: none; }
  .data-table td { font-size: 11px; }
  .data-table td::before { font-size: 10px; }
}

/* Aproxima a Batalha Naval da barra superior. */
.content:has(.page-section .battle-filter-bar) { padding-top: 8px; }
.page-section:has(.battle-filter-bar) { padding-top: 0; }
