/* Navbar colours — consumed by shared/navbar.css.
 *
 * Every chain below ends in a literal. A page that mounts the bar without
 * `shared/theme.css` leaves every `--theme-*` undefined, and a chain with no
 * terminal fallback then resolves to nothing: the colour becomes `unset`, the
 * bar paints white, and a project's own override — light text for a dark bar —
 * writes white on white. The storage portal was in exactly that state. Loading
 * the palette is the fix; ending every chain is what keeps the next page that
 * forgets it merely unbranded rather than unreadable.
 *
 * Static on purpose: every value is the theme's own, read through `--theme-*`,
 * so a palette change rewrites `shared/theme.css` and nothing else.
 *
 * Scoped to `.gs-navbar` rather than `:root` because navbar.css declares its own
 * `:root` fallbacks and is injected after this file, so a `:root` rule here
 * would tie on specificity and lose.
 *
 * The `--theme-nav-*` fallbacks are how a coloured navbar arrives: a palette
 * declaring `navBg` emits them into theme.css.
 */
/* `#gs-navbar` is the empty host a portal document ships: the shell paints the
   strip with these same values while the bar is still being fetched. */
.gs-navbar, .gs-navbar *, #gs-navbar {
  --nav-bg: var(--theme-nav-bg, #ffffff);
  --nav-bg-scroll: var(--theme-nav-bg-scroll, var(--theme-nav-bg, #ffffff));
  --nav-dropdown-border: var(--theme-primary-dark, rgba(15, 23, 42, 0.12));

  /* The panels that open below the bar — the user menu and the language menu —
     are drawn on a light surface of their own, so they read the *page's*
     palette rather than the bar's.
     Borrowing `--nav-text` put #e2e8f0 on #fff wherever `navBg` was dark, which
     is nearly every data space: the user menu came out at 1.15:1, unreadable,
     and no `branding.overrides` could reach it — the nav text tokens are
     constants in `tokens.nav_tokens()`, not derived values the document can
     pin. On a light navbar these resolve to what they already resolved to, so
     nothing changes there. */
  --nav-dropdown-bg: #ffffff;
  --nav-dropdown-text: var(--theme-text, #334155);
  --nav-dropdown-text-muted: var(--theme-text-muted, #64748b);
  --nav-dropdown-hover-bg: var(--theme-nav-dropdown-hover-bg);
  --nav-dropdown-edge: var(--theme-border, rgba(15, 23, 42, 0.12));
  --nav-border: var(--theme-nav-border, var(--theme-border, rgba(15, 23, 42, 0.12)));
  --nav-text: var(--theme-nav-text, var(--theme-text, #4a5568));
  --nav-text-dark: var(--theme-nav-text-dark, var(--theme-text, #2d3748));
  --nav-text-muted: var(--theme-nav-text-muted, var(--theme-text-muted, #a0aec0));
  --nav-accent: var(--theme-accent, #3f83f8);
  --nav-accent-hover: var(--theme-accent-hover, #2563eb);
  --nav-accent-bg: var(--theme-nav-accent-bg, var(--theme-accent-bg, #eff6ff));
  --nav-accent-shadow: var(--theme-accent-shadow, rgba(59, 130, 246, 0.15));
  /* Left to the stylesheet's own `currentColor` wash unless a space states
     one: a fixed light colour cannot stay legible under light text. */
  --nav-hover-bg: var(--theme-nav-hover-bg);
  --nav-active-bg: var(--theme-nav-active-bg, var(--theme-primary-light, #edf2f7));
  --nav-avatar-bg: linear-gradient(
    135deg,
    var(--theme-accent, #3f83f8) 0%,
    var(--theme-accent-hover, #2563eb) 100%
  );
  --nav-avatar-color: #ffffff;
  --nav-danger: #ef4444;
  --nav-danger-bg: rgba(239, 68, 68, 0.12);
}

/* === Project navbar extras (navbar-extras.css) === */
/* ===== Transiciones suaves entre páginas (cross-document View Transitions) ===== */
/* Cross-fade en vez del flash blanco al navegar entre las apps del dominio. Este
   fichero se appendea a navbar-theme.css → se carga en toda página con navbar, así
   que ambas páginas (origen y destino) optan-in y el navegador hace la transición.
   Degrada limpio donde no hay soporte (Chromium 126+); respeta reduced-motion. */
@view-transition { navigation: auto; }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}

/* ===== Sora webfont (display, unificado en toda la app) ===== */
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xsaQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-x.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xsaQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-x.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwWa-xsaQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/sora/v17/xMQ9uFFYT72X5wkB_18qmnndmSdSnh2BAfO5mnuyOo1lfiQwV6-x.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===== WEBFONTS (Bricolage/Inter/JetBrains Mono) para connector-ui — inline @font-face (gstatic) ===== */
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGHInHEVA.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGGInHEVA.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGIInE.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGHInHEVA.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGGInHEVA.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGIInE.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGHInHEVA.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGGInHEVA.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGIInE.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGHInHEVA.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGGInHEVA.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGIInE.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* DS4S3 navbar + DSR overrides. Appended after the auto-generated
   navbar-theme.css so these win. (Base + Editorial facelift.) */

/* `#gs-navbar` is the empty host the portal's documents ship: the shell paints
   the strip from these values while the bar is still being fetched, so its
   arrival does not resize the page. Without it the strip stood at the
   platform's 60px and jumped six pixels. */
.gs-navbar, .gs-navbar *, #gs-navbar {
  --nav-height: 66px;
  --nav-text: #ffffff; --nav-text-dark: #ffffff; --nav-text-muted: rgba(255,255,255,0.72);
  --nav-border: rgba(255,255,255,0.14); --nav-accent: #2CC5BA;
  --nav-hover-bg: rgba(255,255,255,0.08); --nav-active-bg: rgba(44,197,186,0.18);
}
.gs-navbar img.gs-navbar-logo { height: 38px; width: auto; }

/* ─── DSR frontend (Angular/MUI) reskin — KEEP (SPA logueado) ─── */
.inner-container, .main-container, .page-container { width:100% !important; max-width:100% !important; margin:0 !important; }
.main-content, [class*="mainContent"], #main-content { width:100% !important; max-width:100% !important; margin:0 !important; padding:24px !important; box-sizing:border-box !important; }
.MuiChip-root { width:auto !important; max-width:max-content !important; display:inline-flex !important; }
.MuiLinearProgress-root { flex-shrink:0; }
.gs-subnav { top:66px !important; height:52px !important; background:linear-gradient(90deg,#103A5C 0%,#0A2A45 100%) !important; border-bottom:1px solid rgba(44,197,186,0.2) !important; box-shadow:0 2px 8px rgba(0,0,0,0.1); }
.gs-subnav-inner { justify-content:center !important; gap:8px !important; }
.gs-subnav-link { color:#bfe0dc !important; font-family:'Inter',sans-serif !important; font-size:15px !important; font-weight:500 !important; padding:10px 18px !important; border-radius:6px !important; text-decoration:none !important; white-space:nowrap !important; }
.gs-subnav-link:hover { color:#fff !important; background:rgba(44,197,186,0.15) !important; }
.gs-subnav-link.active { color:#fff !important; background:rgba(44,197,186,0.22) !important; box-shadow:inset 0 -3px 0 0 #2CC5BA !important; font-weight:600 !important; }
header.header { background:#103A5C; border-bottom:1px solid rgba(44,197,186,0.2); }
header.header .logo-section, header.header .brand-text .brand-name { color:#fff; }
header.header .nav-links a { color:#bfe0dc; text-decoration:none; transition:color .2s ease; }
header.header .nav-links a:hover { color:#2CC5BA; }
header.header .nav-links a.active, header.header .nav-links a[aria-current="page"] { color:#2CC5BA; border-bottom:2px solid #2CC5BA; }
.page-menu .button-active, .MuiChip-filledPrimary { background-color:#2CC5BA !important; color:#0A2A45 !important; }
.page-menu .button-active .MuiSvgIcon-root, .MuiChip-filledPrimary .MuiSvgIcon-root { color:#0A2A45 !important; }
.gs-navbar-dropdown { background-color:#103A5C !important; border:1px solid #0A2A45 !important; border-radius:8px; color:#fff !important; }
.gs-navbar-dropdown a { color:#fff !important; border-bottom:1px solid rgba(255,255,255,0.12) !important; display:flex !important; align-items:center !important; gap:10px !important; }
.gs-navbar-dropdown a:last-child { border-bottom:none !important; }
.gs-navbar-dropdown a:hover { background:rgba(44,197,186,0.15) !important; }
.gs-navbar-dropdown-section { color:#2CC5BA !important; font-weight:600 !important; padding:8px 16px !important; }
.gs-navbar-dropdown-icon { color:#2CC5BA !important; }
.gs-navbar-dropdown-divider { display:none !important; }
.MuiChip-filledSuccess, .MuiChip-filledSuccess .MuiChip-label, .MuiChip-filledSuccess .MuiSvgIcon-root { color:#fff !important; }

/* Ocultar la pestaña DOME Marketplace */
.gs-navbar .gs-navbar-links a[data-page="dome-catalog"],
.gs-navbar .gs-navbar-links a[data-testid="nav-marketplace"] { display:none !important; }

/* ============================================================================
   ===============  EDITORIAL FACELIFT (masthead + catálogo/registro) =========
   ============================================================================ */

/* ---------- MASTHEAD navy refinado (constante en claro/oscuro) ---------- */
/* The reserved strip wears the same ground as the bar that replaces it. */
#gs-navbar:empty {
  background: rgba(13,34,54,.94) !important;
  border-bottom: 1px solid rgba(44,197,186,.28) !important;
}

.gs-navbar {
  background: rgba(13,34,54,.94) !important;
  -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid rgba(44,197,186,.28) !important;
}
.gs-navbar .gs-navbar-title { font-family: "Sora", ui-sans-serif, system-ui, sans-serif !important; font-weight: 800 !important; letter-spacing: -.02em; font-size: 20px !important; }
.gs-navbar .gs-navbar-subtitle { color: rgba(255,255,255,.55) !important; font-family: "JetBrains Mono", ui-monospace, monospace !important; font-size: 9.5px !important; letter-spacing: .1em; text-transform: uppercase; }
/* Enlaces mono en mayúsculas + subrayado teal activo */
.gs-navbar .gs-navbar-links a {
  font-family: "JetBrains Mono", ui-monospace, monospace !important; font-size: 12px !important; font-weight: 500 !important;
  letter-spacing: .08em !important; text-transform: uppercase; color: rgba(255,255,255,.78) !important; padding: 9px 14px !important;
}
.gs-navbar .gs-navbar-links a:hover, .gs-navbar .gs-navbar-links a.active { color: #fff !important; background: transparent !important; }
.gs-navbar .gs-navbar-links a::after { left: 14px !important; right: 14px !important; bottom: 3px !important; height: 2px !important; background: #2CC5BA !important; }
/* Sign-in → ghost teal (editorial) */
.gs-navbar .gs-navbar-login {
  background: transparent !important; color: #fff !important; border: 1px solid rgba(44,197,186,.6) !important;
  border-radius: 999px !important; padding: 8px 18px !important; font-weight: 600 !important; letter-spacing: .01em;
  transition: background .2s ease, border-color .2s ease !important;
}
.gs-navbar .gs-navbar-login:hover { background: #2CC5BA !important; color: #072b28 !important; border-color: #2CC5BA !important; }
.gs-navbar .gs-navbar-lang-btn { color: rgba(255,255,255,.85) !important; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; padding: 6px 12px; font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 12px; }

/* Botón de tema (inyectado por JS en .gs-navbar-auth) */
.ds4s3-theme-toggle {
  display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 999px;
  background: transparent; color: rgba(255,255,255,.85); border: 1px solid rgba(255,255,255,.18);
  cursor: pointer; transition: color .2s, border-color .2s, background .2s; margin-right: 4px;
}
.ds4s3-theme-toggle:hover { color: #fff; border-color: #2CC5BA; background: rgba(44,197,186,.12); }
.ds4s3-theme-toggle svg { width: 17px; height: 17px; }

/* ---------- CATÁLOGO / REGISTRO (connector-ui) — plano editorial ---------- */
main.main .page-title { font-weight: 800 !important; letter-spacing: -.02em; font-size: clamp(28px,3.4vw,42px) !important; color: var(--theme-primary,#103A5C) !important; }
main.main .page-subtitle { color: #667987 !important; font-size: 16px !important; }
main.main .search-bar { background:#fff !important; border:1px solid #cfd8dd !important; border-radius:10px !important; box-shadow:none !important; }
main.main .search-bar:focus-within { border-color:#0E8C82 !important; box-shadow:0 0 0 3px rgba(14,140,130,.18) !important; }
main.main .search-icon { color:#0E8C82 !important; }
main.main .stats-bar > * { background:#fff !important; border:1px solid #E3E8EC !important; border-radius:999px !important; box-shadow:none !important; font-family:"JetBrains Mono",ui-monospace,monospace !important; }
main.main .provider-name { font-weight:700 !important; color:#12293C !important; }
main.main .provider-count { color:#667987 !important; font-family:"JetBrains Mono",ui-monospace,monospace !important; font-size:12px !important; }
main.main .provider-dot { background:#0E8C82 !important; box-shadow:none !important; }
main.main .provider-icon { background:#103A5C !important; color:#fff !important; border-radius:8px !important; font-weight:800 !important; box-shadow:none !important; }
main.main .provider-header { border-bottom:1px solid #E3E8EC !important; }
main.main .dataset-grid { gap:18px !important; }
main.main .dataset-card {
  background:#fff !important; border:1px solid #E6ECEF !important; border-radius:14px !important;
  padding:20px 20px 18px !important; box-shadow:0 1px 2px rgba(16,58,92,.05) !important;
  transition:transform .22s cubic-bezier(.22,1,.36,1), box-shadow .22s ease, border-color .22s ease !important;
}
main.main .dataset-card:hover {
  background:#fff !important; border-color:#0E8C82 !important;
  box-shadow:0 14px 30px rgba(16,58,92,.13) !important; transform:translateY(-3px) !important;
}
main.main .asset-id { font-family:"JetBrains Mono",ui-monospace,monospace !important; font-size:12px !important; color:#667987 !important; }
main.main .btn:not(.btn-outline) { background:#0E8C82 !important; color:#fff !important; border:none !important; border-radius:8px !important; font-weight:600 !important; }
main.main .btn:not(.btn-outline):hover { background:#0a6b63 !important; }
main.main .btn-outline { background:transparent !important; color:#0E8C82 !important; border:1px solid #cfd8dd !important; border-radius:8px !important; font-weight:600 !important; }
main.main .btn-outline:hover { border-color:#0E8C82 !important; background:#E8F4F2 !important; }
main.main .ds-card { background:#fff !important; border:1px solid #E3E8EC !important; border-radius:12px !important; box-shadow:none !important; }
main.main .ds-card:hover { border-color:#0E8C82 !important; transform:none !important; }
main.main .registry-header, main.main .registry-header * { color: var(--theme-primary,#103A5C) !important; }


/* ---------- Catálogo: facelift fuerte de la tarjeta (ds-title/tag/meta/stat-chip) ---------- */
main.main .stat-chip { background:#fff !important; border:1px solid #E3E8EC !important; border-radius:999px !important; box-shadow:none !important; padding:8px 16px !important; }
main.main .stat-chip, main.main .stat-chip * { font-family:"JetBrains Mono", ui-monospace, monospace !important; }
main.main .ds-title { font-family:"Sora", ui-sans-serif, sans-serif !important; font-weight:700 !important; color:#12293C !important; letter-spacing:-.01em; font-size:17px !important; }
main.main .ds-meta { gap:8px !important; margin-top:4px !important; }
main.main .ds-transport, main.main .row-transport { color:#667987 !important; font-size:13px !important; }
/* chips/píldoras dentro de la tarjeta → mono, teal, sin punto rojo */
main.main .ds-tag {
  background:#E8F4F2 !important; color:#0a6b63 !important; border:1px solid rgba(14,140,130,.28) !important;
  border-radius:6px !important; font-family:"JetBrains Mono", ui-monospace, monospace !important;
  font-size:11px !important; font-weight:600 !important; padding:3px 9px !important;
}
main.main .ds-tag::before { background:#0E8C82 !important; box-shadow:none !important; }
main.main .ds-transport .ds-tag, main.main .row-transport .ds-tag { background:#F4F7F9 !important; color:#12293C !important; border-color:#E3E8EC !important; }

/* ---------- Registro: encabezado + chips de estándares ---------- */
main.main .registry-header { font-family:"Sora", ui-sans-serif, sans-serif !important; font-weight:700 !important; letter-spacing:-.01em; }
main.main .ds-card .ds-title { font-size:18px !important; }


/* ============================================================================
   ======  CATÁLOGO / REGISTRO → sistema editorial (como la landing)  =========
   Fuentes cargadas arriba vía @font-face (Bricolage / Inter / JetBrains Mono).
   Clases reales de connector-ui: .ds-title/.ds-meta-*/.ds-transport-*/
   .ds-provider-*/.ds-access-btn. Todo scoped a main.main (no afecta a la SPA).
   ============================================================================ */

/* fondo paper como en inicio */
main.main { background: #FBFCFD !important; }

/* títulos de página en display (igual que .section-title de la landing) */
main.main .page-title,
main.main .registry-header, main.main .registry-header *,
main.main .print-header, main.main .print-header * {
  font-family: "Sora", ui-sans-serif, system-ui, "Segoe UI", sans-serif !important;
}
main.main .page-subtitle { font-family: "Inter", system-ui, sans-serif !important; }

/* ---- tarjeta de dataset: fuera emoji + tipografía y chips editoriales ---- */
main.main .ds-meta-icon { display: none !important; }                     /* 🏷️ 🔌 🔒 */
main.main .ds-meta { gap: 6px !important; margin-top: 8px !important; }
main.main .ds-meta-row { display: flex; align-items: center; gap: 8px; font-size: 13.5px !important; color: #55677A !important; }
/* id del asset (primera fila) en mono */
main.main .ds-meta-row:first-child span:last-child {
  font-family: "JetBrains Mono", ui-monospace, monospace !important; font-size: 12.5px !important; color: #667987 !important;
}
/* etiqueta "Acceso vía" → mono mayúsculas */
main.main .ds-transport-label {
  font-family: "JetBrains Mono", ui-monospace, monospace !important; font-size: 11px !important;
  letter-spacing: .06em; text-transform: uppercase; color: #8296a3 !important;
}
/* píldora HTTP azul → chip teal mono (como .ds-tag de inicio) */
main.main .ds-transport-chip {
  background: #E8F4F2 !important; color: #0a6b63 !important; border: 1px solid rgba(14,140,130,.28) !important;
  border-radius: 6px !important; font-family: "JetBrains Mono", ui-monospace, monospace !important;
  font-size: 11px !important; font-weight: 600 !important; padding: 2px 8px !important;
  text-transform: uppercase; letter-spacing: .04em; box-shadow: none !important;
}
/* badge de proveedor: punto teal (mata color inline) + chip mono neutro */
main.main .ds-provider-badge {
  font-family: "JetBrains Mono", ui-monospace, monospace !important; font-size: 11px !important;
  color: #12293C !important; background: #F4F7F9 !important; border: 1px solid #E3E8EC !important;
  border-radius: 6px !important; padding: 3px 9px !important;
}
main.main .ds-provider-dot { background-color: #0E8C82 !important; box-shadow: none !important; }
/* botón "Solicitar acceso" → teal editorial */
main.main .ds-access-btn {
  background: #0E8C82 !important; color: #fff !important; border: 0 !important; border-radius: 8px !important;
  font-family: "Inter", system-ui, sans-serif !important; font-weight: 600 !important; letter-spacing: .01em;
  transition: background .2s ease !important;
}
main.main .ds-access-btn:hover { background: #0a6b63 !important; }

/* ---- registro: etiquetas de campo en mono (como labels de la landing) ---- */
main.main .ds-card .ds-label,
main.main .ds-field-label,
main.main .registry-label {
  font-family: "JetBrains Mono", ui-monospace, monospace !important; letter-spacing: .08em; text-transform: uppercase;
}

/* ---- Registro: cabecera como la de Catálogo (grande, alineada a la izquierda) ---- */
main.main .registry-header { text-align:left !important; margin-bottom:10px !important; }
main.main .registry-header h1 { font-family:"Sora",ui-sans-serif,system-ui,sans-serif !important; font-size:clamp(28px,3.4vw,42px) !important; font-weight:800 !important; letter-spacing:-.02em; color:var(--theme-primary,#103A5C) !important; margin-bottom:10px !important; text-align:left !important; }
main.main .registry-header p { font-family:"Inter",ui-sans-serif,system-ui,sans-serif !important; font-size:16px !important; font-weight:400 !important; color:#667987 !important; letter-spacing:0 !important; text-align:left !important; }


/* ---- Registro: tarjeta principal (Espacio de Datos) diferenciada de participantes ---- */
main.main .ds-card { background: linear-gradient(135deg, #E9F4F2 0%, #F8FCFB 62%) !important; border: 1px solid rgba(14,140,130,.22) !important; border-left: 4px solid #0E8C82 !important; }
main.main .ds-card h2, main.main .ds-card h3 { color: #0a6b63 !important; }

/* ---- Botón "subir al inicio" (todas las páginas) ---- */
.ds4s3-top { position: fixed; right: 22px; bottom: 22px; z-index: 9998; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); background: #103A5C; color: #fff; cursor: pointer; box-shadow: 0 10px 26px -10px rgba(10,42,69,.6); opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .25s ease, transform .25s ease, background .2s ease; }
.ds4s3-top.show { opacity: 1; transform: none; pointer-events: auto; }
.ds4s3-top:hover { background: #0E8C82; }
.ds4s3-top svg { width: 20px; height: 20px; }


/* ============================================================================
   ===============  RESPONSIVE: ancho de contenido + navbar móvil  ============
   ============================================================================ */
/* Catálogo/Registro: mismo ancho horizontal que la landing (max 1180 + 32px) */
main.main { max-width: 1180px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 32px !important; padding-right: 32px !important; box-sizing: border-box; }

/* Navbar en móvil: envuelve a 2 filas (logo+auth arriba, enlaces centrados abajo).
   Es sticky y está en flujo, así que empuja el contenido sin taparlo. */
@media (max-width: 720px) {
  .gs-navbar, .gs-navbar .gs-navbar-inner { height: auto !important; min-height: 56px !important; }
  .gs-navbar .gs-navbar-inner { flex-wrap: wrap !important; row-gap: 8px; padding-top: 8px !important; padding-bottom: 8px !important; align-items: center; }
  .gs-navbar .gs-navbar-links { order: 3; flex-basis: 100%; width: 100%; justify-content: center; gap: 2px !important; }
  .gs-navbar .gs-navbar-links a { padding: 7px 12px !important; }
  .gs-navbar .gs-navbar-auth { margin-left: auto; }
}


/* ============================================================================
   ================  MODO OSCURO connector-ui (catálogo/registro)  ============
   Scoped a :root.ds4s3-cui[data-theme="dark"] — la clase .ds4s3-cui la pone
   ds4s3-catalog.js SOLO en catálogo/registro, así NO afecta al landing.  ======
   ============================================================================ */
:root.ds4s3-cui[data-theme="dark"] body { background:#0c1a25 !important; }
:root.ds4s3-cui[data-theme="dark"] main.main { background:#0c1a25 !important; color:#c6d3dd !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .page-title,
:root.ds4s3-cui[data-theme="dark"] main.main .provider-name,
:root.ds4s3-cui[data-theme="dark"] main.main .ds-title,
:root.ds4s3-cui[data-theme="dark"] main.main .registry-header h1,
:root.ds4s3-cui[data-theme="dark"] main.main .participant-card h2,
:root.ds4s3-cui[data-theme="dark"] main.main .participant-card h3 { color:#eaf1f5 !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .page-subtitle,
:root.ds4s3-cui[data-theme="dark"] main.main .registry-header p,
:root.ds4s3-cui[data-theme="dark"] main.main .provider-count,
:root.ds4s3-cui[data-theme="dark"] main.main .ds-meta-row,
:root.ds4s3-cui[data-theme="dark"] main.main .ds-meta-row span { color:#9fb2c0 !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .ds-transport-label { color:#7f95a5 !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .asset-id,
:root.ds4s3-cui[data-theme="dark"] main.main .ds-meta-row:first-child span:last-child { color:#9fb2c0 !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .dataset-card,
:root.ds4s3-cui[data-theme="dark"] main.main .participant-card { background:#12283a !important; border-color:rgba(255,255,255,.10) !important; box-shadow:0 1px 2px rgba(0,0,0,.35) !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .dataset-card:hover,
:root.ds4s3-cui[data-theme="dark"] main.main .participant-card:hover { border-color:#2CC5BA !important; box-shadow:0 14px 30px rgba(0,0,0,.55) !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .ds-card { background:linear-gradient(135deg,#123230 0%,#12283a 60%) !important; border-color:rgba(44,197,186,.35) !important; border-left-color:#2CC5BA !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .ds-card h2,
:root.ds4s3-cui[data-theme="dark"] main.main .ds-card h3 { color:#63d8ce !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .search-bar { background:#12283a !important; border-color:rgba(255,255,255,.14) !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .search-bar input,
:root.ds4s3-cui[data-theme="dark"] main.main .search-input,
:root.ds4s3-cui[data-theme="dark"] main.main input[type="text"],
:root.ds4s3-cui[data-theme="dark"] main.main input[type="search"] { color:#eaf1f5 !important; background:transparent !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .search-bar input::placeholder { color:#7f95a5 !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .stats-bar > *,
:root.ds4s3-cui[data-theme="dark"] main.main .stat-chip,
:root.ds4s3-cui[data-theme="dark"] main.main code,
:root.ds4s3-cui[data-theme="dark"] main.main .ds-provider-badge { background:#0f2334 !important; border-color:rgba(255,255,255,.12) !important; color:#cdd9e2 !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .ds-transport-chip { background:rgba(44,197,186,.15) !important; color:#63d8ce !important; border-color:rgba(44,197,186,.32) !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .ds-tag { background:rgba(44,197,186,.13) !important; color:#63d8ce !important; border-color:rgba(44,197,186,.28) !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .provider-header,
:root.ds4s3-cui[data-theme="dark"] main.main hr { border-color:rgba(255,255,255,.10) !important; }


/* El navbar.js de plataforma oculta el selector de idioma al iniciar sesión (showLoggedIn → hide nav-lang). Lo forzamos visible SIEMPRE (gana al display:none inline). */
.gs-navbar [data-testid="nav-lang"], .gs-navbar .gs-navbar-lang { display: inline-flex !important; }


/* --- modo oscuro connector-ui: textos de REGISTRO que faltaban (.value/.label/.participant-name/badges/título) --- */
:root.ds4s3-cui[data-theme="dark"] main.main .registry-header,
:root.ds4s3-cui[data-theme="dark"] main.main .registry-header * { color:#eaf1f5 !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .registry-header p,
:root.ds4s3-cui[data-theme="dark"] main.main .registry-header p * { color:#9fb2c0 !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .value,
:root.ds4s3-cui[data-theme="dark"] main.main .participant-name,
:root.ds4s3-cui[data-theme="dark"] main.main strong { color:#e2eaf0 !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .label { color:#8ba0ad !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .badge-std { background:#0f2334 !important; border-color:rgba(255,255,255,.12) !important; color:#cdd9e2 !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .badge-active { background:rgba(46,160,67,.18) !important; color:#7ee2a0 !important; }
:root.ds4s3-cui[data-theme="dark"] main.main .badge-participant { background:rgba(56,139,253,.18) !important; color:#8ab4f8 !important; }
