@import url('/assets/css/foundation.css?v=20260829-system-r1');

:root {
  --docs-sidebar-width: clamp(250px, 20vw, 310px);
  --docs-line: rgba(16, 19, 19, .16);
  --docs-soft: rgba(16, 19, 19, .62);
  --docs-code: #e8ebe6;
}

body.docs-body {
  min-width: 0;
  display: grid;
  grid-template-columns: var(--docs-sidebar-width) minmax(0, 1fr);
  grid-template-areas:
    'sidebar main'
    'footer footer';
  align-items: start;
  background: var(--site-paper);
}

.docs-sidebar {
  grid-area: sidebar;
  position: sticky;
  top: 0;
  width: 100%;
  height: 100dvh;
  padding: calc(var(--site-header-height) + 1.25rem) 18px 24px;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  overflow: auto;
  color: var(--site-ink);
  background: #fff;
  border-right: 1px solid var(--docs-line);
  scrollbar-width: thin;
}

.docs-sidebar__top { display: grid; gap: .65rem; padding-bottom: 1.2rem; }
.docs-sidebar__title,
.docs-sidebar__desc { margin: 0; }
.docs-sidebar__title { font-size: .64rem; font-weight: 650; letter-spacing: .1em; line-height: 1.15; text-transform: uppercase; }
.docs-sidebar__desc { max-width: 28ch; color: var(--docs-soft); font-size: .78rem; line-height: 1.45; }

.docs-nav-sections { display: grid; border-top: 1px solid var(--docs-line); }
.docs-nav-section { border-bottom: 1px solid var(--docs-line); }
.docs-nav-section > summary {
  min-height: 48px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: center;
  cursor: pointer;
  list-style: none;
  font-size: .76rem;
  font-weight: 620;
}
.docs-nav-section > summary::-webkit-details-marker { display: none; }
.docs-nav-section > summary::after { content: '+'; color: var(--docs-soft); font-size: .9rem; font-weight: 400; }
.docs-nav-section[open] > summary::after { content: '−'; }
.docs-nav,
.docs-subnav { display: grid; padding: 0 0 .65rem 12px; }
.docs-nav a,
.docs-subnav a {
  min-height: 44px;
  padding: .55rem 0;
  display: flex;
  align-items: center;
  color: var(--docs-soft);
  font-size: .75rem;
  line-height: 1.3;
  text-decoration: none;
  border-top: 1px solid rgba(16,19,19,.08);
}
.docs-nav a:hover,
.docs-nav a:focus-visible,
.docs-nav-section > summary:hover,
.docs-nav-section > summary:focus-visible,
.docs-subnav a:hover { color: var(--site-signal); }
.docs-subnav a { font-size: .7rem; }

.docs-app {
  grid-area: main;
  min-width: 0;
  padding: calc(var(--site-header-height) + clamp(2.5rem, 6vw, 6rem)) var(--site-edge) var(--site-section-space);
  background: var(--site-paper);
}
.docs-main { width: min(100%, var(--site-content)); margin: 0 auto; }

.docs-toolbar {
  padding-bottom: clamp(2rem, 4vw, 4rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .62fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: end;
  border-bottom: 1px solid var(--docs-line);
}
.docs-toolbar__meta { display: grid; gap: 1rem; }
.docs-breadcrumb,
.docs-chip,
.docs-search__label,
.docs-search__meta,
.docs-kicker,
.docs-eyebrow,
.docs-doc__eyebrow,
.docs-registry-group__label,
.docs-stat__label,
.docs-status-card__label { font-size: .63rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.docs-breadcrumb { color: var(--docs-soft); }
.docs-chiprow,
.docs-links,
.docs-surface-links { display: flex; flex-wrap: wrap; gap: .45rem 1rem; }
.docs-chip { color: var(--docs-soft); }
.docs-search { min-width: 0; display: grid; gap: .55rem; }
.docs-search__field {
  width: 100%;
  min-height: 48px;
  padding: .65rem 0;
  color: var(--site-ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--site-ink);
  border-radius: 0;
  font-size: 1rem;
}
.docs-search__meta { color: var(--docs-soft); letter-spacing: 0; text-transform: none; }
.docs-search-results { border-top: 1px solid var(--docs-line); }
.docs-search-result { min-height: 44px; padding: .8rem 0; display: grid; gap: .2rem; color: inherit; text-decoration: none; border-bottom: 1px solid var(--docs-line); }
.docs-search-result__meta,
.docs-search-result__text { color: var(--docs-soft); font-size: .72rem; }
.docs-search-result__title { font-weight: 620; }

.docs-welcome {
  padding: var(--site-section-space) 0;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
  gap: clamp(2rem, 7vw, 8rem);
}
.docs-panel { min-width: 0; }
.docs-kicker { margin-bottom: 1rem; color: var(--docs-soft); }
.docs-title { max-width: 15ch; font-size: var(--site-type-title); font-weight: 520; line-height: .91; letter-spacing: -.06em; text-wrap: balance; }
.docs-lead { max-width: 58ch; margin-top: 2rem; color: var(--docs-soft); font-size: var(--site-type-lead); line-height: 1.42; }
.docs-links { margin-top: 2rem; }
.docs-linkline {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: inherit;
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .04em;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
.docs-linkline--primary { color: #146c50; }
.docs-panel--summary { padding-top: .5rem; border-top: 1px solid var(--site-ink); }
.docs-summary__title { font-size: .7rem; font-weight: 650; text-transform: uppercase; }
.docs-summary__text { margin-top: 1rem; color: var(--docs-soft); line-height: 1.55; }
.docs-stats { margin-top: 2rem; display: grid; border-top: 1px solid var(--docs-line); }
.docs-stat { min-height: 60px; padding: .65rem 0; display: grid; grid-template-columns: 1fr auto; align-items: center; border-bottom: 1px solid var(--docs-line); }
.docs-stat__label { color: var(--docs-soft); }
.docs-stat__value { font-size: 1rem; font-variant-numeric: tabular-nums; }

.docs-registry { padding-bottom: var(--site-section-space); }
.docs-registry-group__label { margin-bottom: .8rem; color: var(--docs-soft); }
.docs-registry-grid { border-top: 1px solid var(--site-ink); }
.docs-project-card {
  min-width: 0;
  min-height: 132px;
  padding: 1.15rem 0;
  display: grid;
  grid-template-columns: minmax(170px, .4fr) minmax(260px, 1fr) minmax(180px, .5fr);
  grid-template-areas: 'head summary spec' 'head tags spec';
  gap: .6rem clamp(1.5rem, 4vw, 5rem);
  align-items: start;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--docs-line);
}
.docs-project-card__head { grid-area: head; display: grid; gap: .5rem; }
.docs-project-card__title { font-size: clamp(1.55rem, 2.4vw, 2.5rem); font-weight: 520; line-height: .95; letter-spacing: -.045em; }
.docs-project-card__status,
.docs-project-card__spec { color: var(--docs-soft); font-size: .67rem; line-height: 1.45; }
.docs-project-card__status { text-transform: uppercase; }
.docs-project-card__summary { grid-area: summary; max-width: 48ch; line-height: 1.5; }
.docs-project-card__spec { grid-area: spec; }
.docs-project-card__links { grid-area: tags; display: flex; gap: 1rem; }

.docs-search-empty { padding: 2rem 0; border-top: 1px solid var(--docs-line); }
.docs-section-title { margin: var(--site-section-space) 0 1.25rem; font-size: var(--site-type-title); font-weight: 520; line-height: .92; letter-spacing: -.055em; }
.docs-section-heading { margin: var(--site-section-space) 0 1.25rem; display: flex; justify-content: space-between; gap: 1.5rem; align-items: end; }
.docs-section-heading .docs-section-title { margin: 0; }
.docs-table { border-top: 1px solid var(--site-ink); }
.docs-row { border-bottom: 1px solid var(--docs-line); }
.docs-row > summary { list-style: none; cursor: pointer; }
.docs-row > summary::-webkit-details-marker { display: none; }
.docs-row__summary {
  min-height: 118px;
  padding: 1rem 0;
  display: grid;
  grid-template-columns: minmax(150px, .38fr) minmax(260px, 1fr) auto auto;
  gap: 1.5rem;
  align-items: center;
}
.docs-row__title { font-size: clamp(1.5rem, 2.5vw, 2.6rem); font-weight: 520; letter-spacing: -.045em; }
.docs-row__desc { max-width: 62ch; color: var(--docs-soft); line-height: 1.5; }
.docs-row__expand-hint { color: var(--docs-soft); font-size: .67rem; text-transform: uppercase; }
.docs-sections-body { padding: 0 0 2rem; }
.docs-sections-body > section { padding-top: clamp(3.5rem, 7vw, 7rem); }
.docs-sections-body .docs-section-title,
.docs-sections-body .docs-section-heading { margin-top: 0; }

.docs-overview-wide { padding-block: clamp(3.5rem, 7vw, 7rem); }
.docs-overview-wide__head,
.docs-doc__head { display: flex; justify-content: space-between; gap: 1.5rem; align-items: start; }
.docs-eyebrow,
.docs-doc__eyebrow { color: var(--docs-soft); }
.docs-overview-wide__title { max-width: 16ch; margin-top: 1.2rem; font-size: var(--site-type-title); font-weight: 520; line-height: .92; letter-spacing: -.055em; }
.docs-overview-wide__lead { max-width: 64ch; margin: 1.5rem 0 2.5rem auto; font-size: var(--site-type-lead); line-height: 1.42; }
.docs-overview-wide__body { max-width: 76ch; margin-left: auto; }
.docs-overview-wide__body > p,
.docs-doc__body > p,
.docs-doc__body > ul,
.docs-doc__body > ol,
.docs-doc__body > blockquote { margin: 0 0 1.2rem; font-size: var(--site-type-body); line-height: 1.62; }
.docs-overview-wide__body > p + p { margin-top: 1.2rem; }
.docs-surface-links { margin-top: 2rem; }

.docs-status-grid { display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--site-ink); }
.docs-status-card { min-height: clamp(230px, 28vw, 390px); padding: clamp(1.1rem, 2.2vw, 2rem) 0; display: grid; grid-template-columns: minmax(140px, .42fr) minmax(0, 1fr); gap: clamp(1.5rem, 6vw, 7rem); align-items: start; border-bottom: 1px solid var(--docs-line); }
.docs-status-card__counter { margin: 0; font-size: clamp(5.5rem, 15vw, 14rem); font-weight: 470; line-height: .72; letter-spacing: -.085em; font-variant-numeric: tabular-nums; }
.docs-status-card__label { color: #146c50; }
.docs-status-card__title { max-width: 16ch; margin: clamp(1rem, 3vw, 2.5rem) 0 0; font-size: clamp(2rem, 4.8vw, 5rem); font-weight: 520; line-height: .9; letter-spacing: -.058em; }
.docs-status-card__note { max-width: 62ch; margin: clamp(1.5rem, 3vw, 2.8rem) 0 0 auto; color: var(--docs-soft); font-size: clamp(.95rem, 1.15vw, 1.12rem); line-height: 1.55; }

.docs-docstack { display: grid; gap: clamp(2.5rem, 6vw, 6rem); }
.docs-doc { min-width: 0; padding-top: 1rem; border-top: 1px solid var(--site-ink); }
.docs-doc__title { margin-top: .35rem; font-size: clamp(1.65rem, 3vw, 3.2rem); font-weight: 520; line-height: 1; letter-spacing: -.045em; }
.docs-doc__body { max-width: 82ch; margin: clamp(2rem, 4vw, 4rem) 0 0 auto; }
.docs-doc__body h1,
.docs-doc__body h2,
.docs-doc__body h3,
.docs-doc__body h4 { margin: 2.4rem 0 .8rem; font-weight: 570; line-height: 1.1; letter-spacing: -.025em; }
.docs-doc__body h1 { font-size: 2.2rem; }
.docs-doc__body h2 { font-size: 1.8rem; }
.docs-doc__body h3 { font-size: 1.35rem; }
.docs-doc__body h4 { font-size: 1.1rem; }
.docs-doc__body ul,
.docs-doc__body ol { padding-left: 1.35rem; }
.docs-doc__body li + li { margin-top: .45rem; }
.docs-doc__body a { text-decoration: underline; text-underline-offset: 3px; }
.docs-doc__body code { padding: .12em .3em; background: var(--docs-code); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .88em; overflow-wrap: anywhere; }
.docs-doc__body pre { max-width: 100%; margin: 1.5rem 0; padding: 1rem; overflow: auto; color: #e7eee9; background: var(--site-ocean); }
.docs-doc__body pre code { padding: 0; color: inherit; background: transparent; overflow-wrap: normal; }
.docs-doc__body table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.docs-doc__body th,
.docs-doc__body td { padding: .75rem .6rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--docs-line); }

body.docs-body > suez-site-footer { grid-area: footer; width: 100%; margin: 0; }
.docs-sidebar-overlay,
.docs-nav-toggle { display: none; }

@media (max-width: 980px) {
  .docs-toolbar,
  .docs-welcome { grid-template-columns: 1fr; }
  .docs-project-card { grid-template-columns: minmax(150px, .42fr) 1fr; grid-template-areas: 'head summary' 'tags spec'; }
  .docs-row__summary { grid-template-columns: minmax(140px, .42fr) 1fr auto; }
  .docs-row__summary > .docs-linkline { grid-column: 2; justify-self: start; }
}

@media (max-width: 760px) {
  body.docs-body { display: block; }
  .docs-app { padding: calc(var(--site-header-height) + 3.5rem) 14px 5rem; }
  .docs-sidebar {
    position: fixed;
    z-index: 10045;
    inset: 0 auto 0 0;
    width: min(86vw, 340px);
    height: 100dvh;
    padding-top: calc(var(--site-header-height) + 1rem);
    transform: translateX(-104%);
    transition: transform .24s cubic-bezier(.22, 1, .36, 1);
  }
  .docs-sidebar.open { transform: none; }
  .docs-sidebar-overlay { position: fixed; z-index: 10040; inset: 0; display: none; background: rgba(6,20,32,.42); }
  .docs-sidebar-overlay.open { display: block; }
  .docs-nav-toggle {
    position: fixed;
    z-index: 10050;
    top: max(7px, env(safe-area-inset-top));
    left: 50%;
    width: 58px;
    min-height: 44px;
    padding: 0;
    display: grid;
    place-items: center;
    color: var(--site-ink);
    background: rgba(242,242,237,.92);
    border: 1px solid var(--site-line);
    border-radius: 0;
    transform: translateX(-50%);
    font-size: .65rem;
    font-weight: 650;
    text-transform: uppercase;
  }
  .docs-drawer-open { overflow: hidden; }
  .docs-toolbar { gap: 2rem; }
  .docs-welcome { padding-block: 4.75rem; }
  .docs-title { font-size: clamp(2.65rem, 13vw, 4.6rem); }
  .docs-lead { font-size: 17px; line-height: 1.5; }
  .docs-project-card { min-height: 0; grid-template-columns: 1fr; grid-template-areas: 'head' 'summary' 'spec' 'tags'; gap: .75rem; }
  .docs-project-card__head { display: flex; justify-content: space-between; gap: 1rem; }
  .docs-row__summary { min-height: 0; padding: 1.2rem 0; grid-template-columns: 1fr auto; gap: .65rem 1rem; }
  .docs-row__desc { grid-column: 1 / -1; }
  .docs-row__summary > .docs-linkline { grid-column: 1; }
  .docs-section-title { font-size: clamp(2.35rem, 12vw, 4rem); }
  .docs-section-heading { align-items: start; flex-direction: column; }
  .docs-overview-wide__head,
  .docs-doc__head { flex-direction: column; }
  .docs-overview-wide__lead,
  .docs-overview-wide__body,
  .docs-doc__body { margin-left: 0; }
  .docs-status-grid { grid-template-columns: 1fr; }
  .docs-status-card { min-height: 220px; grid-template-columns: minmax(78px, .28fr) minmax(0, 1fr); gap: 1rem; }
  .docs-status-card__counter { font-size: clamp(4.25rem, 22vw, 7rem); }
  .docs-status-card__title { font-size: clamp(1.9rem, 8.5vw, 3rem); }
  .docs-status-card__note { margin-left: 0; }
  .docs-status-card:nth-child(odd),
  .docs-status-card:nth-child(even) { padding-inline: 0; border-right: 0; }
  .docs-doc__body { overflow-x: auto; }
}

@media (max-width: 360px) {
  .docs-app { padding-inline: 10px; }
  .docs-nav-toggle { width: 50px; }
}

@media (prefers-reduced-motion: reduce) {
  .docs-sidebar { transition: none; }
}
