.gc-master,
.gc-master * { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.gc-master {
  margin: 0;
  overflow-x: hidden;
  color: var(--gc-ink);
  background-color: var(--gc-paper);
  background-image:
    linear-gradient(rgba(18, 62, 93, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18, 62, 93, 0.035) 1px, transparent 1px);
  background-size: 56px 56px;
  font-family: var(--gc-font);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

.gc-master a { color: inherit; }
.gc-master img,
.gc-master svg { max-width: 100%; }
.gc-master code,
.gc-master pre,
.gc-master td,
.gc-master th { overflow-wrap: anywhere; }

.gc-master .app-shell,
.gc-master .history-shell { min-height: 100vh; background: transparent; }

.gc-master .research-main,
.gc-master .history-wrap,
.gc-master .wrap,
.gc-master .theme-dashboard-main,
.gc-master .app-shell > main,
.gc-master main.wrap {
  width: min(var(--gc-max-width), calc(100% - 64px));
  max-width: var(--gc-max-width);
  margin-inline: auto;
}

.gc-master .research-main,
.gc-master .history-main,
.gc-master .theme-dashboard-main,
.gc-master .app-shell > main,
.gc-master main.wrap { padding: 0 0 80px; }

.gc-master .research-section,
.gc-master .panel,
.gc-master .content-grid,
.gc-master .metric-grid,
.gc-master .history-actions { margin-top: 28px; }

.gc-master .research-layout,
.gc-master .content-grid,
.gc-master .metric-grid,
.gc-master .research-kpi-grid,
.gc-master .history-grid { gap: 1px; }

.gc-master .table-wrap,
.gc-master .research-table-wrap { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }

@media (max-width: 820px) {
  .gc-master .research-main,
  .gc-master .history-wrap,
  .gc-master .wrap,
  .gc-master .theme-dashboard-main,
  .gc-master .app-shell > main,
  .gc-master main.wrap { width: min(100% - 36px, var(--gc-max-width)); }

  .gc-master .research-layout,
  .gc-master .content-grid,
  .gc-master .content-grid-wide,
  .gc-master .metric-grid,
  .gc-master .research-kpi-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 480px) {
  .gc-master .research-main,
  .gc-master .history-wrap,
  .gc-master .wrap,
  .gc-master .theme-dashboard-main,
  .gc-master .app-shell > main,
  .gc-master main.wrap { width: min(100% - 28px, var(--gc-max-width)); }
}
