/* THEME_TOKENS_START — literal colors belong only in this palette section. */
:root,
:root[data-theme="light"] {
  --native-color-scheme: light;
  --canvas: #f3f6f5;
  --surface: #ffffff;
  --surface-muted: #f7f9f8;
  --surface-strong: #edf2ef;
  --surface-tint: #f3f7f5;
  --surface-hover: #f8faf9;
  --surface-warning: #fffdf8;
  --surface-danger: #fff9f8;
  --surface-translucent: rgba(255, 255, 255, .78);
  --ink: #14211c;
  --ink-soft: #34443d;
  --muted: #5e6c66;
  --faint: #58675f;
  --placeholder: #65736c;
  --line: #dde5e1;
  --line-strong: #cbd6d1;
  --line-subtle: #e9eeeb;
  --control-hover-border: #aebdb6;
  --on-accent: #ffffff;
  --accent: #087a5d;
  --accent-hover: #06694f;
  --accent-soft: #e4f3ee;
  --accent-border: #b8ddcf;
  --accent-text: #1e5d47;
  --sidebar: #10211b;
  --sidebar-soft: #172b24;
  --sidebar-text: #eef6f2;
  --sidebar-muted: #91a69d;
  --sidebar-label: #82988e;
  --sidebar-nav-text: #a8bbb2;
  --sidebar-nav-hover: rgba(255, 255, 255, .055);
  --sidebar-nav-active: #214035;
  --sidebar-nav-icon: #72d4b0;
  --sidebar-line: rgba(238, 246, 242, .1);
  --sidebar-line-strong: rgba(238, 246, 242, .12);
  --login-accent: #7cd7b7;
  --login-copy: #b7c8c0;
  --login-capability: #d5e3dd;
  --login-dot: #60cda5;
  --status-dot: #54c89f;
  --status-ring: rgba(84, 200, 159, .14);
  --danger: #b43d35;
  --danger-soft: #fbecea;
  --danger-border: #e6b2ad;
  --danger-strong: #7f241f;
  --warning: #966219;
  --warning-soft: #fbf2df;
  --warning-border: #d7c39a;
  --warning-strong: #684712;
  --warning-chip: #f6e8c4;
  --info: #35678f;
  --info-soft: #eaf2f8;
  --info-border: #bfd4e3;
  --info-strong: #234a63;
  --topbar-bg: rgba(255, 255, 255, .94);
  --summary-bg: rgba(255, 255, 255, .58);
  --focus-color: rgba(8, 122, 93, .16);
  --accent-ring: rgba(8, 122, 93, .18);
  --accent-ring-soft: rgba(8, 122, 93, .11);
  --warning-ring: rgba(150, 98, 25, .12);
  --danger-ring: rgba(180, 61, 53, .11);
  --overlay: rgba(8, 22, 17, .42);
  --overlay-soft: rgba(8, 22, 17, .36);
  --sidebar-backdrop: rgba(8, 22, 17, .4);
  --shadow-color: rgba(12, 31, 24, .12);
  --shadow-color-strong: rgba(12, 31, 24, .14);
  --shadow-color-soft: rgba(12, 31, 24, .1);
  --switch-shadow: rgba(12, 31, 24, .08);
}

:root[data-theme="dark"] {
  --native-color-scheme: dark;
  --canvas: #0c1210;
  --surface: #141c19;
  --surface-muted: #19231f;
  --surface-strong: #22302a;
  --surface-tint: #17251f;
  --surface-hover: #1b2823;
  --surface-warning: #241f16;
  --surface-danger: #261a19;
  --surface-translucent: rgba(20, 28, 25, .92);
  --ink: #f3f7f5;
  --ink-soft: #d9e3df;
  --muted: #b2c1ba;
  --faint: #9eafa7;
  --placeholder: #aebbb5;
  --line: #2d3a35;
  --line-strong: #415149;
  --line-subtle: #26322d;
  --control-hover-border: #586a61;
  --on-accent: #061711;
  --accent: #48d2a4;
  --accent-hover: #68dfb7;
  --accent-soft: #16382d;
  --accent-border: #2f735b;
  --accent-text: #7de5be;
  --sidebar: #070e0b;
  --sidebar-soft: #101c17;
  --sidebar-text: #f2f8f5;
  --sidebar-muted: #a9bbb2;
  --sidebar-label: #91a69c;
  --sidebar-nav-text: #b8c8c1;
  --sidebar-nav-hover: rgba(255, 255, 255, .08);
  --sidebar-nav-active: #183e31;
  --sidebar-nav-icon: #65ddb2;
  --sidebar-line: rgba(242, 248, 245, .14);
  --sidebar-line-strong: rgba(242, 248, 245, .18);
  --login-accent: #7de5be;
  --login-copy: #c2d0ca;
  --login-capability: #dce7e2;
  --login-dot: #65ddb2;
  --status-dot: #58d4a8;
  --status-ring: rgba(88, 212, 168, .2);
  --danger: #ff958d;
  --danger-soft: #3a1d1c;
  --danger-border: #864641;
  --danger-strong: #ffb1aa;
  --warning: #f5c66d;
  --warning-soft: #382b15;
  --warning-border: #806029;
  --warning-strong: #ffe0a3;
  --warning-chip: #4a391d;
  --info: #8bc8f5;
  --info-soft: #172f42;
  --info-border: #3d6d8f;
  --info-strong: #b5dcfa;
  --topbar-bg: rgba(12, 18, 16, .94);
  --summary-bg: rgba(20, 28, 25, .76);
  --focus-color: rgba(72, 210, 164, .28);
  --accent-ring: rgba(72, 210, 164, .26);
  --accent-ring-soft: rgba(72, 210, 164, .18);
  --warning-ring: rgba(245, 198, 109, .2);
  --danger-ring: rgba(255, 149, 141, .2);
  --overlay: rgba(2, 8, 5, .72);
  --overlay-soft: rgba(2, 8, 5, .62);
  --sidebar-backdrop: rgba(2, 8, 5, .68);
  --shadow-color: rgba(0, 0, 0, .34);
  --shadow-color-strong: rgba(0, 0, 0, .48);
  --shadow-color-soft: rgba(0, 0, 0, .26);
  --switch-shadow: rgba(0, 0, 0, .3);
}

:root[data-theme="professional"] {
  --native-color-scheme: light;
  --canvas: #edf1f5;
  --surface: #ffffff;
  --surface-muted: #f5f7fa;
  --surface-strong: #e5eaf0;
  --surface-tint: #f1f5f9;
  --surface-hover: #f5f8fb;
  --surface-warning: #fffaf0;
  --surface-danger: #fff7f6;
  --surface-translucent: rgba(255, 255, 255, .82);
  --ink: #18222e;
  --ink-soft: #354355;
  --muted: #536273;
  --faint: #526173;
  --placeholder: #59697a;
  --line: #d8e0e8;
  --line-strong: #c4ced9;
  --line-subtle: #e7ecf1;
  --control-hover-border: #9eacba;
  --on-accent: #ffffff;
  --accent: #245ea8;
  --accent-hover: #1b4b88;
  --accent-soft: #e5eef9;
  --accent-border: #b6cae3;
  --accent-text: #1e4f8f;
  --sidebar: #172433;
  --sidebar-soft: #213247;
  --sidebar-text: #f5f8fb;
  --sidebar-muted: #afbdcb;
  --sidebar-label: #94a7b9;
  --sidebar-nav-text: #bec9d4;
  --sidebar-nav-hover: rgba(255, 255, 255, .07);
  --sidebar-nav-active: #2b4665;
  --sidebar-nav-icon: #82b6ed;
  --sidebar-line: rgba(245, 248, 251, .12);
  --sidebar-line-strong: rgba(245, 248, 251, .16);
  --login-accent: #9dc8f4;
  --login-copy: #c4d0dc;
  --login-capability: #e0e7ee;
  --login-dot: #82b6ed;
  --status-dot: #58b49c;
  --status-ring: rgba(88, 180, 156, .18);
  --danger: #ae3e3a;
  --danger-soft: #faeaea;
  --danger-border: #dfaaa7;
  --danger-strong: #7d2a27;
  --warning: #825a18;
  --warning-soft: #faf0dc;
  --warning-border: #d8bf8b;
  --warning-strong: #60420f;
  --warning-chip: #f1dfb8;
  --info: #2e628d;
  --info-soft: #e7f0f7;
  --info-border: #b6ccdc;
  --info-strong: #244d6e;
  --topbar-bg: rgba(255, 255, 255, .94);
  --summary-bg: rgba(255, 255, 255, .66);
  --focus-color: rgba(36, 94, 168, .2);
  --accent-ring: rgba(36, 94, 168, .18);
  --accent-ring-soft: rgba(36, 94, 168, .12);
  --warning-ring: rgba(130, 90, 24, .14);
  --danger-ring: rgba(174, 62, 58, .12);
  --overlay: rgba(16, 28, 42, .46);
  --overlay-soft: rgba(16, 28, 42, .38);
  --sidebar-backdrop: rgba(16, 28, 42, .42);
  --shadow-color: rgba(21, 38, 56, .13);
  --shadow-color-strong: rgba(21, 38, 56, .16);
  --shadow-color-soft: rgba(21, 38, 56, .1);
  --switch-shadow: rgba(21, 38, 56, .09);
}

:root[data-theme="warm"] {
  --native-color-scheme: light;
  --canvas: #f3eee7;
  --surface: #fffdf9;
  --surface-muted: #f7f1e9;
  --surface-strong: #eee4d7;
  --surface-tint: #faf4ec;
  --surface-hover: #fbf6ef;
  --surface-warning: #fff7e8;
  --surface-danger: #fff4f0;
  --surface-translucent: rgba(255, 253, 249, .88);
  --ink: #251b14;
  --ink-soft: #49372b;
  --muted: #655246;
  --faint: #6d5a4e;
  --placeholder: #665347;
  --line: #e2d6c8;
  --line-strong: #cdbbaa;
  --line-subtle: #ede4d9;
  --control-hover-border: #af9985;
  --on-accent: #ffffff;
  --accent: #9a3f20;
  --accent-hover: #7e3015;
  --accent-soft: #f7e4da;
  --accent-border: #dfb6a2;
  --accent-text: #7a2f17;
  --sidebar: #2a1c15;
  --sidebar-soft: #3a2921;
  --sidebar-text: #fff8f1;
  --sidebar-muted: #cbb9aa;
  --sidebar-label: #b9a293;
  --sidebar-nav-text: #daccc0;
  --sidebar-nav-hover: rgba(255, 248, 241, .08);
  --sidebar-nav-active: #583627;
  --sidebar-nav-icon: #f0ad80;
  --sidebar-line: rgba(255, 248, 241, .13);
  --sidebar-line-strong: rgba(255, 248, 241, .18);
  --login-accent: #f1b087;
  --login-copy: #d9c9bd;
  --login-capability: #eee0d5;
  --login-dot: #e28a54;
  --status-dot: #dc8a57;
  --status-ring: rgba(220, 138, 87, .2);
  --danger: #a73830;
  --danger-soft: #fbe8e4;
  --danger-border: #dea8a2;
  --danger-strong: #7c261f;
  --warning: #835313;
  --warning-soft: #fbf0dc;
  --warning-border: #d9bd89;
  --warning-strong: #62400f;
  --warning-chip: #f1dfb8;
  --info: #2b6085;
  --info-soft: #e8f0f5;
  --info-border: #b8cfdf;
  --info-strong: #244e6a;
  --topbar-bg: rgba(255, 253, 249, .95);
  --summary-bg: rgba(255, 253, 249, .72);
  --focus-color: rgba(154, 63, 32, .2);
  --accent-ring: rgba(154, 63, 32, .18);
  --accent-ring-soft: rgba(154, 63, 32, .12);
  --warning-ring: rgba(131, 83, 19, .15);
  --danger-ring: rgba(167, 56, 48, .13);
  --overlay: rgba(35, 22, 15, .5);
  --overlay-soft: rgba(35, 22, 15, .4);
  --sidebar-backdrop: rgba(35, 22, 15, .46);
  --shadow-color: rgba(53, 34, 24, .13);
  --shadow-color-strong: rgba(53, 34, 24, .17);
  --shadow-color-soft: rgba(53, 34, 24, .1);
  --switch-shadow: rgba(53, 34, 24, .09);
}
/* THEME_TOKENS_END */
/* Yanzu Console foundation v1 — shared by the platform and plugin consoles.
   Source of truth: yanzu-ai-platform/admin/console-foundation.css. */
:root {
  --console-font: "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --console-mono: "Cascadia Code", Consolas, monospace;
  --console-sidebar-width: 232px;
  --console-topbar-height: 56px;
  --console-control-height: 36px;
  --console-radius: 8px;
  --console-radius-small: 6px;
  --console-radius-large: 10px;
  --console-background: var(--canvas);
  --console-surface: var(--surface);
  --console-sidebar: var(--surface-muted);
  --console-ink: var(--ink);
  --console-muted: var(--muted);
  --console-border: var(--line);
  --console-accent: var(--accent);
  --console-accent-soft: var(--accent-soft);
  --console-motion: 160ms;
  --console-focus: 2px solid var(--accent);
  color-scheme: var(--native-color-scheme);
}
.console-brand { display: flex; align-items: center; gap: 10px; min-width: 0; color: var(--ink); text-decoration: none; font-family: var(--console-font); }
.console-brand > div { display: grid; gap: 2px; min-width: 0; }
.console-brand strong { font-size: 14px; line-height: 1.45; font-weight: 700; letter-spacing: 0; }
.console-brand small { color: var(--muted); font-size: 11px; line-height: 1.35; }
.console-brand-mark { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; color: var(--on-accent); background: var(--accent); border-radius: 8px; font-size: 17px; font-weight: 750; line-height: 1; font-family: var(--console-font); }
.console-brand-mark svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.console-context { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.console-context strong { color: var(--ink); font-weight: 600; }
.console-external { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: var(--console-control-height); color: var(--ink-soft); text-decoration: none; border-radius: var(--console-radius-small); transition: background var(--console-motion), color var(--console-motion); }
.console-external:hover { background: var(--accent-soft); color: var(--accent-text); }
.console-external svg { width: 16px; height: 16px; flex: 0 0 16px; }
.console-brand:focus-visible, .console-external:focus-visible { outline: var(--console-focus); outline-offset: 3px; }
@media (max-width: 760px) { :root { --console-control-height: 44px; } }
@media (prefers-reduced-motion: reduce) { :root { --console-motion: 0ms; } }
