/* Yberium Pulse application-shell theme.
   This layer changes visible identity only. Legacy data, event and API identifiers remain untouched. */

:root {
  --yb-pulse-graphite: #171a1f;
  --yb-pulse-graphite-soft: #22272f;
  --yb-pulse-signal: #b7f34a;
  --yb-pulse-signal-hover: #a9ec31;
  --yb-pulse-signal-text: #4f7d00;
  --yb-pulse-green: #2fbf71;
  --yb-pulse-amber: #f4b740;
  --yb-pulse-red: #e05252;
  --yb-pulse-off-white: #f5f6f7;
  --yb-pulse-surface: #ffffff;
  --yb-pulse-surface-muted: #eef1f3;
  --yb-pulse-ink: #101318;
  --yb-pulse-muted: #5f6873;
  --yb-pulse-line: #dce1e5;
}

html {
  min-width: 320px;
  background: var(--yb-pulse-off-white);
}

body::selection {
  color: var(--yb-pulse-graphite);
  background: var(--yb-pulse-signal);
}

.vbAppShell {
  --vb-sc-color-canvas: var(--yb-pulse-off-white);
  --vb-sc-color-surface: var(--yb-pulse-surface);
  --vb-sc-color-surface-muted: var(--yb-pulse-surface-muted);
  --vb-sc-color-ink: var(--yb-pulse-graphite);
  --vb-sc-color-text: #343a43;
  --vb-sc-color-muted: var(--yb-pulse-muted);
  --vb-sc-color-line: var(--yb-pulse-line);
  --vb-sc-color-brand: var(--yb-pulse-graphite);
  --vb-sc-color-brand-hover: var(--yb-pulse-graphite-soft);
  --vb-sc-color-ready: #197a47;
  --vb-sc-color-ready-bg: #e9f8ef;
  --vb-sc-color-check: #825500;
  --vb-sc-color-check-bg: #fff7e8;
  --vb-sc-color-blocker: #b32929;
  --vb-sc-color-blocker-bg: #fff0ee;
  --vb-sc-font-sans: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--yb-pulse-ink);
  background: var(--yb-pulse-off-white);
}

.vbAppShell h1,
.vbAppShell h2,
.vbAppShell h3,
.vbAppBrandName {
  font-family: Manrope, Inter, "Segoe UI", sans-serif;
}

.vbAppMark {
  width: 40px;
  height: 40px;
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 0;
  color: inherit;
  background: transparent;
}

.vbAppMark img {
  width: 100%;
  height: 100%;
}

.vbAppBrandName {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  min-width: max-content;
  font-size: 18px;
  font-weight: 430;
  letter-spacing: -.035em;
  white-space: nowrap;
}

.vbAppBrandName strong {
  font-size: 20px;
  font-style: italic;
  font-weight: 800;
  letter-spacing: -.05em;
}

.vbAppTopbar {
  border-color: var(--yb-pulse-line);
  background: rgb(255 255 255 / 97%);
}

.vbAppTopbarBrand {
  color: var(--yb-pulse-graphite);
}

.vbAppCurrentVenue {
  border-color: var(--yb-pulse-line);
  color: #343a43;
  background: var(--yb-pulse-surface);
}

.vbGlobalNav {
  border-color: var(--yb-pulse-line);
  background: rgb(255 255 255 / 98%);
}

.vbGlobalNavItem[data-active="true"] {
  color: var(--yb-pulse-graphite);
  background: rgb(183 243 74 / 28%);
}

.vbAppRail {
  border-color: #343a43;
  color: var(--yb-pulse-off-white);
  background: var(--yb-pulse-graphite);
}

.vbAppRailBrand {
  color: var(--yb-pulse-off-white);
}

.vbAppRail .vbGlobalNavItem {
  color: #b8c0c8;
}

.vbAppRail .vbGlobalNavItem:hover {
  color: #ffffff;
  background: #272d35;
}

.vbAppRail .vbGlobalNavItem[data-active="true"] {
  color: var(--yb-pulse-graphite);
  background: var(--yb-pulse-signal);
}

.vbAppRailNote {
  color: #aeb6be;
}

.vbShellEyebrow,
.vbShellPanelLabel,
.vbTodayEyebrow,
.vbOutputsEyebrow {
  color: var(--yb-pulse-signal-text);
}

.vbAppShell .vbShellButtonPrimary,
.vbAppShell .vbTodayPrimary,
.vbAppShell .vbTodayStickyAction button,
.vbAppShell .vbOutputsPrimary,
.vbAppShell .vbOutputsRequirement button,
.vbAppShell .primary,
.vbAppShell .fixLink.auto,
.vbAppShell .vb-sc-primary {
  border-color: var(--yb-pulse-signal);
  color: var(--yb-pulse-graphite);
  background: var(--yb-pulse-signal);
}

.vbAppShell .vbShellButtonPrimary:hover,
.vbAppShell .vbTodayPrimary:hover,
.vbAppShell .vbTodayStickyAction button:hover,
.vbAppShell .vbOutputsPrimary:hover,
.vbAppShell .vbOutputsRequirement button:hover,
.vbAppShell .primary:hover,
.vbAppShell .fixLink.auto:hover,
.vbAppShell .vb-sc-primary:hover {
  border-color: var(--yb-pulse-signal-hover);
  color: var(--yb-pulse-graphite);
  background: var(--yb-pulse-signal-hover);
}

.vbAppShell button:focus-visible,
.vbAppShell a:focus-visible,
.vbAppShell input:focus-visible,
.vbAppShell select:focus-visible,
.vbAppShell textarea:focus-visible {
  outline: 3px solid var(--yb-pulse-green);
  outline-offset: 2px;
}

.vbTodaySave i,
.vb-sc-status[data-status="ready"]::before {
  background: var(--yb-pulse-green);
}

.vb-sc-status[data-status="manager-check"]::before {
  background: var(--yb-pulse-amber);
}

.vb-sc-status[data-status="blocker"]::before {
  background: var(--yb-pulse-red);
}

@media (max-width: 620px) {
  .vbAppMark {
    width: 36px;
    height: 36px;
  }

  .vbAppBrandName {
    font-size: 17px;
  }

  .vbAppBrandName strong {
    font-size: 19px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vbAppShell *,
  .vbAppShell *::before,
  .vbAppShell *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media print {
  .vbAppShell {
    --vb-sc-color-canvas: #ffffff;
    background: #ffffff;
  }
}
