/*
 * Pluze — tema Oceano sereno
 * Base opt-in para prototipacao e migracao progressiva.
 * Ativar com: <body data-pluze-theme="sereno">
 * Durante o piloto, carregar este arquivo depois dos CSS atuais.
 * Este arquivo nao altera regras de negocio.
 */

/* Requer pluze-design-tokens.css carregado antes desta camada. */

[data-pluze-theme="sereno"] {
  color-scheme: light;

  --pluze-bg: var(--pluze-color-canvas);
  --pluze-surface: var(--pluze-color-surface);
  --pluze-surface-soft: var(--pluze-color-surface-soft);
  --pluze-surface-selected: var(--pluze-color-surface-selected);

  --pluze-text: var(--pluze-color-text);
  --pluze-text-muted: var(--pluze-color-text-muted);
  --pluze-line: var(--pluze-color-border);
  --pluze-line-strong: var(--pluze-color-border-strong);

  --pluze-primary: var(--pluze-action-primary);
  --pluze-primary-strong: var(--pluze-action-primary-hover);
  --pluze-primary-soft: var(--pluze-action-primary-soft);
  --pluze-on-primary: var(--pluze-action-on-primary);
  --pluze-accent: var(--pluze-brand-cyan);

  --pluze-success: var(--pluze-status-success);
  --pluze-success-soft: var(--pluze-status-success-soft);
  --pluze-warning: var(--pluze-status-warning);
  --pluze-warning-soft: var(--pluze-status-warning-soft);
  --pluze-danger: var(--pluze-status-danger);
  --pluze-danger-soft: var(--pluze-status-danger-soft);
  --pluze-info: var(--pluze-status-info);
  --pluze-info-soft: var(--pluze-status-info-soft);

  --pluze-focus: var(--pluze-action-focus-ring);
  --pluze-radius-sm: 9px;
  --pluze-radius-md: 12px;
  --pluze-radius-lg: 16px;

  /* Aliases temporarios para a camada atual. */
  --workspace-bg: var(--pluze-bg);
  --workspace-surface: var(--pluze-surface);
  --workspace-surface-soft: var(--pluze-surface-soft);
  --workspace-line: var(--pluze-line);
  --workspace-text: var(--pluze-text);
  --workspace-muted: var(--pluze-text-muted);
  --workspace-primary: var(--pluze-primary);
  --workspace-primary-strong: var(--pluze-primary-strong);
  --workspace-primary-soft: var(--pluze-primary-soft);
  --workspace-nav-blue: var(--pluze-primary);
  --workspace-nav-blue-strong: var(--pluze-primary-strong);
  --workspace-nav-blue-soft: var(--pluze-primary-soft);
  --workspace-green: var(--pluze-success);
  --workspace-green-soft: var(--pluze-success-soft);
  --workspace-orange: var(--pluze-warning);
  --workspace-orange-soft: var(--pluze-warning-soft);
  --workspace-red: var(--pluze-danger);
  --workspace-red-soft: var(--pluze-danger-soft);
  --workspace-shadow: var(--pluze-shadow-sm);
  --workspace-radius: var(--pluze-radius-md);

  --green: var(--pluze-primary);
  --green2: var(--pluze-primary-strong);
  --green-dark: var(--pluze-text);
  --green-deep: var(--pluze-text);
  --mint: var(--pluze-primary-soft);
  --mint-strong: color-mix(in srgb, var(--pluze-primary) 14%, var(--pluze-surface));
  --ink: var(--pluze-text);
  --muted: var(--pluze-text-muted);
  --line: var(--pluze-line);
  --bg: var(--pluze-bg);
  --white: var(--pluze-surface);
  --red: var(--pluze-danger);
  --amber: var(--pluze-warning);
  --blue: var(--pluze-info);
  --shadow-sm: var(--pluze-shadow-sm);
  --shadow-md: var(--pluze-shadow-md);
}

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

[data-pluze-theme="sereno"] .sidebar {
  color: var(--pluze-color-sidebar-on-blue);
  background: linear-gradient(160deg,
    var(--pluze-color-sidebar-blue-start),
    var(--pluze-color-sidebar-blue-end));
  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 > nav {
  padding: 10px 7px 20px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  scrollbar-color: var(--pluze-color-sidebar-muted-on-blue) transparent;
}

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

[data-pluze-theme="sereno"] .sidebar .brand-home,
[data-pluze-theme="sereno"] .sidebar .brand-copy strong,
[data-pluze-theme="sereno"] .sidebar .sidebar-foot strong,
[data-pluze-theme="sereno"] .sidebar .pluze-product-switcher strong {
  color: var(--pluze-color-sidebar-on-blue);
}

[data-pluze-theme="sereno"] .sidebar .brand-copy small,
[data-pluze-theme="sereno"] .sidebar .sidebar-foot,
[data-pluze-theme="sereno"] .sidebar .sidebar-module-links a,
[data-pluze-theme="sereno"] .sidebar .pluze-product-switcher small {
  color: var(--pluze-color-sidebar-muted-on-blue);
}

[data-pluze-theme="sereno"] .sidebar .brand-logo {
  filter: brightness(0) invert(1);
}

[data-pluze-theme="sereno"] .sidebar .sidebar-close,
[data-pluze-theme="sereno"] .sidebar .sidebar-module-links a:hover,
[data-pluze-theme="sereno"] .sidebar .sidebar-module-links a:focus-visible {
  color: var(--pluze-color-sidebar-on-blue);
}

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

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

[data-pluze-theme="sereno"] .sidebar .sidebar-module-links {
  border-color: var(--pluze-color-sidebar-line-on-blue);
}

[data-pluze-theme="sereno"] .sidebar .pluze-product-switcher {
  color: var(--pluze-color-sidebar-on-blue);
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

[data-pluze-theme="sereno"] .sidebar .pluze-product-switcher__field {
  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: transparent;
  border-color: transparent;
}

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

[data-pluze-theme="sereno"] .sidebar > nav .nav-label {
  color: var(--pluze-color-sidebar-muted-on-blue);
}

[data-pluze-theme="sereno"] .sidebar > nav .nav-group-title-icon,
[data-pluze-theme="sereno"] .sidebar > nav .nav-chevron {
  color: var(--pluze-color-sidebar-muted-on-blue);
}

[data-pluze-theme="sereno"] .sidebar > nav .nav-label:hover,
[data-pluze-theme="sereno"] .sidebar > nav .nav-label:focus-visible {
  color: var(--pluze-color-sidebar-on-blue);
  background: var(--pluze-color-sidebar-hover);
}

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

[data-pluze-theme="sereno"] .sidebar > nav a: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 > nav a.active,
[data-pluze-theme="sereno"] .sidebar > nav a.active:hover,
[data-pluze-theme="sereno"] .sidebar > nav a.active:focus-visible {
  color: var(--pluze-color-sidebar-active-text);
  background: var(--pluze-color-sidebar-active);
  border-color: var(--pluze-color-sidebar-active);
  box-shadow: var(--pluze-shadow-sm);
}

[data-pluze-theme="sereno"] .sidebar > nav .nav-icon,
[data-pluze-theme="sereno"] .sidebar > nav .nav-group > a:not(:first-of-type) .nav-icon {
  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 > nav a:hover .nav-icon,
[data-pluze-theme="sereno"] .sidebar > nav .nav-group > a:not(:first-of-type):hover .nav-icon {
  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 > nav a.active .nav-icon,
[data-pluze-theme="sereno"] .sidebar > nav a.active:hover .nav-icon,
[data-pluze-theme="sereno"] .sidebar > nav a.active:focus-visible .nav-icon,
[data-pluze-theme="sereno"] .sidebar > nav .nav-group > a:not(:first-of-type).active .nav-icon,
[data-pluze-theme="sereno"] .sidebar > nav .nav-group > a:not(:first-of-type).active:hover .nav-icon,
[data-pluze-theme="sereno"] .sidebar > nav .nav-group > a:not(:first-of-type).active:focus-visible .nav-icon {
  color: var(--pluze-color-sidebar-on-blue);
  background: var(--pluze-color-sidebar-blue-start);
  border-color: var(--pluze-color-sidebar-blue-start);
  box-shadow: var(--pluze-shadow-sm);
}

[data-pluze-theme="sereno"] .sidebar > nav .nav-group > a:not(:first-of-type)::before,
[data-pluze-theme="sereno"] .sidebar > nav .nav-group > a:not(:first-of-type)::after,
[data-pluze-theme="sereno"] .sidebar > nav a.nav-subitem::before,
[data-pluze-theme="sereno"] .sidebar > nav a.nav-subitem::after {
  background: var(--pluze-color-sidebar-line-on-blue);
}

[data-pluze-theme="sereno"] .sidebar > nav a b {
  color: var(--pluze-color-sidebar-on-blue);
  background: var(--pluze-color-sidebar-icon-bg);
}

[data-pluze-theme="sereno"] .sidebar > nav a.active b {
  color: var(--pluze-color-sidebar-active-text);
  background: var(--pluze-primary-soft);
}

[data-pluze-theme="sereno"] .panel,
[data-pluze-theme="sereno"] .cards article {
  color: var(--pluze-text);
  background: var(--pluze-surface);
  border-color: var(--pluze-line);
  box-shadow: var(--pluze-shadow-sm);
}

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

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

[data-pluze-theme="sereno"] .btn.secondary {
  color: var(--pluze-primary);
  background: var(--pluze-surface);
  border-color: var(--pluze-line-strong);
  box-shadow: none;
}

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

[data-pluze-theme="sereno"] input:not([type="checkbox"]):not([type="radio"]),
[data-pluze-theme="sereno"] select,
[data-pluze-theme="sereno"] textarea,
[data-pluze-theme="sereno"] .table-search {
  color: var(--pluze-text);
  background: var(--pluze-surface);
  border-color: var(--pluze-line-strong) !important;
}

[data-pluze-theme="sereno"] input:not([type="checkbox"]):not([type="radio"]):focus,
[data-pluze-theme="sereno"] select:focus,
[data-pluze-theme="sereno"] textarea:focus,
[data-pluze-theme="sereno"] .table-search:focus {
  outline: 3px solid var(--pluze-focus) !important;
  border-color: var(--pluze-primary) !important;
}

[data-pluze-theme="sereno"] input[type="checkbox"],
[data-pluze-theme="sereno"] input[type="radio"] {
  accent-color: var(--pluze-primary);
}

[data-pluze-theme="sereno"] th {
  color: var(--pluze-text-muted);
  background: var(--pluze-surface-soft);
  border-bottom-color: var(--pluze-line);
}

[data-pluze-theme="sereno"] td {
  border-bottom-color: var(--pluze-line);
}

[data-pluze-theme="sereno"] tbody tr:hover {
  background: var(--pluze-primary-soft);
}

[data-pluze-theme="sereno"] .badge.ok {
  color: var(--pluze-success);
  background: var(--pluze-success-soft);
}

[data-pluze-theme="sereno"] .badge.warning {
  color: var(--pluze-warning);
  background: var(--pluze-warning-soft);
}

[data-pluze-theme="sereno"] .alert.info {
  color: var(--pluze-info);
  background: var(--pluze-info-soft);
  border-color: color-mix(in srgb, var(--pluze-info) 24%, var(--pluze-line));
}

[data-pluze-theme="sereno"] .alert.warning {
  color: var(--pluze-warning);
  background: var(--pluze-warning-soft);
  border-color: color-mix(in srgb, var(--pluze-warning) 24%, var(--pluze-line));
}

[data-pluze-theme="sereno"] .alert.error {
  color: var(--pluze-danger);
  background: var(--pluze-danger-soft);
  border-color: color-mix(in srgb, var(--pluze-danger) 24%, var(--pluze-line));
}

/* Fase 2 — shell global e componentes compartilhados. */
[data-pluze-theme="sereno"] .app-header {
  color: var(--pluze-text);
  background: color-mix(in srgb, var(--pluze-surface) 94%, var(--pluze-primary-soft));
  border-bottom-color: var(--pluze-line);
}

[data-pluze-theme="sereno"] .page-kicker,
[data-pluze-theme="sereno"] .eyebrow,
[data-pluze-theme="sereno"] .section-title > span {
  color: var(--pluze-primary);
}

[data-pluze-theme="sereno"] .page-heading p,
[data-pluze-theme="sereno"] .section-title p,
[data-pluze-theme="sereno"] .panel-head p,
[data-pluze-theme="sereno"] .empty-state {
  color: var(--pluze-text-muted);
}

[data-pluze-theme="sereno"] .menu-toggle,
[data-pluze-theme="sereno"] .platform-settings-link,
[data-pluze-theme="sereno"] .working-condominium-picker button {
  color: var(--pluze-primary);
  background: var(--pluze-primary-soft);
  border-color: color-mix(in srgb, var(--pluze-primary) 20%, var(--pluze-line));
}

[data-pluze-theme="sereno"] .btn:focus-visible,
[data-pluze-theme="sereno"] button:focus-visible,
[data-pluze-theme="sereno"] a:focus-visible,
[data-pluze-theme="sereno"] summary:focus-visible {
  outline: 3px solid var(--pluze-focus);
  outline-offset: 2px;
}

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

[data-pluze-theme="sereno"] .link-button,
[data-pluze-theme="sereno"] .file-link {
  color: var(--pluze-primary);
}

[data-pluze-theme="sereno"] .badge.info,
[data-pluze-theme="sereno"] .badge.active {
  color: var(--pluze-info);
  background: var(--pluze-info-soft);
}

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

[data-pluze-theme="sereno"] .dialog-card,
[data-pluze-theme="sereno"] .finance-modal-card,
[data-pluze-theme="sereno"] dialog {
  color: var(--pluze-text);
  background: var(--pluze-surface);
  border-color: var(--pluze-line);
  box-shadow: var(--pluze-shadow-md);
}

[data-pluze-theme="sereno"] .dialog-actions,
[data-pluze-theme="sereno"] .finance-modal-header,
[data-pluze-theme="sereno"] .finance-modal-body {
  border-color: var(--pluze-line);
}

[data-pluze-theme="sereno"] .check-card:has(input:checked) {
  color: var(--pluze-primary-strong);
  background: var(--pluze-primary-soft);
  border-color: var(--pluze-primary);
}

/* Fase 3 — acesso e telas-piloto. */
[data-pluze-theme="sereno"].pluze-login-page {
  color: var(--pluze-text);
  background: var(--pluze-bg);
}

[data-pluze-theme="sereno"] .pluze-login-card {
  color: var(--pluze-text);
  background: var(--pluze-surface);
  border-color: var(--pluze-line);
  box-shadow: var(--pluze-shadow-md);
}

[data-pluze-theme="sereno"] .pluze-login-card button[type="submit"] {
  color: var(--pluze-on-primary);
  background: var(--pluze-primary);
  border-color: var(--pluze-primary);
}

[data-pluze-theme="sereno"] .pluze-login-card button[type="submit"]:hover {
  background: var(--pluze-primary-strong);
  border-color: var(--pluze-primary-strong);
}

[data-pluze-theme="sereno"] .units-hero,
[data-pluze-theme="sereno"] .unit-create-panel,
[data-pluze-theme="sereno"] .unit-directory,
[data-pluze-theme="sereno"] .unit-row,
[data-pluze-theme="sereno"] .unit-kpis article,
[data-pluze-theme="sereno"] .condo-rateio-summary article {
  color: var(--pluze-text);
  background: var(--pluze-surface);
  border-color: var(--pluze-line);
}

[data-pluze-theme="sereno"] .unit-row:hover,
[data-pluze-theme="sereno"] .condo-workspace-nav a:hover {
  background: var(--pluze-primary-soft);
}

[data-pluze-theme="sereno"] .unit-house,
[data-pluze-theme="sereno"] .condo-workspace-nav a > span {
  color: var(--pluze-primary);
  background: var(--pluze-primary-soft);
}

[data-pluze-theme="sereno"] .unit-status.status-ativa,
[data-pluze-theme="sereno"] .tag-badge.garantia {
  color: var(--pluze-success);
  background: var(--pluze-success-soft);
}

[data-pluze-theme="sereno"] .condo-360-hero {
  color: var(--pluze-on-primary);
  background: linear-gradient(135deg, var(--pluze-primary-strong), var(--pluze-primary));
}

[data-pluze-theme="sereno"] .condo-identity-dialog-card,
[data-pluze-theme="sereno"] .identity-sync-panel {
  color: var(--pluze-text);
  background: var(--pluze-bg);
  border-color: var(--pluze-line);
}

[data-pluze-theme="sereno"] .ecosystem-module,
[data-pluze-theme="sereno"] .metric-card,
[data-pluze-theme="sereno"] .process-row {
  color: var(--pluze-text);
  background: var(--pluze-surface);
  border-color: var(--pluze-line);
}

[data-pluze-theme="sereno"] .module-icon,
[data-pluze-theme="sereno"] .metric-icon,
[data-pluze-theme="sereno"] .process-avatar {
  color: var(--pluze-primary);
  background: var(--pluze-primary-soft);
}

/* Fase 4 — expansao modular do Operacional. */
[data-pluze-theme="sereno"] .dashboard-kpi,
[data-pluze-theme="sereno"] .aging-dashboard-card,
[data-pluze-theme="sereno"] .finance-form-block,
[data-pluze-theme="sereno"] .finance-action-section,
[data-pluze-theme="sereno"] .bank-account-card,
[data-pluze-theme="sereno"] .permission-module,
[data-pluze-theme="sereno"] .scope-block,
[data-pluze-theme="sereno"] .ai-provider-card,
[data-pluze-theme="sereno"] .integration-lab-accordion,
[data-pluze-theme="sereno"] .fiscal-test-card,
[data-pluze-theme="sereno"] .collection-process-item,
[data-pluze-theme="sereno"] .collection-import-report-list > details {
  color: var(--pluze-text);
  background: var(--pluze-surface);
  border-color: var(--pluze-line);
}

[data-pluze-theme="sereno"] .finance-dock-action:hover,
[data-pluze-theme="sereno"] .bank-account-card:hover,
[data-pluze-theme="sereno"] .collection-process-item:hover,
[data-pluze-theme="sereno"] .collection-process-row:hover,
[data-pluze-theme="sereno"] .balance-condo-row:hover {
  color: var(--pluze-primary-strong);
  background: var(--pluze-primary-soft);
}

[data-pluze-theme="sereno"] .finance-dock-icon,
[data-pluze-theme="sereno"] .bank-symbol,
[data-pluze-theme="sereno"] .permission-module-icon,
[data-pluze-theme="sereno"] .integration-lab-accordion-icon,
[data-pluze-theme="sereno"] .fiscal-test-step,
[data-pluze-theme="sereno"] .collection-item-kind,
[data-pluze-theme="sereno"] .collection-process-date,
[data-pluze-theme="sereno"] .balance-condo-symbol {
  color: var(--pluze-primary);
  background: var(--pluze-primary-soft);
}

[data-pluze-theme="sereno"] .collection-dashboard-filters a.active,
[data-pluze-theme="sereno"] .collection-process-tabs a.active,
[data-pluze-theme="sereno"] .template-tab.is-active,
[data-pluze-theme="sereno"] .template-view-tab.is-active {
  color: var(--pluze-on-primary);
  background: var(--pluze-primary);
  border-color: var(--pluze-primary);
}

[data-pluze-theme="sereno"] .template-variable-chip,
[data-pluze-theme="sereno"] .template-edit-trigger,
[data-pluze-theme="sereno"] .collection-inline-value,
[data-pluze-theme="sereno"] .balance-condo-row i {
  color: var(--pluze-primary);
}

[data-pluze-theme="sereno"] .monthly-policy-card:has(input:checked),
[data-pluze-theme="sereno"] .monthly-management-steps article:has(input:checked) {
  color: var(--pluze-primary-strong);
  background: var(--pluze-primary-soft);
  border-color: var(--pluze-primary);
}

/* Pontes de migracao para acoes ainda definidas nos CSS de modulo. */
[data-pluze-theme="sereno"].page-a_receber {
  --workspace-primary: var(--pluze-primary);
  --workspace-primary-strong: var(--pluze-primary-strong);
  --workspace-primary-soft: var(--pluze-primary-soft);
}

[data-pluze-theme="sereno"] .native-receivables-tabs a.active,
[data-pluze-theme="sereno"].page-a_receber .native-receivables-tabs a.active {
  color: var(--pluze-on-primary) !important;
  background: var(--pluze-primary) !important;
  border-color: var(--pluze-primary) !important;
  box-shadow: var(--pluze-shadow-sm);
}

[data-pluze-theme="sereno"].page-a_receber .icon-action:hover,
[data-pluze-theme="sereno"].page-a_receber .icon-action:focus-visible {
  color: var(--pluze-primary) !important;
  background: var(--pluze-primary-soft) !important;
  border-color: color-mix(in srgb, var(--pluze-primary) 30%, var(--pluze-line)) !important;
}

[data-pluze-theme="sereno"] .native-period-nav a,
[data-pluze-theme="sereno"] .native-title-actions a,
[data-pluze-theme="sereno"] .native-title-actions button {
  color: var(--pluze-primary);
}

[data-pluze-theme="sereno"] .native-period-nav a:hover,
[data-pluze-theme="sereno"] .native-period-nav a:focus-visible {
  color: var(--pluze-primary-strong);
  background: var(--pluze-primary-soft);
  border-color: var(--pluze-primary);
  outline-color: var(--pluze-focus);
}

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

[data-pluze-theme="sereno"] .pluze-product-switcher__field:hover,
[data-pluze-theme="sereno"] .pluze-product-switcher__field:focus-within {
  background: var(--pluze-surface-soft);
  border-color: var(--pluze-primary);
}

[data-pluze-theme="sereno"] .pluze-product-switcher__field:focus-within {
  box-shadow: 0 0 0 3px var(--pluze-focus);
}

[data-pluze-theme="sereno"] .monthly-cycle-card:hover,
[data-pluze-theme="sereno"] .monthly-cycle-card.selected,
[data-pluze-theme="sereno"] .monthly-flow-tabs > button[aria-selected="true"] {
  border-color: var(--pluze-primary);
}

[data-pluze-theme="sereno"] .monthly-cycle-card.selected,
[data-pluze-theme="sereno"] .monthly-billing-toolbar nav a.active,
[data-pluze-theme="sereno"] .monthly-flow-tabs > button[aria-selected="true"] {
  color: var(--pluze-primary-strong);
  background: var(--pluze-primary-soft);
}

[data-pluze-theme="sereno"] .monthly-cycle-icon,
[data-pluze-theme="sereno"] .monthly-cycle-card small,
[data-pluze-theme="sereno"] .monthly-cycle-card > a > b,
[data-pluze-theme="sereno"] .monthly-flow-code,
[data-pluze-theme="sereno"] .monthly-flow-section-title span {
  color: var(--pluze-primary);
}

[data-pluze-theme="sereno"] .monthly-cycle-icon {
  background: var(--pluze-primary-soft);
}

[data-pluze-theme="sereno"] .billing-card-action,
[data-pluze-theme="sereno"] .monthly-kanban-card details summary {
  color: var(--pluze-on-primary);
  background: var(--pluze-primary);
}

[data-pluze-theme="sereno"] .monthly-card-toggle:focus-visible {
  outline-color: var(--pluze-primary);
}

[data-pluze-theme="sereno"] .monthly-condo-policy-form .monthly-policy-grid input[type="checkbox"] {
  accent-color: var(--pluze-primary);
}

[data-pluze-theme="sereno"] .report-switch {
  position: relative;
}

[data-pluze-theme="sereno"] .report-switch > input[type="checkbox"] {
  inset: auto;
  width: 38px;
  height: 21px;
  margin: 0;
}

/* Sidebar em duas faixas: ícones na régua azul e submenus no painel claro. */
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail {
  --pluze-sidebar-rail: 52px;
  padding-right: 0;
  padding-left: 0;
  isolation:isolate;
  background:
    radial-gradient(circle at 86% 8%,var(--pluze-nav-panel-glow),transparent 30%),
    linear-gradient(90deg,var(--pluze-color-sidebar-rail) 0 var(--pluze-sidebar-rail),var(--pluze-color-sidebar-nav) var(--pluze-sidebar-rail) 100%);
  border-right-color: var(--pluze-color-sidebar-blue-start);
  box-shadow:12px 0 34px var(--pluze-color-sidebar-blue-shadow);
}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail::after {content:"";position:absolute;z-index:-1;inset:0 auto 0 calc(var(--pluze-sidebar-rail) - 1px);width:1px;background:linear-gradient(180deg,transparent,var(--pluze-color-border-strong) 12%,var(--pluze-color-border-strong) 88%,transparent);pointer-events:none}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .brand-symbol-only {min-height:72px;justify-content:flex-start;padding:0 6px;border-bottom-color:var(--pluze-color-sidebar-line-on-blue)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .brand-symbol-only .brand-home {width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--pluze-color-sidebar-line-on-blue);border-radius:13px;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.05));box-shadow:0 10px 24px rgba(1,18,40,.22)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .brand-symbol-only .brand-logo {width:30px;height:30px;flex-basis:30px;filter:drop-shadow(0 4px 7px rgba(1,18,40,.24))}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .pluze-product-switcher {margin-right:10px;margin-left:calc(var(--pluze-sidebar-rail) + 10px)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail > nav {display:grid;grid-template-columns:var(--pluze-sidebar-rail) minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden;padding:10px 8px 22px 0}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-group-rail {grid-column:1;grid-row:1;display:flex;min-height:0;flex-direction:column;align-items:center;gap:7px;padding:2px 6px;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-group-rail::-webkit-scrollbar {display:none}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail [data-nav-tone="overview"] {--nav-accent:var(--pluze-nav-overview)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail [data-nav-tone="reports"] {--nav-accent:var(--pluze-nav-reports)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail [data-nav-tone="condominium"] {--nav-accent:var(--pluze-nav-condominium)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail [data-nav-tone="income"] {--nav-accent:var(--pluze-nav-income)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail [data-nav-tone="expense"] {--nav-accent:var(--pluze-nav-expense)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail [data-nav-tone="fiscal"] {--nav-accent:var(--pluze-nav-fiscal)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail [data-nav-tone="platform"] {--nav-accent:var(--pluze-nav-platform)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-group-rail__button {position:relative;display:grid;place-items:center;width:40px;height:40px;min-height:40px;margin:0;padding:0;color:var(--nav-accent,var(--pluze-color-sidebar-on-blue));background:transparent;border:1px solid transparent;border-radius:12px;box-shadow:none;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-group-rail__button::before {content:"";position:absolute;left:-7px;width:3px;height:0;border-radius:0 999px 999px 0;background:var(--nav-accent,var(--pluze-nav-overview));box-shadow:0 0 12px var(--nav-accent,var(--pluze-nav-overview));transition:height .18s ease}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-group-rail__button:hover,
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-group-rail__button:focus-visible {background:var(--pluze-color-sidebar-hover);border-color:var(--pluze-color-sidebar-line-on-blue);outline:2px solid var(--nav-accent,var(--pluze-nav-overview));outline-offset:2px;transform:translateY(-1px)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-group-rail__button:hover {background:var(--pluze-color-sidebar-hover);border-color:var(--pluze-color-sidebar-line-on-blue);transform:translateY(-1px)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-group-rail__button.is-active {color:var(--nav-accent,var(--pluze-color-sidebar-on-blue));background:linear-gradient(145deg,rgba(255,255,255,.20),rgba(255,255,255,.08));border-color:var(--pluze-color-sidebar-line-on-blue);box-shadow:0 10px 22px var(--pluze-nav-active-shadow),inset 0 1px 0 rgba(255,255,255,.14)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-group-rail__button.is-active::before {height:22px}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-group-rail__icon {display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.055);transition:transform .18s ease,background .18s ease}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-group-rail__button:hover .sidebar-group-rail__icon,
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-group-rail__button.is-active .sidebar-group-rail__icon {background:rgba(255,255,255,.08);transform:scale(1.04)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-group-rail__button svg {display:block;width:21px;height:21px;stroke-width:1.75}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .nav-group {grid-column:2;grid-row:1;min-width:0;min-height:0;margin:0;padding:0 1px 12px 9px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .nav-group.is-collapsed {display:none}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .nav-group:not(.is-collapsed) {animation:pluzeNavPanelIn .22s cubic-bezier(.2,.75,.25,1)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .nav-label {position:sticky;z-index:2;top:0;display:block;width:100%;min-height:32px;margin:0 0 6px;padding:6px 10px 6px 11px;color:var(--pluze-color-sidebar-active-text);background:transparent;border:0;border-radius:0;box-shadow:none;text-align:left}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .nav-label:hover,
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .nav-label:focus-visible {color:var(--pluze-color-sidebar-active-text);background:transparent;border-color:transparent;outline:0}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .nav-label:hover {color:var(--pluze-color-sidebar-active-text);background:transparent;border-color:transparent}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .nav-label__title {display:inline;min-width:0;color:var(--pluze-color-sidebar-active-text);font-size:11.5px;font-weight:700;line-height:1.2;letter-spacing:.005em;text-align:left;text-transform:none;transition:color .16s ease}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .nav-label:hover .nav-label__title {color:var(--nav-accent)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .nav-label:focus-visible .nav-label__title {color:var(--nav-accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a,
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav .nav-group > a:not(:first-of-type),
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a.nav-subitem {position:relative;width:auto;min-height:38px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;margin:2px 0;padding:7px 10px 7px 13px;color:var(--pluze-color-sidebar-text);font-size:11px;font-weight:650;line-height:1.25;border:1px solid transparent;border-radius:10px;transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a > span:nth-child(2) {align-self:center;min-width:0;padding-left:0}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a .nav-icon {display:none!important}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a > span:nth-child(2) {grid-column:1}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a > .nav-external,
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a > b {grid-column:2;align-self:center;padding-left:0}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a:hover {color:var(--pluze-color-sidebar-active-text);background:var(--pluze-color-surface);border-color:color-mix(in srgb,var(--nav-accent) 38%,transparent);transform:translateX(2px)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a:focus-visible {outline:2px solid var(--nav-accent);outline-offset:1px}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a.active {color:var(--pluze-color-sidebar-active-text);background:var(--nav-accent);border-color:color-mix(in srgb,var(--nav-accent) 74%,var(--pluze-color-sidebar-active-text));box-shadow:inset 3px 0 0 color-mix(in srgb,var(--pluze-color-sidebar-active-text) 36%,transparent),0 6px 14px color-mix(in srgb,var(--nav-accent) 30%,transparent);transform:none}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a.active b {color:var(--pluze-color-sidebar-active-text)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .nav-icon,
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav .nav-group > a:not(:first-of-type) .nav-icon,
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a.nav-subitem .nav-icon {width:25px;height:25px;justify-self:center;padding:4px;color:var(--pluze-color-sidebar-on-blue);background:transparent;border-color:transparent;border-radius:6px;box-shadow:none}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a.active .nav-icon,
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a.active:hover .nav-icon,
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav a.active:focus-visible .nav-icon {color:var(--pluze-color-sidebar-on-blue);background:var(--pluze-color-sidebar-hover);border-color:transparent;box-shadow:none}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail nav .nav-group > a::before {display:none}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-bottom {border-top-color:var(--pluze-color-border)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .pluze-product-switcher,
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .pluze-product-switcher strong,
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .pluze-product-switcher small,
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-foot {color:var(--pluze-color-sidebar-text)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-foot strong {color:var(--pluze-color-sidebar-active-text)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-foot small {color:var(--pluze-color-sidebar-text)}
body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail .sidebar-foot {margin-left:var(--pluze-sidebar-rail);padding-left:11px}
@keyframes pluzeNavPanelIn {from{opacity:0;transform:translateX(-7px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:900px){body[data-pluze-theme="sereno"] .sidebar.sidebar-dual-rail{--pluze-sidebar-rail:52px}}

@media (prefers-reduced-motion: reduce) {
  [data-pluze-theme="sereno"] *,
  [data-pluze-theme="sereno"] *::before,
  [data-pluze-theme="sereno"] *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
