:root {
  --admin-font: Inter, "Microsoft YaHei UI", "PingFang SC", "Noto Sans CJK SC", system-ui, sans-serif;
  --admin-mono: "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
  --admin-body-size: 14px;
  --admin-meta-size: 12px;
  --admin-primary: #69e1ff;
  --admin-success: #5de4c7;
  --admin-warning: #f2b866;
  --admin-error: #ff6e7d;
  --admin-neutral: #9ba69f;
  --admin-success-surface: #5de4c718;
  --admin-warning-surface: #f2b86618;
  --admin-error-surface: #ff6e7d18;
  --admin-neutral-surface: #ffffff0a;
}

html {
  background: #030711;
  color-scheme: dark;
  scrollbar-gutter: stable;
}

body {
  background: #030711;
}

body,
button,
input,
select,
textarea {
  font-family: var(--admin-font);
  font-size: var(--admin-body-size);
  line-height: 1.5;
}

.dashboard > aside {
  position: sticky;
  top: 0;
  height: 100dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
  align-self: start;
}

.dashboard nav button,
.dashboard nav a {
  flex: 0 0 auto;
  font-family: var(--admin-font);
  font-size: 13px;
  line-height: 1.25;
}

.dashboard nav button:focus-visible,
.dashboard nav a:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.eyebrow,
.security,
.aside-foot,
.header-actions,
.metrics span,
.metrics small,
.account-search label span,
.account-search-page span,
.account-name small,
th,
td > small,
.credit-adjustment-form label,
.credit-status,
.provider-badge,
.provider-health span,
.provider-health small,
.platform-provider-form > label,
.platform-provider-form > label > span,
.platform-provider-form legend,
.platform-provider-form label small,
.platform-pricing-preview > div:first-child > span,
.platform-pricing-preview > div:first-child > small,
.platform-personal-api-boundary,
.platform-personal-api-boundary strong,
.platform-route-pool-head span,
.platform-route-pool-head small,
.platform-route label,
.platform-route label span,
.platform-route-models label,
.platform-provider-actions span,
.system-settings-form label,
.system-settings-form label small,
.system-settings-form > div span {
  font-size: var(--admin-meta-size);
  line-height: 1.5;
}

.eyebrow,
.metrics small,
.account-search label span,
th,
.platform-provider-form > label > span,
.platform-provider-form legend,
.platform-pricing-preview > div:first-child > span,
.platform-route-pool-head span,
.platform-route label span,
.system-settings-form label {
  font-family: var(--admin-mono);
  letter-spacing: 0.08em;
}

.metrics strong,
.credit-preview,
.platform-price-value strong {
  font-family: var(--admin-mono);
  font-variant-numeric: tabular-nums;
}

.platform-video-prices article {
  grid-template-columns: minmax(150px, 1fr) auto auto;
  align-items: center;
  gap: 8px 18px;
  padding: 14px;
}

.platform-video-prices article .platform-price-name {
  color: #c8d0cb;
  font-size: 13px;
  line-height: 1.45;
}

.platform-price-value {
  display: grid;
  justify-items: end;
  gap: 2px;
  min-width: 92px;
}

.platform-price-value small,
.platform-price-detail {
  color: #89968e;
  font-size: var(--admin-meta-size);
  line-height: 1.45;
}

.platform-video-prices article .platform-price-value strong {
  font-size: 16px;
}

.platform-price-value.is-cost strong {
  color: #aeb8b2;
}

.platform-price-value.is-sale strong {
  color: var(--accent);
}

.platform-video-prices article .platform-price-detail {
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  .dashboard > aside {
    display: flex;
    position: static;
    height: auto;
    overflow: visible;
  }

  .dashboard > aside nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 24px;
  }
}

@media (max-width: 520px) {
  .dashboard > aside nav { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .platform-video-prices article {
    grid-template-columns: 1fr 1fr;
  }

  .platform-price-name {
    grid-column: 1 / -1;
  }

  .platform-price-value {
    justify-items: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
.studio-member-picker{display:grid;grid-template-columns:minmax(180px,280px);gap:8px;margin-bottom:18px}.studio-member-picker>span{color:#91a0b8;font-size:12px;font-weight:700}.studio-member-picker select,.studio-member-api-card input{min-height:44px;border:1px solid #26364f;border-radius:8px;background:#08111f;color:#edf6ff;padding:9px 11px}.studio-members-list{display:grid;gap:14px}.studio-member-api-card{display:grid;gap:16px;padding:18px;border:1px solid #20334f;border-radius:12px;background:linear-gradient(145deg,#081321,#070d17)}.studio-member-api-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.studio-member-api-heading>div{display:grid;gap:4px}.studio-member-api-heading strong{font-size:18px}.studio-member-api-heading small{color:#71829c;font:11px/1.4 var(--admin-mono)}.studio-member-api-card>label{display:grid;gap:7px}.studio-member-api-card>label>span,.studio-member-api-card legend{color:#91a0b8;font-size:12px;font-weight:700}.studio-member-api-card fieldset{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:12px;border:1px solid #21324a;border-radius:9px}.studio-member-api-card fieldset label{display:flex;min-height:44px;align-items:center;gap:7px;color:#cbd8e8;font-size:12px}.studio-member-api-card fieldset input{min-height:auto;accent-color:var(--admin-primary)}.studio-member-api-state{min-height:20px;margin:0;color:#a8b6c8;font-size:12px}.studio-member-api-actions{display:flex;flex-wrap:wrap;gap:9px}.studio-member-api-actions button{min-height:44px}.studio-member-api-actions .primary-action{background:#69e1ff14;color:var(--admin-primary);border-color:#69e1ff3d}.studio-member-api-actions button:disabled{opacity:.42;cursor:not-allowed}@media(max-width:720px){.studio-member-picker{grid-template-columns:1fr}.studio-member-api-heading{align-items:stretch;flex-direction:column}.studio-member-api-actions{display:grid;grid-template-columns:1fr 1fr}}

/* 3017 shared visual contract: semantic states, interaction size and focus. */
[hidden] { display: none !important; }

.dashboard button,
.dashboard input:not([type="checkbox"]):not([type="radio"]),
.dashboard select,
.login-card button {
  min-height: 44px;
}

.account-search-page button,
.platform-route-pool-head button,
.platform-route input,
.platform-route select,
.platform-route-models label,
.platform-route .route-remove {
  min-height: 44px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--admin-primary);
  outline-offset: 2px;
}

button:disabled,
input:disabled,
select:disabled {
  opacity: .45;
  cursor: not-allowed;
}

button[aria-busy="true"] {
  border-color: color-mix(in srgb, var(--admin-warning) 45%, transparent);
  color: var(--admin-warning);
  cursor: wait;
}

.dashboard button:not(:disabled):active,
.login-card button:not(:disabled):active {
  transform: translateY(1px);
}

.button-icon {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

[data-tone="success"] { color: var(--admin-success); }
[data-tone="warning"] { color: var(--admin-warning); }
[data-tone="error"] { color: var(--admin-error); }
[data-tone="neutral"] { color: var(--admin-neutral); }

#metric-users:not([data-tone]),
#metric-studio:not([data-tone]),
#metric-running:not([data-tone]),
#metric-credits:not([data-tone]) { color: var(--admin-warning); }

.notice[data-tone="success"] { color: var(--admin-success); border-color: #5de4c73d; background: var(--admin-success-surface); }
.notice[data-tone="warning"] { color: var(--admin-warning); border-color: #f2b8663d; background: var(--admin-warning-surface); }
.notice[data-tone="error"] { color: var(--admin-error); border-color: #ff6e7d3d; background: var(--admin-error-surface); }
.notice[data-tone="neutral"] { color: var(--admin-neutral); border-color: #ffffff1a; background: var(--admin-neutral-surface); }

.metrics strong,
.credit-preview,
.studio-create-member{margin:0 0 24px;padding:20px;border:1px solid var(--line,rgba(255,255,255,.12));border-radius:10px;background:rgba(8,18,26,.65)}
.studio-create-member h3{margin:0;font-size:16px;color:var(--text,#e4f2f5)}
.studio-create-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end;margin-top:16px}
.studio-create-fields label{display:grid;gap:8px;font-size:13px;color:#b8cbd4}
.studio-create-fields input{min-width:0;width:100%;box-sizing:border-box;min-height:44px;border:1px solid #36505e;background:#09131c;color:#e4f2f5;border-radius:7px;padding:10px 12px}
.studio-create-member [role=status]{font-size:13px;color:#c9e8f2;margin-bottom:0}
.studio-create-member :is(input,button):focus-visible{outline:2px solid var(--cyan,#65dff5);outline-offset:3px}
@media(max-width:760px){.studio-create-fields{grid-template-columns:1fr}}
.platform-price-value strong,
th,
.account-search label span,
.credit-adjustment-form label,
.platform-provider-form > label > span,
.platform-provider-form legend,
.platform-route label span,
.system-settings-form label {
  font-family: var(--admin-font);
}
