@font-face {
  font-family: "Source Sans 3";
  src: url("assets/fonts/SourceSans3VF-Upright.ttf.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}

:root {
  --text: #dbe2ea;
  --muted: #8d9aab;
  --line: #222a34;
  --green: #42d99d;
  --amber: #e4aa4e;
}

body {
  font-family: "Segoe UI Variable Text", "Segoe UI", "Noto Sans", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.brand,
.primary,
.secondary,
.link-button,
input,
select,
textarea,
button {
  font-family: inherit;
  font-style: normal;
}

/* A interface usa tipografia reta; ênfase é comunicada por peso e cor. */
input,
select,
textarea,
button,
label,
small,
strong,
th,
td {
  font-style: normal;
}

.topbar h1,
.hero-card h2,
.panel h2,
.panel h3,
.modal h2 {
  color: #e9edf2;
  font-weight: 500;
  letter-spacing: -0.012em;
}

.nav-item,
.nav-subitem,
.toolbar,
.advanced-filters,
.table-summary,
th,
.table-sort {
  font-weight: 400;
}

.nav-item,
.nav-subitem {
  color: #93a0b2;
}

.nav-item:hover,
.nav-item.active,
.nav-subitem:hover,
.nav-subitem.active {
  color: #dce3eb;
}

td,
td small,
.muted,
.inline-note,
.metric small,
.billing-totals small {
  font-weight: 400;
}

td {
  color: #c4cdd8;
}

td small,
.inline-note,
.client-cell small,
.activity small,
.metric small {
  color: #8492a5;
}

.client-cell p,
td > strong,
.activity p,
.finance-preview-item strong,
.report-composition strong {
  color: #d8dfe7;
  font-weight: 500;
}

.metric strong,
.hero-orb span {
  font-weight: 600;
  letter-spacing: -0.015em;
}

.eyebrow {
  font-weight: 500;
}

.pill {
  font-weight: 500;
}

.hero-card p,
.activity small,
.chart-label,
.billing-totals,
.finance-preview-item,
.deadline-stack,
.client-cell small {
  font-weight: 400;
}

th,
.table-sort {
  color: #8490a1;
  letter-spacing: 0.085em;
}

td,
th,
.activity {
  border-color: #202832;
}

tbody tr:hover {
  background: #121820;
}

.panel,
.metric,
.table-panel {
  border-color: #252e39;
}

.status-chart strong,
.activity-value strong,
.billing-totals strong {
  font-weight: 500;
}

/* Mantém cabeçalho e rodapé da barra lateral visíveis, rolando apenas os menus. */
.sidebar > nav {
  flex: 1;
  min-height: 0;
  align-content: start;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 4px;
  scrollbar-width: thin;
  scrollbar-color: #394554 transparent;
}

.sidebar > nav::-webkit-scrollbar {
  width: 5px;
}

.sidebar > nav::-webkit-scrollbar-track {
  background: transparent;
}

.sidebar > nav::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #394554;
}

.sidebar-foot {
  flex: none;
}

/* Dimensões de referência dos cards compactos da página Relatórios. */
@media (min-width: 1001px) {
  .report-card-size {
    gap: 12px;
    margin-top: 6px;
    margin-bottom: 10px;
  }

  .report-card-size > .metric,
  .report-card-size > article {
    padding: 12px 14px;
    border-radius: 14px;
  }

  .report-card-size .metric-top {
    font-size: 11px;
  }

  .report-card-size .metric-icon {
    width: 27px;
    height: 27px;
    border-radius: 7px;
  }

  .report-card-size .metric strong,
  .report-card-size > article > strong {
    margin: 7px 0 1px;
    font-size: 20px;
    line-height: 1.2;
  }

  .report-card-size .metric small,
  .report-card-size > article > small,
  .report-card-size > article > span {
    font-size: 11px;
  }

  #financeMetrics.report-card-size {
    margin: 6px 0 10px;
    gap: 12px;
  }

  #financeMetrics.report-card-size > .metric {
    padding: 12px 14px;
  }

  #financeMetrics.report-card-size .metric strong {
    margin: 7px 0 1px;
    font-size: 20px;
  }
}
