/* ==========================================================================
   IPDS — Info Plus Design System
   File:    cupertino.css
   Version: 1.0.0 (Cupertino theme — light premium palette)
   --------------------------------------------------------------------------
   Tema claro completo: tokens light + widget theme + aliases BI.
   Carregado dinamicamente por carregarTema("cupertino") ou estaticamente
   no index.jsp como tema default.

   Contém:
     1) :root com tokens claros (paleta IPDS original)
     2) Widget theme do jQuery UI (agnóstico — usa var())
     3) Aliases --bi-* para o Dashboard BI (agnóstico — usa var())
   ========================================================================== */


/* ==========================================================================
   PARTE 1 — TOKENS CLAROS
   ========================================================================== */

:root {

  /* ========================================================================
     A.1 — ESCALA NAVY (cor-âncora da marca Info Plus)
     ======================================================================== */
  --ipds-color-navy-50:   #F1F5F9;
  --ipds-color-navy-100:  #E2E8F0;
  --ipds-color-navy-200:  #CBD5E1;
  --ipds-color-navy-300:  #94A3B8;
  --ipds-color-navy-400:  #64748B;
  --ipds-color-navy-500:  #475569;
  --ipds-color-navy-600:  #334155;
  --ipds-color-navy-700:  #1B3A5C;
  --ipds-color-navy-800:  #0F2440;
  --ipds-color-navy-900:  #0A1628;

  /* ========================================================================
     A.2 — ESCALA GOLD (accent da marca)
     ======================================================================== */
  --ipds-color-gold-50:   #FFFBEB;
  --ipds-color-gold-100:  #FEF3C7;
  --ipds-color-gold-200:  #FDE68A;
  --ipds-color-gold-300:  #FCD34D;
  --ipds-color-gold-400:  #E8B85C;
  --ipds-color-gold-500:  #D4A24C;
  --ipds-color-gold-600:  #B8842F;
  --ipds-color-gold-700:  #92400E;
  --ipds-color-gold-800:  #78350F;
  --ipds-color-gold-900:  #451A03;

  /* ========================================================================
     A.3 — ESCALA BLUE (accent secundário, links, botões, info)
     ======================================================================== */
  --ipds-color-blue-50:   #EFF6FF;
  --ipds-color-blue-100:  #DBEAFE;
  --ipds-color-blue-200:  #BFDBFE;
  --ipds-color-blue-300:  #93C5FD;
  --ipds-color-blue-400:  #60A5FA;
  --ipds-color-blue-500:  #2563EB;
  --ipds-color-blue-600:  #1D4ED8;
  --ipds-color-blue-700:  #1E40AF;
  --ipds-color-blue-800:  #1E3A8A;
  --ipds-color-blue-900:  #172554;

  /* ========================================================================
     A.4 — ESCALAS SEMÂNTICAS (success, warning, danger)
     ======================================================================== */
  --ipds-color-green-50:    #ECFDF5;
  --ipds-color-green-100:   #DCFCE7;
  --ipds-color-green-500:   #16A34A;
  --ipds-color-green-700:   #15803D;
  --ipds-color-green-900:   #14532D;

  --ipds-color-amber-50:    #FFFBEB;
  --ipds-color-amber-100:   #FEF3C7;
  --ipds-color-amber-500:   #F59E0B;
  --ipds-color-amber-700:   #92400E;
  --ipds-color-amber-900:   #78350F;

  --ipds-color-red-50:      #FEF2F2;
  --ipds-color-red-100:     #FEE2E2;
  --ipds-color-red-500:     #DC2626;
  --ipds-color-red-700:     #991B1B;
  --ipds-color-red-900:     #7F1D1D;

  /* ========================================================================
     A.5 — NEUTROS PUROS
     ======================================================================== */
  --ipds-color-gray-50:   #FAFAFA;
  --ipds-color-gray-100:  #F4F4F5;
  --ipds-color-gray-200:  #E4E4E7;
  --ipds-color-gray-300:  #D4D4D8;
  --ipds-color-gray-400:  #A1A1AA;
  --ipds-color-gray-500:  #71717A;
  --ipds-color-gray-600:  #52525B;
  --ipds-color-gray-700:  #3F3F46;
  --ipds-color-gray-800:  #27272A;
  --ipds-color-gray-900:  #18181B;

  --ipds-color-white:     #FFFFFF;
  --ipds-color-black:     #000000;

  /* ========================================================================
     A.6 — TIPOGRAFIA
     ======================================================================== */
  --ipds-font-sans:       'Inter', -apple-system, BlinkMacSystemFont,
                          'SF Pro Display', 'Segoe UI', Verdana, sans-serif;
  --ipds-font-mono:       'JetBrains Mono', 'Consolas', 'Courier New', monospace;
  --ipds-font-display:    'Copperplate Gothic Bold', 'Inter', sans-serif;
  --ipds-font-handwriting: 'Great Vibes', 'Dancing Script', cursive;

  --ipds-font-weight-regular:    400;
  --ipds-font-weight-medium:     500;
  --ipds-font-weight-semibold:   600;
  --ipds-font-weight-bold:       700;

  --ipds-font-size-xs:    10px;
  --ipds-font-size-sm:    11px;
  --ipds-font-size-base:  13px;
  --ipds-font-size-md:    14px;
  --ipds-font-size-lg:    16px;
  --ipds-font-size-xl:    20px;
  --ipds-font-size-2xl:   24px;
  --ipds-font-size-3xl:   32px;

  --ipds-line-height-tight:    1.15;
  --ipds-line-height-snug:     1.35;
  --ipds-line-height-normal:   1.5;
  --ipds-line-height-relaxed:  1.7;

  --ipds-letter-spacing-tight:    -0.2px;
  --ipds-letter-spacing-normal:    0;
  --ipds-letter-spacing-wide:      0.3px;
  --ipds-letter-spacing-wider:     0.4px;

  /* ========================================================================
     A.7 — ESPAÇAMENTO (escala 4px)
     ======================================================================== */
  --ipds-space-0:     0;
  --ipds-space-1:     2px;
  --ipds-space-2:     4px;
  --ipds-space-3:     6px;
  --ipds-space-4:     8px;
  --ipds-space-5:     10px;
  --ipds-space-6:     12px;
  --ipds-space-8:     16px;
  --ipds-space-10:    20px;
  --ipds-space-12:    24px;
  --ipds-space-16:    32px;
  --ipds-space-20:    40px;
  --ipds-space-24:    48px;

  /* ========================================================================
     A.8 — RAIOS DE BORDA
     ======================================================================== */
  --ipds-radius-none:    0;
  --ipds-radius-xs:      3px;
  --ipds-radius-sm:      5px;
  --ipds-radius-md:      8px;
  --ipds-radius-lg:      10px;
  --ipds-radius-xl:      12px;
  --ipds-radius-2xl:     16px;
  --ipds-radius-pill:    999px;
  --ipds-radius-full:    50%;

  /* ========================================================================
     A.9 — SOMBRAS
     ======================================================================== */
  --ipds-shadow-xs:   0 1px 2px rgba(10, 22, 40, 0.04);
  --ipds-shadow-sm:   0 1px 3px rgba(10, 22, 40, 0.06),
                      0 1px 2px rgba(10, 22, 40, 0.04);
  --ipds-shadow-md:   0 4px 12px rgba(10, 22, 40, 0.08),
                      0 2px 4px rgba(10, 22, 40, 0.04);
  --ipds-shadow-lg:   0 10px 25px rgba(10, 22, 40, 0.10),
                      0 4px 10px rgba(10, 22, 40, 0.06);
  --ipds-shadow-xl:   0 20px 40px rgba(10, 22, 40, 0.15),
                      0 8px 16px rgba(10, 22, 40, 0.08);
  --ipds-shadow-inset: inset 0 1px 2px rgba(10, 22, 40, 0.06);
  --ipds-shadow-focus: 0 0 0 3px rgba(37, 99, 235, 0.25);
  --ipds-shadow-gold-glow: 0 0 0 3px rgba(212, 162, 76, 0.30);

  /* ========================================================================
     A.10 — TRANSIÇÕES
     ======================================================================== */
  --ipds-transition-fast:    120ms cubic-bezier(0.4, 0, 0.2, 1);
  --ipds-transition-base:    200ms cubic-bezier(0.4, 0, 0.2, 1);
  --ipds-transition-slow:    320ms cubic-bezier(0.4, 0, 0.2, 1);

  /* ========================================================================
     A.11 — Z-INDEX
     ======================================================================== */
  --ipds-z-base:        1;
  --ipds-z-dropdown:    1050;
  --ipds-z-sticky:      1020;
  --ipds-z-modal:       9000;
  --ipds-z-toast:       9100;
  --ipds-z-tooltip:     9200;

  /* ========================================================================
     A.12 — BREAKPOINTS
     ======================================================================== */
  --ipds-breakpoint-mobile:    480px;
  --ipds-breakpoint-tablet:    768px;
  --ipds-breakpoint-desktop:   1024px;
  --ipds-breakpoint-wide:      1280px;

  /* ========================================================================
     B — TOKENS SEMÂNTICOS
     ======================================================================== */

  /* B.1 — Texto */
  --ipds-text-primary:        var(--ipds-color-navy-900);
  --ipds-text-secondary:      var(--ipds-color-navy-500);
  --ipds-text-muted:          var(--ipds-color-navy-300);
  --ipds-text-disabled:       var(--ipds-color-navy-200);
  --ipds-text-on-dark:        var(--ipds-color-white);
  --ipds-text-on-gold:        var(--ipds-color-navy-900);
  --ipds-text-link:           var(--ipds-color-blue-500);
  --ipds-text-link-hover:     var(--ipds-color-blue-700);
  --ipds-text-success:        var(--ipds-color-green-700);
  --ipds-text-warning:        var(--ipds-color-amber-700);
  --ipds-text-danger:         var(--ipds-color-red-700);
  --ipds-text-info:           var(--ipds-color-blue-700);

  /* B.2 — Backgrounds */
  --ipds-bg-page:             var(--ipds-color-navy-50);
  --ipds-bg-surface:          var(--ipds-color-white);
  --ipds-bg-surface-alt:      #F8FAFC;
  --ipds-bg-subtle:           var(--ipds-color-navy-50);
  --ipds-bg-strong:           var(--ipds-color-navy-900);
  --ipds-bg-accent:           var(--ipds-color-gold-500);
  --ipds-bg-success-soft:     var(--ipds-color-green-100);
  --ipds-bg-warning-soft:     var(--ipds-color-amber-100);
  --ipds-bg-danger-soft:      var(--ipds-color-red-100);
  --ipds-bg-info-soft:        var(--ipds-color-blue-100);
  --ipds-bg-overlay:          rgba(10, 22, 40, 0.55);

  /* B.3 — Borders */
  --ipds-border-subtle:       var(--ipds-color-navy-100);
  --ipds-border-default:      var(--ipds-color-navy-200);
  --ipds-border-strong:       var(--ipds-color-navy-300);
  --ipds-border-focus:        var(--ipds-color-blue-500);
  --ipds-border-accent:       var(--ipds-color-gold-500);
  --ipds-border-divider:      #F1F5F9;
  --ipds-border-success:      var(--ipds-color-green-500);
  --ipds-border-warning:      var(--ipds-color-amber-500);
  --ipds-border-danger:       var(--ipds-color-red-500);

  /* B.4 — Gradientes */
  --ipds-gradient-navy:       linear-gradient(135deg, var(--ipds-color-navy-900), var(--ipds-color-navy-700));
  --ipds-gradient-gold:       linear-gradient(135deg, var(--ipds-color-gold-500), var(--ipds-color-gold-700));
  --ipds-gradient-blue:       linear-gradient(135deg, var(--ipds-color-blue-500), var(--ipds-color-blue-700));
  --ipds-gradient-success:    linear-gradient(135deg, var(--ipds-color-green-500), var(--ipds-color-green-700));
  --ipds-gradient-page:       linear-gradient(180deg, var(--ipds-color-navy-50), var(--ipds-color-white));
  --ipds-gradient-header:     linear-gradient(135deg, var(--ipds-color-navy-900), var(--ipds-color-navy-700));
  --ipds-gradient-row-active: linear-gradient(90deg, rgba(212,162,76,0.12), rgba(212,162,76,0.04));

  /* B.5 — Estados interativos */
  --ipds-state-hover-bg:           var(--ipds-color-blue-50);
  --ipds-state-hover-border:       var(--ipds-color-blue-500);
  --ipds-state-active-bg:          var(--ipds-color-navy-900);
  --ipds-state-active-text:        var(--ipds-color-gold-500);
  --ipds-state-selected-bg:        rgba(212, 162, 76, 0.10);
  --ipds-state-selected-border:    var(--ipds-color-gold-500);
  --ipds-state-disabled-bg:        var(--ipds-color-navy-50);
  --ipds-state-disabled-text:      var(--ipds-color-navy-300);
  --ipds-state-disabled-opacity:   0.5;

  /* B.6 — Controles de formulário */
  --ipds-control-bg:               var(--ipds-color-white);
  --ipds-control-active-fill:      var(--ipds-color-navy-900);
  --ipds-control-track-bg:         var(--ipds-color-navy-100);
  --ipds-control-track-fill:       var(--ipds-color-gold-500);

  /* ========================================================================
     C — TOKENS DE COMPONENTE
     ======================================================================== */

  /* C.1 — Cards e KPIs */
  --ipds-card-bg:             var(--ipds-bg-surface);
  --ipds-card-border:         var(--ipds-border-subtle);
  --ipds-card-radius:         var(--ipds-radius-lg);
  --ipds-card-padding:        var(--ipds-space-6);
  --ipds-card-shadow:         var(--ipds-shadow-sm);
  --ipds-card-shadow-hover:   var(--ipds-shadow-md);

  /* C.2 — Botões */
  --ipds-button-radius:               var(--ipds-radius-md);
  --ipds-button-padding-x:             var(--ipds-space-6);
  --ipds-button-padding-y:             var(--ipds-space-4);
  --ipds-button-font-weight:           var(--ipds-font-weight-semibold);
  --ipds-button-primary-bg:            var(--ipds-color-navy-900);
  --ipds-button-primary-text:          var(--ipds-color-white);
  --ipds-button-primary-bg-hover:      var(--ipds-color-navy-700);
  --ipds-button-secondary-bg:          var(--ipds-color-white);
  --ipds-button-secondary-text:        var(--ipds-color-navy-900);
  --ipds-button-secondary-border:      var(--ipds-color-navy-200);
  --ipds-button-secondary-bg-hover:    var(--ipds-color-navy-50);
  --ipds-button-accent-bg:             var(--ipds-color-gold-500);
  --ipds-button-accent-text:           var(--ipds-color-navy-900);
  --ipds-button-accent-bg-hover:       var(--ipds-color-gold-600);

  /* C.3 — Inputs e form fields */
  --ipds-input-bg:                var(--ipds-bg-surface);
  --ipds-input-border:            var(--ipds-border-default);
  --ipds-input-border-hover:      var(--ipds-color-navy-300);
  --ipds-input-border-focus:      var(--ipds-color-blue-500);
  --ipds-input-text:              var(--ipds-text-primary);
  --ipds-input-placeholder:       var(--ipds-text-muted);
  --ipds-input-radius:            var(--ipds-radius-sm);
  --ipds-input-padding-x:         var(--ipds-space-4);
  --ipds-input-padding-y:         var(--ipds-space-3);
  --ipds-input-height:            32px;
  --ipds-input-font-size:         var(--ipds-font-size-base);
  --ipds-input-shadow-focus:      var(--ipds-shadow-focus);

  /* C.4 — Dialogs e modais */
  --ipds-dialog-bg:               var(--ipds-bg-surface);
  --ipds-dialog-radius:           var(--ipds-radius-xl);
  --ipds-dialog-shadow:           var(--ipds-shadow-xl);
  --ipds-dialog-header-bg:        var(--ipds-gradient-header);
  --ipds-dialog-header-text:      var(--ipds-color-white);
  --ipds-dialog-overlay:          var(--ipds-bg-overlay);

  /* C.5 — Grid / Tabela */
  --ipds-grid-header-bg:          #F8FAFC;
  --ipds-grid-header-text:        var(--ipds-color-navy-500);
  --ipds-grid-header-border:      var(--ipds-border-default);
  --ipds-grid-row-bg:             var(--ipds-bg-surface);
  --ipds-grid-row-bg-alt:         rgb(243, 248, 253);
  --ipds-grid-row-bg-hover:       var(--ipds-color-blue-50);
  --ipds-grid-row-bg-selected:        var(--ipds-color-blue-100);
  --ipds-grid-row-bg-selected-hover:  var(--ipds-color-blue-200);
  --ipds-grid-row-border-selected:    var(--ipds-color-gold-500);
  --ipds-grid-cell-padding-x:     var(--ipds-space-5);
  --ipds-grid-cell-padding-y:     var(--ipds-space-4);
  --ipds-grid-cell-border:        var(--ipds-border-divider);

  /* C.6 — Pager */
  --ipds-pager-bg:                var(--ipds-bg-surface);
  --ipds-pager-border:            var(--ipds-border-default);
  --ipds-pager-button-bg:         var(--ipds-bg-surface);
  --ipds-pager-button-border:     var(--ipds-border-subtle);
  --ipds-pager-button-text:       var(--ipds-color-navy-500);
  --ipds-pager-button-bg-hover:   var(--ipds-color-blue-50);
  --ipds-pager-button-active-bg:  var(--ipds-color-navy-200);
  --ipds-pager-button-active-text: var(--ipds-color-white);

  /* C.7 — Chips, badges e pílulas */
  --ipds-chip-radius:             var(--ipds-radius-pill);
  --ipds-chip-padding-x:          var(--ipds-space-4);
  --ipds-chip-padding-y:          var(--ipds-space-1);
  --ipds-chip-font-size:          var(--ipds-font-size-xs);
  --ipds-chip-font-weight:        var(--ipds-font-weight-bold);

  /* C.8 — Sidebar / Menu */
  --ipds-sidebar-bg:              var(--ipds-bg-surface);
  --ipds-sidebar-border:          var(--ipds-border-subtle);
  --ipds-sidebar-item-text:       var(--ipds-color-navy-500);
  --ipds-sidebar-item-bg-hover:   var(--ipds-color-navy-50);
  --ipds-sidebar-item-bg-active:  var(--ipds-color-navy-900);
  --ipds-sidebar-item-text-active: var(--ipds-color-gold-500);

  /* C.9 — Tabs */
  --ipds-tab-text:                var(--ipds-color-navy-400);
  --ipds-tab-text-active:         var(--ipds-color-navy-900);
  --ipds-tab-border-active:       var(--ipds-color-gold-500);
  --ipds-tab-border-bottom:       var(--ipds-border-subtle);

  /* C.10 — Tooltip */
  --ipds-tooltip-bg:              var(--ipds-color-navy-900);
  --ipds-tooltip-text:            var(--ipds-color-white);
  --ipds-tooltip-padding:         var(--ipds-space-4);
  --ipds-tooltip-radius:          var(--ipds-radius-sm);
  --ipds-tooltip-shadow:          var(--ipds-shadow-md);

  /* C.11 — Charts (paleta categórica de 15 cores) */
  --ipds-chart-1:    #0A1628;
  --ipds-chart-2:    #D4A24C;
  --ipds-chart-3:    #2563EB;
  --ipds-chart-4:    #16A34A;
  --ipds-chart-5:    #DC2626;
  --ipds-chart-6:    #7C3AED;
  --ipds-chart-7:    #0891B2;
  --ipds-chart-8:    #EA580C;
  --ipds-chart-9:    #1B3A5C;
  --ipds-chart-10:   #B8842F;
  --ipds-chart-11:   #1D4ED8;
  --ipds-chart-12:   #15803D;
  --ipds-chart-13:   #DB2777;
  --ipds-chart-14:   #0F766E;
  --ipds-chart-15:   #65A30D;

  --ipds-chart-bar-grad-start: rgb(10, 22, 41);
  --ipds-chart-bar-grad-end:   rgb(37, 99, 234);
  --ipds-chart-bar-label-color: var(--ipds-color-gold-500);

  /* C.12 — Suporte a charts (eixos, grid, tooltip) */
  --ipds-chart-axis:           var(--ipds-color-navy-300);
  --ipds-chart-grid:           #EEF3F7;
  --ipds-chart-tooltip-bg:     rgba(10, 22, 40, 0.92);
  --ipds-chart-tooltip-text:   var(--ipds-color-white);

  /* C.13 — Gradients de ícones de KPI */
  --ipds-kpi-icon-1-bg:    var(--ipds-gradient-navy);
  --ipds-kpi-icon-2-bg:    var(--ipds-gradient-gold);
  --ipds-kpi-icon-3-bg:    var(--ipds-gradient-blue);
  --ipds-kpi-icon-4-bg:    var(--ipds-gradient-success);

  /* ========================================================================
     D — ALIASES LEGADOS
     ======================================================================== */

  /* D.1 — Cores de texto e títulos */
  --corTitulo:                    var(--ipds-text-primary);
  --corSubTitulo:                 var(--ipds-text-secondary);
  --corLetraComum:                var(--ipds-text-secondary);
  --corElementoRodape:            var(--ipds-text-primary);
  --corSombra:                    var(--ipds-color-navy-200);

  /* D.2 — Backgrounds e gradientes */
  --gradientBodyHtml:             var(--ipds-gradient-page);
  --gradientCabecalho:            var(--ipds-gradient-header);
  --gradientRodape:               linear-gradient(to top, var(--ipds-color-navy-50), var(--ipds-color-white));
  --backgroundMenu:               var(--ipds-bg-surface);
  --backgroundDialogPane:         var(--ipds-color-navy-50);
  --backgroundTituloModulo:       var(--ipds-gradient-page);
  --backgroundAutoComplete:       var(--ipds-bg-surface);

  /* D.3 — Grid e pager */
  --backgroundPager:              var(--ipds-pager-bg);
  --backgroundPagerButton:        var(--ipds-color-blue-500);
  --backgroundColumnHeader:       var(--ipds-grid-header-bg);
  --corBackgroundColumnHeader:    var(--ipds-grid-header-border);

  /* D.4 — Bordas e separadores */
  --corBordaInferiorSeparador:    var(--ipds-border-default);

}


/* ==========================================================================
   PARTE 2 — WIDGET THEME (agnóstico — consome var() dos tokens acima)
   ========================================================================== */


/* ==========================================================================
   1. WIDGET BASE (tipografia e contêiner)
   ========================================================================== */
.ui-widget {
	font-family: var(--ipds-font-sans);
	font-size: var(--ipds-font-size-base);
	color: var(--ipds-text-primary);
}

.ui-widget .ui-widget {
	font-size: 1em;
}

.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
	font-family: var(--ipds-font-sans);
	font-size: 1em;
}

.ui-widget.ui-widget-content,
.ui-widget-content {
	background: var(--ipds-bg-surface);
	border: 1px solid var(--ipds-border-default);
	color: var(--ipds-text-primary);
}

.ui-widget-content a:not(.divPagerButton a):not(.divPagerButtonInativo a):not(.contadorRegistro a):not(.ui-state-active a):not(.chosen-container a):not(.ui-dialog-title a) {
	color: var(--ipds-text-link);
}

.ui-widget-content .divPagerButton a,
.ui-widget-content .divPagerButtonInativo a,
.ui-widget-content .contadorRegistro a {
	color: inherit;
}

.ui-widget-header {
	background: var(--ipds-gradient-header);
	border: 1px solid var(--ipds-border-default);
	color: var(--ipds-text-on-dark);
	font-weight: var(--ipds-font-weight-semibold);
}

.ui-widget-header a {
	color: var(--ipds-text-on-dark);
}


/* ==========================================================================
   2. ESTADOS INTERATIVOS
   ========================================================================== */

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
	background: var(--ipds-bg-surface);
	border: 1px solid var(--ipds-border-default);
	color: var(--ipds-text-secondary);
	font-weight: var(--ipds-font-weight-medium);
	transition: var(--ipds-transition-fast);
}

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
a.ui-button,
a:link.ui-button,
a:visited.ui-button,
.ui-button {
	color: var(--ipds-text-secondary);
	text-decoration: none;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
	background: var(--ipds-state-hover-bg);
	border: 1px solid var(--ipds-color-blue-500);
	color: var(--ipds-color-blue-700);
	font-weight: var(--ipds-font-weight-medium);
}

.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited,
a.ui-button:hover,
a.ui-button:focus {
	color: var(--ipds-color-blue-700);
	text-decoration: none;
}

.ui-visual-focus {
	box-shadow: var(--ipds-shadow-focus);
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
	background: var(--ipds-state-active-bg);
	border: 1px solid var(--ipds-state-active-bg);
	color: var(--ipds-state-active-text);
	font-weight: var(--ipds-font-weight-semibold);
}

.ui-icon-background,
.ui-state-active .ui-icon-background {
	border: var(--ipds-control-active-fill);
	background-color: var(--ipds-control-bg);
}

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
	color: var(--ipds-color-gold-500);
	text-decoration: none;
}

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
	background: var(--ipds-grid-row-bg-selected);
	border: 1px solid var(--ipds-grid-row-border-selected);
	border-left-width: 3px;
	color: var(--ipds-text-primary);
}

.ui-state-checked {
	background: var(--ipds-color-gold-100);
	border: 1px solid var(--ipds-grid-row-border-selected);
}

.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
	color: var(--ipds-text-primary);
}

.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
	background: var(--ipds-bg-danger-soft);
	border: 1px solid var(--ipds-color-red-500);
	color: var(--ipds-color-red-700);
}

.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a,
.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
	color: var(--ipds-color-red-700);
}

.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
	font-weight: var(--ipds-font-weight-bold);
}

.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
	opacity: 0.7;
	font-weight: var(--ipds-font-weight-regular);
}

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
	opacity: var(--ipds-state-disabled-opacity);
	background-image: none;
}

.ui-state-disabled .ui-icon {
	opacity: var(--ipds-state-disabled-opacity);
}


/* ==========================================================================
   3. ÍCONES — Material Symbols Outlined
   ========================================================================== */

.ui-icon,
.ui-widget-content .ui-icon,
.ui-widget-header .ui-icon {
	background-image: none !important;
	width: auto;
	height: auto;
	min-width: 18px;
	min-height: 18px;
	text-indent: 0;
	overflow: visible;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: inherit;
}

.ui-icon::before {
	font-family: 'Material Symbols Outlined';
	font-weight: normal;
	font-style: normal;
	font-size: 18px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: 'liga';
	-webkit-font-smoothing: antialiased;
	font-feature-settings: 'liga';
	font-variation-settings:
		'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
	color: inherit;
}

/* Setas e direções */
.ui-icon-caret-1-n::before,
.ui-icon-triangle-1-n::before,
.ui-icon-arrow-1-n::before,
.ui-icon-arrowthick-1-n::before          { content: 'arrow_upward'; }
.ui-icon-caret-1-s::before,
.ui-icon-triangle-1-s::before,
.ui-icon-arrow-1-s::before,
.ui-icon-arrowthick-1-s::before          { content: 'arrow_downward'; }
.ui-icon-caret-1-e::before,
.ui-icon-triangle-1-e::before,
.ui-icon-arrow-1-e::before,
.ui-icon-arrowthick-1-e::before          { content: 'chevron_right'; }
.ui-icon-caret-1-w::before,
.ui-icon-triangle-1-w::before,
.ui-icon-arrow-1-w::before,
.ui-icon-arrowthick-1-w::before          { content: 'chevron_left'; }
.ui-icon-caret-1-ne::before,
.ui-icon-arrow-1-ne::before              { content: 'north_east'; }
.ui-icon-caret-1-nw::before,
.ui-icon-arrow-1-nw::before              { content: 'north_west'; }
.ui-icon-caret-1-se::before,
.ui-icon-arrow-1-se::before              { content: 'south_east'; }
.ui-icon-caret-1-sw::before,
.ui-icon-arrow-1-sw::before              { content: 'south_west'; }

/* Navegação de paginador */
.ui-icon-seek-first::before              { content: 'first_page'; }
.ui-icon-seek-prev::before               { content: 'chevron_left'; }
.ui-icon-seek-next::before               { content: 'chevron_right'; }
.ui-icon-seek-end::before                { content: 'last_page'; }

/* Refresh / loading */
.ui-icon-refresh::before,
.ui-icon-arrowrefresh-1-n::before,
.ui-icon-arrowrefresh-1-e::before,
.ui-icon-arrowrefresh-1-s::before,
.ui-icon-arrowrefresh-1-w::before        { content: 'refresh'; }

/* Ações CRUD */
.ui-icon-pencil::before                  { content: 'edit'; }
.ui-icon-trash::before                   { content: 'delete'; }
.ui-icon-disk::before                    { content: 'save'; }
.ui-icon-plus::before,
.ui-icon-plusthick::before,
.ui-icon-circle-plus::before             { content: 'add'; }
.ui-icon-minus::before,
.ui-icon-minusthick::before,
.ui-icon-circle-minus::before            { content: 'remove'; }
.ui-icon-cancel::before,
.ui-icon-circle-close::before            { content: 'cancel'; }
.ui-icon-close::before,
.ui-icon-closethick::before              { content: 'close'; }
.ui-icon-check::before,
.ui-icon-circle-check::before            { content: 'check'; }
.ui-icon-search::before,
.ui-icon-circle-zoomin::before           { content: 'search'; }
.ui-icon-zoomin::before                  { content: 'zoom_in'; }
.ui-icon-zoomout::before,
.ui-icon-circle-zoomout::before          { content: 'zoom_out'; }

/* Status / alertas */
.ui-icon-info::before                    { content: 'info'; }
.ui-icon-alert::before                   { content: 'warning'; }
.ui-icon-help::before                    { content: 'help'; }
.ui-icon-notice::before                  { content: 'notifications'; }
.ui-icon-bullet::before                  { content: 'circle'; }

/* Documentos / arquivos */
.ui-icon-document::before,
.ui-icon-document-b::before,
.ui-icon-script::before                  { content: 'description'; }
.ui-icon-folder-collapsed::before        { content: 'folder'; }
.ui-icon-folder-open::before             { content: 'folder_open'; }
.ui-icon-clipboard::before               { content: 'content_paste'; }
.ui-icon-copy::before                    { content: 'content_copy'; }
.ui-icon-print::before                   { content: 'print'; }
.ui-icon-image::before                   { content: 'image'; }
.ui-icon-video::before                   { content: 'videocam'; }
.ui-icon-mail-closed::before             { content: 'mail'; }
.ui-icon-mail-open::before               { content: 'drafts'; }
.ui-icon-comment::before                 { content: 'comment'; }
.ui-icon-note::before                    { content: 'note'; }

/* Pessoas e segurança */
.ui-icon-person::before                  { content: 'person'; }
.ui-icon-contact::before                 { content: 'contacts'; }
.ui-icon-locked::before                  { content: 'lock'; }
.ui-icon-unlocked::before                { content: 'lock_open'; }
.ui-icon-key::before                     { content: 'key'; }

/* Diversos comuns */
.ui-icon-home::before                    { content: 'home'; }
.ui-icon-flag::before                    { content: 'flag'; }
.ui-icon-tag::before                     { content: 'label'; }
.ui-icon-bookmark::before                { content: 'bookmark'; }
.ui-icon-star::before                    { content: 'star'; }
.ui-icon-heart::before                   { content: 'favorite'; }
.ui-icon-clock::before                   { content: 'schedule'; }
.ui-icon-calendar::before                { content: 'calendar_month'; }
.ui-icon-cart::before                    { content: 'shopping_cart'; }
.ui-icon-suitcase::before                { content: 'work'; }
.ui-icon-wrench::before                  { content: 'build'; }
.ui-icon-gear::before                    { content: 'settings'; }
.ui-icon-calculator::before              { content: 'calculate'; }
.ui-icon-link::before,
.ui-icon-extlink::before                 { content: 'link'; }
.ui-icon-newwin::before                  { content: 'open_in_new'; }
.ui-icon-power::before                   { content: 'power_settings_new'; }
.ui-icon-signal::before                  { content: 'signal_cellular_alt'; }
.ui-icon-lightbulb::before               { content: 'lightbulb'; }
.ui-icon-scissors::before                { content: 'content_cut'; }

/* Player */
.ui-icon-play::before                    { content: 'play_arrow'; }
.ui-icon-pause::before                   { content: 'pause'; }
.ui-icon-stop::before                    { content: 'stop'; }
.ui-icon-eject::before                   { content: 'eject'; }
.ui-icon-volume-on::before               { content: 'volume_up'; }
.ui-icon-volume-off::before              { content: 'volume_off'; }

/* Grip handles */
.ui-icon-grip-dotted-vertical::before,
.ui-icon-grip-solid-vertical::before     { content: 'drag_indicator'; }
.ui-icon-grip-dotted-horizontal::before,
.ui-icon-grip-solid-horizontal::before   { content: 'drag_handle'; }
.ui-icon-gripsmall-diagonal-se::before,
.ui-icon-grip-diagonal-se::before        { content: 'south_east'; }


/* ==========================================================================
   4. CANTOS ARREDONDADOS
   ========================================================================== */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl   { border-top-left-radius: var(--ipds-radius-md); }
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr   { border-top-right-radius: var(--ipds-radius-md); }
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl   { border-bottom-left-radius: var(--ipds-radius-md); }
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br   { border-bottom-right-radius: var(--ipds-radius-md); }


/* ==========================================================================
   5. WIDGET-OVERLAY
   ========================================================================== */
.ui-widget-overlay {
	background: var(--ipds-bg-overlay);
	background-image: none;
	opacity: 1;
}


/* ==========================================================================
   6. WIDGET-SHADOW
   ========================================================================== */
.ui-widget-shadow {
	-webkit-box-shadow: var(--ipds-shadow-lg);
	box-shadow: var(--ipds-shadow-lg);
}


/* ==========================================================================
   7. DIALOG
   ========================================================================== */
.ui-dialog {
	background: var(--ipds-dialog-bg);
	border: 1px solid var(--ipds-border-default);
	border-radius: var(--ipds-dialog-radius);
	box-shadow: var(--ipds-dialog-shadow);
	padding: 0;
	overflow: hidden;
}

.ui-dialog .ui-dialog-titlebar {
	background: var(--ipds-dialog-header-bg);
	color: var(--ipds-dialog-header-text);
	border: none;
	border-radius: 0;
	border-bottom: 2px solid var(--ipds-color-gold-500);
	padding: 10px 90px 10px 16px;
	position: relative;
}

.ui-dialog .ui-dialog-title {
	color: var(--ipds-dialog-header-text);
	font-weight: var(--ipds-font-weight-semibold);
	font-size: var(--ipds-font-size-md);
	line-height: 1.4;
	display: flex;
	align-items: center;
	gap: var(--ipds-space-2);
}

.ui-dialog .ui-dialog-titlebar-close {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: var(--ipds-radius-sm);
	color: var(--ipds-text-on-dark);
	width: 28px;
	height: 28px;
	padding: 0;
	transition: var(--ipds-transition-fast);
}

.ui-dialog .ui-dialog-titlebar-close:hover {
	background: rgba(212, 162, 76, 0.20);
	border-color: var(--ipds-color-gold-500);
	color: var(--ipds-color-gold-500);
}

.ui-dialog .ui-dialog-titlebar-help {
	position: absolute;
	right: 48px;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: var(--ipds-radius-sm);
	color: var(--ipds-text-on-dark);
	width: 28px;
	height: 28px;
	padding: 0;
	transition: var(--ipds-transition-fast);
}

.ui-dialog .ui-dialog-titlebar-help:hover {
	background: rgba(212, 162, 76, 0.20);
	border-color: var(--ipds-color-gold-500);
	color: var(--ipds-color-gold-500);
}

.ui-dialog .ui-dialog-content {
	background: var(--ipds-bg-surface);
	color: var(--ipds-text-primary);
	padding: 16px;
}

.ui-dialog .ui-dialog-buttonpane {
	background: var(--ipds-bg-subtle);
	border-top: 1px solid var(--ipds-border-subtle);
	padding: 12px 16px;
	margin: 0;
}

.ui-dialog .ui-dialog-buttonpane button {
	background: var(--ipds-button-primary-bg);
	color: var(--ipds-button-primary-text);
	border: 1px solid var(--ipds-button-primary-bg);
	border-radius: var(--ipds-button-radius);
	padding: 6px 14px;
	font-weight: var(--ipds-font-weight-semibold);
	cursor: pointer;
	margin: 0 4px;
	transition: var(--ipds-transition-fast);
}

.ui-dialog .ui-dialog-buttonpane button:hover {
	background: var(--ipds-button-primary-bg-hover);
	border-color: var(--ipds-button-primary-bg-hover);
}


/* ==========================================================================
   8. DATEPICKER
   ========================================================================== */
.ui-datepicker {
	background: var(--ipds-bg-surface);
	border: 1px solid var(--ipds-border-default);
	border-radius: var(--ipds-radius-lg);
	box-shadow: var(--ipds-shadow-lg);
	padding: 8px;
}

.ui-datepicker .ui-datepicker-header {
	background: var(--ipds-gradient-header);
	color: var(--ipds-text-on-dark);
	border-radius: var(--ipds-radius-md);
	padding: 6px 4px;
}

.ui-datepicker .ui-datepicker-title {
	color: var(--ipds-text-on-dark);
	font-weight: var(--ipds-font-weight-semibold);
}

.ui-datepicker th {
	color: var(--ipds-text-secondary);
	font-weight: var(--ipds-font-weight-semibold);
	text-transform: uppercase;
	font-size: var(--ipds-font-size-xs);
	letter-spacing: var(--ipds-letter-spacing-wider);
}

.ui-datepicker td a,
.ui-datepicker td span {
	border-radius: var(--ipds-radius-xs);
	padding: 6px;
}

.ui-datepicker td .ui-state-active {
	background: var(--ipds-color-gold-500);
	color: var(--ipds-text-on-gold);
	border-color: var(--ipds-color-gold-500);
}


/* ==========================================================================
   9. TABS
   ========================================================================== */
.ui-tabs {
	background: transparent;
	border: none;
	padding: 0;
}

.ui-tabs .ui-tabs-nav {
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--ipds-tab-border-bottom);
	padding: 0;
	margin: 0;
}

.ui-tabs .ui-tabs-nav li {
	background: transparent;
	border: none;
	margin: 0 4px -1px 0;
}

.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
	color: var(--ipds-tab-text);
	font-weight: var(--ipds-font-weight-semibold);
	padding: 10px 16px;
	border-radius: 0;
	transition: var(--ipds-transition-fast);
}

.ui-tabs .ui-tabs-nav li.ui-tabs-active {
	background: transparent;
	border-bottom: 2px solid var(--ipds-tab-border-active);
	margin-bottom: -1px;
}

.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
	color: var(--ipds-tab-text-active);
}

.ui-tabs .ui-tabs-nav li.ui-state-hover .ui-tabs-anchor {
	color: var(--ipds-color-blue-700);
}

.ui-tabs .ui-tabs-panel {
	background: var(--ipds-bg-surface);
	border: none;
	padding: 16px 0;
}


/* ==========================================================================
   10. ACCORDION
   ========================================================================== */
.ui-accordion .ui-accordion-header {
	background: var(--ipds-bg-subtle);
	border: 1px solid var(--ipds-border-subtle);
	color: var(--ipds-text-primary);
	font-weight: var(--ipds-font-weight-semibold);
	padding: 10px 12px;
	margin: 4px 0 0;
	border-radius: var(--ipds-radius-md);
	transition: var(--ipds-transition-fast);
}

.ui-accordion .ui-accordion-header:hover {
	background: var(--ipds-state-hover-bg);
}

.ui-accordion .ui-accordion-header.ui-state-active {
	background: var(--ipds-state-active-bg);
	color: var(--ipds-state-active-text);
	border-color: var(--ipds-state-active-bg);
	border-radius: var(--ipds-radius-md) var(--ipds-radius-md) 0 0;
}

.ui-accordion .ui-accordion-content {
	background: var(--ipds-bg-surface);
	border: 1px solid var(--ipds-border-subtle);
	border-top: none;
	border-radius: 0 0 var(--ipds-radius-md) var(--ipds-radius-md);
	padding: 12px;
	color: var(--ipds-text-primary);
}


/* ==========================================================================
   11. AUTOCOMPLETE
   ========================================================================== */
.ui-autocomplete {
	background: var(--ipds-bg-surface);
	border: 1px solid var(--ipds-border-default);
	border-radius: var(--ipds-radius-md);
	box-shadow: var(--ipds-shadow-md);
	padding: 4px 0;
	max-height: 280px;
	overflow-y: auto;
	overflow-x: hidden;
}


/* ==========================================================================
   12. MENU
   ========================================================================== */
.ui-menu {
	background: var(--ipds-bg-surface);
	border: 1px solid var(--ipds-border-default);
	border-radius: var(--ipds-radius-md);
	box-shadow: var(--ipds-shadow-md);
	padding: 4px 0;
}

.ui-menu .ui-menu-item-wrapper {
	padding: 6px 12px;
	color: var(--ipds-text-primary);
	border-radius: var(--ipds-radius-xs);
	margin: 0 4px;
}

.ui-menu .ui-menu-item-wrapper.ui-state-active,
.ui-menu .ui-state-focus {
	background: var(--ipds-state-hover-bg);
	border: none;
	color: var(--ipds-color-blue-700);
	margin: 0 4px;
}

.ui-menu .ui-menu-divider {
	border-top: 1px solid var(--ipds-border-divider);
	margin: 4px 8px;
}


/* ==========================================================================
   13. BUTTON
   ========================================================================== */
.ui-button {
	border-radius: var(--ipds-button-radius);
	padding: 6px 14px;
	font-weight: var(--ipds-font-weight-semibold);
	cursor: pointer;
	transition: var(--ipds-transition-fast);
}

.ui-button.ui-button-icon-only {
	padding: 0;
	width: 32px;
	height: 32px;
	text-indent: -10000px;
	overflow: hidden;
	white-space: nowrap;
	line-height: 1;
	position: relative;
}

.ui-button.ui-button-icon-only .ui-icon,
.ui-button.ui-button-icon-only .ui-button-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-indent: 0;
	margin: 0;
}

input.ui-button.ui-button-icon-only {
	text-indent: 0;
}


/* ==========================================================================
   14. CONTROLGROUP
   ========================================================================== */
.ui-controlgroup .ui-controlgroup-label {
	background: var(--ipds-bg-subtle);
	color: var(--ipds-text-secondary);
	padding: 6px 12px;
	font-weight: var(--ipds-font-weight-semibold);
	font-size: var(--ipds-font-size-sm);
}


/* ==========================================================================
   15. CHECKBOXRADIO
   ========================================================================== */
.ui-checkboxradio-label .ui-icon-background {
	box-shadow: inset 1px 1px 1px var(--ipds-border-default);
	border-radius: var(--ipds-radius-xs);
	border: none;
}

.ui-checkboxradio-radio-label .ui-icon-background {
	width: 16px;
	height: 16px;
	border-radius: var(--ipds-radius-full);
	overflow: visible;
	border: none;
}

.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
	background-image: none;
	width: 8px;
	height: 8px;
	border: 4px solid var(--ipds-control-active-fill);
	border-radius: var(--ipds-radius-full);
}

.ui-checkboxradio-disabled {
	pointer-events: none;
}


/* ==========================================================================
   16. SLIDER
   ========================================================================== */
.ui-slider {
	background: var(--ipds-control-track-bg);
	border: none;
	border-radius: var(--ipds-radius-pill);
}

.ui-slider-horizontal {
	height: 6px;
}

.ui-slider-vertical {
	width: 6px;
}

.ui-slider .ui-slider-range {
	background: var(--ipds-control-track-fill);
	border: none;
	border-radius: var(--ipds-radius-pill);
}

.ui-slider .ui-slider-handle {
	background: var(--ipds-state-active-bg);
	border: 2px solid var(--ipds-control-bg);
	border-radius: var(--ipds-radius-full);
	width: 18px;
	height: 18px;
	box-shadow: var(--ipds-shadow-sm);
	cursor: pointer;
	transition: var(--ipds-transition-fast);
}

.ui-slider .ui-slider-handle:hover,
.ui-slider .ui-slider-handle.ui-state-active {
	background: var(--ipds-color-gold-500);
	box-shadow: var(--ipds-shadow-md);
}


/* ==========================================================================
   17. SPINNER (NumberField)
   ========================================================================== */
.ui-spinner {
	border: 1px solid var(--ipds-input-border);
	border-radius: var(--ipds-input-radius);
	background: var(--ipds-input-bg);
	overflow: hidden;
}

.ui-spinner-input {
	border: none;
	background: transparent;
	color: var(--ipds-text-primary);
	padding: 4px 8px;
}

.ui-spinner-button {
	background: var(--ipds-bg-subtle);
	border: none;
	border-left: 1px solid var(--ipds-border-subtle);
	color: var(--ipds-text-secondary);
	width: 22px;
	cursor: pointer;
	transition: var(--ipds-transition-fast);
}

.ui-spinner-button:hover {
	background: var(--ipds-state-hover-bg);
	color: var(--ipds-color-blue-700);
}


/* ==========================================================================
   18. PROGRESSBAR
   ========================================================================== */
.ui-progressbar {
	background: var(--ipds-control-track-bg);
	border: none;
	border-radius: var(--ipds-radius-pill);
	height: 8px;
	overflow: hidden;
}

.ui-progressbar .ui-progressbar-value {
	background: var(--ipds-gradient-blue);
	border: none;
	border-radius: var(--ipds-radius-pill);
	margin: 0;
	height: 100%;
}


/* ==========================================================================
   19. TOOLTIP
   ========================================================================== */
.ui-tooltip {
	background: var(--ipds-tooltip-bg);
	color: var(--ipds-tooltip-text);
	border: none;
	border-radius: var(--ipds-tooltip-radius);
	box-shadow: var(--ipds-tooltip-shadow);
	padding: var(--ipds-tooltip-padding);
	font-size: var(--ipds-font-size-sm);
	max-width: 300px;
}

body .ui-tooltip {
	border-width: 0;
}


/* ==========================================================================
   20. SELECTMENU
   ========================================================================== */
.ui-selectmenu-button.ui-button {
	background: var(--ipds-input-bg);
	border: 1px solid var(--ipds-input-border);
	color: var(--ipds-text-primary);
	font-weight: var(--ipds-font-weight-regular);
	text-align: left;
	padding: 6px 10px;
}

.ui-selectmenu-button.ui-button:hover {
	border-color: var(--ipds-input-border-hover);
}

.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
	color: var(--ipds-text-secondary);
	font-weight: var(--ipds-font-weight-bold);
	font-size: var(--ipds-font-size-xs);
	text-transform: uppercase;
	letter-spacing: var(--ipds-letter-spacing-wider);
	padding: 6px 12px;
	border: 0;
}


/* ==========================================================================
   21. RESIZABLE HANDLES
   ========================================================================== */
.ui-resizable-se {
	background: transparent;
	border: none;
	width: 12px;
	height: 12px;
	right: 1px;
	bottom: 1px;
	cursor: se-resize;
}

.ui-resizable-se::before {
	content: 'south_east';
	font-family: 'Material Symbols Outlined';
	font-size: 12px;
	color: var(--ipds-text-muted);
	font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 20;
	display: block;
	line-height: 1;
}


/* ==========================================================================
   JQGRID (override visual)
   ========================================================================== */

.ui-jqgrid tbody tr.jqgrow:nth-child(2n+1) {
	background: var(--ipds-grid-row-bg-alt);
}

.ui-jqgrid tr.jqgrow.ui-priority-secondary {
	opacity: 1;
}


/* ==========================================================================
   PARTE 3 — ALIASES BI (Dashboard)
   ========================================================================== */

:root {
	--bi-accent:        var(--ipds-color-blue-500);
	--bi-accent-hover:  var(--ipds-color-blue-700);
	--bi-accent-light:  var(--ipds-color-blue-100);
	--bi-bg-page:       var(--ipds-bg-page);
	--bi-bg-card:       var(--ipds-card-bg);
	--bi-shadow:        var(--ipds-card-shadow);
	--bi-shadow-hover:  var(--ipds-card-shadow-hover);
	--bi-text:           var(--ipds-text-primary);
	--bi-text-secondary: var(--ipds-text-secondary);
	--bi-text-muted:     var(--ipds-text-muted);
	--bi-border:        var(--ipds-border-default);
	--bi-radius:        var(--ipds-radius-xl);

	--bi-btn-bg:        var(--ipds-button-primary-bg);
	--bi-btn-text:      var(--ipds-button-primary-text);

	--bi-crossfilter-bg:     var(--ipds-color-gold-50);
	--bi-crossfilter-border: var(--ipds-color-gold-500);
	--bi-crossfilter-text:   var(--ipds-color-gold-700);

	--bi-pill-bg:       var(--ipds-button-primary-bg);
	--bi-pill-text:     var(--ipds-text-on-dark);

	--bi-loading-bg:        var(--ipds-bg-overlay);
	--bi-loading-spinner:   var(--ipds-text-primary);

	--bi-dot:           var(--ipds-color-gold-500);

	--bi-link:          var(--ipds-text-link);
	--bi-breadcrumb:    var(--ipds-text-secondary);

	--bi-card-icon-color: var(--ipds-text-on-dark);
	--bi-card-icon-1-bg:  var(--ipds-kpi-icon-1-bg);
	--bi-card-icon-2-bg:  var(--ipds-kpi-icon-2-bg);
	--bi-card-icon-3-bg:  var(--ipds-kpi-icon-3-bg);
	--bi-card-icon-4-bg:  var(--ipds-kpi-icon-4-bg);

	--bi-chart-grid:         var(--ipds-chart-grid);
	--bi-chart-axis:         var(--ipds-chart-axis);
	--bi-chart-tooltip-bg:   var(--ipds-chart-tooltip-bg);
	--bi-chart-tooltip-text: var(--ipds-chart-tooltip-text);

	--bi-chart-1:  var(--ipds-chart-1);
	--bi-chart-2:  var(--ipds-chart-2);
	--bi-chart-3:  var(--ipds-chart-3);
	--bi-chart-4:  var(--ipds-chart-4);
	--bi-chart-5:  var(--ipds-chart-5);
	--bi-chart-6:  var(--ipds-chart-6);
	--bi-chart-7:  var(--ipds-chart-7);
	--bi-chart-8:  var(--ipds-chart-8);
	--bi-chart-9:  var(--ipds-chart-9);
	--bi-chart-10: var(--ipds-chart-10);
	--bi-chart-11: var(--ipds-chart-11);
	--bi-chart-12: var(--ipds-chart-12);
	--bi-chart-13: var(--ipds-chart-13);
	--bi-chart-14: var(--ipds-chart-14);
	--bi-chart-15: var(--ipds-chart-15);

	--bi-chart-bar-grad-start: var(--ipds-chart-bar-grad-start);
	--bi-chart-bar-grad-end:   var(--ipds-chart-bar-grad-end);
	--bi-chart-bar-label-color: var(--ipds-chart-bar-label-color);

	--bi-success:       var(--ipds-color-green-500);
	--bi-danger:        var(--ipds-color-red-500);
	--bi-warning:       var(--ipds-color-amber-500);
	--bi-info:          var(--ipds-color-blue-500);
	--bi-danger-light:  var(--ipds-color-red-100);
	--bi-danger-dark:   var(--ipds-color-red-900);
	--bi-success-muted: var(--ipds-text-muted);

	--bi-scenario-bg:       var(--ipds-color-blue-50);
	--bi-scenario-border:   var(--ipds-color-blue-500);
	--bi-scenario-text:     var(--ipds-text-primary);

	--bi-panel-bg:          var(--ipds-bg-page);
	--bi-panel-border:      var(--ipds-border-default);

	--bi-projection-bg:     var(--ipds-color-blue-50);
	--bi-projection-border: var(--ipds-color-blue-300);
}

/* ==========================================================================
   FIM DO TEMA CUPERTINO
   ========================================================================== */
