@font-face {
  font-family: "Source Sans 3";
  src: url("fonts/source-sans-3-latin-ext-variable.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Source Sans 3";
  src: url("fonts/source-sans-3-latin-variable.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root,
body,
button,
input,
select,
textarea {
  font-family: "Source Sans 3", "Segoe UI", Arial, sans-serif;
}

body {
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.intro h1,
.step-head h2,
.success-panel h2,
.install-hero h1,
.admin-header h1,
.panel-head h2,
.detail-header h2,
.login-card h1,
.modal h2 {
  font-weight: 600;
  letter-spacing: -0.025em;
}

.step-head > span,
.book-card header b {
  font-family: "Source Sans 3", "Segoe UI", Arial, sans-serif;
  font-weight: 650;
}

/* Formulário público */
.intro p { font-size: 17px; line-height: 1.7; }
.stepper > strong { font-size: 11px; }
.stepper span { font-size: 14px; }
.stepper small { font-size: 11px; line-height: 1.35; }
.security-note b { font-size: 12px; }
.security-note small { font-size: 11px; line-height: 1.55; }
.step-head p { font-size: 14px; line-height: 1.5; }
.type-option b { font-size: 14px; }
.type-option small { font-size: 11px; }
.fields label,
.install-card label { font-size: 11px; }
.fields input,
.fields select,
.fields textarea,
.install-card input { font-size: 16px; line-height: 1.4; }
.fields label > small,
.field-help { font-size: 11px !important; }
.button { font-size: 13px; }
.info-box { font-size: 13px; }
.book-card header small { font-size: 10px; }
.remove-book { font-size: 12px; }
.books-count { font-size: 12px; }
.review-block > small { font-size: 11px; }
.review-block h3 { font-size: 24px; }
.review-block p { font-size: 14px; }
.review-book b { font-size: 13px; }
.review-book span { font-size: 12px; }
.accept { font-size: 14px; }
.alert { font-size: 14px; }
.success-panel p { font-size: 15px; }
.success-panel > small { font-size: 11px; }
.success-meta { font-size: 13px; }
.site-footer { font-size: 11px; }
.install-hero span { font-size: 11px; }
.install-hero p { font-size: 15px; }

/* Painel administrativo */
.admin-header span,
.red-label { font-size: 11px; }
.admin-header a,
.admin-header button { font-size: 13px; }
.summary-card small { font-size: 11px; }
.panel-head span { font-size: 10px; }
.filters input,
.filters select { font-size: 14px; }
th,
td { font-size: 13px; }
th { font-size: 10px; }
.status-pill,
.email-pill { font-size: 10px !important; }
.row-action { font-size: 12px; }
.detail-header p { font-size: 14px; }
.detail-card h3 { font-size: 18px; }
.detail-card dl { font-size: 13px; }
.book-row-admin small { font-size: 12px; }
.document-item a { font-size: 12px; }
.document-item small,
.email-item small,
.email-item p { font-size: 11px; }
.mini { font-size: 13px; }
.small-label { font-size: 11px; }
.login-card > span { font-size: 11px; }
.login-card p { font-size: 14px; }
.login-card label { font-size: 11px; }
.login-card input { font-size: 16px; }
.login-card > a { font-size: 12px; }
.modal > p { font-size: 14px; }
.switch { font-size: 14px; }

@media (max-width: 600px) {
  .intro p { font-size: 16px; }
  .step-head p { font-size: 13px; }
  .fields input,
  .fields select,
  .fields textarea { font-size: 16px; }
}
