/*
 * 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: 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"] .main-nav a.active,
[data-pluze-theme="sereno"] .nav-item.active {
  color: var(--pluze-color-sidebar-active-text);
  background: rgba(255, 255, 255, 0.86);
  border-color: rgba(255, 255, 255, 0.68);
  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 .main-nav a.active,
[data-pluze-theme="sereno"] .sidebar .nav-item.active {
  color: var(--pluze-color-sidebar-active-text);
  background: rgba(255, 255, 255, 0.86);
  border-color: rgba(255, 255, 255, 0.68);
}

[data-pluze-theme="sereno"] .sidebar .main-nav a:hover:not(.active),
[data-pluze-theme="sereno"] .sidebar .nav-item:hover:not(.active) {
  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: var(--pluze-color-sidebar-rail-start);
  border-color: var(--pluze-color-sidebar-rail-start);
}

[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 .company-switcher {
  display: grid;
  gap: 7px;
  margin: 14px 2px 12px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 255, 255, 0.20);
  border-radius: 13px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

[data-pluze-theme="sereno"] .sidebar .company-switcher label {
  position: relative;
  display: grid;
  gap: 7px;
  color: var(--pluze-brand-cyan);
  font-size: 8.5px;
  font-weight: 850;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

[data-pluze-theme="sereno"] .sidebar .company-switcher label::after {
  content: "⌄";
  position: absolute;
  right: 10px;
  bottom: 9px;
  color: var(--pluze-color-sidebar-muted-on-blue);
  font-size: 12px;
  line-height: 1;
  pointer-events: none;
}

[data-pluze-theme="sereno"] .sidebar .company-switcher select {
  width: 100%;
  min-height: 36px;
  padding: 7px 28px 7px 10px;
  color: var(--pluze-color-sidebar-on-blue);
  background: rgba(4, 25, 62, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 9px;
  box-shadow: none;
  font-size: 10.5px;
  font-weight: 750;
  line-height: 1.3;
  appearance: none;
}

[data-pluze-theme="sereno"] .sidebar .company-switcher select:hover {
  background: rgba(4, 25, 62, 0.38);
  border-color: rgba(255, 255, 255, 0.30);
}

[data-pluze-theme="sereno"] .sidebar .company-switcher select:focus {
  background: rgba(4, 25, 62, 0.38);
  border-color: var(--pluze-brand-cyan);
}

[data-pluze-theme="sereno"] .sidebar .company-switcher option {
  color: var(--pluze-color-text);
  background: var(--pluze-color-surface);
}

[data-pluze-theme="sereno"] .sidebar .company-switcher small {
  overflow: hidden;
  color: var(--pluze-color-sidebar-muted-on-blue);
  font-size: 8.5px;
  font-weight: 650;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[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);
}
