/* Compact tables — loaded via extra_css (must live under docs/) */

[data-md-color-scheme="default"] {
  --infoportal-separator-color: var(--md-default-fg-color--lighter);
  --infoportal-separator-width: 1.5px;
}

[data-md-color-scheme="slate"] {
  --infoportal-separator-color: var(--md-default-fg-color--light);
  --infoportal-separator-width: 1.5px;
}

.md-typeset .md-typeset__table table,
.md-typeset table:not([class]),
.md-typeset table {
  font-size: 0.72rem;
  line-height: 1.2;
  border-collapse: collapse !important;
  border-spacing: 0;
}

.md-typeset .md-typeset__table table th,
.md-typeset .md-typeset__table table td,
.md-typeset table:not([class]) th,
.md-typeset table:not([class]) td,
.md-typeset table th,
.md-typeset table td {
  padding: 0.12em 0.1em !important;
  vertical-align: top;
  border-top: var(--infoportal-separator-width) solid var(--infoportal-separator-color) !important;
  border-left: var(--infoportal-separator-width) solid var(--infoportal-separator-color) !important;
}

.md-typeset .md-typeset__table table thead th,
.md-typeset table:not([class]) thead th,
.md-typeset table thead th {
  border-top: none !important;
}

.md-typeset .md-typeset__table table th:first-child,
.md-typeset .md-typeset__table table td:first-child,
.md-typeset table:not([class]) th:first-child,
.md-typeset table:not([class]) td:first-child,
.md-typeset table th:first-child,
.md-typeset table td:first-child {
  border-left: none !important;
}

.md-typeset .md-typeset__table {
  margin: 0.3em 0;
  line-height: 1.2;
}

/* Lists — compact spacing and indentation */
[dir="ltr"] .md-typeset ol,
[dir="ltr"] .md-typeset ul,
.md-typeset ol:not([class]),
.md-typeset ul:not([class]),
.md-typeset ol,
.md-typeset ul {
  margin: 0.2em 0 0.2em 0.35em;
  padding-left: 0;
  line-height: 1.25;
}

[dir="ltr"] .md-typeset ol li,
[dir="ltr"] .md-typeset ul li,
.md-typeset ol li,
.md-typeset ul li {
  margin-bottom: 0.05em;
  margin-left: 0.9em;
}

.md-typeset ol li:last-child,
.md-typeset ul li:last-child {
  margin-bottom: 0;
}

.md-typeset ol li p,
.md-typeset ul li p,
.md-typeset li > p,
.md-typeset li > blockquote {
  margin: 0;
  line-height: 1.25;
}

[dir="ltr"] .md-typeset ol li ol,
[dir="ltr"] .md-typeset ol li ul,
[dir="ltr"] .md-typeset ul li ol,
[dir="ltr"] .md-typeset ul li ul,
.md-typeset ul ul,
.md-typeset ul ol,
.md-typeset ol ul,
.md-typeset ol ol {
  margin: 0.05em 0 0.05em 0.35em;
}

/* Opt-in: nested numbered sublists → a., b., c. (wrap list in div.list-alpha-sublists) */
.md-typeset .list-alpha-sublists > ol > li > ol {
  list-style-type: lower-alpha;
}

.md-typeset dl {
  margin: 0.35em 0;
}

.md-typeset dl dd {
  margin-bottom: 0.25em;
}

/* Heading separators */
.md-typeset h2 {
  border-bottom: var(--infoportal-separator-width) solid var(--infoportal-separator-color);
  padding-bottom: 0.35em;
  margin-top: 1.6em;
}

.md-typeset h3 {
  border-bottom: var(--infoportal-separator-width) solid
    color-mix(in srgb, var(--infoportal-separator-color) 75%, transparent);
  padding-bottom: 0.25em;
  margin-top: 1.3em;
}

.md-typeset h4 {
  border-bottom: var(--infoportal-separator-width) dotted var(--infoportal-separator-color);
  padding-bottom: 0.2em;
  margin-top: 1.1em;
}

/* Top-level nav tabs in the header bar (desktop) */
.md-header--tabs-inline .md-header__title {
  flex-grow: 0;
  max-width: 14rem;
  height: auto;
  min-height: 2.4rem;
  line-height: 1.2;
  padding: 0.35rem 0;
  display: flex;
  align-items: center;
  overflow: visible;
}

.md-header--tabs-inline .md-header__title > .md-header__ellipsis {
  height: auto;
  position: relative;
  width: 100%;
}

/* Material stacks topics absolutely for scroll-swap — reset for two-line branding */
.md-header--tabs-inline .md-header__title .md-header__topic:first-child {
  position: static;
  transform: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: auto !important;
  white-space: normal;
  font-weight: 400;
  display: block;
  max-width: 100%;
}

.md-header--tabs-inline .md-header__title--active .md-header__topic:first-child {
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  z-index: auto !important;
}

.md-site-brand {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  line-height: 1.2;
  max-width: 100%;
  position: relative;
}

.md-site-brand--preview {
  padding-right: 2rem;
}

.md-site-brand__preview-badge {
  position: absolute;
  top: auto;
  bottom: -0.08rem;
  right: 0;
  z-index: 2;
  font-size: 0.48rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1;
  padding: 0.18rem 0.38rem;
  border-radius: 2px;
  background: #ffb74d;
  color: #1a1200;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.28);
  transform: rotate(8deg);
  transform-origin: center center;
  pointer-events: auto;
  white-space: nowrap;
}

[data-md-color-scheme="slate"] .md-site-brand__preview-badge {
  background: #ffa726;
  color: #1a1200;
}

.md-site-brand__department {
  display: block;
  font-size: 0.68rem;
  font-weight: 400;
  opacity: 0.88;
}

.md-site-brand__name {
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
}

.md-header__tabs {
  display: none;
  flex: 1 1 auto;
  min-width: 0;
  margin-left: 0.5rem;
  overflow: hidden;
}

.md-header__tabs .md-tabs__list {
  margin: 0;
}

.md-header__tabs .md-tabs__item {
  height: 2.4rem;
}

.md-header__tabs .md-tabs__link {
  align-items: center;
  display: flex;
  height: 100%;
  margin-top: 0;
  opacity: 0.75;
  padding: 0 0.75rem;
}

.md-header__tabs .md-tabs__item:first-child .md-tabs__link {
  font-weight: 700;
}

/* Sidebar program titles: **Label** Name */
.md-nav__program {
  display: block;
  line-height: 1.35;
  white-space: normal;
}

.md-nav__program-label {
  font-weight: 700;
}

.md-nav__program-name {
  font-weight: 400;
}

.md-ellipsis--program {
  white-space: normal;
}

.md-nav__link .md-nav__program {
  font-size: 0.72rem;
}

@media screen and (min-width: 76.25em) {
  .md-header--tabs-inline .md-header__topic[data-md-component="header-topic"] {
    display: none;
  }

  .md-header__tabs {
    display: flex;
    align-items: stretch;
  }
}

/* GitLab repo link: icon left of GitLab + (editors) on two lines */
.md-header__source .md-source,
.md-nav__source .md-source {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.md-header__source .md-source__icon,
.md-nav__source .md-source__icon {
  flex-shrink: 0;
  height: auto;
  width: auto;
}

.md-header__source .md-source__icon svg,
.md-nav__source .md-source__icon svg {
  margin: 0;
  width: 1.25rem;
  height: 1.25rem;
}

.md-header__source .md-source__icon + .md-source__repository,
.md-nav__source .md-source__icon + .md-source__repository {
  margin: 0;
  padding: 0;
  max-width: none;
}

.md-source__repository--editors {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
  gap: 0.05rem;
}

.md-source__repository-note {
  font-size: 0.62rem;
  font-weight: 400;
  opacity: 0.85;
}

/* Footer "Made with Material for MkDocs" */
.md-footer-meta .md-copyright {
  font-size: 0.5rem;
}

/* Footer */
.md-footer-meta__inner {
  align-items: flex-start;
  padding: 0 0.2rem; /* was 0.2rem all around */
}
.md-footer-links,
.md-footer-meta .md-copyright {
  font-size: 0.6rem;
  line-height: 1.1;
  margin: 0;
}

.md-footer-plus-links {
  font-size: 0.6rem;
  margin-top: 0.3rem;
}

/* Override Material indigo primary → PLUS green */
[data-md-color-primary="custom"] {
  --md-primary-fg-color:        #115740;
  --md-primary-fg-color--light: #1A7A58;
  --md-primary-fg-color--dark:  #0C3D2C;
  --md-primary-bg-color:        #ffffff;
  --md-primary-bg-color--light: #ffffffb3;
}

[data-md-color-accent="custom"] {
  --md-accent-fg-color: #115740;
  --md-accent-fg-color--transparent: #1157401a;
}

.md-typeset a:hover {
  color: #115740;
}