/*
GREENBOX THEME & EFFECTS — FINAL CONTRACT V1

ONE central Theme & Effects authority.
ONE saved theme.
Theme-enabled applications consume it.

This layer owns presentation only.
It does not own application layout, workflow, routing,
Launcher search, Field capability logic or the Matrix engine.
*/

html {
  --bg:
    var(--gb-bg) !important;

  --background:
    var(--gb-bg) !important;

  --panel:
    var(--gb-surface) !important;

  --panel-bg:
    var(--gb-surface) !important;

  --panel2:
    var(--gb-surface-raised) !important;

  --card:
    var(
      --gb-card-bg,
      var(--gb-surface-raised)
    ) !important;

  --card-bg:
    var(
      --gb-card-bg,
      var(--gb-surface-raised)
    ) !important;

  --text:
    var(--gb-text) !important;

  --muted:
    var(--gb-text-muted) !important;

  --line:
    var(--gb-border) !important;

  --border:
    var(--gb-border) !important;

  --primary:
    var(--gb-primary) !important;

  --accent:
    var(--gb-accent) !important;

  --secondary:
    var(--gb-secondary) !important;

  --green:
    var(--gb-primary) !important;

  --green2:
    var(--gb-accent) !important;

  --glow:
    var(
      --gb-glow,
      var(--gb-primary)
    ) !important;
}

html[data-gb-theme-contract-app],
html[data-gb-theme-contract-app] body {
  background-color:
    var(--gb-bg) !important;

  background-image:
    var(
      --gb-theme-background-image,
      none
    ) !important;

  background-position:
    center !important;

  background-repeat:
    no-repeat !important;

  background-size:
    cover !important;

  background-attachment:
    fixed !important;

  color:
    var(--gb-text) !important;
}

html[data-gb-theme-contract-app] input,
html[data-gb-theme-contract-app] select,
html[data-gb-theme-contract-app] textarea {
  background-color:
    var(--gb-input-bg) !important;

  color:
    var(--gb-input-text) !important;

  border-color:
    var(--gb-border) !important;
}

html[data-gb-theme-contract-app] button,
html[data-gb-theme-contract-app] .btn,
html[data-gb-theme-contract-app] [role="button"] {
  border-color:
    var(--gb-border) !important;
}

html[data-gb-theme-contract-app] a {
  color:
    var(--gb-accent) !important;
}

html[data-gb-theme-contract-app] h1,
html[data-gb-theme-contract-app] h2,
html[data-gb-theme-contract-app] h3,
html[data-gb-theme-contract-app] h4,
html[data-gb-theme-contract-app] h5 {
  color:
    var(--gb-text) !important;
}

/* FIELD */

html[data-gb-theme-contract-app="field"] .top,
html[data-gb-theme-contract-app="field"] .sidebar,
html[data-gb-theme-contract-app="field"] .side,
html[data-gb-theme-contract-app="field"] .pane,
html[data-gb-theme-contract-app="field"] .panel,
html[data-gb-theme-contract-app="field"] .quick-panel,
html[data-gb-theme-contract-app="field"] .review-pane,
html[data-gb-theme-contract-app="field"] .catalog-panel,
html[data-gb-theme-contract-app="field"] .footer {
  background-color:
    var(--gb-surface) !important;

  color:
    var(--gb-text) !important;

  border-color:
    var(--gb-border) !important;
}

html[data-gb-theme-contract-app="field"] .card,
html[data-gb-theme-contract-app="field"] .section,
html[data-gb-theme-contract-app="field"] .board-section,
html[data-gb-theme-contract-app="field"] .workspace-card,
html[data-gb-theme-contract-app="field"] .catalog-card,
html[data-gb-theme-contract-app="field"] .library-card,
html[data-gb-theme-contract-app="field"] .review-row,
html[data-gb-theme-contract-app="field"] .quick-row,
html[data-gb-theme-contract-app="field"] .route,
html[data-gb-theme-contract-app="field"] .route-row,
html[data-gb-theme-contract-app="field"] .filter-summary,
html[data-gb-theme-contract-app="field"] .preview-banner {
  background-color:
    var(
      --gb-card-bg,
      var(--gb-surface-raised)
    ) !important;

  color:
    var(--gb-text) !important;

  border-color:
    var(--gb-border) !important;
}

/* ENTERPRISE LAUNCHER */

html[data-gb-theme-contract-app="launcher"] .hero,
html[data-gb-theme-contract-app="launcher"] .panel,
html[data-gb-theme-contract-app="launcher"] section,
html[data-gb-theme-contract-app="launcher"] .group,
html[data-gb-theme-contract-app="launcher"] .health-panel {
  background-color:
    var(--gb-surface) !important;

  color:
    var(--gb-text) !important;

  border-color:
    var(--gb-border) !important;
}

html[data-gb-theme-contract-app="launcher"] .card,
html[data-gb-theme-contract-app="launcher"] .service-card,
html[data-gb-theme-contract-app="launcher"] .launcher-card,
html[data-gb-theme-contract-app="launcher"] .health-card,
html[data-gb-theme-contract-app="launcher"] .stat-card {
  background-color:
    var(
      --gb-card-bg,
      var(--gb-surface-raised)
    ) !important;

  color:
    var(--gb-text) !important;

  border-color:
    var(--gb-border) !important;
}

/* The frozen central effect engine owns this canvas. */

#greenbox-matrix-canvas,
#greenbox-theme-effect-layer {
  pointer-events:
    none !important;
}
