/* FIX v27.3.25: relógio responsivo, modais amplos e navegação sem resíduos. */
:root { --cds-fast-ui: 90ms; }

/* Respostas mais rápidas em todo o portal, mantendo animações funcionais curtas. */
:is(button,a,input,select,textarea,.menu-card,.powerbi-card,.glass-panel,.enterprise-glass,
  .enterprise-kpi,.premium-action-btn,.premium-icon-btn,.cms-tab-btn,.oficinas-btn,
  .xlsx-base-selector-btn,.base-source-card,.cds-theme-option) {
  transition-duration: var(--cds-fast-ui) !important;
  transition-delay: 0ms !important;
}
#viewContainer { scroll-behavior: auto !important; }

#main-sidebar:hover,
#main-sidebar.sidebar-expanded { width: 320px !important; }
#main-sidebar { transition: none !important; }
html body #app-wrapper #main-sidebar:hover,
html body #app-wrapper #main-sidebar.sidebar-expanded { width: 320px !important; }

/* Relógio ocupa o lugar do título da barra e se adapta sem corte. */
#main-sidebar .cds-premium-brand-container {
  width: 100% !important;
  min-height: 88px !important;
  height: 88px !important;
  padding: 9px 7px !important;
  overflow: hidden !important;
}
#main-sidebar .cds-premium-brand-container::after { display: none !important; }
#main-sidebar .cds-sidebar-clock {
  display: grid !important;
  width: 74px !important;
  min-width: 74px !important;
  height: 58px !important;
  padding: 8px 5px !important;
  margin: 0 auto !important;
  border-radius: 14px !important;
  transition: none !important;
}
#main-sidebar .cds-sidebar-clock.cds-clock-expanded {
  width: 282px !important;
  min-width: 282px !important;
  padding: 7px 14px 6px !important;
}
html body #app-wrapper #main-sidebar .cds-premium-brand-container #cds-glass-retro-clock.cds-clock-expanded {
  width: 282px !important;
  min-width: 282px !important;
}
#main-sidebar .cds-sidebar-clock .cds-glass-clock-top,
#main-sidebar .cds-sidebar-clock .cds-glass-clock-bottom { display: none !important; }
#main-sidebar .cds-sidebar-clock .cds-glass-clock-time {
  font-size: 12px !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}
#main-sidebar:hover .cds-sidebar-clock,
#main-sidebar.sidebar-expanded .cds-sidebar-clock,
#main-sidebar.sidebar-mobile-open .cds-sidebar-clock {
  width: 282px !important;
  min-width: 282px !important;
  padding: 7px 14px 6px !important;
}
#main-sidebar:hover .cds-sidebar-clock .cds-glass-clock-top,
#main-sidebar:hover .cds-sidebar-clock .cds-glass-clock-bottom,
#main-sidebar.sidebar-expanded .cds-sidebar-clock .cds-glass-clock-top,
#main-sidebar.sidebar-expanded .cds-sidebar-clock .cds-glass-clock-bottom,
#main-sidebar.sidebar-mobile-open .cds-sidebar-clock .cds-glass-clock-top,
#main-sidebar.sidebar-mobile-open .cds-sidebar-clock .cds-glass-clock-bottom { display: flex !important; }
#main-sidebar .cds-sidebar-clock.cds-clock-expanded .cds-glass-clock-top,
#main-sidebar .cds-sidebar-clock.cds-clock-expanded .cds-glass-clock-bottom { display: flex !important; }
#main-sidebar:hover .cds-sidebar-clock .cds-glass-clock-time,
#main-sidebar.sidebar-expanded .cds-sidebar-clock .cds-glass-clock-time,
#main-sidebar.sidebar-mobile-open .cds-sidebar-clock .cds-glass-clock-time {
  font-size: 23px !important;
  letter-spacing: .075em !important;
}
#main-sidebar .cds-sidebar-clock.cds-clock-expanded .cds-glass-clock-time { font-size: 23px !important; letter-spacing: .075em !important; }

/* Uma única camada de interação: remove feixes antigos e custo de blur. */
#main-sidebar .cds-pointer-light,
#main-sidebar .cds-pointer-core { display: none !important; }
#main-sidebar,
#main-sidebar .menu-card,
#main-sidebar .menu-icon-3d {
  will-change: auto !important;
}
#main-sidebar .menu-card {
  transform-origin: left center !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition-duration: var(--cds-fast-ui) !important;
  transition-delay: 0ms !important;
}
#main-sidebar .menu-icon-3d,
#main-sidebar .menu-text { transition-duration: var(--cds-fast-ui) !important; transition-delay: 0ms !important; }
#main-sidebar .menu-card::before,
#main-sidebar .menu-card::after { animation: none !important; }
#main-sidebar .menu-card:hover,
#main-sidebar .menu-card:focus-visible,
#main-sidebar .menu-card.cds-nav-flash {
  transform: translateX(5px) scale(1.055) !important;
  z-index: 8 !important;
  filter: brightness(1.18) saturate(1.14) !important;
  border-color: rgba(var(--mc-color),.94) !important;
  box-shadow: inset 4px 0 0 rgb(var(--mc-color)), 0 10px 24px rgba(0,0,0,.34), 0 0 22px rgba(var(--mc-color),.56) !important;
}
#main-sidebar .menu-card:hover .menu-icon-3d,
#main-sidebar .menu-card:focus-visible .menu-icon-3d {
  transform: scale(1.12) !important;
  filter: drop-shadow(0 0 8px rgba(var(--mc-color),.95)) brightness(1.32) !important;
}
#main-sidebar .menu-card.cds-nav-flash { animation: cdsNavFlashFast .28s ease-out 1 !important; }
@keyframes cdsNavFlashFast {
  0% { filter: brightness(1); }
  38% { filter: brightness(1.75); box-shadow: inset 6px 0 0 #fff,0 0 32px rgba(var(--mc-color),.98),0 0 8px #fff !important; }
  100% { filter: brightness(1.12); }
}

/* Modais administrativos com área útil e tipografia maiores. */
#cms-master-modal .cms-panel {
  width: min(96vw, 1480px) !important;
  max-width: 1480px !important;
  max-height: 94vh !important;
  padding: clamp(22px,2vw,34px) !important;
}
#trash-modal .cms-panel,
#xlsx-modal .cms-panel {
  width: min(96vw, 1220px) !important;
  max-width: 1220px !important;
  max-height: 94vh !important;
  padding: clamp(22px,2vw,32px) !important;
}
#cms-master-modal :is(p,label,li,span:not(.led-dot),input,select,textarea,button),
#trash-modal :is(p,label,li,span,input,select,textarea,button),
#xlsx-modal :is(p,label,li,span,input,select,textarea,button,small) {
  font-size: clamp(14px,.84vw,16px) !important;
  line-height: 1.48 !important;
}
#cms-master-modal :is(h2,h3),
#trash-modal :is(h2,h3),
#xlsx-modal :is(h2,h3) { font-size: clamp(20px,1.3vw,26px) !important; line-height: 1.2 !important; }
#cms-master-modal .cms-tab-btn { min-height: 48px !important; padding: 11px 15px !important; font-weight: 850 !important; }
#cms-master-modal :is(input,select,textarea),
#trash-modal :is(input,select,textarea),
#xlsx-modal :is(input,select,textarea) { min-height: 48px !important; padding: 11px 13px !important; }
#cms-master-modal [id^="cms-tab-"] { gap: 14px !important; }
#trash-items-container { max-height: 62vh !important; font-size: 15px !important; }
#trash-items-container > * { padding: 14px !important; margin-bottom: 9px !important; }
#xlsx-modal .base-source-grid { gap: 15px !important; }
#xlsx-modal .base-source-card { min-height: 205px !important; padding: 18px !important; }
#xlsx-modal .xlsx-base-selector-btn { min-height: 50px !important; font-size: 14px !important; }

/* Calendário com números maiores e firmes. */
#calendar-grid > button.calendar-day,
.calendar-day:not(.calendar-day-empty) {
  font-size: clamp(16px,1.05vw,20px) !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
}
#calendar-grid > button.calendar-day > span { font-size: inherit !important; font-weight: 800 !important; }
.calendar-weekdays span { font-size: 13px !important; font-weight: 800 !important; }

/* Saída vermelha em vidro, com brilho controlado. */
.header-glass .danger-glass {
  color: #fff1f2 !important;
  border-color: rgba(255,72,98,.70) !important;
  background: linear-gradient(145deg,rgba(114,13,31,.62),rgba(45,4,15,.86)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22),inset 0 -10px 20px rgba(49,2,12,.38),0 0 18px rgba(255,52,82,.36) !important;
}
.header-glass .danger-glass:hover,
.header-glass .danger-glass:focus-visible {
  color: #fff !important;
  border-color: #ff5a72 !important;
  filter: brightness(1.20) saturate(1.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.30),0 0 22px rgba(255,45,77,.72),0 0 42px rgba(255,45,77,.30) !important;
}

@media (max-width: 767px) {
  #main-sidebar:hover { width: 0 !important; }
  #main-sidebar.sidebar-mobile-open { width: 280px !important; }
  html body #app-wrapper #main-sidebar.sidebar-mobile-open { width: 280px !important; transform: translateX(0) !important; }
  #main-sidebar.sidebar-mobile-open .cds-sidebar-clock { width: 248px !important; min-width: 248px !important; }
  #main-sidebar .cds-sidebar-clock.cds-clock-expanded { width: 248px !important; min-width: 248px !important; }
  html body #app-wrapper #main-sidebar .cds-premium-brand-container #cds-glass-retro-clock.cds-clock-expanded { width: 248px !important; min-width: 248px !important; }
  #cms-master-modal .cms-panel,#trash-modal .cms-panel,#xlsx-modal .cms-panel { width: 97vw !important; max-height: 96vh !important; padding: 16px !important; border-radius: 18px !important; }
  #cms-master-modal :is(p,label,li,span:not(.led-dot),input,select,textarea,button),
  #trash-modal :is(p,label,li,span,input,select,textarea,button),
  #xlsx-modal :is(p,label,li,span,input,select,textarea,button,small) { font-size: 15px !important; }
  #calendar-grid > button.calendar-day { font-size: 17px !important; font-weight: 800 !important; }
}
@media (prefers-reduced-motion: reduce) {
  #main-sidebar .menu-card.cds-nav-flash { animation: none !important; }
  #main-sidebar .menu-card:hover { transform: translateX(3px) !important; }
}
