@font-face {font-family: Lato; src: url('../../fonts/lato/regular.ttf') format('truetype'); font-weight: 400; font-display: swap;}
@font-face {font-family: Lato; src: url('../../fonts/lato/bold.ttf') format('truetype'); font-weight: 700 900; font-display: swap;}
@font-face {font-family: Lato; src: url('../../fonts/lato/italic.ttf') format('truetype'); font-style: italic; font-display: swap;}
/* Pesos reales de las leyendas de Figma, limitados a sus componentes. */
@font-face {font-family: 'Lato Emphasis'; src: url('../../fonts/lato/extra-bold.ttf') format('truetype'); font-weight: 800; font-display: swap;}
@font-face {font-family: 'Lato Emphasis'; src: url('../../fonts/lato/extra-bold-italic.ttf') format('truetype'); font-weight: 800; font-style: italic; font-display: swap;}
@font-face {font-family: 'Lato Emphasis'; src: url('../../fonts/lato/black-italic.ttf') format('truetype'); font-weight: 900; font-style: italic; font-display: swap;}

.portal-theme .app-shell {display: block;}
.portal-theme .app-container {width: calc(100% - 2 * var(--page-gutter)); max-width: var(--page-max-width);}
.portal-theme .app-main {min-height: 100vh;}
.portal-theme .app-topbar {background: transparent; border: 0;}
.portal-theme .app-topbar .app-container {min-height: var(--page-header-height); padding: var(--space-16) 0 var(--page-gap);}
.portal-theme .app-topbar h1 {font-size: var(--text-title); font-weight: 700; line-height: var(--line-body); color: var(--color-text);}
.portal-theme .section-kicker {font-weight: 400; text-transform: none; color: var(--color-muted);}
.portal-theme .portal-intro {margin: var(--space-4) 0 0; color: var(--color-muted); font-size: var(--text-normal);}
.portal-theme .brand-mark--topbar img {width: var(--logo-width); height: var(--logo-height); object-fit: contain; max-width: none; max-height: none;}
.portal-theme .app-content {padding: 0 0 var(--page-bottom-space);}
.portal-theme .portal-menu-bar {display: flex; align-items: center; justify-content: space-between; gap: var(--space-12); min-height: var(--page-menu-height); padding: var(--space-8) 0; font-size: var(--text-small);}
.portal-theme .portal-menu-links, .portal-theme .portal-account {display: flex; flex-wrap: wrap; gap: var(--space-12); align-items: center;}
.portal-theme .portal-menu-bar a {color: var(--color-muted); text-decoration: none;}
.portal-theme .portal-menu-bar a[aria-current] {color: var(--brand-primary);}
.portal-theme .portal-breadcrumb {display: flex; align-items: center; gap: var(--space-8); color: var(--color-muted); font-size: var(--text-small); line-height: var(--line-body);}
.portal-theme .portal-breadcrumb a {color: var(--color-muted); text-decoration: none;}
.portal-theme .portal-breadcrumb [aria-current] {color: var(--brand-primary);}
.portal-theme .portal-user-chip {padding: 0; background: none; color: var(--color-muted); font-size: var(--text-caption);}
.portal-theme .portal-logout {padding: 0; margin: 0; background: none; border: 0; width: auto;}
.portal-theme .status-card {padding: var(--space-32);}
.portal-theme .app-footer {position: static; width: auto; margin-top: auto; background: transparent; border: 0; padding: var(--footer-padding) 0; box-shadow: none;}
.portal-theme .app-footer__inner {border-top: var(--border-width) solid var(--color-footer-line); padding: var(--footer-gap) 0 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-16);}
.portal-theme .app-footer__item {color: var(--color-muted); font-size: var(--text-caption);}

@media (max-width: 860px) {
    .portal-theme .app-topbar .app-container {min-height: var(--page-header-height); gap: var(--space-12);}
    .portal-theme .app-topbar h1 {font-size: var(--text-large);}
    .portal-theme .portal-intro {font-size: var(--text-body);}
    .portal-theme .portal-menu-bar {flex-wrap: wrap;}
    .portal-theme .portal-account {justify-content: space-between; width: 100%;}
    .portal-theme .app-footer__inner {align-items: start; flex-direction: column;}
}

.portal-theme .brand-mark--topbar {display: inline-flex;}

@media (min-width: 861px) and (max-height: 900px) {
    .portal-theme .app-topbar .app-container {padding-top: 0; padding-bottom: var(--space-12);}
    .portal-theme .app-topbar__copy {gap: var(--space-4);}
    .portal-theme .app-topbar h1 {font-size: var(--text-large);}
}
