/*
 * Pluze — ponte cromatica do ecossistema.
 * Consome o repositorio canonico publicado pelo Operacional.
 * Nao altera layout, rotas ou regras de negocio.
 */

[data-pluze-theme="sereno"] {
  --blue: var(--pluze-action-primary);
  --blue-soft: var(--pluze-action-primary-soft);
  --green: var(--pluze-status-success);
  --green-soft: var(--pluze-status-success-soft);
  --amber: var(--pluze-status-warning);
  --amber-soft: var(--pluze-status-warning-soft);
  --red: var(--pluze-status-danger);
  --red-soft: var(--pluze-status-danger-soft);
  --ink: var(--pluze-color-text);
  --muted: var(--pluze-color-text-muted);
  --line: var(--pluze-color-border);
  --surface: var(--pluze-color-surface);
  --surface-soft: var(--pluze-color-surface-soft);
  --auth-primary: var(--pluze-action-primary);
  --auth-navy: var(--pluze-brand-navy);
  --auth-ink: var(--pluze-color-text);
  --auth-muted: var(--pluze-color-text-muted);
  --auth-line: var(--pluze-color-border);
}

[data-pluze-theme="sereno"] {
  color: var(--pluze-color-text);
  background: var(--pluze-color-canvas);
}

[data-pluze-theme="sereno"] .sidebar {
  background:
    radial-gradient(
      circle at 78% 7%,
      var(--pluze-nav-panel-glow),
      transparent 28%
    ),
    linear-gradient(
      160deg,
      var(--pluze-color-sidebar-rail-start),
      var(--pluze-color-sidebar-rail-end)
    );
  color: var(--pluze-color-sidebar-on-blue);
  border-right-color: var(--pluze-color-sidebar-line-on-blue);
  box-shadow: 0 12px 30px var(--pluze-color-sidebar-blue-shadow);
}

[data-pluze-theme="sereno"] .sidebar .brand-symbol-only {
  justify-content: center;
}

[data-pluze-theme="sereno"] .sidebar .brand-symbol-only .brand-mark {
  width: 44px;
  height: 44px;
  flex-basis: 44px;
  background: transparent;
  border-color: transparent;
  border-radius: 0;
}

[data-pluze-theme="sereno"] .pluze-system-help-trigger {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 900;
  margin: 0;
  color: var(--pluze-color-text);
  background: var(--pluze-color-surface);
  border-color: var(--pluze-color-border);
  box-shadow: var(--pluze-shadow-md);
  opacity: .92;
}

[data-pluze-theme="sereno"] .main-nav a.active,
[data-pluze-theme="sereno"] .nav-item.active {
  color: var(--pluze-color-sidebar-on-blue);
  background: var(--pluze-color-sidebar-hover);
  border-color: var(--pluze-color-sidebar-line-on-blue);
  box-shadow: none;
}

[data-pluze-theme="sereno"] .sidebar .brand,
[data-pluze-theme="sereno"] .sidebar .sidebar-footer,
[data-pluze-theme="sereno"] .sidebar .operator-card {
  border-color: var(--pluze-color-sidebar-line-on-blue);
}

[data-pluze-theme="sereno"] .sidebar .brand strong,
[data-pluze-theme="sereno"] .sidebar .brand b,
[data-pluze-theme="sereno"] .sidebar .user-info strong,
[data-pluze-theme="sereno"] .sidebar .operator-card strong,
[data-pluze-theme="sereno"] .sidebar .pluze-product-switcher strong {
  color: var(--pluze-color-sidebar-on-blue);
}

[data-pluze-theme="sereno"] .sidebar .brand small,
[data-pluze-theme="sereno"] .sidebar .nav-group,
[data-pluze-theme="sereno"] .sidebar .nav-group-title,
[data-pluze-theme="sereno"] .sidebar .user-info small,
[data-pluze-theme="sereno"] .sidebar .operator-card small,
[data-pluze-theme="sereno"] .sidebar .pluze-product-switcher small {
  color: var(--pluze-color-sidebar-muted-on-blue);
}

[data-pluze-theme="sereno"] .sidebar .main-nav a,
[data-pluze-theme="sereno"] .sidebar .nav-item {
  color: var(--pluze-color-sidebar-on-blue);
}

[data-pluze-theme="sereno"] .sidebar .nav-icon {
  color: var(--pluze-color-sidebar-on-blue);
  background: transparent;
  border-color: var(--pluze-color-sidebar-line-on-blue);
}

[data-pluze-theme="sereno"] .sidebar .main-nav a:hover,
[data-pluze-theme="sereno"] .sidebar .nav-item:hover {
  color: var(--pluze-color-sidebar-on-blue);
  background: var(--pluze-color-sidebar-hover);
  border-color: var(--pluze-color-sidebar-line-on-blue);
}

[data-pluze-theme="sereno"] .sidebar .main-nav a.active .icon,
[data-pluze-theme="sereno"] .sidebar .nav-item.active .nav-icon {
  color: var(--pluze-color-sidebar-on-blue);
  background: transparent;
  border-color: var(--pluze-color-sidebar-line-on-blue);
}

[data-pluze-theme="sereno"] .sidebar .company-switcher,
[data-pluze-theme="sereno"] .sidebar .operator-card,
[data-pluze-theme="sereno"] .sidebar .icon-button,
[data-pluze-theme="sereno"] .sidebar .pluze-product-switcher {
  color: var(--pluze-color-sidebar-on-blue);
  background: var(--pluze-color-sidebar-icon-bg);
  border-color: var(--pluze-color-sidebar-line-on-blue);
}

[data-pluze-theme="sereno"] .sidebar .pluze-product-switcher {
  box-shadow: none;
}

[data-pluze-theme="sereno"] .sidebar .pluze-product-switcher__mark {
  color: var(--pluze-color-sidebar-active-text);
  background: var(--pluze-color-sidebar-active);
  border-color: var(--pluze-color-sidebar-active);
}

[data-pluze-theme="sereno"] .sidebar .pluze-product-switcher select {
  color: var(--pluze-color-sidebar-active-text);
  background: var(--pluze-color-sidebar-active);
  border-color: var(--pluze-color-sidebar-active);
}

[data-pluze-theme="sereno"] .sidebar .pluze-product-switcher__field::after {
  color: var(--pluze-color-sidebar-active-text);
}

[data-pluze-theme="sereno"] .topbar,
[data-pluze-theme="sereno"] .card,
[data-pluze-theme="sereno"] .panel,
[data-pluze-theme="sereno"] .login-card {
  color: var(--pluze-color-text);
  background: var(--pluze-color-surface);
  border-color: var(--pluze-color-border);
}

[data-pluze-theme="sereno"] .button-primary,
[data-pluze-theme="sereno"] .btn.primary {
  color: var(--pluze-action-on-primary);
  background: var(--pluze-action-primary);
  border-color: var(--pluze-action-primary);
  box-shadow: var(--pluze-shadow-sm);
}

[data-pluze-theme="sereno"] .button-primary:hover,
[data-pluze-theme="sereno"] .btn.primary:hover:not(:disabled) {
  background: var(--pluze-action-primary-hover);
  border-color: var(--pluze-action-primary-hover);
}

[data-pluze-theme="sereno"] input:focus,
[data-pluze-theme="sereno"] select:focus,
[data-pluze-theme="sereno"] textarea:focus,
[data-pluze-theme="sereno"] button:focus-visible,
[data-pluze-theme="sereno"] a:focus-visible {
  outline: 3px solid var(--pluze-action-focus-ring);
  outline-offset: 2px;
  border-color: var(--pluze-action-primary);
}

[data-pluze-theme="sereno"] .eyebrow,
[data-pluze-theme="sereno"] .page-header .eyebrow,
[data-pluze-theme="sereno"] .heading .eyebrow {
  color: var(--pluze-brand-cyan);
}

[data-pluze-theme="sereno"] .pluze-product-switcher__mark,
[data-pluze-theme="sereno"] .pluze-product-switcher__field::after {
  color: var(--pluze-action-primary);
}

[data-pluze-theme="sereno"] .pluze-product-switcher__mark {
  background: var(--pluze-action-primary-soft);
  border-color: color-mix(in srgb, var(--pluze-action-primary) 20%, var(--pluze-color-border));
}

[data-pluze-theme="sereno"] .flash-success,
[data-pluze-theme="sereno"] .alert.success {
  color: var(--pluze-status-success);
  background: var(--pluze-status-success-soft);
}

[data-pluze-theme="sereno"] .flash-error,
[data-pluze-theme="sereno"] .alert.error {
  color: var(--pluze-status-danger);
  background: var(--pluze-status-danger-soft);
}

[data-pluze-theme="sereno"].login-body,
[data-pluze-theme="sereno"].login-page {
  background: var(--pluze-color-canvas);
}

[data-pluze-theme="sereno"].login-page .login-card .btn.primary,
[data-pluze-theme="sereno"].login-body .button-primary {
  color: var(--pluze-action-on-primary) !important;
  background: var(--pluze-action-primary) !important;
  border-color: var(--pluze-action-primary) !important;
}

[data-pluze-theme="sereno"].login-page .login-card input:focus {
  border-color: var(--pluze-action-primary) !important;
  box-shadow: 0 0 0 3px var(--pluze-action-focus-ring);
}
