/* Be Vietnam Pro (OFL-1.1, BE-VIETNAM-PRO-OFL-1.1.txt): the Nevora chrome face. */
@font-face {
  font-family:"Be Vietnam Pro";
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('/be-vietnam-pro-vietnamese-400-normal.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;
}

@font-face {
  font-family:"Be Vietnam Pro";
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('/be-vietnam-pro-latin-ext-400-normal.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;
}

@font-face {
  font-family:"Be Vietnam Pro";
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('/be-vietnam-pro-latin-400-normal.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;
}

@font-face {
  font-family:"Be Vietnam Pro";
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/be-vietnam-pro-vietnamese-500-normal.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;
}

@font-face {
  font-family:"Be Vietnam Pro";
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/be-vietnam-pro-latin-ext-500-normal.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;
}

@font-face {
  font-family:"Be Vietnam Pro";
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/be-vietnam-pro-latin-500-normal.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;
}

@font-face {
  font-family:"Be Vietnam Pro";
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('/be-vietnam-pro-vietnamese-600-normal.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;
}

@font-face {
  font-family:"Be Vietnam Pro";
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('/be-vietnam-pro-latin-ext-600-normal.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;
}

@font-face {
  font-family:"Be Vietnam Pro";
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('/be-vietnam-pro-latin-600-normal.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;
}

@font-face {
  font-family:"Be Vietnam Pro";
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('/be-vietnam-pro-vietnamese-700-normal.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;
}

@font-face {
  font-family:"Be Vietnam Pro";
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('/be-vietnam-pro-latin-ext-700-normal.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;
}

@font-face {
  font-family:"Be Vietnam Pro";
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('/be-vietnam-pro-latin-700-normal.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;
}

:root {
  color-scheme:dark;
  --nv-bg:#07090D;
  --nv-surface-1:#0E1117;
  --nv-surface-2:#141820;
  --nv-surface-3:#1A1F29;
  --nv-field:rgba(255,255,255,.04);
  --nv-field-hover:rgba(255,255,255,.065);
  --nv-line:rgba(255,255,255,.08);
  --nv-line-soft:rgba(255,255,255,.055);
  --nv-line-strong:rgba(255,255,255,.14);
  --nv-text:rgba(255,255,255,.92);
  --nv-text-2:rgba(255,255,255,.64);
  --nv-text-3:rgba(255,255,255,.47);
  --nv-icon:rgba(255,255,255,.58);
  --nv-accent:#2FD3E4;
  --nv-accent-strong:#5BE4F0;
  --nv-accent-soft:rgba(47,211,228,.12);
  --nv-on-accent:#04121A;
  --nv-select:#FFFFFF;
  --nv-on-select:#0F1218;
  --nv-select-soft:rgba(255,255,255,.085);
  --nv-select-line:rgba(255,255,255,.22);
  --nv-focus:rgba(255,255,255,.55);
  --nv-success:#51BF6F;
  --nv-success-soft:rgba(81,191,111,.12);
  --nv-warning:#EFA831;
  --nv-warning-soft:rgba(239,168,49,.12);
  --nv-danger:#FF6B5E;
  --nv-danger-soft:rgba(255,107,94,.12);
  --nv-info:#7CB7FF;
  --nv-info-soft:rgba(124,183,255,.12);
  --nv-glass:rgba(17,21,29,.82);
  --nv-shadow:0 18px 44px rgba(0,0,0,.45);
  --nv-shadow-pop:0 24px 64px rgba(0,0,0,.55);
  --nv-radius-island:20px;
  --nv-radius-card:16px;
  --nv-radius:12px;
  --sidebar:248px;
  --topbar:56px;
  --ease:cubic-bezier(.22,1,.36,1);
  --mono:"JetBrains Mono","Cascadia Mono","Cascadia Code",Consolas,ui-monospace,monospace;
  --font-ui:"Be Vietnam Pro","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue","Noto Sans",Arial,sans-serif;
}

* {
  box-sizing:border-box;
}

html {
  min-width:320px;
  background:var(--nv-bg);
  scroll-behavior:smooth;
}

body {
  margin:0;
  min-width:320px;
  background:radial-gradient(1100px 560px at 82% -12%,rgba(47,211,228,.05),transparent 62%),radial-gradient(900px 520px at -8% 108%,rgba(255,255,255,.028),transparent 60%),var(--nv-bg);
  color:var(--nv-text);
  font-family:var(--font-ui);
  font-size:13px;
  line-height:20px;
  background-attachment:fixed;
}

html:lang(zh) body {
  font-family:"Segoe UI Variable Text","Segoe UI",system-ui,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
}

a {
  color:var(--nv-text);
  text-decoration:none;
}

a:hover {
  color:#FFFFFF;
}

button,input,select,textarea {
  font:inherit;
}

button,select,input,textarea {
  color:var(--nv-text);
}

button {
  cursor:pointer;
}

button:disabled {
  cursor:not-allowed;
  opacity:.55;
}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {
  outline:2px solid var(--nv-focus);
  outline-offset:2px;
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.skip-link {
  position:fixed;
  left:16px;
  top:-100px;
  z-index:100;
  padding:10px 14px;
  border:1px solid var(--nv-select-line);
  border-radius:12px;
  background:var(--nv-surface-3);
  color:var(--nv-text);
}

.skip-link:focus {
  top:16px;
}

.muted,.helper,.section-desc,.desc,.mono-meta {
  color:var(--nv-text-2);
}

.mono {
  font-family:var(--mono);
  font-size:12px;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.mt-3 {
  margin-top:16px;
}

*[hidden] {
  display:none!important;
}

.sidebar {
  position:fixed;
  inset:12px auto 12px 12px;
  z-index:40;
  width:var(--sidebar);
  padding:14px 12px 12px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 32%),var(--nv-glass);
  display:flex;
  flex-direction:column;
  overflow-y:auto;
  gap:8px;
  transition:width 160ms var(--ease),transform 220ms var(--ease);
  border:1px solid var(--nv-line);
  border-radius:var(--nv-radius-island);
  box-shadow:0 22px 50px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  backdrop-filter:blur(22px) saturate(140%);
  overflow-x:hidden;
  scrollbar-width:none;
}

.brand {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:2px 6px 14px;
  color:var(--nv-text);
}

.brand img {
  width:30px;
  height:30px;
  object-fit:contain;
  border-radius:0;
  filter:drop-shadow(0 4px 14px rgba(47,211,228,.22));
}

.brand-copy {
  display:grid;
  min-width:0;
}

.brand-name {
  font-size:15.5px;
  line-height:20px;
  font-weight:600;
  letter-spacing:-.005em;
}

.brand-sub {
  font-size:11.5px;
  line-height:16px;
  color:var(--nv-text-3);
}

.nav {
  display:grid;
  gap:2px;
  min-width:0;
}

.nav-label {
  margin:16px 8px 6px;
  color:var(--nv-text-3);
  font-size:11px;
  line-height:16px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:8px;
}

.nav a {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:40px;
  padding:0 10px 0 6px;
  border:0;
  border-radius:12px;
  color:var(--nv-text-2);
  font-weight:500;
  transition:background 180ms var(--ease),color 180ms var(--ease);
  position:relative;
  z-index:1;
  font-size:13px;
}

.nav a:hover {
  background:rgba(255,255,255,.04);
  color:var(--nv-text);
}

.nav a[aria-current=page] {
  background:transparent;
  border-color:transparent;
  color:var(--nv-text);
  font-weight:600;
}

.nav a svg {
  width:28px;
  height:28px;
  flex:0 0 auto;
  padding:5px;
  border-radius:9px;
  color:var(--nv-icon);
  transition:background 200ms var(--ease),color 160ms var(--ease),transform 280ms var(--ease);
}

.side-foot {
  display:grid;
  gap:10px;
  margin-top:auto;
  padding:12px 0 0;
  border-top:1px solid var(--nv-line-soft);
  position:relative;
}

.conn {
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 10px;
  color:var(--nv-text-2);
  font-size:12px;
}

.dot {
  width:7px;
  height:7px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--nv-text-3);
}

.dot.good {
  background:var(--nv-success);
}

.dot.bad {
  background:var(--nv-danger);
}

.account-box {
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:10px;
  color:var(--nv-text-2);
  border:1px solid var(--nv-line);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.015));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.account-box svg {
  width:30px;
  height:30px;
  flex:0 0 auto;
  margin-top:0;
  color:var(--nv-text-2);
  padding:6px;
  border-radius:10px;
  background:rgba(255,255,255,.07);
}

.account-box>div {
  min-width:0;
}

.account-box strong {
  display:block;
  overflow-wrap:anywhere;
  color:var(--nv-text);
  font-size:12px;
  font-weight:600;
}

.role-chip {
  display:inline-block;
  margin-top:2px;
  max-width:100%;
  overflow-wrap:anywhere;
  color:var(--nv-text-3);
  font-size:11px;
}

.logout {
  justify-content:flex-start;
  width:100%;
}

.main {
  width:calc(100% - var(--sidebar) - 12px);
  min-width:0;
  margin-left:calc(var(--sidebar) + 12px);
  transition:margin-left 160ms var(--ease),width 160ms var(--ease);
}

.topbar {
  position:sticky;
  top:0;
  z-index:30;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:var(--topbar);
  padding:10px 24px;
  background:rgba(7,9,13,.72);
  border-bottom:1px solid var(--nv-line-soft);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
}

.top-left,.top-actions {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.top-actions {
  justify-content:flex-end;
}

.crumb {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  color:var(--nv-text-2);
  font-size:12px;
}

.crumb b {
  overflow:hidden;
  color:var(--nv-text);
  font-weight:600;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.top-meta {
  color:var(--nv-text-3);
  font-size:12px;
  white-space:nowrap;
}

.runtime-chip {
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mobile-menu {
  display:none;
}

.content {
  width:100%;
  max-width:1600px;
  margin:0 auto;
  padding:24px 24px 64px;
  min-width:0;
}

.load-message {
  margin:-8px 0 16px;
  padding:10px 14px;
  border:1px solid rgba(124,183,255,.24);
  border-radius:10px;
  background:var(--nv-info-soft);
  color:var(--nv-info);
  font-size:12px;
}

.load-message.warn {
  border-color:rgba(242,196,107,.28);
  background:var(--nv-warning-soft);
  color:var(--nv-warning);
}

.page-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:24px;
}

.page-head>div:first-child {
  min-width:0;
}

.eyebrow {
  display:block;
  margin:0 0 6px;
  color:var(--nv-text-3);
  font-size:11px;
  line-height:16px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.title {
  margin:0;
  color:var(--nv-text);
  font-size:21px;
  line-height:28px;
  font-weight:600;
  letter-spacing:-.01em;
}

.desc {
  max-width:780px;
  margin:4px 0 0;
  font-size:13px;
  line-height:20px;
}

.page {
  min-width:0;
}

.page-context {
  display:none;
}

.quiet,.primary,.danger,.icon-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:36px;
  border:1px solid var(--nv-line-strong);
  border-radius:12px;
  padding:0 14px;
  background:rgba(255,255,255,.035);
  color:var(--nv-text-2);
  font-size:12.5px;
  font-weight:500;
  line-height:1;
  transition:background 160ms var(--ease),border-color 160ms var(--ease),color 160ms var(--ease),transform 160ms var(--ease);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.quiet:hover,.icon-button:hover {
  background:rgba(255,255,255,.075);
  border-color:rgba(255,255,255,.2);
  color:var(--nv-text);
}

.quiet:active,.primary:active,.danger:active,.icon-button:active {
  transform:translateY(1px);
}

.primary {
  border-color:transparent;
  background:linear-gradient(180deg,#48DDEB,#22C4D7);
  color:var(--nv-on-accent);
  font-weight:600;
  box-shadow:0 8px 22px rgba(47,211,228,.18),inset 0 1px 0 rgba(255,255,255,.35);
}

.primary:hover {
  background:linear-gradient(180deg,#62E5F1,#2FD3E4);
  color:var(--nv-on-accent);
  box-shadow:0 10px 28px rgba(47,211,228,.26),inset 0 1px 0 rgba(255,255,255,.4);
}

.danger {
  border-color:transparent;
  background:var(--nv-danger-soft);
  color:var(--nv-danger);
  box-shadow:none;
}

.danger:hover {
  border-color:rgba(255,107,94,.35);
  background:rgba(255,107,94,.18);
  color:var(--nv-danger);
}

.icon-button {
  width:36px;
  min-width:36px;
  padding:0;
}

.icon-button svg,.quiet svg,.primary svg,.danger svg {
  width:16px;
  height:16px;
  flex:0 0 auto;
}

.locale-control {
  display:inline-flex;
  align-items:center;
}

.locale-select {
  min-width:88px;
  width:auto!important;
}

.locale-select,.toolbar select,.filters select,.preference-fields select {
  height:36px;
  padding:0 30px 0 10px;
  border:1px solid var(--nv-line);
  border-radius:12px;
  background:var(--nv-field);
  font-size:12px;
}

.field input,.field select,.field textarea,.form-grid input,.form-grid select,.form-grid textarea,.toolbar input,.toolbar select,.filters input,.filters select,.search-field input,.preference-fields input,.preference-fields select,.preference-fields textarea {
  width:100%;
  height:36px;
  border:1px solid var(--nv-line);
  border-radius:12px;
  background:var(--nv-field);
  padding:0 11px;
  color:var(--nv-text);
  transition:border-color 150ms var(--ease),background 150ms var(--ease),box-shadow 150ms var(--ease);
}

textarea {
  min-height:96px;
  padding:10px 11px!important;
  resize:vertical;
}

input::placeholder,textarea::placeholder {
  color:var(--nv-text-3);
}

.field {
  display:grid;
  gap:6px;
  min-width:0;
}

.field>label,.form-grid>label,.preference-fields>label {
  font-size:12.5px;
  font-weight:500;
  color:var(--nv-text);
}

.helper {
  display:block;
  font-size:12px;
  line-height:17px;
}

.field-error,.error-message {
  color:var(--nv-danger);
  font-size:12px;
  line-height:17px;
}

.error-message {
  padding:10px 12px;
  border:1px solid rgba(255,122,134,.25);
  border-radius:10px;
  background:var(--nv-danger-soft);
}

.panel {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--nv-line);
  border-radius:var(--nv-radius-card);
  background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.008) 42%),var(--nv-surface-1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 12px 32px rgba(0,0,0,.18);
}

.panel-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:16px 18px 13px;
  border-bottom:1px solid var(--nv-line-soft);
}

.panel-head>div {
  min-width:0;
}

.panel-head h2,.panel-head h3 {
  margin:0;
  color:var(--nv-text);
  font-size:14.5px;
  line-height:21px;
  font-weight:600;
}

.panel-head p {
  margin:3px 0 0;
}

.panel-body {
  min-width:0;
  padding:16px 18px;
}

.two-col {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:16px;
}

.metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.metric {
  padding:16px;
  min-height:112px;
}

.metric-label {
  color:var(--nv-text-2);
  font-size:12px;
  line-height:17px;
  font-weight:500;
}

.metric-value {
  display:block;
  margin:9px 0 4px;
  color:var(--nv-text);
  font-size:26px;
  line-height:30px;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}

.metric-meta {
  color:var(--nv-text-2);
  font-size:12px;
  line-height:16px;
}

.metric-note {
  margin:8px 0 0;
  color:var(--nv-text-3);
  font-size:11px;
  line-height:15px;
}

.steps {
  display:grid;
  gap:4px;
}

.step {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:56px;
  padding:9px 10px;
  border-radius:10px;
  color:var(--nv-text-2);
  transition:background 160ms var(--ease);
}

.step:hover {
  background:var(--nv-surface-2);
  color:var(--nv-text);
}

.step-num {
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:1px solid var(--nv-line-strong);
  border-radius:50%;
  color:var(--nv-text);
  font-size:11.5px;
  background:rgba(255,255,255,.04);
  font-family:var(--mono);
}

.step-copy {
  display:grid;
  min-width:0;
  flex:1;
  gap:2px;
}

.step-copy strong {
  color:var(--nv-text);
  font-size:13px;
  font-weight:600;
}

.step svg {
  width:17px;
  height:17px;
  flex:0 0 auto;
}

.toolbar,.filters {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding:14px 18px;
  border-bottom:1px solid var(--nv-line);
}

.toolbar>label,.filters>label {
  min-width:140px;
}

.toolbar .search-field,.filters .search-field {
  flex:1;
  min-width:220px;
}

.search-field {
  display:flex;
  align-items:center;
  min-width:0;
}

.filters {
  border-bottom:0;
  padding:0 0 14px;
}

.catalog-chips {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin:0 18px 12px;
}

.catalog-chip {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:0 10px;
  border:1px solid var(--nv-line);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:var(--nv-text-2);
  font-size:12px;
}

.catalog-chip.active {
  border-color:var(--nv-select-line);
  background:var(--nv-select-soft);
  color:var(--nv-text);
}

.badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  padding:4px 9px;
  border:1px solid var(--nv-line);
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:var(--nv-text-2);
  font-size:11.5px;
  line-height:16px;
  font-weight:500;
  overflow-wrap:anywhere;
}

.badge.good {
  border-color:rgba(81,191,111,.26);
  background:var(--nv-success-soft);
  color:var(--nv-success);
}

.badge.warn {
  border-color:rgba(239,168,49,.26);
  background:var(--nv-warning-soft);
  color:var(--nv-warning);
}

.badge.bad {
  border-color:rgba(255,107,94,.28);
  background:var(--nv-danger-soft);
  color:var(--nv-danger);
}

.badge.info {
  border-color:rgba(124,183,255,.25);
  background:var(--nv-info-soft);
  color:var(--nv-info);
}

.badge-dot {
  width:6px;
  height:6px;
  flex:0 0 auto;
  border-radius:50%;
  background:currentColor;
}

.runtime-chip {
  background:var(--nv-surface-2);
}

.table-wrap {
  position:relative;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.18) transparent;
}

.table-wrap:focus-visible {
  outline:2px solid var(--nv-focus);
  outline-offset:-2px;
}

.table-wrap table {
  width:100%;
  border-collapse:collapse;
  min-width:680px;
}

.compact-table table {
  min-width:0;
}

.table-wrap th,.table-wrap td {
  padding:11px 14px;
  border-bottom:1px solid var(--nv-line);
  text-align:left;
  vertical-align:middle;
  font-size:12.5px;
  line-height:18px;
}

.table-wrap th {
  background:var(--nv-surface-2);
  color:var(--nv-text-3);
  font-size:11px;
  font-weight:600;
  letter-spacing:.02em;
}

.table-wrap tbody tr:hover {
  background:#12161D;
}

.table-wrap tbody tr:last-child td {
  border-bottom:0;
}

.table-wrap td:first-child,.table-wrap th:first-child {
  padding-left:18px;
}

.table-wrap td:last-child,.table-wrap th:last-child {
  padding-right:18px;
}

.table-wrap .mono {
  font-size:11px;
}

.table-overflow-hint {
  display:block;
  padding:7px 14px 9px;
  border-top:1px solid var(--nv-line);
  color:var(--nv-text-3);
  font-size:11px;
  line-height:15px;
}

.cell-name,.cell-stack {
  display:grid;
  min-width:0;
  gap:2px;
}

.cell-name strong,.cell-stack strong {
  overflow-wrap:anywhere;
  color:var(--nv-text);
  font-weight:600;
}

.cell-sub {
  color:var(--nv-text-3);
  font-size:11px;
  overflow-wrap:anywhere;
}

.row-actions,.inline-actions,.action-cell {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}

.row-actions .quiet,.action-cell .quiet {
  min-height:30px;
  padding:0 9px;
  font-size:11.5px;
}

.action-cell {
  justify-content:flex-end;
}

.empty {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:136px;
  padding:24px;
  text-align:center;
  color:var(--nv-text-2);
}

.empty>svg,.pending-state>svg {
  width:32px;
  height:32px;
  color:var(--nv-text-3);
}

.empty-title {
  color:var(--nv-text);
  font-size:13px;
  font-weight:600;
}

.empty-help {
  max-width:520px;
  font-size:12px;
  line-height:17px;
}

.pending-state {
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px;
  color:var(--nv-text-2);
}

.pending-state h2 {
  margin:8px 0 4px;
  color:var(--nv-text);
  font-size:15px;
}

.pending-state p {
  margin:0;
  font-size:12px;
  line-height:18px;
}

.note {
  padding:10px 12px;
  border-radius:10px;
  background:var(--nv-info-soft);
  color:var(--nv-info);
  font-size:12px;
}

.link-list {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.endpoint {
  display:block;
  margin-bottom:12px;
  padding:10px;
  border:1px solid var(--nv-line);
  border-radius:10px;
  background:var(--nv-field);
  font-family:var(--mono);
  font-size:11px;
  color:var(--nv-text-2);
  overflow-wrap:anywhere;
}

.preference-fields {
  display:grid;
  gap:8px;
  max-width:520px;
}

.identity-access {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.tabs {
  display:flex;
  gap:4px;
  margin-bottom:16px;
  border-bottom:1px solid var(--nv-line);
  overflow-x:auto;
}

.tabs a {
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 12px;
  border-bottom:2px solid transparent;
  color:var(--nv-text-2);
  font-size:12.5px;
  white-space:nowrap;
}

.tabs a[aria-selected=true],.tabs a.active {
  border-bottom-color:var(--nv-accent);
  color:var(--nv-text);
}

.feature-grid {
  display:grid;
  gap:2px;
}

.feature-toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:52px;
  padding:8px 10px;
  border-radius:10px;
}

.feature-toggle:hover {
  background:var(--nv-surface-2);
}

.feature-toggle input {
  width:36px;
  height:20px;
  accent-color:#FFFFFF;
}

.feature-advanced {
  margin-top:16px;
}

.steps+.panel-body {
  padding-top:0;
}

.pool-quick-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:0 18px 14px;
}

.pool-quick-card {
  padding:12px;
  border:1px solid var(--nv-line);
  border-radius:12px;
  background:var(--nv-surface-2);
}

.pool-quick-card-head {
  display:flex;
  justify-content:space-between;
  gap:10px;
}

.pool-quick-url {
  margin-top:4px;
  color:var(--nv-text-3);
  font:11px/16px var(--mono);
  overflow-wrap:anywhere;
}

.pool-quick-actions {
  display:flex;
  gap:6px;
  margin-top:10px;
}

.pool-quick-actions .quiet {
  min-height:30px;
  padding:0 9px;
  font-size:11px;
}

.provider-relations {
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid var(--nv-line);
}

.provider-relations-head {
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:var(--nv-text-2);
  font-size:11px;
}

.provider-pool-list {
  display:grid;
  gap:4px;
  margin-top:6px;
}

.provider-pool-row {
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:6px 8px;
  border-radius:8px;
  background:var(--nv-surface-2);
  font-size:11px;
}

.model-toggle {
  position:relative;
  display:inline-flex;
  align-items:center;
  width:36px;
  height:20px;
  padding:0;
  border:1px solid var(--nv-line-strong);
  border-radius:999px;
  background:var(--nv-surface-3);
}

.model-toggle::after {
  content:"";
  width:16px;
  height:16px;
  margin-left:1px;
  border-radius:50%;
  background:rgba(255,255,255,.8);
  transition:transform 160ms var(--ease);
}

.model-toggle[aria-checked=true],.model-toggle.enabled {
  border-color:var(--nv-select);
  background:var(--nv-select);
}

.model-toggle[aria-checked=true]::after,.model-toggle.enabled::after {
  background:var(--nv-on-select);
  transform:translateX(16px);
}

.mapping-card {
  padding:14px;
  border-bottom:1px solid var(--nv-line);
}

.mapping-card:last-child {
  border-bottom:0;
}

.mapping-card-head,.discovery-row-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.mapping-summary {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:6px;
}

.mapping-path {
  margin-top:6px;
  color:var(--nv-text-3);
  font:11px/16px var(--mono);
  overflow-wrap:anywhere;
}

.route-editor {
  display:grid;
  gap:8px;
}

.route-row {
  display:grid;
  grid-template-columns:28px minmax(0,1.2fr) minmax(0,1.2fr) 84px 84px 30px;
  align-items:end;
  gap:8px;
  padding:10px;
  border:1px solid var(--nv-line);
  border-radius:10px;
  background:var(--nv-surface-2);
}

.route-number {
  color:var(--nv-text-3);
  font:11px var(--mono);
}

.route-row input,.route-row select {
  height:34px;
}

.form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.form-grid>.full {
  grid-column:1/-1;
}

.form-grid fieldset {
  grid-column:1/-1;
  margin:0;
  padding:12px;
  border:1px solid var(--nv-line);
  border-radius:10px;
}

.form-grid fieldset legend {
  padding:0 6px;
  color:var(--nv-text-2);
  font-size:12px;
}

.form-grid .check {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:36px;
}

.form-grid .check input {
  width:18px;
  height:18px;
}

.discovery-toolbar {
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px auto;
  align-items:end;
  gap:8px;
  padding:12px 0;
}

.discovery-list {
  display:grid;
  gap:6px;
  max-height:42vh;
  overflow:auto;
  padding-right:2px;
}

.discovery-row {
  padding:10px;
  border:1px solid var(--nv-line);
  border-radius:10px;
  background:var(--nv-surface-2);
}

.discovery-row input {
  width:18px;
  height:18px;
}

.discovery-preview {
  display:grid;
  gap:10px;
  padding-top:12px;
}

.manual-model {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.discovery-actions {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.modal {
  width:min(720px,calc(100vw - 32px));
  max-height:min(88vh,900px);
  padding:0;
  border:1px solid var(--nv-line-strong);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),transparent 30%),#11151D;
  color:var(--nv-text);
  box-shadow:var(--nv-shadow-pop),inset 0 1px 0 rgba(255,255,255,.06);
}

.modal::backdrop {
  background:rgba(3,4,8,.62);
  backdrop-filter:blur(6px);
}

.modal-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px 14px;
  border-bottom:1px solid var(--nv-line-soft);
}

.modal-head h2 {
  margin:0;
  font-size:16px;
  line-height:23px;
  font-weight:600;
}

.modal-head p {
  margin:4px 0 0;
}

.modal form {
  display:flex;
  flex-direction:column;
  min-height:0;
}

.modal form>.form-grid,.modal form>#form-fields {
  overflow:auto;
  padding:18px 20px;
}

.modal-foot {
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:12px 20px;
  border-top:1px solid var(--nv-line-soft);
  background:rgba(255,255,255,.02);
}

.modal-foot .danger {
  order:2;
}

.auth-layer {
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  padding:24px;
  background:radial-gradient(closest-side at 50% 34%,rgba(47,211,228,.11),transparent 72%),radial-gradient(52% 46% at 64% 60%,rgba(124,183,255,.06),transparent 72%),var(--nv-bg);
}

.auth-card {
  width:min(400px,100%);
  padding:30px;
  border:1px solid var(--nv-line);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015) 42%),var(--nv-glass);
  box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.07);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  backdrop-filter:blur(22px) saturate(140%);
  animation:nv-rise 520ms var(--ease) both;
}

.auth-brand {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:28px;
}

.auth-brand img {
  width:40px;
  height:40px;
  border-radius:0;
  object-fit:contain;
  filter:drop-shadow(0 6px 18px rgba(47,211,228,.25));
}

.auth-brand strong {
  font-size:15.5px;
  font-weight:600;
}

.auth-brand .locale-control {
  margin-left:auto;
}

.auth-card h1 {
  margin:0;
  font-size:22px;
  line-height:30px;
  font-weight:600;
  letter-spacing:-.01em;
}

.auth-card>.desc {
  margin:6px 0 22px;
}

.auth-card form {
  display:grid;
  gap:14px;
}

.auth-card .primary {
  width:100%;
  min-height:42px;
}

.auth-foot {
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:20px;
  color:var(--nv-text-3);
  font-size:12px;
}

.auth-foot svg {
  width:16px;
  height:16px;
  flex:0 0 auto;
}

.scrim {
  display:none;
  position:fixed;
  inset:0;
  z-index:35;
  border:0;
  background:rgba(3,4,8,.62);
}

.scrim.open {
  display:block;
}

.toasts {
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:100;
  display:grid;
  gap:8px;
  width:min(360px,calc(100vw - 32px));
}

.toast {
  padding:12px 16px 14px 42px;
  border:1px solid var(--nv-line-strong);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015)),#151922;
  color:var(--nv-text);
  box-shadow:var(--nv-shadow-pop);
  font-size:12.5px;
  position:relative;
  overflow:hidden;
  line-height:18px;
  animation:nv-toast-in 320ms var(--ease) both;
}

.toast.bad {
  border-color:rgba(255,107,94,.32);
  background:linear-gradient(180deg,rgba(255,107,94,.1),rgba(255,107,94,.035)),#151922;
}

.page[data-page-view=analytics] .pending-slot>.panel>.panel-head h2,.page[data-page-view=requests] .pending-slot>.panel>.panel-head h2 {
  display:none;
}

.page[data-page-view=analytics] .pending-slot>.panel>.panel-head {
  padding-bottom:0;
  border-bottom:0;
}

.page[data-page-view=requests] .pending-slot>.panel>.panel-head {
  padding-bottom:0;
  border-bottom:0;
}

.table-wrap tbody tr {
  transition:background 160ms var(--ease);
}

body.sidebar-collapsed {
  --sidebar:72px;
}

body.sidebar-collapsed .sidebar {
  width:72px;
  padding-inline:8px;
}

body.sidebar-collapsed .brand {
  justify-content:center;
  padding-inline:0;
}

body.sidebar-collapsed .brand-copy,body.sidebar-collapsed .nav-label,body.sidebar-collapsed .nav a span,body.sidebar-collapsed .side-foot .conn span,body.sidebar-collapsed .account-box>div,body.sidebar-collapsed .logout span {
  display:none;
}

body.sidebar-collapsed .nav a {
  justify-content:center;
  padding-inline:0;
}

body.sidebar-collapsed .side-foot {
  padding-inline:0;
  align-items:center;
}

body.sidebar-collapsed .conn,body.sidebar-collapsed .account-box {
  justify-content:center;
  padding-inline:0;
}

body.sidebar-collapsed .logout {
  width:36px;
  padding-inline:0;
}

.desktop-sidebar-toggle {
  display:inline-flex;
}

@media (max-width:1279px) {
  .content {
    padding-inline:20px;
  }
  .topbar {
    padding-inline:20px;
  }
}

@media (min-width:761px) and (max-width:1024px) {
  .metrics {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px) {
  .desktop-sidebar-toggle {
    display:none;
  }
  .mobile-menu {
    display:inline-flex;
  }
  .sidebar {
    width:276px;
    transform:translateX(calc(-100% - 24px));
    box-shadow:0 18px 48px rgba(0,0,0,.45);
  }
  .sidebar.open {
    transform:translateX(0);
  }
  .main {
    width:100%;
    margin-left:0;
  }
  .topbar {
    padding:10px 16px;
  }
  .top-actions {
    gap:6px;
  }
  .top-actions .runtime-chip,.top-actions .top-meta,.top-actions .locale-control {
    display:none;
  }
  .content {
    padding:16px 16px 44px;
  }
  .page-head {
    margin-bottom:18px;
  }
  .page-head .primary {
    min-height:44px;
  }
  .metrics {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .metric {
    min-height:96px;
    padding:12px;
  }
  .metric-value {
    font-size:23px;
    line-height:28px;
  }
  .metric-note {
    display:none;
  }
  .two-col {
    grid-template-columns:1fr;
    gap:12px;
    margin-top:12px;
  }
  .toolbar {
    align-items:stretch;
    padding:12px;
  }
  .toolbar>label,.filters>label {
    min-width:100%;
    flex:1;
  }
  .toolbar .search-field,.filters .search-field {
    min-width:100%;
  }
  .tabs {
    margin-bottom:12px;
  }
  .table-wrap {
    margin-inline:-1px;
  }
  .table-wrap table {
    min-width:680px;
  }
  .table-wrap th:first-child,.table-wrap td:first-child {
    position:sticky;
    left:0;
    z-index:2;
    background:var(--nv-surface-1);
    box-shadow:1px 0 0 var(--nv-line);
  }
  .table-wrap th:first-child {
    background:var(--nv-surface-2);
  }
  .form-grid {
    grid-template-columns:1fr;
  }
  .route-row {
    grid-template-columns:24px minmax(0,1fr) minmax(0,1fr) 70px 70px 30px;
    overflow:auto;
  }
  .pool-quick-grid {
    grid-template-columns:1fr;
    padding-inline:12px;
  }
  .discovery-toolbar {
    grid-template-columns:1fr;
  }
  .manual-model {
    grid-template-columns:1fr;
  }
  .modal {
    width:100%;
    max-width:none;
    height:100%;
    max-height:none;
    border-radius:0;
    border-inline:0;
  }
  .modal-foot {
    position:sticky;
    bottom:0;
  }
  .auth-layer {
    padding:16px;
  }
  .auth-card {
    padding:22px;
  }
  .toasts {
    right:16px;
    bottom:16px;
  }
  .page-head {
    align-items:stretch;
    flex-direction:column;
  }
  .page-head .primary {
    align-self:flex-start;
  }
  .top-left {
    min-width:0;
  }
  .crumb {
    max-width:180px;
  }
}

@media(max-width:767px) {
  .sidebar {
    width:276px;
  }
  .content {
    padding-inline:16px;
  }
  .table-overflow-hint {
    font-size:11px;
  }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}

.mobile-menu {
  display:none;
}

.settings-layout {
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:16px;
  align-items:start;
}

.settings-tabs {
  display:grid;
  gap:4px;
  padding:6px;
  border:1px solid var(--nv-line);
  border-radius:var(--nv-radius-card);
  background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.008)),var(--nv-surface-1);
}

.settings-tabs button {
  display:flex;
  align-items:center;
  min-height:38px;
  padding:0 10px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--nv-text-2);
  font:inherit;
  font-size:12.5px;
  text-align:left;
  cursor:pointer;
}

.settings-tabs button:hover {
  background:var(--nv-surface-2);
  color:var(--nv-text);
}

.settings-tabs button[aria-selected=true] {
  background:var(--nv-select-soft);
  color:var(--nv-text);
  font-weight:600;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.1);
}

.settings-content {
  min-width:0;
}

.settings-content>.panel[hidden] {
  display:none;
}

.settings-content>.panel {
  margin:0;
}

.list-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  padding:10px 18px;
  color:var(--nv-text-2);
  font-size:12px;
}

.bar-chart {
  display:flex;
  align-items:flex-end;
  gap:10px;
  min-height:180px;
  padding:16px 6px 4px;
  border-bottom:1px solid var(--nv-line);
}

.chart-column {
  display:flex;
  flex:1;
  min-width:28px;
  height:160px;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
}

.chart-bars {
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:3px;
  width:100%;
  height:140px;
}

.chart-bar {
  display:block;
  width:10px;
  min-height:2px;
  border-radius:4px 4px 0 0;
}

.chart-bar.total {
  background:rgba(255,255,255,.22);
}

.chart-bar.success {
  background:rgba(255,255,255,.86);
}

.chart-label {
  max-width:80px;
  overflow:hidden;
  color:var(--nv-text-3);
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.chart-legend {
  display:flex;
  gap:16px;
  padding-top:10px;
  color:var(--nv-text-2);
  font-size:11px;
}

.chart-legend span {
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.chart-legend i {
  width:7px;
  height:7px;
  border-radius:50%;
}

.legend-total {
  background:rgba(255,255,255,.22);
}

.legend-success {
  background:rgba(255,255,255,.86);
}

.unsaved-bar {
  display:flex;
  align-items:center;
  gap:10px;
  margin:14px 18px;
  padding:10px 12px;
  border:1px solid rgba(242,196,107,.25);
  border-radius:10px;
  background:var(--nv-warning-soft);
  color:var(--nv-warning);
  font-size:12px;
}

.unsaved-bar>span:nth-child(2) {
  flex:1;
}

.unsaved-bar .row-actions {
  justify-content:flex-end;
}

.modal.drawer {
  width:min(520px,calc(100vw - 32px));
  height:min(100%,100vh);
  max-height:100vh;
  margin:0 0 0 auto;
  border-radius:20px 0 0 20px;
}

.modal.drawer::backdrop {
  background:rgba(3,4,8,.56);
}

.modal.drawer[open] {
  animation:drawer-in 160ms var(--ease);
}

.modal.drawer form {
  height:calc(100vh - 79px);
}

.modal.drawer .form-grid {
  flex:1;
}

.modal.confirm-modal {
  width:min(440px,calc(100vw - 32px));
}

.modal.confirm-modal .form-grid {
  padding-bottom:10px;
}

@keyframes drawer-in {
  from {
    transform:translateX(24px);
    opacity:.65;
  }
  to {
    transform:translateX(0);
    opacity:1;
  }
}

@media(max-width:1024px) and (min-width:761px) {
  body:not(.sidebar-collapsed) .sidebar {
    width:72px;
    padding-inline:8px;
  }
  body:not(.sidebar-collapsed) .brand {
    justify-content:center;
    padding-inline:0;
  }
  body:not(.sidebar-collapsed) .brand-copy,body:not(.sidebar-collapsed) .nav-label,body:not(.sidebar-collapsed) .nav a span,body:not(.sidebar-collapsed) .side-foot .conn span,body:not(.sidebar-collapsed) .account-box>div,body:not(.sidebar-collapsed) .logout span {
    display:none;
  }
  body:not(.sidebar-collapsed) .nav a {
    justify-content:center;
    padding-inline:0;
  }
  body:not(.sidebar-collapsed) .side-foot {
    padding-inline:0;
    align-items:center;
  }
  body:not(.sidebar-collapsed) .conn,body:not(.sidebar-collapsed) .account-box {
    justify-content:center;
    padding-inline:0;
  }
  body:not(.sidebar-collapsed) .logout {
    width:36px;
    padding-inline:0;
  }
  .settings-layout {
    grid-template-columns:180px minmax(0,1fr);
  }
}

@media(max-width:760px) {
  .mobile-menu {
    display:inline-flex;
  }
  .settings-layout {
    grid-template-columns:1fr;
  }
  .settings-tabs {
    display:flex;
    overflow-x:auto;
  }
  .settings-tabs button {
    flex:0 0 auto;
    white-space:nowrap;
  }
  .modal.drawer {
    width:100%;
    max-width:none;
    border-radius:0;
  }
  .chart-column {
    min-width:22px;
  }
  .chart-bar {
    width:7px;
  }
}

.feature-section {
  padding:0 18px 14px;
}

.feature-section h3 {
  margin:16px 10px 6px;
  color:var(--nv-text-2);
  font-size:12px;
  font-weight:600;
}

.feature-copy {
  display:grid;
  gap:2px;
  min-width:0;
}

.feature-copy strong {
  color:var(--nv-text);
  font-size:13px;
  font-weight:500;
}

.feature-toggle input[role=switch] {
  appearance:none;
  width:36px;
  height:20px;
  flex:0 0 auto;
  margin:0;
  border:1px solid var(--nv-line-strong);
  border-radius:999px;
  background:var(--nv-surface-3);
  position:relative;
  cursor:pointer;
}

.feature-toggle input[role=switch]::after {
  content:"";
  position:absolute;
  top:1px;
  left:1px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:rgba(255,255,255,.8);
  transition:transform 160ms var(--ease);
}

.feature-toggle input[role=switch]:checked {
  border-color:var(--nv-select);
  background:var(--nv-select);
}

.feature-toggle input[role=switch]:checked::after {
  background:var(--nv-on-select);
  transform:translateX(16px);
}

.feature-toggle input[role=switch]:disabled {
  opacity:.5;
  cursor:not-allowed;
}

.readonly-note {
  margin:0;
  padding:0 28px 18px;
  color:var(--nv-text-3);
  font-size:12px;
}

.concurrency-select {
  width:70px;
  height:36px;
  padding:0 10px;
  border:1px solid var(--nv-line-strong);
  border-radius:10px;
  background:var(--nv-field);
}

.feature-advanced summary {
  padding:10px;
  color:var(--nv-text-2);
  font-size:12px;
  cursor:pointer;
}

.access-options {
  display:grid;
  width:100%;
  gap:10px;
}

.access-option {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px;
  border:1px solid var(--nv-line-strong);
  border-radius:12px;
  background:var(--nv-field);
  text-align:left;
}

.access-option-copy {
  display:grid;
  gap:4px;
  min-width:0;
}

.access-option-copy strong {
  color:var(--nv-text);
  font-size:13px;
  font-weight:600;
}

.access-option-copy>span {
  color:var(--nv-text-2);
  font-size:12px;
  line-height:18px;
}

.access-option.selected {
  border-color:var(--nv-select-line);
  background:var(--nv-select-soft);
}

.access-option:disabled {
  opacity:1;
  cursor:default;
}

.confirm-copy {
  grid-column:1/-1;
  color:var(--nv-text-2);
  font-size:13px;
  line-height:20px;
}

.modal.drawer {
  width:min(520px,100vw);
  height:100vh;
  max-height:100vh;
  max-width:none;
  margin:0 0 0 auto;
  border-radius:20px 0 0 20px;
}

.modal.drawer form {
  height:calc(100vh - 92px);
}

.modal.drawer #form-fields {
  flex:1;
  overflow-y:auto;
}

.modal.confirm-modal {
  width:min(440px,calc(100vw - 32px));
}

.modal.drawer .route-row {
  grid-template-columns:20px 1fr 1fr;
  align-items:end;
}

.modal.drawer .route-row>.field {
  min-width:0;
}

.modal.drawer .route-row .remove-route {
  grid-column:3;
  justify-self:end;
}

.modal.drawer .provider-pool-row {
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.modal.drawer .provider-pool-models {
  display:grid;
  gap:6px;
}

.model-toggle {
  width:auto;
  height:32px;
  padding:0 10px;
  border-radius:999px;
}

.model-toggle::after {
  display:none;
  background:rgba(255,255,255,.8);
}

.model-toggle[aria-pressed=true] {
  border-color:var(--nv-select-line);
  background:var(--nv-select-soft);
  color:var(--nv-text);
}

.model-toggle[aria-pressed=false] {
  border-color:var(--nv-line-strong);
  background:var(--nv-surface-2);
  color:var(--nv-text-2);
}

.side-foot {
  margin-top:0;
}

.settings-nav {
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid var(--nv-line);
}

@media(max-width:760px) {
  .modal.drawer {
    width:100%;
    border-radius:0;
  }
  .feature-toggle {
    padding-inline:4px;
  }
  .unsaved-bar {
    align-items:flex-start;
    flex-wrap:wrap;
    margin:12px;
  }
  .unsaved-bar .row-actions {
    width:100%;
  }
  .access-option {
    align-items:flex-start;
  }
  .access-option .badge {
    white-space:nowrap;
  }
  .quiet,.primary,.danger,.icon-button {
    min-height:44px;
  }
  .icon-button {
    width:44px;
    min-width:44px;
  }
  .model-toggle {
    height:44px;
  }
  .toolbar input,.toolbar select,.filters input,.filters select,.preference-fields input,.preference-fields select {
    height:44px;
  }
  .nav a {
    min-height:44px;
  }
}

.kind-breakdown {
  display:grid;
  gap:12px;
}

.kind-bar-row {
  display:grid;
  grid-template-columns:110px minmax(0,1fr) 32px;
  align-items:center;
  gap:10px;
  color:var(--nv-text-2);
  font-size:12px;
}

.kind-bar-row strong {
  text-align:right;
  color:var(--nv-text);
  font-variant-numeric:tabular-nums;
}

.kind-bar-track {
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:var(--nv-surface-2);
}

.kind-bar-track span {
  display:block;
  height:100%;
  border-radius:inherit;
  background:rgba(255,255,255,.8);
}

.step-num.complete {
  border-color:rgba(91,214,154,.35);
  background:var(--nv-success-soft);
  color:var(--nv-success);
}

.step-num.complete::before {
  content:"";
}

.nav a[hidden] {
  display:none;
}

.request-detail {
  min-height:30px;
  padding-inline:9px;
  font-size:11.5px;
}

.modal.drawer.confirm-modal {
  height:auto;
  max-height:calc(100vh - 32px);
  margin:auto;
  border-radius:16px;
}

.modal.drawer.confirm-modal form {
  height:auto;
}

.modal.drawer.confirm-modal #form-fields {
  max-height:50vh;
}

.modal.drawer.confirm-modal .modal-foot {
  position:static;
}

.row-menu {
  position:relative;
}

.row-menu summary {
  display:grid;
  place-items:center;
  min-width:32px;
  min-height:32px;
  border:1px solid var(--nv-line-strong);
  border-radius:9px;
  background:var(--nv-surface-2);
  color:var(--nv-text-2);
  font-size:20px;
  list-style:none;
  cursor:pointer;
}

.row-menu summary::-webkit-details-marker {
  display:none;
}

.row-menu-content {
  position:absolute;
  top:calc(100% + 4px);
  right:0;
  z-index:10;
  display:grid;
  gap:3px;
  min-width:150px;
  padding:5px;
  border:1px solid var(--nv-line-strong);
  border-radius:10px;
  background:var(--nv-surface-3);
  box-shadow:0 18px 48px rgba(0,0,0,.45);
}

.row-menu-content button {
  min-height:32px;
  padding:6px 10px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--nv-text-2);
  font:inherit;
  font-size:12px;
  text-align:left;
}

.row-menu-content button:hover {
  background:var(--nv-surface-2);
  color:var(--nv-text);
}

.row-menu-content button.delete {
  color:var(--nv-danger);
}

.row-menu[open] {
  z-index:12;
}

.table-wrap:has(.row-menu[open]) {
  padding-bottom:105px;
}

.table-wrap:has(.row-menu[open]) table {
  margin-bottom:-105px;
}

.bulk-bar {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:12px 18px;
  padding:8px 12px;
  border:1px solid var(--nv-line-strong);
  border-radius:10px;
  background:rgba(255,255,255,.05);
  color:var(--nv-text);
  font-size:12px;
}

.bulk-bar>span {
  flex:1;
}

.model-selection,.model-select-visible {
  width:16px;
  height:16px;
  accent-color:#FFFFFF;
}

.selected-row {
  background:rgba(255,255,255,.05);
}

.model-toggle {
  position:relative;
  width:36px;
  min-width:36px;
  height:20px;
  min-height:20px;
  padding:0;
  border:1px solid var(--nv-line-strong);
  border-radius:999px;
  background:var(--nv-surface-3);
}

.model-toggle::after {
  display:block;
  content:"";
  position:absolute;
  top:1px;
  left:1px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:rgba(255,255,255,.8);
  transition:transform 160ms var(--ease);
}

.model-toggle[aria-checked=true] {
  border-color:var(--nv-select);
  background:var(--nv-select);
}

.model-toggle[aria-checked=true]::after {
  background:var(--nv-on-select);
  transform:translateX(16px);
}

.model-toggle[aria-checked=false] {
  border-color:var(--nv-line-strong);
  background:var(--nv-surface-3);
}

.tabs {
  display:none;
}

.metrics.compact {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.metrics.compact .metric {
  min-height:80px;
  padding:12px;
}

.metrics.compact .metric-value {
  font-size:23px;
}

.ready-layout {
  grid-template-columns:1fr;
}

.metric-note {
  display:none;
}

.metric {
  min-height:112px;
}

.list-meta .mono {
  font-family:inherit;
}

.pool-quick-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 18px;
}

.pool-quick-head h2 {
  margin:0;
  font-size:13px;
}

.pool-quick-head p {
  display:none;
}

.pool-quick-empty {
  padding:12px 18px;
  border-bottom:1px solid var(--nv-line);
  color:var(--nv-text-2);
  font-size:12px;
}

.pool-quick-empty span {
  display:block;
  color:var(--nv-text-3);
  font-size:11px;
}

.page[data-page-view=overview]>.panel {
  margin-top:16px;
}

.kind-bar-row {
  grid-template-columns:140px minmax(0,1fr) 32px;
}

.metric-note:hover {
  display:block;
}

@media(max-width:760px) {
  .row-menu summary {
    min-width:44px;
    min-height:44px;
  }
  .row-menu-content button {
    min-height:44px;
  }
  .model-toggle {
    width:44px;
    min-width:44px;
    height:24px;
    min-height:24px;
  }
  .model-toggle::after {
    top:2px;
    left:2px;
    width:18px;
    height:18px;
  }
  .model-toggle[aria-checked=true]::after {
    transform:translateX(20px);
  }
  .bulk-bar {
    margin:12px;
  }
  .kind-bar-row {
    grid-template-columns:90px minmax(0,1fr) 28px;
  }
  .metrics.compact {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

#feature-policy,#creator-execution-policy {
  padding:0;
}

.page[data-page-view=features]>.panel {
  margin-top:16px;
}

.feature-grid .feature-toggle {
  min-height:64px;
  border-bottom:1px solid var(--nv-line);
  border-radius:0;
}

.feature-grid .feature-toggle:last-child {
  border-bottom:0;
}

.feature-section {
  padding-inline:10px;
}

.feature-copy .helper {
  font-size:12px;
}

.feature-copy .cell-sub {
  font-size:11px;
}

.unsaved-bar {
  position:sticky;
  bottom:12px;
  z-index:4;
}

.primary-cell .cell-name {
  display:block;
}

.primary-cell .cell-name .badge {
  margin-left:6px;
  vertical-align:middle;
}

.route-cell .cell-sub,.route-cell .mono {
  display:block;
}

.table-wrap td:nth-child(4)>.cell-sub,.table-wrap td:nth-child(4)>.mono {
  display:block;
}

.catalog-chip[aria-pressed=true] {
  border-color:var(--nv-select-line);
  background:var(--nv-select-soft);
  color:var(--nv-text);
}

.provider-row .relation-count {
  display:block;
  margin-top:4px;
  color:var(--nv-text-3);
  font-size:11px;
}

.toolbar .filters {
  display:flex;
  flex:1;
  gap:8px;
  padding:0;
}

.toolbar .filters label:first-child {
  min-width:220px;
  flex:1;
}

.toolbar {
  border-bottom:0;
}

.panel-head>.section-desc,.panel-head>div>.section-desc {
  font-size:12px;
}

.panel-head {
  align-items:center;
}

.auth-card .locale-control {
  max-width:none;
  flex:0 0 auto;
}

.auth-card .locale-select {
  min-width:120px;
  max-width:none;
}

.top-meta {
  max-width:175px;
  overflow:hidden;
  text-overflow:ellipsis;
}

.metrics .metric-meta {
  font-size:11px;
}

.kind-bar-row {
  grid-template-columns:170px minmax(0,1fr) 32px;
}

.panel:has(#overview-health) {
  margin-top:16px;
}

.page[data-page-view=overview] .two-col:last-child {
  grid-template-columns:.85fr 1.15fr;
}

@media(min-width:761px) and (max-width:1279px) {
  :root {
    --sidebar:72px;
  }
  .sidebar {
    width:72px;
    padding-inline:8px;
  }
  .brand {
    justify-content:center;
    padding-inline:0;
  }
  .brand-copy,.nav-label,.nav a span,.side-foot .conn span,.account-box>div,.logout span {
    display:none;
  }
  .nav a {
    justify-content:center;
    padding-inline:0;
  }
  .side-foot {
    padding-inline:0;
    align-items:center;
  }
  .conn,.account-box {
    justify-content:center;
    padding-inline:0;
  }
  .logout {
    width:36px;
    padding-inline:0;
  }
  .metrics {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .top-actions .top-meta {
    display:none;
  }
}

@media(max-width:760px) {
  .page[data-page-view=overview] .two-col:last-child {
    grid-template-columns:1fr;
  }
  .toolbar .filters label:first-child {
    min-width:100%;
  }
  .feature-grid .feature-toggle {
    min-height:76px;
  }
  .kind-bar-row {
    grid-template-columns:110px minmax(0,1fr) 28px;
  }
  .metrics.compact {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .metrics.compact .metric {
    min-height:70px;
    padding:8px;
  }
  .metrics.compact .metric-value {
    font-size:20px;
  }
  .sidebar .brand-copy,.sidebar .nav-label,.sidebar .nav a span,.sidebar .side-foot .conn span,.sidebar .account-box>div,.sidebar .logout span {
    display:initial;
  }
  .sidebar .brand,.sidebar .nav a,.sidebar .conn,.sidebar .account-box {
    justify-content:flex-start;
  }
  .sidebar .logout {
    width:100%;
    justify-content:flex-start;
  }
  .sidebar .brand-copy {
    display:grid;
  }
}

.form-section-title {
  margin:4px 0 0;
  padding-bottom:8px;
  border-bottom:1px solid var(--nv-line);
  font-size:13px;
  line-height:20px;
  font-weight:600;
  color:var(--nv-text);
}

.field-label-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.form-grid .check {
  border:1px solid var(--nv-line);
  border-radius:10px;
  padding:8px;
}

.modal.drawer .form-grid {
  grid-template-columns:1fr;
}

.modal.drawer .field input,.modal.drawer .field select {
  height:40px;
}

.badge.good:not(:has(.badge-dot))::before,.badge.warn:not(:has(.badge-dot))::before,.badge.bad:not(:has(.badge-dot))::before,.badge.info:not(:has(.badge-dot))::before {
  content:"";
  width:6px;
  height:6px;
  flex:0 0 auto;
  border-radius:50%;
  background:currentColor;
}

.metric-label:has(+.metric-value) {
  font-size:12px;
}

.panel-body>h3 {
  margin:0 0 12px;
  font-size:14px;
  font-weight:600;
}

.metric-info {
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  margin:0 0 0 4px;
  padding:0;
  border:1px solid var(--nv-line-strong);
  border-radius:50%;
  background:var(--nv-surface-2);
  color:var(--nv-text-2);
  font-size:12px;
  line-height:1;
  cursor:help;
  vertical-align:middle;
}

.metric-info:hover {
  border-color:var(--nv-select-line);
  color:var(--nv-text);
  background:var(--nv-select-soft);
}

.pool-quick-group {
  border-bottom:1px solid var(--nv-line);
}

.pool-quick-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 18px;
  cursor:pointer;
  list-style:none;
}

.pool-quick-summary::-webkit-details-marker {
  display:none;
}

.pool-quick-summary>span:first-of-type {
  display:grid;
  gap:2px;
  min-width:0;
}

.pool-quick-summary strong {
  font-size:13px;
  color:var(--nv-text);
}

.pool-quick-summary span span {
  font-size:11px;
  color:var(--nv-text-3);
}

.pool-quick-empty {
  margin:0 18px 14px;
  padding:10px 12px;
  border-radius:10px;
  background:var(--nv-surface-2);
  color:var(--nv-text-2);
  font-size:12px;
}

.pool-quick-empty span {
  color:var(--nv-text-3);
}

.skeleton-state {
  display:grid;
  gap:12px;
  padding:20px;
  min-height:160px;
}

.skeleton-line {
  display:block;
  min-width:0;
  height:12px;
  border-radius:6px;
  background:linear-gradient(90deg,var(--nv-surface-2),var(--nv-surface-3),var(--nv-surface-2));
  background-size:200% 100%;
  animation:skeleton-pulse 1.6s ease-in-out infinite;
}

.skeleton-header {
  width:42%;
  height:16px;
}

.skeleton-row {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:16px;
  padding:10px 0;
  border-bottom:1px solid var(--nv-line);
}

@keyframes skeleton-pulse {
  to {
    background-position:-200% 0;
  }
}

.modal.drawer[open] {
  display:flex;
  flex-direction:column;
  height:100dvh;
  max-height:100dvh;
}

.modal.drawer .modal-head {
  flex:0 0 auto;
}

.modal.drawer form {
  flex:1;
  min-height:0;
  height:auto;
  overflow:hidden;
}

.modal.drawer #form-fields {
  flex:1;
  min-height:0;
  overflow:auto;
}

.modal.drawer .modal-foot {
  flex:0 0 auto;
  position:static;
}

.modal.confirm-modal {
  height:auto;
  max-height:calc(100dvh - 32px);
  margin:auto;
  border-radius:16px;
  border:1px solid var(--nv-line-strong);
}

.modal.confirm-modal[open] {
  display:flex;
  flex-direction:column;
}

.modal.confirm-modal form {
  min-height:0;
  overflow:auto;
}

.modal.confirm-modal .modal-foot {
  position:static;
}

.modal.confirm-modal .modal-head p {
  display:none;
}

@media(max-width:760px) {
  .sidebar {
    width:276px;
    padding:16px 12px;
  }
  .sidebar .brand-copy {
    display:grid;
  }
  .sidebar .nav-label {
    display:flex;
  }
  .sidebar .nav a span,.sidebar .conn span,.sidebar .account-box>div,.sidebar .logout span {
    display:block;
  }
  .sidebar .brand,.sidebar .nav a,.sidebar .conn,.sidebar .account-box {
    justify-content:flex-start;
  }
  .sidebar .logout {
    width:100%;
    justify-content:flex-start;
  }
  .sidebar.open {
    transform:translateX(0);
  }
  .pool-quick-summary {
    min-height:44px;
  }
  .row-actions .quiet,.action-cell .quiet,.pool-quick-actions .quiet,.settings-tabs button,.request-detail {
    min-height:44px;
  }
  .model-toggle {
    height:44px;
    min-height:44px;
    border:0;
    background:transparent!important;
    position:relative;
  }
  .model-toggle::before {
    content:"";
    position:absolute;
    width:40px;
    height:22px;
    top:11px;
    left:1px;
    border:1px solid var(--nv-line-strong);
    border-radius:999px;
    background:var(--nv-surface-3);
  }
  .model-toggle::after {
    top:14px;
    left:4px;
    width:16px;
    height:16px;
  }
  .model-toggle[aria-checked=true]::before {
    background:var(--nv-select);
    border-color:var(--nv-select);
  }
  .model-toggle[aria-checked=true]::after {
    transform:translateX(18px);
  }
  .modal.drawer .field input,.modal.drawer .field select {
    min-height:44px;
  }
  .metric-info {
    width:24px;
    height:24px;
  }
  .metrics.compact {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(min-width:761px) and (max-width:1279px) {
  .desktop-sidebar-toggle {
    display:none;
  }
}

.modal.confirm-modal {
  height:fit-content;
  min-height:0;
  inset:0;
  overflow:hidden;
}

.modal.confirm-modal form {
  flex:0 1 auto;
}

.modal.confirm-modal .modal-head {
  flex:0 0 auto;
}

.metric-info.metric-note {
  display:inline-grid;
}

.metric-info.metric-note:hover {
  display:inline-grid;
}

.cell-sub,.table-wrap .mono,.metrics .metric-meta,.chart-label,.chart-legend,.feature-copy .cell-sub,.provider-row .relation-count,.pool-quick-url,.pool-quick-summary span span,.table-overflow-hint,.readonly-note {
  font-size:12px;
  line-height:17px;
}

.row-menu summary:focus-visible,.pool-quick-summary:focus-visible,.feature-advanced summary:focus-visible {
  outline:2px solid var(--nv-focus);
  outline-offset:2px;
}

@media(max-width:1024px) {
  .table-wrap th:first-child,.table-wrap td:first-child {
    position:sticky;
    left:0;
    z-index:2;
    background:var(--nv-surface-1);
    box-shadow:1px 0 0 var(--nv-line);
  }
  .table-wrap th:first-child {
    background:var(--nv-surface-2);
  }
  #catalog-list .table-wrap:has(.model-selection) th:first-child,#catalog-list .table-wrap:has(.model-selection) td:first-child {
    width:48px;
    min-width:48px;
    max-width:48px;
    padding-left:14px;
    padding-right:14px;
  }
  #catalog-list .table-wrap:has(.model-selection) th:nth-child(2),#catalog-list .table-wrap:has(.model-selection) td:nth-child(2) {
    position:sticky;
    left:48px;
    z-index:2;
    max-width:190px;
    background:var(--nv-surface-1);
    box-shadow:1px 0 0 var(--nv-line);
  }
  #catalog-list .table-wrap:has(.model-selection) th:nth-child(2) {
    background:var(--nv-surface-2);
  }
  .table-wrap th:nth-child(2),.table-wrap td:nth-child(2) {
    overflow-wrap:anywhere;
  }
}

.concurrency-stepper {
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}

.concurrency-stepper .icon-button {
  width:36px;
  min-height:36px;
}

.concurrency-stepper .concurrency-select {
  width:62px;
  min-height:36px;
  text-align:center;
  font-variant-numeric:tabular-nums;
}

@media(max-width:760px) {
  .concurrency-stepper .icon-button {
    width:44px;
    min-height:44px;
  }
  .concurrency-stepper .concurrency-select {
    min-height:44px;
  }
}

.detail-row {
  cursor:pointer;
}

.detail-row:focus-visible {
  outline:2px solid var(--nv-focus);
  outline-offset:-2px;
}

.route-card {
  display:grid;
  gap:12px;
  padding:12px;
  border:1px solid var(--nv-line);
  border-radius:12px;
  background:var(--nv-surface-2);
}

.route-card-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) 36px;
  align-items:start;
  gap:8px;
}

.route-field {
  display:grid;
  gap:6px;
  min-width:0;
}

.route-field>label {
  font-size:12px;
  font-weight:500;
  color:var(--nv-text);
}

.route-card input,.route-card select {
  width:100%;
  height:38px;
}

.route-card-meta {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.15fr);
  align-items:end;
  gap:10px;
}

.route-enabled {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 8px;
  border:1px solid var(--nv-line);
  border-radius:10px;
  white-space:nowrap;
}

.route-enabled input {
  width:18px!important;
  height:18px!important;
}

.catalog-mobile-cards {
  display:none;
}

.catalog-card {
  display:grid;
  gap:10px;
  padding:14px 16px;
  border-bottom:1px solid var(--nv-line);
  background:var(--nv-surface-1);
}

.catalog-card:last-child {
  border-bottom:0;
}

.catalog-card-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}

.catalog-card-identity {
  display:grid;
  min-width:0;
  gap:3px;
}

.catalog-card-identity strong {
  min-width:0;
  color:var(--nv-text);
  font-size:13px;
  line-height:19px;
  overflow-wrap:anywhere;
}

.catalog-card-identity .badge {
  margin-left:5px;
  vertical-align:middle;
}

.catalog-card-chips {
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none;
}

.catalog-card-chips::-webkit-scrollbar {
  display:none;
}

.catalog-card-chips .badge {
  flex:0 0 auto;
}

.catalog-card-link {
  width:max-content;
  font-size:12px;
}

.catalog-card-endpoint,.catalog-card-upstream {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mobile-card-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

.mobile-card-actions>.icon-button,.mobile-card-actions>.row-menu>summary {
  width:44px;
  min-width:44px;
  min-height:44px;
}

.catalog-static-switch {
  display:inline-flex;
  align-items:center;
  width:40px;
  height:24px;
  flex:0 0 auto;
  padding:2px;
  border:1px solid var(--nv-line-strong);
  border-radius:999px;
  background:var(--nv-surface-3);
}

.catalog-static-switch>span {
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(255,255,255,.8);
}

.catalog-static-switch.is-on {
  border-color:var(--nv-select);
  background:var(--nv-select);
}

.catalog-static-switch.is-on>span {
  background:var(--nv-on-select);
  transform:translateX(16px);
}

.kind-chip,.route-chip,.catalog-chip,.badge {
  white-space:nowrap;
  overflow-wrap:normal;
}

.table-wrap tbody tr {
  background:var(--nv-surface-1);
}

.table-wrap tbody tr:hover td {
  background:#12161D;
}

.table-wrap td.action-cell {
  display:table-cell;
  background:inherit;
}

.table-wrap td.action-cell>.row-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
}

.feature-layout {
  display:block;
}

.table-wrap tbody tr.selected-row td {
  background:#151A22;
}

@media(min-width:1280px) {
  .page[data-page-view=features] .feature-layout {
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);
    gap:16px;
    align-items:start;
  }
  .page[data-page-view=features] .feature-layout>.panel {
    margin-top:16px;
    min-width:0;
  }
}

@media(max-width:760px) {
  .catalog-chips {
    margin-inline:14px;
    flex-wrap:nowrap;
    overflow-x:auto;
    justify-content:flex-start;
    scrollbar-width:none;
    padding-bottom:2px;
  }
  .catalog-chips::-webkit-scrollbar {
    display:none;
  }
  .catalog-chip {
    flex:0 0 auto;
  }
  .catalog-mobile-cards {
    display:grid;
  }
  #catalog-list .catalog-desktop-table {
    display:none;
  }
  .mobile-card-actions .row-menu-content {
    right:0;
    left:auto;
    min-width:170px;
  }
  .mobile-card-actions .delete,.mobile-card-actions .quiet {
    min-height:44px;
    padding-inline:12px;
  }
  .route-card-meta {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
    gap:8px;
  }
  .route-enabled {
    justify-content:flex-start;
    padding-inline:6px;
  }
  .route-card-head .remove-route {
    width:44px;
    min-width:44px;
    min-height:44px;
  }
  .route-card input,.route-card select {
    min-height:44px;
    height:44px;
  }
  .catalog-card {
    padding:14px;
  }
  .catalog-card .model-toggle {
    width:44px;
    min-width:44px;
  }
  .catalog-card .model-toggle::before {
    left:2px;
  }
  .catalog-card .model-toggle::after {
    left:5px;
  }
}

.feature-layout>.panel+.panel {
  margin-top:16px;
}

.catalog-card-selection {
  display:grid;
  place-items:center;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  margin-right:auto;
  color:var(--nv-text-2);
  cursor:pointer;
}

.catalog-card-selection .model-selection {
  width:18px;
  height:18px;
  margin:0;
}

.route-card .route-enabled {
  min-height:44px;
}

.route-card .route-enabled input {
  appearance:none;
  position:relative;
  width:36px!important;
  min-width:36px!important;
  height:20px!important;
  min-height:20px!important;
  flex:0 0 auto;
  margin:0;
  padding:0;
  border:1px solid var(--nv-line-strong);
  border-radius:999px;
  background:var(--nv-surface-3);
}

.route-enabled input::after {
  content:"";
  position:absolute;
  top:1px;
  left:1px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:rgba(255,255,255,.8);
}

.route-enabled input:checked {
  background:var(--nv-select);
  border-color:var(--nv-select);
}

.route-enabled input:checked::after {
  transform:translateX(16px);
  background:var(--nv-on-select);
}

@media(max-width:760px) {
  .route-card-head {
    grid-template-columns:minmax(0,1fr) 44px;
  }
  .route-enabled {
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:5px;
    min-width:64px;
    border:0!important;
    padding:0!important;
  }
  .route-enabled span {
    font-size:11px;
    line-height:15px;
  }
  .catalog-card .catalog-static-switch {
    margin-top:10px;
  }
}

.pool-quick-card-head>div {
  display:grid;
  min-width:0;
  gap:2px;
}

.pool-quick-card-head>div strong {
  display:block;
  min-width:0;
  overflow-wrap:anywhere;
}

.pool-quick-card-head>div .cell-sub {
  display:block;
}

.icon {
  display:inline-block;
  width:16px;
  height:16px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  vertical-align:middle;
}

.icon-16 {
  width:16px;
  height:16px;
}

.icon-18 {
  width:18px;
  height:18px;
}

.icon-20 {
  width:20px;
  height:20px;
}

.icon use {
  pointer-events:none;
}

.quiet,.primary,.danger,.icon-button,.catalog-chip,.settings-tabs button,.access-option {
  transition:background 160ms var(--ease),border-color 160ms var(--ease),color 160ms var(--ease),transform 160ms var(--ease);
}

.quiet:active,.primary:active,.danger:active,.icon-button:active,.catalog-chip:active,.settings-tabs button:active,.access-option:active {
  transform:scale(.97);
}

.nav {
  position:relative;
}

.nav-indicator {
  position:absolute;
  z-index:0;
  left:12px;
  top:0;
  width:auto;
  height:40px;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.05));
  opacity:0;
  pointer-events:none;
  transform:translateY(0);
  transition:transform 440ms var(--ease),opacity 160ms var(--ease),height 320ms var(--ease);
  right:12px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.13),0 10px 24px rgba(0,0,0,.28);
}

.nav a[aria-current=page] {
  background:transparent;
  border-color:transparent;
  color:var(--nv-text);
  font-weight:600;
}

body.sidebar-collapsed .nav-indicator {
  left:8px;
  right:8px;
}

.nav a[aria-current=page] .icon {
  color:#FFFFFF;
}

.settings-tabs button {
  gap:8px;
}

.settings-tabs button .icon {
  color:var(--nv-text-3);
}

.settings-tabs button[aria-selected=true] .icon {
  color:#FFFFFF;
}

.catalog-chip {
  white-space:nowrap;
}

.catalog-chip .icon {
  width:14px;
  height:14px;
}

.table-wrap tbody tr,.table-wrap tbody tr td {
  background:var(--nv-surface-1);
}

.table-wrap tbody tr:hover,.table-wrap tbody tr:hover td {
  background:#12161D;
}

.table-wrap tbody tr td {
  border-bottom:1px solid var(--nv-line);
}

.table-wrap tbody tr:last-child td {
  border-bottom:0;
}

.feature-advanced summary {
  display:flex;
  align-items:center;
  gap:8px;
}

.feature-advanced summary .icon {
  color:var(--nv-text-3);
  transition:transform 160ms var(--ease);
}

.feature-advanced[open] summary .icon {
  transform:rotate(180deg);
}

.pool-quick-summary {
  position:relative;
}

.pool-quick-summary::before {
  content:none!important;
}

.pool-quick-summary>.icon {
  order:2;
  color:var(--nv-text-2);
  transition:transform 160ms var(--ease);
}

.pool-quick-group[open] .pool-quick-summary>.icon {
  transform:rotate(180deg);
}

.model-toggle {
  justify-content:center;
  width:44px;
  height:24px;
  padding:2px;
}

.model-toggle::after {
  display:none;
  background:rgba(255,255,255,.8);
}

.model-toggle .icon {
  width:20px;
  height:20px;
}

.model-toggle[aria-checked=true] .icon {
  color:var(--nv-on-accent);
}

.model-toggle[aria-checked=false] .icon {
  color:var(--nv-text-2);
}

.access-option {
  align-items:center;
}

.access-option-icon {
  flex:0 0 auto;
  color:var(--nv-text-3);
}

.access-option.selected .access-option-icon {
  color:#FFFFFF;
}

.content.route-changing .page.active {
  animation:route-rise 180ms var(--ease);
}

@keyframes route-rise {
  from {
    opacity:.01;
    transform:translateY(8px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}

.skeleton-line {
  opacity:.58;
  background:linear-gradient(110deg,rgba(17,27,42,.72) 8%,rgba(52,75,102,.58) 18%,rgba(17,27,42,.72) 33%);
  background-size:240% 100%;
  animation:skeleton-shimmer 1.8s linear infinite;
}

@keyframes skeleton-shimmer {
  to {
    background-position:-240% 0;
  }
}

.mobile-card-actions .icon {
  width:18px;
  height:18px;
}

.catalog-card-chips .badge,.catalog-card-link,.catalog-card-identity .badge {
  white-space:nowrap;
}

.route-card .icon-button .icon {
  width:18px;
  height:18px;
}

@media(prefers-reduced-motion:reduce) {
  .nav-indicator,.feature-advanced summary .icon {
    transition:none!important;
  }
  .content.route-changing .page.active,.skeleton-line {
    animation:none!important;
  }
  .quiet:active,.primary:active,.danger:active,.icon-button:active,.catalog-chip:active,.settings-tabs button:active,.access-option:active {
    transform:none!important;
  }
}

/* ── Nevora Studio additions ───────────────────────────────────────────── */
.nav-label::after {
  height:1px;
  flex:1;
  content:"";
  background:linear-gradient(90deg,var(--nv-line),transparent);
}

body.sidebar-collapsed .nav-label::after {
  display:none;
}

/* The white edge bar of the studio rail rides with the lit pill. */
.nav-indicator::before {
  position:absolute;
  top:50%;
  left:-12px;
  width:3px;
  height:18px;
  margin-top:-9px;
  border-radius:0 3px 3px 0;
  content:"";
  background:#FFFFFF;
  box-shadow:0 0 12px rgba(255,255,255,.55);
}

body.sidebar-collapsed .nav-indicator::before {
  left:-8px;
}

@media(min-width:761px) and (max-width:1279px) {
  .nav-indicator {
    left:8px;
    right:8px;
  }
  .nav-indicator::before {
    left:-8px;
  }
}

.nav a:hover svg {
  background:rgba(255,255,255,.05);
  color:var(--nv-text);
  transform:scale(1.04);
}

.nav a[aria-current=page] svg {
  background:rgba(255,255,255,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
  color:#FFFFFF;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.3));
}

.sidebar::-webkit-scrollbar {
  display:none;
}

.logout {
  border-color:transparent;
  background:transparent;
  box-shadow:none;
}

/* Links inside prose read as links without turning cyan. */
.desc a,.helper a,.note a,.empty-help a,.section-desc a,.panel-body p a {
  text-decoration:underline;
  text-decoration-color:rgba(255,255,255,.3);
  text-underline-offset:3px;
}

.desc a:hover,.helper a:hover,.note a:hover,.empty-help a:hover,.section-desc a:hover,.panel-body p a:hover {
  text-decoration-color:currentColor;
}

/* Fields: a quiet fill; the edge lights on hover and focus. */
:is(.field,.form-grid,.toolbar,.filters,.search-field,.preference-fields,.route-row,.route-card,.discovery-row,.locale-control) :is(input,select,textarea):hover:not(:disabled):not(:focus) {
  border-color:var(--nv-line-strong);
  background:var(--nv-field-hover);
}

:is(.field,.form-grid,.toolbar,.filters,.search-field,.preference-fields,.route-row,.route-card,.discovery-row,.locale-control) :is(input,select,textarea):focus-visible {
  outline:none;
  border-color:rgba(255,255,255,.34);
  box-shadow:0 0 0 3px rgba(255,255,255,.08);
}

.toast::before {
  position:absolute;
  top:50%;
  left:16px;
  width:12px;
  height:12px;
  margin-top:-6px;
  border-radius:50%;
  content:"";
  background:var(--nv-success);
  box-shadow:0 0 0 4px rgba(81,191,111,.16),0 0 14px rgba(81,191,111,.45);
}

.toast.bad::before {
  background:var(--nv-danger);
  box-shadow:0 0 0 4px rgba(255,107,94,.16),0 0 14px rgba(255,107,94,.45);
}

.toast::after {
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:2px;
  content:"";
  background:rgba(255,255,255,.5);
  transform-origin:left center;
  animation:nv-toast-timer 4000ms linear both;
}

.toast.bad::after {
  background:rgba(255,107,94,.7);
}

@keyframes nv-toast-in {
  from {
    opacity:0;
    transform:translateY(8px) scale(.98);
  }
}

@keyframes nv-toast-timer {
  from {
    transform:scaleX(1);
  }
  to {
    transform:scaleX(0);
  }
}

@keyframes nv-rise {
  from {
    opacity:0;
    transform:translateY(10px);
  }
}

.sidebar {
  animation:nv-island-in 560ms var(--ease) both;
}

@keyframes nv-island-in {
  from {
    opacity:0;
    transform:translateX(-8px);
  }
}

@media(max-width:760px) {
  .sidebar {
    animation:none;
  }
}

/* Dropdowns: the native select drawn in the chrome material where the
   browser supports a customizable select (the same list as Nevora Studio).
   enhanceSelects() in app.js gives each select a button with the chosen
   label, so a long label ends in an ellipsis. */
@supports (appearance:base-select) {
  select,::picker(select) {
    appearance:base-select;
  }
  select {
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
  }
  .locale-select,.toolbar select,.filters select,.preference-fields select {
    padding:0 9px 0 11px;
  }
  select>button {
    display:flex;
    min-width:0;
    flex:1;
    align-items:center;
    padding:0;
    border:0;
    background:none;
    color:inherit;
    font:inherit;
  }
  select>button>selectedcontent {
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  select::picker-icon {
    display:block;
    width:16px;
    height:16px;
    flex:none;
    margin-inline-start:auto;
    content:"";
    background:currentColor;
    color:var(--nv-icon);
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 9.5 5.5 5.5 5.5-5.5'/%3E%3C/svg%3E") center/16px 16px no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 9.5 5.5 5.5 5.5-5.5'/%3E%3C/svg%3E") center/16px 16px no-repeat;
    transition:transform 220ms var(--ease),color 150ms var(--ease);
  }
  select:hover::picker-icon {
    color:var(--nv-text-2);
  }
  select:open::picker-icon {
    color:var(--nv-text);
    transform:rotate(180deg);
  }
  ::picker(select) {
    max-block-size:min(340px,52vh);
    margin-block:6px;
    padding:5px;
    overflow-y:auto;
    border:1px solid var(--nv-line);
    border-radius:14px;
    background:rgba(17,21,29,.92);
    -webkit-backdrop-filter:blur(20px) saturate(150%);
    backdrop-filter:blur(20px) saturate(150%);
    box-shadow:var(--nv-shadow-pop),inset 0 1px 0 rgba(255,255,255,.05);
    color:var(--nv-text);
    scrollbar-width:thin;
    opacity:0;
    transform:translateY(-4px) scale(.98);
    transform-origin:top center;
    transition:opacity 220ms var(--ease),transform 220ms var(--ease),overlay 220ms allow-discrete,display 220ms allow-discrete;
  }
  ::picker(select):popover-open {
    opacity:1;
    transform:none;
  }
  @starting-style {
    ::picker(select):popover-open {
      opacity:0;
      transform:translateY(-4px) scale(.98);
    }
  }
  option {
    display:flex;
    min-height:34px;
    align-items:center;
    gap:10px;
    padding:7px 10px 7px 12px;
    border-radius:9px;
    background:transparent;
    color:var(--nv-text-2);
    font-size:12.5px;
    line-height:18px;
    cursor:pointer;
    transition:background 150ms var(--ease),color 150ms var(--ease);
  }
  option:not(:disabled):is(:hover,:focus-visible) {
    outline:none;
    background:rgba(255,255,255,.085);
    color:var(--nv-text);
  }
  option:checked {
    color:var(--nv-text);
    font-weight:500;
  }
  option::checkmark {
    order:1;
    width:14px;
    height:14px;
    flex:none;
    margin-inline-start:auto;
    content:"";
    background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 12.5 4.2 4.2 8.8-9'/%3E%3C/svg%3E") center/14px 14px no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 12.5 4.2 4.2 8.8-9'/%3E%3C/svg%3E") center/14px 14px no-repeat;
  }
  option:disabled {
    color:var(--nv-text-3);
    cursor:not-allowed;
    opacity:.6;
  }
}

@media(prefers-reduced-motion:reduce) {
  .sidebar,.auth-card,.toast {
    animation:none;
  }
  .toast::after {
    animation-duration:4000ms!important;
  }
}

/* Settings → Domain & HTTPS */
.domain-status {
  display:grid;
  gap:12px;
  margin:0 0 18px;
}

.domain-status>div {
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  align-items:center;
  gap:12px;
}

.domain-status dt {
  color:var(--nv-text-2);
  font-size:12.5px;
}

.domain-status dd {
  min-width:0;
  margin:0;
}

.domain-status .endpoint {
  margin:0;
}

.domain-steps {
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}

.domain-steps li {
  display:flex;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--nv-line-soft);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}

.domain-steps li>div {
  display:grid;
  min-width:0;
  gap:4px;
}

.domain-steps strong {
  color:var(--nv-text);
  font-size:13px;
  font-weight:600;
}

.domain-steps p {
  margin:0;
  color:var(--nv-text-2);
  font-size:12.5px;
  line-height:19px;
}

.domain-steps .endpoint {
  margin:6px 0 0;
}

.domain-steps .step-num {
  flex:none;
}

@media(max-width:760px) {
  .domain-status>div {
    grid-template-columns:1fr;
    gap:4px;
  }
}

/* Sign-out sits inside the account card when the sidebar shows labels. */
@media(min-width:1280px),(max-width:760px) {
  body:not(.sidebar-collapsed) .side-foot .logout {
    position:absolute;
    right:9px;
    bottom:9px;
    width:32px;
    min-width:32px;
    min-height:32px;
    padding:0;
    justify-content:center;
    border-radius:10px;
    color:var(--nv-text-3);
  }
  body:not(.sidebar-collapsed) .side-foot .logout span {
    display:none;
  }
  body:not(.sidebar-collapsed) .side-foot .logout:hover {
    background:rgba(255,255,255,.07);
    color:var(--nv-text);
  }
  body:not(.sidebar-collapsed) .account-box {
    padding-right:48px;
  }
}

/* Native checks and radios take the white selection. */
input[type=checkbox],input[type=radio] {
  accent-color:#FFFFFF;
}

/* A row's id, provider and address each take their own line. */
.primary-cell>.cell-sub,.pool-quick-card>.cell-sub {
  display:block;
}
