/* GitLab UI overrides – SF Pro via CSS variable so it wins over GitLab’s variable font */

/*
 * GitLab CSS variables: All --gl-* and --default-* variables from GitLab’s built CSS
 * are listed in gitlab-css-variables-reference.css, gitlab-css-variables-with-values.txt, gitlab-css-variables-with-values.css.
 * Values: gitlab-css-variables-with-values.css has the full :root block; gitlab-css-variables-with-values.txt has name: value per line.
 * Use var(--gl-…) here; override any variable in the :root block below.
 */

/* Use a distinct family name so we don’t compete with GitLab’s "GitLab Sans" variable font (font-weight: 100 900). */
@font-face {
  font-family: "SF Pro";
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Display-Thin.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Display-ThinItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Display-Ultralight.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Display-UltralightItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Text-Light.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Text-LightItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Text-Regular.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Text-RegularItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Text-Medium.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Text-MediumItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Text-Semibold.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Text-SemiboldItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Text-Bold.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Text-BoldItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Text-Heavy.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Text-HeavyItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Display-Black.otf") format("opentype");
}
@font-face {
  font-family: "SF Pro";
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url("fonts/SFPro/OpenType/SF-Pro-Display-BlackItalic.otf") format("opentype");
}

/* SF Mono → replace GitLab Mono (job logs, code, etc.). Same approach: distinct family + CSS variable. */
@font-face {
  font-family: "SF Mono";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/SFMono/OpenType/SFMono-Light.otf") format("opentype");
}
@font-face {
  font-family: "SF Mono";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/SFMono/OpenType/SFMono-LightItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/SFMono/OpenType/SFMono-Regular.otf") format("opentype");
}
@font-face {
  font-family: "SF Mono";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/SFMono/OpenType/SFMono-RegularItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/SFMono/OpenType/SFMono-Medium.otf") format("opentype");
}
@font-face {
  font-family: "SF Mono";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/SFMono/OpenType/SFMono-MediumItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Mono";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/SFMono/OpenType/SFMono-Semibold.otf") format("opentype");
}
@font-face {
  font-family: "SF Mono";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/SFMono/OpenType/SFMono-SemiboldItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Mono";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/SFMono/OpenType/SFMono-Bold.otf") format("opentype");
}
@font-face {
  font-family: "SF Mono";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/SFMono/OpenType/SFMono-BoldItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Mono";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/SFMono/OpenType/SFMono-Heavy.otf") format("opentype");
}
@font-face {
  font-family: "SF Mono";
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/SFMono/OpenType/SFMono-HeavyItalic.otf") format("opentype");
}

/* SF Compact → optional condensed font for select elements. Use via var(--font-compact) or .font-compact. */
@font-face {
  font-family: "SF Compact";
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactDisplay-Thin.otf") format("opentype");
}
@font-face {
  font-family: "SF Compact";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactDisplay-Ultralight.otf") format("opentype");
}
@font-face {
  font-family: "SF Compact";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactText-Light.otf") format("opentype");
}
@font-face {
  font-family: "SF Compact";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactText-LightItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Compact";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactText-Regular.otf") format("opentype");
}
@font-face {
  font-family: "SF Compact";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactText-RegularItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Compact";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactText-Medium.otf") format("opentype");
}
@font-face {
  font-family: "SF Compact";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactText-MediumItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Compact";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactText-Semibold.otf") format("opentype");
}
@font-face {
  font-family: "SF Compact";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactText-SemiboldItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Compact";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactText-Bold.otf") format("opentype");
}
@font-face {
  font-family: "SF Compact";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactText-BoldItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Compact";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactText-Heavy.otf") format("opentype");
}
@font-face {
  font-family: "SF Compact";
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactText-HeavyItalic.otf") format("opentype");
}
@font-face {
  font-family: "SF Compact";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("fonts/SFCompact/OpenType/SFCompactDisplay-Black.otf") format("opentype");
}

:root {
  --default-regular-font: "SF Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --default-mono-font: "SF Mono", "Menlo", "Monaco", "Consolas", monospace;
  --font-compact: "SF Compact", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px !important;

  /* All border/box radius → 0 (sharp corners everywhere) */
  --gl-border-radius-full: 200px !important;
  --gl-border-radius-none: 0px !important;
  --gl-border-radius-xs: 0px !important;
  --gl-border-radius-sm: 0px !important;
  --gl-border-radius-md: 0px !important;
  --gl-border-radius-lg: 0px !important;
  --gl-border-radius-xl: 0px !important;
  --gl-border-radius-2xl: 0px !important;
  --gl-border-radius-3xl: 0px !important;
  --gl-border-radius-default: 0px !important;
  --gl-alert-border-radius: 0px !important;
  --gl-button-link-border-radius: 0px !important;
  --gl-card-border-radius: 0px !important;
  --gl-drawer-border-radius: 0px !important;
  --gl-dropdown-border-radius: 0px !important;
  --gl-modal-border-radius: 0px !important;
  --gl-action-border-radius: 0px !important;
  --gl-control-border-radius: 0px !important;
  --gl-feedback-border-radius: 0px !important;
  --gl-broadcast-banner-border-radius: 0px !important;
  --gl-button-border-radius: 0px !important;
  --gl-token-border-radius: 0px !important;

  /* Header letter-spacing: 0 (no tracking) */
  --gl-letter-spacing-heading: -0.06em;
  --gl-heading-3-letter-spacing: -0.06em;
  --gl-heading-4-letter-spacing: -0.06em;
  --gl-heading-5-letter-spacing: -0.06em;
  --gl-heading-6-letter-spacing: -0.06em;
  --gl-heading-scale-100-letter-spacing: -0.06em;
  --gl-heading-scale-200-letter-spacing: -0.06em;
  --gl-heading-scale-300-letter-spacing: -0.06em;
  --gl-heading-scale-400-letter-spacing: -0.06em;
  --gl-heading-scale-500-letter-spacing: -0.06em;
  --gl-heading-scale-100-fixed-letter-spacing: -0.06em;
  --gl-heading-scale-200-fixed-letter-spacing: -0.06em;
  --gl-heading-scale-300-fixed-letter-spacing: -0.06em;
  --gl-heading-scale-400-fixed-letter-spacing: -0.06em;
  --gl-heading-scale-500-fixed-letter-spacing: -0.06em;
  --gl-heading-3-fixed-letter-spacing: -0.06em;
  --gl-heading-4-fixed-letter-spacing: -0.06em;
  --gl-heading-5-fixed-letter-spacing: -0.06em;
  --gl-heading-6-fixed-letter-spacing: -0.06em;
}

/* Main content/side panels: sharp corners (no rounded panel edges) */
.page-with-panels .paneled-view.static-panel, .page-with-panels .paneled-view.contextual-panel {
    border-radius: 0px !important;
}

/* Top bar: remove bottom border line */
.top-bar-fixed {
    border-bottom-style: none !important;
}

/* Page header: white background */
body > header {
    background: white !important;
}

/* Left super sidebar: white background */
#super-sidebar {
    background: white !important;
}

/* Nav container: top spacing */
[data-testid="nav-container"] {
    margin-top: 20px !important;
}

/* Top bar (super sidebar): search trigger button square, not rounded */
#super-sidebar-search,
button.topbar-search-button {
    border-radius: 0 !important;
}

/* Optional utility: use SF Compact on elements that have .font-compact or font-family: var(--font-compact) */
.font-compact {
  font-family: var(--font-compact);
}

/* Sign-in page: hide footer */
.footer-container {
    display: none !important;
}

/* Sign-in page: hide main content panel and adjacent layout columns */
body > div > div > main > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) {
    display: none !important;
}

body > div > div > main > div:nth-child(2) > div:nth-child(1) {
    display: none !important;
}

body > div > div > main > div:nth-child(2) > div:nth-child(2) > div:nth-child(1) > form > div:nth-child(2) > div:nth-child(2) {
    display: none !important;
}

/* Left super sidebar: hide “What’s new” and “Help center” entries */
.super-sidebar-whats-new {
    display: none !important;
}
.super-sidebar-help-center-dropdown {
    display: none !important;
}

/* Left super sidebar: hide context header (e.g. project/group name block at top of nav) */
#super-sidebar-context-header {
    display: none !important;
}

/* Left super sidebar: keep nav item text light weight (no bold for current item) */
.super-sidebar .super-sidebar-nav-item * {
    font-weight: var(--gl-font-weight-light) !important;
}
.super-sidebar .super-sidebar-nav-item:hover * {
    font-weight: var(--gl-font-weight-light) !important;
}

.super-sidebar .super-sidebar-nav-item.super-sidebar-nav-item-current:not(:hover) {
    font-weight: var(--gl-font-weight-light) !important;
}

.super-sidebar .super-sidebar-nav-item.super-sidebar-nav-item-current:hover {
    font-weight: var(--gl-font-weight-light) !important;
}

.super-sidebar .super-sidebar-nav-item.super-sidebar-nav-item-current:not(:hover) [data-testid=nav-item-link-label] {
    font-weight: var(--gl-font-weight-light) !important;
}

.super-sidebar .super-sidebar-nav-item.super-sidebar-nav-item-current:not(:hover) [data-testid=nav-item-link-label] {
    font-weight: var(--gl-font-weight-light) !important;
}

/* Repo landing / tree: hide duplicate “Actions” ellipsis (we keep the moved “More actions” at end of toolbar) */
[data-testid="repository-overflow-menu"] {
    display: none !important;
}

/* Repo landing / tree: hide files breadcrumb (e.g. “gl-nuget-package-example”) above the tree */
.repo-breadcrumb {
    display: none !important;
}

/* Repo file tree table: sharp bottom corners on last row */
.application-chrome table.tree-table tbody tr:last-child td:last-child, .application-chrome table.tree-table tbody tr:last-child th:first-child {
    border-bottom-right-radius: 0px !important;
    border-bottom-left-radius: 0px !important;
}

.application-chrome table.tree-table tbody tr:last-child td:last-child, .application-chrome table.tree-table tbody tr:last-child th:last-child {
    border-bottom-right-radius: 0px !important;
    border-bottom-left-radius: 0px !important;
}

/* Full-width layout: remove outer page margins */
.page-with-panels.page-with-panels .layout-page {
    margin: 0 !important;
}

/* Full-width layout: remove outer page padding */
.page-with-panels.page-with-panels .layout-page {
    padding: 0 !important;
}

/* Left super sidebar: remove padding/margin from contextual nav block */
.page-with-panels #super-sidebar .contextual-nav {
    padding: 0 !important;
    margin: 0 !important;
}

/* Left super sidebar: remove top padding from scroll area (first nav block under header) */
#super-sidebar > div > div.gl-scroll-scrim.gl-overflow-y-auto.gl-overflow-x-hidden.gl-grow > div.gl-relative.gl-px-3.gl-py-2 {
    padding-top: 0 !important;
    margin: 0 !important;
}

/* Right sidebars (e.g. job sidebar, project sidebar): prevent overflow from breaking layout */
.sidebar-container {
    overflow: hidden !important;
}

/* CI job page right sidebar: add space above “Related jobs” heading */
[data-testid="job-sidebar"] .builds-container > h2 {
    margin-top: 1rem !important;
}

/* Repo landing: disable transitions on header + tree toolbar so moved buttons don’t animate when DOM updates */
.project-home-panel .project-repo-buttons,
.project-home-panel .project-repo-buttons *,
[data-testid="tree-controls-container"],
[data-testid="tree-controls-container"] .gl-flex.gl-justify-end.gl-gap-3,
.project-code-holder .gl-flex.gl-justify-end.gl-gap-3,
.project-code-holder .gl-flex.gl-justify-end.gl-gap-3 * {
    transition: none !important;
}