/* Cobalt global interface layer — loaded after all legacy module styles. */
:root {
  --cobalt-bg: #060b12;
  --cobalt-bg-alt: #09121e;
  --cobalt-surface: #0d1724;
  --cobalt-surface-2: #111d2b;
  --cobalt-line: rgba(137, 171, 214, .18);
  --cobalt-line-strong: rgba(137, 183, 239, .32);
  --cobalt-text: #f3f7fc;
  --cobalt-copy: #b7c4d5;
  --cobalt-muted: #74859b;
  --cobalt-accent: #126cff;
  --cobalt-accent-2: #48a1ff;
  --cobalt-success: #47d7a1;
  --cobalt-warning: #ffd166;
  --cobalt-danger: #ff6b7d;
  --cobalt-radius: 4px;
  --pb-saas-bg: var(--cobalt-bg) !important;
  --pb-saas-bg-elevated: var(--cobalt-surface) !important;
  --pb-saas-bg-soft: var(--cobalt-surface-2) !important;
  --pb-saas-bg-hover: #142437 !important;
  --pb-saas-border: var(--cobalt-line) !important;
  --pb-saas-border-strong: var(--cobalt-line-strong) !important;
  --pb-saas-text: var(--cobalt-text) !important;
  --pb-saas-muted: var(--cobalt-muted) !important;
  --pb-saas-accent: var(--cobalt-accent) !important;
  --pb-saas-accent-2: var(--cobalt-accent-2) !important;
  --pb-saas-radius: 4px !important;
  --pb-saas-radius-sm: 3px !important;
  --pb-saas-shadow: none !important;
  --pb2-bg: var(--cobalt-bg) !important;
  --pb2-panel: var(--cobalt-surface) !important;
  --pb2-panel-2: var(--cobalt-surface-2) !important;
  --pb2-line: var(--cobalt-line) !important;
  --pb2-accent: var(--cobalt-accent) !important;
  --pb2-accent-2: var(--cobalt-accent-2) !important;
  --pb2-radius-lg: 4px !important;
  --pb2-radius-md: 3px !important;
  --pb2-radius-sm: 2px !important;
}

html,
body {
  color-scheme: dark;
}

body.pb-panel-ui,
body.pb-docs-page,
body.auth-body,
body.legal-body,
body.error-body {
  color: var(--cobalt-text) !important;
  background:
    linear-gradient(rgba(137,171,214,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(137,171,214,.025) 1px, transparent 1px),
    var(--cobalt-bg) !important;
  background-size: 72px 72px !important;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.pb-panel-ui::before,
body.pb-panel-ui::after,
body.pb-docs-page::before,
body.pb-docs-page::after,
.pb-docs-glow,
[class*="orb"],
[class*="glow"]:not(.status-glow):not(.color-glow) {
  box-shadow: none !important;
}

body.pb-panel-ui *,
body.pb-docs-page *,
body.auth-body * {
  scrollbar-color: rgba(72,161,255,.45) rgba(255,255,255,.02);
}

body.pb-panel-ui ::selection,
body.pb-docs-page ::selection,
body.auth-body ::selection {
  color: #fff;
  background: rgba(18,108,255,.48);
}

/* No glass, no bubbles, no decorative blur. */
body.pb-panel-ui :where(
  .card,
  [class$="-card"],
  [class*="-card "],
  [class$="-panel"],
  [class*="-panel "],
  [class$="-box"],
  [class*="-box "],
  [class$="-widget"],
  [class*="-widget "],
  [class$="-popover"],
  [class*="-popover "],
  .modal-content,
  .panel,
  .widget
),
body.pb-docs-page :where(
  [class$="-card"],
  [class*="-card "],
  [class$="-panel"],
  [class*="-panel "],
  [class$="-box"],
  [class*="-box "]
) {
  border-radius: var(--cobalt-radius) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-pb-surface="glass"] body.pb-panel-ui :where(.pb-saas-topbar, .pb-saas-sidebar, [class*="card"], [class*="panel"], [class*="widget"]) {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Header and navigation */
.pb-saas-topbar {
  border-bottom: 1px solid var(--cobalt-line) !important;
  background: #08111c !important;
  box-shadow: none !important;
}

.pb-saas-sidebar,
body.pb-panel-ui .sidebar {
  border-right: 1px solid var(--cobalt-line) !important;
  background: #07101a !important;
  box-shadow: none !important;
}

.pb-saas-brand,
.pb-saas-sidebar-search,
.pb-saas-server-button,
.pb-saas-command-trigger,
.pb-saas-profile-trigger,
.pb-saas-action-btn,
.pb-saas-icon-btn,
.pb-saas-sidebar-footer-btn,
.pb-saas-profile-popover,
.pb-saas-server-dialog,
.pb-saas-command-dialog,
.pb-saas-quick-dialog,
.pb-appearance-studio,
.pb-language-popover {
  border-radius: 3px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.pb-saas-brand {
  border-bottom: 1px solid var(--cobalt-line) !important;
  background: transparent !important;
}

.pb-saas-brand img,
.pb-saas-server-avatar,
.pb-saas-user-avatar,
.pb-guild-card-icon,
.login-avatar,
.pb-global-footer-brand img,
.pb-docs-brand img {
  border-radius: 3px !important;
  box-shadow: none !important;
}

.pb-saas-nav-group > summary,
.pb-saas-nav-link,
.pb-saas-sidebar-footer-btn {
  border-radius: 2px !important;
}

.pb-saas-nav-link.active,
.pb-saas-nav-link.accent.active,
.pb-saas-nav-link:hover {
  color: #fff !important;
  background: linear-gradient(90deg, rgba(18,108,255,.14), rgba(18,108,255,.025)) !important;
  box-shadow: inset 2px 0 0 var(--cobalt-accent-2) !important;
}

.pb-saas-nav-link.accent:not(.active) {
  color: #a8c9f5 !important;
  background: transparent !important;
}

.pb-saas-nav-icon,
.pb-saas-action-btn svg,
.pb-saas-icon-btn svg,
.pb-saas-sidebar-footer-btn svg {
  color: var(--cobalt-accent-2) !important;
}

.pb-saas-command-trigger,
.pb-saas-sidebar-search,
.pb-saas-server-button,
.pb-saas-profile-trigger {
  border-color: var(--cobalt-line) !important;
  background: #0a1522 !important;
}

.pb-saas-command-trigger:hover,
.pb-saas-sidebar-search:focus-within,
.pb-saas-server-button:hover,
.pb-saas-profile-trigger:hover {
  border-color: var(--cobalt-line-strong) !important;
  background: #0d1b2a !important;
}

/* Main pages */
body.pb-panel-ui .main,
body.pb-panel-ui main.main,
.pb-dashboard-main {
  background: transparent !important;
}

body.pb-panel-ui .fixed-header,
.pb-saas-dashboard-head,
.pb-guilds-topbar,
.pb-docs-header {
  border-bottom: 1px solid var(--cobalt-line) !important;
  background: rgba(6,11,18,.97) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.pb-page-eyebrow,
.pb-docs-eyebrow,
[class*="eyebrow"] {
  color: var(--cobalt-accent-2) !important;
  font-weight: 800 !important;
  letter-spacing: .15em !important;
}

body.pb-panel-ui h1,
body.pb-panel-ui h2,
body.pb-panel-ui h3,
body.pb-docs-page h1,
body.pb-docs-page h2,
body.pb-docs-page h3 {
  color: var(--cobalt-text) !important;
  letter-spacing: -.035em !important;
}

body.pb-panel-ui p,
body.pb-panel-ui .muted,
body.pb-panel-ui small,
body.pb-docs-page p,
body.pb-docs-page small {
  color: var(--cobalt-muted);
}

/* Buttons and controls */
body.pb-panel-ui :where(
  button,
  .btn,
  .header-btn,
  .mini-btn,
  .primary-btn,
  .secondary-btn,
  .danger-btn,
  .install-btn,
  [class*="-button"]
),
body.pb-docs-page :where(button, .btn, [class*="-button"]),
body.auth-body :where(button, .btn) {
  border-radius: 3px !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.pb-panel-ui :where(.primary, .btn.primary, .header-btn.primary, .primary-btn, .install-btn),
body.pb-docs-page :where(.primary, .btn.primary),
body.auth-body .btn {
  border-color: var(--cobalt-accent) !important;
  color: #fff !important;
  background: var(--cobalt-accent) !important;
  background-image: none !important;
}

body.pb-panel-ui :where(.primary, .btn.primary, .header-btn.primary, .primary-btn, .install-btn):hover,
body.pb-docs-page :where(.primary, .btn.primary):hover,
body.auth-body .btn:hover {
  border-color: #2f7fff !important;
  background: #2f7fff !important;
  transform: translateY(-1px);
}

body.pb-panel-ui :where(.danger, .btn.danger, .header-btn.danger, .danger-btn) {
  border-color: rgba(255,107,125,.42) !important;
  color: #ffb1bc !important;
  background: rgba(255,107,125,.08) !important;
}

body.pb-panel-ui :where(input, select, textarea),
body.pb-docs-page :where(input, select, textarea),
body.auth-body :where(input, select, textarea) {
  border: 1px solid var(--cobalt-line) !important;
  border-radius: 3px !important;
  color: var(--cobalt-text) !important;
  background: #091522 !important;
  box-shadow: none !important;
}

body.pb-panel-ui :where(input, select, textarea):focus,
body.pb-docs-page :where(input, select, textarea):focus,
body.auth-body :where(input, select, textarea):focus {
  border-color: var(--cobalt-accent-2) !important;
  outline: 2px solid rgba(18,108,255,.12) !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

/* Flat data surfaces */
body.pb-panel-ui :where(
  .notice-card,
  .pb-dashboard-ribbon,
  .pb-dashboard-editor,
  .pb-dashboard-widget,
  .pb-widget,
  .pb-guild-card,
  .settings-card,
  .module-card,
  .action-box,
  .table-wrap,
  .data-table-wrap,
  .form-card,
  .stat-card,
  .summary-card,
  .status-card,
  .panel-card,
  .editor-card,
  .preview-card,
  .pb-owner-card,
  .pb-showcase-card
) {
  border: 1px solid var(--cobalt-line) !important;
  border-radius: 4px !important;
  background: var(--cobalt-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
}

.pb-dashboard-ribbon {
  border-left: 0 !important;
  border-right: 0 !important;
  background: transparent !important;
}

.pb-ribbon-item,
.pb-widget-row > *,
.pb-dashboard-metric,
.pb-dashboard-stat {
  border-color: var(--cobalt-line) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.pb-panel-ui table {
  border-collapse: collapse !important;
  border-color: var(--cobalt-line) !important;
  background: transparent !important;
}

body.pb-panel-ui th {
  color: #8ea2b9 !important;
  background: #091522 !important;
  font-size: 10px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

body.pb-panel-ui td,
body.pb-panel-ui th {
  border-color: var(--cobalt-line) !important;
}

body.pb-panel-ui tr:hover td {
  background: rgba(18,108,255,.035) !important;
}

/* Guild selection */
.pb-guilds-topbar,
.pb-guilds-main {
  color: var(--cobalt-text) !important;
}

.pb-guilds-main {
  width: min(1380px, calc(100% - 40px)) !important;
}

.pb-guilds-hero {
  border-bottom: 1px solid var(--cobalt-line) !important;
  background: transparent !important;
}

.pb-guilds-grid {
  gap: 0 !important;
  border-top: 1px solid var(--cobalt-line) !important;
}

.pb-guild-card {
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) auto !important;
  min-height: 92px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cobalt-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.pb-guild-card:hover {
  background: linear-gradient(90deg, rgba(18,108,255,.06), transparent) !important;
  transform: none !important;
}

.pb-guild-card-copy .installed { color: var(--cobalt-success) !important; }
.pb-guild-card-copy .missing { color: var(--cobalt-warning) !important; }
.pb-guilds-search { border-radius: 3px !important; background: #091522 !important; }

/* Login and legal pages */
.auth-body {
  display: grid !important;
  min-height: 100vh !important;
  place-items: center !important;
  padding: 110px 22px !important;
}

.auth-card {
  width: min(520px, 100%) !important;
  padding: 52px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--cobalt-line-strong) !important;
  border-bottom: 1px solid var(--cobalt-line-strong) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center !important;
}

.auth-card h1 { margin-top: 22px !important; font-size: 48px !important; letter-spacing: -.055em !important; }
.auth-card > p { color: var(--cobalt-muted) !important; }
.auth-card .btn { margin-top: 24px !important; }

.legal-container,
.legal-card,
.error-card {
  border-radius: 3px !important;
  background: var(--cobalt-surface) !important;
  box-shadow: none !important;
}

/* Docs */
.pb-docs-page {
  --pb-docs-accent: var(--cobalt-accent) !important;
  --pb-docs-accent-2: var(--cobalt-accent-2) !important;
}

.pb-docs-header,
.pb-docs-sidebar {
  background: #07111c !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.pb-docs-hero {
  border-bottom: 1px solid var(--cobalt-line) !important;
  background: transparent !important;
}

.pb-docs-hero h1 em { color: var(--cobalt-accent-2) !important; }
.pb-docs-search,
.pb-docs-resultbar,
.pb-docs-sidebar-help {
  border-radius: 3px !important;
  background: #091522 !important;
  box-shadow: none !important;
}

.pb-docs-guide-grid,
.pb-docs-module-grid {
  gap: 0 !important;
  border-top: 1px solid var(--cobalt-line) !important;
}

.pb-docs-guide-card,
.pb-docs-module-card,
.pb-docs-topic,
.pb-docs-section article {
  border: 0 !important;
  border-bottom: 1px solid var(--cobalt-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.pb-docs-guide-card:hover,
.pb-docs-module-card:hover {
  background: linear-gradient(90deg, rgba(18,108,255,.055), transparent) !important;
  transform: none !important;
}

.pb-docs-sidebar a.active,
.pb-docs-sidebar a:hover {
  border-radius: 2px !important;
  color: #fff !important;
  background: linear-gradient(90deg, rgba(18,108,255,.14), transparent) !important;
  box-shadow: inset 2px 0 0 var(--cobalt-accent-2) !important;
}

/* Footer */
.pb-global-footer {
  border-top: 1px solid var(--cobalt-line) !important;
  background: #060c14 !important;
}

.pb-global-footer-inner {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.pb-global-footer a:hover { color: #fff !important; }

/* Status and tags */
body.pb-panel-ui :where(.badge, .tag, .pill, [class*="-badge"], [class*="-tag"], [class*="-pill"]) {
  border-radius: 2px !important;
  box-shadow: none !important;
}

body.pb-panel-ui :where(.success, .is-success, .status-success, .installed) {
  --status-color: var(--cobalt-success);
}

/* Dialogs and popovers */
body.pb-panel-ui dialog,
body.pb-panel-ui [role="dialog"],
.pb-language-popover,
.potter-select-menu {
  border: 1px solid var(--cobalt-line-strong) !important;
  border-radius: 3px !important;
  color: var(--cobalt-text) !important;
  background: #081320 !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.46) !important;
  backdrop-filter: none !important;
}

.potter-select-option:hover,
.potter-select-option.active,
.pb-language-group button:hover,
.pb-language-group button.active {
  background: rgba(18,108,255,.12) !important;
}

/* Remove old purple gradients without changing layout. */
body.pb-panel-ui [style*="#7c5cff"],
body.pb-panel-ui [style*="#8b5cf6"] {
  --pb-user-accent: var(--cobalt-accent) !important;
}

body.pb-panel-ui :where(.progress, [class*="progress"]) > :where(i, span, div) {
  background-color: var(--cobalt-accent) !important;
}

@media (max-width: 900px) {
  .pb-guild-card {
    grid-template-columns: auto minmax(0,1fr) !important;
  }
  .pb-guild-card > a,
  .pb-guild-card > button {
    grid-column: 2 !important;
    width: max-content !important;
  }
}

@media (max-width: 620px) {
  body.pb-panel-ui :where(.card, [class*="-card"], [class*="-panel"], [class*="-box"], [class*="-widget"]) {
    border-radius: 2px !important;
  }
  .pb-guilds-main { width: calc(100% - 28px) !important; }
  .auth-card h1 { font-size: 40px !important; }
}
