/* --- tokens.css --- */
/* Design tokens — single source of truth for colors, spacing, radius, shadows.
 * Light theme: override semantic tokens only (no component selectors here). */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;700&display=swap');

:root {
  /* ── Semantic colors (dark default) ── */
  --color-bg-base: #070b12;
  --color-bg-surface: #0c111a;
  --color-bg-elevated: #121c2f;
  --color-border-default: #1b2432;
  --color-border-subtle: #141d2a;
  --color-text-primary: #e8edf7;
  --color-text-secondary: #94a6c6;
  --color-text-muted: #8493ab;
  --color-brand-primary: #4f7dff;
  --color-brand-primary-soft: #182742;
  --color-brand-accent: #ffb457;
  --color-brand-accent-soft: #2a2230;
  --color-success: #2ac37b;
  --color-warning: #eab35d;
  --color-danger: #ff6b6b;

  /* ── Surfaces & inputs ── */
  --color-body-gradient:
    radial-gradient(circle at top left, rgba(193, 157, 92, 0.08), transparent 24%),
    radial-gradient(circle at top right, rgba(98, 132, 202, 0.1), transparent 26%),
    linear-gradient(180deg, #070b12 0%, #0b1220 48%, #0f1725 100%);
  --color-console-gradient:
    radial-gradient(1000px 380px at 78% -10%, rgba(53, 83, 145, 0.18), transparent 60%),
    linear-gradient(180deg, #05070b 0%, #070b12 100%);
  --color-input-bg: linear-gradient(180deg, #0d1627, #101a2d);
  --color-input-bg-solid: #0d1627;
  --color-input-border: rgba(73, 102, 156, 0.55);
  --color-input-text: var(--color-text-primary);
  --color-input-placeholder: #7b8da8;
  --color-input-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  --color-select-arrow: #d9e7ff;
  --color-code-bg: #0d1524;
  --color-code-border: var(--color-border-default);
  --color-code-text: #cde1ff;
  --color-table-th: #7f97bb;
  --color-table-td-border: rgba(43, 65, 104, 0.26);
  --color-table-row-even: rgba(255, 255, 255, 0.012);
  --color-table-row-hover: rgba(143, 181, 255, 0.03);
  --color-card-bg: linear-gradient(180deg, rgba(12, 18, 29, 0.88), rgba(9, 14, 24, 0.94));
  --color-card-border: rgba(122, 141, 173, 0.18);
  --color-card-shadow: 0 22px 54px rgba(0, 0, 0, 0.34);
  --color-surface-panel-shadow: 0 8px 24px rgba(39, 62, 104, 0.06);
  --color-scrollbar-track: #07101d;
  --color-scrollbar-thumb: linear-gradient(180deg, #2f4664, #19283c);
  --color-scrollbar-thumb-hover: linear-gradient(180deg, #3d5b82, #223650);
  --color-scrollbar-border: #07101d;

  /* ── Buttons ── */
  --color-btn-primary-bg: linear-gradient(135deg, #3d6bb8 0%, #2a5088 48%, #1e3d6e 100%);
  --color-btn-primary-border: rgba(90, 140, 220, 0.45);
  --color-btn-primary-text: #ffffff;
  --color-btn-primary-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 6px 18px rgba(0, 0, 0, 0.28);
  --color-btn-primary-bg-hover: linear-gradient(135deg, #4a7acc 0%, #336099 48%, #254878 100%);
  --color-btn-primary-border-hover: rgba(110, 160, 230, 0.55);
  --color-btn-secondary-bg: rgba(14, 20, 32, 0.94);
  --color-btn-secondary-border: rgba(95, 115, 145, 0.35);
  --color-btn-secondary-text: #dce6f5;
  --color-btn-secondary-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  --color-btn-secondary-bg-hover: rgba(18, 26, 40, 0.96);
  --color-btn-secondary-border-hover: rgba(125, 145, 175, 0.45);
  --color-btn-ghost-bg: rgba(143, 181, 255, 0.08);
  --color-btn-ghost-border: rgba(143, 181, 255, 0.22);
  --color-btn-ghost-text: #d6e5ff;
  --color-btn-ghost-bg-hover: rgba(143, 181, 255, 0.14);
  --color-btn-ghost-border-hover: rgba(255, 180, 87, 0.28);
  --color-btn-ghost-text-hover: #fff1d1;
  --color-btn-compact-bg: rgba(14, 22, 36, 0.92);
  --color-btn-compact-border: rgba(130, 165, 215, 0.22);
  --color-btn-compact-text: #dbe8ff;
  --color-btn-compact-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --color-btn-compact-bg-hover: rgba(22, 34, 52, 0.96);
  --color-btn-compact-border-hover: rgba(165, 195, 235, 0.34);
  --color-money-text: #ffffff;
  --color-warn-text: #ffd36d;
  --color-brand-text: #8fb5ff;

  --color-console-shell-bg: linear-gradient(180deg, #070b11 0%, #080c13 100%);
  --color-topnav-bg: #0a1019;
  --color-topnav-border: #182233;
  --color-topnav-brand-text: #dce7fa;
  --color-topnav-muted: #8da1bf;
  --color-toolbar-strip-bg: rgba(14, 23, 38, 0.84);
  --color-toolbar-strip-border: rgba(43, 65, 104, 0.38);
  --color-toolbar-search-bg: rgba(8, 14, 25, 0.92);
  --color-toolbar-search-border: rgba(43, 65, 104, 0.36);
  --color-toolbar-search-text: #8ea8ce;
  --color-pill-bg: #121a28;
  --color-pill-border: #1b2432;
  --color-pill-text: #dce8ff;
  --color-pill-strong: #ffffff;
  --color-side-note-bg: linear-gradient(180deg, rgba(255, 198, 119, 0.12), rgba(22, 31, 44, 0.88));
  --color-side-note-border: rgba(255, 198, 119, 0.18);
  --color-side-note-text: #ffe6bf;
  --color-side-note-name: #fff4de;
  --color-brand-badge-border: #355696;
  --color-brand-badge-text: #d8e6ff;

  /* ── Spacing ── */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;

  /* ── Radius & controls (P1 baseline) ── */
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --control-h: 36px;

  /* ── Shadows ── */
  --shadow-1: 0 4px 12px rgba(0, 0, 0, 0.18);
  --shadow-2: 0 10px 26px rgba(0, 0, 0, 0.24);
  --shadow-3: 0 18px 40px rgba(0, 0, 0, 0.32);

  /* ── V2 console layout ── */
  --cx-gap-xs: 6px;
  --cx-gap-sm: 10px;
  --cx-gap-md: 12px;
  --cx-gap-lg: 18px;
  --cx-gap-insights: 14px;
  --cx-radius-card: 12px;
  --cx-sidebar-hover-bg: #121e30;
  --cx-sidebar-hover-border: #2d4570;

  /* ── Legacy aliases (deprecated — use --color-* instead) ── */
  --bg: var(--color-bg-base);
  --panel: var(--color-bg-surface);
  --panel-2: var(--color-bg-elevated);
  --line: var(--color-border-default);
  --text: var(--color-text-primary);
  --muted: var(--color-text-muted);
  --brand: var(--color-brand-primary);
  --accent: var(--color-brand-accent);
  --accent-soft: var(--color-brand-accent-soft);
  --green: var(--color-success);
  --red: var(--color-danger);

  --mc-bg: var(--color-bg-base);
  --mc-surface: var(--color-bg-surface);
  --mc-surface-2: var(--color-bg-elevated);
  --mc-border: var(--color-border-default);
  --mc-border-soft: var(--color-border-subtle);
  --mc-text: var(--color-text-primary);
  --mc-muted: var(--color-text-muted);
  --mc-primary: var(--color-brand-primary);
  --mc-primary-soft: var(--color-brand-primary-soft);
  --mc-warn: var(--color-warning);
  --mc-ok: var(--color-success);

  --ui-radius-sm: var(--radius-sm);
  --ui-radius-md: var(--radius-md);
  --ui-radius-lg: var(--radius-lg);
  --ui-control-h: var(--control-h);
  --ui-shadow-1: var(--shadow-1);
  --ui-shadow-2: var(--shadow-2);
  --ui-shadow-3: var(--shadow-3);
}

/* ── Light theme: token overrides only ── */
body.theme-light {
  --color-bg-base: #f4f6fa;
  --color-bg-surface: #ffffff;
  --color-bg-elevated: #f7f9fc;
  --color-border-default: #d9e1ee;
  --color-border-subtle: #e6ebf4;
  --color-text-primary: #1f2a3d;
  --color-text-secondary: #516987;
  --color-text-muted: #63738d;
  --color-brand-primary: #2f5fbf;
  --color-brand-primary-soft: #eaf0fb;
  --color-brand-accent: #d48806;
  --color-brand-accent-soft: #fef6e7;
  --color-success: #1a9d5c;
  --color-warning: #c47d12;
  --color-danger: #d64545;

  --color-body-gradient: linear-gradient(180deg, #f7f9fd 0%, #eef3fa 100%);
  --color-console-gradient: var(--color-body-gradient);
  --color-input-bg: #ffffff;
  --color-input-bg-solid: #ffffff;
  --color-input-border: #cfdaeb;
  --color-input-text: #2d4566;
  --color-input-placeholder: #8899b8;
  --color-input-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94);
  --color-select-arrow: #5a6f8f;
  --color-code-bg: #f3f7ff;
  --color-code-border: #d0ddf0;
  --color-code-text: #2a4365;
  --color-table-th: #516987;
  --color-table-td-border: #e2eaf5;
  --color-table-row-even: rgba(74, 126, 196, 0.03);
  --color-table-row-hover: rgba(74, 126, 196, 0.07);
  --color-card-bg: var(--color-bg-surface);
  --color-card-border: var(--color-border-default);
  --color-card-shadow: 0 8px 24px rgba(39, 62, 104, 0.06);
  --color-surface-panel-shadow: var(--color-card-shadow);
  --color-scrollbar-track: #edf3fb;
  --color-scrollbar-thumb: linear-gradient(180deg, #c5d2e4, #aabfd8);
  --color-scrollbar-thumb-hover: linear-gradient(180deg, #b4c4da, #98adc9);
  --color-scrollbar-border: #edf3fb;

  --shadow-1: 0 4px 12px rgba(52, 78, 120, 0.06);
  --shadow-2: 0 8px 18px rgba(52, 78, 120, 0.07);
  --shadow-3: 0 12px 28px rgba(52, 78, 120, 0.1);

  --cx-sidebar-hover-bg: #f6f9fd;
  --cx-sidebar-hover-border: #c5d6ea;

  --color-btn-primary-bg: linear-gradient(135deg, #5b9cff 0%, #3d7bd4 48%, #2a5faf 100%);
  --color-btn-primary-border: rgba(70, 130, 210, 0.42);
  --color-btn-primary-text: #ffffff;
  --color-btn-primary-shadow: 0 8px 22px rgba(45, 100, 180, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.15);
  --color-btn-primary-bg-hover: linear-gradient(135deg, #6aa8ff 0%, #4888de 48%, #3368bf 100%);
  --color-btn-primary-border-hover: rgba(90, 150, 225, 0.5);
  --color-btn-secondary-bg: linear-gradient(180deg, #eef4ff, #e3ecf9);
  --color-btn-secondary-border: #c5d4ea;
  --color-btn-secondary-text: #2a4680;
  --color-btn-secondary-shadow: none;
  --color-btn-secondary-bg-hover: linear-gradient(180deg, #e4edfb, #d7e4f5);
  --color-btn-secondary-border-hover: #b7c9e5;
  --color-btn-ghost-bg: #f4f8ff;
  --color-btn-ghost-border: #cfdaeb;
  --color-btn-ghost-text: #3d5578;
  --color-btn-ghost-bg-hover: #edf3ff;
  --color-btn-ghost-border-hover: #c1d1e8;
  --color-btn-ghost-text-hover: #2f415d;
  --color-btn-compact-bg: linear-gradient(180deg, #f5f8ff, #e8f0fa);
  --color-btn-compact-border: #c5d4e8;
  --color-btn-compact-text: #2a4a7a;
  --color-btn-compact-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
  --color-btn-compact-bg-hover: linear-gradient(180deg, #edf3fc, #e0e9f5);
  --color-btn-compact-border-hover: #a8bdd5;
  --color-money-text: #1f2a3d;
  --color-warn-text: #8a611f;
  --color-brand-text: #2f5fbf;

  --color-console-shell-bg: linear-gradient(180deg, #f7f9fd 0%, #eef3fa 100%);
  --color-topnav-bg: #f9fbff;
  --color-topnav-border: #d8e2f0;
  --color-topnav-brand-text: #2d3b52;
  --color-topnav-muted: #6b7f9e;
  --color-toolbar-strip-bg: #ffffff;
  --color-toolbar-strip-border: #d8e2f0;
  --color-toolbar-search-bg: #f1f6ff;
  --color-toolbar-search-border: #cfdaeb;
  --color-toolbar-search-text: #3d5578;
  --color-pill-bg: #eef3fb;
  --color-pill-border: #cfdced;
  --color-pill-text: #3d5578;
  --color-pill-strong: #1f2a3d;
  --color-side-note-bg: linear-gradient(180deg, #fff8ed, #ffffff);
  --color-side-note-border: #ecd8a7;
  --color-side-note-text: #6c5536;
  --color-side-note-name: #4a2d05;
  --color-brand-badge-border: #c7d7f2;
  --color-brand-badge-text: #3e5d8f;
}

/* --- components.css --- */
/**
 * Unified UI components.
 * Canonical: .input, .btn, .btn-primary, .btn-secondary, .btn-sm, .btn-ghost
 * Legacy aliases (.login-input, .topbar-btn, etc.) remain valid.
 */

.input,
.login-input,
.client-login-input {
  width: 100%;
  background: var(--color-input-bg);
  color: var(--color-input-text);
  border: 1px solid var(--color-input-border);
  border-radius: var(--ui-radius-md);
  padding: 12px 14px;
  font: inherit;
  box-shadow: var(--color-input-shadow);
}

.input::placeholder,
.login-input::placeholder,
.client-login-input::placeholder {
  color: var(--color-input-placeholder);
}

.btn,
button.btn,
a.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid var(--color-btn-primary-border);
  background: var(--color-btn-primary-bg);
  color: var(--color-btn-primary-text);
  border-radius: var(--ui-radius-sm);
  padding: 10px 16px;
  min-height: var(--ui-control-h);
  font: inherit;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  text-decoration: none;
  box-shadow: var(--color-btn-primary-shadow);
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.12s ease, color 0.18s ease;
}

.btn:hover,
button.btn:hover,
a.btn:hover {
  border-color: var(--color-btn-primary-border-hover);
  background: var(--color-btn-primary-bg-hover);
}

.btn:active,
button.btn:active,
a.btn:active {
  transform: translateY(1px);
}

.btn-primary,
button.btn-primary,
a.btn-primary {
  border-color: var(--color-btn-primary-border);
  background: var(--color-btn-primary-bg);
  color: var(--color-btn-primary-text);
  box-shadow: var(--color-btn-primary-shadow);
}

.btn-primary:hover,
button.btn-primary:hover,
a.btn-primary:hover {
  border-color: var(--color-btn-primary-border-hover);
  background: var(--color-btn-primary-bg-hover);
}

.btn-secondary,
button.btn-secondary,
button.secondary {
  background: var(--color-btn-secondary-bg);
  border: 1px solid var(--color-btn-secondary-border);
  box-shadow: var(--color-btn-secondary-shadow);
  color: var(--color-btn-secondary-text);
}

.btn-secondary:hover,
button.btn-secondary:hover,
button.secondary:hover {
  border-color: var(--color-btn-secondary-border-hover);
  background: var(--color-btn-secondary-bg-hover);
}

.btn-sm,
button.btn-sm,
button.compact {
  min-height: 30px;
  padding: 5px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.btn-sm:not(.btn-secondary):not(.btn-ghost):not(.copy-btn),
button.btn-sm:not(.btn-secondary):not(.btn-ghost):not(.copy-btn),
button.compact {
  border: 1px solid var(--color-btn-compact-border);
  background: var(--color-btn-compact-bg);
  color: var(--color-btn-compact-text);
  box-shadow: var(--color-btn-compact-shadow);
}

.btn-sm:not(.btn-secondary):not(.btn-ghost):not(.copy-btn):hover,
button.btn-sm:not(.btn-secondary):not(.btn-ghost):not(.copy-btn):hover,
button.compact:hover {
  border-color: var(--color-btn-compact-border-hover);
  background: var(--color-btn-compact-bg-hover);
  filter: none;
}

.btn-ghost,
a.btn-ghost,
button.btn-ghost,
.btn.btn-ghost,
a.btn.btn-ghost,
button.btn.btn-ghost,
.ghost-btn,
.ghost-link,
.topbar-btn {
  min-height: var(--ui-control-h);
  padding: 8px 14px;
  border-radius: var(--ui-radius-sm);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  background: var(--color-btn-ghost-bg);
  border: 1px solid var(--color-btn-ghost-border);
  color: var(--color-btn-ghost-text);
  box-shadow: none;
}

.btn-ghost:hover,
a.btn-ghost:hover,
button.btn-ghost:hover,
.btn.btn-ghost:hover,
a.btn.btn-ghost:hover,
button.btn.btn-ghost:hover,
.ghost-btn:hover,
.ghost-link:hover,
.topbar-btn:hover {
  background: var(--color-btn-ghost-bg-hover);
  border-color: var(--color-btn-ghost-border-hover);
  color: var(--color-btn-ghost-text-hover);
}

/* --- utilities.css --- */
/**
 * Layout & spacing utilities — replace inline style="" in view templates.
 */

.u-m-0 { margin: 0 !important; }
.u-mt-0 { margin-top: 0 !important; }
.u-mt-2xs { margin-top: 8px; }
.u-mt-sm { margin-top: 10px; }
.u-mt-section { margin-top: 22px; }
.u-mt-md { margin-top: 12px; }
.u-mt-lg { margin-top: 14px; }
.u-mt-xl { margin-top: 16px; }
.u-mt-2xl { margin-top: 18px; }
.u-mt-3xl { margin-top: 20px; }
.u-mb-xs { margin-bottom: 8px; }
.u-mb-sm { margin-bottom: 10px; }
.u-mb-md { margin-bottom: 12px; }
.u-mb-lg { margin-bottom: 20px; }
.u-my-sub { margin: 10px 0 0; }
.u-m-subhead { margin: 0 0 8px; font-size: 15px; }
.u-m-note { margin: 6px 0 12px; }

.u-grid-2 { grid-template-columns: 1fr 1fr; }
.u-grid-2-gap { grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.u-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 14px; }

.u-flex-between { display: flex; justify-content: space-between; align-items: flex-start; }
.u-flex-row-center { display: flex; align-items: center; gap: 8px; }
.u-flex-row-center-start { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 10px; }
.u-flex-row-center-mb { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.u-field-label {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  gap: 4px;
  color: var(--muted);
}

.u-shell-min { min-height: calc(100vh - 24px); }
.u-console-single-col { grid-template-columns: minmax(0, 1fr); min-height: calc(100vh - 84px); }
.u-center-panel { max-width: 760px; margin: 0 auto; }
.u-panel-narrow { max-width: 560px; margin: 20px auto 0; }
.u-max-w-sm { max-width: 420px; }
.u-max-w-md { max-width: 860px; }

.u-filter-panel { margin-top: 12px; padding: 12px 14px; }
.u-section-head-compact { margin-bottom: 8px; }
.u-h2-compact { font-size: 16px; margin: 0; }
.u-note-box { margin-top: 14px; padding: 12px 14px; border-radius: 10px; }

.u-form-error { color: var(--color-danger); margin-bottom: 10px; filter: brightness(1.15); }
body.theme-light .u-form-error { color: #b83232; filter: none; }
.u-checkbox { width: auto !important; }
.u-hidden { display: none !important; }
.u-block-pointer { display: block; cursor: pointer; }

.u-chart-host {
  width: 100%;
  height: 100%;
  min-height: 420px;
  position: relative;
  z-index: 1;
}

.u-iframe-plain {
  max-height: 520px;
  border: none;
  border-radius: 0;
  background: transparent;
}

.u-pad-card { padding: 18px 20px; }

.u-grid-3-custom { grid-template-columns: 1.2fr 0.6fr 0.8fr; gap: 10px; }
.u-grid-asymmetric { grid-template-columns: 1.1fr 0.9fr; align-items: start; }
.u-stats-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 22px; }
.u-row-center { align-items: center; }
.u-input-narrow { max-width: 320px; }
.u-input-xs { max-width: 120px; }
.u-input-search {
  min-width: 140px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid var(--color-input-border);
  background: var(--color-input-bg-solid);
  color: var(--color-input-text);
}
.u-form-inline { display: inline; }
.u-note-muted { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; }
.u-note-banner { margin: 12px 0 0; padding: 10px 14px; border-radius: 10px; }
.u-row-spaced { margin: 0 0 10px; gap: 10px; align-items: center; }
.u-row-banner { justify-content: space-between; align-items: flex-start; gap: 18px; }
.u-mini-note-gap { margin: 4px 0 10px; }

/* --- base.css --- */
* { box-sizing:border-box; }
html, body, * { scrollbar-width:thin; scrollbar-color:var(--color-scrollbar-thumb) var(--color-scrollbar-track); }
*::-webkit-scrollbar { width:10px; height:10px; }
*::-webkit-scrollbar-track { background:var(--color-scrollbar-track); }
*::-webkit-scrollbar-thumb { background:var(--color-scrollbar-thumb); border-radius:12px; border:2px solid var(--color-scrollbar-border); }
*::-webkit-scrollbar-thumb:hover { background:var(--color-scrollbar-thumb-hover); }
body { margin:0; min-height:100vh; font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; background:var(--color-body-gradient); color:var(--text); }
.wrap { max-width:1380px; min-height:100vh; margin:0 auto; padding:28px; }
h1 { margin:0 0 8px; font-size:40px; }
.sub { color:var(--muted); margin-bottom:28px; line-height:1.7; }
.grid { display:grid; grid-template-columns:1.1fr .9fr; gap:20px; }
.card { background:var(--color-card-bg); border:1px solid var(--color-card-border); border-radius:22px; padding:20px; box-shadow:var(--color-card-shadow); }
.card h2 { margin:0 0 14px; font-size:24px; }
.hero { background:
  linear-gradient(135deg, rgba(17,34,63,.58), rgba(12,24,44,.82)),
  radial-gradient(circle at top left, rgba(118,168,255,.14), transparent 34%);
  border:1px solid rgba(124,160,255,.28); }
.hero.client-hero { background:
  radial-gradient(circle at top right, rgba(255,180,87,.18), transparent 32%),
  radial-gradient(circle at 18% 18%, rgba(90,156,255,.12), transparent 26%),
  linear-gradient(135deg, rgba(14,27,48,.62), rgba(10,21,38,.86)); }
.hero h1 { margin-bottom:8px; }
.hero-badge { display:inline-block; padding:8px 14px; border-radius:999px; background:rgba(77,121,255,.2); border:1px solid rgba(120,160,255,.35); color:#dbe7ff; font-size:13px; margin-bottom:14px; }
.hero.client-hero .hero-badge { background:rgba(255,180,87,.12); border-color:rgba(255,180,87,.35); color:#ffe1b3; }
.hero-title { font-size:42px; font-weight:800; letter-spacing:.5px; }
.hero-highlight { color:#ffffff; }
.hero-accent { color:#9dc0ff; }
.hero.client-hero .hero-accent { color:#ffc978; }
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:26px 0 8px; }
.stat { background:linear-gradient(180deg,rgba(12,21,36,.7),rgba(10,18,31,.86)); border:1px solid rgba(86,116,166,.28); border-radius:18px; padding:16px 16px 15px; box-shadow:inset 0 1px 0 rgba(255,255,255,.02); }
.stat.primary { background:linear-gradient(180deg,rgba(20,40,30,.78),rgba(12,29,22,.92)); border-color:rgba(70,170,105,.28); box-shadow:0 10px 26px rgba(31,89,53,.14), inset 0 1px 0 rgba(255,255,255,.03); }
.stat.primary .label { color:#b6d9c0; }
.stat.primary .value { color:#7ef0a5; }
.stat.soft { background:linear-gradient(180deg,rgba(17,26,42,.88),rgba(14,22,36,.94)); }
.stat .mini-note { margin-top:6px; color:#7f96b8; }
.client-stat { background:linear-gradient(180deg,#18243b,#151e31); }
.client-stat.emphasis { border-color:rgba(255,180,87,.28); box-shadow:0 8px 24px rgba(255,180,87,.08); }
.label { color:#89a0c2; font-size:12px; margin-bottom:8px; letter-spacing:.04em; text-transform:uppercase; }
.value { font-size:26px; font-weight:700; letter-spacing:-.02em; }
form { display:grid; gap:12px; }
.row { display:flex; gap:12px; flex-wrap:wrap; }
input, textarea, select { width:100%; background:var(--color-input-bg); color:var(--color-input-text); border:1px solid var(--color-input-border); border-radius:14px; padding:12px 14px; font:inherit; box-shadow:var(--color-input-shadow); }
input::placeholder, textarea::placeholder { color:var(--color-input-placeholder); }
select { appearance:none; background-color:var(--color-input-bg-solid); background-image:linear-gradient(45deg,transparent 50%, var(--color-select-arrow) 50%),linear-gradient(135deg,var(--color-select-arrow) 50%, transparent 50%); background-position:calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px); background-size:6px 6px, 6px 6px; background-repeat:no-repeat; color:var(--color-input-text); padding:10px 38px 10px 12px; font-size:13px; line-height:1.4; }
textarea { min-height:90px; resize:vertical; }
button {
  border:1px solid var(--color-btn-primary-border);
  background:var(--color-btn-primary-bg);
  color:var(--color-btn-primary-text);
  border-radius:10px;
  padding:10px 16px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  box-shadow:var(--color-btn-primary-shadow);
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .12s ease;
}
button:hover { border-color:var(--color-btn-primary-border-hover); background:var(--color-btn-primary-bg-hover); }
button:active { transform:translateY(1px); }
button.secondary { background:var(--color-btn-secondary-bg); border:1px solid var(--color-btn-secondary-border); box-shadow:var(--color-btn-secondary-shadow); color:var(--color-btn-secondary-text); }
button.secondary:hover { border-color:var(--color-btn-secondary-border-hover); background:var(--color-btn-secondary-bg-hover); }
button.compact {
  min-height:30px;
  padding:5px 12px;
  border-radius:8px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.01em;
  border:1px solid var(--color-btn-compact-border);
  background:var(--color-btn-compact-bg);
  color:var(--color-btn-compact-text);
  box-shadow:var(--color-btn-compact-shadow);
}
button.compact:hover { border-color:var(--color-btn-compact-border-hover); background:var(--color-btn-compact-bg-hover); filter:none; }
button.compact:active { transform:translateY(1px); }
table { width:100%; border-collapse:collapse; font-size:13px; }
th, td { padding:12px 10px; border-bottom:1px solid var(--color-table-td-border); text-align:left; vertical-align:top; }
th { color:var(--color-table-th); font-weight:600; font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
tbody tr:nth-child(even) td { background:var(--color-table-row-even); }
tbody tr:hover td { background:var(--color-table-row-hover); }
code { background:var(--color-code-bg); border:1px solid var(--color-code-border); padding:2px 6px; border-radius:8px; color:var(--color-code-text); }
.ok { color:var(--green); }
.bad { color:var(--red); }
.warn { color:var(--color-warn-text); }
.money { color:var(--color-money-text); font-weight:700; }
.balance-green { color:var(--green); }
.brand-text { color:var(--color-brand-text); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.hint { color:var(--muted); font-size:13px; line-height:1.7; }
.mono { font-family:Consolas,monospace; }
.pill-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.pill { padding:9px 12px; border-radius:999px; background:#17243c; border:1px solid #2b4168; color:#d7e6ff; font-size:13px; }
.client-hero .pill:nth-child(2n) { border-color:rgba(255,180,87,.28); background:rgba(255,180,87,.08); color:#ffe0b1; }
.package-strong { font-weight:700; color:#ffffff; }
.copy-chip { display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; }
.copy-btn { padding:6px 10px; font-size:12px; border-radius:10px; background:var(--color-btn-ghost-bg); border:1px solid var(--color-btn-ghost-border); color:var(--color-btn-ghost-text); cursor:pointer; }
.copy-btn:hover { background:var(--color-btn-ghost-bg-hover); border-color:var(--color-btn-ghost-border-hover); color:var(--color-btn-ghost-text-hover); }
.package-highlight td { background:rgba(255,180,87,.06); }
.accent-card { background:linear-gradient(180deg,rgba(255,180,87,.08),rgba(18,28,47,.96)); border:1px solid rgba(255,180,87,.18); }
.partner-shell { position:relative; overflow:hidden; }
.partner-shell::after { content:''; position:absolute; inset:auto -60px -80px auto; width:260px; height:260px; background:radial-gradient(circle, rgba(95,179,255,.18), transparent 66%); pointer-events:none; }
.partner-panel { background:
  radial-gradient(circle at top right, rgba(103, 215, 255, .14), transparent 30%),
  radial-gradient(circle at left bottom, rgba(255,180,87,.10), transparent 24%),
  linear-gradient(180deg,rgba(11,19,34,.74),rgba(8,15,28,.86)); border-color:rgba(92,138,220,.28); box-shadow:0 0 0 1px rgba(255,255,255,.02) inset, 0 0 26px rgba(92,186,255,.08), 0 24px 54px rgba(0,0,0,.32); }
.partner-title { color:#f4c86a; text-shadow:0 0 18px rgba(244,200,106,.12); }
.partner-hero-copy { max-width:760px; color:#afc2de; line-height:1.75; }
.partner-form-card { background:linear-gradient(180deg,rgba(16,25,42,.98),rgba(13,21,36,.98)); }
.partner-info-card { background:linear-gradient(180deg,rgba(22,31,48,.96),rgba(16,24,39,.98)); }
.section-title { margin-bottom:10px; }
.empty-state { padding:22px 16px; text-align:center; color:#8ea5c7; }
.field-label { color:#89a0c2; font-size:12px; letter-spacing:.04em; text-transform:uppercase; margin-bottom:-2px; }
.status-chip { display:inline-flex; align-items:center; justify-content:center; min-width:68px; padding:5px 10px; border-radius:999px; font-size:12px; font-weight:700; letter-spacing:.02em; }
.status-chip.ok { color:#aef1c0; background:rgba(47,129,84,.14); border:1px solid rgba(47,129,84,.26); }
.status-chip.warn { color:#ffe29a; background:rgba(200,142,38,.12); border:1px solid rgba(200,142,38,.24); }
.status-chip.bad { color:#ffb7b7; background:rgba(181,72,72,.12); border:1px solid rgba(181,72,72,.24); }
.ghost-link { display:inline-flex; align-items:center; justify-content:center; padding:8px 12px; border-radius:999px; color:var(--color-btn-ghost-text); text-decoration:none; background:var(--color-btn-ghost-bg); border:1px solid var(--color-btn-ghost-border); font-size:12px; font-weight:700; }
.ghost-link:hover { background:var(--color-btn-ghost-bg-hover); border-color:var(--color-btn-ghost-border-hover); color:var(--color-btn-ghost-text-hover); }
.partner-panel select {
  background-color:#060c15;
  background-image:linear-gradient(45deg,transparent 50%, #ffffff 50%),linear-gradient(135deg,#ffffff 50%, transparent 50%);
  border-color:rgba(122,149,196,.52);
  color:#ffffff;
  padding:9px 34px 9px 11px;
  font-size:12px;
  line-height:1.3;
}
.mini-note { color:#9eb8d9; font-size:12px; line-height:1.6; }
.login-panel { background:linear-gradient(180deg,rgba(12,20,35,.74),rgba(16,26,43,.88)); border:1px solid rgba(43,65,104,.45); border-radius:28px; padding:28px; box-shadow:0 18px 48px rgba(0,0,0,.3); }
.login-input { background:linear-gradient(180deg,#0d1627,#111c30); border-color:#2b4168; }
.partner-login-shell { max-width:820px; margin:42px auto 0; display:grid; grid-template-columns:1fr; gap:22px; position:relative; }
.partner-login-shell::before { content:''; position:absolute; inset:-24px -18px auto; height:220px; background:radial-gradient(circle at 18% 30%, rgba(255,194,92,.16), transparent 34%), radial-gradient(circle at 85% 10%, rgba(92,186,255,.22), transparent 28%); pointer-events:none; filter:blur(4px); }
.partner-login-hero { position:relative; overflow:hidden; min-height:100%; background:
  radial-gradient(circle at 18% 20%, rgba(255,201,104,.16), transparent 28%),
  radial-gradient(circle at 82% 16%, rgba(96,190,255,.18), transparent 26%),
  linear-gradient(145deg, rgba(13,22,37,.7), rgba(9,17,29,.84)); border:1px solid rgba(113,154,224,.26); box-shadow:0 0 0 1px rgba(255,255,255,.02) inset, 0 0 26px rgba(92,186,255,.10), 0 24px 54px rgba(0,0,0,.34); }
.partner-login-panel { position:relative; overflow:hidden; background:
  linear-gradient(180deg, rgba(13,21,36,.74), rgba(10,17,30,.86)); border:1px solid rgba(110,146,212,.28); box-shadow:0 0 0 1px rgba(255,255,255,.02) inset, 0 0 20px rgba(255,196,92,.08), 0 24px 54px rgba(0,0,0,.34); }
.partner-login-panel::before, .partner-login-hero::before { content:''; position:absolute; inset:-1px; border-radius:28px; padding:1px; background:linear-gradient(135deg, rgba(255,199,101,.30), rgba(100,188,255,.22)); -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.partner-login-title { color:#f4c86a; text-shadow:0 0 20px rgba(244,200,106,.14); }
.partner-login-note { color:#d8e7ff; line-height:1.8; }
.remember-row { display:flex; align-items:center; gap:8px; color:#bfd2ee; font-size:13px; }
.remember-row input[type="checkbox"] { width:auto; accent-color:#f4c86a; }
.partner-login-panel form { max-width:520px; }
.client-login-panel { position:relative; overflow:hidden; background:
  radial-gradient(circle at 82% 18%, rgba(128,175,255,.18), transparent 24%),
  radial-gradient(circle at 20% 0%, rgba(255,255,255,.06), transparent 26%),
  linear-gradient(180deg,rgba(13,21,36,.84),rgba(15,24,40,.96)); border:1px solid rgba(79,106,156,.38); border-radius:30px; padding:28px; box-shadow:0 26px 72px rgba(0,0,0,.28), 0 0 34px rgba(103,152,255,.10), 0 0 0 1px rgba(255,255,255,.02) inset; display:grid; gap:18px; align-items:start; }
.client-login-panel::before { content:''; position:absolute; inset:-1px; border-radius:30px; padding:1px; background:linear-gradient(135deg, rgba(160,197,255,.34), rgba(255,255,255,.07), rgba(118,163,255,.14)); -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.client-login-panel::after { content:''; position:absolute; inset:auto -40px -56px auto; width:220px; height:220px; background:radial-gradient(circle, rgba(118,163,255,.16), transparent 66%); pointer-events:none; filter:blur(4px); }
.client-login-panel .sub { margin-bottom:10px; color:#8ea5c7; }
.client-login-input { background:linear-gradient(180deg,#0c1524,#101a2c); border-color:#264264; }
.client-login-side { display:grid; gap:10px; align-content:start; text-align:left; }
.client-login-kicker { color:#88a4cc; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
.client-login-head { display:grid; gap:6px; }
.client-login-side h2 { margin:0; font-size:28px; line-height:1.16; letter-spacing:-.02em; max-width:560px; }
.client-login-side .mini-note { margin:0; max-width:560px; color:#9bb2d5; line-height:1.7; font-size:13px; }
.client-login-form-area { display:grid; gap:14px; }
.client-login-form-grid { display:grid; grid-template-columns:1fr; gap:12px; align-items:center; }
.client-login-form-grid.single { grid-template-columns:1fr; }
.client-login-form-actions { display:flex; justify-content:flex-start; }
.client-login-form-actions button { min-width:96px; min-height:38px; padding:0 14px; border-radius:10px; box-shadow:none; background:linear-gradient(135deg,#203252,#18263f); color:#dbe8ff; border:1px solid rgba(143,181,255,.14); }
.client-login-divider { height:1px; background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(143,181,255,.18),rgba(255,255,255,.06)); }
.client-login-block { display:grid; gap:10px; }
.api-admin-layout { display:grid; grid-template-columns:1fr; gap:16px; }
.api-table-shell { overflow:hidden; border-radius:20px; border:1px solid rgba(43,65,104,.42); background:linear-gradient(180deg,rgba(10,17,29,.94),rgba(12,19,33,.98)); }
.api-table-head { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; padding:18px 18px 14px; border-bottom:1px solid rgba(43,65,104,.32); }
.api-table-head h2 { margin:0; font-size:24px; }
.api-table-head p { margin:6px 0 0; color:#96adcf; line-height:1.6; font-size:13px; }
.api-table-meta { color:#d8e6ff; font-size:13px; }
.api-table-scroll { overflow:auto; scrollbar-width:thin; scrollbar-color:#22324a #0d1522; }
.api-table-scroll::-webkit-scrollbar { width:10px; height:10px; }
.api-table-scroll::-webkit-scrollbar-track { background:#0d1522; border-radius:12px; }
.api-table-scroll::-webkit-scrollbar-thumb { background:linear-gradient(180deg,#23344c,#182434); border-radius:12px; border:2px solid #0d1522; }
.api-table-scroll::-webkit-scrollbar-thumb:hover { background:linear-gradient(180deg,#2a405c,#1b293b); }
.api-key-cell { display:grid; gap:8px; min-width:320px; }
.api-key-line { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.api-key-raw { display:block; max-width:560px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.api-url-box { display:grid; gap:8px; padding:14px; border-radius:16px; background:rgba(12,18,29,.68); border:1px solid rgba(43,65,104,.36); }
.api-actions-card { padding:16px; border-radius:18px; background:linear-gradient(180deg,rgba(15,22,35,.84),rgba(14,20,31,.92)); border:1px solid rgba(43,65,104,.24); display:grid; gap:12px; }
.api-actions-card h3 { margin:0; font-size:16px; color:#dce7fa; }
.api-actions-stack { display:grid; gap:10px; }
.ops-form { display:grid; gap:10px; }
.ops-form-note { color:#7f96ba; font-size:12px; line-height:1.5; }
.tag-soft { display:inline-flex; align-items:center; justify-content:center; padding:6px 10px; border-radius:999px; background:rgba(143,181,255,.08); border:1px solid rgba(143,181,255,.18); color:#dce8ff; font-size:12px; font-weight:700; }
#client-api-keys-center,#client-create-key-center { scroll-margin-top:96px; }
.key-group-live-hint { margin-top:10px !important; line-height:1.55; }
.key-group-panel { width:100%; border-radius:11px; border:1px solid rgba(80,118,168,.32); background:rgba(8,13,22,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04); overflow:hidden; }
.key-group-list { display:flex; flex-direction:column; max-height:min(240px,42vh); overflow-y:auto; scrollbar-width:thin;
  scrollbar-color:rgba(90,130,190,.45) rgba(12,20,34,.6); }
.key-group-list::-webkit-scrollbar { width:8px; }
.key-group-list::-webkit-scrollbar-thumb { background:rgba(90,130,190,.38); border-radius:8px; }
.key-group-option { position:relative; display:flex; align-items:flex-start; gap:9px; padding:8px 11px; margin:0; cursor:pointer; user-select:none;
  border:none; border-bottom:1px solid rgba(80,118,168,.18); border-radius:0; min-height:0;
  background:transparent; color:#e5eeff; transition:background .15s ease, box-shadow .15s ease; }
.key-group-option:last-child { border-bottom:none; }
.key-group-option:hover { background:rgba(110,168,255,.07); }
.key-group-option:has(input:checked) { background:rgba(110,168,255,.11); box-shadow:inset 3px 0 0 #7eb4ff; }
.key-group-option input[type="radio"] { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; clip:rect(0,0,0,0); clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.key-group-dot { flex-shrink:0; width:18px; height:18px; margin-top:2px; border-radius:50%; border:2px solid rgba(130,168,220,.45);
  display:flex; align-items:center; justify-content:center; transition:border-color .18s ease, background .18s ease; }
.key-group-option:has(input:checked) .key-group-dot { border-color:#7eb4ff; background:rgba(110,168,255,.14); }
.key-group-option:has(input:checked) .key-group-dot::after { content:""; width:8px; height:8px; border-radius:50%; background:linear-gradient(180deg,#9ec6ff,#5a9ae8); }
.key-group-label { display:grid; gap:2px; min-width:0; flex:1; }
.key-group-title { font-size:13.5px; font-weight:750; letter-spacing:.02em; line-height:1.3; }
.key-group-sub { font-size:11px; font-weight:550; color:#8fa6c8; line-height:1.36; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.key-group-option:has(input:checked) .key-group-sub { color:#a8c4ea; }
.inline-copy { display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; }
.overview-stack { display:grid; gap:16px; }
.pricing-group-intro { margin-bottom:12px; line-height:1.65; }
.pricing-subblock { display:grid; gap:8px; }
.pricing-subblock--spaced { margin-top:22px; padding-top:16px; border-top:1px solid rgba(43,65,104,.35); }
.pricing-subtitle { margin:0; font-size:15px; font-weight:800; color:#dce9ff; letter-spacing:.02em; }
.pricing-subnote { margin:0 !important; }
.pricing-subnote--muted { opacity:.88; }
.package-table th { background:rgba(255,255,255,.02); }
.package-table td { padding-top:14px; padding-bottom:14px; }
.package-total { color:#ffe1b3; font-weight:700; }
.package-price { color:#ffffff; font-weight:800; }
.soft-tag { display:inline-block; padding:5px 10px; border-radius:999px; background:rgba(143,181,255,.1); border:1px solid rgba(143,181,255,.22); color:#dbe7ff; font-size:12px; }
.pricing-line { margin-top:12px; color:#cfe0ff; font-size:13px; line-height:1.8; }
.scroll-box { max-height:360px; overflow:auto; border:1px solid rgba(43,65,104,.45); border-radius:18px; background:linear-gradient(180deg,rgba(10,17,29,.92),rgba(12,20,34,.96)); scrollbar-width:thin; scrollbar-color:#385784 #0c1422; }
.pricing-layout .scroll-box { padding:16px 18px 20px; box-sizing:border-box; }
.scroll-box table { margin:0; }
/* 管理后台「最新日志」：长路径/错误不再撑开整页横向滚动 */
#revenue-log-center { min-width:0; max-width:100%; }
#revenue-log-center .admin-logs-scroll-wrap {
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  max-height:min(72vh, 960px);
  overflow-x:auto;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
#revenue-log-center .admin-revenue-logs-table {
  width:100%;
  max-width:100%;
  table-layout:fixed;
  border-collapse:collapse;
}
#revenue-log-center .admin-revenue-logs-table th,
#revenue-log-center .admin-revenue-logs-table td {
  padding:9px 10px;
  vertical-align:top;
}
#revenue-log-center .admin-revenue-logs-table thead th:nth-child(7) {
  text-align:center;
}
#revenue-log-center .admin-revenue-logs-table thead th:nth-child(8),
#revenue-log-center .admin-revenue-logs-table thead th:nth-child(9),
#revenue-log-center .admin-revenue-logs-table thead th:nth-child(10) {
  text-align:right;
}
#revenue-log-center .admin-revenue-logs-table .admin-log-cell-client,
#revenue-log-center .admin-revenue-logs-table .admin-log-cell-model,
#revenue-log-center .admin-revenue-logs-table .admin-log-cell-usage,
#revenue-log-center .admin-revenue-logs-table .admin-log-cell-err {
  word-break:break-word;
  overflow-wrap:anywhere;
}
#revenue-log-center .admin-revenue-logs-table .admin-log-cell-path {
  word-break:break-all;
  overflow-wrap:anywhere;
}
#revenue-log-center .admin-revenue-logs-table .admin-log-cell-time {
  white-space:nowrap;
  width:10%;
  min-width:8.5rem;
}
#revenue-log-center .admin-revenue-logs-table .admin-log-cell-code {
  white-space:nowrap;
  width:4.5%;
  min-width:3.25rem;
  max-width:4.5rem;
  text-align:center;
  box-sizing:border-box;
}
#revenue-log-center .admin-revenue-logs-table td.money {
  white-space:nowrap;
  width:7%;
  min-width:5.75rem;
  text-align:right;
  font-variant-numeric:tabular-nums;
  box-sizing:border-box;
}
#revenue-log-center .admin-revenue-logs-table .admin-log-cell-group {
  white-space:nowrap;
  width:6%;
  min-width:3.5rem;
}
#revenue-log-center .admin-revenue-logs-table .admin-log-cell-timing {
  white-space:normal;
  vertical-align:top;
  width:9%;
  min-width:6.25rem;
  max-width:10.75rem;
  box-sizing:border-box;
}
#revenue-log-center .admin-revenue-logs-table .log-timing-badge-wrap,
.client-logs-table .log-timing-badge-wrap {
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 6px;
  max-width:100%;
  min-width:0;
  vertical-align:middle;
}
#revenue-log-center .admin-revenue-logs-table .log-timing-badge-wrap .log-time-pill,
.client-logs-table .log-timing-badge-wrap .log-time-pill {
  margin-right:0;
  margin-bottom:0;
}
.log-time-pill {
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  line-height:1.35;
  margin-right:5px;
  margin-bottom:2px;
  vertical-align:middle;
  min-width:2.25em;
  text-align:center;
  box-sizing:border-box;
}
.log-time-pill--wall { background:rgba(22,101,52,.45); color:#bbf7d0; }
.log-time-pill--ttft { background:rgba(146,64,14,.42); color:#fde68a; }
.log-time-pill--mode { background:rgba(30,58,138,.42); color:#bfdbfe; }
.log-error-inline {
  font-size:12px;
  line-height:1.45;
  word-break:break-word;
}
.log-error-details {
  font-size:12px;
  line-height:1.45;
  max-width:100%;
}
.log-error-summary {
  cursor:pointer;
  list-style:none;
  word-break:break-all;
  overflow-wrap:anywhere;
  color:var(--muted,#a1a1aa);
  display:block;
}
.log-error-summary::-webkit-details-marker { display:none; }
.log-error-summary::marker { display:none; }
.log-error-summary::before {
  content:'▸ ';
  opacity:.55;
  font-size:10px;
  margin-right:2px;
}
details.log-error-details[open] > .log-error-summary::before {
  content:'▾ ';
}
.log-error-full {
  margin-top:8px;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.06);
  white-space:pre-wrap;
  word-break:break-word;
  font-size:11px;
  max-height:min(50vh,320px);
  overflow:auto;
  color:#dde6f5;
}
#revenue-log-center .admin-log-cell-err .log-error-inline,
#revenue-log-center .admin-log-cell-err .log-error-details {
  font-size:11px;
}
.client-logs-scroll { width:100%; overflow-x:auto; }
.client-logs-table { width:100%; max-width:100%; table-layout:fixed; border-collapse:collapse; }
.client-logs-table thead th { padding:10px 14px; white-space:nowrap; }
.client-logs-table tbody td { padding:10px 14px; vertical-align:middle; word-break:break-word; }
.client-logs-table tbody td.client-logs-cell-err { vertical-align:top; }
.client-logs-cell-time { width:12%; white-space:nowrap; }
.client-logs-cell-path { width:14%; }
.client-logs-cell-model { width:11%; }
.client-logs-cell-group { width:7%; white-space:nowrap; }
.client-logs-cell-timing {
  width:12%;
  white-space:normal;
  vertical-align:top;
  min-width:6.25rem;
  max-width:11rem;
  box-sizing:border-box;
}
.client-logs-cell-code { width:6%; white-space:nowrap; }
.client-logs-cell-cost { width:8%; white-space:nowrap; }
.client-logs-cell-usage { width:22%; white-space:nowrap; overflow-x:auto; }
.client-logs-cell-err { width:8%; }
.scroll-box::-webkit-scrollbar { width:10px; height:10px; }
.scroll-box::-webkit-scrollbar-track { background:#0c1422; border-radius:12px; }
.scroll-box::-webkit-scrollbar-thumb { background:linear-gradient(180deg,#36547f,#233754); border-radius:12px; border:2px solid #0c1422; }
.scroll-box::-webkit-scrollbar-thumb:hover { background:linear-gradient(180deg,#4a6fa4,#2b4164); }
.section-gap { margin-top:22px; }
.nav-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:20px; }
.nav-card { display:block; text-decoration:none; color:inherit; background:linear-gradient(180deg,rgba(20,32,53,.98),rgba(16,25,41,.98)); border:1px solid rgba(43,65,104,.55); border-radius:20px; padding:18px; transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.nav-card:hover { transform:translateY(-2px); border-color:rgba(255,180,87,.3); box-shadow:0 14px 30px rgba(0,0,0,.22); }
.nav-kicker { color:#8fb5ff; font-size:12px; text-transform:uppercase; letter-spacing:.14em; }
.nav-card h3 { margin:10px 0 8px; font-size:20px; }
.nav-card p { margin:0; color:var(--muted); line-height:1.7; font-size:14px; }
.client-console { display:grid; grid-template-columns:260px minmax(0,1fr); gap:20px; align-items:start; }
.client-sidebar { position:sticky; top:20px; padding:18px; border-radius:24px; background:
  linear-gradient(180deg,rgba(10,15,24,.98),rgba(8,12,20,.99)); border:1px solid rgba(178,152,96,.18); box-shadow:0 28px 58px rgba(0,0,0,.38); }
.client-sidebar, .client-main, .client-toolbar-copy, .client-toolbar-side { min-width:0; }
.client-brand { padding:8px 4px 18px; border-bottom:1px solid rgba(43,65,104,.45); margin-bottom:18px; }
.client-brand-badge { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; background:rgba(193,157,92,.10); border:1px solid rgba(193,157,92,.24); color:#f1dfbc; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.client-brand .eyebrow { color:#8fb5ff; font-size:12px; letter-spacing:.16em; text-transform:uppercase; }
.client-brand h2 { margin:8px 0 6px; font-size:28px; word-break:break-word; }
.client-brand p { margin:0; color:var(--muted); line-height:1.7; font-size:13px; }
.client-menu { display:grid; gap:10px; }
.client-menu a { display:flex; justify-content:space-between; align-items:center; gap:10px; text-decoration:none; color:#dbe8ff; padding:12px 14px; border-radius:16px; border:1px solid rgba(43,65,104,.36); background:rgba(18,29,47,.68); transition:transform .18s ease, border-color .18s ease, background .18s ease; }
.client-menu a:hover { border-color:rgba(255,180,87,.24); background:rgba(28,40,64,.9); }
.client-menu a.active { border-color:rgba(255,180,87,.34); background:linear-gradient(180deg,rgba(34,49,74,.96),rgba(23,35,56,.98)); box-shadow:0 12px 24px rgba(0,0,0,.18); }
.client-menu .menu-title { font-weight:700; }
.client-menu .menu-meta { color:#88a1c5; font-size:12px; }
.client-side-note { margin-top:18px; padding:14px; border-radius:18px; background:var(--color-side-note-bg); border:1px solid var(--color-side-note-border); color:var(--color-side-note-text); font-size:13px; line-height:1.7; display:grid; gap:6px; }
.client-side-note-name { font-size:14px; font-weight:800; color:var(--color-side-note-name); }
.client-side-note-meta { color:inherit; opacity:.92; }
.client-side-foot { display:grid; gap:10px; margin-top:14px; }
.client-side-foot a { display:flex; align-items:center; justify-content:center; min-height:42px; text-decoration:none; color:#dce8ff; border-radius:14px; background:rgba(17,27,44,.92); border:1px solid rgba(43,65,104,.4); }
.client-side-foot a:hover { border-color:rgba(143,181,255,.28); background:rgba(25,39,62,.96); }
.topbar-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.topbar-btn { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 14px; border-radius:999px; text-decoration:none; color:#e8edf6; background:rgba(18,24,35,.92); border:1px solid rgba(255,255,255,.08); font-size:13px; }
.topbar-btn:hover { border-color:rgba(193,157,92,.24); background:rgba(26,34,48,.96); }
.sidebar-section { margin-top:18px; padding-top:18px; border-top:1px solid rgba(255,255,255,.06); }
.sidebar-section-title { margin:0 0 10px; color:#f2ead8; font-size:12px; letter-spacing:.16em; text-transform:uppercase; }
.sidebar-model-group { display:grid; gap:10px; margin-top:10px; }
.sidebar-model-group strong { color:#d6c49a; font-size:12px; font-weight:700; letter-spacing:.04em; }
.sidebar-model-list { display:grid; gap:8px; }
.sidebar-model-item { display:grid; gap:5px; padding:10px 12px; border-radius:14px; background:rgba(17,23,34,.88); border:1px solid rgba(255,255,255,.06); }
.sidebar-model-item-name { color:#eef3fb; font-size:13px; line-height:1.35; word-break:break-word; }
.sidebar-model-item-meta { color:#9eafc7; font-size:12px; line-height:1.5; }
.sidebar-model-badge { display:inline-flex; align-items:center; padding:3px 8px; border-radius:999px; background:rgba(193,157,92,.10); border:1px solid rgba(193,157,92,.18); color:#ead6a7; font-size:11px; }
.client-main { display:grid; gap:20px; align-content:start; }
.hero-panel { position:relative; overflow:hidden; padding:24px; border-radius:28px; background:
  radial-gradient(circle at top right, rgba(255,180,87,.14), transparent 26%),
  radial-gradient(circle at 18% 18%, rgba(97,156,255,.14), transparent 24%),
  linear-gradient(145deg, rgba(14,25,43,.92), rgba(10,18,32,.98)); border:1px solid rgba(86,122,188,.38); box-shadow:0 28px 60px rgba(0,0,0,.32); }
.hero-row { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.hero-copy { max-width:760px; }
.hero-copy h1 { margin:10px 0 10px; font-size:42px; line-height:1.08; }
.hero-copy p { margin:0; color:#aec3e4; line-height:1.8; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }
.hero-actions a, .hero-actions button { text-decoration:none; }
.ghost-action { display:inline-flex; align-items:center; justify-content:center; padding:11px 14px; border-radius:14px; background:rgba(143,181,255,.08); border:1px solid rgba(143,181,255,.22); color:#dce8ff; font-weight:700; }
.ghost-action:hover { background:rgba(143,181,255,.14); }
.recharge-action { display:inline-flex; align-items:center; justify-content:center; padding:11px 16px; border-radius:14px; background:linear-gradient(135deg,#ffb457,#f28b32); color:#101826; font-weight:800; box-shadow:0 12px 26px rgba(242,139,50,.18); }
.recharge-action:hover { filter:brightness(1.04); }
.top-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.metric-card { padding:18px; border-radius:20px; background:linear-gradient(180deg,rgba(18,28,47,.96),rgba(12,20,35,.98)); border:1px solid rgba(55,81,126,.42); }
.metric-card .metric-label { color:#8ea8ce; font-size:12px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:10px; }
.metric-card .metric-value { font-size:32px; font-weight:800; letter-spacing:-.03em; }
.metric-card .metric-note { margin-top:8px; color:#90a8ca; font-size:13px; line-height:1.6; }
.metric-balance { border-color:rgba(255,180,87,.28); box-shadow:0 12px 26px rgba(255,180,87,.08); }
.metric-success { border-color:rgba(46,204,113,.28); }
.metric-warning { border-color:rgba(255,180,87,.24); }
.quick-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:20px; }
.feature-board { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.feature-card { padding:18px; border-radius:18px; background:linear-gradient(180deg,rgba(17,27,45,.96),rgba(12,20,34,.98)); border:1px solid rgba(43,65,104,.48); }
.feature-card h3 { margin:10px 0 8px; font-size:20px; }
.feature-card p { margin:0; color:#96adcf; line-height:1.75; font-size:14px; }
.feature-kicker { color:#7fa8ff; font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.recharge-panel { padding:20px; border-radius:22px; background:linear-gradient(180deg,rgba(255,180,87,.10),rgba(22,28,40,.96)); border:1px solid rgba(255,180,87,.24); }
.recharge-panel h3 { margin:0 0 10px; font-size:26px; }
.recharge-panel p { margin:0; color:#ffe8c7; line-height:1.8; }
.recharge-panel--enhanced { display:grid; gap:12px; align-content:start; }
.billing-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.billing-card-head h2 { margin:0 0 6px; }
.billing-balance-pill { min-width:170px; padding:10px 12px; border-radius:14px; border:1px solid rgba(255,180,87,.35); background:rgba(255,180,87,.12); text-align:right; }
.billing-balance-pill span { display:block; color:#ffd9ab; font-size:12px; }
.billing-balance-pill strong { display:block; margin-top:4px; color:#fff5e5; font-size:24px; letter-spacing:-.02em; }
.billing-card-note { color:#f3dcc0; font-size:13px; line-height:1.7; }
.billing-step-list { margin:0; padding-left:18px; display:grid; gap:6px; color:#e8cfb0; font-size:13px; line-height:1.7; }
.billing-action-shell { margin-top:2px; padding:16px 18px; }
.billing-action-shell h3 { margin:0 0 10px; font-size:17px; }
.billing-key-shell { display:grid; align-content:start; gap:10px; }
.billing-key-hint { margin-bottom:0; line-height:1.7; }
.qr-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin-top:16px; }
.qr-card { padding:14px; border-radius:18px; background:rgba(255,255,255,.03); border:1px solid rgba(255,180,87,.18); }
.qr-card img { width:100%; max-width:200px; aspect-ratio:1/1; object-fit:cover; border-radius:14px; display:block; margin:10px auto 0; background:#fff; }
.qr-card .qr-title { font-weight:700; color:#fff1d1; }
.qr-card .qr-sub { margin-top:6px; color:#ffdcb0; font-size:13px; line-height:1.7; }
.recharge-stack { display:grid; gap:12px; margin-top:18px; }
.recharge-item { padding:14px 16px; border-radius:16px; background:rgba(15,20,29,.46); border:1px solid rgba(255,255,255,.08); }
.recharge-item strong { display:block; color:#fff5e6; margin-bottom:6px; }
.summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px; }
.summary-chip { padding:14px 16px; border-radius:18px; background:rgba(15,24,39,.62); border:1px solid rgba(255,255,255,.08); }
.summary-chip strong { display:block; margin-bottom:6px; color:#ffffff; font-size:14px; }
.summary-chip span { color:#9db2d3; font-size:13px; line-height:1.7; }
.ops-banner { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:16px; padding:14px 16px; border-radius:18px; background:linear-gradient(90deg,rgba(97,156,255,.12),rgba(255,180,87,.10)); border:1px solid rgba(125,160,220,.24); }
.ops-banner strong { display:block; color:#f2f6ff; margin-bottom:4px; }
.ops-banner span { color:#a8bddc; font-size:13px; }
.ops-badge { display:inline-flex; align-items:center; justify-content:center; padding:9px 12px; border-radius:999px; background:rgba(255,255,255,.08); color:#e5eeff; font-size:12px; font-weight:700; white-space:nowrap; }
.toolbar-strip { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 14px; border-radius:18px; background:var(--color-toolbar-strip-bg); border:1px solid var(--color-toolbar-strip-border); margin-bottom:14px; }
.toolbar-search { flex:1; min-width:220px; display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:14px; background:var(--color-toolbar-search-bg); border:1px solid var(--color-toolbar-search-border); color:var(--color-toolbar-search-text); font-size:13px; }
.toolbar-pills { display:flex; gap:8px; flex-wrap:wrap; }
.toolbar-pill { display:inline-flex; align-items:center; justify-content:center; padding:8px 12px; border-radius:999px; background:var(--color-pill-bg); border:1px solid var(--color-pill-border); color:var(--color-pill-text); font-size:12px; }
.cta-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:16px; }
.cta-box { padding:16px; border-radius:18px; background:rgba(10,17,28,.44); border:1px solid rgba(255,255,255,.08); }
.cta-box strong { display:block; margin-bottom:8px; color:#fff8ec; }
.cta-box span { display:block; color:#f0dcc2; font-size:13px; line-height:1.75; }
.cta-box .cta-tag { display:inline-flex; margin-top:12px; padding:7px 10px; border-radius:999px; background:rgba(255,180,87,.12); border:1px solid rgba(255,180,87,.18); color:#ffe3be; font-size:12px; }
.admin-search-bar { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin:14px 0 16px; padding:14px; border-radius:18px; background:linear-gradient(180deg,rgba(12,19,32,.84),rgba(9,15,27,.92)); border:1px solid rgba(56,84,128,.34); }
.admin-search-form { display:flex; gap:10px; flex-wrap:wrap; flex:1; min-width:280px; }
.admin-search-form input { flex:1; min-width:240px; min-height:44px; border-radius:14px; }
.admin-search-form button { min-height:44px; padding:0 16px; border-radius:14px; }
.admin-search-form .secondary-link-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 16px; border-radius:14px; text-decoration:none; background:linear-gradient(135deg,#263755,#1b2942); color:#dbe6f8; border:1px solid rgba(143,181,255,.12); }
.admin-search-meta { color:#9eb6d7; font-size:13px; line-height:1.7; }
.table-shell { overflow:hidden; border-radius:22px; border:1px solid rgba(43,65,104,.34); background:linear-gradient(180deg,rgba(9,15,26,.78),rgba(8,13,23,.9)); }
.table-shell table { margin:0; }
.section-shell { padding:20px; border-radius:24px; background:linear-gradient(180deg,rgba(12,20,35,.92),rgba(10,17,30,.98)); border:1px solid rgba(43,65,104,.42); }
.client-page-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.client-page-head h1 { margin:0; font-size:34px; }
.client-page-head p { margin:10px 0 0; color:#a8bddc; line-height:1.8; }
.model-page-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.model-group-card { padding:18px; border-radius:20px; background:linear-gradient(180deg,rgba(14,20,31,.96),rgba(10,15,24,.98)); border:1px solid rgba(255,255,255,.06); min-height:0; display:flex; flex-direction:column; }
.model-group-card h3 { margin:0 0 14px; font-size:20px; color:#f5ead1; }
.model-grid { display:grid; gap:10px; max-height:280px; overflow:auto; padding-right:4px; scrollbar-width:thin; scrollbar-color:#5b6779 #101722; }
.model-grid::-webkit-scrollbar { width:10px; }
.model-grid::-webkit-scrollbar-track { background:#101722; border-radius:12px; }
.model-grid::-webkit-scrollbar-thumb { background:linear-gradient(180deg,#596779,#3b4654); border-radius:12px; border:2px solid #101722; }
.model-grid::-webkit-scrollbar-thumb:hover { background:linear-gradient(180deg,#68788d,#465263); }
.model-line { display:grid; gap:6px; padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.06); }
.model-line-name { color:#f3f7ff; font-size:13px; line-height:1.4; word-break:break-word; }
.model-line-meta { color:#9fb0c8; font-size:12px; line-height:1.6; }
.section-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-end; margin-bottom:16px; }
.section-head h2 { margin:0; font-size:28px; }
.section-head p { margin:8px 0 0; color:#92a8ca; line-height:1.7; }
.pricing-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:18px; }
.info-list { display:grid; gap:12px; }
.info-box { padding:16px; border-radius:18px; background:rgba(17,26,42,.92); border:1px solid rgba(43,65,104,.42); }
.info-box strong { display:block; margin-bottom:8px; color:#ffffff; }
.info-box p { margin:0; color:#95adce; line-height:1.75; font-size:14px; }
.section-anchor { scroll-margin-top:24px; }
.doc-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:20px; }
.toc-card { position:sticky; top:20px; align-self:start; }
.toc-list, .step-list, .check-list { display:grid; gap:10px; }
.toc-list a { color:#dce9ff; text-decoration:none; padding:10px 12px; border:1px solid rgba(43,65,104,.55); border-radius:14px; background:#111a2b; }
.toc-list a:hover { border-color:rgba(255,180,87,.3); }
.section-card { scroll-margin-top:24px; }
.section-card h3 { margin:0 0 10px; font-size:20px; }
.section-card p, .section-card li { color:var(--muted); line-height:1.8; }
.section-card ul, .section-card ol { margin:0; padding-left:20px; }
.doc-main-stack { display:grid; gap:20px; }
.doc-subline { margin:0 0 12px; color:#99b1d2; line-height:1.75; }
.doc-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.doc-kpi-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:8px; }
.doc-kpi-item { padding:12px; border-radius:14px; background:rgba(14,24,39,.9); border:1px solid rgba(52,80,122,.5); }
.doc-kpi-item strong { display:block; font-size:12px; letter-spacing:.08em; color:#f9d7a7; text-transform:uppercase; margin-bottom:6px; }
.doc-kpi-item span { color:#dce8ff; font-size:13px; line-height:1.6; }
.doc-callout { margin-top:14px; padding:14px; border-radius:14px; border:1px solid rgba(255,183,102,.35); background:rgba(255,183,102,.08); }
.doc-callout strong { display:block; margin-bottom:6px; color:#ffe3bc; }
.doc-callout p { margin:0; color:#ffebcd; }
.doc-callout .code-block { margin-top:10px; }
.doc-model-switch { display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 10px; }
.doc-model-chip { border:1px solid rgba(106,140,196,.45); border-radius:999px; padding:7px 12px; background:rgba(22,34,52,.86); color:#d5e4ff; font-size:12px; cursor:pointer; }
.doc-model-chip.active { border-color:rgba(255,188,108,.7); background:rgba(255,188,108,.16); color:#fff1d5; }
.doc-sample-block.hidden { display:none; }
.code-block { background:#0a1321; border:1px solid #233657; border-radius:18px; padding:16px; overflow:auto; white-space:pre-wrap; word-break:break-word; color:#d7e6ff; font-family:Consolas,monospace; font-size:13px; line-height:1.7; }
.inline-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.ghost-btn { display:inline-flex; align-items:center; justify-content:center; padding:10px 14px; border-radius:12px; border:1px solid rgba(143,181,255,.24); background:rgba(143,181,255,.08); color:#dce8ff; text-decoration:none; font-weight:600; cursor:pointer; }
.test-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.test-form textarea { min-height:160px; }
.response-panel { min-height:100%; }
.response-meta { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.meta-pill { padding:7px 10px; border-radius:999px; background:#152138; border:1px solid #294166; color:#dce8ff; font-size:12px; }
.note-strip { margin-top:16px; padding:14px 16px; border-radius:16px; background:rgba(255,180,87,.08); border:1px solid rgba(255,180,87,.2); color:#ffe1b3; line-height:1.7; font-size:13px; }
.step-item { padding:14px 16px; border-radius:16px; background:#111b2d; border:1px solid rgba(43,65,104,.5); }
.step-item strong { display:block; margin-bottom:6px; color:#fff; }
.client-console { gap:26px; grid-template-columns:300px minmax(0,1fr); }
.client-sidebar { padding:24px; border-radius:30px; background:
  radial-gradient(circle at 15% 12%, rgba(255,198,119,.12), transparent 20%),
  radial-gradient(circle at 84% 18%, rgba(100,168,255,.18), transparent 24%),
  linear-gradient(180deg, rgba(9,17,28,.96), rgba(8,14,24,.99)); border:1px solid rgba(115,148,214,.18); box-shadow:0 28px 56px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.03); }
.client-brand { display:grid; gap:10px; }
.client-brand-badge { width:max-content; padding:8px 12px; border-radius:999px; background:rgba(255,198,119,.10); border:1px solid rgba(255,198,119,.24); color:#ffe7bf; font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.client-brand h2 { font-family:"Space Grotesk","Manrope","Aptos","PingFang SC","Microsoft YaHei",sans-serif; margin:0; font-size:32px; letter-spacing:-.04em; }
.client-brand p { color:#9eb5d8; font-size:14px; line-height:1.8; }
.client-menu { margin-top:8px; gap:12px; }
.client-menu a { position:relative; overflow:hidden; min-height:62px; border-radius:18px; padding:14px 16px; background:linear-gradient(180deg,rgba(18,29,47,.78),rgba(13,22,36,.92)); border:1px solid rgba(62,88,132,.42); box-shadow:inset 0 1px 0 rgba(255,255,255,.02); }
.client-menu a::after { content:''; position:absolute; inset:auto -20px -38px auto; width:110px; height:110px; background:radial-gradient(circle, rgba(120,176,255,.12), transparent 68%); opacity:0; transition:opacity .18s ease; }
.client-menu a:hover::after, .client-menu a.active::after { opacity:1; }
.client-menu a:hover { transform:translateY(-1px); border-color:rgba(255,198,119,.26); }
.client-menu a.active { border-color:rgba(255,198,119,.36); background:linear-gradient(180deg,rgba(33,47,73,.98),rgba(18,29,48,.98)); box-shadow:0 16px 28px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04); }
.client-menu .menu-title { font-size:15px; letter-spacing:-.01em; }
.client-menu .menu-meta { font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:#90a7c9; }
.client-side-note { margin-top:22px; padding:18px; border-radius:22px; background:var(--color-side-note-bg); border:1px solid var(--color-side-note-border); color:var(--color-side-note-text); font-size:13px; line-height:1.8; }
.client-main { gap:24px; }
.client-toolbar { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.client-toolbar-copy { display:grid; gap:14px; }
.client-toolbar-copy h1 { font-family:"Space Grotesk","Manrope","Aptos","PingFang SC","Microsoft YaHei",sans-serif; margin:0; font-size:40px; line-height:1.02; letter-spacing:-.05em; word-break:break-word; }
.client-toolbar-pills { display:flex; flex-wrap:wrap; gap:10px; }
.client-toolbar-pill { display:inline-flex; align-items:center; gap:8px; padding:9px 13px; border-radius:999px; background:var(--color-pill-bg); border:1px solid var(--color-pill-border); color:var(--color-pill-text); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.client-toolbar-pill strong { color:var(--color-pill-strong); font-size:12px; }
.client-toolbar-side { display:grid; gap:12px; justify-items:end; }
.client-toolbar-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.client-hero-shell { position:relative; overflow:hidden; border-radius:32px; padding:28px; background:
  radial-gradient(circle at 84% 18%, rgba(255,188,106,.20), transparent 28%),
  radial-gradient(circle at 18% 16%, rgba(96,166,255,.18), transparent 26%),
  linear-gradient(145deg, rgba(15,28,46,.96), rgba(8,16,28,.99)); border:1px solid rgba(102,141,212,.32); box-shadow:0 30px 70px rgba(0,0,0,.34); }
.client-hero-shell::before { content:''; position:absolute; inset:-1px; border-radius:32px; padding:1px; background:linear-gradient(135deg, rgba(255,198,119,.26), rgba(110,171,255,.20), rgba(255,255,255,.04)); -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.client-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); gap:20px; align-items:start; }
.client-hero-copy h1 { font-family:"Space Grotesk","Manrope","Aptos","PingFang SC","Microsoft YaHei",sans-serif; margin:10px 0 12px; font-size:44px; line-height:1.02; letter-spacing:-.05em; }
.client-hero-copy p { margin:0; max-width:760px; color:#b6cae9; line-height:1.85; font-size:15px; }
.client-hero-pills { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.client-hero-pill { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:999px; background:var(--color-pill-bg); border:1px solid var(--color-pill-border); color:var(--color-pill-text); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.client-hero-pill strong { color:#ffffff; font-size:12px; }
.client-hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:20px; }
.client-hero-actions a { text-decoration:none; }
.client-primary-action { display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; border-radius:14px; background:linear-gradient(135deg,#ffc36a,#f59a38); color:#132032; font-weight:800; box-shadow:0 16px 28px rgba(245,154,56,.20); }
.client-primary-action:hover { filter:brightness(1.03); }
.client-secondary-action { display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; border-radius:14px; background:rgba(143,181,255,.10); border:1px solid rgba(143,181,255,.22); color:#dce8ff; font-weight:700; }
.client-secondary-action:hover { background:rgba(143,181,255,.15); }
.client-hero-side { display:grid; gap:12px; }
.hero-meter-card { padding:18px; border-radius:22px; background:linear-gradient(180deg,rgba(10,17,29,.84),rgba(13,21,34,.94)); border:1px solid rgba(108,142,198,.26); }
.hero-meter-card strong { display:block; margin-bottom:12px; font-size:14px; letter-spacing:.02em; color:#f7fbff; }
.hero-meter-stack { display:grid; gap:10px; }
.hero-meter { padding:12px 14px; border-radius:16px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); }
.hero-meter .label { margin-bottom:6px; color:#8ea6cb; }
.hero-meter .value { font-size:24px; }
.top-strip { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.metric-card { padding:20px; border-radius:22px; background:linear-gradient(180deg,rgba(17,27,44,.96),rgba(11,18,31,.99)); border:1px solid rgba(59,86,134,.42); box-shadow:0 20px 34px rgba(0,0,0,.18); }
.metric-card .metric-value { font-family:"Space Grotesk","Manrope","Aptos","PingFang SC","Microsoft YaHei",sans-serif; font-size:34px; }
.section-shell { padding:22px; border-radius:28px; background:linear-gradient(180deg,rgba(11,19,33,.92),rgba(8,14,25,.99)); border:1px solid rgba(53,78,122,.42); box-shadow:0 22px 42px rgba(0,0,0,.18); }
.section-shell.flush { padding:0; overflow:hidden; }
.client-page-head h1 { font-family:"Space Grotesk","Manrope","Aptos","PingFang SC","Microsoft YaHei",sans-serif; font-size:38px; letter-spacing:-.04em; }
.topbar-btn { min-height:42px; padding:0 16px; border-radius:999px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); color:#edf4ff; font-weight:700; }
.api-table-shell { border-radius:26px; }
.api-table-head { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; padding:20px 22px 14px; }
.api-table-head h2 { margin:0; font-size:26px; }
.api-table-meta { display:inline-flex; align-items:center; justify-content:center; padding:8px 12px; border-radius:999px; background:rgba(255,198,119,.10); border:1px solid rgba(255,198,119,.20); color:#ffe5bc; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.api-table-scroll { padding:0 22px 18px; overflow:auto; }
.api-table-scroll table { min-width:760px; }
.api-admin-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.9fr); gap:16px; margin-top:18px; }
.api-actions-card { padding:20px; border-radius:24px; background:linear-gradient(180deg,rgba(16,26,42,.94),rgba(11,18,31,.98)); border:1px solid rgba(58,84,128,.34); }
.api-actions-card h3 { font-size:18px; }
.ops-form input { min-height:46px; }
.ops-form button { min-height:42px; border-radius:14px; background:linear-gradient(180deg,rgba(22,34,54,.96),rgba(14,22,36,.98)); border:1px solid rgba(120,160,215,.3); color:#e8f0ff; box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.client-login-panel { min-height:100%; padding:26px; border-radius:30px; background:
  radial-gradient(circle at 84% 18%, rgba(125,176,255,.16), transparent 24%),
  radial-gradient(circle at 16% 16%, rgba(255,194,120,.10), transparent 22%),
  linear-gradient(150deg, rgba(14,25,42,.92), rgba(8,15,28,.98)); border:1px solid rgba(108,143,198,.30); box-shadow:0 26px 54px rgba(0,0,0,.28); }
.client-login-panel::after { width:260px; height:260px; inset:auto -60px -80px auto; background:radial-gradient(circle, rgba(255,198,119,.12), transparent 68%); }
.client-login-kicker { color:#ffc97d; font-size:11px; letter-spacing:.18em; }
.client-login-side h2 { font-family:"Space Grotesk","Manrope","Aptos","PingFang SC","Microsoft YaHei",sans-serif; font-size:34px; line-height:1.05; }
.client-login-side .mini-note { color:#a9c0e4; font-size:14px; line-height:1.85; }
.client-login-form-area { gap:16px; }
.client-login-input { min-height:48px; border-radius:16px; background:linear-gradient(180deg,#0a1423,#0f1829); border-color:rgba(83,118,176,.55); }
.client-login-form-actions button { min-width:122px; min-height:44px; border-radius:14px; background:linear-gradient(135deg,#ffc36a,#f59a38); color:#112134; font-weight:800; border:none; box-shadow:0 16px 28px rgba(245,154,56,.20); }
.client-auth-aside { display:grid; gap:16px; }
.client-landing-shell { display:grid; gap:24px; }
.client-landing-hero { position:relative; overflow:hidden; padding:30px; border-radius:34px; background:
  radial-gradient(circle at 84% 16%, rgba(255,194,120,.18), transparent 28%),
  radial-gradient(circle at 14% 18%, rgba(97,165,255,.16), transparent 24%),
  linear-gradient(145deg, rgba(15,28,46,.96), rgba(8,15,27,.99)); border:1px solid rgba(101,140,211,.30); box-shadow:0 34px 70px rgba(0,0,0,.34); }
.client-landing-hero::before { content:''; position:absolute; inset:-1px; border-radius:34px; padding:1px; background:linear-gradient(135deg, rgba(255,198,119,.26), rgba(110,171,255,.20), rgba(255,255,255,.04)); -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.client-landing-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); gap:24px; align-items:start; }
.client-landing-copy h1 { font-family:"Space Grotesk","Manrope","Aptos","PingFang SC","Microsoft YaHei",sans-serif; font-size:clamp(3rem, 5vw, 4.25rem); line-height:.96; letter-spacing:-.06em; margin:12px 0 12px; max-width:760px; text-wrap:balance; }
.client-landing-copy p { margin:0; color:#b7cceb; font-size:15px; line-height:1.9; max-width:460px; }
.client-landing-auth-wrap { width:100%; max-width:660px; margin:28px auto 0; }
.client-landing-pills { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.client-landing-pills span { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:999px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); color:#edf4ff; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.client-signal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:22px; }
.client-signal-card { padding:18px; border-radius:22px; background:linear-gradient(180deg,rgba(12,19,32,.82),rgba(10,16,28,.96)); border:1px solid rgba(75,108,163,.30); }
.client-signal-card strong { display:block; margin-bottom:8px; font-size:15px; color:#f7fbff; }
.client-signal-card span { display:block; color:#9eb6d7; font-size:13px; line-height:1.8; }
.client-landing-stack { display:grid; gap:16px; }
.client-spotlight-card { padding:22px; border-radius:24px; background:linear-gradient(180deg,rgba(11,18,31,.9),rgba(8,14,24,.98)); border:1px solid rgba(255,255,255,.08); }
.client-spotlight-card h3 { margin:0 0 10px; font-size:22px; }
.client-spotlight-card p { margin:0; color:#a6bddf; line-height:1.8; font-size:14px; }
.client-spotlight-list { display:grid; gap:10px; margin-top:16px; }
.client-spotlight-item { padding:12px 14px; border-radius:16px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); }
.client-spotlight-item strong { display:block; margin-bottom:6px; color:#fffaf2; font-size:13px; }
.client-spotlight-item span { display:block; color:#99b1d5; font-size:13px; line-height:1.75; }
.client-trust-bar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.client-trust-pill { padding:14px 16px; border-radius:18px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); }
.client-trust-pill strong { display:block; margin-bottom:6px; color:#ffe2b8; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.client-trust-pill span { display:block; color:#c9d8ef; font-size:13px; line-height:1.75; }
.client-overview-shell { display:grid; gap:18px; }
.overview-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.overview-feature-card { padding:20px; border-radius:22px; background:linear-gradient(180deg,rgba(17,27,44,.96),rgba(10,17,29,.99)); border:1px solid rgba(57,83,126,.40); }
.overview-feature-card .feature-kicker { color:#ffc97d; }
.overview-feature-card h3 { margin:8px 0 8px; font-size:22px; }
.overview-feature-card p { margin:0; color:#9eb5d8; line-height:1.8; font-size:14px; }
.admin-focus-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-top:14px; }
.admin-focus-card { display:block; text-decoration:none; color:inherit; padding:14px 14px 12px; border-radius:14px; border:1px solid #22324a; background:linear-gradient(180deg,rgba(12,19,32,.92),rgba(10,16,28,.98)); }
.admin-focus-card .kicker { color:#8eb2ea; font-size:11px; letter-spacing:.04em; }
.admin-focus-card .value { margin-top:6px; color:#f3f7ff; font-size:22px; font-weight:700; line-height:1.12; }
.admin-focus-card .meta { margin-top:5px; color:#93a9c9; font-size:12px; line-height:1.4; }
.admin-focus-card:hover { border-color:#365885; background:#111b2b; }
.analytics-filter-shell { display:grid; gap:14px; }
.analytics-filter-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(138px,1fr)); gap:12px; align-items:end; }
.analytics-filter-form > div { background:rgba(7,13,23,.42); border:1px solid rgba(60,92,141,.24); border-radius:14px; padding:10px 10px 9px; }
.analytics-filter-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.analytics-filter-actions { background:transparent !important; border:none !important; padding:0 !important; }
.analytics-filter-actions button,
.analytics-filter-actions .ghost-link { width:100%; min-height:42px; padding:0 14px; border-radius:14px; font-size:13px; }
.analytics-kpi-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.analytics-kpi-card { padding:18px; border-radius:18px; background:linear-gradient(180deg,rgba(13,22,36,.96),rgba(9,16,28,.99)); border:1px solid rgba(58,84,128,.30); box-shadow:0 10px 20px rgba(0,0,0,.14); }
.analytics-kpi-card .label { margin-bottom:10px; }
.analytics-kpi-card .value { font-family:"Space Grotesk","Manrope","Aptos","PingFang SC","Microsoft YaHei",sans-serif; font-size:28px; letter-spacing:-.02em; }
.analytics-kpi-card .mini-note { margin-top:8px; }
.usage-page-shell { display:grid; gap:18px; }
.usage-range-pills { display:flex; flex-wrap:wrap; gap:10px; margin:4px 0 2px; }
.usage-range-pill { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:0 14px; border-radius:999px; text-decoration:none; color:#d7e6ff; background:rgba(255,255,255,.04); border:1px solid rgba(120,150,200,.22); font-size:13px; }
.usage-range-pill.active { color:#102033; background:linear-gradient(135deg,#9ec4ff,#6f97ff); border-color:transparent; font-weight:700; }
.usage-balance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.usage-balance-card { padding:20px 18px; border-radius:20px; background:linear-gradient(180deg,rgba(14,24,40,.96),rgba(10,17,30,.99)); border:1px solid rgba(70,104,156,.28); }
.usage-balance-card.primary { background:linear-gradient(135deg,rgba(46,92,170,.28),rgba(14,24,40,.96)); border-color:rgba(120,168,255,.35); }
.usage-balance-card .label { color:#9eb6d7; font-size:13px; margin-bottom:10px; }
.usage-balance-card .value { font-family:"Space Grotesk","Manrope","Aptos","PingFang SC","Microsoft YaHei",sans-serif; font-size:34px; letter-spacing:-.03em; color:#f4f8ff; }
.usage-token-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.usage-token-card.emphasis { border-color:rgba(120,186,255,.42); box-shadow:0 12px 28px rgba(60,120,220,.16); }
.usage-cost-bar { background:linear-gradient(180deg,#8fd0ff,#4f8cff) !important; }
.usage-token-bar { background:linear-gradient(180deg,#b7a6ff,#7a6bff) !important; }
.usage-breakdown-stack { display:grid; gap:16px; }
.usage-alert-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:18px; margin-top:8px; }
.usage-alert-shell .check-inline { display:flex; align-items:center; gap:10px; }
.usage-alert-shell .check-inline input { width:auto; }
.usage-token-table th, .usage-token-table td { white-space:nowrap; }
@media (max-width: 1100px) {
  .usage-balance-grid, .usage-token-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .usage-alert-grid { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .usage-balance-grid, .usage-token-grid { grid-template-columns:1fr; }
}
body.theme-light .usage-balance-card { background:linear-gradient(180deg,#fff,#f7f9fc); border-color:#d7e0ef; }
body.theme-light .usage-balance-card.primary { background:linear-gradient(135deg,#eaf2ff,#ffffff); }
body.theme-light .usage-balance-card .value { color:#152238; }
body.theme-light .usage-range-pill { color:#334863; background:#f4f7fb; border-color:#d7e0ef; }
body.theme-light .usage-range-pill.active { color:#fff; background:linear-gradient(135deg,#4f8cff,#356dde); }
.analytics-split-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr); gap:16px; }
.analytics-trend-chart { display:grid; grid-template-columns:repeat(auto-fit,minmax(22px,1fr)); gap:8px; align-items:end; min-height:260px; margin-top:12px; }
.analytics-trend-item { display:grid; gap:8px; align-items:end; }
.analytics-trend-bar-shell { height:180px; display:flex; align-items:flex-end; justify-content:center; border-radius:16px; padding:8px 0; background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01)); border:1px solid rgba(255,255,255,.05); }
.analytics-trend-bar { width:100%; max-width:26px; border-radius:12px 12px 6px 6px; background:linear-gradient(180deg,#7fb4ff,#4d79ff); box-shadow:0 12px 20px rgba(77,121,255,.20); }
.analytics-trend-value { text-align:center; color:#dbe8ff; font-size:11px; line-height:1.2; min-height:14px; }
.analytics-trend-label { text-align:center; color:#7f97bb; font-size:11px; line-height:1.2; min-height:14px; }
.analytics-note-card { padding:20px; border-radius:24px; background:linear-gradient(180deg,rgba(17,27,44,.96),rgba(10,17,29,.99)); border:1px solid rgba(57,83,126,.40); }
.analytics-breakdown-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.analytics-toolbar-meta { display:flex; gap:10px; flex-wrap:wrap; }
.analytics-toolbar-meta .toolbar-pill { margin:0; }
.model-pricing-table th, .model-pricing-table td { white-space:nowrap; }
.model-pricing-table td input { min-height:34px; min-width:90px; padding:0 10px; border-radius:10px; font-size:12px; }
#model-pricing-center { background:linear-gradient(180deg,rgba(11,18,31,.94),rgba(9,15,26,.98)); border-color:#20314a; }
#model-pricing-center h2 { margin-bottom:10px; }
#model-pricing-center .mp-top-grid > div { background:rgba(8,14,25,.54); border:1px solid rgba(53,80,121,.28); border-radius:12px; padding:10px; }
#model-pricing-center .mp-switch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:10px 0 6px; }
#model-pricing-center .mp-switch-item { display:flex; align-items:center; gap:8px; min-height:42px; padding:0 10px; border-radius:12px; background:rgba(9,16,28,.7); border:1px solid rgba(53,80,121,.28); color:#d6e3f9; }
#model-pricing-center .mp-switch-item input[type="checkbox"] { width:auto; }
#model-pricing-center .mp-note { margin-top:8px; color:#9eb5d8; }
#model-pricing-center .mp-estimator { margin-top:10px; padding:10px; border-radius:12px; border:1px solid #2a405f; background:linear-gradient(180deg,rgba(11,19,32,.92),rgba(9,15,27,.96)); }
#model-pricing-center .mp-estimator-title { color:#dce9ff; font-size:12px; margin-bottom:8px; }
#model-pricing-center .mp-estimator-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
#model-pricing-center .mp-estimator-item { padding:8px 9px; border-radius:10px; background:rgba(8,14,24,.75); border:1px solid rgba(55,82,124,.35); }
#model-pricing-center .mp-estimator-item .k { color:#93abcf; font-size:11px; }
#model-pricing-center .mp-estimator-item .v { color:#f2f7ff; font-size:15px; font-weight:700; margin-top:4px; }
#model-pricing-center .mp-table-wrap { margin-top:12px; max-height:460px; border-color:#21334d; background:linear-gradient(180deg,rgba(8,13,23,.95),rgba(7,12,21,.98)); }
.model-pricing-table thead th { position:sticky; top:0; z-index:2; background:#111c2d; border-bottom:1px solid #233754; }
.model-pricing-table tbody tr:nth-child(2n) { background:rgba(255,255,255,.015); }
.model-pricing-table tbody tr.is-selected-model { background:rgba(76,126,201,.18) !important; outline:1px solid rgba(95,150,234,.42); }
.model-pricing-table td { padding-top:8px; padding-bottom:8px; }
.model-pricing-table td input { min-height:32px; min-width:82px; border-radius:8px; background:#0d1727; border:1px solid #243856; color:#dbe8ff; }
.model-pricing-table td input:focus { border-color:#3f6ca8; box-shadow:0 0 0 1px rgba(63,108,168,.25); }
.model-pricing-table td input.mp-sell-derived {
  opacity:0.9;
  cursor:default;
  border-style:dashed;
}
@media (max-width: 1260px) {
  .client-console { grid-template-columns:minmax(0,1fr); }
  .client-landing-grid, .client-hero-grid, .api-admin-layout, .overview-feature-grid, .client-trust-bar, .client-signal-grid { grid-template-columns:1fr; }
  .admin-focus-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .client-sidebar { position:static; }
  .client-hero-copy h1 { font-size:38px; }
  .client-landing-copy h1 { font-size:42px; }
  .client-toolbar { flex-direction:column; align-items:flex-start; }
  .client-toolbar-side { width:100%; justify-items:start; }
  .client-toolbar-actions { justify-content:flex-start; }
}
@media (max-width: 1080px) {
  .grid, .split, .stats, .nav-grid, .doc-layout, .doc-grid-2, .doc-kpi-grid, .test-grid, .client-console, .top-strip, .quick-grid, .pricing-layout, .summary-grid, .cta-grid, .model-page-grid, .api-admin-layout, .client-login-panel, .client-login-form-grid, .client-login-form-grid.single { grid-template-columns:minmax(0,1fr); }
  #model-pricing-center .mp-switch-grid { grid-template-columns:minmax(0,1fr); }
  #model-pricing-center .mp-estimator-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .feature-board { grid-template-columns:1fr; }
  .toc-card { position:static; }
  .hero-row, .section-head { flex-direction:column; align-items:flex-start; }
  .client-sidebar { position:static; }
  .ops-banner { flex-direction:column; align-items:flex-start; }
  .toolbar-strip { flex-direction:column; align-items:stretch; }
  .api-key-raw { max-width:100%; }
  .client-landing-copy h1 { font-size:36px; }
  .client-hero-copy h1 { font-size:34px; }
  .client-toolbar-copy h1 { font-size:34px; }
}
@media (max-width: 860px) {
  .wrap { padding:18px; }
  .client-landing-hero, .client-hero-shell { padding:22px; border-radius:26px; }
  .client-sidebar, .client-login-panel, .section-shell, .api-table-shell, .metric-card, .overview-feature-card, .api-actions-card { border-radius:24px; }
  .client-page-head { flex-direction:column; align-items:stretch; gap:14px; }
  .client-page-head .topbar-actions { justify-content:flex-start; }
  .client-landing-copy h1 { font-size:clamp(2.4rem, 10vw, 3.2rem); line-height:1.02; }
  .client-landing-copy p { max-width:none; font-size:14px; }
  .client-landing-auth-wrap { max-width:none; margin-top:22px; }
  .client-login-panel { padding:22px; }
  .client-login-side h2 { font-size:30px; }
  .client-login-form-actions { width:100%; }
  .client-login-form-actions button { width:100%; }
  .client-console { gap:18px; grid-template-columns:minmax(0,1fr); }
  .client-sidebar { padding:18px; }
  .client-brand { padding-bottom:14px; margin-bottom:14px; }
  .client-menu { display:flex; gap:10px; max-width:100%; overflow-x:auto; padding-bottom:6px; margin:0 -2px; scrollbar-width:none; }
  .client-menu::-webkit-scrollbar { display:none; }
  .client-menu a { min-width:148px; flex:0 0 148px; display:grid; align-content:center; gap:6px; padding:14px; }
  .client-side-note { grid-template-columns:1fr auto; gap:8px 12px; align-items:center; }
  .client-side-note-name { grid-column:1 / -1; }
  .client-toolbar { gap:14px; min-width:0; }
  .client-toolbar-copy { gap:10px; }
  .client-toolbar-copy h1 { font-size:30px; line-height:1.06; }
  .topbar-actions { width:100%; min-width:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .topbar-btn { width:100%; min-width:0; min-height:40px; padding:0 10px; }
  .client-toolbar-side { width:100%; gap:10px; }
  .client-toolbar-actions { width:100%; min-width:0; display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
  .client-primary-action, .client-secondary-action { width:100%; min-width:0; min-height:44px; padding:12px 14px; justify-content:center; text-align:center; }
  .client-toolbar-pills { gap:8px; }
  .client-toolbar-pill { padding:8px 12px; font-size:11px; }
  .top-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .metric-card { padding:18px; }
  .metric-card .metric-value { font-size:30px; }
  .overview-feature-grid { grid-template-columns:1fr; gap:14px; }
  .admin-focus-grid { grid-template-columns:1fr; }
  .api-table-head { align-items:flex-start; gap:12px; padding:18px 18px 12px; }
  .api-table-scroll { padding:0 18px 16px; }
  .api-actions-card { padding:18px; }
  .model-group-card { min-height:auto; }
}
@media (max-width: 640px) {
  .wrap { padding:12px; }
  .client-landing-hero, .client-hero-shell { padding:16px; border-radius:22px; }
  .client-landing-hero,
  body.theme-light .client-landing-hero { background:transparent; border:none; box-shadow:none; padding:0; border-radius:0; overflow:visible; }
  .client-landing-hero::before,
  body.theme-light .client-landing-hero::before { display:none; }
  .client-login-panel,
  body.theme-light .client-login-panel { box-shadow:0 12px 28px rgba(33,25,18,.08); }
  .client-login-panel::before,
  .client-login-panel::after,
  body.theme-light .client-login-panel::before,
  body.theme-light .client-login-panel::after { display:none; }
  .client-sidebar, .client-login-panel, .section-shell, .api-table-shell, .metric-card, .overview-feature-card, .api-actions-card, .model-group-card, .info-box, .qr-card, .recharge-panel, .response-panel { border-radius:20px; }
  .client-brand h2 { font-size:26px; }
  .client-brand p { font-size:13px; }
  .client-page-head, .client-toolbar { gap:12px; }
  .client-landing-copy h1 { font-size:clamp(2rem, 12vw, 2.65rem); letter-spacing:-.05em; }
  .client-landing-copy p { font-size:13px; line-height:1.75; }
  .hero-badge, .client-brand-badge, .client-login-kicker { font-size:10px; letter-spacing:.14em; }
  .client-login-input { min-height:46px; border-radius:14px; }
  .client-menu { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; margin:0; padding-bottom:0; }
  .client-menu a { min-width:0; flex-basis:auto; border-radius:16px; }
  .client-menu a:last-child:nth-child(odd) { grid-column:1 / -1; }
  .client-menu .menu-title { font-size:14px; }
  .client-menu .menu-meta { font-size:10px; letter-spacing:.1em; }
  .client-side-note { padding:12px 13px; border-radius:16px; }
  .client-toolbar-copy h1 { font-size:26px; }
  .client-toolbar-pill { font-size:10px; }
  .topbar-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .topbar-btn { min-height:38px; font-size:12px; border-radius:14px; }
  .top-strip { grid-template-columns:1fr 1fr; }
  .metric-card .metric-label { font-size:11px; }
  .metric-card .metric-value { font-size:28px; }
  .overview-feature-card h3, .section-head h2, .api-table-head h2, .model-group-card h3, .recharge-panel h3 { font-size:22px; }
  .api-table-scroll table { min-width:680px; }
  .api-key-cell { min-width:280px; }
  .copy-chip, .inline-copy, .api-key-line { gap:6px; }
  .ghost-link, .ghost-btn, .copy-btn, button.compact { min-height:36px; }
  .doc-layout, .test-grid, .pricing-layout, .summary-grid, .cta-grid { gap:14px; }
  .code-block { font-size:12px; border-radius:14px; padding:14px; }
}

/* --- console.css --- */
/* Minimal console redesign: tokens in tokens.css */
body, input, textarea, select, button {
  font-family:"Segoe UI","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif !important;
}
body.page-enter {
  opacity:0;
  transform:translateY(8px) scale(.996);
  filter:saturate(.92);
}
body.page-enter.page-enter-active {
  opacity:1;
  transform:none;
  filter:none;
}
body.page-leave {
  opacity:.42;
  transform:translateY(-6px) scale(.996);
  pointer-events:none;
}
.nav-loader {
  position:fixed;
  inset:0;
  display:grid;
  place-items:center;
  background:rgba(6,10,16,.16);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
  z-index:9999;
}
.nav-loader::before {
  content:'';
  width:34px;
  height:34px;
  border-radius:999px;
  border:2.5px solid rgba(120,153,214,.22);
  border-top-color:#8db2f3;
  animation:spin .62s linear infinite;
  box-shadow:0 0 0 1px rgba(255,255,255,.05) inset;
}
.pressing {
  transform:translateY(0) scale(.985) !important;
  transition-duration:.08s !important;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation:none !important;
    transition:none !important;
  }
}
@keyframes spin {
  to { transform:rotate(360deg); }
}
body.page-leave .nav-loader {
  opacity:1;
}
body:not(.theme-light) {
  background:var(--color-console-gradient) !important;
  color:var(--mc-text) !important;
}
.wrap {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.client-console {
  grid-template-columns:236px minmax(0,1fr) !important;
  gap:0 !important;
  align-items:stretch !important;
  min-height:100vh !important;
  transition:grid-template-columns .24s cubic-bezier(.22,.61,.36,1);
}
.client-console.sidebar-collapsed {
  grid-template-columns:64px minmax(0,1fr) !important;
}
.client-console.sidebar-collapsed .client-sidebar {
  display:block !important;
  width:64px !important;
  padding:8px 6px !important;
  overflow:hidden !important;
}
.client-console.sidebar-collapsed .client-brand {
  border-bottom:1px solid var(--mc-border-soft) !important;
  margin:0 0 8px !important;
  padding:6px 2px 8px !important;
}
.client-console.sidebar-collapsed .client-brand h2,
.client-console.sidebar-collapsed .client-brand p,
.client-console.sidebar-collapsed .client-brand-badge,
.client-console.sidebar-collapsed .client-side-note,
.client-console.sidebar-collapsed .client-menu .menu-title,
.client-console.sidebar-collapsed .client-menu .menu-meta {
  display:none !important;
}
.client-console.sidebar-collapsed .client-menu {
  gap:6px !important;
  margin-top:0 !important;
}
.client-console.sidebar-collapsed .client-menu a {
  min-height:34px !important;
  padding:0 !important;
  border-radius:8px !important;
  justify-content:center !important;
  align-items:center !important;
}
.client-console.sidebar-collapsed .client-menu .menu-icon {
  position:static !important;
  transform:none !important;
  width:16px !important;
  height:16px !important;
}
.client-console.sidebar-collapsed .v2-sidebar-actions {
  margin-top:8px !important;
}
.client-console.sidebar-collapsed .v2-sidebar-actions .topbar-btn {
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:0 !important;
  overflow:hidden !important;
  position:relative !important;
}
.client-console.sidebar-collapsed .v2-sidebar-actions .topbar-btn::before {
  content:none !important;
}
.client-sidebar, .section-shell, .api-table-shell, .api-actions-card, .metric-card, .card,
.table-shell, .response-panel, .model-group-card, .overview-feature-card, .hero-panel,
.client-hero-shell, .client-landing-hero, .client-login-panel {
  background:var(--mc-surface) !important;
  border:1px solid var(--mc-border) !important;
  border-radius:8px !important;
  box-shadow:none !important;
}
.client-sidebar {
  position:sticky !important;
  top:0 !important;
  height:100vh !important;
  overflow:auto !important;
  padding:10px !important;
  border-radius:0 !important;
  border-left:none !important;
  border-top:none !important;
  border-bottom:none !important;
  border-right:1px solid var(--mc-border) !important;
  transition:width .24s cubic-bezier(.22,.61,.36,1), padding .24s cubic-bezier(.22,.61,.36,1);
}
.client-main {
  gap:10px !important;
  min-width:0 !important;
  padding:10px !important;
  align-content:start !important;
  transition:padding .24s cubic-bezier(.22,.61,.36,1);
}
.client-brand {
  padding:8px 8px 12px !important;
  margin:0 0 10px !important;
  border-bottom:1px solid var(--mc-border-soft) !important;
}
.client-brand h2 {
  margin:8px 0 4px !important;
  font-size:38px !important;
  line-height:.92 !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
  font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif !important;
}
.client-brand p, .hint, .mini-note, .metric-note, .field-label, .label, .client-menu .menu-meta {
  color:var(--mc-muted) !important;
}
.client-brand-badge, .hero-badge {
  border-radius:999px !important;
  padding:4px 9px !important;
  font-size:10px !important;
  background:var(--mc-primary-soft) !important;
  border:1px solid var(--color-brand-badge-border) !important;
  color:var(--color-brand-badge-text) !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
.client-menu {
  gap:8px !important;
  margin-top:6px !important;
}
.client-menu a {
  min-height:40px !important;
  border-radius:7px !important;
  padding:8px 10px !important;
  background:var(--mc-surface-2) !important;
  border:1px solid var(--mc-border-soft) !important;
  box-shadow:none !important;
  transform:none !important;
}
body:not(.theme-light) .client-menu a:hover {
  border-color:#345487 !important;
  background:#121a2a !important;
}
body:not(.theme-light) .client-menu a.active {
  border-color:#42659e !important;
  background:#18243a !important;
}
.client-menu .menu-title {
  font-size:13px !important;
  font-weight:700 !important;
}
.client-toolbar {
  gap:8px !important;
  align-items:flex-start !important;
  padding:2px 0 0 !important;
}
.client-toolbar-copy h1, .client-page-head h1, .api-table-head h2 {
  margin:0 !important;
  font-size:40px !important;
  line-height:.95 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
  font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif !important;
}
.topbar-actions, .client-toolbar-actions, .client-toolbar-pills, .client-hero-pills {
  gap:8px !important;
}
.toolbar-pill, .client-toolbar-pill, .client-hero-pill, .soft-tag, .tag-soft, .ops-badge,
.status-chip, .api-table-meta {
  min-height:30px !important;
  padding:0 10px !important;
  border-radius:6px !important;
  border:1px solid var(--color-pill-border) !important;
  background:var(--color-pill-bg) !important;
  color:var(--color-pill-text) !important;
  font-size:12px !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  box-shadow:none !important;
}

.client-toolbar-pill strong, .client-hero-pill strong, .toolbar-pill strong { color:var(--color-pill-strong) !important; }
body:not(.theme-light) .topbar-btn, body:not(.theme-light) .ghost-link, body:not(.theme-light) .ghost-btn, body:not(.theme-light) .copy-btn, body:not(.theme-light) .client-secondary-action {
  min-height:30px !important;
  padding:0 10px !important;
  border-radius:6px !important;
  border:1px solid var(--mc-border) !important;
  background:#121a28 !important;
  color:#dce8ff !important;
  font-size:12px !important;
}
body:not(.theme-light) .topbar-btn:hover, body:not(.theme-light) .ghost-link:hover, body:not(.theme-light) .ghost-btn:hover, body:not(.theme-light) .copy-btn:hover, body:not(.theme-light) .client-secondary-action:hover {
  transform:translateY(-1px);
  background:#172133 !important;
  border-color:#2a3a55 !important;
}
.topbar-btn:active, .ghost-link:active, .ghost-btn:active, .copy-btn:active, .client-secondary-action:active {
  transform:translateY(0);
  opacity:.9;
}
#client-sidebar-toggle {
  min-width:0 !important;
  font-weight:700 !important;
}
body:not(.theme-light) button:not(.compact):not(.secondary):not(.topbar-btn):not(.copy-btn):not(.v2-chart-tab):not(.btn) {
  min-height:32px !important;
  padding:0 14px !important;
  border-radius:6px !important;
  border:1px solid rgba(120,160,215,.32) !important;
  background:linear-gradient(180deg,rgba(22,34,54,.97),rgba(14,22,36,.99)) !important;
  color:#e8f0ff !important;
  font-weight:700 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 4px 14px rgba(0,0,0,.2) !important;
}
body:not(.theme-light) button:not(.compact):not(.secondary):not(.topbar-btn):not(.copy-btn):not(.v2-chart-tab):not(.btn):hover {
  transform:translateY(-1px);
  filter:none !important;
  border-color:rgba(165,195,235,.4) !important;
  background:linear-gradient(180deg,rgba(28,42,66,.99),rgba(18,28,44,.99)) !important;
}
body:not(.theme-light) button:not(.compact):not(.secondary):not(.topbar-btn):not(.copy-btn):not(.v2-chart-tab):not(.btn):active {
  transform:translateY(0);
  background:rgba(16,26,42,.99) !important;
}
body:not(.theme-light) button.compact:not(.btn) {
  min-height:30px !important;
  padding:0 11px !important;
  border-radius:6px !important;
  font-size:12px !important;
  font-weight:600 !important;
  border:1px solid rgba(125,158,208,.26) !important;
  background:rgba(14,22,36,.95) !important;
  color:#dbe8ff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
}
body:not(.theme-light) button.compact:not(.btn):hover {
  transform:translateY(-1px);
  filter:none !important;
  border-color:rgba(165,195,235,.38) !important;
  background:rgba(22,34,54,.98) !important;
}
body:not(.theme-light) button.compact:not(.btn):active {
  transform:translateY(0);
  opacity:.95;
}
body:not(.theme-light) button.secondary:not(.btn) {
  border-color:var(--mc-border) !important;
  background:#1a2335 !important;
  color:#dce8ff !important;
}
input, textarea, select, .client-login-input {
  min-height:32px !important;
  border-radius:8px !important;
  padding:0 10px !important;
  border:1px solid var(--color-input-border) !important;
  background:var(--color-input-bg-solid) !important;
  color:var(--color-input-text) !important;
  box-shadow:none !important;
}
textarea { min-height:92px !important; padding:8px 10px !important; }
.top-strip {
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
}
.metric-card {
  padding:10px !important;
  border-radius:8px !important;
}
.metric-card .metric-label {
  margin-bottom:6px !important;
  color:#8fa3c5 !important;
  font-size:11px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
.metric-card .metric-value {
  font-size:34px !important;
  line-height:1 !important;
  letter-spacing:-.03em !important;
  font-weight:900 !important;
}
.balance-green, .ok { color:var(--mc-ok) !important; }
.api-table-head {
  padding:10px 12px 8px !important;
  border-bottom:1px solid var(--mc-border-soft) !important;
  background:transparent !important;
}
.api-table-scroll {
  padding:0 12px 10px !important;
  border:none !important;
  background:transparent !important;
}
table { font-size:12px !important; }
th, td {
  padding:10px 8px !important;
  border-bottom:1px solid var(--mc-border-soft) !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  vertical-align:middle !important;
}
th {
  font-size:11px !important;
  font-weight:700 !important;
}
body:not(.theme-light) th {
  color:#9fb1ce !important;
}
body:not(.theme-light) tbody tr:nth-child(even) td { background:rgba(255,255,255,.01) !important; }
body:not(.theme-light) tbody tr:hover td { background:rgba(60,120,255,.09) !important; }
.client-menu a::after,
.client-sidebar::after,
.client-hero-shell::before,
.client-landing-hero::before,
.client-login-panel::before,
.client-login-panel::after {
  display:none !important;
}
/* Login page rebuild: 整块登录区在视口水平+垂直居中（grid 单行 auto 高度不会吃满 100vh，会贴上边） */
.client-landing-shell {
  min-height:100vh !important;
  min-height:100dvh !important;
  width:100% !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
}
.client-landing-hero {
  width:min(1180px, 100%) !important;
  display:grid !important;
  grid-template-columns:minmax(320px,1fr) minmax(420px,520px) !important;
  gap:28px !important;
  align-items:center !important;
  padding:30px !important;
  border-radius:var(--ui-radius-lg) !important;
  box-shadow:var(--ui-shadow-2);
}
body:not(.theme-light) .client-landing-hero {
  background:linear-gradient(180deg,#0a1018,#080d15) !important;
  border:1px solid #182131 !important;
}
/* 统一登录页：左右两栏在大卡片内垂直居中对齐（文案块与表单区视觉平衡） */
.client-landing-hero.unified-auth-hero {
  grid-template-columns:minmax(260px,1.12fr) minmax(300px,min(520px,100%)) !important;
  align-items:center !important;
}
/* 左侧文案：块内左对齐（徽章/标题/副标题首字对齐），整块在栏内仍水平居中 */
.client-landing-grid.unified-auth-hero .client-landing-copy {
  text-align:left !important;
  max-width:min(560px,100%) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.client-page-head {
  display:block !important;
}
.client-page-head .topbar-actions {
  display:flex !important;
  justify-content:flex-start !important;
  margin-top:16px !important;
  gap:8px !important;
  width:auto !important;
}
.client-landing-copy h1 {
  margin:10px 0 10px !important;
  font-size:40px !important;
  letter-spacing:-.04em !important;
  line-height:.98 !important;
  max-width:560px !important;
}
.client-landing-copy p {
  margin:0 !important;
  max-width:520px !important;
  font-size:13px !important;
  line-height:1.9 !important;
  color:#7f90aa !important;
}
.client-landing-auth-wrap {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
.client-login-panel {
  border-radius:var(--ui-radius-md) !important;
  padding:22px !important;
  box-shadow:var(--ui-shadow-3) !important;
}
body:not(.theme-light) .client-login-panel {
  background:linear-gradient(180deg,#0c121b,#090f16) !important;
  border:1px solid #1f2b3f !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018), var(--ui-shadow-3) !important;
}
.client-login-side h2 {
  font-size:30px !important;
  margin:0 !important;
  letter-spacing:-.02em !important;
}
.client-login-input {
  min-height:var(--ui-control-h) !important;
  border-radius:var(--ui-radius-sm) !important;
  font-size:13px !important;
}
body:not(.theme-light) .client-login-input {
  border:1px solid #1f2e47 !important;
  background:#000000 !important;
  color:#e9effa !important;
}
body:not(.theme-light) .client-login-input:-webkit-autofill,
body:not(.theme-light) .client-login-input:-webkit-autofill:hover,
body:not(.theme-light) .client-login-input:-webkit-autofill:focus,
body:not(.theme-light) .client-login-input:-webkit-autofill:active {
  -webkit-text-fill-color:#e9effa !important;
  box-shadow:0 0 0 1000px #000000 inset !important;
  -webkit-box-shadow:0 0 0 1000px #000000 inset !important;
  transition:background-color 9999s ease-out 0s !important;
  caret-color:#e9effa !important;
  border:1px solid #1f2e47 !important;
}
body:not(.theme-light) .client-login-input:focus {
  outline:none !important;
  border-color:#3a5a87 !important;
  box-shadow:0 0 0 2px rgba(58,90,135,.24) !important;
}
body:not(.theme-light) .client-login-input::placeholder {
  color:#62728d !important;
}
.client-login-form-actions button {
  min-height:var(--ui-control-h) !important;
  border-radius:var(--ui-radius-sm) !important;
  font-size:12px !important;
  letter-spacing:.01em !important;
}
body:not(.theme-light) .client-login-form-actions button {
  background:linear-gradient(180deg,#1e3150,#182a45) !important;
  border:1px solid #2a4267 !important;
  color:#e6efff !important;
}
@media (max-width: 1100px) {
  .client-landing-hero,
  .client-landing-hero.unified-auth-hero {
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .client-landing-grid.unified-auth-hero .unified-auth-cards {
    max-width:100% !important;
    justify-self:stretch !important;
  }
  .client-landing-copy h1 {
    font-size:38px !important;
  }
  .client-page-head .topbar-actions {
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
body.theme-light {
  background:var(--color-body-gradient) !important;
  color:var(--mc-text) !important;
}
body.theme-light .client-landing-hero,
body.theme-light .client-login-panel,
body.theme-light .client-sidebar,
body.theme-light .metric-card,
body.theme-light .api-table-shell,
body.theme-light .section-shell,
body.theme-light .card,
body.theme-light .table-shell,
body.theme-light .response-panel {
  background:var(--mc-surface) !important;
  border-color:var(--mc-border) !important;
  box-shadow:0 8px 24px rgba(39,62,104,.06) !important;
}
body.theme-light .client-brand p,
body.theme-light .hint,
body.theme-light .mini-note,
body.theme-light .metric-note,
body.theme-light .field-label,
body.theme-light .label,
body.theme-light .client-menu .menu-meta,
body.theme-light .client-landing-copy p {
  color:var(--mc-muted) !important;
}
body.theme-light .client-brand h2,
body.theme-light .client-landing-copy h1,
body.theme-light .client-login-side h2,
body.theme-light .client-toolbar-copy h1,
body.theme-light .api-table-head h2 {
  color:var(--mc-text) !important;
}
body.theme-light .client-brand-badge,
body.theme-light .hero-badge {
  background:#edf3ff !important;
  border-color:#c7d7f2 !important;
  color:#3e5d8f !important;
}
body.theme-light .client-menu a,
body.theme-light .topbar-btn,
body.theme-light .ghost-link,
body.theme-light .ghost-btn,
body.theme-light .copy-btn,
body.theme-light .client-secondary-action {
  background:var(--mc-surface-2) !important;
  border-color:var(--mc-border) !important;
  color:#334562 !important;
}
body.theme-light .client-menu a.active {
  background:#edf3ff !important;
  border-color:#bdd0f0 !important;
}
body.theme-light .client-login-panel,
body.theme-light .client-landing-hero {
  color:#22314a !important;
}
body.theme-light .client-login-side .mini-note,
body.theme-light .client-landing-copy p,
body.theme-light .client-login-side .hint {
  color:#5f708c !important;
}
body.theme-light .client-login-input {
  background:#ffffff !important;
  border-color:#ccd8ea !important;
  color:#1f2a3d !important;
}
body.theme-light .client-login-input:-webkit-autofill,
body.theme-light .client-login-input:-webkit-autofill:hover,
body.theme-light .client-login-input:-webkit-autofill:focus,
body.theme-light .client-login-input:-webkit-autofill:active {
  -webkit-text-fill-color:#1f2a3d !important;
  box-shadow:0 0 0 1000px #ffffff inset !important;
  -webkit-box-shadow:0 0 0 1000px #ffffff inset !important;
  transition:background-color 9999s ease-out 0s !important;
  caret-color:#1f2a3d !important;
  border:1px solid #ccd8ea !important;
}
body.theme-light .client-login-input::placeholder {
  color:#7b8da8 !important;
}
body.theme-light .client-login-input:focus {
  border-color:#7096d8 !important;
  box-shadow:0 0 0 2px rgba(112,150,216,.22) !important;
}
/* Light-mode buttons: components.css + tokens.css */
/* V2 full redesign (enterprise console style) — layout tokens in tokens.css */
.v2-console-shell {
  min-height:100vh;
  display:grid;
  grid-template-rows:58px minmax(0,1fr);
  background:
    var(--color-console-shell-bg);
}
.v2-topnav {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 14px;
  border-bottom:1px solid var(--color-topnav-border);
  background:var(--color-topnav-bg);
  position:sticky;
  top:0;
  z-index:120;
}
.v2-topnav-brand {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--color-topnav-brand-text);
  font-size:14px;
  line-height:1;
}
.v2-logo-dot {
  flex-shrink:0;
  align-self:center;
  width:8px; height:8px; border-radius:999px; background:#5f8fff; box-shadow:none;
}
.v2-topnav-brand strong {
  font-size:15px;
  font-weight:600;
  letter-spacing:.01em;
  line-height:1;
  display:inline-flex;
  align-items:center;
}
.v2-topnav-brand > span {
  color:var(--color-topnav-muted);
  font-size:14px;
  font-weight:500;
  line-height:1;
  display:inline-flex;
  align-items:center;
}
.v2-topnav-links { display:flex; align-items:center; gap:14px; margin-right:auto; margin-left:18px; }
.v2-topnav-links a {
  color:#a5b6d1;
  text-decoration:none;
  font-size:13px;
  line-height:1.2;
  padding:7px 10px 6px;
  border-radius:var(--ui-radius-sm);
  border:1px solid transparent;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
body:not(.theme-light) .v2-topnav-links a:hover { color:#e8efff; border-color:#243650; background:#101a2a; }
body:not(.theme-light) .v2-topnav-links a.active {
  color:#eef5ff;
  border-color:#345684;
  background:#16243b;
  padding-bottom:5px;
}
.v2-topnav-links a::after {
  content:'';
  position:absolute;
  left:10px;
  right:10px;
  bottom:4px;
  height:0;
  border-radius:2px;
  background:linear-gradient(90deg,#5f8fff,#7ea7ea);
  opacity:0;
  transition:opacity .18s ease,height .18s ease;
}
.v2-topnav-links a.active::after {
  height:2px;
  opacity:1;
}
.v2-topnav-actions { display:flex; align-items:center; gap:8px; }
.v2-console-main.client-console {
  grid-template-columns:228px minmax(0,1fr) !important;
  gap:0 !important;
  min-height:calc(100vh - 58px) !important;
}
.v2-console-main.client-console.sidebar-collapsed {
  grid-template-columns:64px minmax(0,1fr) !important;
}
.v2-console-main.client-console.sidebar-collapsed {
  grid-template-columns:64px minmax(0,1fr) !important;
}
.v2-console-main .client-sidebar {
  background:#0b111a !important;
  border-right:1px solid #1a2537 !important;
  border-top:none !important;
  border-bottom:none !important;
  border-left:none !important;
  border-radius:0 !important;
  padding:12px 10px !important;
  top:58px !important;
  height:calc(100vh - 58px) !important;
}
.v2-console-main .client-main {
  padding:20px 14px 14px !important;
  gap:10px !important;
  align-content:start !important;
  background:transparent !important;
}
#system-config,
#user-center,
#redeem-center,
#model-pricing-center,
#ops-center,
#revenue-log-center,
#client-search-section,
#client-list-center {
  scroll-margin-top:84px;
}
body.admin-console #redeem-center .redeem-code-cell {
  display:flex;
  align-items:flex-start;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
}
body.admin-console #redeem-center .redeem-code-mono {
  display:inline-block;
  margin:0;
  padding:4px 0 0;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px;
  line-height:1.35;
  letter-spacing:.02em;
  color:#e8f0ff;
  word-break:break-all;
  flex:1;
  min-width:0;
}
body.theme-light.admin-console #redeem-center .redeem-code-mono {
  color:#1f3a63 !important;
  background:transparent;
  border:none;
  padding:4px 0 0;
}
body.theme-light.admin-console #redeem-center button.redeem-copy-btn.is-copied {
  border-color:rgba(34,140,84,.45) !important;
  color:#157a45 !important;
  box-shadow:0 0 0 1px rgba(34,140,84,.12) !important;
}
body.theme-light.admin-console #redeem-center button.redeem-copy-btn.is-copy-fail {
  border-color:rgba(180,70,70,.4) !important;
  color:#a33b3b !important;
}
body.admin-console #redeem-center button.redeem-copy-btn {
  flex-shrink:0;
  min-height:28px;
  padding:4px 12px;
  font-size:11px;
  font-weight:700;
  border-radius:8px;
  margin-top:2px;
}
body.admin-console #redeem-center button.redeem-copy-btn.is-copied {
  border-color:rgba(95,220,140,.55) !important;
  color:#c9f7dc !important;
  box-shadow:0 0 0 1px rgba(95,220,140,.2), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
body.admin-console #redeem-center button.redeem-copy-btn.is-copy-fail {
  border-color:rgba(255,120,120,.45) !important;
  color:#ffc9c9 !important;
}
.admin-global-toast {
  position:fixed;
  bottom:28px;
  left:50%;
  transform:translateX(-50%) translateY(120px);
  z-index:99999;
  max-width:min(92vw,440px);
  padding:12px 20px;
  border-radius:12px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.35;
  text-align:center;
  box-shadow:0 14px 40px rgba(0,0,0,.5);
  border:1px solid rgba(120,160,215,.38);
  background:linear-gradient(180deg,#1a2942,#101a28);
  color:#e8f0ff;
  pointer-events:none;
  opacity:0;
  transition:transform .28s cubic-bezier(.2,.9,.2,1), opacity .22s ease;
}
.admin-global-toast.admin-global-toast--ok {
  border-color:rgba(95,220,140,.42);
}
.admin-global-toast.admin-global-toast--err {
  border-color:rgba(255,130,130,.48);
  color:#ffd6d6;
}
.admin-global-toast.admin-global-toast--show {
  transform:translateX(-50%) translateY(0);
  opacity:1;
}
.v2-console-main .client-toolbar {
  padding:0 !important;
  margin:0 !important;
  border-radius:var(--ui-radius-md);
  border:1px solid #1c2840;
  background:#0d141f;
  padding:12px !important;
  box-shadow:var(--ui-shadow-1);
}
.v2-console-main .client-toolbar-copy h1 {
  font-size:32px !important;
  line-height:.92 !important;
  letter-spacing:-.02em !important;
}
.v2-console-main .client-toolbar-head {
  margin:0 !important;
  padding:0 !important;
  min-width:0 !important;
}
.v2-console-main .client-toolbar-meta {
  margin-top:4px !important;
  padding-top:12px !important;
  border-top:1px solid rgba(46,68,104,.45) !important;
}
.v2-console-main .client-toolbar-meta-label {
  display:block !important;
  font-size:10px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:#6c819e !important;
  margin-bottom:8px !important;
}
.v2-console-main .top-strip {
  gap:var(--cx-gap-md, 12px) !important;
}
.v2-console-main .metric-card {
  border-radius:var(--ui-radius-md) !important;
  border-color:#1e2c44 !important;
  background:#0c1420 !important;
  box-shadow:var(--ui-shadow-1);
}
.v2-console-main .api-table-shell,
.v2-console-main .section-shell,
.v2-console-main .table-shell {
  border-radius:var(--ui-radius-lg) !important;
  border-color:#1e2c44 !important;
  background:#0a111b !important;
  box-shadow:var(--ui-shadow-2);
}
.v2-console-main .api-table-head h2 {
  font-size:28px !important;
  letter-spacing:-.01em !important;
}
.v2-console-main .api-table-head {
  background:#0b1320 !important;
  border-bottom:1px solid #1b2841 !important;
}
body.theme-light .v2-console-shell {
  background:linear-gradient(180deg,#f7f9fd 0%, #eef3fa 100%) !important;
}
body.theme-light .v2-topnav {
  background:#f9fbff !important;
  border-bottom:1px solid #d8e2f0 !important;
}
body.theme-light .v2-topnav-brand,
body.theme-light .v2-topnav-brand strong {
  color:#2d3b52 !important;
}
body.theme-light .v2-topnav-brand span {
  color:#6b7f9e !important;
}
body.theme-light .v2-topnav-links a {
  color:#5a6f8f !important;
  border-color:transparent !important;
  background:transparent !important;
}
body.theme-light body:not(.theme-light) .v2-topnav-links a:hover {
  color:#2e4568 !important;
  border-color:#cfdaeb !important;
  background:#eef3fb !important;
}
body.theme-light .v2-topnav-links a.active {
  color:#24456f !important;
  border-color:#bfd0e8 !important;
  background:#e8f0fb !important;
  padding-bottom:5px !important;
}
body.theme-light .v2-topnav-links a.active::after {
  opacity:1 !important;
  height:2px !important;
  background:linear-gradient(90deg,#3d6aad,#5d8fd4) !important;
}
body.theme-light .v2-console-main .client-sidebar {
  background:#f5f8fd !important;
  border-right:1px solid #d8e2f0 !important;
}
body.theme-light .v2-console-main .client-main {
  background:transparent !important;
}
body.theme-light .v2-console-main .client-toolbar {
  background:#ffffff !important;
  border-color:#d8e2f0 !important;
  box-shadow:0 8px 20px rgba(52,78,120,.06) !important;
}
body.theme-light .v2-console-main .metric-card,
body.theme-light .v2-console-main .api-table-shell,
body.theme-light .v2-console-main .section-shell,
body.theme-light .v2-console-main .table-shell {
  background:#ffffff !important;
  border-color:#d8e2f0 !important;
  box-shadow:0 8px 20px rgba(52,78,120,.06) !important;
}
body.theme-light .v2-console-main .api-table-head {
  background:#f7faff !important;
  border-bottom:1px solid #d8e2f0 !important;
}
body.theme-light .v2-console-main .client-menu a {
  background:#ffffff !important;
  border-color:#d8e2f0 !important;
  color:#2f415d !important;
}
body.theme-light .v2-console-main .client-menu a.active {
  background:#e8f0fb !important;
  border-color:#bfd0e8 !important;
  color:#24456f !important;
  box-shadow:inset 3px 0 0 #3d78d6 !important;
}
.v2-console-main .client-menu a {
  min-height:38px !important;
  border-radius:8px !important;
  position:relative;
  padding-left:34px !important;
  transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease !important;
}
body:not(.theme-light) .v2-console-main .client-menu a {
  background:#0f1827 !important;
  border-color:#1d2b45 !important;
}
body:not(.theme-light) .v2-console-main .client-menu a:hover:not(.active) {
  border-color:var(--cx-sidebar-hover-border,#2d4570) !important;
  background:var(--cx-sidebar-hover-bg,#121e30) !important;
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(0,0,0,.14) !important;
}
body.theme-light .v2-console-main .client-menu a:hover:not(.active) {
  box-shadow:0 6px 16px rgba(52,78,120,.08) !important;
}
body.theme-light .v2-console-main .client-menu .menu-icon svg {
  stroke:#3a5f94 !important;
  opacity:1 !important;
}
body.theme-light .v2-console-main .client-menu a:hover .menu-icon svg {
  stroke:#2a4a78 !important;
}
body.theme-light .v2-console-main .client-menu a.active .menu-icon svg {
  stroke:#1e4a8c !important;
}
.v2-console-main .client-menu .menu-icon {
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-50%);
  width:14px;
  height:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.v2-console-main .client-menu .menu-icon svg {
  width:14px;
  height:14px;
  stroke:#8fb2ff;
  fill:none;
  stroke-width:1.25;
  vector-effect:non-scaling-stroke;
  transition:stroke .2s ease, opacity .2s ease, transform .2s ease;
  opacity:.92;
}
.v2-console-main .client-menu a:hover .menu-icon svg {
  stroke:#c8dcff;
  transform:translateY(-.5px);
}
.v2-console-main .client-menu a.active .menu-icon svg {
  stroke:#d9e9ff;
}
.v2-console-main .client-menu .menu-copy { display:grid; gap:2px; min-width:0; }
.v2-console-main .client-menu .menu-copy .menu-title { line-height:1.2; }
.v2-console-main .client-menu .menu-copy .menu-meta { line-height:1.2; font-size:11px; }
.v2-console-main .client-menu a.active {
  background:#16243b !important;
  border-color:#345684 !important;
  box-shadow:inset 3px 0 0 #5f8fff !important;
}
.v2-subtabs {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
.v2-subtabs a {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  text-decoration:none;
  font-size:12px;
  color:#b9c9e5;
  background:#101a2a;
  border:1px solid #233752;
  transition:all .2s ease;
}
.v2-subtabs a.active, .v2-subtabs a:hover {
  color:#eef5ff;
  background:#1a2c47;
  border-color:#355a8e;
}
.v2-insights-grid {
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:var(--cx-gap-insights, 14px);
  align-items:stretch;
}
.v2-chart-card, .v2-side-card {
  border:1px solid #1e2d46;
  border-radius:var(--cx-radius-card, 12px);
  background:#0b121d;
  padding:12px;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.v2-card-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
  color:#d7e4fb;
  font-size:13px;
}
.v2-card-head span { color:#8fa3c4; font-size:12px; }
.v2-chart-tabs {
  display:flex;
  gap:8px;
  margin:0 0 10px;
  flex-wrap:wrap;
}
.v2-chart-tabs button,
button.v2-chart-tab {
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(120,160,210,.26);
  background:rgba(14,22,36,.92);
  color:#b8cce8;
  font-size:11px;
  font-weight:600;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.v2-chart-tabs button:hover,
button.v2-chart-tab:hover {
  border-color:rgba(155,188,235,.38);
  background:rgba(22,34,52,.96);
  color:#e2edff;
}
.v2-chart-tabs button.active,
button.v2-chart-tab.active {
  border-color:rgba(100,150,220,.45);
  background:rgba(26,42,68,.96);
  color:#f0f6ff;
}
.v2-chart-plot {
  height:220px;
  border-radius:10px;
  border:1px solid #1a2840;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02) 1px, transparent 1px) 0 0/100% 36px,
    linear-gradient(90deg, rgba(255,255,255,.015) 1px, transparent 1px) 0 0/68px 100%,
    linear-gradient(180deg,#0a1018,#0a111a);
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:10px;
}
.v2-chart-plot.v2-chart-plot-echarts {
  flex:1 1 auto;
  height:auto !important;
  min-height:420px !important;
  display:block !important;
  padding:10px !important;
}
.v2-chart-skeleton-wrap {
  position:absolute;
  inset:0;
  z-index:50;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:10px;
  border-radius:10px;
  min-height:420px;
  box-sizing:border-box;
  background-color:#0b121d;
  background-image:linear-gradient(180deg,rgba(12,18,28,.98),rgba(10,15,24,.96));
  overflow:hidden;
  pointer-events:none;
  transition:opacity .45s ease,visibility .45s ease;
}
.v2-chart-skeleton-wrap.v2-chart-skeleton-wrap--hide {
  opacity:0;
  visibility:hidden;
}
.v2-chart-skeleton-shimmer {
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 36%,rgba(142,178,236,.14) 50%,transparent 64%);
  background-size:220% 100%;
  animation:v2-chart-skeleton-shimmer 1.35s ease-in-out infinite;
}
@keyframes v2-chart-skeleton-shimmer {
  0% { background-position:130% 0; }
  100% { background-position:-130% 0; }
}
.v2-chart-skeleton-bars {
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:6px;
  height:min(72%,320px);
  padding:0 6px 2px;
}
.v2-chart-skeleton-bars span {
  flex:1 1 0;
  min-height:18px;
  border-radius:6px 6px 3px 3px;
  background:linear-gradient(180deg,rgba(110,152,218,.42),rgba(72,118,188,.26));
  box-shadow:0 4px 12px rgba(40,80,140,.12);
  animation:v2-chart-skeleton-bar 1s ease-in-out infinite alternate;
}
.v2-chart-skeleton-bars span:nth-child(2) { animation-delay:.12s; }
.v2-chart-skeleton-bars span:nth-child(3) { animation-delay:.24s; }
.v2-chart-skeleton-bars span:nth-child(4) { animation-delay:.08s; }
.v2-chart-skeleton-bars span:nth-child(5) { animation-delay:.2s; }
.v2-chart-skeleton-bars span:nth-child(6) { animation-delay:.16s; }
.v2-chart-skeleton-bars span:nth-child(7) { animation-delay:.04s; }
.v2-chart-skeleton-bars span:nth-child(8) { animation-delay:.28s; }
@keyframes v2-chart-skeleton-bar {
  from { opacity:.65; transform:scaleY(.92); }
  to { opacity:1; transform:scaleY(1); }
}
.v2-chart-skeleton-axis {
  position:relative;
  z-index:1;
  height:1px;
  margin:12px 8px 0;
  background:linear-gradient(90deg,transparent,rgba(120,155,205,.28),transparent);
}
.v2-chart-skeleton-hint {
  position:relative;
  z-index:1;
  margin:12px 0 4px;
  text-align:center;
  font-size:11px;
  letter-spacing:.02em;
  color:#7f96b8;
  animation:v2-chart-skeleton-hint 1.6s ease-in-out infinite;
}
@keyframes v2-chart-skeleton-hint {
  0%,100% { opacity:.55; }
  50% { opacity:1; }
}
.v2-chart-col {
  min-width:32px;
  max-width:46px;
  flex:1 1 0;
  display:grid;
  align-items:end;
  gap:4px;
  justify-items:center;
}
.v2-chart-col-value {
  color:#a9c0e6;
  font-size:9px;
  line-height:1;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.v2-chart-col-value.zero {
  color:#5c7396;
}
.v2-chart-col-bar {
  width:100%;
  border-radius:8px 8px 4px 4px;
  background:linear-gradient(180deg,#5f86ca,#486eaf);
  box-shadow:0 6px 14px rgba(72,110,175,.20);
  position:relative;
  cursor:default;
  transition:transform .16s ease, filter .16s ease;
}
.v2-chart-col-bar:hover {
  transform:translateY(-2px);
  filter:brightness(1.06);
}
.v2-chart-col-bar::after {
  content:attr(data-tip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%);
  white-space:nowrap;
  background:#111a2b;
  color:#e8efff;
  border:1px solid #284064;
  border-radius:6px;
  font-size:11px;
  line-height:1;
  padding:6px 8px;
  opacity:0;
  pointer-events:none;
  transition:opacity .14s ease;
  z-index:5;
}
.v2-chart-col-bar:hover::after {
  opacity:1;
}
.v2-chart-col-label {
  color:#8ea3c3;
  font-size:9px;
  line-height:1.2;
  text-align:center;
  width:100%;
  white-space:normal;
  display:grid;
  gap:1px;
}
.v2-chart-col-bar-stack {
  width:100%;
  border-radius:8px 8px 4px 4px;
  overflow:hidden;
  display:flex;
  flex-direction:column-reverse;
  border:1px solid rgba(118,154,218,.26);
  background:rgba(19,31,50,.45);
  box-shadow:0 6px 14px rgba(38,58,92,.18);
}
.v2-chart-segment {
  width:100%;
  min-height:2px;
}
.v2-chart-segment.zero {
  height:100%;
  background:rgba(80,107,146,.45);
}
.v2-chart-empty {
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:#8ea3c3;
  font-size:13px;
}
.v2-side-empty {
  flex:1 1 auto;
  min-height:420px;
  height:auto;
  display:grid;
  place-items:center;
  color:#8fa2c2;
  text-align:center;
  border:1px dashed #274061;
  border-radius:10px;
  background:#0a111b;
  font-size:13px;
  line-height:1.7;
}
.v2-side-body.v2-side-stats {
  flex:1 1 auto;
  min-height:min(420px,100%);
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px 14px 16px;
  text-align:left;
  color:#a3b6d4;
  font-size:13px;
  line-height:1.55;
  border:1px solid #1e2d46;
  border-radius:10px;
  background:linear-gradient(180deg,#0a1018,#0a111b);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.v2-side-row {
  display:grid;
  grid-template-columns:minmax(96px,7.5em) minmax(0,1fr);
  gap:8px 12px;
  align-items:start;
}
.v2-side-k {
  color:#6f86a8;
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding-top:3px;
  line-height:1.35;
}
.v2-side-v {
  min-width:0;
  word-break:break-word;
  color:#d6e5f9;
  font-size:13px;
}
.v2-side-v strong {
  color:#eef4ff;
  font-weight:600;
}
.v2-console-main .client-toolbar-actions {
  gap:10px !important;
}
.v2-console-main .client-toolbar-actions .client-toolbar-btn {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:9px 14px 8px !important;
  border-radius:10px !important;
  font-weight:700 !important;
  font-size:12px !important;
  letter-spacing:.01em !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transform:none !important;
  filter:none !important;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .14s ease,box-shadow .14s ease !important;
}
.v2-console-main .client-toolbar-actions .client-toolbar-btn--ghost {
  background:rgba(122,156,212,.08) !important;
  border:1px solid rgba(100,140,200,.28) !important;
  color:#d2e2fb !important;
}
.v2-console-main .client-toolbar-actions .client-toolbar-btn--ghost:hover {
  background:rgba(122,156,212,.14) !important;
  border-color:rgba(140,178,236,.42) !important;
  color:#f3f8ff !important;
  transform:translateY(-1px) !important;
}
.v2-console-main .client-toolbar-actions .client-toolbar-btn--accent {
  background:linear-gradient(145deg,#ffd08a,#f59a38) !important;
  border:1px solid rgba(255,190,130,.45) !important;
  color:#152535 !important;
  box-shadow:0 10px 22px rgba(245,154,56,.22) !important;
  position:relative !important;
  overflow:visible !important;
  padding-bottom:9px !important;
}
.v2-console-main .client-toolbar-actions .client-toolbar-btn--accent::after {
  content:'';
  position:absolute;
  left:12px;
  right:12px;
  bottom:6px;
  height:2px;
  border-radius:2px;
  background:rgba(21,37,53,.38);
  pointer-events:none;
}
.v2-console-main .client-toolbar-actions .client-toolbar-btn--accent:hover {
  filter:brightness(1.04) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 12px 26px rgba(245,154,56,.28) !important;
}
body:not(.theme-light) .v2-console-main .topbar-btn, body:not(.theme-light) .v2-console-main .ghost-link, body:not(.theme-light) .v2-console-main .ghost-btn, body:not(.theme-light) .v2-console-main .copy-btn {
  min-height:var(--ui-control-h) !important;
  border-radius:var(--ui-radius-sm) !important;
  background:#121b2a !important;
  border-color:#27384f !important;
  position:relative;
  overflow:hidden;
  text-decoration:none !important;
}
body:not(.theme-light) .v2-console-main button:not(.compact):not(.secondary):not(.topbar-btn):not(.copy-btn):not(.v2-chart-tab):not(.v2-overview-primary-btn):not(.btn) {
  min-height:var(--ui-control-h) !important;
  border-radius:var(--ui-radius-sm) !important;
  background:linear-gradient(180deg,rgba(22,34,54,.97),rgba(14,22,36,.99)) !important;
  border:1px solid rgba(120,160,215,.34) !important;
  color:#e8f0ff !important;
  font-weight:700 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 4px 14px rgba(0,0,0,.2) !important;
  position:relative;
  overflow:hidden;
  text-decoration:none !important;
}
body:not(.theme-light) .v2-console-main button.compact:not(.btn) {
  min-height:30px !important;
  padding:0 11px !important;
  border-radius:var(--ui-radius-sm) !important;
  font-size:12px !important;
  font-weight:600 !important;
  background:rgba(14,22,36,.96) !important;
  border:1px solid rgba(125,158,208,.28) !important;
  color:#dbe8ff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
}
a.topbar-btn, a.ghost-link, a.ghost-btn, a.copy-btn, a.client-primary-action, a.client-secondary-action, .v2-subtabs a {
  text-decoration:none !important;
}
body:not(.theme-light) .v2-console-main .ghost-link:hover,
body:not(.theme-light) .v2-console-main .ghost-btn:hover,
body:not(.theme-light) .v2-console-main .copy-btn:hover,
body:not(.theme-light) .v2-console-main button:not(.compact):not(.secondary):not(.topbar-btn):not(.copy-btn):not(.v2-chart-tab):not(.v2-overview-primary-btn):not(.btn):hover {
  transform:translateY(-1px);
  filter:none !important;
  border-color:rgba(165,195,235,.42) !important;
  background:linear-gradient(180deg,rgba(28,42,66,.99),rgba(18,28,44,.99)) !important;
}
.v2-console-main .v2-merged-block button.v2-overview-primary-btn {
  background:linear-gradient(135deg,#6eb0ff 0%,#4a7ec4 48%,#2f5a9a 100%) !important;
  border-color:rgba(150,195,255,.48) !important;
  color:#fff !important;
  box-shadow:0 10px 26px rgba(58,110,190,.32), inset 0 1px 0 rgba(255,255,255,.12) !important;
}
.v2-console-main .v2-merged-block button.v2-overview-primary-btn:hover {
  transform:translateY(-1px);
  filter:brightness(1.05) !important;
  border-color:rgba(175,210,255,.58) !important;
  background:linear-gradient(135deg,#7ab8ff 0%,#5490d4 48%,#3564aa 100%) !important;
}
.v2-console-main button.v2-chart-tab:hover {
  transform:translateY(-1px);
  filter:none !important;
  border-color:rgba(165,195,235,.42) !important;
  background:rgba(28,44,72,.98) !important;
}
body:not(.theme-light) .v2-console-main button.compact:not(.btn):hover {
  transform:translateY(-1px);
  filter:none !important;
  border-color:rgba(165,195,235,.4) !important;
  background:rgba(22,34,54,.98) !important;
}
.v2-sidebar-actions {
  margin-top:10px;
  display:grid;
  gap:8px;
  position:sticky;
  bottom:8px;
  background:linear-gradient(180deg, rgba(11,17,26,0), rgba(11,17,26,.96) 35%);
  padding-top:8px;
}
.v2-sidebar-actions .topbar-btn {
  width:100%;
  justify-content:center;
  font-weight:700;
  min-height:36px !important;
  transition:all .2s ease;
  display:flex !important;
  align-items:center !important;
  gap:6px;
}
.v2-sidebar-actions #client-sidebar-toggle {
  min-width:0 !important;
  width:100% !important;
}
.v2-sidebar-actions .topbar-btn .toggle-icon {
  font-size:13px;
  line-height:1;
  opacity:.92;
  display:inline-block;
  min-width:12px;
  text-align:center;
}
.v2-merged-actions {
  border-top:1px solid #1a2840;
  padding:12px;
  display:grid;
  gap:12px;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  background:#0a111b;
}
.v2-merged-block {
  border:1px solid #1f304a;
  border-radius:10px;
  padding:12px;
  background:#0c1420;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:0;
  height:100%;
}
.v2-merged-block h3 {
  margin:0;
  font-size:24px;
  letter-spacing:-.01em;
}
.v2-overview-create-key-form {
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:0;
  gap:0;
}
.v2-overview-form-fields {
  display:grid;
  gap:10px;
  flex:1;
  min-height:0;
}
.v2-recharge-body {
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.v2-recharge-points { display:grid; gap:8px; margin-top:2px; }
.v2-recharge-points span { color:#a8bddc; font-size:13px; line-height:1.7; }
.v2-merged-block .v2-recharge-btn { margin-top:auto; align-self:stretch; width:100%; text-align:center; }
.v2-merged-block .v2-overview-primary-btn { margin-top:auto; align-self:stretch; width:100%; padding:10px 20px; font-weight:800; border-radius:12px; cursor:pointer;
  background:linear-gradient(135deg,#6eb0ff 0%,#4a7ec4 48%,#2f5a9a 100%);
  border:1px solid rgba(150,195,255,.45);
  color:#fff;
  box-shadow:0 10px 26px rgba(58,110,190,.28), inset 0 1px 0 rgba(255,255,255,.12);
}
.v2-merged-block .v2-overview-primary-btn:hover {
  filter:brightness(1.06);
  border-color:rgba(175,210,255,.55);
  box-shadow:0 12px 30px rgba(58,110,190,.34), inset 0 1px 0 rgba(255,255,255,.14);
}
.v2-merged-block .v2-overview-primary-btn:active {
  transform:translateY(1px);
  filter:brightness(.98);
}
@media (max-width: 1080px) {
  .v2-topnav { flex-wrap:wrap; height:auto; padding:10px; }
  .v2-topnav-links { order:3; width:100%; margin:0; }
  .v2-console-shell { grid-template-rows:auto minmax(0,1fr); }
  .v2-console-main.client-console { grid-template-columns:minmax(0,1fr) !important; }
  .v2-console-main .client-sidebar { position:static !important; height:auto !important; top:0 !important; border-right:1px solid #1a2537 !important; }
  .v2-insights-grid { grid-template-columns:1fr; }
  .v2-merged-actions { grid-template-columns:1fr; }
}
/* Final override: collapsed sidebar toggle alignment */
.v2-console-main.client-console.sidebar-collapsed .v2-sidebar-actions #client-sidebar-toggle {
  all:unset;
  box-sizing:border-box;
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:34px !important;
  min-height:34px !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  gap:0 !important;
  border:1px solid #2b3f5b !important;
  border-radius:8px !important;
  background:#121b2a !important;
  color:#dce8ff !important;
  cursor:pointer;
  overflow:hidden !important;
  white-space:nowrap !important;
}
.v2-console-main.client-console.sidebar-collapsed .v2-sidebar-actions #client-sidebar-toggle .toggle-text {
  display:none !important;
}
.v2-console-main.client-console.sidebar-collapsed .v2-sidebar-actions #client-sidebar-toggle .toggle-icon {
  font-size:14px !important;
  width:14px !important;
  min-width:14px !important;
  text-align:center !important;
  margin:0 !important;
  display:block !important;
}
body.theme-light .client-login-form-actions button.secondary,
body.theme-light button.secondary:not(.btn) {
  color:#2f4a73 !important;
}

/* --- console-refine.css --- */
/* P1 baseline refresh — radius/control tokens in tokens.css */
body {
  font-family: "Segoe UI","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif !important;
  letter-spacing: .01em;
}
.wrap {
  max-width: none !important;
  padding: 16px !important;
}
h1, .client-toolbar-copy h1, .client-page-head h1, .api-table-head h2 {
  font-size: 24px !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
}
.client-brand h2 {
  font-size: 24px !important;
  line-height: 1.2 !important;
}
.card, .client-sidebar, .client-login-panel, .client-landing-hero, .metric-card, .api-table-shell {
  border-radius: var(--ui-radius-lg) !important;
  box-shadow: var(--ui-shadow-1, 0 6px 20px rgba(0,0,0,.25)) !important;
}
button, .topbar-btn, .ghost-link, .ghost-btn, .copy-btn, .client-primary-action, .client-secondary-action {
  min-height: var(--ui-control-h) !important;
  border-radius: var(--ui-radius-sm) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
  text-decoration: none !important;
}
button:hover, .topbar-btn:hover, .ghost-link:hover, .ghost-btn:hover, .copy-btn:hover, .client-primary-action:hover, .client-secondary-action:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0,0,0,.2) !important;
}
button:active, .topbar-btn:active, .ghost-link:active, .ghost-btn:active, .copy-btn:active, .client-primary-action:active, .client-secondary-action:active {
  transform: translateY(0) scale(.99);
}
.client-login-input, input, textarea, select {
  border-radius: var(--ui-radius-sm) !important;
  font-size: 13px !important;
}
.unified-login-panel {
  max-width: 720px;
  margin: 0 auto !important;
}
.unified-login-toolbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 0 0 12px;
}
.unified-theme-toggle {
  font-size: 12px !important;
  font-weight: 600 !important;
  min-height: 32px !important;
  padding: 0 12px !important;
}
.register-toggle {
  margin-left: auto;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(232, 240, 255, 0.92);
  text-decoration: none;
}
.register-toggle:hover {
  text-decoration: underline;
}
.unified-register-panel {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.unified-api-details {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(143,181,255,.14);
  border-radius: var(--ui-radius-sm);
  padding: 8px 10px;
  background: rgba(8,13,22,.35);
}
.unified-api-details > summary {
  cursor: pointer;
  color: var(--muted);
  font-size: 12px;
  list-style: none;
}
.unified-api-details > summary::-webkit-details-marker {
  display: none;
}
.unified-remember {
  display:flex;
  align-items:center;
  gap:8px;
}
body.theme-light .unified-api-details {
  background:#f1f6ff !important;
  border:1px solid #d0ddf0 !important;
}
body.theme-light .unified-api-details > summary {
  color:#516987 !important;
}
body.theme-light .unified-register-panel {
  border-top:1px solid rgba(43,65,98,.14) !important;
}
body.theme-light .register-toggle {
  color:#2f5fbf !important;
}
body.theme-light .unified-login-toolbar .ghost-btn,
body.theme-light .unified-login-toolbar .unified-theme-toggle {
  background:#f4f8ff !important;
  border:1px solid #cfdaeb !important;
  color:#3d5578 !important;
  box-shadow:none !important;
}
.client-landing-grid.unified-auth-hero .unified-auth-cards {
  width:100%;
  max-width:min(460px,100%);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:0;
  align-self:center;
  justify-self:center;
  min-width:0;
}
.unified-auth-card {
  margin:0 !important;
  width:100%;
  box-sizing:border-box;
  border-radius:var(--ui-radius-lg, 18px) !important;
}
/* [hidden] 默认会被 .client-login-panel { display:grid } 覆盖，必须强制隐藏其一 */
.unified-auth-cards .client-login-panel.unified-auth-card[hidden],
.unified-auth-cards .unified-auth-card.unified-register-card[hidden] {
  display:none !important;
}
.unified-login-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-top:6px;
  width:100%;
}
.unified-register-footer {
  justify-content:flex-end;
  margin-top:10px;
}
.unified-form-error {
  color:#ff9a9a !important;
  margin:4px 0 6px !important;
}
body.theme-light .unified-form-error {
  color:#b83232 !important;
}
body.theme-light .unified-auth-card.unified-register-card {
  background:linear-gradient(180deg,rgba(255,255,255,.995),rgba(246,249,255,.98)) !important;
  border-color:rgba(207,218,235,.95) !important;
  box-shadow:0 16px 40px rgba(32,48,76,.07) !important;
}
body.theme-light .client-landing-hero.unified-auth-hero {
  background:linear-gradient(180deg,#ffffff,#f4f8fc) !important;
  border:1px solid #dce6f3 !important;
  box-shadow:0 22px 48px rgba(32,48,76,.09) !important;
}
body.theme-light .unified-auth-cards .client-login-panel.unified-auth-card {
  background:#ffffff !important;
  border:1px solid #d0ddf0 !important;
  box-shadow:0 14px 36px rgba(32,48,76,.07) !important;
}
.theme-switching *,
.theme-switching *::before,
.theme-switching *::after {
  transition: background-color .26s ease, color .26s ease, border-color .26s ease, box-shadow .26s ease !important;
}
/* P3 console density + hierarchy refinement */
body:not(.theme-light) .v2-console-shell {
  background: #080d14 !important;
}
.hero-badge, .client-brand-badge, .client-login-kicker, .feature-kicker {
  letter-spacing: .04em !important;
  text-transform: none !important;
}
.client-landing-copy p,
.overview-feature-card p,
.api-table-head .hint {
  max-width: 72ch;
}
.v2-topnav {
  height: 52px;
  min-height: 52px;
  padding: 0 10px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 120 !important;
}
body:not(.theme-light) .v2-topnav {
  border-bottom: 1px solid #172335 !important;
  background: #0a1018 !important;
}
.v2-topnav-brand {
  line-height: 1 !important;
  align-items: center !important;
}
.v2-topnav-brand strong {
  font-size: 13px !important;
  font-weight: 600;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
}
.v2-topnav-brand > span {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
}
.v2-topnav-links {
  gap: 8px !important;
  margin-left: 10px !important;
  align-items: center !important;
}
.v2-topnav-links a {
  min-height: 30px;
  padding: 0 10px 5px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}
body:not(.theme-light) .v2-topnav-links a {
  color: #9db0cc !important;
}
body:not(.theme-light) .v2-topnav-links a.active {
  color: #e8f0ff !important;
  border-color: #2a446a !important;
  background: #132035 !important;
  box-shadow: inset 0 0 0 1px rgba(74, 118, 186, .18);
  padding-bottom: 4px !important;
}
.v2-topnav-links a.active::after {
  height: 2px !important;
  opacity: 1 !important;
  left: 8px !important;
  right: 8px !important;
  bottom: 3px !important;
}
.v2-console-main.client-console {
  grid-template-columns: 212px minmax(0,1fr) !important;
  min-height: calc(100vh - 52px) !important;
}
.v2-console-main.client-console.sidebar-collapsed {
  grid-template-columns: 58px minmax(0,1fr) !important;
}
.v2-console-main .client-sidebar {
  top: 52px !important;
  height: calc(100vh - 52px) !important;
  padding: 10px 8px !important;
}
body:not(.theme-light) .v2-console-main .client-sidebar {
  background: #0b1119 !important;
  border-right-color: #172337 !important;
}
.v2-console-main .client-menu {
  gap: 6px !important;
}
.v2-console-main .client-menu a {
  min-height: 34px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  justify-content:flex-start !important;
  gap:8px !important;
  transition: transform .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}
body:not(.theme-light) .v2-console-main .client-menu a {
  color: #9fb3d1 !important;
  background: #0f1725 !important;
  border-color: #1b2a42 !important;
}
body:not(.theme-light) .v2-console-main .client-menu a.active {
  background: #152238 !important;
  border-color: #2e4f7b !important;
  color: #e6efff !important;
  box-shadow: inset 3px 0 0 #5f8fff !important;
}
.v2-console-main .client-main {
  padding: 12px 14px 14px !important;
  gap: var(--cx-gap-lg, 18px) !important;
  align-content:start !important;
}
.v2-console-main .client-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: var(--cx-gap-md, 12px) 14px !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
}
body:not(.theme-light) .v2-console-main .client-toolbar {
  border-color: #1b2940 !important;
  background: #0d1520 !important;
}
.v2-console-main .client-toolbar-copy {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.v2-console-main .client-toolbar-meta {
  margin-top: 2px !important;
  padding-top: 10px !important;
}
.v2-console-main .client-toolbar-meta-label {
  font-size: 9px !important;
  margin-bottom: 6px !important;
  letter-spacing: .06em !important;
}
.v2-console-main .client-toolbar-copy h1 {
  font-size: 20px !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
}
@media (min-width: 1200px) {
  .v2-console-main .client-toolbar-actions {
    flex-wrap: nowrap !important;
  }
}
.v2-console-main .client-toolbar-pill {
  padding: 6px 10px !important;
  font-size: 11px !important;
  border-radius: 999px !important;
  letter-spacing: .03em !important;
  text-transform: none !important;
}
body:not(.theme-light) .v2-console-main .client-toolbar-pill {
  background: #101a2a !important;
  border-color: #22344f !important;
  color: #a9bcda !important;
}
.v2-subtabs {
  gap: 6px !important;
  margin-top: 8px !important;
}
.v2-subtabs a {
  min-height: 26px !important;
  padding: 0 9px !important;
  font-size: 11px !important;
  border-radius: 999px !important;
}
body:not(.theme-light) .v2-subtabs a {
  color: #a8bbd9 !important;
  background: #0f1828 !important;
  border-color: #21344f !important;
}
body:not(.theme-light) .v2-subtabs a.active,
body:not(.theme-light) .v2-subtabs a:hover {
  color: #eef4ff !important;
  background: #15253b !important;
  border-color: #2f4f7b !important;
}
.v2-console-main .metric-card,
.v2-chart-card, .v2-side-card,
.v2-console-main .api-table-shell,
.v2-console-main .section-shell {
  border-radius: var(--cx-radius-card, 12px) !important;
}
body:not(.theme-light) .v2-console-main .metric-card,
body:not(.theme-light) .v2-chart-card,
body:not(.theme-light) .v2-side-card,
body:not(.theme-light) .v2-console-main .api-table-shell,
body:not(.theme-light) .v2-console-main .section-shell {
  border-color: #1a2940 !important;
  background: #0b131f !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.22) !important;
}
.v2-console-main .metric-card {
  padding: 14px !important;
}
.v2-console-main .metric-card .metric-label {
  font-size: 11px !important;
  margin-bottom: 6px !important;
  letter-spacing: .04em !important;
}
.v2-console-main .metric-card .metric-value {
  font-size: 24px !important;
  line-height: 1.1 !important;
}
.v2-console-main .metric-card .metric-note {
  line-height: 1.55 !important;
}
body:not(.theme-light) .v2-console-main .metric-card .metric-note {
  color: #8fa3c2 !important;
}
.v2-chart-plot {
  min-height: 170px !important;
  gap: 8px !important;
  padding: 10px 10px 8px !important;
}
.v2-console-main .v2-chart-plot.v2-chart-plot-echarts {
  min-height: 420px !important;
  height: auto !important;
}
.v2-chart-col-bar {
  border-radius: 8px 8px 6px 6px !important;
}
.v2-chart-col-label {
  font-size: 10px !important;
}
.v2-console-main .metric-card:hover,
.v2-chart-card:hover, .v2-side-card:hover,
.v2-console-main .api-table-shell:hover,
.v2-console-main .section-shell:hover {
  transform: translateY(-1px);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body:not(.theme-light) .v2-console-main .metric-card:hover,
body:not(.theme-light) .v2-chart-card:hover,
body:not(.theme-light) .v2-side-card:hover,
body:not(.theme-light) .v2-console-main .api-table-shell:hover,
body:not(.theme-light) .v2-console-main .section-shell:hover {
  border-color: #243a5a !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.24) !important;
}
body.theme-light .v2-console-shell {
  background: #f2f5fb !important;
}
body.theme-light .v2-topnav {
  background: #f7f9fd !important;
  border-bottom-color: #d4ddef !important;
}
body.theme-light .v2-console-main .client-sidebar {
  background: #f7f9fd !important;
  border-right-color: #d6dfef !important;
}
body.theme-light .v2-console-main .client-menu a {
  background: #ffffff !important;
  border-color: #d8e1f0 !important;
  color: #3d5578 !important;
}
body.theme-light .v2-console-main .client-menu a.active {
  background: #eaf1ff !important;
  border-color: #bdd1f3 !important;
  color: #274a79 !important;
  box-shadow: inset 3px 0 0 #3d78d6 !important;
}
body.theme-light .v2-console-main .client-toolbar-meta {
  border-top-color:rgba(190,202,224,.92) !important;
}
body.theme-light .v2-console-main .client-toolbar-meta-label {
  color:#5d7393 !important;
}
body.theme-light .v2-console-main .client-toolbar,
body.theme-light .v2-console-main .metric-card,
body.theme-light .v2-chart-card, body.theme-light .v2-side-card,
body.theme-light .v2-console-main .api-table-shell,
body.theme-light .v2-console-main .section-shell {
  background: #ffffff !important;
  border-color: #d7e0ef !important;
  box-shadow: 0 6px 16px rgba(32,48,76,.06) !important;
}
body.theme-light .v2-card-head {
  color:#2d4263 !important;
}
body.theme-light .v2-card-head span {
  color:#5f7596 !important;
}
body.theme-light .v2-chart-tabs button {
  background:#eef4ff !important;
  border-color:#cdd9ec !important;
  color:#4b6487 !important;
}
body.theme-light .v2-chart-tabs button.active {
  background:#dce9fb !important;
  border-color:#98b2d8 !important;
  color:#2b4568 !important;
}
body.theme-light .v2-chart-plot {
  border-color:#d7e0ef !important;
  background:
    linear-gradient(180deg, rgba(53,84,132,.06) 1px, transparent 1px) 0 0/100% 36px,
    linear-gradient(90deg, rgba(53,84,132,.04) 1px, transparent 1px) 0 0/68px 100%,
    linear-gradient(180deg,#fbfdff,#f3f7fd) !important;
}
body.theme-light .v2-chart-plot.v2-chart-plot-echarts {
  min-height: 420px !important;
  height: auto !important;
}
body.theme-light .v2-chart-skeleton-wrap {
  background-color:#ffffff !important;
  background-image:linear-gradient(180deg,rgba(251,253,255,.99),rgba(243,247,253,.97)) !important;
}
body.theme-light .v2-chart-skeleton-shimmer {
  background:linear-gradient(110deg,transparent 36%,rgba(86,132,210,.12) 50%,transparent 64%) !important;
}
body.theme-light .v2-chart-skeleton-bars span {
  background:linear-gradient(180deg,rgba(120,165,226,.38),rgba(92,138,206,.22)) !important;
  box-shadow:0 3px 10px rgba(72,108,168,.08) !important;
}
body.theme-light .v2-chart-skeleton-axis {
  background:linear-gradient(90deg,transparent,rgba(110,145,195,.35),transparent) !important;
}
body.theme-light .v2-chart-skeleton-hint {
  color:#5f7596 !important;
}
body.theme-light .v2-chart-col-bar {
  background:linear-gradient(180deg,#7fa8ea,#5f88cb) !important;
  box-shadow:0 5px 12px rgba(86,124,186,.16) !important;
}
body.theme-light .v2-chart-col-bar-stack {
  border-color:#c9d8ec !important;
  background:#edf3fc !important;
  box-shadow:0 4px 12px rgba(86,124,186,.12) !important;
}
body.theme-light .v2-chart-col-bar::after {
  background:#ffffff !important;
  color:#304764 !important;
  border-color:#cdd9eb !important;
  box-shadow:0 8px 18px rgba(52,78,120,.10) !important;
}
body.theme-light .v2-chart-col-label,
body.theme-light .v2-chart-col-value,
body.theme-light .v2-chart-empty,
body.theme-light .v2-side-empty {
  color:#556d90 !important;
}
body.theme-light .v2-side-empty strong {
  color:#273f62 !important;
}
body.theme-light .v2-side-body.v2-side-stats {
  background:#ffffff !important;
  border-color:#d7e0ef !important;
  color:#4a6180 !important;
  box-shadow:none !important;
}
body.theme-light .v2-side-k {
  color:#5d7292 !important;
}
body.theme-light .v2-side-v,
body.theme-light .v2-side-v strong {
  color:#1e3a5c !important;
}
body.theme-light .v2-console-main .client-toolbar-actions .client-toolbar-btn--ghost {
  background:#f0f4fc !important;
  border-color:#c5d4e8 !important;
  color:#2c4a6e !important;
}
body.theme-light .v2-console-main .client-toolbar-actions .client-toolbar-btn--ghost:hover {
  background:#e4edfa !important;
  border-color:#a8beda !important;
  color:#1a3654 !important;
}
body.theme-light .v2-console-main .client-toolbar-actions .client-toolbar-btn--accent {
  background:linear-gradient(145deg,#ffd99a,#f0a04a) !important;
  border-color:#e8b878 !important;
  color:#1a2a3d !important;
}
body.theme-light .v2-console-main .client-toolbar-actions .client-toolbar-btn--accent::after {
  background:rgba(26,42,61,.32) !important;
}
body.theme-light .v2-console-main .metric-card .metric-label,
body.theme-light .v2-console-main .mini-note,
body.theme-light .v2-console-main .hint {
  color:#5d7393 !important;
}
body.theme-light .v2-console-main .metric-card .metric-note {
  color:#5a6d86 !important;
}
body.theme-light .v2-console-main .metric-card .metric-value,
body.theme-light .v2-console-main .money,
body.theme-light .v2-console-main h1,
body.theme-light .v2-console-main h2,
body.theme-light .v2-console-main h3 {
  color:#223955 !important;
}
body.theme-light .v2-console-main .metric-card:hover,
body.theme-light .v2-chart-card:hover,
body.theme-light .v2-side-card:hover,
body.theme-light .v2-console-main .api-table-shell:hover,
body.theme-light .v2-console-main .section-shell:hover {
  border-color:#c8d6eb !important;
  box-shadow:0 8px 20px rgba(52,78,120,.09) !important;
}

/* Client portal layout slim */
.v2-console-main .client-main[data-client-active]:not([data-client-active="overview"]) > .client-toolbar {
  display: none !important;
}
.v2-topnav--slim {
  justify-content: space-between !important;
}
.v2-topnav--slim .v2-topnav-actions {
  margin-left: auto !important;
}
.client-sidebar--compact .client-brand--compact {
  padding: 4px 6px 8px !important;
  margin-bottom: 4px !important;
}
.client-sidebar--compact .client-brand-badge {
  font-size: 11px !important;
  padding: 4px 8px !important;
}
.client-toolbar--slim {
  padding: 10px 14px !important;
}
.client-toolbar--slim .client-toolbar-head h1 {
  margin: 0 !important;
}
.client-page-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.billing-card-head--slim {
  justify-content: flex-end !important;
  margin-bottom: 8px !important;
}
.client-pricing-lead {
  line-height: 1.5;
}
.client-models-shell {
  padding-top: 12px !important;
}
.overview-status-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.overview-status-card {
  border-radius: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(43, 65, 104, 0.36);
  background: rgba(13, 21, 32, 0.72);
}
body.theme-light .overview-status-card {
  background: #ffffff;
  border-color: #d7e0ef;
}
.overview-status-label {
  font-size: 11px;
  letter-spacing: 0.04em;
  color: #88a1c5;
  margin-bottom: 4px;
}
body.theme-light .overview-status-label {
  color: #5d7393;
}
.overview-status-value {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.overview-status-value--text {
  font-size: 15px;
  font-weight: 600;
}
.overview-status-hint {
  margin-top: 6px;
  font-size: 12px;
}
.overview-status-actions {
  margin-top: 10px;
}
.overview-status-link {
  font-size: 12px;
  text-decoration: none;
  color: #9ec4ff;
}
body.theme-light .overview-status-link {
  color: #2a5a9e;
}
.overview-base-url-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.key-row-details {
  margin-top: 6px;
  font-size: 12px;
}
.key-row-details summary {
  cursor: pointer;
  color: #9db0cc;
  user-select: none;
}
body.theme-light .key-row-details summary {
  color: #4a6180;
}
.key-row-details .ops-form-note {
  margin: 6px 0 0;
}
.v2-overview-create-key-wrap {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(43, 65, 104, 0.28);
}
body.theme-light .v2-overview-create-key-wrap {
  border-top-color: #d7e0ef;
}
.v2-console-main .api-table-shell table td:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
@media (max-width: 720px) {
  .overview-status-strip {
    grid-template-columns: 1fr;
  }
}

/* --- admin.css --- */
/* Shared V2 main-column rhythm (client + admin shells) */
.v2-console-main .client-overview-shell {
  display:flex !important;
  flex-direction:column !important;
  gap:var(--cx-gap-lg, 18px) !important;
  min-width:0 !important;
}
.v2-console-main .section-head {
  align-items:flex-end !important;
  flex-wrap:wrap !important;
  gap:12px 16px !important;
  margin-bottom:14px !important;
}
.v2-console-main .analytics-kpi-grid {
  gap:var(--cx-gap-md, 12px) !important;
}
.v2-console-main .analytics-kpi-card {
  border-radius:var(--cx-radius-card, 12px) !important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease !important;
}
.v2-console-main .analytics-kpi-card:hover {
  transform:translateY(-2px);
  border-color:rgba(74,118,184,.55) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.22) !important;
}
body.theme-light .v2-console-main .analytics-kpi-card:hover {
  border-color:#c5d8eb !important;
  box-shadow:0 12px 28px rgba(52,78,120,.1) !important;
}
/* Admin console visual alignment with client console */
body:not(.theme-light).admin-console .v2-topnav-brand span:last-child {
  color:#9bb0cf;
}
body.admin-console .client-main {
  gap:var(--cx-gap-lg, 18px) !important;
}
body.admin-console .admin-hero-card .hero-title {
  font-size:28px !important;
  line-height:1.16 !important;
  letter-spacing:-.02em !important;
}
body:not(.theme-light).admin-console .admin-hero-card .sub {
  font-size:12px !important;
  color:#9bb0ce !important;
  max-width:86ch;
}
body.admin-console .admin-hero-card .sub {
  font-size:12px !important;
  max-width:86ch;
}
body:not(.theme-light).admin-console .hero-badge {
  font-size:10px !important;
  padding:4px 10px !important;
  border-color:#294774 !important;
  background:#10223a !important;
}
body.admin-console .hero-badge {
  font-size:10px !important;
  padding:4px 10px !important;
}
body:not(.theme-light).admin-console .pill-list .pill {
  background:#101b2d !important;
  border-color:#243a5a !important;
  color:#b3c7e5 !important;
  font-size:11px !important;
  padding:6px 10px !important;
}
body.admin-console .pill-list .pill {
  font-size:11px !important;
  padding:6px 10px !important;
}
body.admin-console .nav-grid {
  margin-top:var(--cx-gap-sm, 10px) !important;
  gap:var(--cx-gap-md, 12px) !important;
}
body.admin-console .nav-card {
  border-radius:var(--cx-radius-card, 12px) !important;
  padding:12px !important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease !important;
}
body:not(.theme-light).admin-console .nav-card {
  background:#0d1521 !important;
  border-color:#1d2c45 !important;
  box-shadow:0 4px 14px rgba(0,0,0,.2) !important;
}
body:not(.theme-light).admin-console .nav-card:hover {
  transform:translateY(-2px);
  border-color:#305078 !important;
  box-shadow:0 10px 26px rgba(0,0,0,.28) !important;
  background:#111c2e !important;
}
body.theme-light.admin-console .nav-card:hover {
  transform:translateY(-2px);
}
body.admin-console .admin-focus-grid {
  gap:var(--cx-gap-md, 12px) !important;
  margin-top:var(--cx-gap-insights, 14px) !important;
}
body.admin-console .admin-focus-card {
  border-radius:var(--cx-radius-card, 12px) !important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease !important;
}
body:not(.theme-light).admin-console .admin-focus-card {
  box-shadow:0 4px 14px rgba(0,0,0,.2) !important;
}
body:not(.theme-light).admin-console .admin-focus-card:hover {
  transform:translateY(-2px);
  border-color:#3f6494 !important;
  box-shadow:0 12px 30px rgba(0,0,0,.3) !important;
  background:#132238 !important;
}
body.theme-light.admin-console .admin-focus-card:hover {
  transform:translateY(-2px);
}
body.admin-console .nav-card h3 {
  font-size:16px !important;
  margin:6px 0 4px !important;
}
body:not(.theme-light).admin-console .nav-card p {
  font-size:12px !important;
  color:#8ea3c2 !important;
}
body.admin-console .nav-card p {
  font-size:12px !important;
}
body.admin-console .stats {
  gap:10px !important;
  margin-top:10px !important;
}
body.admin-console .stat {
  border-radius:12px !important;
  padding:12px !important;
}
body:not(.theme-light).admin-console .stat {
  border-color:#1d2b43 !important;
  background:#0c1420 !important;
}
body.admin-console .stat .label {
  font-size:11px !important;
}
body.admin-console .stat .value {
  font-size:32px !important;
  line-height:1.05 !important;
}
body.admin-console .card h2 {
  font-size:19px !important;
  margin-bottom:10px !important;
}
body.admin-console .section-head p,
body.admin-console .hint,
body.admin-console .mini-note {
  font-size:12px !important;
  line-height:1.65 !important;
}
body:not(.theme-light).admin-console .section-head p,
body:not(.theme-light).admin-console .hint,
body:not(.theme-light).admin-console .mini-note {
  color:#93a9c8 !important;
}
body.admin-console .section-gap {
  margin-top:12px !important;
}
body.admin-console .cta-grid {
  gap:10px !important;
}
body.admin-console .cta-box {
  border-radius:12px !important;
  padding:12px !important;
}
body:not(.theme-light).admin-console .cta-box {
  background:#101a2a !important;
  border-color:#22344f !important;
}
body.admin-console .cta-box strong {
  font-size:13px !important;
}
body:not(.theme-light).admin-console .cta-box strong {
  color:#dbe8ff !important;
}
body.admin-console .cta-box span {
  font-size:12px !important;
}
body:not(.theme-light).admin-console .cta-box span {
  color:#9db3d2 !important;
}
body.admin-console table th {
  font-size:11px !important;
}
body:not(.theme-light).admin-console table th {
  color:#8ea6ca !important;
}
body.admin-console table td {
  font-size:12px !important;
}
body.admin-console .scroll-box {
  border-radius:12px !important;
}
body.admin-console .admin-search-bar {
  border-radius:12px !important;
  padding:10px !important;
}
body:not(.theme-light).admin-console .admin-search-bar {
  background:#0f1725 !important;
  border-color:#1f3049 !important;
}
body.admin-console .admin-search-form input,
body.admin-console .admin-search-form button,
body.admin-console .admin-search-form .secondary-link-btn {
  min-height:36px !important;
  border-radius:10px !important;
  font-size:12px !important;
}
body.admin-console form.admin-logs-filter,
body.client-body form.admin-logs-filter {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-end !important;
  gap:12px !important;
  margin-bottom:12px !important;
}
body.admin-console .admin-logs-filter > label,
body.client-body .admin-logs-filter > label {
  cursor:pointer;
}
body.admin-console .admin-logs-datetime-wrap,
body.client-body .admin-logs-datetime-wrap {
  position:relative;
  display:block;
  min-width:220px;
  margin-top:4px;
}
body.admin-console .admin-logs-datetime-wrap input[type="datetime-local"],
body.client-body .admin-logs-datetime-wrap input[type="datetime-local"] {
  width:100%;
  min-width:0;
  min-height:40px;
  padding:10px 12px;
  border-radius:12px !important;
  cursor:pointer;
  font-size:13px !important;
}
body:not(.theme-light).admin-console .admin-logs-datetime-wrap input[type="datetime-local"],
body:not(.theme-light).client-body .admin-logs-datetime-wrap input[type="datetime-local"] {
  color-scheme:dark;
  background:linear-gradient(180deg,#0d1627,#101a2d) !important;
  border:1px solid rgba(73,102,156,.55) !important;
  color:#f2f6fb !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
body:not(.theme-light).admin-console .admin-logs-datetime-wrap input[type="datetime-local"]:hover,
body:not(.theme-light).client-body .admin-logs-datetime-wrap input[type="datetime-local"]:hover {
  border-color:rgba(118,154,218,.65) !important;
}
body:not(.theme-light).admin-console .admin-logs-datetime-wrap input[type="datetime-local"]:focus,
body:not(.theme-light).client-body .admin-logs-datetime-wrap input[type="datetime-local"]:focus {
  outline:none;
  border-color:rgba(77,121,255,.75) !important;
  box-shadow:0 0 0 3px rgba(77,121,255,.14);
}
body.theme-light .admin-logs-datetime-wrap input[type="datetime-local"] {
  color-scheme:light;
  background:linear-gradient(180deg,#ffffff,#f7f9fc) !important;
  border:1px solid #c9d6ea !important;
  color:#2b3b55 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
}
body.theme-light .admin-logs-datetime-wrap input[type="datetime-local"]:focus {
  outline:none;
  border-color:#7096d8 !important;
  box-shadow:0 0 0 3px rgba(112,150,216,.22) !important;
}
body.admin-console .admin-logs-datetime-wrap input[type="datetime-local"]::-webkit-calendar-picker-indicator,
body.client-body .admin-logs-datetime-wrap input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  cursor:pointer;
  opacity:0;
}
body.admin-console .grid,
body.admin-console .split {
  gap:10px !important;
}
/* Light theme overrides: themes/light.css */

[data-hide="1"] {
  display:none !important;
}
@media (max-width: 1200px) {
  .v2-console-main.client-console { grid-template-columns:180px minmax(0,1fr) !important; }
  .v2-console-main.client-console.sidebar-collapsed { grid-template-columns:56px minmax(0,1fr) !important; }
  .v2-topnav { padding:0 8px !important; }
  .v2-topnav-links { gap:6px !important; margin-left:8px !important; }
  .v2-topnav-links a {
    padding:0 8px 5px !important;
    font-size:11px !important;
  }
  .v2-topnav-links a.active {
    padding-bottom:4px !important;
  }
  .client-brand h2 { font-size:20px !important; }
  .client-toolbar-copy h1, .client-page-head h1, .api-table-head h2 { font-size:19px !important; }
  .v2-console-main .metric-card .metric-value { font-size:22px !important; }
  .v2-chart-plot { min-height:154px !important; }
  .v2-chart-plot.v2-chart-plot-echarts { min-height:340px !important; }
}
@media (max-width: 980px) {
  .v2-console-shell { grid-template-rows:50px minmax(0,1fr) !important; }
  .v2-topnav { height:50px !important; min-height:50px !important; }
  .v2-topnav-brand span { display:none !important; }
  .v2-topnav-links { overflow:auto; max-width:60vw; padding-bottom:2px; }
  .v2-topnav-links::-webkit-scrollbar { height:4px; }
  .v2-console-main.client-console { grid-template-columns:minmax(0,1fr) !important; min-height:calc(100vh - 50px) !important; }
  .v2-console-main.client-console.sidebar-collapsed { grid-template-columns:minmax(0,1fr) !important; }
  .v2-console-main .client-sidebar {
    position:static !important;
    top:0 !important;
    height:auto !important;
    border-right:1px solid var(--mc-border) !important;
    border-radius:12px !important;
    margin-bottom:8px;
  }
  .v2-console-main .client-main { padding:8px !important; }
  .v2-console-main .top-strip { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .v2-console-main .client-toolbar { gap:10px !important; }
  .v2-console-main .client-toolbar-actions {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  .v2-console-main .client-toolbar-actions .client-toolbar-btn--accent {
    grid-column:1 / -1 !important;
  }
  .v2-sidebar-actions #client-sidebar-toggle .toggle-text { display:inline !important; }
}
@media (max-width: 640px) {
  .wrap { padding:6px !important; }
  .v2-topnav { padding:0 6px !important; }
  .v2-topnav-brand strong { font-size:12px !important; }
  .v2-topnav-links { max-width:52vw; margin-left:6px !important; gap:4px !important; }
  .v2-topnav-links a { min-height:28px !important; padding:0 7px !important; font-size:11px !important; }
  .v2-console-main .client-sidebar { padding:8px 7px !important; border-radius:10px !important; }
  .v2-console-main .client-menu a { min-height:32px !important; font-size:11px !important; }
  .v2-console-main .client-main { padding:6px !important; gap:8px !important; }
  .v2-console-main .client-toolbar {
    padding:8px !important;
    border-radius:10px !important;
  }
  .v2-console-main .client-toolbar-meta-label {
    display:none !important;
  }
  .v2-console-main .client-toolbar-meta {
    padding-top:8px !important;
  }
  .client-brand h2 { font-size:18px !important; }
  .client-toolbar-copy h1, .client-page-head h1, .api-table-head h2 { font-size:17px !important; }
  .v2-console-main .client-toolbar-pill { font-size:10px !important; padding:5px 8px !important; }
  .v2-subtabs a { min-height:24px !important; font-size:10px !important; }
  .v2-console-main .top-strip { grid-template-columns:1fr !important; gap:8px !important; }
  .v2-console-main .metric-card { padding:10px !important; }
  .v2-console-main .metric-card .metric-label { font-size:10px !important; }
  .v2-console-main .metric-card .metric-value { font-size:20px !important; }
  .v2-insights-grid { grid-template-columns:1fr !important; gap:10px !important; }
  .v2-chart-plot { min-height:142px !important; padding:8px 8px 6px !important; gap:6px !important; }
  .v2-chart-plot.v2-chart-plot-echarts { min-height:260px !important; }
  .v2-side-empty,
  .v2-side-body.v2-side-stats { min-height:260px !important; }
  .client-login-panel.unified-login-panel { padding:14px !important; border-radius:12px !important; }
  .client-login-input { min-height:34px !important; font-size:12px !important; }
  button, .topbar-btn, .ghost-link, .ghost-btn, .copy-btn, .client-primary-action, .client-secondary-action {
    min-height:32px !important;
    font-size:11px !important;
  }
}
@media (max-width: 420px) {
  .v2-topnav-links { max-width:46vw; }
  .v2-topnav-actions { gap:4px !important; }
  .v2-console-main .client-toolbar-actions { grid-template-columns:1fr !important; }
  .client-toolbar-copy h1, .client-page-head h1, .api-table-head h2 { font-size:16px !important; }
  .v2-console-main .metric-card .metric-value { font-size:18px !important; }
}

/* --- pages/partner.css --- */
/* Partner console — V2 shell section anchors */

.partner-console #partner-overview,

.partner-console .partner-section {

  scroll-margin-top: 96px;

}



.partner-console .partner-toolbar-note {

  margin: 6px 0 0;

  color: var(--muted);

  font-size: 13px;

  line-height: 1.65;

  max-width: 720px;

}



.partner-console .partner-inline-form {

  display: grid;

  gap: 8px;

}



body.theme-light.partner-console .metric-card .metric-label,

body.theme-light.partner-console .section-head p,

body.theme-light.partner-console .hint {

  color: #5f7596 !important;

}



body.theme-light.partner-console .table-shell,

body.theme-light.partner-console .section-shell {

  background: #ffffff !important;

  border-color: #d8e2f0 !important;

}

/* --- themes/light.css --- */
/* ===== Light theme component overrides (admin + client polish) ===== */
body.theme-light.admin-console .v2-topnav-brand span:last-child {
  color:#6d7f98 !important;
}
body.theme-light.admin-console .admin-hero-card .sub {
  color:#5d6f88 !important;
}
body.theme-light.admin-console .hero-badge {
  border-color:#c9d6ea !important;
  background:#eef3fb !important;
  color:#4a5f7d !important;
}
body.theme-light.admin-console .pill-list .pill,
body.theme-light.admin-console .pill {
  background:#f3f7ff !important;
  border-color:#ccd8eb !important;
  color:#3f587d !important;
}
body.theme-light.admin-console .nav-card,
body.theme-light.admin-console .stat,
body.theme-light.admin-console .cta-box,
body.theme-light.admin-console .admin-search-bar,
body.theme-light.admin-console .admin-focus-card {
  background:#ffffff !important;
  border-color:#d7e0ef !important;
  box-shadow:0 8px 18px rgba(52,78,120,.07) !important;
}
body.theme-light.admin-console .nav-card:hover,
body.theme-light.admin-console .admin-focus-card:hover {
  background:#f7faff !important;
  border-color:#c5d5eb !important;
  box-shadow:0 12px 28px rgba(52,78,120,.1) !important;
}
body.theme-light.admin-console .nav-card p,
body.theme-light.admin-console .section-head p,
body.theme-light.admin-console .hint,
body.theme-light.admin-console .mini-note,
body.theme-light.admin-console .cta-box span,
body.theme-light.admin-console table th {
  color:#5b7293 !important;
}
body.theme-light.admin-console .cta-box strong,
body.theme-light.admin-console .card h2,
body.theme-light.admin-console .stat .value,
body.theme-light.admin-console .nav-card h3 {
  color:#243652 !important;
}
body.theme-light.admin-console .card,
body.theme-light.admin-console .section-shell,
body.theme-light.admin-console .scroll-box,
body.theme-light.admin-console .table-shell {
  background:#ffffff !important;
  border-color:#d7e0ef !important;
  box-shadow:0 8px 18px rgba(52,78,120,.07) !important;
  color:#2f3f57 !important;
}
body.theme-light.admin-console .admin-logs-datetime-wrap input[type="datetime-local"] {
  color-scheme:light;
  background:linear-gradient(180deg,#ffffff,#f7f9fc) !important;
  border:1px solid #c9d6ea !important;
  color:#2b3b55 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
}
body.theme-light.admin-console input:not([type="checkbox"]):not([type="radio"]),
body.theme-light.admin-console textarea,
body.theme-light.admin-console select {
  background:linear-gradient(180deg,#ffffff,#f8fafc) !important;
  color:#2b3b55 !important;
  border-color:#c9d6ea !important;
}
body.theme-light .section-shell,
body.theme-light .api-actions-card,
body.theme-light .recharge-panel,
body.theme-light .response-panel,
body.theme-light .table-shell,
body.theme-light .scroll-box {
  background:#ffffff !important;
  border-color:#d8e2f0 !important;
  box-shadow:0 6px 16px rgba(52,78,120,.06) !important;
}
body.theme-light .pricing-layout .scroll-box {
  padding:16px 18px 20px !important;
  box-sizing:border-box !important;
}
body.theme-light .recharge-panel p,
body.theme-light .api-actions-card h3,
body.theme-light .section-shell .hint,
body.theme-light .section-shell .mini-note {
  color:#5b7293 !important;
}
body.theme-light .billing-balance-pill {
  background:rgba(255,186,96,.24) !important;
  border-color:rgba(206,132,40,.35) !important;
}
body.theme-light .billing-balance-pill span {
  color:#8f5e1f !important;
}
body.theme-light .billing-balance-pill strong {
  color:#4a2d05 !important;
}
body.theme-light .billing-card-note,
body.theme-light .billing-step-list {
  color:#6c5536 !important;
}
body.theme-light .v2-sidebar-actions {
  background:linear-gradient(180deg, rgba(247,250,255,0), rgba(247,250,255,.96) 35%) !important;
}
body.theme-light #client-sidebar-toggle,
body.theme-light .v2-sidebar-actions .topbar-btn {
  box-shadow:none !important;
  border-color:#cdd9eb !important;
  background:#f4f8ff !important;
  color:#3a547a !important;
}
body.theme-light #client-sidebar-toggle:hover,
body.theme-light .v2-sidebar-actions .topbar-btn:hover,
body.theme-light #client-sidebar-toggle:active,
body.theme-light .v2-sidebar-actions .topbar-btn:active {
  box-shadow:none !important;
  transform:none !important;
  filter:none !important;
  background:#edf3ff !important;
  border-color:#c1d1e8 !important;
}
body.theme-light .v2-console-main.client-console.sidebar-collapsed .v2-sidebar-actions #client-sidebar-toggle {
  background:#f4f8ff !important;
  border-color:#cdd9eb !important;
  color:#3a547a !important;
}
body.theme-light .v2-console-main.client-console.sidebar-collapsed .v2-sidebar-actions #client-sidebar-toggle:hover,
body.theme-light .v2-console-main.client-console.sidebar-collapsed .v2-sidebar-actions #client-sidebar-toggle:active {
  background:#edf3ff !important;
  border-color:#c1d1e8 !important;
  color:#2f415d !important;
}
body.theme-light .v2-chart-card,
body.theme-light .v2-side-card,
body.theme-light .v2-console-main .api-table-shell,
body.theme-light .v2-console-main .section-shell,
body.theme-light .v2-console-main .table-shell,
body.theme-light .v2-console-main .scroll-box {
  background:#ffffff !important;
  border-color:#d7e0ef !important;
  box-shadow:0 8px 18px rgba(52,78,120,.07) !important;
}
body.theme-light .v2-side-empty {
  background:transparent !important;
  color:#4f678a !important;
}
body.theme-light .v2-side-empty strong {
  color:#27405f !important;
}
body.theme-light .v2-chart-plot {
  background:
    linear-gradient(180deg, rgba(71,101,150,.07) 1px, transparent 1px) 0 0/100% 36px,
    linear-gradient(90deg, rgba(71,101,150,.05) 1px, transparent 1px) 0 0/68px 100%,
    linear-gradient(180deg,#fbfdff,#f3f7fd) !important;
  border-color:#d7e0ef !important;
}
body.theme-light .v2-subtabs a,
body.theme-light .toolbar-pill,
body.theme-light .client-toolbar-pill,
body.theme-light .pill {
  background:#f3f7ff !important;
  border-color:#ccd8eb !important;
  color:#3f587d !important;
}
body.theme-light .v2-card-head,
body.theme-light .v2-console-main .hint,
body.theme-light .v2-console-main .mini-note {
  color:#5a7295 !important;
}
body.theme-light .api-table-meta {
  background:#eef4ff !important;
  border:1px solid #ccd9ec !important;
  color:#3c567c !important;
  box-shadow:none !important;
}
body.theme-light .status-chip.ok {
  color:#1f7a49 !important;
  background:#e7f7ee !important;
  border:1px solid #bfe7cf !important;
}
body.theme-light .status-chip.warn {
  color:#8a611f !important;
  background:#fff5df !important;
  border:1px solid #ecd8a7 !important;
}
body.theme-light .status-chip.bad {
  color:#9a3d3a !important;
  background:#fdeaea !important;
  border:1px solid #efc2c1 !important;
}
body.theme-light .api-key-raw,
body.theme-light .copy-chip code {
  background:#f3f7ff !important;
  border:1px solid #d5e0f0 !important;
  color:#334a6d !important;
}
body.theme-light .v2-console-main .api-table-head h2,
body.theme-light .v2-console-main .metric-card .metric-value,
body.theme-light .v2-console-main .value {
  color:#223a58 !important;
}
body.theme-light .tag-soft,
body.theme-light .soft-tag {
  background:#eaf2ff !important;
  border:1px solid #c6d8f0 !important;
  color:#395779 !important;
  box-shadow:none !important;
}
html body.client-body.theme-light .key-group-panel {
  border:1px solid #c6d8f0 !important;
  background:#fbfcff !important;
}
html body.client-body.theme-light .key-group-option {
  border:none !important;
  border-bottom:1px solid #dde8f5 !important;
  background:transparent !important;
  color:#2a4365 !important;
}
html body.client-body.theme-light .key-group-option:last-child {
  border-bottom:none !important;
}
html body.client-body.theme-light .key-group-option:hover {
  background:rgba(74,126,196,.06) !important;
}
html body.client-body.theme-light .key-group-option:has(input:checked) {
  box-shadow:inset 3px 0 0 #4a7ec4 !important;
  background:rgba(74,126,196,.09) !important;
}
html body.client-body.theme-light .key-group-dot {
  border-color:#9eb5d8 !important;
}
html body.client-body.theme-light .key-group-option:has(input:checked) .key-group-dot {
  border-color:#4a7ec4 !important;
  background:rgba(74,126,196,.08) !important;
}
html body.client-body.theme-light .key-group-sub {
  color:#5a7295 !important;
}
body.theme-light .v2-merged-actions {
  background:#f6f9ff !important;
  border-top:1px solid #d8e2f0 !important;
}
body.theme-light .v2-merged-block {
  background:#ffffff !important;
  border-color:#d8e2f0 !important;
  box-shadow:0 6px 16px rgba(52,78,120,.06) !important;
}
body.theme-light .v2-merged-block h3 {
  color:#2a4365 !important;
}
body.theme-light .v2-merged-block .hint,
body.theme-light .v2-merged-block .mini-note {
  color:#5a7295 !important;
}
body.theme-light .v2-recharge-points span {
  color:#5a7295 !important;
}
body.theme-light .v2-console-main .v2-merged-block button.v2-overview-primary-btn {
  background:linear-gradient(135deg,#5b9cff 0%,#3d7bd4 48%,#2a5faf 100%) !important;
  border-color:rgba(70,130,210,.42) !important;
  color:#fff !important;
  box-shadow:0 8px 22px rgba(45,100,180,.22), inset 0 1px 0 rgba(255,255,255,.15) !important;
}
body.theme-light .v2-console-main .v2-merged-block button.v2-overview-primary-btn:hover {
  filter:brightness(1.04) !important;
  border-color:rgba(90,150,225,.5) !important;
}
body.theme-light .admin-focus-card,
body.theme-light .analytics-kpi-card,
body.theme-light .analytics-note-card,
body.theme-light .nav-card,
body.theme-light .accent-card,
body.theme-light .login-panel,
body.theme-light .partner-panel,
body.theme-light .partner-form-card,
body.theme-light .partner-info-card,
body.theme-light .partner-login-panel {
  background:#ffffff !important;
  border-color:#d8e2f0 !important;
  box-shadow:0 6px 16px rgba(52,78,120,.06) !important;
}
body.theme-light .api-table-scroll {
  background:transparent !important;
  scrollbar-color:#b8c5da #edf3fb !important;
}
body.theme-light .api-table-scroll::-webkit-scrollbar-track {
  background:#edf3fb !important;
}
body.theme-light .api-table-scroll::-webkit-scrollbar-thumb {
  background:linear-gradient(180deg,#c5d2e4,#aabfd8) !important;
  border:2px solid #edf3fb !important;
}
body.theme-light .api-url-box,
body.theme-light .sidebar-model-item {
  background:#f5f8ff !important;
  border-color:#d6e0ef !important;
  color:#3d5578 !important;
}
body.theme-light .sidebar-model-badge {
  background:#eaf2ff !important;
  border-color:#c6d8f0 !important;
  color:#3f5f86 !important;
}
body.theme-light .model-pricing-table thead th {
  background:#f4f8ff !important;
  border-bottom:1px solid #d4dfef !important;
  color:#516987 !important;
}
body.theme-light .model-pricing-table td input {
  background:#ffffff !important;
  border-color:#cfdaeb !important;
  color:#2d4566 !important;
}
body.theme-light .model-pricing-table td input.mp-sell-derived {
  background:#eef3fb !important;
  color:#4a5f7c !important;
}
body.theme-light .test-form select,
body.theme-light .test-form textarea,
body.theme-light .test-form input,
body.theme-light #model-select,
body.theme-light #image-model-select,
body.theme-light #prompt-input,
body.theme-light #image-prompt-input {
  background:#ffffff !important;
  border-color:#cfdaeb !important;
  color:#2d4566 !important;
  box-shadow:none !important;
}
body.theme-light .code-block {
  background:#f7faff !important;
  border-color:#d5e0f0 !important;
  color:#334b6d !important;
}
body.theme-light .doc-kpi-item {
  background:linear-gradient(180deg,#ffffff,#f5f8fc) !important;
  border:1px solid rgba(124,150,188,.38) !important;
  box-shadow:0 6px 14px rgba(52,78,120,.06) !important;
}
body.theme-light .doc-kpi-item strong {
  color:#b35d12 !important;
}
body.theme-light .doc-kpi-item span {
  color:#3d5680 !important;
}
body.theme-light .doc-subline {
  color:#5a7295 !important;
}
body.theme-light .doc-callout {
  background:rgba(255,183,102,.14) !important;
  border-color:rgba(200,140,55,.32) !important;
}
body.theme-light .doc-callout strong {
  color:#5a3910 !important;
}
body.theme-light .doc-callout p,
body.theme-light .doc-callout li {
  color:#4a5568 !important;
}
body.theme-light .doc-model-chip {
  background:#f4f8ff !important;
  border-color:rgba(124,150,188,.42) !important;
  color:#2a4365 !important;
}
body.theme-light .doc-model-chip.active {
  background:rgba(74,126,196,.14) !important;
  border-color:rgba(74,126,196,.55) !important;
  color:#1a3560 !important;
}
body.theme-light .code-block::-webkit-scrollbar,
body.theme-light .scroll-box::-webkit-scrollbar {
  width:10px !important;
  height:10px !important;
}
body.theme-light .code-block::-webkit-scrollbar-track,
body.theme-light .scroll-box::-webkit-scrollbar-track {
  background:#edf3fb !important;
}
body.theme-light .code-block::-webkit-scrollbar-thumb,
body.theme-light .scroll-box::-webkit-scrollbar-thumb {
  background:linear-gradient(180deg,#c5d2e4,#aabfd8) !important;
  border-radius:12px !important;
  border:2px solid #edf3fb !important;
}
body.theme-light .toolbar-search {
  background:#f4f8ff !important;
  border-color:#cfdaeb !important;
  color:#4a6188 !important;
  box-shadow:none !important;
}

/* P0: 客户台白天模式 — 总览「新 API Key」、价格顶栏、用量分析筛选项（压过 minimal-console 的 input !important） */
html body.client-body.theme-light .v2-console-main input:not([type="checkbox"]):not([type="radio"]),
html body.client-body.theme-light .v2-console-main textarea,
html body.client-body.theme-light .v2-console-main select {
  background:#ffffff !important;
  border:1px solid #cfdaeb !important;
  color:#2d4566 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94) !important;
}
html body.client-body.theme-light .v2-console-main select {
  appearance:none !important;
  -webkit-appearance:none !important;
  background-color:#ffffff !important;
  background-image:linear-gradient(45deg,transparent 50%,#5a6f8f 50%),linear-gradient(135deg,#5a6f8f 50%,transparent 50%) !important;
  background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px) !important;
  background-size:6px 6px,6px 6px !important;
  background-repeat:no-repeat !important;
  color:#2d4566 !important;
}
html body.client-body.theme-light .v2-console-main input::placeholder,
html body.client-body.theme-light .v2-console-main textarea::placeholder {
  color:#8899b8 !important;
  opacity:1 !important;
}
html body.client-body.theme-light .v2-console-main input:-webkit-autofill,
html body.client-body.theme-light .v2-console-main input:-webkit-autofill:hover,
html body.client-body.theme-light .v2-console-main input:-webkit-autofill:focus {
  -webkit-text-fill-color:#2d4566 !important;
  box-shadow:0 0 0 1000px #ffffff inset !important;
  border:1px solid #cfdaeb !important;
}
html body.client-body.theme-light .v2-merged-block .ops-form input,
html body.client-body.theme-light .v2-merged-block .ops-form textarea,
html body.client-body.theme-light .v2-merged-block .ops-form select {
  background:#ffffff !important;
  border:1px solid #cfdaeb !important;
  color:#2d4566 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94) !important;
}
html body.client-body.theme-light .toolbar-strip .toolbar-search {
  background:#f1f6ff !important;
  border:1px solid #cfdaeb !important;
  color:#3d5578 !important;
  box-shadow:none !important;
}
html body.client-body.theme-light .analytics-filter-shell .analytics-filter-form > div {
  background:#f3f7ff !important;
  border:1px solid #d0ddf0 !important;
}
html body.client-body.theme-light .analytics-filter-shell .analytics-filter-form select {
  margin-top:4px !important;
  background:#ffffff !important;
  border:1px solid #c5d4e8 !important;
  color:#2d4566 !important;
}

/* ===== Light theme final polish (tokens in tokens.css) ===== */
html body.theme-light td {
  color:#2d4566 !important;
  border-bottom-color:#e2eaf5 !important;
}
html body.theme-light th {
  color:#516987 !important;
  border-bottom-color:#d4dfef !important;
}
html body.theme-light tbody tr:nth-child(even) td {
  background:rgba(74,126,196,.03) !important;
}
html body.theme-light tbody tr:hover td {
  background:rgba(74,126,196,.07) !important;
}
html body.theme-light .remember-row,
html body.theme-light .unified-remember,
html body.theme-light .register-toggle {
  color:#4a6188 !important;
}
html body.theme-light .register-toggle:hover {
  color:#2f5fbf !important;
}
html body.theme-light .unified-register-panel {
  border-top-color:#d8e2f0 !important;
}
html body.theme-light .nav-loader {
  background:rgba(244,247,252,.72) !important;
}
html body.theme-light .nav-loader::before {
  border-color:rgba(90,130,200,.18) !important;
  border-top-color:#4a7ec4 !important;
}
html body.theme-light .client-landing-shell {
  background:transparent !important;
}
html body.theme-light .client-landing-hero,
html body.theme-light .client-landing-hero.unified-auth-hero {
  background:linear-gradient(180deg,#ffffff,#f4f8fc) !important;
  border:1px solid #dce6f3 !important;
  box-shadow:0 22px 48px rgba(32,48,76,.08) !important;
}
html body.theme-light .client-login-panel,
html body.theme-light .unified-auth-cards .client-login-panel.unified-auth-card {
  background:#ffffff !important;
  border:1px solid #d0ddf0 !important;
  box-shadow:0 14px 36px rgba(32,48,76,.06) !important;
  color:#22314a !important;
}
html body.theme-light .client-landing-copy h1,
html body.theme-light .client-login-side h2 {
  color:#1a2a42 !important;
}
html body.theme-light .client-landing-copy p {
  color:#5f708c !important;
}
html body.theme-light .client-landing-pills span {
  background:#eef3fb !important;
  border:1px solid #cfdced !important;
  color:#3d5578 !important;
}
html body.theme-light .hero-badge {
  background:#edf3ff !important;
  border-color:#c7d7f2 !important;
  color:#3e5d8f !important;
}
html body.theme-light .client-login-kicker {
  color:#5a7295 !important;
}
html body.theme-light .client-login-divider {
  background:linear-gradient(90deg,rgba(190,202,224,.2),rgba(190,202,224,.55),rgba(190,202,224,.2)) !important;
}
html body.theme-light .v2-console-shell {
  background:linear-gradient(180deg,#f7f9fd 0%,#eef3fa 100%) !important;
}
html body.theme-light .v2-topnav {
  background:#f9fbff !important;
  border-bottom:1px solid #d8e2f0 !important;
}
html body.theme-light .v2-topnav-brand,
html body.theme-light .v2-topnav-brand strong {
  color:#2d3b52 !important;
}
html body.theme-light .v2-topnav-brand span {
  color:#6b7f9e !important;
}
html body.theme-light .v2-topnav-links a {
  color:#5a6f8f !important;
  background:transparent !important;
  border-color:transparent !important;
}
html body.theme-light .v2-topnav-links a:hover {
  color:#2e4568 !important;
  background:#eef3fb !important;
  border-color:#cfdaeb !important;
}
html body.theme-light .v2-topnav-links a.active {
  color:#24456f !important;
  background:#e8f0fb !important;
  border-color:#bfd0e8 !important;
}
html body.theme-light .v2-console-main .client-sidebar {
  background:#f5f8fd !important;
  border-right-color:#d8e2f0 !important;
}
html body.theme-light .v2-console-main .client-toolbar {
  background:#ffffff !important;
  border-color:#d8e2f0 !important;
  box-shadow:0 8px 20px rgba(52,78,120,.06) !important;
}
html body.theme-light .v2-console-main .client-toolbar-pill {
  background:#eef3fb !important;
  border-color:#cfdced !important;
  color:#3d5578 !important;
}
html body.theme-light .v2-subtabs a {
  color:#4b6487 !important;
  background:#eef4ff !important;
  border-color:#cdd9ec !important;
}
html body.theme-light .v2-subtabs a.active,
html body.theme-light .v2-subtabs a:hover {
  color:#2b4568 !important;
  background:#dce9fb !important;
  border-color:#98b2d8 !important;
}
html body.theme-light .v2-console-main .metric-card,
html body.theme-light .v2-chart-card,
html body.theme-light .v2-side-card,
html body.theme-light .v2-console-main .api-table-shell,
html body.theme-light .v2-console-main .section-shell,
html body.theme-light .card {
  background:#ffffff !important;
  border-color:#d8e2f0 !important;
  box-shadow:0 6px 16px rgba(32,48,76,.06) !important;
}
html body.theme-light .v2-console-main .api-table-head {
  background:#f7faff !important;
  border-bottom:1px solid #d8e2f0 !important;
}
html body.theme-light .v2-console-main .client-menu a {
  background:#ffffff !important;
  border-color:#d8e2f0 !important;
  color:#3d5578 !important;
}
html body.theme-light .v2-console-main .client-menu a.active {
  background:#eaf1ff !important;
  border-color:#bdd1f3 !important;
  color:#274a79 !important;
  box-shadow:inset 3px 0 0 #3d78d6 !important;
}
html body.theme-light .v2-console-main .client-menu a:hover:not(.active) {
  background:#f3f7fd !important;
  border-color:#c5d6ea !important;
}
html body.theme-light .v2-console-main .metric-card .metric-note,
html body.theme-light .v2-console-main .hint,
html body.theme-light .v2-console-main .mini-note {
  color:#5f7596 !important;
}
html body.theme-light .v2-console-main .metric-card .metric-value,
html body.theme-light .v2-console-main h1,
html body.theme-light .v2-console-main h2,
html body.theme-light .v2-console-main h3,
html body.theme-light .money {
  color:#1f2a3d !important;
}
/* Buttons: components.css + tokens.css */
html body.theme-light .card,
html body.theme-light .client-sidebar,
html body.theme-light .client-login-panel,
html body.theme-light .client-landing-hero,
html body.theme-light .metric-card,
html body.theme-light .api-table-shell {
  box-shadow:0 6px 16px rgba(32,48,76,.06) !important;
}

/* ===== Light theme — base.css & legacy panel polish ===== */
html body.theme-light .hero,
html body.theme-light .hero.client-hero {
  background:linear-gradient(180deg,#ffffff,#f4f8fc) !important;
  border:1px solid #dce6f3 !important;
  box-shadow:0 12px 28px rgba(32,48,76,.07) !important;
}
html body.theme-light .hero-accent { color:#2f5fbf !important; }
html body.theme-light .hero-highlight { color:#1a2a42 !important; }
html body.theme-light .stat,
html body.theme-light .stat.soft,
html body.theme-light .client-stat {
  background:#ffffff !important;
  border:1px solid #d8e2f0 !important;
  box-shadow:0 6px 16px rgba(32,48,76,.06) !important;
}
html body.theme-light .stat.primary {
  background:linear-gradient(180deg,#eef8f2,#ffffff) !important;
  border-color:#bfe7cf !important;
  box-shadow:0 8px 18px rgba(31,122,73,.08) !important;
}
html body.theme-light .stat.primary .label { color:#1f7a49 !important; }
html body.theme-light .stat.primary .value { color:#15803d !important; }
html body.theme-light .stat .label { color:#516987 !important; }
html body.theme-light .stat .value { color:#1f2a3d !important; }
html body.theme-light .stat .mini-note { color:#5f7596 !important; }
html body.theme-light .pill,
html body.theme-light .pill-list .pill {
  background:#eef3fb !important;
  border:1px solid #cfdced !important;
  color:#3d5578 !important;
}
html body.theme-light .client-hero .pill:nth-child(2n) {
  background:#fff8ed !important;
  border-color:#ecd8a7 !important;
  color:#8a611f !important;
}
html body.theme-light .package-strong { color:#1f2a3d !important; }
html body.theme-light .copy-btn {
  background:#fff8ed !important;
  border:1px solid #ecd8a7 !important;
  color:#8a611f !important;
}
html body.theme-light .copy-btn:hover {
  background:#fff3dc !important;
  border-color:#ddb96a !important;
}
html body.theme-light .accent-card {
  background:linear-gradient(180deg,#fffaf2,#ffffff) !important;
  border:1px solid #ecd8a7 !important;
}
html body.theme-light .login-panel {
  background:#ffffff !important;
  border:1px solid #d8e2f0 !important;
  box-shadow:0 12px 28px rgba(32,48,76,.07) !important;
}
html body.theme-light .partner-panel,
html body.theme-light .partner-form-card,
html body.theme-light .partner-info-card,
html body.theme-light .partner-login-panel,
html body.theme-light .partner-login-hero {
  background:#ffffff !important;
  border:1px solid #d8e2f0 !important;
  box-shadow:0 12px 28px rgba(32,48,76,.07) !important;
  color:#22314a !important;
}
html body.theme-light .partner-panel::after,
html body.theme-light .partner-login-shell::before,
html body.theme-light .partner-login-panel::before,
html body.theme-light .partner-login-hero::before {
  display:none !important;
}
html body.theme-light .partner-title,
html body.theme-light .partner-login-title { color:#8a611f !important; text-shadow:none !important; }
html body.theme-light .partner-hero-copy,
html body.theme-light .partner-login-note { color:#5f708c !important; }
html body.theme-light .empty-state { color:#5f7596 !important; }
html body.theme-light .api-table-head p,
html body.theme-light .api-table-meta { color:#516987 !important; }
html body.theme-light .ops-form-note { color:#5f7596 !important; }
html body.theme-light .pricing-subtitle { color:#2a4365 !important; }
html body.theme-light .pricing-line { color:#516987 !important; }
html body.theme-light .package-total { color:#8a611f !important; }
html body.theme-light .package-price { color:#1f2a3d !important; }
html body.theme-light .pricing-subblock--spaced { border-top-color:#e2eaf5 !important; }
html body.theme-light .scroll-box:not(.v2-console-main .scroll-box) {
  background:#ffffff !important;
  border:1px solid #d8e2f0 !important;
  scrollbar-color:#b8c5da #edf3fb !important;
}
html body.theme-light .client-login-panel::before,
html body.theme-light .client-login-panel::after {
  display:none !important;
}
html body.theme-light .client-login-kicker { color:#5a7295 !important; }
html body.theme-light .client-login-side .mini-note { color:#5f708c !important; }
html body.theme-light .client-login-divider {
  background:linear-gradient(90deg,rgba(190,202,224,.2),rgba(190,202,224,.55),rgba(190,202,224,.2)) !important;
}
html body.theme-light .client-landing-copy p { color:#5f708c !important; }
html body.theme-light .sub { color:var(--color-text-secondary) !important; }
html body.theme-light .remember-row { color:#4a6188 !important; }
html body.theme-light .field-label { color:#516987 !important; }
html body.theme-light .label { color:#516987 !important; }
html body.theme-light .package-highlight td { background:rgba(212,136,6,.08) !important; }
html body.theme-light .nav-loader { background:rgba(244,247,252,.72) !important; }
html body.theme-light .nav-loader::before {
  border-color:rgba(90,130,200,.18) !important;
  border-top-color:#4a7ec4 !important;
}
html body.theme-light .wrap { color:var(--color-text-primary); }
html body.theme-light.partner-console .v2-console-shell {
  background:linear-gradient(180deg,#f7f9fd 0%,#eef3fa 100%) !important;
}
html body.theme-light.partner-console .partner-toolbar-note { color:#5f7596 !important; }

html body.theme-light .toolbar-strip {
  background:var(--color-toolbar-strip-bg) !important;
  border-color:var(--color-toolbar-strip-border) !important;
  box-shadow:0 6px 16px rgba(32,48,76,.06) !important;
}
html body.theme-light .client-side-note {
  background:var(--color-side-note-bg) !important;
  border-color:var(--color-side-note-border) !important;
}
html body.theme-light .client-side-note-name { color:var(--color-side-note-name) !important; }
html body.theme-light .v2-console-shell { background:var(--color-console-shell-bg) !important; }

/* --- Client docs & shared doc surfaces (day mode) --- */
body.theme-light .toc-list a {
  color:#3d5578 !important;
  background:#f4f8ff !important;
  border-color:#cfdced !important;
}
body.theme-light .toc-list a:hover {
  border-color:#b8cce8 !important;
  background:#edf3ff !important;
}
body.theme-light .step-item {
  background:#f7faff !important;
  border-color:#d6e0ef !important;
}
body.theme-light .step-item strong {
  color:#2a4365 !important;
}
body.theme-light .step-item code {
  color:#334a6d !important;
}
body.theme-light .doc-kpi-item {
  background:#f4f8ff !important;
  border-color:#cfdced !important;
}
body.theme-light .doc-kpi-item strong {
  color:#8a611f !important;
}
body.theme-light .doc-kpi-item span {
  color:#3d5578 !important;
}
body.theme-light a.ghost-btn,
body.theme-light .ghost-btn,
body.theme-light a.ghost-link,
body.theme-light .ghost-link,
html body.client-body.theme-light .v2-console-main a.btn.btn-ghost,
html body.client-body.theme-light .v2-console-main a.ghost-link,
html body.client-body.theme-light .analytics-filter-actions a.btn.btn-ghost.ghost-link,
html body.client-body.theme-light .v2-console-main td a.btn.btn-ghost.ghost-link {
  background:var(--color-btn-ghost-bg) !important;
  border-color:var(--color-btn-ghost-border) !important;
  color:var(--color-btn-ghost-text) !important;
  box-shadow:none !important;
}
body.theme-light a.ghost-btn:hover,
body.theme-light .ghost-btn:hover,
body.theme-light a.ghost-link:hover,
body.theme-light .ghost-link:hover,
html body.client-body.theme-light .v2-console-main a.btn.btn-ghost:hover,
html body.client-body.theme-light .v2-console-main a.ghost-link:hover,
html body.client-body.theme-light .analytics-filter-actions a.btn.btn-ghost.ghost-link:hover,
html body.client-body.theme-light .v2-console-main td a.btn.btn-ghost.ghost-link:hover {
  background:var(--color-btn-ghost-bg-hover) !important;
  border-color:var(--color-btn-ghost-border-hover) !important;
  color:var(--color-btn-ghost-text-hover) !important;
  filter:none !important;
  transform:none !important;
}
body.theme-light .doc-model-chip {
  background:#f4f8ff !important;
  border-color:#c5d4ea !important;
  color:#3d5578 !important;
}
body.theme-light .doc-model-chip.active {
  background:#edf3ff !important;
  border-color:#4a7ec4 !important;
  color:#2a4680 !important;
}
body.theme-light .doc-subline {
  color:#5a7295 !important;
}
body.theme-light .doc-callout {
  background:#fff8ed !important;
  border-color:#ecd8a7 !important;
}
body.theme-light .doc-callout strong {
  color:#8a611f !important;
}
body.theme-light .doc-callout p {
  color:#6c5536 !important;
}
body.theme-light .code-block {
  background:#f3f7ff !important;
  border-color:#d0ddf0 !important;
  color:#2a4365 !important;
}
body.theme-light .note-strip {
  background:#fff8ed !important;
  border-color:#ecd8a7 !important;
  color:#6c5536 !important;
}
body.theme-light .v2-topnav-actions .topbar-btn,
body.theme-light .v2-topnav-actions a.btn.btn-ghost.topbar-btn {
  background:var(--color-btn-ghost-bg) !important;
  border-color:var(--color-btn-ghost-border) !important;
  color:var(--color-btn-ghost-text) !important;
  box-shadow:none !important;
}
body.theme-light .v2-topnav-actions .topbar-btn:hover,
body.theme-light .v2-topnav-actions a.btn.btn-ghost.topbar-btn:hover {
  background:var(--color-btn-ghost-bg-hover) !important;
  border-color:var(--color-btn-ghost-border-hover)!important;
  color:var(--color-btn-ghost-text-hover) !important;
  transform:none !important;
  filter:none !important;
}

/* --- Client pages: pricing, test, billing, logs, analytics --- */
body.theme-light .usage-token-card,
body.theme-light .analytics-kpi-card.usage-token-card {
  background:#ffffff !important;
  border-color:#d8e2f0 !important;
  box-shadow:0 6px 16px rgba(52,78,120,.06) !important;
}
body.theme-light .usage-token-card .value,
body.theme-light .analytics-kpi-card .value {
  color:#1f2a3d !important;
}
body.theme-light .usage-token-card .label,
body.theme-light .analytics-kpi-card .label {
  color:#516987 !important;
}
body.theme-light .analytics-trend-bar-shell {
  background:#f3f7ff !important;
  border-color:#d0ddf0 !important;
}
body.theme-light .analytics-trend-value {
  color:#3d5578 !important;
}
body.theme-light .analytics-trend-label {
  color:#5a7295 !important;
}
body.theme-light .info-box {
  background:#f7faff !important;
  border-color:#d6e0ef !important;
}
body.theme-light .info-box strong {
  color:#2a4365 !important;
}
body.theme-light .info-box p {
  color:#5a7295 !important;
}
body.theme-light .meta-pill {
  background:#eef3fb !important;
  border-color:#cfdced !important;
  color:#3d5578 !important;
}
body.theme-light .recharge-panel,
body.theme-light .response-panel,
body.theme-light .qr-card,
body.theme-light .api-actions-card,
body.theme-light .overview-feature-card,
body.theme-light .model-group-card {
  background:#ffffff !important;
  border-color:#d8e2f0 !important;
  color:#2d4566 !important;
  box-shadow:0 6px 16px rgba(52,78,120,.06) !important;
}
body.theme-light .section-head p,
body.theme-light .section-card p,
body.theme-light .section-card li {
  color:#5a7295 !important;
}
body.theme-light .section-card h3 {
  color:#2a4365 !important;
}
body.theme-light .empty-state {
  color:#5a7295 !important;
  background:#f7faff !important;
  border:1px dashed #cfdced !important;
  border-radius:14px !important;
  padding:24px !important;
}
body.theme-light .usage-alert-shell .ops-form {
  background:#f7faff !important;
  border:1px solid #d8e2f0 !important;
  border-radius:16px !important;
  padding:14px !important;
}
body.theme-light .client-toolbar-btn {
  box-shadow:none !important;
}
body.theme-light .client-toolbar-btn--ghost {
  background:var(--color-btn-ghost-bg) !important;
  border-color:var(--color-btn-ghost-border) !important;
  color:var(--color-btn-ghost-text) !important;
}
body.theme-light .client-toolbar-btn--accent {
  color:#fff !important;
}

/* --- billing / profile / pricing / models / analytics (client console) --- */
html body.client-body.theme-light .recharge-panel,
html body.client-body.theme-light .recharge-panel.recharge-panel--enhanced {
  background:#ffffff !important;
  border:1px solid #d8e2f0 !important;
  box-shadow:0 8px 20px rgba(52,78,120,.06) !important;
}
html body.client-body.theme-light .recharge-panel h2,
html body.client-body.theme-light .recharge-panel h3,
html body.client-body.theme-light .billing-action-shell h3 {
  color:#1f2a3d !important;
}
html body.client-body.theme-light .billing-action-shell.section-shell {
  background:#f7faff !important;
  border:1px solid #d8e2f0 !important;
}
html body.client-body.theme-light .model-group-card h3 {
  color:#2a4365 !important;
}
html body.client-body.theme-light .model-line {
  background:#f4f8ff !important;
  border-color:#d0ddf0 !important;
}
html body.client-body.theme-light .model-line-name {
  color:#2a4365 !important;
}
html body.client-body.theme-light .model-line-meta {
  color:#5a7295 !important;
}
html body.client-body.theme-light .model-grid {
  scrollbar-color:#b8c5da #edf3fb !important;
}
html body.client-body.theme-light .model-grid::-webkit-scrollbar-track {
  background:#edf3fb !important;
}
html body.client-body.theme-light .model-grid::-webkit-scrollbar-thumb {
  background:linear-gradient(180deg,#c5d2e4,#aabfd8) !important;
  border:2px solid #edf3fb !important;
}
html body.client-body.theme-light .sidebar-model-group strong {
  color:#8a611f !important;
}
html body.client-body.theme-light .sidebar-model-item-name {
  color:#2a4365 !important;
}
html body.client-body.theme-light .sidebar-model-item-meta {
  color:#5a7295 !important;
}
html body.client-body.theme-light .package-table thead th,
html body.client-body.theme-light .package-table th {
  background:#f4f8ff !important;
  color:#516987 !important;
  border-bottom:1px solid #d4dfef !important;
}
html body.client-body.theme-light .v2-console-main .ops-form input,
html body.client-body.theme-light .v2-console-main .ops-form textarea,
html body.client-body.theme-light .v2-console-main .ops-form select {
  background:#ffffff !important;
  border:1px solid #cfdaeb !important;
  color:#2d4566 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94) !important;
}
html body.client-body.theme-light .v2-console-main .ops-form input:disabled,
html body.client-body.theme-light .v2-console-main .ops-form textarea:disabled {
  background:#f3f7ff !important;
  color:#516987 !important;
  opacity:1 !important;
}
html body.client-body.theme-light .v2-console-main .ops-form button.secondary,
html body.client-body.theme-light .v2-console-main .ops-form button:not(.btn):not(.compact) {
  background:var(--color-btn-secondary-bg) !important;
  border:1px solid var(--color-btn-secondary-border) !important;
  color:var(--color-btn-secondary-text) !important;
  box-shadow:none !important;
}
html body.client-body.theme-light .v2-console-main .ops-form button.secondary:hover,
html body.client-body.theme-light .v2-console-main .ops-form button:not(.btn):not(.compact):hover {
  background:var(--color-btn-secondary-bg-hover) !important;
  border-color:var(--color-btn-secondary-border-hover) !important;
}
html body.client-body.theme-light .usage-balance-card .label {
  color:#516987 !important;
}
html body.client-body.theme-light .usage-balance-card .mini-note {
  color:#5a7295 !important;
}
html body.client-body.theme-light .analytics-note-card h2,
html body.client-body.theme-light .usage-side-card h2 {
  color:#1f2a3d !important;
}
html body.client-body.theme-light .analytics-note-card .mini-note,
html body.client-body.theme-light .usage-side-card .mini-note {
  color:#5a7295 !important;
}
html body.client-body.theme-light .recharge-item {
  background:#f7faff !important;
  border-color:#d8e2f0 !important;
}
html body.client-body.theme-light .recharge-item strong {
  color:#2a4365 !important;
}
html body.client-body.theme-light .qr-card .qr-title {
  color:#2a4365 !important;
}
html body.client-body.theme-light .qr-card .qr-sub {
  color:#5a7295 !important;
}
