/* PrimeNeon 0.8.7 — isolated tokens, deliberate surfaces, responsive geometry. */
:root { --pt-neon: #00d1ff; --pt-neon-rgb: 0, 209, 255; }
html.dark[data-pt-theme="neon"] {
  --pt-brand-rgb: var(--pt-neon-rgb); --pt-accent-rgb: 50, 192, 232; --pt-surface-rgb: 5, 22, 35;
  --pt-on-primary: #02121b;
  color-scheme: dark;
  --mc-primary: var(--pt-neon); --mc-primary-light: #9aedff;
  --mc-primary-hover: #72e6ff; --mc-primary-bg: rgba(var(--pt-neon-rgb), .12);
  --mc-accent: #6fe8ef; --mc-accent-soft: rgba(0,209,255,.09);
  --mc-bg: #02090f; --mc-bg-elevated: #071725; --mc-bg-sunken: #030d16;
  --mc-bg-muted: #081a28; --mc-bg-hover: #0c293a;
  --mc-surface-strong: #091b2a; --mc-surface-overlay: rgba(3,15,24,.88);
  --mc-panel-top: rgba(5,21,33,.96); --mc-panel-bottom: rgba(2,12,20,.96);
  --mc-panel-raised: #092131;
  --mc-border: #12516a; --mc-border-light: #113446; --mc-border-strong: #008bb5;
  --mc-text-primary: #e9f4fc; --mc-text-secondary: #aec4d7;
  --mc-text-tertiary: #88a6bb; --mc-text-inverse: #031019;
  --mc-shadow-soft: 0 5px 20px #0005; --mc-shadow-medium: 0 12px 36px #0007;
  --mc-shadow-strong: 0 22px 64px #000a;
  --mc-glow: radial-gradient(ellipse at 20% 0%, rgba(0,164,235,.14), transparent 65%);
  --mc-sidebar-bg: #03111c; --mc-sidebar-border: #008fbd;
  --mc-sidebar-hover: #092635; --mc-sidebar-active: rgba(0,166,224,.16);
  --mc-sidebar-text: #bbcede; --mc-sidebar-text-active: var(--pt-neon);
  --mc-sidebar-group-title: #79cde9; --mc-sidebar-logo-name: #e9f4fc;
  --mc-sidebar-footer-bg: rgba(3,16,26,.95); --mc-sidebar-floating-bg: #071b29;
  --mc-chat-bg: #030f19; --mc-chat-header-bg: #061724;
  --mc-assistant-bubble-bg: #091d2b; --mc-assistant-bubble-border: #164257;
  --mc-assistant-bubble-color: #e9f4fc; --mc-user-bubble-bg: #075675;
  --mc-user-bubble-color: #f0fbff; --mc-input-bg: #04131f;
  --mc-input-border: #18617b; --mc-input-text: #e9f4fc;
  --mc-code-bg: #020b12; --mc-code-header-bg: #0a1c29; --mc-code-header-border: #173748;
  --mc-code-lang-color: #aec4d7; --mc-code-copy-color: #aec4d7;
  --mc-code-copy-hover-bg: #123348; --mc-code-copy-hover-color: #fff;
  --mc-code-text: #d0dfed; --mc-code-line-number: #88a6bb;
  --mc-inline-code-bg: #0c293a; --mc-inline-code-color: #90e9ff;
  --mc-table-header-bg: #0a2232; --mc-table-border: #173b4d;
  --mc-blockquote-bg: rgba(0,209,255,.06); --mc-blockquote-border: #008fbd;
  --mc-blockquote-color: #aec4d7; --mc-link-color: #65dfff; --mc-hr-color: #173b4d;
  --mc-attachment-bg: #0a293b; --mc-attachment-border: #205875; --mc-attachment-color: #b9ecff;
  --mc-thinking-bg: #0a1d2b; --mc-thinking-text: #aec4d7;
  --mc-thinking-hover: #102e40; --mc-thinking-icon-bg: #103348; --mc-thinking-border: #23516a;
  --mc-mermaid-bg: #061724; --mc-mermaid-border: #173b4d;
  --mc-scrollbar-thumb: #295267; --mc-scrollbar-thumb-hover: #427b93;
  --mc-canvas-dot: #24536a; --mc-edge: #32748d; --mc-edge-strong: #66bddb;
  --el-color-primary: var(--pt-neon); --el-color-primary-light-3: #52ddff;
  --el-color-primary-light-5: #12627d; --el-color-primary-light-7: #0b3d53;
  --el-color-primary-light-8: #092c3e; --el-color-primary-light-9: #071f2d;
  --el-bg-color: #071725; --el-bg-color-page: #02090f; --el-bg-color-overlay: #092131;
  --el-text-color-primary: #e9f4fc; --el-text-color-regular: #aec4d7; --el-text-color-secondary: #88a6bb;
  --el-border-color: #12516a; --el-border-color-light: #113446; --el-border-color-lighter: #113446;
  --el-fill-color: #0a2232; --el-fill-color-light: #0a2232; --el-fill-color-blank: #071725;
}
/* Only real surfaces receive fills. Never match class substrings. */
html.dark[data-pt-theme="neon"] .app-layout::before { background: var(--mc-glow); }
html.dark[data-pt-theme="neon"] body { background-image: var(--mc-glow); }
html[data-pt-theme="neon"] :is(.status-hero--warning .status-hero__dot,.check-card__dot--warning) { background: var(--mc-warning); }
html[data-pt-theme="neon"] :is(.mc-page-frame,.sidebar) {
  border-color: rgba(var(--pt-neon-rgb),.72); border-radius: 14px;
  box-shadow: inset 0 0 15px rgba(var(--pt-neon-rgb),.045), 0 0 12px rgba(var(--pt-neon-rgb),.09);
}
html.dark[data-pt-theme="neon"] .mc-surface-card {
  background: linear-gradient(145deg,rgba(6,26,40,.96),rgba(3,15,24,.96));
  border-color: rgba(var(--pt-neon-rgb),.55); border-radius: 12px;
  box-shadow: inset 0 1px 9px rgba(var(--pt-neon-rgb),.055),0 0 9px rgba(var(--pt-neon-rgb),.045);
}
html[data-pt-theme="neon"] .stat-icon { background: linear-gradient(145deg,#09374d,#051823); color: var(--mc-primary); }
html[data-pt-theme="neon"] :is(.stat-icon--muted,.stat-card--secondary .stat-icon) { background: #0d2330; color: var(--mc-text-tertiary); }
html[data-pt-theme="neon"] .nav-item.active { box-shadow: inset 0 0 10px #00cfff14,0 0 8px #00cfff16; border-color: #008fbd; }
html[data-pt-theme="neon"] :is(.sidebar-logo .logo-icon,.login-page .logo-image) { filter: drop-shadow(0 0 9px #00bfff55); background: transparent; }
html[data-pt-theme="neon"] :is(.mc-page-eyebrow,.mc-page-kicker) { color: var(--mc-primary); background: rgba(0,209,255,.06); }
html[data-pt-theme="neon"] :is(button,a,input,textarea,select):focus-visible { outline: 2px solid #76e5ff; outline-offset: 3px; }
/* Moving caustics beneath content: never alter element positioning. */
html[data-pt-theme="neon"] .mc-page-frame::before,
html[data-pt-theme="neon"] .sidebar::before {
  background: radial-gradient(ellipse at 12% 25%,#008fff24,transparent 48%),radial-gradient(ellipse at 85% 75%,#00d1ff20,transparent 45%);
  background-size: 160% 170%; background-position: 0% 0%;
  animation: pt-caustics 16s ease-in-out infinite alternate; pointer-events: none;
}
@keyframes pt-caustics { from { background-position: 0% 0%; opacity: .48; } to { background-position: 100% 100%; opacity: 1; } }
.pt-theme-button svg { width: 18px; height: 18px; display: block; }
.pt-theme-button { display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.theme-toggle-row--compact > .theme-btn.pt-theme-button[data-active="false"] { background: transparent; color: var(--mc-text-tertiary); box-shadow: none; }
.theme-toggle-row--compact > .theme-btn.pt-theme-button[data-active="true"] { background: var(--mc-primary-bg); color: var(--mc-primary); box-shadow: inset 0 0 0 1px var(--mc-border); }
.pt-login-theme-switch { display: flex; justify-content: center; gap: 12px; margin-top: 18px; }
.pt-theme-button--login { width: 44px; height: 44px; border: 1px solid var(--mc-border); border-radius: 12px; background: var(--mc-bg); color: var(--mc-text-secondary); }
.pt-theme-button--login[data-active="true"] { color: var(--mc-primary); background: var(--mc-primary-bg); border-color: var(--mc-primary); }
html[data-pt-theme="neon"] .el-button--primary:not(.is-plain) { --el-button-text-color: #02121b; --el-button-hover-text-color: #02121b; --el-button-active-text-color: #02121b; }
html[data-pt-theme="neon"] .login-page { position: relative; isolation: isolate; background: radial-gradient(ellipse at 50% 80%,#06304a 0%,#02090f 65%); overflow: hidden; }
html[data-pt-theme="neon"] .login-center { position: relative; z-index: 1; }
html[data-pt-theme="neon"] .login-form { background: #03121ded; border: 1px solid #008fbd; border-radius: 16px; padding: 24px; box-shadow: 0 0 26px #00bfff16; }
html[data-pt-theme="neon"] .login-btn { background: var(--mc-primary); color: #02121b; box-shadow: 0 0 18px #00cfff33; }
html[data-pt-theme="neon"] .logo-title-highlight { color: var(--mc-primary); }
.pt-login-globe { position: absolute; inset: auto 0 0; width: 100%; height: clamp(220px,40vh,430px); pointer-events: none; z-index: 0; }
html[data-pt-theme] .app-layout { height: 100dvh; }
html[data-pt-theme] .main-content { min-height: 0; }
html[data-pt-theme] .login-page { min-height: 100dvh; }
.sidebar-logo .logo-name::after,.mobile-topbar-title::after { content: none; }
.sidebar-logo .logo-name,.mobile-topbar-title { font-size: 16px !important; }
@media (max-width: 768px) {
  .app-layout > .sidebar { position: fixed; width: min(280px,calc(100vw - 32px)); min-width: 0; max-height: calc(100dvh - 20px); }
  .app-layout > .sidebar:not(.mobile-open) { transform: translateX(calc(-100% - 12px)); visibility: hidden; pointer-events: none; }
  html[data-pt-theme] .mobile-menu-btn { width: 44px; height: 44px; }
  html[data-pt-theme] .theme-toggle-row--compact > .theme-btn { min-width: 40px; min-height: 40px; }
  html[data-pt-theme] .main-content > .mc-page-shell { flex: 1; min-height: 0 !important; overflow-y: auto; overscroll-behavior-y: contain; }
  html[data-pt-theme] .main-content > .chat-console-shell { height: auto !important; overflow: hidden !important; }
  .main-content { width: 100%; min-width: 0; }
  .mc-page-header { flex-wrap: wrap; }
  .mc-page-header > *, .mc-page-frame, .mc-page-inner { min-width: 0; max-width: 100%; }
  .mc-page-title { overflow-wrap: anywhere; }
  .mc-page-actions { flex-wrap: wrap; }
  html[data-pt-theme="neon"] .login-form { padding: 20px; }
  .login-page input { font-size: 16px; }
  html[data-pt-theme] .content-calendar { width: 100%; min-height: 0; overflow-y: auto; padding: 16px 12px 24px; }
  html[data-pt-theme] .content-calendar .filters { flex-wrap: wrap; }
  html[data-pt-theme] .content-calendar .platform-select { flex: 1; min-width: 140px; }
  html[data-pt-theme] .models-card__head { gap: 12px; }
  html[data-pt-theme] .active-model { flex-wrap: wrap; overflow-wrap: anywhere; }
  html[data-pt-theme] .enterprise-shell { padding: 16px 12px; }
  html[data-pt-theme] .enterprise-tabs { max-width: 100%; overflow-x: auto; flex-shrink: 0; }
  html[data-pt-theme] .enterprise-tab { white-space: nowrap; flex-shrink: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-pt-theme="neon"] .mc-page-frame::before,html[data-pt-theme="neon"] .sidebar::before { animation: none; background-position: 50% 50%; opacity: .7; }
}

/* 0.8.7: shared geometry, semantic tokens and overlay layers. */
html.dark[data-pt-theme="neon"] {
  --mc-surface: var(--mc-bg-elevated); --mc-surface-hover: var(--mc-bg-hover);
  --mc-surface-active: var(--mc-primary-bg); --mc-accent-bg: var(--mc-primary-bg);
  --mc-success: #70d6a5; --mc-success-bg: #10372c;
  --mc-warning: #ffd078; --mc-warning-bg: #3b3017;
  --mc-danger: #ff9aab; --mc-danger-bg: #3c1e2b;
  --el-mask-color: rgba(0,7,12,.62); --el-mask-color-extra-light: rgba(0,7,12,.5);
  --el-text-color-placeholder: var(--mc-text-tertiary);
  --pt-backdrop: rgba(0,7,12,.62);
}
/* Keep the native scrollbar geometry stable. The shared scroll listener only changes paint. */
html[data-pt-theme] .app-layout *, html[data-pt-theme] :is(.mc-drawer-body,.modal-body,.ws-dropdown) {
  scrollbar-width: thin !important; scrollbar-color: transparent transparent !important;
}
html[data-pt-theme] .pt-scrolling { scrollbar-color: var(--mc-scrollbar-thumb) transparent !important; }
html[data-pt-theme] .app-layout *::-webkit-scrollbar,
html[data-pt-theme] :is(.mc-drawer-body,.modal-body,.ws-dropdown)::-webkit-scrollbar { display: block !important; width: 6px !important; height: 6px !important; background: transparent !important; }
html[data-pt-theme] .app-layout *::-webkit-scrollbar-thumb { background: transparent !important; border-radius: 8px; }
html[data-pt-theme] .pt-scrolling::-webkit-scrollbar-thumb { background: var(--mc-scrollbar-thumb) !important; }
html[data-pt-theme] .pt-scrolling::-webkit-scrollbar-thumb:hover { background: var(--mc-scrollbar-thumb-hover) !important; }
html[data-pt-theme] :is(.settings-nav-scroll,.settings-content__inner,.dashboard-body) { scrollbar-gutter: stable; overscroll-behavior: contain; }
/* Shells own their padding once; inner sections must not consume the width twice. */
html[data-pt-theme] .main-content { min-width: 0; min-height: 0; }
html[data-pt-theme] .main-content > .mc-page-shell { padding: 14px; }
html[data-pt-theme] .settings-frame { height: 100%; min-height: 0; overflow: hidden; }
html[data-pt-theme] .settings-layout { height: 100%; min-height: 0; padding: 16px; gap: 14px; }
html[data-pt-theme] .settings-nav { min-height: 0; overflow: hidden; padding: 10px 8px; }
html[data-pt-theme] .settings-nav__intro { flex-shrink: 0; }
html[data-pt-theme] .settings-nav-scroll { flex: 1 1 0; min-height: 0; overflow-y: auto; overflow-x: hidden; }
html[data-pt-theme] .settings-nav .nav-collapse-btn { position: static; align-self: flex-end; margin: 8px 0 0; flex: 0 0 32px; }
html[data-pt-theme] .settings-content { min-width: 0; padding: 16px; overflow: hidden; }
html[data-pt-theme] .settings-content__inner { min-width: 0; height: 100%; overflow-y: auto; overflow-x: auto; padding-right: 2px; }
html[data-pt-theme] .settings-content__inner > .mc-page-shell { padding: 0; }
html[data-pt-theme] .settings-content__inner > .mc-page-shell > .mc-page-frame > .mc-page-inner { padding: 16px; }
html[data-pt-theme] .settings-content__inner :is(.table-wrap,.table-container,.table-wrapper) { max-width: 100%; overflow-x: auto; }
html[data-pt-theme] .settings-content__inner :is(.data-table,.tools-table) { max-width: none; }
html[data-pt-theme] .settings-content__inner .action-btn { width: auto; height: auto; min-height: 34px; }
html[data-pt-theme] .sidebar-nav { min-height: 0; flex: 1 1 0; }
html[data-pt-theme] .sidebar-footer { flex-shrink: 0; }
html[data-pt-theme] .sidebar.collapsed { width: 88px; min-width: 88px; }
html[data-pt-theme] .sidebar.collapsed .sidebar-logo { flex-direction: row; gap: 3px; padding: 10px 5px; }
html[data-pt-theme] .sidebar.collapsed .logo-icon { width: 44px; height: 44px; flex: 0 0 44px; }
html[data-pt-theme] .sidebar.collapsed .logo-img { width: 40px; height: 40px; object-fit: contain; }
html[data-pt-theme] .sidebar.collapsed .collapse-btn { width: 22px; height: 28px; flex: 0 0 22px; padding: 0; }
html[data-pt-theme] .sidebar-logo .logo-img { object-fit: contain; }
html[data-pt-theme="neon"] :is(.sidebar-logo .logo-img,.welcome-logo__icon,.avatar-logo,.about-page .hero-logo) { object-fit: contain; border-radius: 0; }
html[data-pt-theme="neon"] .user-avatar { background: linear-gradient(135deg,var(--mc-primary),var(--mc-primary-hover)); color: var(--pt-on-primary); font-weight: 650; }
html[data-pt-theme="neon"] :is(.stat-icon--muted,.stat-card--secondary .stat-icon) { background: linear-gradient(145deg,#09374d,#051823); color: var(--mc-primary); }
html[data-pt-theme="neon"] .mc-page-frame { isolation: isolate; }
html[data-pt-theme="neon"] :is(.mc-page-frame,.mc-surface-card,.sidebar) { background-clip: padding-box; box-shadow: inset 0 0 0 1px rgba(var(--pt-neon-rgb),.12),inset 0 0 15px rgba(var(--pt-neon-rgb),.045),0 0 12px rgba(var(--pt-neon-rgb),.09); }
html[data-pt-theme="neon"] :is(.modal-overlay,.dialog-overlay,.mc-drawer-overlay,.mc-picker-overlay,.mc-agent-picker__overlay) { background: var(--pt-backdrop); }
html[data-pt-theme="neon"] :is(.mc-drawer-panel,.mc-picker-panel) { background: var(--mc-bg-elevated); border-color: var(--mc-border); }
html[data-pt-theme="neon"] .doctor-stack :is(.status-hero,.check-card) { background: var(--mc-bg-muted); border-color: var(--mc-border-light); }
html[data-pt-theme="neon"] .mc-drawer-footer { background: var(--mc-bg-elevated); }
html[data-pt-theme="neon"] .content-calendar .glass { background: var(--mc-bg-elevated); border-color: var(--mc-border); }
html[data-pt-theme="neon"] .el-select__placeholder { color: var(--mc-text-secondary); }
html[data-pt-theme="neon"] .content-calendar :is(.chip-packaged) { color: var(--mc-warning); }
html[data-pt-theme="neon"] .content-calendar .chip-published { color: var(--mc-success); }
html[data-pt-theme] .pt-enterprise-shell { flex: 1; min-height: 0; }
html[data-pt-theme] .pt-enterprise-frame { height: 100%; min-height: 0; }
html[data-pt-theme] .enterprise-shell { position: relative; height: 100%; min-height: 0; padding: 24px; background: transparent; }
html[data-pt-theme="neon"] .enterprise-shell :is(.risk-high,.status-rejected,.kind-competitor,.priority-high) { background: var(--mc-danger-bg); color: var(--mc-danger); }
html[data-pt-theme="neon"] .enterprise-shell :is(.risk-medium,.status-pending_legal,.kind-doc,.priority-medium,.dev-label) { background: var(--mc-warning-bg); color: var(--mc-warning); }
html[data-pt-theme="neon"] .enterprise-shell :is(.risk-low,.status-approved,.kind-funding) { background: var(--mc-success-bg); color: var(--mc-success); }
html[data-pt-theme="neon"] .enterprise-shell .score-pill { background: var(--mc-primary-bg); color: var(--mc-primary-light); }
html[data-pt-theme="neon"] .enterprise-shell .suggest-block { background: var(--mc-bg-muted); }
html[data-pt-theme] .dsh-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
html[data-pt-theme] .dsh-page :is(.dsh-step,.card-heading,.section-header) { min-width: 0; flex-wrap: wrap; }
html[data-pt-theme] .dsh-page small { overflow-wrap: anywhere; }
html[data-pt-theme="neon"] :is(.table-wrap,.table-container) th { background: var(--mc-table-header-bg); }
html[data-pt-theme="neon"] .plugins-page :is(.type-tool,.status-loaded) { background: #17334a; color: #a3d2ff; }
html[data-pt-theme="neon"] .plugins-page :is(.status-enabled,.type-channel) { background: var(--mc-success-bg); color: var(--mc-success); }
html[data-pt-theme="neon"] .plugins-page .type-provider { background: var(--mc-warning-bg); color: var(--mc-warning); }
html[data-pt-theme="neon"] .plugins-page :is(.status-error,.plugin-error) { background: var(--mc-danger-bg); color: var(--mc-danger); }
html[data-pt-theme="neon"] .plugins-page .type-memory { background: #2a2446; color: #d5beff; }
.pt-mobile-preferences { width: 100%; min-height: 36px; border: 1px solid var(--mc-border); border-radius: 10px; background: var(--mc-bg-muted); color: var(--mc-text-primary); }
@media (max-width: 900px) {
  html[data-pt-theme] .settings-layout { flex-direction: row; height: 100%; gap: 8px; padding: 8px; }
  html[data-pt-theme] .settings-frame { height: 100%; min-height: 0; overflow: hidden; }
  html[data-pt-theme] .settings-nav { align-self: stretch; max-height: 100%; width: 56px; min-width: 56px; padding: 8px 4px; }
  html[data-pt-theme] .settings-content { padding: 8px; overflow: hidden; }
  html[data-pt-theme] .settings-content__inner { height: 100%; overflow: auto; }
}
@media (max-width: 768px) {
  html[data-pt-theme] .app-layout > .sidebar { height: calc(100dvh - 20px); min-height: 0; }
  html[data-pt-theme] .sidebar-footer { max-height: min(48dvh,320px); overflow-y: auto; padding: 8px; }
  html[data-pt-theme] .sidebar-logo { flex-shrink: 0; }
  html[data-pt-theme] .sidebar .workspace-switcher { flex-shrink: 0; }
  html[data-pt-theme] .sidebar .shortcuts-hint { display: none; }
  html[data-pt-theme] .main-content > .mc-page-shell { padding: 6px; }
  html[data-pt-theme] .enterprise-shell { padding: 12px; }
  html[data-pt-theme] .content-calendar { padding: 12px; }
  html[data-pt-theme] .dsh-steps, html[data-pt-theme] .dsh-page .form-grid { grid-template-columns: 1fr; }
  html[data-pt-theme] .settings-content__inner > .mc-page-shell > .mc-page-frame > .mc-page-inner { padding: 8px; }
}
@media (forced-colors: active) { html[data-pt-theme] .app-layout * { scrollbar-color: auto !important; } }

html[data-pt-theme] .agents-toolbar { margin-bottom: 18px; }
html[data-pt-theme="neon"] .enterprise-shell .score-pill-delta { color: var(--mc-success); }
html[data-pt-theme="neon"] .enterprise-shell .tone-bad .score-pill-delta { color: var(--mc-danger); }
html[data-pt-theme="neon"] .plugins-page .status-disabled { background: var(--mc-bg-muted); color: var(--mc-text-secondary); }

html[data-pt-theme="neon"] .run-status.is-green { color: var(--mc-success); }
html[data-pt-theme="neon"] .run-status.is-amber { color: var(--mc-warning); }
html[data-pt-theme="neon"] .run-status.is-red { color: var(--mc-danger); }
/* Toolbar diagnostic state retains semantic status colors. */
.pt-toolbar .health-dot.healthy { background: var(--mc-success); }
.pt-toolbar .health-dot.warning { background: var(--mc-warning); }
.pt-toolbar .health-dot.error { background: var(--mc-danger); }
.pt-toolbar .health-dot.unknown { background: var(--mc-text-tertiary); }
