/*
 * AD7 Pro | Typography System 1.0 | Locked at prototype v0.14
 * Fonte: Montserrat.  Source of truth for type scale and contrast.
 * Future visual work should modify layout/spacing without redefining font sizes.
 * If deliberate type changes are approved, change the tokens here, not styles.css.
 */
:root {
  --ad7-type-font: 'Montserrat', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ad7-type-page: 30px;
  --ad7-type-section: 18px;
  --ad7-type-panel: 16px;
  --ad7-type-kpi-value: 24px;
  --ad7-type-body: 13px;
  --ad7-type-support: 12px;
  --ad7-type-label: 12px;
  --ad7-type-control: 13px;
  --ad7-type-table: 12px;
  --ad7-type-table-head: 11px;
  --ad7-type-micro: 11px;
  --ad7-weight-title: 800;
  --ad7-weight-strong: 700;
  --ad7-weight-body: 500;
  --ad7-type-ink: #142333;
  --ad7-type-ink-soft: #334457;
  --ad7-type-white: #ffffff;
  --ad7-type-leading: 1.55;
  --ad7-type-leading-title: 1.3;
  --ad7-ink: var(--ad7-type-ink);
  --ad7-ink-soft: var(--ad7-type-ink-soft);
}

body {
  font-family: var(--ad7-type-font);
  font-size: var(--ad7-type-body);
  line-height: var(--ad7-type-leading);
  font-weight: var(--ad7-weight-body);
  color: var(--ad7-type-ink);
}
button, input, select, textarea {font-family: var(--ad7-type-font)}

/* App-wide title / navigation / secondary hierarchy. */
.page-title,
.dashboard-v09 .page-title {font-size:var(--ad7-type-page);line-height:1.2;font-weight:var(--ad7-weight-title);letter-spacing:-.04em;color:var(--ad7-type-ink)}
.page-description,
.dashboard-v09 .page-description {font-size:var(--ad7-type-body);line-height:1.65;color:var(--ad7-type-ink-soft);font-weight:var(--ad7-weight-body)}
.page-kicker {font-size:var(--ad7-type-micro);font-weight:var(--ad7-weight-strong)}
.sidebar .brand-name {font-size:22px;font-weight:var(--ad7-weight-title)}
.sidebar .nav-item {font-size:var(--ad7-type-body);line-height:1.45;font-weight:600}
.sidebar .nav-item.active {font-weight:var(--ad7-weight-strong)}
.sidebar .sidebar-quote,.sidebar .sidebar-bottom .bottom-text {font-size:var(--ad7-type-support);line-height:1.6}
.sidebar .sidebar-section,.sidebar .brand-caption,.sidebar .bottom-meta {font-size:var(--ad7-type-micro)}
.topbar .welcome-title {font-size:14px;font-weight:var(--ad7-weight-title);line-height:1.4}
.topbar .welcome-sub,.topbar-date,.topbar-date select {font-size:var(--ad7-type-support);line-height:1.5}

.panel-title,.panel-header .panel-title,.operation-toolbar .panel-title {font-size:var(--ad7-type-panel);line-height:var(--ad7-type-leading-title);font-weight:var(--ad7-weight-title)}
.panel-subtitle,.mini-line,.info-label,.timeline-date,.detail-kpi-label {font-size:var(--ad7-type-support);line-height:1.55;color:var(--ad7-type-ink-soft)}
.detail-heading h1,.campaign-detail-heading h1 {font-size:24px;font-weight:var(--ad7-weight-title);line-height:1.25}
.detail-heading p,.info-value,.note-body,.timeline-item {font-size:var(--ad7-type-body);line-height:1.6}

.btn,.btn.small,.btn.mini-btn,.text-link,.dashboard-v09 .text-link {font-size:var(--ad7-type-support);font-weight:var(--ad7-weight-strong);line-height:1.4}
.field > span,.field > label,.form-grid label,
.dashboard-v09 .overview-filter-bar .field span,
.dashboard-v09 .overview-performance-controls .field span {font-size:var(--ad7-type-label);line-height:1.45;font-weight:var(--ad7-weight-strong);color:var(--ad7-type-ink)}
.control,.form-grid input,.form-grid select,.form-grid textarea,
.dashboard-v09 .overview-filter-bar .control,
.dashboard-v09 .overview-performance-controls .control {font-size:var(--ad7-type-control);line-height:1.5;color:var(--ad7-type-ink);font-weight:var(--ad7-weight-body)}
.search-field input {font-size:var(--ad7-type-control)}

/* Global data tables. Keep table semantics readable in every module. */
.data-table {font-size:var(--ad7-type-table);line-height:1.55}
.data-table th,.large-table .data-table th {font-size:var(--ad7-type-table-head);line-height:1.4;font-weight:var(--ad7-weight-strong);color:var(--ad7-type-ink-soft)}
.data-table td,.large-table .data-table td {font-size:var(--ad7-type-table);line-height:1.6;color:var(--ad7-type-ink)}
.client-name,.large-table .client-name {font-size:var(--ad7-type-table);font-weight:var(--ad7-weight-strong)}
.client-sector,.large-table .client-sector,.table-footer {font-size:var(--ad7-type-support);line-height:1.5;color:var(--ad7-type-ink-soft)}
.pill {font-size:var(--ad7-type-micro);line-height:1.35;font-weight:var(--ad7-weight-strong)}

/* Dashboard: one identical title size everywhere, including smaller screens. */
.dashboard-v09 .overview-title-with-icon h2,
.dashboard-v09 .overview-performance .overview-title-with-icon h2,
.dashboard-v09 .overview-side-card .overview-title-with-icon h2,
.dashboard-v09 .overview-table-panel .overview-title-with-icon h2,
.dashboard-v09 .overview-finance-card .overview-title-with-icon h2 {
  font-size:var(--ad7-type-section)!important;
  line-height:var(--ad7-type-leading-title);
  font-weight:var(--ad7-weight-title);
  letter-spacing:-.02em;
  color:var(--ad7-type-ink);
}
.dashboard-v09 .overview-title-with-icon p,
.dashboard-v09 .overview-performance .overview-title-with-icon p {font-size:var(--ad7-type-support);line-height:1.55;color:var(--ad7-type-ink-soft)}
.dashboard-v09 .overview-kpi-heading {font-size:var(--ad7-type-label);line-height:1.45;font-weight:var(--ad7-weight-strong);color:var(--ad7-type-ink)}
.dashboard-v09 .overview-kpi > strong {font-size:var(--ad7-type-kpi-value);line-height:1.18;font-weight:var(--ad7-weight-title);color:var(--ad7-type-ink)}
.dashboard-v09 .overview-kpi > small {font-size:var(--ad7-type-support);line-height:1.5;font-weight:var(--ad7-weight-body);color:var(--ad7-type-ink-soft)}
.dashboard-v09 .overview-chart-legend,
.dashboard-v09 .chart-metric-pill,
.dashboard-v09 .overview-chart-caption {font-size:var(--ad7-type-support);line-height:1.55;color:var(--ad7-type-ink-soft)}
.dashboard-v09 .chart-metric-pill strong {font-size:var(--ad7-type-body);color:var(--ad7-type-ink)}
.dashboard-v09 .chart-type-btn {font-size:var(--ad7-type-support)}
.dashboard-v09 .overview-chart-svg .chart-label {font-size:11px;font-weight:600;fill:var(--ad7-type-ink-soft)}
.dashboard-v09 .overview-chart-svg .chart-value {font-size:11px}
.dashboard-v09 .overview-stat-stack span,
.dashboard-v09 .overview-stat-stack small {font-size:var(--ad7-type-support);line-height:1.5;color:var(--ad7-type-ink-soft)}
.dashboard-v09 .overview-stat-stack strong {font-size:18px;line-height:1.3;font-weight:var(--ad7-weight-title);color:var(--ad7-type-ink)}
.dashboard-v09 .overview-task-text strong,
.dashboard-v09 .overview-activity-text {font-size:var(--ad7-type-body);line-height:1.5;font-weight:var(--ad7-weight-strong);color:var(--ad7-type-ink)}
.dashboard-v09 .overview-task-text small,
.dashboard-v09 .overview-activity-row time {font-size:var(--ad7-type-support);line-height:1.5;color:var(--ad7-type-ink-soft)}
.dashboard-v09 .overview-task-row .pill {font-size:var(--ad7-type-micro);font-weight:var(--ad7-weight-strong)}
.dashboard-v09 .overview-table,.dashboard-v09 .overview-table td {font-size:var(--ad7-type-table);line-height:1.55;color:var(--ad7-type-ink)}
.dashboard-v09 .overview-table th {font-size:var(--ad7-type-table-head);font-weight:var(--ad7-weight-strong);color:var(--ad7-type-ink-soft)}
.dashboard-v09 .overview-table .client-name,
.dashboard-v09 .overview-table .campaign-link {font-size:var(--ad7-type-table);line-height:1.45;font-weight:var(--ad7-weight-strong);color:var(--ad7-type-ink)}
.dashboard-v09 .overview-table .client-sector,
.dashboard-v09 .overview-table .overview-plan,
.dashboard-v09 .overview-table .overview-money,
.dashboard-v09 .overview-table .pill {font-size:var(--ad7-type-support);line-height:1.5}
.dashboard-v09 .overview-table .pill {font-size:var(--ad7-type-micro)}
.dashboard-v09 .overview-table-panel .table-footer {font-size:var(--ad7-type-support);line-height:1.5;color:var(--ad7-type-ink-soft)}
.dashboard-v09 .overview-zero-campaigns strong {font-size:var(--ad7-type-panel);font-weight:var(--ad7-weight-strong)}
.dashboard-v09 .overview-zero-campaigns p {font-size:var(--ad7-type-support);line-height:1.65;color:var(--ad7-type-ink-soft)}
.dashboard-v09 .overview-finance-numbers span,
.dashboard-v09 .overview-finance-card>p,
.dashboard-v09 .overview-local-footnote {font-size:var(--ad7-type-support);line-height:1.6;color:var(--ad7-type-ink-soft)}
.dashboard-v09 .overview-finance-numbers strong {font-size:18px;font-weight:var(--ad7-weight-title)}
.dashboard-v09 .overview-cta strong {font-size:var(--ad7-type-body);line-height:1.5;font-weight:var(--ad7-weight-title);color:white}
.dashboard-v09 .overview-cta p {font-size:var(--ad7-type-support);line-height:1.55;color:white}

@media (max-width:760px) {
  :root {--ad7-type-page:26px;--ad7-type-section:17px;--ad7-type-kpi-value:24px}
  .page-title,.dashboard-v09 .page-title {font-size:var(--ad7-type-page)}
  .dashboard-v09 .overview-title-with-icon h2,
  .dashboard-v09 .overview-performance .overview-title-with-icon h2,
  .dashboard-v09 .overview-side-card .overview-title-with-icon h2,
  .dashboard-v09 .overview-table-panel .overview-title-with-icon h2,
  .dashboard-v09 .overview-finance-card .overview-title-with-icon h2 {font-size:var(--ad7-type-section)!important}
  .dashboard-v09 .overview-kpi-heading {font-size:var(--ad7-type-label)}
  .dashboard-v09 .overview-kpi > strong {font-size:var(--ad7-type-kpi-value)}
  .dashboard-v09 .overview-kpi > small {font-size:var(--ad7-type-support)}
}
