:root {
  color-scheme: light;

  /* Typography */
  --css-font-sans: "IBM Plex Sans", "Segoe UI", Arial, sans-serif;
  --css-font-mono: "IBM Plex Mono", Consolas, monospace;

  /* Geometry */
  --css-radius-sm: 3px;
  --css-radius-md: 6px;
  --css-radius-lg: 8px;
  --css-border-width: 1px;

  /* Spacing: 4px base grid */
  --css-space-1: 4px;
  --css-space-2: 8px;
  --css-space-3: 12px;
  --css-space-4: 16px;
  --css-space-5: 20px;
  --css-space-6: 24px;
  --css-space-8: 32px;
  --css-space-10: 40px;

  /* Light theme */
  --css-bg-app: #eef1f3;
  --css-bg-surface: #ffffff;
  --css-bg-subtle: #f5f7f8;
  --css-bg-strong: #19242d;
  --css-border: #cfd6db;
  --css-border-strong: #9aa7b0;
  --css-text: #17212a;
  --css-text-muted: #5e6b74;
  --css-text-on-strong: #f7f9fa;

  /* Brand and operational colours */
  --css-primary: #155a78;
  --css-primary-hover: #10465d;
  --css-primary-soft: #e5f0f4;
  --css-critical: #b42318;
  --css-critical-soft: #fbe9e7;
  --css-warning: #a35d00;
  --css-warning-soft: #fff3df;
  --css-success: #26734d;
  --css-success-soft: #e7f4ec;
  --css-info: #315e7d;
  --css-info-soft: #e8f0f5;

  --css-focus: #2f78a0;
  --css-shadow: 0 1px 2px rgba(16, 24, 32, 0.08);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --css-bg-app: #11171c;
  --css-bg-surface: #192128;
  --css-bg-subtle: #202a32;
  --css-bg-strong: #0b1014;
  --css-border: #34424c;
  --css-border-strong: #566773;
  --css-text: #edf2f5;
  --css-text-muted: #aeb9c0;
  --css-text-on-strong: #f7f9fa;

  --css-primary: #61a8c5;
  --css-primary-hover: #82bdd3;
  --css-primary-soft: #173746;
  --css-critical: #ff7d73;
  --css-critical-soft: #421d1b;
  --css-warning: #f0b45c;
  --css-warning-soft: #3b2c16;
  --css-success: #74c69a;
  --css-success-soft: #173428;
  --css-info: #83b7d5;
  --css-info-soft: #193243;

  --css-focus: #82bdd3;
  --css-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

* { box-sizing: border-box; }

body.css-platform {
  margin: 0;
  min-height: 100vh;
  font-family: var(--css-font-sans);
  background: var(--css-bg-app);
  color: var(--css-text);
  line-height: 1.45;
}

.css-shell {
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
  min-height: 100vh;
}

.css-sidebar {
  background: var(--css-bg-strong);
  color: var(--css-text-on-strong);
  border-right: var(--css-border-width) solid var(--css-border);
  padding: var(--css-space-5) var(--css-space-3);
}

.css-brand {
  padding: 0 var(--css-space-2) var(--css-space-5);
  border-bottom: 1px solid rgba(255,255,255,.14);
  margin-bottom: var(--css-space-4);
}

.css-brand__name {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .02em;
}

.css-brand__descriptor {
  margin-top: var(--css-space-1);
  font-size: 12px;
  color: rgba(255,255,255,.68);
}

.css-nav__group-label {
  margin: var(--css-space-5) var(--css-space-2) var(--css-space-2);
  color: rgba(255,255,255,.52);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.css-nav__link {
  display: flex;
  align-items: center;
  gap: var(--css-space-3);
  min-height: 40px;
  padding: 0 var(--css-space-3);
  border-left: 3px solid transparent;
  color: rgba(255,255,255,.82);
  text-decoration: none;
  font-size: 14px;
}

.css-nav__link:hover,
.css-nav__link:focus-visible {
  background: rgba(255,255,255,.08);
  color: #fff;
}

.css-nav__link[aria-current="page"] {
  background: rgba(97,168,197,.16);
  border-left-color: #61a8c5;
  color: #fff;
  font-weight: 700;
}

.css-main { min-width: 0; }

.css-topbar {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--css-space-4);
  padding: 0 var(--css-space-6);
  background: var(--css-bg-surface);
  border-bottom: var(--css-border-width) solid var(--css-border);
}

.css-content {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: var(--css-space-6);
}

.css-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--css-space-5);
  margin-bottom: var(--css-space-6);
}

.css-page-title {
  margin: 0;
  font-size: 26px;
  line-height: 1.2;
  letter-spacing: -.01em;
}

.css-page-summary {
  margin: var(--css-space-2) 0 0;
  color: var(--css-text-muted);
  max-width: 72ch;
}

.css-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--css-space-4);
}

.css-span-3 { grid-column: span 3; }
.css-span-4 { grid-column: span 4; }
.css-span-6 { grid-column: span 6; }
.css-span-8 { grid-column: span 8; }
.css-span-12 { grid-column: span 12; }

.css-panel {
  background: var(--css-bg-surface);
  border: var(--css-border-width) solid var(--css-border);
  border-radius: var(--css-radius-md);
  box-shadow: var(--css-shadow);
}

.css-panel__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--css-space-3);
  padding: var(--css-space-4);
  border-bottom: var(--css-border-width) solid var(--css-border);
}

.css-panel__title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
}

.css-panel__body { padding: var(--css-space-4); }

.css-metric {
  padding: var(--css-space-4);
  border-top: 3px solid var(--css-border-strong);
}

.css-metric--critical { border-top-color: var(--css-critical); }
.css-metric--warning { border-top-color: var(--css-warning); }
.css-metric--success { border-top-color: var(--css-success); }
.css-metric--info { border-top-color: var(--css-info); }

.css-metric__label {
  color: var(--css-text-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.css-metric__value {
  margin-top: var(--css-space-2);
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.css-metric__detail {
  margin-top: var(--css-space-2);
  color: var(--css-text-muted);
  font-size: 13px;
}

.css-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--css-space-2);
  min-height: 38px;
  padding: 0 var(--css-space-4);
  border: var(--css-border-width) solid var(--css-border-strong);
  border-radius: var(--css-radius-sm);
  background: var(--css-bg-surface);
  color: var(--css-text);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.css-button:hover { background: var(--css-bg-subtle); }
.css-button--primary { background: var(--css-primary); border-color: var(--css-primary); color: #fff; }
.css-button--primary:hover { background: var(--css-primary-hover); }
.css-button--danger { background: var(--css-critical); border-color: var(--css-critical); color: #fff; }
.css-button--ghost { background: transparent; border-color: transparent; }

.css-theme-control {
  display: inline-flex;
  border: var(--css-border-width) solid var(--css-border);
  border-radius: var(--css-radius-sm);
  overflow: hidden;
}

.css-theme-control button {
  min-height: 34px;
  padding: 0 var(--css-space-3);
  border: 0;
  border-right: var(--css-border-width) solid var(--css-border);
  background: var(--css-bg-surface);
  color: var(--css-text-muted);
  cursor: pointer;
}

.css-theme-control button:last-child { border-right: 0; }
.css-theme-control button[aria-pressed="true"] {
  background: var(--css-primary-soft);
  color: var(--css-primary);
  font-weight: 700;
}

.css-table-wrap { overflow-x: auto; }
.css-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.css-table th,
.css-table td {
  padding: 11px var(--css-space-3);
  text-align: left;
  border-bottom: var(--css-border-width) solid var(--css-border);
  vertical-align: middle;
}
.css-table th {
  background: var(--css-bg-subtle);
  color: var(--css-text-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.css-table tbody tr:hover { background: var(--css-bg-subtle); }

.css-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}
.css-status::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}
.css-status--critical { background: var(--css-critical-soft); color: var(--css-critical); }
.css-status--warning { background: var(--css-warning-soft); color: var(--css-warning); }
.css-status--success { background: var(--css-success-soft); color: var(--css-success); }
.css-status--info { background: var(--css-info-soft); color: var(--css-info); }

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--css-focus) 55%, transparent);
  outline-offset: 2px;
}

@media (max-width: 1000px) {
  .css-shell { grid-template-columns: 1fr; }
  .css-sidebar { display: none; }
  .css-span-3, .css-span-4 { grid-column: span 6; }
  .css-span-6, .css-span-8 { grid-column: span 12; }
}

@media (max-width: 640px) {
  .css-content { padding: var(--css-space-4); }
  .css-topbar { padding: 0 var(--css-space-4); }
  .css-page-header { flex-direction: column; }
  .css-span-3, .css-span-4, .css-span-6, .css-span-8 { grid-column: span 12; }
}

/* Global site alert centre */
.css-alert-centre{position:relative}.css-alert-centre>summary{list-style:none}.css-alert-centre>summary::-webkit-details-marker{display:none}
.css-alert-centre__button{position:relative;min-height:38px;padding:0 11px;display:flex;align-items:center;gap:7px;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:13px;font-weight:800}
.css-alert-centre__button:hover,.css-alert-centre[open] .css-alert-centre__button{color:var(--text-primary);border-color:var(--accent)}
.css-alert-centre__button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.css-alert-centre__button strong{min-width:20px;height:20px;padding:0 5px;display:inline-grid;place-items:center;color:#fff;background:#d9534f;border-radius:10px;font-size:11px}
.css-alert-centre__panel{position:absolute;right:0;top:calc(100% + 10px);z-index:120;width:min(430px,calc(100vw - 24px));max-height:min(620px,calc(100vh - 90px));overflow:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.css-alert-centre__header{position:sticky;top:0;z-index:1;padding:15px;display:flex;justify-content:space-between;gap:16px;background:var(--bg-panel);border-bottom:1px solid var(--border)}
.css-alert-centre__header div{display:grid;gap:3px}.css-alert-centre__header span,.css-alert-centre__status{color:var(--text-muted);font-size:12px}.css-alert-centre__header a{font-size:12px;font-weight:800;color:var(--accent)}
.css-alert-centre__list{display:grid}.css-alert-item{padding:13px 15px 13px 18px;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;color:var(--text-primary);text-decoration:none;border-bottom:1px solid var(--border);border-left:4px solid var(--accent)}
.css-alert-item:hover{background:var(--bg-subtle)}.css-alert-item--critical{border-left-color:#ff7069}.css-alert-item--warning{border-left-color:#e9ad4b}
.css-alert-item__severity{grid-row:1/span 2;align-self:start;padding:3px 6px;border-radius:9px;background:var(--bg-subtle);color:var(--text-muted);font-size:9px;font-weight:900;text-transform:uppercase}
.css-alert-item small{grid-column:2;color:var(--text-muted);line-height:1.35}.css-alert-item>span:not(.css-alert-item__severity){font-size:12px;color:var(--text-secondary)}
.css-alert-centre__empty{padding:28px 18px;color:var(--text-muted);text-align:center}.css-alert-centre__status{padding:9px 15px;text-align:right}
@media(max-width:760px){.css-alert-centre__button>span{display:none}.css-alert-centre__panel{position:fixed;top:68px;right:12px;left:12px;width:auto}.css-alert-centre__button{padding:0 9px}}

/* Alert centre isolation: protects the shared header from legacy page CSS. */
body.css-platform .css-topbar{overflow:visible!important}
body.css-platform .css-topbar__right{overflow:visible!important}
body.css-platform details.css-alert-centre{position:relative!important;display:block!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.css-platform details.css-alert-centre>summary.css-alert-centre__button{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:auto!important;min-width:78px!important;max-width:none!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0 10px!important;color:var(--css-text)!important;background:var(--css-bg-surface)!important;border:1px solid var(--css-border)!important;border-radius:var(--css-radius-sm)!important;font-family:var(--css-font-sans)!important;font-size:13px!important;line-height:1!important;font-weight:700!important;list-style:none!important;cursor:pointer!important;transform:none!important}
body.css-platform details.css-alert-centre>summary.css-alert-centre__button:hover,body.css-platform details.css-alert-centre[open]>summary.css-alert-centre__button{color:var(--css-primary)!important;border-color:var(--css-primary)!important;background:var(--css-bg-subtle)!important}
body.css-platform .css-alert-centre__button svg{display:block!important;flex:0 0 18px!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;margin:0!important;padding:0!important;overflow:visible!important;background:transparent!important;border:0!important;transform:none!important}
body.css-platform .css-alert-centre__button svg path{fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;vector-effect:non-scaling-stroke!important}
body.css-platform .css-alert-centre__button>span{display:inline!important;margin:0!important;padding:0!important;color:inherit!important;font:inherit!important;line-height:1!important}
body.css-platform .css-alert-centre__button>[data-alert-count]{display:inline-grid!important;place-items:center!important;position:static!important;flex:0 0 auto!important;width:auto!important;min-width:19px!important;max-width:34px!important;height:19px!important;min-height:19px!important;max-height:19px!important;margin:0!important;padding:0 5px!important;color:#fff!important;background:var(--css-critical)!important;border:0!important;border-radius:10px!important;font-family:var(--css-font-sans)!important;font-size:10px!important;line-height:19px!important;font-weight:800!important;transform:none!important}
body.css-platform .css-alert-centre__button>[data-alert-count][hidden]{display:none!important}
body.css-platform details.css-alert-centre>.css-alert-centre__panel{position:absolute!important;inset:auto 0 auto auto!important;top:calc(100% + 8px)!important;z-index:10000!important;display:block!important;width:430px!important;max-width:calc(100vw - 24px)!important;height:auto!important;max-height:min(620px,calc(100vh - 90px))!important;margin:0!important;padding:0!important;overflow:auto!important;color:var(--css-text)!important;background:var(--css-bg-surface)!important;background-color:var(--css-bg-surface)!important;opacity:1!important;border:1px solid var(--css-border-strong)!important;border-radius:var(--css-radius-md)!important;box-shadow:0 20px 50px rgba(0,0,0,.45)!important;transform:none!important}
body.css-platform .css-alert-centre__header{position:sticky!important;top:0!important;z-index:2!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin:0!important;padding:15px!important;color:var(--css-text)!important;background:var(--css-bg-surface)!important;border:0!important;border-bottom:1px solid var(--css-border)!important}
body.css-platform .css-alert-centre__header div{display:grid!important;gap:3px!important;margin:0!important;padding:0!important}
body.css-platform .css-alert-centre__header strong{color:var(--css-text)!important;font-size:15px!important}
body.css-platform .css-alert-centre__header span,body.css-platform .css-alert-centre__status{color:var(--css-text-muted)!important;font-size:12px!important}
body.css-platform .css-alert-centre__header a{color:var(--css-primary)!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important}
body.css-platform .css-alert-centre__list{display:grid!important;margin:0!important;padding:0!important;background:var(--css-bg-surface)!important}
body.css-platform a.css-alert-item{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:3px 10px!important;width:100%!important;height:auto!important;margin:0!important;padding:13px 15px 13px 14px!important;color:var(--css-text)!important;background:var(--css-bg-surface)!important;border:0!important;border-bottom:1px solid var(--css-border)!important;border-left:4px solid var(--css-info)!important;border-radius:0!important;text-decoration:none!important;font-family:var(--css-font-sans)!important;line-height:1.35!important;transform:none!important}
body.css-platform a.css-alert-item:hover{background:var(--css-bg-subtle)!important}
body.css-platform a.css-alert-item--critical{border-left-color:var(--css-critical)!important}
body.css-platform a.css-alert-item--warning{border-left-color:var(--css-warning)!important}
body.css-platform .css-alert-item__severity{grid-row:1/span 2!important;align-self:start!important;padding:3px 6px!important;color:var(--css-text-muted)!important;background:var(--css-bg-subtle)!important;border-radius:9px!important;font-size:9px!important;font-weight:900!important;text-transform:uppercase!important}
body.css-platform .css-alert-item strong{color:var(--css-text)!important;font-size:13px!important}
body.css-platform .css-alert-item>span:not(.css-alert-item__severity){color:var(--css-text-muted)!important;font-size:12px!important}
body.css-platform .css-alert-item small{grid-column:2!important;color:var(--css-text-muted)!important;font-size:11px!important;line-height:1.4!important}
body.css-platform .css-alert-centre__empty{padding:28px 18px!important;color:var(--css-text-muted)!important;background:var(--css-bg-surface)!important;text-align:center!important}
body.css-platform .css-alert-centre__status{padding:9px 15px!important;background:var(--css-bg-surface)!important;text-align:right!important}
@media(max-width:760px){
 body.css-platform details.css-alert-centre>summary.css-alert-centre__button{min-width:42px!important;padding:0 8px!important}
 body.css-platform .css-alert-centre__button>span{display:none!important}
 body.css-platform details.css-alert-centre>.css-alert-centre__panel{position:fixed!important;inset:68px 12px auto 12px!important;width:auto!important;max-width:none!important}
}


/* Device navigation tree */
.css-nav__branch{
  margin:0;
}

.css-nav__branch-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 38px;
  align-items:stretch;
}

.css-nav__branch-link{
  min-width:0;
}

.css-nav__branch-toggle{
  display:grid;
  place-items:center;
  min-height:40px;
  padding:0;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.72);
  cursor:pointer;
}

.css-nav__branch-toggle:hover,
.css-nav__branch-toggle:focus-visible{
  background:rgba(255,255,255,.08);
  color:#fff;
}

.css-nav__branch-toggle span{
  transition:transform .15s ease;
}

.css-nav__branch.is-open
.css-nav__branch-toggle span{
  transform:rotate(180deg);
}

.css-nav__branch.is-active
.css-nav__branch-link{
  background:rgba(97,168,197,.10);
  border-left-color:#61a8c5;
  color:#fff;
  font-weight:700;
}

.css-nav__children{
  display:grid;
  gap:1px;
  padding:3px 0 7px 18px;
}

.css-nav__children[hidden]{
  display:none;
}

.css-nav__sublink{
  display:flex;
  align-items:center;
  min-height:34px;
  padding:5px 10px 5px 14px;
  border-left:2px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.72);
  font-size:12px;
  text-decoration:none;
}

.css-nav__sublink:hover,
.css-nav__sublink:focus-visible{
  background:rgba(255,255,255,.07);
  color:#fff;
}

.css-nav__sublink[aria-current="page"]{
  border-left-color:#61a8c5;
  background:rgba(97,168,197,.14);
  color:#fff;
  font-weight:700;
}

.css-nav__sublink--disabled{
  color:rgba(255,255,255,.35);
  cursor:not-allowed;
}
