.workspace-console {
  --wc-bg: #0d0f12;
  --wc-sidebar: #12151a;
  --wc-topbar: #181b20;
  --wc-panel: #171a1f;
  --wc-panel-soft: #1d2127;
  --wc-input: #20242b;
  --wc-hover: #232830;
  --wc-border: #2b313a;
  --wc-border-strong: #3a424d;
  --wc-text: #f2f4f7;
  --wc-muted: #949da9;
  --wc-accent: #f39a4a;
  --wc-accent-soft: rgba(243, 154, 74, .12);
  --wc-green: #4fd0a2;
  --wc-green-soft: rgba(79, 208, 162, .12);
  width: 100%;
  min-height: 100vh;
  height: 100vh;
  grid-template-columns: 258px minmax(0, 1fr);
  overflow: hidden;
  background: var(--wc-bg);
  color: var(--wc-text);
  color-scheme: dark;
  transition: grid-template-columns .2s ease;
}

.workspace-console.light-mode {
  --wc-bg: #f4f6f8;
  --wc-sidebar: #ffffff;
  --wc-topbar: #ffffff;
  --wc-panel: #ffffff;
  --wc-panel-soft: #f7f9fb;
  --wc-input: #ffffff;
  --wc-hover: #f1f4f6;
  --wc-border: #dfe4e9;
  --wc-border-strong: #c8d0d8;
  --wc-text: #20242a;
  --wc-muted: #68717d;
  --wc-accent: #c8671f;
  --wc-accent-soft: #fff0e5;
  --wc-green: #147a59;
  --wc-green-soft: #e4f7ef;
  color-scheme: light;
}

body.workspace-active {
  overflow: hidden;
  background: #0d0f12;
}

body.workspace-active.workspace-light {
  background: #f4f6f8;
}

html.workspace-theme-dark,
html.workspace-theme-dark body {
  background: #0d0f12;
  color-scheme: dark;
}

html.workspace-theme-light,
html.workspace-theme-light body {
  background: #f4f6f8;
  color-scheme: light;
}

.workspace-console .sidebar {
  position: relative;
  top: auto;
  z-index: 30;
  display: flex;
  width: auto;
  height: 100vh;
  min-height: 0;
  margin: 0;
  padding: 14px 10px 10px;
  flex-direction: column;
  overflow: hidden;
  border: 0;
  border-right: 1px solid var(--wc-border);
  border-radius: 0;
  background: var(--wc-sidebar);
  box-shadow: none;
  color: var(--wc-text);
  backdrop-filter: none;
}

.workspace-console .brand {
  min-height: 54px;
  margin: 0 2px 8px;
  padding: 0 10px 12px;
  border-bottom: 1px solid var(--wc-border);
  color: var(--wc-text);
}

.workspace-console .brand img {
  width: 34px;
  height: 34px;
  border: 1px solid var(--wc-border);
  border-radius: 7px;
  background: #fff;
  box-shadow: none;
}

.workspace-console .brand strong {
  color: var(--wc-text);
  font-size: 15px;
  font-weight: 750;
}

.workspace-console .brand span {
  color: var(--wc-muted);
  font-size: 11px;
}

.workspace-console .nav {
  min-height: 0;
  margin: 0;
  padding: 0 2px 12px;
  display: block;
  flex: 1;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-color: var(--wc-border-strong) transparent;
  scrollbar-width: thin;
}

.workspace-console .nav-section-label {
  padding: 15px 10px 6px;
  color: var(--wc-muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.workspace-console .nav button,
.workspace-console .nav-sub .nav-link {
  position: relative;
  width: 100%;
  min-height: 39px;
  margin: 1px 0;
  padding: 0 10px;
  gap: 10px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  color: var(--wc-muted);
  white-space: nowrap;
}

.workspace-console .nav button:hover,
.workspace-console .nav-sub .nav-link:hover {
  border-color: var(--wc-border);
  background: var(--wc-hover);
  color: var(--wc-text);
}

.workspace-console .nav-notice-badge {
  min-width: 17px;
  height: 17px;
  margin-left: auto;
  padding: 0 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--wc-topbar);
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
}

.workspace-console .nav button.active,
.workspace-console .nav .nav-link.active,
.workspace-console .nav-parent-active,
.workspace-console .nav-group.open .nav-group-toggle {
  border-color: rgba(243, 154, 74, .28);
  background: var(--wc-accent-soft);
  box-shadow: inset 3px 0 0 var(--wc-accent);
  color: var(--wc-accent);
  font-weight: 700;
}

.workspace-console .nav .nav-link.active::after {
  content: none;
  display: none;
}

.workspace-console .nav button.active .nav-icon,
.workspace-console .nav .nav-link.active .nav-icon,
.workspace-console .nav-parent-active .nav-icon,
.workspace-console .nav button:hover .nav-icon {
  color: currentColor;
}

.workspace-console .nav-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: #77818e;
}

.workspace-console .nav-group {
  margin: 0;
}

.workspace-console .nav-chevron {
  width: 15px;
  height: 15px;
  margin-left: auto;
  transition: transform .18s ease;
}

.workspace-console .nav-group.open .nav-chevron {
  transform: rotate(90deg);
}

.workspace-console .nav-sub {
  margin: 2px 0 4px 12px;
  padding-left: 7px;
  border-left: 1px solid var(--wc-border);
}

.workspace-console .nav-sub .nav-link {
  min-height: 36px;
  padding-left: 9px;
  font-size: 13px;
}

.workspace-sidebar-foot {
  padding: 9px 2px 0;
  border-top: 1px solid var(--wc-border);
}

.workspace-account {
  width: 100%;
  min-height: 48px;
  padding: 6px 8px;
  display: flex;
  align-items: center;
  gap: 9px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--wc-text);
  text-align: left;
}

.workspace-account:hover {
  border-color: var(--wc-border);
  background: var(--wc-hover);
}

.workspace-avatar {
  display: inline-grid;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  place-items: center;
  border: 1px solid rgba(79, 208, 162, .38);
  border-radius: 50%;
  background: var(--wc-green-soft);
  color: var(--wc-green);
  font-size: 13px;
  font-weight: 800;
}

.workspace-account-copy,
.workspace-user-button > span:last-child {
  min-width: 0;
}

.workspace-account-copy strong,
.workspace-account-copy small,
.workspace-user-button strong,
.workspace-user-button small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-account-copy strong,
.workspace-user-button strong {
  color: var(--wc-text);
  font-size: 12px;
}

.workspace-account-copy small,
.workspace-user-button small {
  margin-top: 2px;
  color: var(--wc-muted);
  font-size: 10px;
}

.workspace-sidebar-tools {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin-top: 3px;
}

.workspace-sidebar-tools button {
  min-height: 34px;
  padding: 0 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--wc-muted);
  font-size: 11px;
}

.workspace-sidebar-tools button:hover {
  border-color: var(--wc-border);
  background: var(--wc-hover);
  color: var(--wc-text);
}

.workspace-sidebar-tools svg,
.workspace-icon-button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.workspace-console .main {
  min-width: 0;
  min-height: 0;
  height: 100vh;
  display: grid;
  grid-template-rows: 72px minmax(0, 1fr) auto;
  overflow: hidden;
  background: var(--wc-bg);
}

.workspace-console .topbar {
  position: relative;
  top: 0;
  z-index: 20;
  width: auto;
  height: 72px;
  min-height: 72px;
  margin: 0;
  padding: 0 22px;
  gap: 14px;
  border: 0;
  border-bottom: 1px solid var(--wc-border);
  border-radius: 0;
  background: var(--wc-topbar);
  box-shadow: none;
  backdrop-filter: none;
}

.workspace-page-heading {
  min-width: 0;
  margin-right: auto;
}

.workspace-console .topbar .workspace-page-heading strong {
  display: block;
  overflow: hidden;
  color: var(--wc-text);
  font-size: 17px;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-page-heading small {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: var(--wc-muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-console .workspace-topbar-actions {
  gap: 8px;
  color: var(--wc-text);
  white-space: nowrap;
}

.workspace-icon-button {
  display: inline-grid;
  width: 36px;
  height: 36px;
  min-height: 36px;
  padding: 0;
  flex: 0 0 36px;
  place-items: center;
  border: 1px solid var(--wc-border);
  border-radius: 6px;
  background: var(--wc-panel-soft);
  color: var(--wc-muted);
}

.workspace-console .mobile-nav-toggle {
  display: none;
}

.workspace-icon-button:hover {
  border-color: var(--wc-border-strong);
  color: var(--wc-text);
}

.workspace-icon-button .nav-icon {
  width: 17px;
  height: 17px;
}

.workspace-console .notice-button {
  position: relative;
  overflow: visible;
}

.workspace-console .notice-unread-dot {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 8px;
  height: 8px;
  border: 2px solid var(--wc-topbar);
  border-radius: 50%;
  background: #ef4444;
  box-sizing: content-box;
  pointer-events: none;
}

.workspace-console .notice-unread-count {
  position: absolute;
  top: -8px;
  right: -9px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--wc-topbar);
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
}

.workspace-console .notice-unread-count[hidden],
.workspace-console .notice-unread-dot[hidden],
.workspace-console [hidden] {
  display: none !important;
}

.workspace-balance {
  min-height: 36px;
  padding: 4px 11px;
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
  border: 1px solid rgba(243, 154, 74, .28);
  border-radius: 6px;
  background: var(--wc-accent-soft);
  color: var(--wc-accent);
}

.workspace-balance span {
  font-size: 10px;
}

.workspace-balance strong {
  color: inherit;
  font-size: 14px;
}

.workspace-user-button {
  min-width: 116px;
  max-width: 178px;
  min-height: 40px;
  padding: 3px 8px 3px 4px;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--wc-text);
  text-align: left;
}

.workspace-user-button:hover {
  border-color: var(--wc-border);
  background: var(--wc-hover);
}

.workspace-console .content {
  min-width: 0;
  min-height: 0;
  padding: 24px;
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--wc-bg);
}

.workspace-console .content > * {
  max-width: 100%;
}

.workspace-console .site-footer {
  min-height: 44px;
  margin: 0;
  padding: 8px 22px;
  border-top: 1px solid var(--wc-border);
  background: var(--wc-topbar);
  color: var(--wc-muted);
}

.workspace-console .site-footer-title {
  color: var(--wc-muted);
}

.workspace-console .site-footer-email {
  color: var(--wc-muted);
}

.workspace-console .site-footer-email:hover {
  color: var(--wc-text);
}

.workspace-console .site-footer-link {
  border-color: transparent;
  background: transparent;
  color: var(--wc-muted);
}

.workspace-console .site-footer-link:hover {
  border-color: var(--wc-border);
  background: var(--wc-hover);
  color: var(--wc-text);
}

.workspace-console .stat,
.workspace-console .panel,
.workspace-console .chat-relay,
.workspace-console .skill-center-head > div {
  border: 1px solid var(--wc-border);
  border-radius: 7px;
  background: var(--wc-panel);
  box-shadow: none;
  color: var(--wc-text);
  backdrop-filter: none;
}

.workspace-console .panel h1,
.workspace-console .panel h2,
.workspace-console .panel h3,
.workspace-console .panel strong,
.workspace-console .section-heading h2,
.workspace-console .section-heading h3 {
  color: var(--wc-text);
}

.workspace-console .muted,
.workspace-console .panel p,
.workspace-console .section-heading p,
.workspace-console .field small {
  color: var(--wc-muted);
}

.workspace-console .ai-rewrite-modes {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.workspace-console .ai-rewrite > * {
  width: 100%;
  min-width: 0;
}

.workspace-console .ai-rewrite-modes button {
  border-color: var(--wc-border);
  background: var(--wc-panel);
  color: var(--wc-text);
  box-shadow: none;
}

.workspace-console .ai-rewrite-modes button:hover {
  border-color: var(--wc-green);
  background: var(--wc-panel-soft);
  box-shadow: none;
}

.workspace-console .ai-rewrite-modes button strong {
  color: var(--wc-text);
}

.workspace-console .ai-rewrite-modes .mode-description {
  color: var(--wc-muted);
}

.workspace-console .ai-rewrite-modes .mode-icon {
  background: var(--wc-green-soft);
  color: var(--wc-green);
}

.workspace-console .ai-rewrite-modes button.active {
  border-color: var(--wc-green);
  background: var(--wc-green-soft);
  box-shadow: none;
}

.workspace-console .ai-rewrite-modes button.active .mode-icon {
  background: var(--wc-green);
  color: var(--wc-bg);
}

.workspace-console .chat-sessions,
.workspace-console .chat-main,
.workspace-console .chat-head,
.workspace-console .chat-membership-bar,
.workspace-console .chat-composer {
  border-color: var(--wc-border);
  background: var(--wc-panel);
  color: var(--wc-text);
}

.workspace-console .chat-sessions {
  background: var(--wc-panel-soft);
}

.workspace-console .chat-messages {
  background: var(--wc-bg);
  color: var(--wc-text);
}

.workspace-console:not(.light-mode) .chat-main,
.workspace-console:not(.light-mode) .chat-messages {
  background: #0d0f12;
  color: #f2f4f7;
}

.workspace-console:not(.light-mode) .chat-message .chat-bubble,
.workspace-console:not(.light-mode) .chat-message .preline,
.workspace-console:not(.light-mode) .chat-markdown {
  color: #f2f4f7;
}

.workspace-console:not(.light-mode) .chat-message.user .chat-bubble {
  background: #1d2127;
  color: #f2f4f7;
}

.workspace-console:not(.light-mode) .chat-message-actions button {
  color: #949da9;
}

.workspace-console .chat-session {
  border-color: transparent;
  background: transparent;
  color: var(--wc-text);
}

.workspace-console .chat-session:hover,
.workspace-console .chat-session.active {
  border-color: var(--wc-border-strong);
  background: var(--wc-panel);
  color: var(--wc-text);
  box-shadow: none;
}

.workspace-console .chat-session.active {
  border-left-color: var(--wc-accent);
}

.workspace-console .chat-session span,
.workspace-console .chat-sidebar-label,
.workspace-console .chat-sidebar-note,
.workspace-console .chat-head > div > span,
.workspace-console .chat-membership-bar,
.workspace-console .chat-bubble footer,
.workspace-console .chat-thinking,
.workspace-console .chat-thinking summary {
  color: var(--wc-muted);
}

.workspace-console .chat-request-stage {
  margin-bottom: 8px;
  color: var(--wc-muted);
  font-size: 12px;
}

.workspace-console .chat-request-error {
  padding: 12px 14px;
  border: 1px solid rgba(239, 68, 68, .28);
  border-radius: 7px;
  background: rgba(239, 68, 68, .08);
}

.workspace-console .chat-request-error strong {
  color: #f87171;
}

.workspace-console .chat-request-error p {
  margin: 5px 0 0;
  color: var(--wc-muted);
  line-height: 1.55;
}

.workspace-console .chat-bubble {
  border-color: var(--wc-border);
  background: var(--wc-panel);
  color: var(--wc-text);
  box-shadow: none;
}

.workspace-console .chat-message {
  width: min(100%, 780px);
  max-width: 780px;
  margin-bottom: 22px;
  gap: 12px;
}

.workspace-console .chat-message.assistant .chat-bubble,
.workspace-console .chat-message:not(.user) .chat-bubble {
  width: calc(100% - 40px);
  max-width: none;
  padding: 3px 0 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.workspace-console .chat-message.user .chat-bubble {
  width: auto;
  max-width: min(76%, 620px);
  padding: 10px 16px;
  border: 0;
  border-radius: 18px;
  background: var(--wc-panel-soft);
  color: var(--wc-text);
}

.workspace-console .chat-message.user {
  padding-right: 40px;
}

.workspace-console .chat-message.user .preline {
  color: var(--wc-text);
  line-height: 1.65;
}

.workspace-console .chat-avatar {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border: 1px solid var(--wc-border-strong);
  border-radius: 50%;
  background: var(--wc-text);
  color: var(--wc-bg);
  font-size: 10px;
}

.workspace-console .chat-message.user .chat-avatar {
  display: none;
}

.workspace-console .chat-composer {
  box-shadow: 0 -8px 22px rgba(0, 0, 0, .14);
}

.workspace-console .chat-composer-input {
  border-color: var(--wc-border-strong);
  background: var(--wc-input);
}

.workspace-console .chat-image-tool,
.workspace-console .chat-image-size {
  border-color: var(--wc-border);
  background: var(--wc-panel-soft);
  color: var(--wc-muted);
}

.workspace-console .chat-image-tool:hover,
.workspace-console .chat-image-tool.active {
  border-color: rgba(79, 208, 162, .5);
  background: var(--wc-green-soft);
  color: var(--wc-green);
}

.workspace-console .chat-image-size select {
  color: var(--wc-text);
}

.workspace-console .chat-image-size select option {
  background: var(--wc-panel);
  color: var(--wc-text);
}

.workspace-console .chat-generated-image-preview,
.workspace-console .chat-image-pending {
  border-color: var(--wc-border);
  background: var(--wc-panel-soft);
  color: var(--wc-text);
}

.workspace-console .chat-generated-image figcaption,
.workspace-console .chat-generated-image figcaption a,
.workspace-console .chat-image-model,
.workspace-console .chat-image-pending div span {
  color: var(--wc-muted);
}

.workspace-console .chat-image-pending-icon {
  background: var(--wc-green-soft);
  color: var(--wc-green);
}

.workspace-console .chat-markdown a {
  color: #6eb6f2;
}

.workspace-console .chat-markdown code {
  background: var(--wc-input);
  color: #ffad72;
}

.workspace-console .chat-markdown pre {
  border-color: var(--wc-border-strong);
  background: #0a0c0f;
  color: #f2f4f7;
}

.workspace-console .chat-markdown pre code {
  background: transparent;
  color: inherit;
}

.workspace-console .chat-markdown blockquote {
  border-left-color: var(--wc-border-strong);
  color: var(--wc-muted);
}

.workspace-console .chat-markdown-table th,
.workspace-console .chat-markdown-table td {
  border-color: var(--wc-border);
}

.workspace-console .chat-markdown-table th {
  background: var(--wc-panel-soft);
}

.workspace-console .chat-message-actions button {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--wc-muted);
}

.workspace-console .chat-message-actions button:hover,
.workspace-console .chat-message-actions button.is-done {
  background: var(--wc-hover);
  color: var(--wc-text);
}

.workspace-console .chat-message-actions button.is-done {
  color: var(--wc-green);
}

.workspace-console .chat-message-actions {
  gap: 2px;
  margin: 10px 0 0 -7px;
}

.workspace-console .chat-action-icon {
  width: 18px;
  height: 18px;
  pointer-events: none;
}

.workspace-console .chat-bubble footer {
  display: none;
}

.workspace-console.light-mode .chat-markdown a {
  color: #1d4ed8;
}

.workspace-console.light-mode .chat-markdown code {
  color: #be123c;
}

.workspace-console.light-mode .chat-markdown pre {
  border-color: #293241;
  background: #171a21;
  color: #f8fafc;
}

@media (max-width: 700px) {
  .workspace-console .chat-message.user {
    padding-right: 0;
  }

  .workspace-console .chat-message.user .chat-bubble {
    max-width: 86%;
  }
}

.workspace-commandbar {
  min-height: 68px;
  margin-bottom: 14px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid var(--wc-border);
  border-radius: 7px;
  background: var(--wc-panel);
}

.workspace-commandbar > div:first-child strong,
.workspace-commandbar > div:first-child span {
  display: block;
}

.workspace-commandbar > div:first-child strong {
  color: var(--wc-text);
  font-size: 13px;
}

.workspace-commandbar > div:first-child span {
  margin-top: 4px;
  color: var(--wc-muted);
  font-size: 11px;
}

.workspace-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.workspace-command-actions button {
  min-height: 34px;
  padding: 0 11px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--wc-border);
  border-radius: 6px;
  background: var(--wc-panel-soft);
  color: var(--wc-text);
}

.workspace-command-actions button:hover {
  border-color: rgba(243, 154, 74, .45);
  background: var(--wc-accent-soft);
  color: var(--wc-accent);
}

.workspace-command-actions .nav-icon {
  width: 16px;
  height: 16px;
  color: currentColor;
}

.workspace-console .summary-strip {
  gap: 12px;
  margin-bottom: 14px;
}

.workspace-console .workspace-stat {
  min-height: 96px;
  padding: 15px;
  display: flex;
  align-items: center;
  gap: 13px;
  overflow: hidden;
}

.workspace-console .workspace-stat::before {
  display: none;
}

.workspace-stat-icon {
  display: inline-grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid var(--wc-border);
  border-radius: 7px;
  background: var(--wc-panel-soft);
  color: var(--wc-green);
}

.workspace-stat:nth-child(2) .workspace-stat-icon {
  color: #b596f4;
}

.workspace-stat:nth-child(3) .workspace-stat-icon {
  color: var(--wc-accent);
}

.workspace-stat:nth-child(4) .workspace-stat-icon {
  color: #64a8e7;
}

.workspace-stat-icon .nav-icon {
  color: currentColor;
}

.workspace-console .workspace-stat > div > span,
.workspace-console .workspace-stat > div > small {
  display: block;
  color: var(--wc-muted);
  font-size: 11px;
}

.workspace-console .workspace-stat strong {
  margin: 8px 5px 2px 0;
  color: var(--wc-text);
  font-size: 24px;
}

.workspace-console .dashboard-grid {
  gap: 12px;
}

.workspace-console .dashboard-grid.lower {
  margin-top: 12px;
}

.workspace-panel-heading {
  min-height: 34px;
  margin-bottom: 10px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.workspace-panel-heading h2,
.workspace-panel-heading p {
  margin: 0;
}

.workspace-panel-heading h2 {
  font-size: 14px;
}

.workspace-panel-heading p {
  margin-top: 4px;
  color: var(--wc-muted);
  font-size: 10px;
}

.workspace-console .chart-panel canvas {
  min-height: 210px;
}

.workspace-console .field {
  color: var(--wc-text);
}

.workspace-console .input,
.workspace-console .select,
.workspace-console .textarea,
.workspace-console .chat-composer textarea {
  border-color: var(--wc-border-strong);
  background: var(--wc-input);
  color: var(--wc-text);
}

.workspace-console .input::placeholder,
.workspace-console .textarea::placeholder,
.workspace-console .chat-composer textarea::placeholder {
  color: #727b87;
}

.workspace-console .input:focus,
.workspace-console .select:focus,
.workspace-console .textarea:focus,
.workspace-console .chat-composer textarea:focus {
  border-color: var(--wc-green);
  box-shadow: 0 0 0 3px rgba(79, 208, 162, .11);
}

.workspace-console .btn {
  border-color: var(--wc-border);
  background: var(--wc-panel-soft);
  color: var(--wc-text);
  box-shadow: none;
}

.workspace-console .btn:hover {
  border-color: var(--wc-border-strong);
  background: var(--wc-hover);
}

.workspace-console .btn.primary {
  border-color: #e98530;
  background: var(--wc-accent);
  color: #241408;
  box-shadow: none;
}

.workspace-console .btn.primary:hover {
  border-color: #ffab61;
  background: #ffab61;
  color: #211207;
}

.workspace-console .btn.ghost {
  border-color: var(--wc-border);
  background: transparent;
  color: var(--wc-text);
}

.workspace-console .btn.danger {
  border-color: #b44a4a;
  background: #a93d3d;
  color: #fff;
}

.workspace-console .pill {
  border: 1px solid var(--wc-border);
  background: var(--wc-panel-soft);
  color: var(--wc-muted);
}

.workspace-console .pill.green {
  border-color: rgba(79, 208, 162, .25);
  background: var(--wc-green-soft);
  color: var(--wc-green);
}

.workspace-console .pill.amber {
  border-color: rgba(243, 154, 74, .3);
  background: var(--wc-accent-soft);
  color: var(--wc-accent);
}

.workspace-console .table-wrap {
  border-color: var(--wc-border);
  border-radius: 7px;
  background: var(--wc-panel);
}

.workspace-console table {
  color: var(--wc-text);
}

.workspace-console th,
.workspace-console td {
  border-bottom-color: var(--wc-border);
}

.workspace-console th {
  background: var(--wc-panel-soft);
  color: var(--wc-muted);
}

.workspace-console td {
  background: var(--wc-panel);
}

.workspace-console tbody tr:hover td {
  background: var(--wc-hover);
}

.workspace-console code,
.workspace-console .preline {
  color: var(--wc-text);
}

.workspace-console .empty {
  color: var(--wc-muted);
}

.workspace-console .profile-wechat-binding,
.workspace-console .profile-mp-preferences {
  border-color: var(--wc-border);
  background: var(--wc-panel-soft);
}

.workspace-console .profile-wechat-binding strong,
.workspace-console .profile-mp-preferences strong {
  color: var(--wc-text);
}

.workspace-console .profile-wechat-binding small,
.workspace-console .profile-mp-preferences label {
  color: var(--wc-muted);
}

.workspace-console .notice-page-toolbar {
  min-height: 42px;
  margin-bottom: 12px;
  padding: 0 2px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.workspace-console .notice-page-toolbar strong,
.workspace-console .notice-page-toolbar span {
  display: block;
}

.workspace-console .notice-page-toolbar strong {
  color: var(--wc-text);
  font-size: 14px;
}

.workspace-console .notice-page-toolbar span {
  margin-top: 3px;
  color: var(--wc-muted);
  font-size: 11px;
}

.workspace-console .feed-list .feed-item {
  position: relative;
  border-left: 3px solid transparent;
  transition: border-color .18s ease, background-color .18s ease;
}

.workspace-console .feed-list .feed-item.notice-unread {
  border-left-color: #ef4444;
  background: var(--wc-panel);
}

.workspace-console .feed-list .feed-item.notice-unread:hover {
  border-left-color: #f87171;
}

.workspace-console .feed-list .feed-item[tabindex] {
  cursor: pointer;
}

.workspace-console .feed-list .feed-item:focus-visible {
  outline: 2px solid var(--wc-green);
  outline-offset: 2px;
}

.workspace-console .notice-status {
  width: fit-content;
  min-height: 22px;
  padding: 0 7px;
  font-size: 10px;
}

.workspace-console .notice-status-unread {
  border-color: rgba(239, 68, 68, .35);
  background: rgba(239, 68, 68, .12);
  color: #f87171;
}

.workspace-console .notice-status-read {
  color: var(--wc-muted);
}

.workspace-console .notice-image {
  border-color: var(--wc-border);
  background: var(--wc-panel-soft);
}

.workspace-console .btn:disabled,
.workspace-console .input:disabled,
.workspace-console .select:disabled,
.workspace-console .textarea:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.workspace-console button:focus-visible,
.workspace-console a:focus-visible,
.workspace-console input:focus-visible,
.workspace-console select:focus-visible,
.workspace-console textarea:focus-visible {
  outline: 2px solid var(--wc-green);
  outline-offset: 2px;
}

.workspace-console.light-mode .notice-unread-dot,
.workspace-console.light-mode .notice-unread-count {
  border-color: #fff;
}

.workspace-console.light-mode .feed-list .feed-item.notice-unread {
  border-left-color: #dc2626;
  background: #fff;
}

.workspace-console.light-mode .notice-status-unread {
  border-color: rgba(220, 38, 38, .28);
  background: #fef2f2;
  color: #b91c1c;
}

@media (max-width: 680px) {
  .workspace-console .notice-page-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .workspace-console .notice-page-toolbar .btn {
    width: 100%;
  }
}

.workspace-console.workspace-collapsed {
  grid-template-columns: 76px minmax(0, 1fr);
}

.workspace-console.workspace-collapsed .sidebar {
  padding-left: 8px;
  padding-right: 8px;
}

.workspace-console.workspace-collapsed .brand {
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
}

.workspace-console.workspace-collapsed .brand > div,
.workspace-console.workspace-collapsed .nav-section-label,
.workspace-console.workspace-collapsed .nav button > span,
.workspace-console.workspace-collapsed .nav-chevron,
.workspace-console.workspace-collapsed .workspace-account-copy,
.workspace-console.workspace-collapsed .workspace-sidebar-tools span {
  display: none;
}

.workspace-console.workspace-collapsed .nav button,
.workspace-console.workspace-collapsed .workspace-account {
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
}

.workspace-console.workspace-collapsed .nav-sub {
  display: none;
}

.workspace-console.workspace-collapsed .workspace-sidebar-tools {
  grid-template-columns: 1fr;
}

.workspace-console.workspace-collapsed #workspace-collapse svg {
  transform: rotate(180deg);
}

body.workspace-active .modal-mask {
  background: rgba(0, 0, 0, .7);
}

body.workspace-active .modal {
  border: 1px solid #303640;
  background: #181b20;
  color: #f2f4f7;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .45);
}

body.workspace-active .modal-head,
body.workspace-active .modal-foot {
  border-color: #303640;
}

body.workspace-active .modal .input,
body.workspace-active .modal .select,
body.workspace-active .modal .textarea {
  border-color: #3a424d;
  background: #20242b;
  color: #f2f4f7;
}

body.workspace-active .modal .btn.ghost {
  border-color: #3a424d;
  background: transparent;
  color: #f2f4f7;
}

body.workspace-active.workspace-light .modal {
  border-color: #dfe4e9;
  background: #fff;
  color: #20242a;
  box-shadow: 0 24px 70px rgba(28, 38, 49, .2);
}

body.workspace-active.workspace-light .modal-head,
body.workspace-active.workspace-light .modal-foot {
  border-color: #dfe4e9;
}

body.workspace-active.workspace-light .modal .input,
body.workspace-active.workspace-light .modal .select,
body.workspace-active.workspace-light .modal .textarea {
  border-color: #c8d0d8;
  background: #fff;
  color: #20242a;
}

body.workspace-active.workspace-light .modal .btn.ghost {
  border-color: #dfe4e9;
  background: #fff;
  color: #20242a;
}

.workspace-console .figure-image-backend {
  display: flex;
  min-height: 42px;
  margin-bottom: 14px;
  padding: 10px 12px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--wc-border);
  border-radius: 6px;
  background: var(--wc-panel-soft);
  color: var(--wc-muted);
  font-size: 12px;
}

.workspace-console .figure-image-backend strong {
  color: var(--wc-text);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
}

.workspace-console .figure-image-backend.ready {
  border-color: rgba(79, 208, 162, .35);
}

.workspace-console .figure-image-backend.blocked {
  border-color: rgba(243, 154, 74, .4);
}

.workspace-console .figure-generation-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0;
}

.workspace-console .figure-task-thumb {
  display: block;
  width: 64px;
  height: 44px;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--wc-border);
  border-radius: 5px;
  background: var(--wc-panel-soft);
  cursor: pointer;
}

.workspace-console .figure-task-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.workspace-console .figure-task-kind {
  display: inline-flex;
  min-width: 48px;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--wc-border);
  border-radius: 5px;
  color: var(--wc-muted);
  font-size: 12px;
}

.figure-image-result {
  display: grid;
  gap: 14px;
}

.figure-image-result > img {
  display: block;
  width: 100%;
  max-height: 65vh;
  object-fit: contain;
  border: 1px solid #dfe4e9;
  border-radius: 6px;
  background: #fff;
}

.figure-image-result-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.figure-image-result-meta span {
  display: inline-flex;
  min-height: 30px;
  padding: 0 10px;
  align-items: center;
  gap: 7px;
  border: 1px solid #dfe4e9;
  border-radius: 5px;
  background: #f7f9fb;
  color: #68717d;
  font-size: 12px;
}

.figure-image-result-meta strong {
  color: #20242a;
}

body.workspace-active:not(.workspace-light) .figure-image-result-meta span {
  border-color: #3a424d;
  background: #20242b;
  color: #949da9;
}

body.workspace-active:not(.workspace-light) .figure-image-result-meta strong {
  color: #f2f4f7;
}

@media (max-width: 1180px) {
  .workspace-console .content {
    padding: 18px;
  }

  .workspace-console .summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workspace-user-button {
    min-width: 40px;
    width: 40px;
    padding-right: 3px;
  }

  .workspace-user-button > span:last-child {
    display: none;
  }
}

@media (max-width: 900px) {
  body.workspace-active {
    overflow: auto;
  }

  .workspace-console,
  .workspace-console.workspace-collapsed {
    display: block;
    height: auto;
    min-height: 100vh;
    overflow: visible;
  }

  .workspace-console .sidebar,
  .workspace-console.workspace-collapsed .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(280px, calc(100vw - 48px));
    height: 100vh;
    padding: 14px 10px 10px;
    transform: translateX(-102%);
    transition: transform .2s ease;
  }

  .workspace-console.nav-open .sidebar {
    transform: translateX(0);
  }

  .workspace-console.workspace-collapsed .brand {
    justify-content: flex-start;
    padding: 0 10px 12px;
  }

  .workspace-console.workspace-collapsed .brand > div,
  .workspace-console.workspace-collapsed .nav-section-label,
  .workspace-console.workspace-collapsed .nav button > span,
  .workspace-console.workspace-collapsed .nav-chevron,
  .workspace-console.workspace-collapsed .workspace-account-copy,
  .workspace-console.workspace-collapsed .workspace-sidebar-tools span {
    display: initial;
  }

  .workspace-console.workspace-collapsed .nav button,
  .workspace-console.workspace-collapsed .workspace-account {
    justify-content: flex-start;
    padding-left: 10px;
    padding-right: 10px;
  }

  .workspace-console.workspace-collapsed .nav-sub {
    display: block;
  }

  .workspace-console.workspace-collapsed .workspace-sidebar-tools {
    grid-template-columns: 1fr 1fr;
  }

  .workspace-console .nav-backdrop {
    z-index: 25;
    background: rgba(0, 0, 0, .66);
  }

  .workspace-console .main {
    width: 100%;
    height: auto;
    min-height: 100vh;
    grid-template-rows: 68px minmax(calc(100vh - 112px), auto) auto;
    overflow: visible;
  }

  .workspace-console .topbar {
    position: sticky;
    height: 68px;
    min-height: 68px;
    padding: 0 14px;
  }

  .workspace-console .mobile-nav-toggle {
    display: inline-grid;
  }

  .workspace-console .content {
    min-height: calc(100vh - 112px);
    overflow: visible;
  }

  .workspace-commandbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .workspace-command-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 680px) {
  .workspace-console .ai-rewrite-modes {
    grid-template-columns: 1fr;
  }

  .workspace-console .ai-rewrite-controls {
    grid-template-columns: 1fr;
  }

  .workspace-console .topbar {
    gap: 8px;
    padding: 0 10px;
  }

  .workspace-page-heading small,
  .workspace-console #quick-recharge,
  .workspace-console #quick-profile {
    display: none;
  }

  .workspace-console .workspace-page-heading strong {
    max-width: 34vw;
    font-size: 15px;
  }

  .workspace-balance {
    padding-left: 8px;
    padding-right: 8px;
  }

  .workspace-balance span {
    display: none;
  }

  .workspace-console .content {
    padding: 12px;
  }

  .workspace-command-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workspace-command-actions button {
    justify-content: flex-start;
  }

  .workspace-console .summary-strip,
  .workspace-console .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .workspace-console .workspace-stat {
    min-height: 82px;
  }

  .workspace-console .figure-generation-options {
    grid-template-columns: 1fr;
  }

  .workspace-console .site-footer {
    padding: 10px 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .workspace-console,
  .workspace-console .sidebar,
  .workspace-console .nav-chevron {
    transition: none;
  }
}

.workspace-console .paper-retention-notice {
  color: var(--wc-accent);
  font-weight: 650;
}

.workspace-console .paper-expiry-time {
  color: var(--wc-accent);
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
}

/* Keep the authenticated light workspace visually aligned with the admin console. */
.workspace-console.light-mode {
  --wc-bg: #f8fafc;
  --wc-sidebar: rgba(255, 255, 255, .9);
  --wc-topbar: rgba(255, 255, 255, .86);
  --wc-panel: rgba(255, 255, 255, .9);
  --wc-panel-soft: #f8fafc;
  --wc-input: #ffffff;
  --wc-hover: #f7f5fa;
  --wc-border: #e7e9ee;
  --wc-border-strong: #d8dce4;
  --wc-text: #080b12;
  --wc-muted: #68707d;
  --wc-accent: #7c3aed;
  --wc-accent-soft: #f2eafe;
  --wc-green: #17191f;
  --wc-green-soft: #efffc3;
  grid-template-columns: 264px minmax(0, 1fr);
  background:
    linear-gradient(rgba(130, 111, 174, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(130, 111, 174, .025) 1px, transparent 1px),
    #f8fafc;
  background-size: 32px 32px;
}

.workspace-console.light-mode.workspace-collapsed {
  grid-template-columns: 76px minmax(0, 1fr);
}

body.workspace-active.workspace-light,
html.workspace-theme-light,
html.workspace-theme-light body {
  background:
    linear-gradient(rgba(130, 111, 174, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(130, 111, 174, .025) 1px, transparent 1px),
    #f8fafc;
  background-size: 32px 32px;
}

.workspace-console.light-mode .sidebar {
  width: calc(100% - 12px);
  height: calc(100vh - 24px);
  margin: 12px 0 12px 12px;
  padding: 16px 10px;
  border: 1px solid rgba(232, 233, 239, .9);
  border-radius: 8px;
  background: var(--wc-sidebar);
  box-shadow: 0 12px 38px rgba(85, 77, 112, .08);
  backdrop-filter: blur(16px);
}

.workspace-console.light-mode .brand {
  min-height: 66px;
  margin: 0 5px;
  padding: 2px 8px 17px;
  border-bottom-color: #eceef2;
}

.workspace-console.light-mode .brand img {
  border-color: #e6e8ec;
  box-shadow: 0 6px 18px rgba(83, 63, 118, .14);
}

.workspace-console.light-mode .brand strong {
  color: #090b10;
  font-weight: 800;
}

.workspace-console.light-mode .brand span,
.workspace-console.light-mode .nav-section-label {
  color: #8a8395;
}

.workspace-console.light-mode .nav button,
.workspace-console.light-mode .nav-sub .nav-link {
  color: #5f6470;
}

.workspace-console.light-mode .nav-icon {
  color: #8d849c;
}

.workspace-console.light-mode .nav button:hover,
.workspace-console.light-mode .nav-sub .nav-link:hover {
  border-color: #ece9f2;
  background: #f7f5fa;
  color: #13151a;
}

.workspace-console.light-mode .nav button:hover .nav-icon {
  color: #8b35e7;
}

.workspace-console.light-mode .nav button.active,
.workspace-console.light-mode .nav .nav-link.active,
.workspace-console.light-mode .nav-parent-active,
.workspace-console.light-mode .nav-group.open .nav-group-toggle {
  border-color: #c8ef60;
  background: #d9fc75;
  color: #0b0d10;
  box-shadow: 0 9px 24px rgba(190, 230, 79, .22);
}

.workspace-console.light-mode .nav button.active .nav-icon,
.workspace-console.light-mode .nav .nav-link.active .nav-icon,
.workspace-console.light-mode .nav-parent-active .nav-icon {
  color: #16191d;
}

.workspace-console.light-mode .workspace-sidebar-foot {
  border-top-color: #eceef2;
  background: transparent;
}

.workspace-console.light-mode .workspace-avatar {
  border-color: #dcebb8;
  background: #f1fbd8;
  color: #293214;
}

.workspace-console.light-mode .main {
  grid-template-rows: 80px minmax(0, 1fr) auto;
  background: transparent;
}

.workspace-console.light-mode .topbar {
  position: relative;
  top: 12px;
  height: 58px;
  min-height: 58px;
  margin: 0 16px;
  padding: 0 18px;
  border: 1px solid rgba(232, 233, 239, .9);
  border-radius: 8px;
  background: var(--wc-topbar);
  box-shadow: 0 10px 34px rgba(85, 77, 112, .075);
  backdrop-filter: blur(18px);
}

.workspace-console.light-mode .topbar .workspace-page-heading strong {
  color: #090b10;
  font-weight: 800;
}

.workspace-console.light-mode .content {
  padding: 16px 16px 26px;
  background: transparent;
}

.workspace-console.light-mode .site-footer {
  min-height: 44px;
  margin: 0 16px 12px;
  border: 1px solid rgba(232, 233, 239, .9);
  border-radius: 8px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 8px 26px rgba(85, 77, 112, .055);
}

.workspace-console.light-mode .workspace-icon-button,
.workspace-console.light-mode .workspace-user-button,
.workspace-console.light-mode .btn.ghost {
  border-color: #e3e5ea;
  background: rgba(255, 255, 255, .9);
  color: #20232a;
}

.workspace-console.light-mode .workspace-balance {
  border-color: #e4d7f7;
  background: #f7f2fd;
  color: #6d28d9;
}

.workspace-console.light-mode .btn.primary {
  border-color: #c4ec5b;
  background: #d9fc75;
  color: #090b10;
  box-shadow: 0 7px 20px rgba(190, 230, 79, .2);
}

.workspace-console.light-mode .btn.primary:hover {
  border-color: #bde64e;
  background: #c8f060;
  color: #090b10;
  box-shadow: 0 12px 32px rgba(190, 230, 79, .32);
}

.workspace-console.light-mode .stat,
.workspace-console.light-mode .panel,
.workspace-console.light-mode .chat-relay,
.workspace-console.light-mode .skill-center-head > div,
.workspace-console.light-mode .workspace-commandbar {
  border-color: rgba(229, 231, 236, .96);
  background: var(--wc-panel);
  box-shadow: 0 10px 34px rgba(85, 77, 112, .065);
  backdrop-filter: blur(10px);
}

.workspace-console.light-mode .workspace-commandbar {
  min-height: 72px;
  margin-bottom: 16px;
  padding: 13px 16px;
}

.workspace-console.light-mode .workspace-command-actions button {
  border-color: #e3e5ea;
  background: #ffffff;
  color: #353941;
}

.workspace-console.light-mode .workspace-command-actions button:hover {
  border-color: #d9c5f4;
  background: #f2eafe;
  color: #6d28d9;
}

.workspace-console.light-mode .user-dashboard {
  width: 100%;
  min-width: 0;
}

.workspace-console.light-mode .summary-strip {
  gap: 12px;
  margin-bottom: 16px;
}

.workspace-console.light-mode .workspace-stat {
  position: relative;
  min-height: 104px;
  padding: 17px;
  border-left: 0;
}

.workspace-console.light-mode .workspace-stat::before {
  display: block;
  background: #c8f060;
}

.workspace-console.light-mode .workspace-stat:nth-child(2)::before {
  background: #a78bfa;
}

.workspace-console.light-mode .workspace-stat:nth-child(3)::before {
  background: #fb923c;
}

.workspace-console.light-mode .workspace-stat:nth-child(4)::before {
  background: #60a5fa;
}

.workspace-console.light-mode .workspace-stat-icon {
  border-color: #e7e9ee;
  background: #f8fafc;
}

.workspace-console.light-mode .workspace-stat strong {
  color: #11141a;
  font-size: 26px;
}

.workspace-console.light-mode .dashboard-grid {
  gap: 14px;
}

.workspace-console.light-mode .dashboard-grid.lower {
  margin-top: 14px;
}

.workspace-console.light-mode .chart-panel {
  min-height: 304px;
  padding: 18px;
}

.workspace-console.light-mode .workspace-panel-heading h2 {
  color: #171a20;
}

.workspace-console.light-mode .info-table th,
.workspace-console.light-mode .info-table td {
  border-bottom-color: #eceef2;
}

.workspace-console.light-mode .input:focus,
.workspace-console.light-mode .select:focus,
.workspace-console.light-mode .textarea:focus,
.workspace-console.light-mode .chat-composer textarea:focus {
  border-color: #9c72e8;
  box-shadow: 0 0 0 3px rgba(156, 114, 232, .12);
}

.workspace-console.light-mode button:focus-visible,
.workspace-console.light-mode a:focus-visible,
.workspace-console.light-mode input:focus-visible,
.workspace-console.light-mode select:focus-visible,
.workspace-console.light-mode textarea:focus-visible {
  outline-color: #7c3aed;
}

@media (max-width: 1100px) {
  .workspace-console.light-mode:not(.workspace-collapsed) {
    grid-template-columns: 242px minmax(0, 1fr);
  }

  .workspace-console.light-mode .content {
    padding: 16px;
  }
}

@media (max-width: 900px) {
  .workspace-console.light-mode,
  .workspace-console.light-mode.workspace-collapsed {
    display: block;
    height: auto;
    min-height: 100vh;
    overflow: visible;
  }

  .workspace-console.light-mode .sidebar,
  .workspace-console.light-mode.workspace-collapsed .sidebar {
    width: min(294px, 84vw);
    height: 100vh;
    margin: 0;
    border-width: 0 1px 0 0;
    border-radius: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform .2s ease, visibility 0s linear .2s;
  }

  .workspace-console.light-mode.nav-open .sidebar {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }

  .workspace-console.light-mode.nav-open .nav-backdrop {
    display: block;
    background: rgba(17, 20, 27, .42);
    backdrop-filter: blur(2px);
  }

  .workspace-console.light-mode .main {
    grid-template-rows: 76px minmax(calc(100vh - 120px), auto) auto;
  }

  .workspace-console.light-mode .topbar {
    position: sticky;
    top: 8px;
    height: 60px;
    min-height: 60px;
    margin: 0 10px;
    padding: 0 13px;
  }

  .workspace-console.light-mode .content {
    min-height: calc(100vh - 120px);
    padding: 18px 14px 24px;
  }

  .workspace-console.light-mode .site-footer {
    margin: 0 10px 10px;
  }
}

@media (max-width: 900px) {
  .workspace-console:not(.nav-open) .sidebar {
    visibility: hidden;
    pointer-events: none;
  }

  .workspace-console.nav-open .sidebar {
    visibility: visible;
    pointer-events: auto;
  }
}

@media (max-width: 680px) {
  .workspace-console.light-mode .topbar {
    gap: 8px;
    padding: 0 10px;
  }

  .workspace-console.light-mode .content {
    padding: 12px 10px 20px;
  }

  .workspace-console.light-mode .workspace-commandbar,
  .workspace-console.light-mode .panel,
  .workspace-console.light-mode .workspace-stat {
    padding: 14px;
  }

  .workspace-console.light-mode .summary-strip,
  .workspace-console.light-mode .dashboard-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-console.light-mode .workspace-stat {
    min-height: 86px;
  }

  .workspace-console.light-mode .chart-panel {
    min-height: 260px;
  }
}

/* ── Loading button state ── */
.workspace-console .btn.loading {
  pointer-events: none;
  opacity: .75;
  position: relative;
  padding-right: 32px;
}
.workspace-console .btn.loading::after {
  content: '';
  position: absolute;
  right: 10px;
  top: 50%;
  width: 13px;
  height: 13px;
  margin-top: -7px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: ui-spin .6s linear infinite;
  opacity: .7;
}

/* ── Dark mode fixes for view-loading and spinner ── */
.workspace-console .view-loading {
  color: var(--wc-muted);
}

.workspace-console .view-loading-spinner {
  border-color: var(--wc-border);
  border-top-color: var(--wc-accent);
}

.workspace-console.light-mode .view-loading {
  color: #64748b;
}

.workspace-console.light-mode .view-loading-spinner {
  border-color: #dbe4f0;
  border-top-color: #1e40af;
}

/* ── Dark mode input and form elements ── */
.workspace-console input,
.workspace-console textarea,
.workspace-console select {
  background: var(--wc-input);
  border-color: var(--wc-border);
  color: var(--wc-text);
}

.workspace-console input::placeholder,
.workspace-console textarea::placeholder {
  color: var(--wc-muted);
}

.workspace-console.light-mode input,
.workspace-console.light-mode textarea,
.workspace-console.light-mode select {
  background: #ffffff;
  border-color: #dfe4e9;
  color: #20242a;
}

.workspace-console.light-mode input::placeholder,
.workspace-console.light-mode textarea::placeholder {
  color: #68717d;
}

/* ── Dark mode empty state ── */
.workspace-console .empty {
  color: var(--wc-muted);
}

.workspace-console.light-mode .empty {
  color: #64748b;
}

/* ── Dark mode error display ── */
.workspace-console .error-display {
  background: rgba(220, 38, 38, 0.1);
  border-color: rgba(220, 38, 38, 0.3);
  color: var(--wc-text);
}

.workspace-console.light-mode .error-display {
  background: rgba(220, 38, 38, 0.05);
  border-color: rgba(220, 38, 38, 0.2);
  color: #14213d;
}

/* ── Dark mode table elements ── */
.workspace-console table {
  border-color: var(--wc-border);
}

.workspace-console th,
.workspace-console td {
  border-color: var(--wc-border);
  color: var(--wc-text);
}

.workspace-console.light-mode table {
  border-color: #dfe4e9;
}

.workspace-console.light-mode th,
.workspace-console.light-mode td {
  border-color: #dfe4e9;
  color: #20242a;
}

/* ===== 公告卡片 + 弹窗（紧凑版） ===== */
.workspace-console .notice-compact-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.workspace-console .notice-compact-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid #e3e7ec;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.workspace-console .notice-compact-card:hover,
.workspace-console .notice-compact-card:focus-visible {
  transform: translateY(-1px);
  border-color: #c7d2e0;
  box-shadow: 0 6px 18px rgba(20, 30, 50, .08);
  outline: none;
}

.workspace-console .notice-compact-card.unread {
  border-color: #b9cdf0;
  background: linear-gradient(180deg, #f6f9ff 0%, #fff 100%);
}

.workspace-console .notice-card-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 11px;
  background: #eef3fb;
  color: #3b6fd4;
}

.workspace-console .notice-card-icon svg {
  width: 21px;
  height: 21px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.workspace-console .notice-card-body {
  flex: 1 1 auto;
  min-width: 0;
}

.workspace-console .notice-card-title {
  margin: 0 0 5px;
  font-size: 15px;
  font-weight: 600;
  color: #1d2430;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.workspace-console .notice-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  font-size: 12.5px;
  color: #6b7482;
}

.workspace-console .notice-unread-dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e5484d;
}

.workspace-console .notice-dialog-overlay {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(16, 22, 32, .45);
  opacity: 0;
  transition: opacity .18s ease;
}

.workspace-console .notice-dialog-overlay.open {
  opacity: 1;
}

.workspace-console .notice-dialog {
  width: min(560px, 100%);
  max-height: min(80vh, 640px);
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(12, 18, 30, .28);
  transform: translateY(10px) scale(.98);
  transition: transform .18s ease;
}

.workspace-console .notice-dialog-overlay.open .notice-dialog {
  transform: translateY(0) scale(1);
}

.workspace-console .notice-dialog-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 20px 22px 14px;
  border-bottom: 1px solid #eceff3;
}

.workspace-console .notice-dialog-header h2 {
  flex: 1 1 auto;
  margin: 0;
  font-size: 17px;
  font-weight: 650;
  color: #1a212c;
}

.workspace-console .notice-dialog-close {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 8px;
  background: #f2f4f7;
  color: #5b6472;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.workspace-console .notice-dialog-close:hover {
  background: #e7eaef;
  color: #1a212c;
}

.workspace-console .notice-dialog-body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 18px 22px;
}

.workspace-console .notice-dialog-image {
  display: block;
  width: 100%;
  margin-bottom: 14px;
  border-radius: 10px;
}

.workspace-console .notice-dialog-content {
  font-size: 14px;
  line-height: 1.75;
  color: #333b47;
}

.workspace-console .notice-dialog-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  padding: 0 22px 14px;
  font-size: 12.5px;
  color: #6b7482;
}

.workspace-console .notice-dialog-actions {
  display: flex;
  justify-content: flex-end;
  padding: 0 22px 20px;
}

@media (max-width: 640px) {
  .workspace-console .notice-compact-card {
    padding: 14px;
  }
  .workspace-console .notice-dialog-overlay {
    padding: 14px;
  }
}

/* 公告弹窗遮罩层 */
.notice-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  padding: 20px;
}

/* 公告弹窗主容器 */
.notice-popup {
  background: #fff;
  border-radius: 12px;
  width: 100%;
  max-width: 600px;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

/* 弹窗头部 */
.notice-popup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #e7eaef;
}

.notice-popup-header h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #1a212c;
}

/* 关闭按钮 */
.notice-close {
  width: 32px;
  height: 32px;
  border: none;
  background: #f5f7fa;
  color: #6b7482;
  font-size: 24px;
  line-height: 1;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
}

.notice-close:hover {
  background: #e7eaef;
  color: #1a212c;
}

/* 弹窗内容区 */
.notice-popup-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
}

/* 公告卡片 */
.notice-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  margin-bottom: 12px;
  background: #fff;
  border: 1px solid #e7eaef;
  border-radius: 8px;
  cursor: pointer;
  position: relative;
  transition: all 0.2s;
}

.notice-card:hover {
  border-color: #d0d5dd;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.notice-card:focus {
  outline: 2px solid #5B8CFF;
  outline-offset: 2px;
}

/* 未读公告卡片 */
.notice-card.unread {
  background: linear-gradient(135deg, #f8f9fc 0%, #ffffff 100%);
  border-left: 3px solid #5B8CFF;
}

/* 公告图标 */
.notice-icon {
  width: 24px;
  height: 24px;
  color: #6b7482;
  flex-shrink: 0;
  margin-top: 2px;
}

.notice-card.unread .notice-icon {
  color: #5B8CFF;
}

/* 公告卡片内容 */
.notice-card-content {
  flex: 1;
  min-width: 0;
}

.notice-card-content h3 {
  margin: 0 0 8px 0;
  font-size: 15px;
  font-weight: 500;
  color: #1a212c;
}

.notice-meta {
  font-size: 13px;
  color: #6b7482;
  line-height: 1.5;
}

/* 未读标记 */
.notice-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 8px;
  height: 8px;
  background: #F87171;
  border-radius: 50%;
}

/* 详情弹窗 */
.notice-detail {
  background: #fff;
  border-radius: 12px;
  width: 100%;
  max-width: 700px;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  padding: 32px;
  position: relative;
  overflow-y: auto;
}

.notice-detail .notice-close {
  position: absolute;
  top: 20px;
  right: 20px;
}

.notice-detail h2 {
  margin: 0 40px 20px 0;
  font-size: 22px;
  font-weight: 600;
  color: #1a212c;
  line-height: 1.4;
}

.notice-detail img {
  width: 100%;
  border-radius: 8px;
  margin-bottom: 20px;
}

.notice-detail .preline {
  font-size: 15px;
  line-height: 1.75;
  color: #333b47;
  white-space: pre-wrap;
  margin-bottom: 24px;
}

.notice-detail .notice-meta {
  padding: 16px;
  background: #f5f7fa;
  border-radius: 8px;
  margin-bottom: 24px;
  font-size: 14px;
  color: #6b7482;
  line-height: 1.8;
}

.notice-detail-close {
  align-self: flex-end;
  padding: 10px 24px;
  background: #f5f7fa;
  color: #1a212c;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.notice-detail-close:hover {
  background: #e7eaef;
}

/* 移动端适配 */
@media (max-width: 640px) {
  .notice-popup,
  .notice-detail {
    max-width: 100%;
    max-height: 90vh;
  }
  
  .notice-popup-header,
  .notice-popup-body {
    padding: 16px;
  }
  
  .notice-detail {
    padding: 24px 16px;
  }
  
  .notice-card {
    padding: 12px;
  }
}
