*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: var(--tc-font);
  font-size: 14px;
  color: var(--tc-text-primary);
  background: var(--tc-bg);
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
}

.tc-page-title {
  margin: 0;
  font-size: 26px;
  font-weight: 700;
  color: var(--tc-text-primary);
  line-height: 1.3;
}

.tc-page-subtitle {
  margin: 0;
  font-size: 13.5px;
  font-weight: 400;
  color: var(--tc-text-secondary);
  line-height: 22px;
}

.tc-section-title {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--tc-text-primary);
}

.tc-section-subtitle {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--tc-text-secondary);
  line-height: 1.5;
}

.tc-field-label {
  display: block;
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 600;
  color: var(--tc-text-tertiary);
}

.tc-caption {
  margin: 0;
  font-size: 12px;
  color: var(--tc-text-secondary);
  line-height: 1.55;
}

.tc-empty-title {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--tc-text-primary);
  text-align: center;
}

.tc-empty-subtitle {
  margin: 8px 0 0;
  font-size: 12.5px;
  color: var(--tc-text-secondary);
  text-align: center;
  line-height: 1.55;
  max-width: 360px;
}
