@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500;700&family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

/*
 * Nexus Edge — Frontend Typography V1.2
 *
 * Poppins is the exclusive interface font.
 * JetBrains Mono is reserved for identifiers, payloads, ports, hashes and
 * other technical values.
 *
 * Approved visual weight range for the frontend: 300–600.
 */

:root,
html[data-fe-theme] {
    --fe-font-family:
        "Poppins",
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    --fe-font-mono:
        "JetBrains Mono",
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    --fe-weight-light: 200;
    --fe-weight-regular: 300;
    --fe-weight-medium: 400;
    --fe-weight-semibold: 500;

    --fe-type-xs: .68rem;
    --fe-type-sm: .75rem;
    --fe-type-md: .875rem;
    --fe-type-base: .94rem;
    --fe-type-lg: 1.05rem;
    --fe-type-xl: 1.35rem;
    --fe-type-page: clamp(1.55rem, 2vw, 2rem);

    --fe-line-tight: 1.12;
    --fe-line-title: 1.2;
    --fe-line-body: 1.5;
}

body.fe-app {
    font-family: var(--fe-font-family);
    font-size: var(--fe-type-base);
    font-weight: var(--fe-weight-regular);
    line-height: var(--fe-line-body);
    letter-spacing: 0;
}

body.fe-app button,
body.fe-app input,
body.fe-app select,
body.fe-app textarea,
body.fe-app optgroup {
    font-family: inherit;
}

body.fe-app h1,
body.fe-app h2,
body.fe-app h3,
body.fe-app h4,
body.fe-app h5,
body.fe-app h6 {
    font-family: var(--fe-font-family);
    letter-spacing: -.015em;
}

body.fe-app h1 {
    font-weight: var(--fe-weight-semibold);
    line-height: var(--fe-line-tight);
}

body.fe-app h2 {
    font-weight: var(--fe-weight-semibold);
    line-height: var(--fe-line-title);
}

body.fe-app h3,
body.fe-app h4,
body.fe-app h5,
body.fe-app h6 {
    font-weight: var(--fe-weight-medium);
    line-height: var(--fe-line-title);
}

.fe-page-header__breadcrumbs,
.fe-page-header__eyebrow {
    font-weight: var(--fe-weight-medium);
    letter-spacing: .045em;
}

.fe-page-header__title {
    font-size: var(--fe-type-page);
    font-weight: var(--fe-weight-semibold);
}

.fe-page-header__subtitle {
    font-size: var(--fe-type-md);
    font-weight: var(--fe-weight-regular);
    line-height: 1.45;
}

.fe-sidebar__brand strong {
    font-weight: var(--fe-weight-medium);
}

.fe-sidebar__brand small,
.fe-sidebar__group {
    font-weight: var(--fe-weight-medium);
}

.fe-sidebar__link {
    font-weight: var(--fe-weight-medium);
}

.fe-sidebar__link strong {
    font-weight: inherit;
}

.fe-button {
    font-weight: var(--fe-weight-medium);
    letter-spacing: .005em;
}

.fe-chip {
    font-weight: var(--fe-weight-medium);
}

.fe-card__title {
    font-weight: var(--fe-weight-medium);
}

.fe-card__description {
    font-weight: var(--fe-weight-regular);
    line-height: 1.45;
}

.fe-kpi__label,
.fe-kpi__meta {
    font-weight: var(--fe-weight-regular);
}

.fe-kpi__value {
    font-weight: var(--fe-weight-semibold);
    letter-spacing: -.02em;
}

.fe-console-group__title {
    font-weight: var(--fe-weight-medium);
}

.fe-table thead th,
.fe-table.table thead th {
    font-weight: var(--fe-weight-semibold);
    letter-spacing: .025em;
}

.fe-table tbody td,
.fe-table.table tbody td {
    font-weight: var(--fe-weight-regular);
}

.fe-list__item strong,
.fe-onboarding-step strong {
    font-weight: var(--fe-weight-medium);
}

.fe-muted,
.fe-list__item span,
.fe-onboarding-step small {
    font-weight: var(--fe-weight-light);
}

.fe-app .form-label,
.fe-app .control-label {
    font-weight: var(--fe-weight-medium);
}

.fe-app .form-control,
.fe-app .form-select {
    font-weight: var(--fe-weight-regular);
}

.fe-app .pagination .page-item .page-link {
    font-weight: var(--fe-weight-medium) !important;
}

.fe-code,
.fe-mono,
[data-fe-mono],
.fe-table .fe-technical-value {
    font-family: var(--fe-font-mono);
    font-weight: 500;
    letter-spacing: -.015em;
}

.material-symbols-outlined {
    font-family: "Material Symbols Outlined";
    font-weight: normal;
    font-style: normal;
    font-size: 20px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased;
    font-feature-settings: "liga";
}
