/* Escala compartilhada por telas, componentes, autenticação e administração. */
:root {
  --ui-font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ui-text-xs: .75rem;
  --ui-text-sm: .875rem;
  --ui-text-md: 1rem;
  --ui-text-lg: 1.125rem;
  --ui-text-xl: 1.5rem;
  --ui-leading: 1.5;
  --ui-heading-leading: 1.3;
  --ui-space-1: .25rem;
  --ui-space-2: .5rem;
  --ui-space-3: .75rem;
  --ui-space-4: 1rem;
  --ui-space-6: 1.5rem;
  --ui-space-8: 2rem;
  --ui-control-height: 2.5rem;
  --ui-radius: .5rem;
}
body {
  font-family: var(--ui-font);
  font-size: var(--ui-text-md);
  line-height: var(--ui-leading);
}
button, input, select, textarea { font-family: inherit; }
#main, .content-wrapper, .ui-page { font-size: var(--ui-text-sm); line-height: var(--ui-leading); }
#main h1, .content-wrapper h1, .ui-page-title {
  font-size: var(--ui-text-xl); font-weight: 600;
  line-height: var(--ui-heading-leading); letter-spacing: -.02em;
  overflow-wrap: anywhere;
}
#main h2, .content-wrapper h2, .ui-panel-head h2, summary.ui-panel-head {
  font-size: var(--ui-text-lg); font-weight: 600; line-height: var(--ui-heading-leading);
}
#main h3, #main h4, .content-wrapper h3, .content-wrapper h4 {
  font-size: var(--ui-text-md); font-weight: 600; line-height: var(--ui-heading-leading);
}
.ui-page-section { margin-top: var(--ui-space-6); }
.ui-page-heading { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); align-items: center; margin-bottom: var(--ui-space-6); }
.ui-page-heading-main { min-width: 0; flex: 1; }
.ui-page-heading-row { display: flex; align-items: center; gap: var(--ui-space-2); }
.ui-page-heading-row h1 { margin: 0; }
.ui-page-description { margin-top: var(--ui-space-2); font-size: var(--ui-text-sm); line-height: var(--ui-leading); color: #4b5563; max-width: 75ch; }
.dark .ui-page-description { color: #d1d5db; }
.ui-title-help { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; min-height: 2rem; border-radius: var(--ui-radius); }
.ui-title-help svg { margin: 0; }
.ui-title-help:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.ui-panel-head, .ui-panel-body { padding: var(--ui-space-6); }
.ui-panel-head h2, summary.ui-panel-head { overflow-wrap: anywhere; }
.ui-field label, .ui-field legend, .ui-choice legend, .form-label { font-size: var(--ui-text-sm); line-height: var(--ui-leading); font-weight: 500; }
.ui-field textarea, .ui-matrix input, .form-control { font-size: var(--ui-text-sm); line-height: var(--ui-leading); }
.ui-field textarea, .form-control { min-height: var(--ui-control-height); border-radius: var(--ui-radius); padding: var(--ui-space-2) var(--ui-space-3); }
.ui-actions { gap: var(--ui-space-2); }
.ui-choice-option, .ui-check label, .ui-check-list label { line-height: var(--ui-leading); }
.ui-choice-option { min-height: var(--ui-control-height); }
.ui-check label, .ui-check-list label { min-height: 1.5rem; }
.ui-btn { white-space: normal; text-align: center; }
.ui-hint, .ui-error, .ui-empty-text, .ui-notice, .ui-panel-head p { line-height: var(--ui-leading); }
.ui-table th { font-size: var(--ui-text-sm); text-transform: none; letter-spacing: normal; }
.ui-table td, .ui-table th { line-height: var(--ui-leading); }
#main table { font-size: var(--ui-text-sm); line-height: var(--ui-leading); font-variant-numeric: tabular-nums; }
.sidebar-link, .sidebar-sublink { font-size: var(--ui-text-sm); line-height: var(--ui-leading); }
.sidebar-title-text { font-size: var(--ui-text-xs); }
@media (max-width: 639px) {
  .ui-panel-head, .ui-panel-body { padding: var(--ui-space-4); }
  .ui-field input:not([type=checkbox]):not([type=radio]), .ui-field select, .ui-field textarea, .form-control { font-size: var(--ui-text-md); }
  .ui-btn--md, .ui-choice-option { min-height: 2.75rem; }
  .ui-layout.ui-layout--sidebar { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}

/* Telas de autenticação e controles anteriores à biblioteca ui. */
.ui-auth { font-size: var(--ui-text-sm); }
.ui-auth h1 { font-size: var(--ui-text-xl); line-height: var(--ui-heading-leading); font-weight: 600; }
.ui-auth h2, .ui-auth h3 { font-size: var(--ui-text-lg); line-height: var(--ui-heading-leading); font-weight: 600; }
.ui-auth label, .ui-auth input, .ui-auth select, .ui-auth textarea, .ui-auth button { font-size: var(--ui-text-sm); line-height: var(--ui-leading); }
.ui-auth input:not([type=checkbox]):not([type=radio]), .ui-auth select, .ui-auth textarea, .ui-auth button { min-height: var(--ui-control-height); }
.ui-auth-messages { font-size: var(--ui-text-sm); line-height: var(--ui-leading); }
.ui-pagination-status { font-size: var(--ui-text-sm); font-weight: 400; line-height: var(--ui-leading); }
#main button:not(.ui-title-help):not(.ui-btn):not(.ui-btn--icon), #main .form-control { font-size: var(--ui-text-sm); line-height: var(--ui-leading); }
#main button:not(.ui-title-help):not(.ui-btn):not(.ui-btn--icon) { min-height: 2rem; }
@media (max-width: 639px) {
  .ui-auth input:not([type=checkbox]):not([type=radio]), .ui-auth select, .ui-auth textarea { font-size: var(--ui-text-md); }
}
