/* Tipografía común de la muestra visual. No cambia colores, formas ni distribución. */
:root {
    --ua-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --ds-weight-regular: 400;
    --ds-weight-medium: 500;
    --ds-weight-label: 600;
    --ds-weight-heading: 700;
    --ds-text-sm: 15px;
    --ds-text-lg: 19px;
    --ds-text-xl: 24px;
    --ds-page-gap: 20px;
    --ds-section-gap: 16px;
    font-family: var(--ua-font-sans);
}

body { font-family: var(--ua-font-sans); font-size: 16px; line-height: 1.5; }
button, input, select, textarea { font-family: inherit; }

/* Solo la jerarquía común: los tamaños propios de agendas y tablas siguen en sus hojas. */
.topbar h1, .login-panel h1 { font-size: 26px; line-height: 1.15; font-weight: 700; letter-spacing: -.01em; }
.panel-heading h2 { font-size: 19px; line-height: 1.3; font-weight: 700; letter-spacing: 0; }
.panel-heading p { font-size: 15px; line-height: 1.45; font-weight: 400; }
.workspace-hero h2 { line-height: 1.2; font-weight: 700; }
.workspace-hero p, .notice { line-height: 1.5; }
.button { font-size: 15px; line-height: 1.3; font-weight: 600; }
.button.small-button { font-size: 12px; }
.field > span { font-size: 13px; font-weight: 600; }
.field :where(input, select, textarea) { font-size: 16px; font-weight: 400; }
.field small, .form-hint { font-size: 13px; line-height: 1.45; font-weight: 400; }
.role-chip, .soft-chip { font-weight: 600; }
.context-label, .metric-label, .entity-kicker { font-weight: 600; letter-spacing: .04em; }
.metric small { line-height: 1.45; font-weight: 400; }

/* Navegación: misma geometría y controles, con pesos de lectura y de sección distintos. */
.brand strong { font-size: 15px; font-weight: 600; }
.brand small, .brand-mark { font-weight: 600; }
.nav-link { font-size: 15px; font-weight: 500; }
.context-tree-heading span { font-size: 12px; font-weight: 600; letter-spacing: .04em; }
.context-tree-heading strong { font-size: 15px; font-weight: 600; }
.tree-node > summary, .tree-link { font-size: 14px; font-weight: 500; }
.tree-link.small { font-size: 13px; font-weight: 400; }
.tree-badge { font-weight: 600; }
.other-centers-disclosure > summary { font-weight: 600; }
.other-centers-list a { font-weight: 400; }

@media (max-width: 680px) {
    .button { font-size: 16px; }
    .field > span { font-size: 14px; }
    .tree-node > summary, .tree-link { font-size: 15px; }
    .tree-link.small { font-size: 14px; }
}
