.ui-button{min-block-size:var(--target-size);justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border:var(--border-width) solid transparent;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);text-align:center;transition:background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard);line-height:1.2;text-decoration:none;display:inline-flex}.ui-button:hover{text-decoration:none}.ui-button:disabled,.ui-button[aria-disabled=true]{cursor:not-allowed;opacity:.6}.ui-button--primary{background:var(--color-primary);color:var(--color-white)}.ui-button--primary:hover:not(:disabled){background:var(--color-primary-hover);color:var(--color-white)}.ui-button--secondary{border-color:var(--color-primary);background:var(--color-surface);color:var(--color-primary)}.ui-button--secondary:hover:not(:disabled){background:var(--color-ufrn-blue-050);color:var(--color-primary-hover)}.ui-button--text{padding-inline:var(--space-2);color:var(--color-link);text-underline-offset:.18em;background:0 0;text-decoration:underline}.ui-button--text:hover:not(:disabled){color:var(--color-link-hover)}.ui-button--small{padding-inline:var(--space-4);font-size:var(--font-size-sm)}.ui-button--large{min-block-size:3rem;padding-inline:var(--space-6);font-size:var(--font-size-md)}.ui-button__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-card{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);overflow:hidden}.ui-card--elevated{box-shadow:var(--shadow-md);border-color:#0000}.ui-section-heading{justify-content:space-between;align-items:end;gap:var(--space-6);border-block-end:3px solid var(--color-ufrn-blue-500);padding-block-end:var(--space-3);display:flex}.ui-section-heading__content{max-width:var(--measure-content)}.ui-section-heading__eyebrow{margin:0 0 var(--space-1);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.ui-section-heading__title{color:var(--color-text-strong);font-size:var(--font-size-2xl);margin:0}.ui-section-heading__description{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-base)}.ui-section-heading__action{flex:none}.ui-metadata{gap:var(--space-2) var(--space-5);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-body);flex-wrap:wrap;margin:0;display:flex}.ui-metadata__item{gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.ui-metadata dt{font-weight:var(--font-weight-bold)}.ui-metadata dd{margin:0}.ui-badge{min-block-size:1.75rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);align-items:center;line-height:1.2;display:inline-flex}.ui-badge--institutional{background:var(--color-ufrn-blue-050);color:var(--color-ufrn-blue-900)}.ui-badge--success{background:var(--color-success-surface);color:var(--color-success)}.ui-badge--warning{background:var(--color-warning-surface);color:var(--color-warning)}.ui-badge--danger{background:var(--color-danger-surface);color:var(--color-danger)}.ui-empty-state{max-width:var(--measure-content);padding:var(--space-8);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);text-align:center}.ui-empty-state__icon{color:var(--color-primary);font-size:var(--font-size-2xl);margin-block-end:var(--space-3)}.ui-empty-state__title{color:var(--color-text-strong);font-size:var(--font-size-xl);margin:0}.ui-empty-state__description{margin:var(--space-2) auto 0;color:var(--color-text-muted);font-size:var(--font-size-base)}.ui-empty-state__action{margin-block-start:var(--space-5)}@media (width<=48rem){.ui-section-heading{flex-direction:column;align-items:start}}
